logo search
СиСПК (ВАСИН)-лекции

8.3. Сетевые протоколы. Формат пакета протокола ip

На пути кадра к устройству назначения его заголовок и трейлер изменяются при прохождении через каждое устройство 3-го уровня составной сети, например, через маршрутизатор. Это происходит вследствие того, что в кадре используется локальная адресация 2-го уровня, а пакеты адресуются с использованием логического адреса 3-го уровня и в пакете задается конечный адрес узла назначения.

Кадры 2-го уровня Ethernet предназначены для работы с МАС-адресами внутри широковещательного домена, не зависимо от используемого типа соединения. Правильность принятых данных проверяется с использованием циклического кода CRC. Полученный результат сравнивается с извлеченной из кадра контрольной суммой кода CRC. Если расчетный результат и контрольная сумма не совпадают, то кадр отбрасывается. При положительном результате сравнения из кадра извлекается пакет, который проверяется, предназначен ли пакет данному маршрутизатору или его надо передать другому устройству составной сети.

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

Существует два типа систем доставки информации:

Примером сети с доставкой данных по типу connectionless является Internet, где передаются пакеты с использованием протокола IP. В дейтаграммных IP-сетях с коммутацией пакетов отправитель информации не знает, получено ли его сообщение и получено ли оно без ошибок. Поэтому для повышения надежности и достоверности доставки данных используется протокол TCP, сервис которого относится к типу connection-oriented.

В сетях connection-oriented отправитель и получатель перед обменом данными предварительно устанавливают соединение. Примером таких сетей являются телефонные сети с коммутацией каналов, а также сети с виртуальными каналами (см. Лекцию 1).

Правила телекоммуникаций узлов между собой при обмене данными через сети устанавливают протоколы. Протоколы описывают формат сообщения, путь (маршрут) обмена сообщениями и другие правила. Основным сетевым (routed) протоколом всемирной сети Интернет является Internet Protocol (IP). Формат сообщения сетевого уровня представляет собой пакет, известный также как дейтаграмма (datagram). Сетевые протоколы определяют форматы пакета и его отдельных полей. Чтобы продвигать пакет от одного узла до другого на основе имеющихся таблиц маршрутизации протоколы сетевого уровня используют информацию, заключающуюся в адресе сетевого уровня (например, IP-адрес).

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

Маршрутизируемые протоколы, к которым относится и IP, должны обеспечивать способность назначать номера (адреса) сетей и номера (адреса) хостов. Некоторым протоколам, например Novell Internetwork Packet Exchange (IPX), требуются только сетевой адрес, поскольку они используют MAC-адрес устройства в качестве адреса хоста. Протоколу IP требуется адрес, содержащий как сетевую, так и узловую (хостовую) части. Для того чтобы можно было выделить адрес сети и адрес хоста необходима маска сети или подсети (см. Лекцию 7). Маршрутизируемые протоколы IP, IPX/SPX, AppleTalk обеспечивают поддержку Уровня 3 модели OSI. Примером не маршрутизируемого протокола является NetBEUI, который обеспечивает быструю доставку кадров данных внутри одного сегмента.

Широко используемый сетевой протокол IP характеризуется следующими терминами: connectionless, unreliable, best-effort delivery protocol. Метод передачи данных, характеризуемый терминами connectionless, unreliable, best-effort delivery, называется также дейтаграммным. Это означает, что в процессе организации связи не используются схемы коммутации цепей, поскольку все соединения выполнены заранее и пакету нужно лишь выбрать наилучший путь, на основе метрики протокола маршрутизации. Термины unreliable (ненадежный) и best-effort delivery (доставка по возможности, доставка с наибольшими возможными усилиями) не означают, что вся система передачи ненадежна. Они только подчеркивают, что проверка (верификация) правильности полученных данных на сетевом уровне не производится. Для такой проверки при необходимости используется протокол транспортного уровня TCP.

Формат пакета сетевого протокола IP (рис.8.5) включает заголовок, состоящий из 12 полей общей длиной в 160 бит, поле IP опции переменной длины и поле данных.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

1.Vers

2.HLEN

3. Type of Service

4. Total Length

5. Identification

6.Flags

7. Fragment Offset

8. Time to Live

9. Protocol

10. Header Checksum

11. Source IP address

12. Destination IP address

13. IP option

14. Data

Рис.8.5. Формат IP-пакета

  1. Первое 4-х разрядное поле (Vers) задает номер версии протокола. В настоящее время действует версия 4 – IPv4, согласно которой длина адреса источника (Source IP address) и адреса назначения (Destination IP address) равна 32 разрядам (4 байтам). В распечатках поля заголовка обычно представляются в десятичной и шестнадцатеричной системе. Например, действующая в настоящее время версия 4 выглядит следующим образом: Version = 4 (0x4). В поле заголовка номер версии будет задан в двоичной системе – 0100.

  2. Длина заголовка – количество 32-разрядных слов в заголовке, задается вторым полем HLEN. Например, код в этом поле – 0101 и запись Header Length = 20 (0x14) означает, что заголовок содержит 5 слов по 32 разряда или 20 байт.

  3. Поле типа сервиса (Type of Service – ToS) длиной 8 бит включает четыре идентификатора: трехразрядный идентификатор PR и одноразрядные D, T, R. Идентификаторы определяют требования к метрике при прокладке маршрута. Идентификатор PR определяет тип пакета (нормальный, управляющий и др.) и в соответствие с этим задает приоритет. Установка 1 в разряде D означает требование минимизации задержки при передаче пакета; единица в разряде Т означает требование максимальной пропускной способности; установка 1 в разряде R означает требование максимальной надежности.

  4. Поле Total Length задает общую длину пакета, включая заголовок и поле данных. 16 разрядов поля позволяют задавать максимальную длину 64 Кбайт. Поскольку максимальная длина кадра в большинстве технологий локальных сетей меньше 64 Кбайт, например, в Ethernet она составляет 1500 байт, то большие пакеты разбивают на фрагменты. При фрагментации пакета используется информация 5, 6 и 7 полей, все фрагменты должны иметь: одинаковый идентификационный номер пакета; номер, определяющий порядок следования фрагмента при сборке пакета; дополнительную информацию.

  5. Пятое поле заголовка содержит идентификационный номер пакета.

  6. Трехразрядное поле Flags содержит два одноразрядных флага фрагментации. Установка 1 в разряде DF запрещает маршрутизатору производить фрагментацию данного пакета. Единичка в разряде MF указывает, что данный пакет не является последним.

  7. 13-разрядное поле Fragment Offset помогает собрать фрагменты в единый пакет. Оно задает смещение в байтах поля данных этого пакета от начала общего поля данных исходного не фрагментированного пакета.

  8. Из заданного значения Time to Live – время жизни (255 – максимум) при прохождении каждого маршрутизатора или каждую секунду вычитается 1. Таким образом, число узлов, через которые может пройти пакет, ограничено.

  9. Поле Protocol указывает протокол верхнего уровня (TCP, UDP, OSPF и др.), которому будет передан принятый пакет после завершения IP процесса.

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

  11. Source IP address – адрес источника информации, длина 4 байта (32 разряда).

  12. Destination IP address – адрес приемника информации, длина 4 байта (32 разряда).

  13. Поле IP option позволяет поддерживать различные опции, например, опцию защиты информации. Поскольку это поле может иметь разную длину, то оно дополняется до нулями до 32 разрядов.

  14. Поле данных Data имеет длину более 64 разрядов.