Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Суконщиков, Сети ЭВМ и Телекоммуникаций.doc
Скачиваний:
15
Добавлен:
23.09.2019
Размер:
12.95 Mб
Скачать

31.Протокол ip. Заголовок.

Пакет протокола имеет формат, показанный на рисунке

Поле «номер версии» (4 бита) указывает сейчас почти повсеместно версию IPv4, однако некоторые домены уже переходят на версию IPv6.

Поле «длина заголовка» (4 бита) указывает длину в 32-разрядных словах. Обычная длина - 5 слов, однако за счет поля опций (options) она может быть увеличена до 15 слов (60 байт).

Поле «тип сервиса» (8 бит) содержит:

• Три бита PR, указывающие приоритет пакета (0 - нормальный; 7 - самый высокий). Значение может приниматься во внимание маршрутизаторами.

• Биты D, Т и R используются протоколами маршрутизации. Они задают критерий выбора маршрута. D=l минимизация задержки при доставке пакета. Т=1 максимизация пропускной способности. R=1 максимальная надежность доставки.

• Два последних бита в этом поле зарезервированы.

Поле «общая длина» (2 байта) — это общая длина в байтах заголовка и поля данных. Макс длина составляет 65535 байт. При передаче по разным сетям длина пакета выбирается исходя из размера внутренней области кадра. На рисунке размещение для сети Ethernet. По стандарту все устройства сети Интернет должны быть готовы принимать пакеты длиной 576 байт.

Передача пакета в кадре называется инкапсуляцией. Длина пакета выбирается с учетом максимальной длины кадра протокола нижнего уровня, несущего IP-пакеты. Для сети Ethernet - это 1500 байт, для FDDI - 4096 байт.

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

Поле «флаги» (3 бита) содержит:

• Бит DF (Do not Fragment) = 1 запрещает маршрутизатору фрагментировать данный пакет.

• Бит MF (More Fragments) = 1 указывает на то, что данный пакет является промежуточным (не последним) фрагментом.

• Третий бит зарезервирован

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

Поле «время жизни» (1 байт) указывает предельный срок, в течении которого пакет может перемещаться по сети. Задается в секундах. Каждый маршрутизатор вычитает величину задержки (но не менее 1 сек.) из этой величины. Если параметр становится равным нулю — пакет уничтожается. (Этот параметр можно считать часовым механизмом самоуничтожения.) На практике каждый маршрутизатор просто вычитает 1 из значения этого поля «Time to live», т.к. скорости в сети высокие и время пересылки между узлами практически всегда не превышает 1 секунды.

Поле «протокол верхнего уровня» (I байт) указывает, какому протоколу предназначается информация, размеш.енная в поле данных пакета. Например: 6 — для протокола TCP; 17 — протоколу UDP; 87 — протоколу OSPF и т.д.

Поле «контрольная сумма» (2 байта) применяется для защиты от ошибок заголовка пакета. Это сумма по mod 8 всех 16-битовых слов заголовка. При обнаружении маршрутизатором ошибки пакет отбрасывается.

Поля «адрес отправителя» и «адрес получателя» (по 32 бита).

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

Поле «выравнивание» - это дополнение (при необходимости) нулями до полного 32-битового слова.

Основная функция протокола - это передача пакета от отправителя до получателя через объединенную систему компьютерных сетей.

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

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

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

Фрагментация IP-пакетов

В узле-отправителе задача фрагментации поступающих с прикладного уровня сообщений возлагается на протокол TCP.

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

IP-пакет может быть помечен при передаче как нефрагментируемый (бит DF=1). Это означает для маршрутизаторов запрет этой операции. Если такой пакет поступает в сеть с меньшим MTU, то он просто уничтожается, а узлу отправителю отправляется ICMP-сообщение. Фрагментирование может выполняться и средствами самой сети.

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

Классы IP-адресов

IP-адрес имеет длину 32 бита и обычно записывается в виде 4-х чисел, представляющих значение каждого байта в десятичной форме и разделенных точками.

128.10.2.5 =10000000000010100000001000000101

Адрес состоит из двух логических частей — номера сети и номера узла в сети. В зависимости от того, сколько цифр в адресе используется для задания номера сети, выделяют IP-адреса пяти классов: от А до Е.

Сети класса А имеют адреса от 1 до 126 (0 - не используется, а 127 -зарезервирован для специальных целей). Число узлов — 224 или 16777216.

В сети класса В может быть до 216 узлов или 65536.

Сеть класса С может иметь до 28 или 256 узлов.

Для сетей класса D задается групповой адрес multicast. Пакет будут получать все члены группы, которым присвоен такой адрес. Адреса класса Е зарезервированы для будущих применений.

………

Особые IP-адреса

1. Если весь адрес - одни нули - адрес того узла, который сгенерировал этот пакет.

2. Если в поле номера сети стоят одни нули - считается, что узел назначения принадлежит той же сети, что и узел-отправитель.

3. Если все разряды IP-адреса равны 1, то пакет с таким адресом рассылается всем узлам, находящимся в той же сети, что и узел-источник.

4. Если в поле номера узла назначения стоят только единицы, то такой пакет рассылается всем узлам сети с заданным номером. Например: 192.190.21.255 - сообщение рассылается всем узлам сети 192.190.21.

5. Адрес с первым байтом равным 127 используется для тестирования взаимодействия процессов внутри одной машины. Образуется «петля» внутри одного узла-отправителя — данные считаются только что принятыми.

Маски в IP-адресации

Маска это число, которое используется в паре с IP-адресом. Двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. (Эти единицы должны представлять непрерывную последовательность).

Например, для класса С маска имеет вид: 255.255.255.0.

Может использоваться и другая запись. Например: 185.23.44.206/16 указывает на то, что для адреса сети используется 16 разрядов.

Маска может иметь произвольное число разрядов, например:

IP-адрес: 129-64.134.5 Маска: 255.255.128.0, т.е./17

Здесь маска указывает на то, что для адреса сети используются не 15 бит (как в сети класса В), а 17 бит. Наложив маску на номер получим:

Номер сети: 129.64.128.0 Номер узла: 0.0.6.5

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