Сетевое web программирование для профиля




НазваниеСетевое web программирование для профиля
страница1/3
Дата публикации19.07.2013
Размер1.58 Mb.
ТипКонспект
lit-yaz.ru > Информатика > Конспект
  1   2   3
КОНСПЕКТ ЛЕКЦИЙ

По дисциплине

СЕТЕВОЕ WEB ПРОГРАММИРОВАНИЕ

для профиля

«Компьютерные технологии инжиниринга»

магистерской программы

«Управление информационными системами и ресурсами»

Санкт-Петербург

2007 г.

Модуль 1: Введение
Лекция 1. Сетевые понятия и протоколы.



    1. Эталонная модель OSI.


Эталонная модель (за исключением физической среды) показана на рис.




Эта модель основана на разработке Международной организации по стандартизации (International Organization for Standardization, ISO) и является первым шагом к международной стандартизации протоколов, используемых на различных уровнях (Day и Zimmerman, 1983). Затем она была пересмотрена в 1995 году (Day, 1995). Называется эта структура эталонной моделью взаимодействия открытых систем ISO (ISO OSI (Open System Interconnection) Reference Model), поскольку она связывает открытые системы, то есть системы, открытые для свя-зи с другими системами. Для краткости мы будем называть эту модель просто «модель Модель имеет семь уровней. Появление именно такой структуры было обусловлено следующими соображениями.

1. Уровень должен создаваться по мере необходимости отдельного уровня аб

стракции.

2. Каждый уровень должен выполнять строго определенную функцию.

3. Выбор функций для каждого уровня должен осуществляться с учетом создания стандартизированных международных протоколов.

4. Границы между уровнями должны выбираться так, чтобы поток данных между интерфейсами был минимальным.

5. Количество уровней должно быть достаточно большим, чтобы различные функции не объединялись в одном уровне без необходимости, но не слишком высоким, чтобы архитектура не становилась громоздкой.
1.2. Физический уровень и уровень передачи данных
Физический уровень занимается реальной передачей необработанных битов по каналу связи. При разработке сети необходимо убедиться, что когда одна сторона передает единицу, то принимающая сторона получает также единицу, а не ноль.

Основная задача уровня передачи данных — быть способным передавать «сы

данные физического уровня по надежной линии связи, свободной от ошибок с точки зрения вышестоящего сетевого уровня. Уровень выполняет эту задачу при помощи разбиения входных данных на кадры, обычный размер которых колеблется от нескольких сотен до нескольких тысяч байт. Кадры данных передаются последовательно с обработкой кадров подтверждения, отсылаемых обратно получателем.

Еще одна проблема, возникающая на уровне передачи данных (а также и на

большей части более высоких уровней), — как не допустить ситуации, когда быстрый передатчик заваливает приемник данными. Должен быть предусмотрен некий механизм регуляции, который информировал бы передатчик о наличии свободного места в буфере приемника на текущий момент. Часто подобное управление объединяется с механизмом обработки ошибок.
^ 1.3. Сетевой уровень
Сетевой уровень занимается управлением операциями подсети. Важнейшим моментом здесь является определение маршрутов пересылки пакетов от источника к пункту назначения. Маршруты могут быть жестко заданы в виде таблиц и редко меняться. Кроме того, они могут задаваться в начале каждого соединения, например терминальной сессии. Наконец, они могут быть в высокой степени динамическими, то есть вычисляемыми заново для каждого пакета с учетом текущей загруженности сети. Если в подсети одновременно присутствует слишком большое количество пакетов, то они могут закрыть дорогу друг другу, образуя заторы в узких местах. Недопущение подобной закупорки также является задачей сетевого уровня. В более общем смысле сетевой уровень занимается предоставлением определенного уровня сервиса (это касается задержек, времени передачи, вопросов синхронизации).

При путешествии пакета из одной сети в другую также может возникнуть ряд

проблем. Так, способ адресации, применяемый в одной сети, может отличаться от принятого в другой. Сеть может вообще отказаться принимать пакеты из-за того, что они слишком большого размера. Также могут различаться протоколы, и т. д. Именно сетевой уровень должен разрешать все эти проблемы, позволяя объединять разнородные сети.
^ 1.4. Транспортный уровень
Основная функция транспортного уровня — принять данные от сеансового уровня, разбить их при необходимости на небольшие части, передать их сетевому уровню и гарантировать, что эти части в правильном виде прибудут по назначению. Кроме того, все это должно быть сделано эффективно и таким образом, чтобы изолировать более высокие уровни от каких-либо изменений в аппаратной технологии.

