Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_Родионов_2012.doc
Скачиваний:
15
Добавлен:
21.09.2019
Размер:
6.42 Mб
Скачать

Классификация функциональных задач вычислительной сети. Эталонная модель взаимодействия открытых систем

Рассмотрим достаточно простую задачу пользователя. Положим, что вы хотите просмотреть сайт фирмы NITA (New Information Technologies in Aviation  Новые информационные технологии в авиации) по адресу www.nita.ru. Просмотр сайта вы хотите осуществить с помощью мобильного телефона, подключенного к сети Internet. Для выполнения поставленной задачи вы должны указать адрес и протокол ресурса.

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

Прикладной уровень (Application layer) осуществляет согласование исполняемых Приложений ─ прикладных процессов ─ с требованиями стандарта ISO 7498. Прикладной процесс, источник данных, формирует сообщение, предназначенное прикладному процессу, приемнику сообщения. Сообщение является единицей информации прикладного уровня.

Функции, выполняемые протоколами прикладного уровня, на передающей стороне включают:

идентификацию пользователей, участвующих в обмене данными, по их паролям, адресам или электронным подписям;

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

посылку запросов на соединение с другими прикладными процессами и управление данными, которыми обмениваются прикладные процессы;

синхронизацию взаимодействия прикладных процессов и определение качества обслуживания (время доставки сообщения, допустимая частота ошибок и так далее);

передачу заявок представительному уровню на описания данных.

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

Примерами протоколов прикладного уровня, число которых достаточно велико, являются:

HTTP (Hyper Text Transfer Protocol)  протокол обмена гипертекстовой информацией, то есть документами HTML;

JTM (Job Transfer and Manipulation)  поддерживает традиционную пакетную обработку, обработку транзакций, ввод удаленных заданий и доступ к распределенным базам данных;

FTP (File Transfer Protocol ”)  протокол передачи файлов (данных);

SMTP (Simple Mail Transfer Protocol)  используется для отправки почты от пользователей к серверам и между серверами для дальнейшей пересылки к получателю.

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

Представительный уровень (Presentation layer) предоставляет услуги прикладному уровню, устанавливает способы представления и преобразования данных, которыми обмениваются прикладные процессы. Все операции, выполняемые представительным уровнем над данными, являются синтаксическими операциями. Необходимость этих операций обусловлена тем, что данные, участвующие в обмене, могут формироваться системами различных архитектур, синтаксис представления данных в которых различается. Необходимость преобразований обусловлена ещё и тем, что различные системы в компьютерных сетях могут работать под управлением различных операционных систем. Поэтому при объединении этих устройств в единую сеть возникает необходимость введения стандартных форм представления данных, обеспечивающих взаимодействие всего многообразия прикладных процессов.

Представительный уровень на передающей стороне осуществляет

установление и расторжение соединений на представительном уровне;

выбор согласованного представления данных и описание форм представления различных типов данных для передачи их между различными по архитектуре платформами и операционными системами;

сжатие (компрессию) данных, шифрование и дешифрование информации с целью обеспечения секретности данных;

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

Уровень представления на принимающей стороне:

получает данные от сеансового уровня;

распаковывает, учитывая формат протокола, полученные данные и преобразовывает их к виду, пригодному для прикладного уровня;

передает данные на прикладной уровень.

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

Функции представительного уровня часто выполняются протоколами прикладного уровня. Кроме того, на представительном уровне используются протоколы:

XML4  поддерживающие протоколы. Протоколы этой группы устанавливают стандартный способ определения и структурирования XML-сообщений, обмен которыми производится между Приложениями. Все протоколы имеют общий шаблон для описания заголовка, тела и конца сообщения XML;

SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты). Протокол предназначен для передачи электронной почты в сетях TCP/IP. Протокол преобразует сообщения от различных несовместимых систем электронной почты в формат SMTP, доступный для различных систем. Использование протокола позволяет, например, передавать сообщения от компьютера Macintosh с почтовым клиентом Eudora в систему Lotes Notes в сети Netware;

операционные системы Windows содержат программные средства, позволяющие выполнять преобразования данных между SMB (Server Message Block), используемым в системах Microsoft и NCP (Netware Core Protocol)  протоколом совместного использования файлов в сетях Netware.

На представительном уровне используются и другие протоколы.

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

Сеансовый уровень обеспечивает:

предоставление услуг представительному уровню;

установление, восстановление при сбоях и разъединение сеансового соединения;

обмен нормальными и срочными данными;

управление диалогом между взаимодействующими прикладными процессами, включая управление потоками данных;

синхронизацию сеанса посредством расстановки в потоке данных контрольных точек (chekpoints). В случае сетевой ошибки, повторно передаются только данные, следующие за последней контрольной точкой.

