Опубликован: 03.02.2017 | Уровень: для всех | Доступ: свободно
Лекция 3:

Протоколы обмена сообщениями

< Лекция 2 || Лекция 3: 123 || Лекция 4 >

3.3. Семиуровневая модель взаимодействия открытых систем

Международная организация по стандартизации (International Standards Organization - ISO) создала базовую эталонную модель взаимодействия открытых систем (Open System Interconnection reference model - OSI), которая определяет концепцию и методологию создания сетей передачи данных. Модель описывает стандартные правила функционирования устройств и программных средств при обмене данными между узлами (компьютерами) в открытой системе. Открытая система состоит из программно-аппаратных средств, способных взаимодействовать между собой при использовании стандартных правил и устройств сопряжения (интерфейсов).

Модель ISO/OSI включает семь уровней. На рис. 3.2 показана модель взаимодействия двух устройств: узла источника (source) и узла назначения (destination). Совокупность правил, по которым происходит обмен данными между программно-аппаратными средствами, находящимися на одном уровне, называется протоколом. Набор протоколов называется стеком протоколов и задается определенным стандартом. Взаимодействие между уровнями определяется стандартными интерфейсами.

Семиуровневая модель ISO/OSI

Рис. 3.2. Семиуровневая модель ISO/OSI

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

Виртуальный обмен между соответствующими уровнями узлов A и B ( рис. 3.3) происходит определенными единицами информации. На трех верхних уровнях - это сообщения или данные (Data). На транспортном уровне - сегменты (Segment), на сетевом уровне - пакеты (Packet), на канальном уровне - кадры (Frame) и на физическом - последовательность битов.

Устройства и единицы информации соответствующих уровней

Рис. 3.3. Устройства и единицы информации соответствующих уровней

Базовая эталонная модель OSI ( рис. 3.2, рис. 3.3) регламентируется ГОСТом Р ИСО/МЭК 7498-1-99, где канальный уровень 2 представлен, как уровень звена данных. Однако в большей части литературы этот уровень именуется канальным. В некоторых литературных источниках [3, 4] верхний уровень 7 называется уровнем приложений.

Для каждой сетевой технологии существуют свои протоколы и свои технические средства, часть из которых имеет условные обозначения, приведенные на рис. 3.3. Данные обозначения введены фирмой Cisco и стали общепринятыми. Среди технических средств физического уровня следует отметить кабели, разъемы, повторители сигналов (repeater), многопортовые повторители или концентраторы (hub), преобразователи среды (transceiver), например, преобразователи электрических сигналов в оптические и наоборот. На канальном уровне это мосты (bridge), коммутаторы (switch). На сетевом уровне - маршрутизаторы (router). Сетевые карты или адаптеры (Network Interface Card - NIC) функционируют как на канальном, так и на физическом уровне, что обусловлено сетевой технологией и средой передачи данных. При передаче данных от источника к узлу назначения, подготовленные передаваемые данные последовательно проходят от самого верхнего 7-го уровня Приложений узла источника информации до самого нижнего - Физического уровня 1, затем передаются по физической среде узлу назначения, где последовательно проходят от нижнего уровня 1 до уровня 7.

Самый верхний уровень Прикладной (Application Layer) 7 оперирует наиболее общей единицей данных - сообщением. На этом уровне реализуется управление общим доступом к сети, потоком данных, сетевыми службами (протоколами), такими как FTP, TFTP, HTTP, SMTP, SNMP и др.

Уровень 6 Представления (Presentation Layer) изменяет форму представления данных. Например, передаваемые с уровня 7 данные преобразуются в общепринятый формат ASCII. При приеме данных происходит обратный процесс. На уровне 6 также происходит шифрация и сжатие данных (протоколы MPEG, JPEG).

Сеансовый (Session Layer) уровень 5 устанавливает сеанс связи двух конечных узлов (компьютеров), определяет, какой узел является ведущим, а какой ведомым, задает для передающей стороны время передачи. Этот уровень определяет также сеанс связи с сетью Интернет.

Транспортный уровень (Transport Layer) 4 делит большое сообщение узла источника информации на части, при этом добавляет заголовок и формирует сегменты определенного объема, а короткие сообщения может объединять в один сегмент. В узле назначения происходит обратный процесс. В заголовке сегмента задаются номера порта источника и назначения, которые адресуют службы верхнего уровня приложений для обработки данного сегмента. Кроме того, транспортный уровень обеспечивает надежную доставку пакетов. При обнаружении потерь и ошибок на этом уровне формируется запрос повторной передачи, при этом используется протокол TCP. Когда необходимость проверки правильности доставленного сообщения отсутствует, то используется более простой и быстрый протокол дейтаграмм пользователя (User Datagram Protocol - UDP). Протокол UDP используется пре передаче потоковых данных (аудио- и видеоинформации).

