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

Функционирование маршрутизаторов

< Лекция 7 || Лекция 8: 12 || Лекция 9 >

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

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

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

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

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

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

Основным сетевым (routed) протоколом всемирной сети Интернет является Internet Protocol ( IP ). Формат сообщения сетевого уровня представляет собой пакет, известный также как дейтаграмма (datagram). Это означает, что в процессе организации связи не используются схемы коммутации цепей, поскольку все соединения выполнены заранее и нужно лишь выбрать наилучший путь к адресату назначения на основе метрики протокола маршрутизации. Термины ненадежный (unreliable) и доставка по возможности, доставка с наибольшими возможными усилиями (besteffort delivery) означают, что проверка (верификация) правильности полученных данных на сетевом уровне не производится. Для такой проверки при необходимости используется протокол транспортного уровня TCP.

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

Формат IP-пакета

Рис. 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 разрядов.

Краткие итоги

  1. Основным протоколом автоматического назначения IP-адресов устройств является протокол динамического конфигурирования узлов DHCP.
  2. При передаче данных через составную сеть IP-адреса узла назначения и узла источника остаются неизменными.
  3. При передаче данных через составную сеть МАС-адреса назначения и источника меняются при прохождении каждого маршрутизатора.
  4. При формировании кадра вычисляется контрольная сумма, которая записывается в поле FCS-трейлера кадра. При приеме кадра на каждом входном интерфейсе вновь вычисляется контрольная сумма, которая сравнивается с принятой.
  5. Правильность принятых данных проверяется с использованием циклического кода CRC.
  6. При передаче данных через соединения "точка-точка" заголовок кадра может быть существенно упрощен.
  7. Сетью с доставкой данных без предварительного соединения отправителя и получателя сообщения является Internet, где передаются пакеты (дейтаграммы) с использованием протокола IP.
  8. Правила телекоммуникаций узлов между собой при обмене данными через сети устанавливают протоколы. Протоколы описывают формат сообщения, путь (маршрут) обмена сообщениями и другие правила.
  9. Основным сетевым протоколом всемирной сети Интернет является Internet Protocol (IP).
  10. Сетевые (routed) протоколы определяют формат пакета, логические адреса узла источника и назначения, прокладывают маршрут пакета на основе имеющихся таблиц маршрутизации.
  11. Маршрутизирующие (routing) протоколы сетевого уровня создают и поддерживают таблицы маршрутизации.
  12. Обновления (update) таблиц протоколами маршрутизации реализуются путем связи и обмена данными между маршрутизаторами.
  13. При фрагментации пакета идентификационный номер будет единым для всех фрагментов.
  14. Поле смещения данных задает смещение в байтах данных пакета от начала общего поля данных исходного нефрагментированного пакета.
  15. Время жизни (TTL) при прохождении каждого маршрутизатора уменьшается на 1. Таким образом, число узлов, через которые может пройти пакет, ограничено.

Вопросы

  1. Какие протоколы автоматически назначают IP-адреса устройств?
  2. Какие IP-параметры назначает администратор вручную?
  3. При передаче данных через составную сеть – какие адреса остаются неизменными, а какие меняются при прохождении каждого маршрутизатора?
  4. Когда вычисляется контрольная сумма кадра?
  5. Когда производится сравнение вычисленной контрольной суммы с принятой?
  6. В чем достоинства и недостатки сетей без предварительного соединения отправителя и получателя сообщения?
  7. В чем достоинства и недостатки сетей с предварительным соединением отправителя и получателя сообщения?
  8. Что определяют сетевые (routed) протоколы?
  9. Какие функции выполняют маршрутизирующие (routing) протоколы?
  10. Как маршрутизаторы реализуют обновления таблиц маршрутизации?
  11. Каков размер заголовка пакета IPv4?
  12. В каких случаях производится фрагментация пакета?
  13. Что позволяет собрать отдельные фрагменты в единый пакет?
  14. Какую функцию выполняет время жизни (TTL) ?

Упражнения

  1. Посмотрите на своем компьютере и объясните, как получен IP-адрес (автоматически или назначен администратором).
  2. Задайте IP-параметры административным путем.
  3. Для схемы рис. 8.4 рассмотрите процесс передачи данных от узла Host Y до узла Host X через маршрутизаторы C, B, A. Какие МАС-адреса и каких интерфейсов будут использоваться в качестве адресов источников и адресов назначения передаваемых кадров при их прохождении через каждый маршрутизатор?
  4. Изобразите формат IP-пакета и объясните назначение каждого поля заголовка.
< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Александр Хованский
Александр Хованский
в курсе построение сетей на базе коммутаторов и маршрутизаторов некорректно задан вопрос. звучит так сколько портов сконфинурировать в VLAN0 для управления коммутатором. (поменяйте например на VLAN1 или VLAN управления ) 0-го VLAN не может быть
Денис Кобзов
Денис Кобзов
Россия, Ноябрьск
Дмитрий Наумов
Дмитрий Наумов
Россия