Протоколами сеансового уровня являются:

NetBIOS (Network Basic Input/Output System). Протокол осуществляет установление соединения, контроль и устранение ошибок. На этом уровне прикладной процесс освобождается от необходимости учитывать особенности работы сети;

Winsock (Windows Sockets). Протокол позволяет устанавливать соединения и осуществлять управляемый обмен данными на сетевом уровне для Internet приложений в среде Windows;

ASP (AppleTalk Session Protocol — сеансовый протокол AppleTalk) Применяется в среде клиент/сервер. Предназначен для установления и поддержки сеанса между машинами клиента и сервера по протоколу ASP;

DNA SCP (Digital Network Architecture Session Control Protocol — протокол сеансового уровня DNA) Является протоколом сеансового уровня в сетях DECnet;

NFS (Network File System — сетевая файловая система) Создана компанией Sun Microsystems и используется на рабочих станциях Unix вместе с TCP/IP.

На сеансовом уровне используется и ряд других протоколов.

Транспортный уровень (Transport layer) предназначен для доставки данных прикладному процессу-приемнику от прикладного процесса-источника. Такая передача должна быть выполнена без ошибок, потерь и дублирования и в той последовательности, как они были переданы.

Транспортный уровень  это основной уровень во всей иерархии уровней. Его особое положение объясняется тем, что именно этот уровень поддерживает адресуемое взаимодействие прикладных процессов, в то время как остальные нижележащие уровни поддерживают адресуемое взаимодействие компьютеров. Для реализации взаимодействия уровень предоставляет взаимодействующим прикладным процессам логический канал, который существует в процессе всего сеанса взаимодействия.

Логический канал представляется виртуальным соединением двух логических портов, под которыми понимается адресуемые точки вхождения в программу, реализация которой может быть выполнена в ядре операционной системы, в отдельном прикладном процессе, в библиотеке сетевого приложения или в другом месте. Учитывая, что современные операционные системы выполняются как многозадачные системы, транспортный уровень может поддерживать параллельную работу до 65536 логических каналов. Организация логического канала рассматривается в п. __.

Введение логического канала позволяет:

выполнить адресацию объектов транспортного уровня, независимую от адресации других уровней. Если на сетевом уровне, который предоставляет услуги по организации логического канала, произошло разъединение канала, то транспортный уровень, не меняя адресов логических портов, может “заставить” сетевой уровень восстановить это соединение, возможно с использованием нового маршрута в сети. Решение этой задачи поддерживается, в частности, преобразованием на транспортном уровне логических сетевых имен в сетевые адреса;

обеспечить сквозную передачу данных между логическими портами, скрыв от прикладного процесса (пользователя) все особенности реализации коммуникационной сети;

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

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

Транспортный уровень сети поддерживается значительным количеством протоколов:

TCP (Transmission Control Protocol  протокол управления передачей), один из основных протоколов Интернет, предназначенный для управления передачей данных с предварительной установкой соединения. В отличие от UDP, гарантирует, что Приложение получит данные точно в такой же последовательности, в какой они были отправлены, и без потерь. Реализация TCP, как правило, встроена в ядро системы, хотя есть и реализации TCP в контексте Приложения;

UDP (User Datagram Protocol  протокол пользовательских датаграмм), это транспортный протокол для передачи данных в сетях без установления соединения. В сети Интернет используется совместно с TCP протоколом;

DCCP (Datagram Congestion Control Protocol  протокол транспортного уровня модели ISO), отслеживает перегрузки в сети, эффективен для Приложений в которых данные пришедшие не вовремя становятся бесполезными (потоковое медиавещание, онлайн игры и интернет-телефония), так как сообщения очень быстро устаревают. Поэтому лучше получить новое сообщение, чем пытаться переслать старое. Протокол работает совместно с протоколами TCP и/или UDP, которые используются в качестве протоколов управления передачей;

SPX (Sequenced Packet Exchange  Упорядоченный обмен пакетами) является наиболее часто используемым протоколом транспортного уровня NetWare. SPX является надежным, с установлением соединения протоколом.

Кроме перечисленных используется и ряд других протоколов транспортного уровня.

Сетевой уровень (Network layer) предоставляет сервис транспортному уровню. Уровень решает проблемы маршрутизации в сети и устанавливает связь в вычислительной сети между двумя взаимодействующими системами. Подчеркнем здесь, что в отличие от транспортного уровня, реализуемого средствами операционной системы, сетевой уровень ─ реализуется средствами коммуникационной аппаратуры  сетевая карта, маршрутизаторы, линии связи и другая аппаратура. Уровень устанавливает связь между абонентскими системами (компьютерами) через коммуникационные системы. Решение этой проблемы требуют наличия в передаваемом пакете данных унифицированного по форме сетевого адреса системы и этот адрес должен быть доступен (идентифицируем) на транспортном уровне.