Сетевой уровень (Network Layer) 3 адресует сообщение, задавая единице передаваемых данных (пакету) логические сетевые адреса узла назначения и узла источника (IP-адреса), определяет маршрут, по которому будет отправлен пакет данных, транслирует логические сетевые адреса в физические, а на приемной стороне - физические адреса в логические. Сетевые логические IP-адреса принадлежат пользователям.

Канальный уровень (Data Link) 2 формирует из пакетов кадры данных (frames). На этом уровне задаются физические адреса устройства-отправителя и устройства-получателя данных, например, МАС-адреса при использовании технологии Ethernet. Физический адрес устройства может быть прописан в ПЗУ сетевой карты компьютера. На этом же уровне к передаваемым данным добавляется контрольная сумма, определяемая с помощью алгоритма циклического кода. На приемной стороне по контрольной сумме определяют наличие ошибок.

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

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

Важным процессом при передаче данных является инкапсуляция (encapsulation) данных, когда на каждом уровне происходит обрамление данных заголовками со служебной информацией. Названия информационных единиц на каждом уровне, их размер и другие параметры инкапсуляции задаются согласно протоколу единиц данных (Protocol Data Unit - PDU). Итак, на трех верхних уровнях - это сообщение (Data), на Транспортном Уровне 4 - сегмент (Segment), на Сетевом Уровне 3 - пакет (Packet), на Канальном Уровне 2 - кадр (Frame), на Физическом Уровне 1 - последовательность битов.

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

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

Инкапсуляция данных

Рис. 3.4. Инкапсуляция данных

На сетевом уровне сегмент инкапсулируется в пакет данных, заголовок (header) которого содержит, кроме прочего, сетевые (логические) адреса отправителя информации (источника) - Source Address (SA) и получателя (назначения) - Destination Address (DA). В данном курсе - это IP-адреса.

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

Помимо семиуровневой OSI модели на практике применяется четырехуровневая модель TCP/IP ( рис. 3.5).

Модели OSI и TCP/IP

Рис. 3.5. Модели OSI и TCP/IP

Прикладной уровень модели TCP/IP по названию совпадает с названием модели OSI, но по функциям гораздо шире, поскольку охватывает три верхних сетенезависимых уровня (Приложений, Представления и Сеансовый). Транспортный уровень обеих моделей и по названию, и по функциям одинаков. Сетевой (Network) уровень модели OSI соответствует межсетевому (Internet) уровню модели TCP/IP, а два нижних уровня (канальный и физический) представлены объединенным уровнем сетевого доступа (Network Access).

Ниже в табл. 3.2 приведены обобщенные сведения об основной информации, добавляемой в заголовках сообщений на разных уровнях OSI модели.

Таблица 3.2. Основная информация в заголовках сообщений
Физический уровень Канальный уровень Сетевой уровень Транспортный уровень Верхние уровни
Частотно-временные параметры и синхронизация Физические адреса источника и назначения Логические адреса источника и назначения Номера порта источника и назначения Сопряжение пользователей с сетью

На транспортном уровне в заголовке сегмента задаются номера портов приложений источника и назначения. Номера портов адресуют приложения или службы (сервисы) верхнего уровня, которые создавали сообщение и будут его обрабатывать на приемной стороне. Например, сервер электронной почты с номерами портов 25 и 110 позволяет посылать e-mailсообщения и принимать их, № порта 80 адресует веб-сервер.

Протоколы транспортного уровня (TCP, UDP) взаимодействуют с определенными протоколами уровня приложений. Так протокол TCP, обеспечивающий надежность передачи данных, взаимодействует с протоколами HTTP, FTP, SMTP и др. Он имеет возможность не только обеспечивать повторную передачу потерянных пакетов, но и управлять потоком передаваемых данных, предотвращая их потерю из-за чрезмерно высокой скорости передачи источником информации.

Вместе с физическими, например, МАС-адресами и логическими IP-адресами задание номеров портов образует тройную систему адресации, которая позволяет адресовать устройства, пользователей и программное обеспечение приложений.

3.4. Процесс передачи сообщений по сети

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

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

