Лекция 8. протокол межсетевого взаимодействия IP
IP-пакет
Схема IP-маршрутизации
Маршрутизация с использованием масок
Фрагментация IP-пакетов
Протокол ICMP
Поле общей длины занимает 2 байта и характеризует общую длину пакета с учетом заголовка и поля данных
Идентификатор пакета занимает 2 байта и используется для распознавания пакетов, образовавшихся путем деления на части (фрагментации) исходного пакета
Флаги занимают 3 бита и содержат признаки, связанные с фрагментацией
Поле смещения фрагмента занимает 13 бит и задает смещение в байтах поля данных этого фрагмента относительно начала поля данных исходного (нефрагментированного) пакета
Поле времени жизни (Time То Live, TTL) занимает один байт и используется для задания предельного срока, в течение которого пакет может перемещаться по сети
Поле протокола верхнего уровня занимает 1 байт и содержит идентификатор, указывающий, какому протоколу верхнего уровня принадлежит информация, размещенная в поле данных пакета
Контрольная сумма заголовка занимает 2 байта (16 бит) и рассчитывается только по заголовку
Поля IP-адресов источника и приемника имеют одинаковую длину — 32 бита.
IP: Version = 4 (0x4)
IP: Header Length = 20 (0x14)
IP: Service Type = 0 (0x0)
IP: Precedence = Routine
IP: ...0.... = Normal Delay
IP: ....0... = Normal Throughput
IP: ....0.. = Normal Reliability
IP: Total Length = 54 (0x36)
IP: Identification = 31746 (0x7C02)
IP: Flags Summary = 2 (0x2)
IP: ...... 0 = Last fragment in datagram
IP: ..... 1. = Cannot fragment datagram
IP: Fragment Offset = 0 (0x0) bytes
IP: Time to Live = 128 (0x80)
IP: Protocol = TCP - Transmission Control
IP: Checksum = 0xEB86
IP: Source Address = 194.85.135.75
IP: Destination Address = 194.85.135.66
IP: Data: Number of data bytes remaining = 34 (0x0022)
Следует отметить
Однако в некоторых случаях возникает необходимость для одного из узлов сети определить специфический маршрут, отличающийся от маршрута, заданного для всех остальных узлов сети. Для этого в таблицу маршрутизации помещают для данного узла отдельную строку, содержащую его полный IP-адрес и соответствующую маршрутную информацию
Внимание!
Имеются три маршрута к сетям (записи 56.0.0.0, 116.0.0.0 и 129.13.0.0), две записи о непосредственно подсоединенных сетях (198.21.17.0 и 213.34.12.0), а также запись о маршруте по умолчанию
Следует отметить
Поскольку между структурой сети и таблицей маршрутизации нет однозначного соответствия, для каждого из приведенных вариантов таблицы можно предложить свои «подварианты», отличающиеся выбранным маршрутом к той или иной сети. В данном случае внимание концентрируется на существенных различиях в форме представления маршрутной информации разными реализациями маршрутизаторов
Признак непосредственно подключенной сети говорит маршрутизатору, что пакет уже достиг своей сети, поэтому протокол IP активизирует ARP-запрос относительно IP-адреса узла назначения, а не следующего маршрутизатора
Флаги записей присутствуют только в таблице маршрутизатора ОС Unix.
U — маршрут активен и работоспособен. Аналогичный смысл имеет поле статуса в аппаратном маршрутизаторе.
Н — признак специфического маршрута к определенному хосту.
G — маршрут пакета проходит через промежуточный маршрутизатор (шлюз). Отсутствие этого флага отмечает непосредственно подключенную сеть.
D — маршрут получен из перенаправленного сообщения протокола ICMP. Этот признак может присутствовать только в таблице маршрутизации конечного узла
ftp unix.mgu.com
Маршрутизация с использованием масок
Алгоритм маршрутизации усложняется, когда в систему адресации узлов вносятся дополнительные элементы — маски. Часто администраторы сетей испытывают неудобства, поскольку количества централизованно выделенных им номеров сетей недостаточно для того, чтобы структурировать сеть надлежащим образом, например, развести все слабо взаимодействующие компьютеры по разным сетям. В такой ситуации возможны два пути. Первый — получение от какого-либо центрального органа дополнительных номеров сетей. Второй, более распространенный, — использование технологии масок, позволяющей разделить одну имеющуюся сеть на несколько.
Следует отметить
Следует отметить
Алгоритм просмотра таблиц маршрутизации с учетом масок
Пусть поступивший на R2 пакет имеет адрес назначения 129.44.240.3. Поскольку специфические маршруты в таблице отсутствуют, маршрутизатор переходит ко второй фазе: для каждой строки таблицы маска накладывается на адрес пакета, а затем результат сравнивается с адресом назначения из таблицы маршрутизации:
(129.44.240.3) AND (255.255.128.0) = 129.44.128.0 - не совпадает с 129.44.0.0;
(129.44.240.3) AND (255.255.192.0) = 129.44.192.0 - не совпадает с 129.44.128.0;
(129.44.240.3) AND (255.255.255.248) = 129.44.240.0 - не совпадает с 129.44.192.0;
(129.44.240.3) AND (255.255.224.0) = 129.44.224.0 - совпадает
Суть заключается в следующем. Каждому поставщику услуг Интернета назначается непрерывный диапазон IP-адресов. При таком подходе все адреса каждого поставщика услуг имеют общую старшую часть — префикс, поэтому маршрутизация на магистралях Интернета может осуществляться на основе префиксов, а не полных адресов сетей. А это значит, что вместо множества записей по числу сетей в таблицу маршрутизации достаточно поместить одну запись сразу для всех сетей, имеющих общий префикс. Такое агрегирование адресов позволит уменьшить объем таблиц в маршрутизаторах всех уровней и, следовательно, ускорить работу маршрутизаторов и повысить пропускную способность Интернета.
Необходимым условием эффективного использования технологии CIDR является локализация адресов, то есть назначение адресов, имеющих совпадающие префиксы, сетям, располагающимся территориально по соседству. Только в таком случае трафик может быть агрегирован.
Фрагментация IP-пакетов
Каждый из фрагментов снабжается полноценным заголовком IP. Для последующей сборки фрагментов в исходное сообщение используются следующие поля заголовка:
Идентификатор пакета используется для распознавания пакетов, образовавшихся путем деления на части (фрагментации) исходного пакета.
Поле времени жизни (Time То Live, TTL) занимает один байт и определяет предельный срок, в течение которого пакет может перемещаться по сети.
Поле смещения фрагмента содержит информацию о положении фрагмента относительно начала поля данных исходного нефрагментированного пакета.
Установленный в единицу однобитный флаг MF (More Fragments — больше фрагментов) говорит о том, что данный пакет является промежуточным (не последним) фрагментом. Модуль IP, отправляющий нефрагментированный пакет, устанавливает бит MF в нуль.
Флаг DF (Do not Fragment — не фрагментировать), установленный в единицу, запрещает маршрутизатору фрагментировать данный пакет; если помеченный таким образом пакет не может достичь получателя без фрагментации, то модуль IP его уничтожает, а узлу-отправителю посылается диагностическое сообщение..
Обратим особое внимание на заполнение полей заголовка, прямо связанных с фрагментацией:
пакету присваивается уникальный идентификатор, например 12456;
поскольку пакет еще не фрагментирован, в поле смещения помещается значение 0;
признак MF также обнуляется, это показывает, что пакет одновременно является и своим последним фрагментом;
признак DF устанавливается в 1, это означает, что данный пакет можно фрагментировать
Протокол ICMP
Протокол межсетевых управляющих сообщений (Internet Control Message Protocol, ICMP) является вспомогательным протоколом, использующимся для диагностики и мониторинга сети
Заголовок ICMP-сообщения состоит из 8 байт:
тип (1 байт) — числовой идентификатор типа сообщения;
код (1 байт) — числовой идентификатор, более тонко дифференцирующий тип ошибки;
контрольная сумма (2 байта) — подсчитывается для всего ICMP-сообщения
Содержимое оставшихся 4 байт в заголовке и поле данных зависит от значений полей типа и кода.
1 311 ms 290 ms 261 ms 144.206.192.100
2 281 ms 300 ms 271 ms 194.85.73.5
3 2023 ms 290 ms 311 ms moscow-m9-2-S5.relcom.eu.net [193.124.254.37]
4 290 ms 261 ms 280 ms MSK-M9-13.Relcom.EU.net [193.125.15.13]
5 270 ms 281 ms 290 ms MSK.RAIL-l-ATM0-155Mb.Relcom.EU.net [193.124.254.82]
6 300 ms 311 ms 290 ms SPB-RASC0M-l-E3-l-34Mb.Relcom.EU.net [193.124.254.78]
7 311 ms 300 ms 300 ms Hssill-0.GW1.STK2.ALTER.NET [146.188.33.125]
8 311 ms 330 ms 291 ms 421.ATM6-0-0.CR2.STK2.Alter.Net [146.188.5.73]
9 360 ms 331 ms 330 ms 219.Hssi4-0.CR2.LND1.Alter.Net [146.188.2.213]
10 351 ms 330 ms 331 ms 412.Atm5-0.BRl.LNDl.Alter.net [146.188.3.205]
11 420 ms 461 ms 420 ms 167.ATM8-0-0.CR1.ATL1.Alter.Net [137.39.69.182]12 461 ms 441
ms 440 ms 311.ATM12-0-0.BRI.ATL1.Alter.Net [137.39.21.73]13 451 ms 410 ms 431 ms
atlantal-brl.bbnplanet.net [4.0.2.141]14 420 ms 411 ms 410 ms viennal-br2.bbnplanet.
net [4.0.3.154]15 411 ms 430 ms 2514 ms viennal-nbr3.bbnplanet.net [4.0.3.150]16
430 ms 421 ms 441 ms viennal-nbr2.bbnplanet.net [4.0.5.45]17 431 ms 451 ms 420
ms cambridgel-brl.bbnplanet.net [4.0.5.42]18 450 ms 461 ms 441 мс cambridgelcrl4.
bbnplanet.net [4.0.3.94]19 451 мс 461 мс 460 мс attbcstoll.bbnplanet.net
[206.34.99.38]20 501 мс 460 мс 481 мс shutdown.ds.internic.net [198.49.45.29]
# ping serverl.citmgu.ru
Pinging serverl.citmgu.ru [193.107.2.200] with 64 bytes of data:
Reply from 193.107.2.200: bytes=64 time=256ms TTL= 123
Reply from 193.107.2.200: bytes=64 time=310ms TTL= 123
Reply from 193.107.2.200: bytes=64 time=260ms TTL= 123
Reply from 193.107.2.200: bytes=64 time=146ms TTL= 123
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.