Транспортный уровень также определяет тип сервиса, предоставляемого се-

ансовому уровню и, в конечном счете, пользователям сети. Наиболее популярной разновидностью транспортного соединения является защищенный от ошибок канал между двумя узлами, поставляющий сообщения или байты в том порядке, в каком они были отправлены. Однако транспортный уровень может предоставлять и другие типы сервисов, например пересылку отдельных сообщений без гарантии соблюдения порядка их доставки или одновременную отправку сообщения различным адресатам по принципу широковещания. Тип сервиса определяется при установке соединения.

Транспортный уровень является настоящим сквозным уровнем, то есть дос-

тавляющим сообщения от источника адресату. Другими словами, программа на машине-источнике поддерживает связь с подобной программой на другой машине при помощи заголовков сообщений и управляющих сообщений. На более низких уровнях для поддержки этого соединения устанавливаются соединения между всеми соседними машинами, через которые проходит маршрут сообщений.

^ 1.5. Сеансовый уровень
Сеансовый уровень позволяет пользователям различных компьютеров устанавливать сеансы связи друг с другом. При этом предоставляются различные типы сервисов, среди которых управление диалогом (отслеживание очередности передачи данных), управление маркерами (предотвращение одновременного выполнения критичной операции несколькими системами) и синхронизация (установка служебных меток внутри длинных сообщений, позволяющих после устранения

ошибки продолжить передачу с того места, на котором она оборвалась).
^ 1.6. Уровень представления
В отличие от более низких уровней, задача которых — достоверная передача битов и байтов, уровень представления занимается по большей части синтаксисом и семантикой передаваемой информации. Чтобы было возможно общение компьютеров с различными представлениями данных, необходимо преобразовывать форматы данных друг в друга, передавая их по сети в неком стандартизированном виде. Уровень представления занимается этими преобразованиями, предоставляя возможность определения и изменения структур данных более высокого уровня (например, записей баз данных).

^ 1.7. Прикладной уровень
Прикладной уровень содержит набор популярных протоколов, необходимых

Одним из наиболее распространенных является протокол передачи гипертекста HTTP (HyperText Transfer Protocol), который составляет основу технологии Всемирной Паутины. Когда браузер запрашивает веб-страницу, он передает ее имя (адрес) и рассчитывает на то, что сервер будет использовать HTTP. Сервер в ответ отсылает страницу. Другие прикладные протоколы используются для передачи файлов, электронной почты, сетевых рассылок.
^ 1.8. Эталонная модель TCP/IP


Все эти требования обусловили выбор модели сети с коммутацией пакетов, в основе которой лежал не имеющий соединений межсетевой уровень. Этот уровень, называемый интернет-уровнем или межсетевым уровнем, является основой всей архитектуры. Его задача заключается в обеспечении возможности для каждого хоста посылать в любую сеть пакеты, которые будут независимо двигаться к пункту назначения (например, в другой сети). Они могут прибывать не в том порядке, в котором были отправлены. Если требуется соблюдение порядка отправления, эту задачу выполняют более верхние уровни. Обратите внимание, что слово здесь используется в своем первоначальном смысле несмотря на то, что этот уровень присутствует в сети Интернет. Межсетевой уровень определяет официальный формат пакета и протокол, называемый IP (Internet Protocol). Задачей межсетевого протокола является доставка IP-пакетов к пунктам назначения. Основными аспектами здесь являются выбор маршрута пакета и недопущение закупорки транспортных артерий. Поэтому можно утверждать, что межсетевой уровень модели TCP/IP функционально близок сетевому уровню модели.

^ 1.9. Web и HTTP
Протокол HTTP определяет, каким образом клиенты (например, браузеры) за­прашивают web-страницы, а серверы осуществляют передачу этих страниц. Когда пользователь запрашивает web-страницу (например, совершает щелчок на гиперссылке), браузер посылает серверу HTTP-запрос объектов, составляющих web-страницу. Сервер получает запрос и высылает ответные сообщения, содержащие требуемые объекты HTTP 1.1 используют TCP в качестве протокола транспорт­ного уровня. HTTP-клиент сначала устанавливает TCP-соединение с сервером, а после создания соединения клиент и сервер начинают взаимодействовать с про­токолом TCP через интерфейс сокетов.