Логические IP-адреса задаются протоколом IPv4 в виде 32-х разрядного двоичного кода. В документации IP-адреса представлены в виде четырех октетов (байтов) в десятичном коде, октеты отделены десятичной точкой, например, 192.168.10.73. Протоколом IPv6 предусмотрены адреса длиной 128 двоичных разрядов, представленные в шестнадцатеричной системе, например, 2001:0DB8:000A:0001:0002:B3FF:FE18:A1D7. Физические MAC-адреса содержат 48 двоичных разрядов, представленных в документации в шестнадцатеричной системе в одной из следующих форм; 03:A7:BE:59:4D:8C; 03-A7-BE-59-4D-8C;03A7.BE59.4D8C.

В заголовке пакета указывается как IP-адрес источника сообщения, так и IP-адрес назначения ( рис. 3.6).Эти адреса функционируют во всей сети Интернет. IP-адреса являются иерархическими: старшая часть адреса задает номер сети, а младшая часть - номер узла в этой сети. Если источник сообщения и адресат назначения находятся в одной сети, то кадр сообщения канального уровня передается по каналу с использованием физических, например, МАС-адресов. В заголовке кадра указывается как МАС-адрес источника сообщения, так и МАС-адрес назначения.

Адресация назначения и источника в пакете и кадре данных

Рис. 3.6. Адресация назначения и источника в пакете и кадре данных

На передающей стороне сообщение последовательно проходит все уровни модели OSI ( рис. 3.2, рис. 3.4) сверху вниз. В процессе инкапсуляции последовательно формируются сегменты с номерами портов, пакеты с логическими IP-адресами, кадры с физическими МАС-адресами. Номера портов задаются исходя из требуемого сервиса (сервер HTTP, SMTP, FTP или др.). Логические IP-адреса определяют пользователя. Физический МАС-адрес источника назначается автоматически самим устройством-источником передаваемой информации.

Для определения МАС-адреса назначения по IP-адресу используется протокол разрешения адресов (Address Resolution Protocol - ARP). Узел, передающий сообщение, посылает в свою локальную сеть широковещательный ARP-запрос, в котором указан IP-адрес назначения. Узел, распознавший свой IP-адрес, посылает ответ со своим МАС-адресом.

Если адресат назначения находится в другой сети, то в ответ на широковещательный ARP-запрос приходит МАС-адрес шлюза по умолчанию. Шлюз по умолчанию это IP-адрес интерфейса маршрутизатора, через который пакеты из локальной сети передаются в составную сеть (см. рис. 3.5). Если шлюз по умолчанию сконфигурирован неверно, то в этом случае возможен обмен сообщениями между узлами локальной сети, но не возможен обмен с удаленными устройствами из других сетей.

Источник сообщения всегда единственный, поэтому имеет уникальный логический и физический адрес. Однако сообщение может быть адресовано единственному (уникальному) устройству, или группе устройств, или всем устройствам в сети. При этом реализуется либо одноадресная рассылка сообщения (unicast), либо многоадресная групповая (multicast), либо широковещательная рассылка сообщения (broadcast). Для каждого вида рассылки сообщения существуют свои особенности задания логических и физических адресов.

Поскольку на трех нижних уровнях модели OSI функционируют аппаратно-программные средства, то обработка сообщения проводится с высокой скоростью. На верхних же уровнях функционируют программные средства, что увеличивает время обработки. В выше приведенных примерах ( рис. 3.2, рис. 3.3) два конечных узла взаимодействовали непосредственно между собой. В реальных сетях сообщение от одного конечного узла до другого проходит через целый ряд промежуточных устройств (коммутаторов, маршрутизаторов). Поэтому для снижения времени задержки (повышения быстродействия) на промежуточных устройствах сообщение обрабатывается средствами только трех, или даже двух, нижних уровней ( рис. 3.7).

Передача сообщения по сети

Рис. 3.7. Передача сообщения по сети

Сформированное на узле источнике сообщение последовательно проходит все семь уровней с 7 по 1, на что тратится много времени. Таким образом, Транспортный уровень, обеспечивающий надежность передачи данных, и верхние уровни (Приложений, Представления, Сеансовый) функционирует только на конечных узлах, что снижает задержку передачи сообщения по всей сети от одного конечного узла до другого. В приведенном примере ( рис. 3.7) протокол IP функционирует на всех сетевых элементах, а полный стек протоколов TCP/IP - только на конечных узлах.

< Лекция 2 || Лекция 3: 123 || Лекция 4 >
Игорь Курьянов
Игорь Курьянов

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

Николай Дулевский
Николай Дулевский

Почему столько граматических ошибок в тексте? Их очень много ошибок слитного написания текста, проверьте пожалуйста текст на наличие данных ошибок и исправьте их...

Алексей К
Алексей К
Россия
Алексей Л
Алексей Л
Россия, Свердловская область