Сетевой уровень должен обеспечивать:

организацию и мультиплексирование сетевых соединений с использованием физических средств абонентских и коммуникационных систем;

идентификацию конечных точек сетевых соединений, маршрутизацию и ретрансляцию пакетов данных;

сегментирование и объединение пакетов данных; управление потоками данных, обнаружение и исправление ошибок и ряд других функций.

Стандарт ISO 7498 сравнительно слабо регламентирует сервис сетевого уровня, считая, что коммуникационная сеть не должна быть надежной. В частности это означает, что сервис на сетевом уровне, во-первых, не должен быть ориентирован на соединения и, во-вторых, каждый пакет должен нести полный адрес доставки, поскольку они отправляются абсолютно независимо. Проблемы надежности  контроль ошибок, управление потоками данных, упорядочение пакетов и другие  должны обеспечиваться транспортным уровнем. Реализацию такого подхода демонстрирует Internet.

Вместе с тем, многие современные Приложения, такие как передача звука, изображения и анимации в условиях жестких временных ограничений, требуют надежного сервиса на сетевом уровне, то есть требует организации взаимодействия систем на сетевом уровне с установлением соединения. Реализация сетевого уровня с установлением соединения демонстрирует, например, АТМ (Asynchronous Transfer Mode)технология. Коммуникационная технология на основе коммутации пакетов, в которой для передачи данных с высокой скоростью используются 53-байтные ячейки фиксированной длины. Для одновременной передачи данных в сеть многими компьютерами используются мультиплексоры.

Сетевой уровень поддерживается протоколами:

IP (Internet Protocol)-протокол. Протокол маршрутизации в сети Internet. Каждый компьютер в Internet имеет уникальный IP адрес. Он состоит из адреса сети и адреса компьютера в этой сети;

IPX (Internet Packet Exchange) является оригинальным протоколом сетевого уровня Novell. Если устройство, с которым необходимо установить связь, находится в другой сети, IPX прокладывает маршрут для прохождения информации через любые промежуточные сети, которые могут находиться на пути к пункту назначения;

ICMP (Internet Control Message Protocol). Протокол управляющих сообщений в Internet. Протокол сетевого уровня, сообщающий об ошибках и обеспечивающий восстановление связи в аварийных ситуациях;

ARP (Address Resolution Protocol) и RARP (Reverse Address Resolution Protocol). Протокол ARP позволяет отображать IP адреса на адреса канального уровня, протокол RARP решает обратную задачу.

OSPF (протокол маршрутизации внутренних шлюзов). Протокол решает задачу маршрутизации при объединении сетей, имеющих различную внутреннюю организацию (автономные системы).

Сетевой уровень использует и ряд других протоколов.

Канальный уровень (Data link layer) обеспечивает передачу кадров (блоков) данных при взаимодействии двух систем, соединенных физической линией связи. Именно поэтому сетевой уровень “не знает” особенностей физических соединений, используемых в компьютерных сетях.

Канальный уровень осуществляет:

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

селекцию информации по адресам назначения полученных пакетов. Эта процедура необходима в сетях с многоточечными подключениями на физическом уровне (рис. 1.6);

организацию передачи последовательностей кадров данных с обнаружением и исправлением ошибок в каждом кадре;

выбор параметров качества сервиса (величину задержки передачи, пропускную способность канала и другие);

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

Рис. 1.6. Двухточечное и многоточечное соединения

Стандарт на локальные вычислительные сети (проект IEEE 802) специфицирует канальный уровень как два автономных подуровня:

управление логическим звеном УЛЗ (Logical link control LLC);

управление доступом к среде УДС (Medium access control MAC).

Функциональные задачи подуровней и протоколы, поддерживающие решение этих задач, рассматриваются в п. 1.4 .

Физический уровень (Physical layer) обеспечивает сопряжение систем с физическими средствами канала передачи данных (рис. 1.7). На этом уровне все данные, сформированные на вышележащих уровнях (от прикладного до канального), преобразуются в физический сигнал, передаваемый в сеть. Стандарты этого уровня определяют механические, электрические, функциональные и процедурные характеристики канала передачи данных, под которым понимается линия связи и аппаратура согласования линии связи с системой.

Рис. 1.7. Канал передачи данных

Физический уровень осуществляет:

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

идентификацию конечных точек физических соединений;

формирование передаваемых сигналов и передачу их по каналу связи;

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