Рассмотрим, каким образом осуществляется передача web-страницы от сервера к клиенту в случае непостоянного HTTP-соединения. Предположим, что страни­ца состоит из базового HTML-файла и десяти JPEG-изображений, находящихся на одном сервере. Пусть URL базового HTML-файла имеет вид www.someSchooledu/ sorneDepartment/home.index. Процесс обмена между клиентом и сервером состоит из следующих шагов.

  1. HTTP-клиент инициирует ТСР-соединение с сервером www.someSchool.edu че­рез порт номер 80, который по умолчанию является номером порта для HTTP.

  2. HTTP-клиент посылает запрос серверу через сокет, выделенный ТСР-соеди-нению, которое было установлено на шаге 1. Запрос включает путь к базовому HTML-файлу: someDepartment/home.index (чуть позже мы рассмотрим HTTP-сообщения более детально).

  3. HTTP-сервер получает запрос через сокет, ассоциированный с установленным соединением, извлекает объект someDepartment/home.index, формирует ответ, включающий объект, и отсылает его клиенту через сокет.

  4. HTTP-сервер закрывает ТСР-соединение (окончательный разрыв соединения происходит после того, как сервер получает информацию об успешной переда­че объекта).

  5. HTTP-клиент принимает ответ сервера. ТСР-соединение завершается. Клиент обрабатывает сообщение, в котором указано, что доставленный объект являет­ся базовым HTML-файлом. Клиент извлекает файл, обрабатывает его и выде­ляет ссылки на 10 объектов (JPEG-файлов).

  1. Шаги 1-4 повторяются для каждого из 10 объектов.


Термины

Компьютерная сеть (вычислительная сеть, сеть передачи данных) — система связи между двумя или более компьютерами.

Протокол: Стандарт, определяющий поведение функциональных блоков при передаче данных.

  • задаётся набором правил взаимодействия функциональных блоков, расположенных на одном уровне;

  • описывает: синтаксис сообщения, имена элементов данных, операции управления и состояния..

^ Стек протоколов TCP/IP — собирательное название для сетевых протоколов разных уровней, используемых в сетях.

На СТЕКЕ протоколов TCP/IP построено все взаимодействие пользователей в сети от программной оболочки до канального уровня модели OSI. По сути база, на которой завязано все взаимодействие. При этом стек независим от физической среды передачи данных.

Се́рвер— программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента, предоставляя ему доступ к определённым ресурсам. В информационных технологиях клие́нт — это аппаратный или программный компонент вычислительной системы, посылающий запросы серверу.
Источники информации

  1. http://www.intuit.ru/department/network/networkbasics/

  2. http://de.wikipedia.org/wiki/TCP/IP

  3. http://www.codenet.ru/webmast/tcpip.php

  4. http://www.citforum.ru/nets/tcp/

  5. http://www.lib.ru/TCPBOOK/


Лекция 2. Серверы приложений и общий шлюзовой интерфейс CGI.
Известно, что серверы Web хранят в виде текстовых файлов, называемых также страницами сервера Web. Помимо текста, такие страницы могут содержать ссылки на другие страницы на том же самом или другом сервере Web), ссылки на графические изображения, аудио- и видео-информацию, различные объекты ввода данных (поля, кнопки, формы и т. д.), а также другие объекты. Фактически Web представляют собой некоторое связующее звено между объектами различных типов. Их проектируют с применением специального языка разметки гипертекстов Hyper Text Markup Language, или сокращенно — HTML.

Для доступа к информации, расположенной на серверах Web, пользователи

применяют специальные клиентские программы — браузеры. Каждая страница сервера Web свой так называемый универсальный адрес ресурса Universal Resource Locator (URL). Для того чтобы получить доступ к той или иной странице, пользователь должен указать ее адрес URL программе браузера. Когда пользователь указывает браузеру адрес страницы сервера она начинает загружаться с сервера. При этом браузер устанавливает с сервером Web, применяя передачи данных Text Transfer (HTTP), получает нужную страницу и разрывает соединение. Принятая страница отображается в окне браузера. Этот процесс на рис.


