Поэтому протоколы сетевого уровня и выше инвариантны к сетевой физической среде. |
Сетевой уровень модели OSI
6.1. Общие сведения о сетевом уровне
Объединение нескольких локальных сетей в глобальную (распределенную, составную) WAN сеть происходит с помощью устройств и протоколов сетевого уровня 3 семиуровневой эталонной модели или уровня межсетевого взаимодействия модели TCP/IP. Если LAN объединяют рабочие станции, периферию, терминалы и другое сетевое оборудование в одной аудитории или в одном здании, то WAN обеспечивают соединение LAN на широком географическом пространстве. В составную распределенную сеть (internetwork, internet) входят как локальные сети и подсети, так и отдельные пользователи.
При передаче по сети большое сообщение сегментируется, а сегменты инкапсулируются в пакеты, которые представляют формат информационных данных третьего сетевого уровня. Для функционирования программно-аппаратных средств сетевого уровня 3 необходимо реализовать процессы адресации пакетов, их маршрутизации, инкапсуляции сегментов в пакеты на передающей стороне и декапсуляции сегментов из пакетов на приемной.
Основными устройствами, объединяющими LAN в составную сеть, являются маршрутизаторы (routers). Функционирование маршрутизаторов на Уровне 3 модели OSI происходит по правилам сетевых протоколов (Internet Protocol) версий 4 или 6 (IPv4 или IPv6). Другие сетевые протоколы (IPX,Apple Talk) в настоящее время практически не используются. Сетевые протоколы IP функционируют без предварительного установления соединения (connectionless) между источником и получателем сообщения. При этом доставка сообщения производится с максимальными усилиями (best effort delivery), но без гарантий, т.е. доставка ненадежная (unreliable). Такой метод доставки (передачи) данных получил название дейтаграммный.
Поскольку при дейтаграммном методе передачи пакеты отправляются адресату назначения без предварительного установления соединения, то пакет будет отправлен даже, если адресат не может его принять. При повреждении пакетов или их потере требуется повторная передача поврежденных или потерянных данных. Сетевые протоколы IP не имеют средств подтверждения доставки пакетов, их целостности, что и определяет ненадежность доставки. Однако дейтаграммные протоколы IP создают сравнительно небольшую нагрузку на сеть, что определило их высокую эффективность и широкое распространение. Такой способ доставки является оптимальным. Функции надежности доставки возложены на другие протоколы, в частности на протокол TCP транспортного уровня.
Важно отметить, что сетевые протоколы независимы от среды передачи. Поэтому один и тот же пакет может передаваться по медным и оптоволоконным кабелям, радиоканалам. Однако максимальный размер поля данных кадра может различаться в зависимости от среды, поэтому пакеты в ряде случаев разбиваются на более мелкие фрагменты (фрагментирование).
Для определения наилучшего пути передачи данных через связываемые сети, маршрутизаторы строят таблицы маршрутизации и обмениваются сетевой маршрутной информацией с другими маршрутизаторами. Маршрутизаторы принимают решения, базируясь на сетевых логических адресах (IP-адресах), находящихся в заголовке пакета (дейтаграммы). Администратор может конфигурировать статические маршруты и поддерживать таблицы маршрутизации вручную. Однако большинство таблиц маршрутизации создается и поддерживается динамически, за счет использования протоколов маршрутизации (routing protocol), которые позволяют маршрутизаторам автоматически обмениваться информацией о сетевой топологии друг с другом, т.е. разделять маршрутную информацию.
6.2. Протокол IPv4
В настоящее время широко используется сетевой протокол IPv4 и начинает внедряться IPv6. Формат пакета сетевого протокола IPv4 ( рис. 6.1) включает заголовок, состоящий из 12 полей общей длиной в 160 бит (5 слов по 4 байта, т.е. 20 байт), поле опций переменной длины и поле данных.
- Первое 4-х разрядное поле (Vers) задает номер версии протокола. Например, номер версии IPv4 будет задан в двоичной системе - 0100. В описаниях версия 4 выглядит следующим образом: Version = 4 (0x4). Согласно версии IPv4, длина адреса источника (Source IP address) и адреса назначения (Destination IP address) равна 32 разрядам (4 байтам).
- Длина заголовка - количество 32-разрядных слов в заголовке, задается вторым полем (HLEN). Например, код в этом поле - 0101 или запись Header Length = 20 (0x14) означает, что заголовок содержит 5 слов по 32 разряда или 20 байт.
- В новых спецификациях протокола IPv4 третье поле называется дифференцированные сервисы (DS). Старшие шесть бит поля определяют код дифференциальных сервисов (DSCP) и обеспечивают качество обслуживания QoS. Два младших бита используются для уведомления о перегрузке сети (ECN). В старых спецификациях это поле типа сервиса (Type of Service - ToS) длиной 8 бит включает четыре идентификатора: трехразрядный идентификатор PR и одноразрядные D, T, R. Идентификатор PR определяет тип пакета (нормальный, управляющий и др.) и в соответствие с этим задает приоритет передаваемого пакета. Установка 1 в разряде D означает требование минимизации задержки при передаче пакета; единица в разряде Т означает требование максимальной пропускной способности; установка 1 в разряде R требует обеспечение максимальной надежности.
- Поле Total Length задает общую длину пакета, включая заголовок и поле данных. 16 разрядов поля позволяют задавать максимальную длину 64 Кбайт (65 535). Поскольку максимальная длина поля данных кадра в большинстве технологий локальных сетей меньше 64 Кбайт, например, в Ethernet она составляет 1500 байт, то большие пакеты разбивают на фрагменты. При фрагментации пакета используется информация 5, 6 и 7 полей. Все фрагменты должны иметь: идентификационный номер пакета; определитель порядка следования фрагмента при сборке пакета; дополнительную информацию. Фрагментацию пакетов может производить конечный узел, исходя из максимального размера единицы передаваемой информации (Maximum Transmission Unit - MTU) на канальном уровне. Вторичную фрагментацию может выполнять транзитный сетевой элемент, если пакет передается из сети с большим значением MTU в сеть с меньшим MTU.
- Пятое поле заголовка Идентификатор используется при фрагментации пакета и содержит его идентификационный номер.
- Трехразрядное поле флагов (Flags) содержит два одноразрядных флага фрагментации. Установка 1 в разряде DF запрещает маршрутизатору производить фрагментацию данного пакета. Единичка в разряде MF указывает, что данный пакет не является последним.
- 13-разрядное поле смещения данных (Fragment Offset) помогает собрать фрагменты в единый пакет. Оно задает смещение в байтах поля данных этого пакета от начала общего поля данных исходного не фрагментированного пакета.
- Из заданного значения время жизни (Time to Live - TTL), которое может составлять значение от 0 до 255, при прохождении каждого маршрутизатора (или каждую секунду) вычитается 1. Таким образом, число узлов, через которые может пройти пакет, ограничено.
- Поле протокол (Protocol) указывает тип протокола верхнего уровня (TCP - тип 6, UDP - тип 17 и др.), которому будет передан принятый пакет после завершения IP процесса.
- Поле контрольной суммы заголовка (Header Checksum). Поскольку при прохождении маршрутизатора значения некоторых полей заголовка изменяются, например время жизни TTL, то расчет контрольной суммы производится в каждом маршрутизаторе заново.
- Адрес источника информации (Source IP address) длиной 4 байта (32 двоичных разряда).
- Адрес назначения (Destination IP address) длиной 4 байта (32 разряда). При передаче по сети адреса источника и назначения остаются неизменными.
- Поле опций (IP option) позволяет поддерживать различные опции, например, опцию защиты информации. Поскольку это поле может иметь разную длину, то оно дополняется нулями до 32 разрядов.
- Поле данных Data имеет длину более 64 двоичных разрядов.