Для того чтобы сервер Web мог вести диалог был механизм программных расширений сервера, на применении так называемого стандартного шлюзового Common Gateway (CGI). Программы CGI пользуются этим интерфейсом для получения протокол HTTP) от для ее обработки и обратно в виде нового документа HTML, ссылки на документ или на другой объект. При этом для ввода информации со стороны пользователя в документ HTML встраиваются формы, содержащие такие органы управления, как текстовые поля, списки, переключатели, кнопки и т. д. Обычно одна из кнопок предназначена для завершения ввода. Когда пользователь заполнит всю форму, нажимает эту кнопку, и данные из полей формы передаются CGI. Обработав данные, программа CGI формирует новый документ HTML с результатами обработки и отправляет его обратно. Таким образом, программы CGI позволяют серверу вести активный диалог с пользователем.

^ 2.1. Приложения CGI
Это обычное консольное приложение, работающее в среде операционной

системы сервера и осуществляющее обмен данными через стандартные

потоки ввода и вывода. Такое приложение загружается в оперативную память сервера и запускается только по явному запросу когда к выполняется обращение из документа HTML. Окончив обработку запроса пользователя, программа CGI свою работу и выгружается из памяти сервера. Программа CGI работает на сервере как процесс. В рамках этого она способна, в частности, обращаться к базам данных для выборки или обновления информации.
^ 2.2. Приложения ISAPI
Если сервер Web создан на базе Microsoft Internet Information Server, вместо

программ CGI Вы можете использовать приложения ISAPI, реализованные в

виде библиотек динамической загрузки DLL. Приложения ISAPI условно делятся на расширения и фильтры ISAPI. Расширения ISAPI выполняют тс же функции, что и только что рассмотренные программы CGI. Однако есть и очень важные отличия. Самое главное из них заключается в том, что ISAPI загружается в адресное сервера но не работает как отдельный процесс. Причем такая загрузка выполняется один раз, когда к расширению обращается первый пользователь. В расширение остается в оперативной памяти и может быть задействовано без повторной загрузки.
  1   2   3

Добавить документ в свой блог или на сайт

Похожие:

Сетевое web программирование для профиля iconЕ. П. Круподерова программирование на яыке turbo pascal
Методические рекомендации предназначены для студентов дневного и заочного отделения по специальности 050501. 52 «Профессиональное...

Сетевое web программирование для профиля icon• студенческие научно-практические конференции; • олимпиада в номинации...
Главными целями студенческого научного общества является создание творческой атмосферы, формирующей способность студентов к самостоятельному...

Сетевое web программирование для профиля iconПоляков Д. Б., Круглов И. Ю. Программирование в среде турбо паскаль (версия 5)
Зуев Е. А. Программирование на языке turbo pascal 0, М.: Радио и связь, 1993. 384

Сетевое web программирование для профиля iconТехническая документация web ирбис64 и web ирбис32
Команда чтения внутреннего двоичного объекта из библиографической записи – «интегрированный файл»(3) 14

Сетевое web программирование для профиля iconОдной из самых распространенных служб сети Интернет является World...
Интернет является World Wide Web (www, Web, Всемирная паутина) — самая мощная информационная система, связывающая между собой миллионы...

Сетевое web программирование для профиля iconСистематический курс 11 класс Для классов гуманитарного профиля Допущено
Учебник предназначен для изучения информатики в старших клас­сах гуманитарного профиля. Впервые информатика рассматривается как существенный...

Сетевое web программирование для профиля iconРеферат Ключевые слова: Internet, Web-сайт, php-скрипт, система контроля...
Объектом исследования являются Web-сайты, атаки на них и способы восстановления поврежденных php-скриптов

Сетевое web программирование для профиля iconЛабораторная работа №1 4
Цель работы: приобрести умение создания средствами текстового редактора блокнот авторской web-страницы и умение создания документа...

Сетевое web программирование для профиля iconПрограммирование Web-приложений на Java. Часть первая. Основы веб-программирования...
Иложений на Java. Цикл статей подразумевает что читатель уже немного знаком с программированием на Java, Groovy, Scala, Jython, либо...

Сетевое web программирование для профиля iconПояснительная записка к курсовой работе по дисциплине «Технологии сетевого программирования»
Всю работу пользователь системы производит через Web-интерфейс. Web-интерфейс осуществляет взаимодействие с Session Beans, выполняющим...



Образовательный материал



При копировании материала укажите ссылку © 2013
контакты
lit-yaz.ru
главная страница