Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для Ехора.doc
Скачиваний:
72
Добавлен:
04.06.2015
Размер:
517.12 Кб
Скачать

16. Отображение ip-адресов на аппаратные адреса. Arp-протокол.

Соответствие IP-адреса узла его физическому адресу внутри сети устанавливается динамически посредством широковещательных запросов ARP-протокола.

ARP (Address Resolution Protocol) динамически преобразует IP-адрес в физический (МАС).

RARP (Reverse ARP), обратный к ARP, преобразует физический адрес в IP-адрес.

Список соответствия IP- и МАС-адресов формируется хостом динамически с помощью протокола ARP. Для получения МАС-адреса интересующего узла (в пределах подсети) хост посылает кадр с широковещательным МАС-адресом, в который вкладывается запрос, содержащий IP-адрес интересующего узла. На этот запрос отзовется узел с IP-адресом, совпадающим с соответствующим полем запроса. В кадре ответа будет присутствовать его МАС-адрес, который и будет занесен в ARP-таблицу. ARP-запрос формируется узлом в том случае, когда ему нужно передать пакет по адресу, отсутствующему в его локальной таблице. Если ответ на ARP-запрос не будет получен, то пакет, который должен быть передан, аннулируется. Возможно и статическое формирование таблиц, которое необходимо для тех технологий, в которых нет широковещательной адресации (например, соединение через РРР).

Формат ARP-сообщений

  1. тип аппаратного обеспечения (адреса) . Hardware Type -> 0001

  2. тип протокола. Protocol Type -> 0800 (IP)

  3. размер аппаратного адреса. Hardware Type -> 6 (Ethernet)

17. Протокол ip. Структура ip-пакета. Фрагментация ip-пакета. Версия протокола iPv6

IP (Internet Protocol) – протокол доставки дейтаграмм, основа стека TCP/IP. Обеспечивает негарантированную доставку пакета от узла к узлу.

Информация в TCP/IP передается пакетами со стандартизированной структурой, называемыми IP-дейтаграммами, имеющими поле заголовка и поле данных. Формат заголовка приведен на рисунке, где он показан в виде 32-битных слов. Конечные узлы – отправители и получатели информации, называемые хостами, промежуточные устройства, оперирующие IP-пакетами (анализирующие и модифицирующие информацию IP- заголовков), называются шлюзами.

Слово\Бит 0 3 4 7 8 15 16 19 31

1

Version

IHL

Type of Service

Total Length

2

Identification

Flags

Fragment Offset

3

Time to Live

Protocol

Header Checksum

4

Source IP Address

5

Destination IP Address

6

Options

Поля имеют следующее назначение:

  • Version, 4 бита – номер версии протокола, определяющий формат заголовка. Дальнейшее описание относится к версии 4.

  • IHL (Internet Header Length), 4 бита – длина заголовка в 32-битных словах (не менее 5).

  • Type of Service, 8 бит – абстрактное описание качества сервиса:

- биты 0-2 – Precedence (старшинство, преимущество) – параметр, определяющий приоритет трафика (большему значению соответствует больший приоритет);

- бит 3 – Delay (задержка): 0 – нормальная, 1 – малая;

- бит 4 – Throughput (пропускная способность): 0 – нормальная, 1 – высокая;

- бит 5 – Reliability (надежность): 0 – нормальная, 1 – высокая;

- биты 6-7 – резерв.

  • Total Length, 16 бит – общая длина дейтаграммы (заголовок и данные) в байтах. Допускается длина до 65535 байт, но все хосты, безусловно допускают прием пакетов данных только до 576 байт. Пакеты большей длины рекомендуется посылать только по предварительной договоренности с принимающим хостом.

  • Identification, 16 бит – идентификатор, назначаемый посылающим узлом для сборки фрагментов дейтаграмм.

  • Flags, 3 бита – управляющие флаги:

- бит 0 – резерв должен быть нулевым;

- бит 1 – DF (Don’t Fragment – запрет фрагментировать): 0 – дейтаграмму можно фрагментировать, 1 – нельзя;

- бит 2 – MF (More Fragment – будут еще фрагменты): 0 – последний фрагмент, 1 – не последний.

  • Fragment Offset, 13 бит – местоположение фрагмента в дейтаграмме (смещение в 8-байтных блоках). Первый фрагмент имеет нулевое смещение.

  • Time to Live, 8 бит – время жизни пакета в сети, формально – в секундах. Нулевое значение означает необходимость удаления дейтаграммы. Начальное значение задается отправителем, шлюзы декрементируют поле на получение пакета и каждую секунду пребывания пакета в очереди на обработку (пересылку). Поскольку современное оборудование редко задерживает пакет более чем на секунду, это поле может использоваться для подсчета промежуточных узлов. Заданием TTL можно управлять дальностью распространения пакетов: при TTL=1 пакет не может выйти за пределы подсети отправителя.

  • Protocol, 6 бит – идентификатор протокола более высокого уровня, использующего поле данных пакета.

  • Header Checksum, 16 бит – контрольная сумма заголовка. Сумма по модулю 216 всех 16-битных слов заголовка (вместе с контрольной суммой) должна быть нулевой. Контрольная сумма должна проверяться и пересчитываться в каждом шлюзе в связи с модификацией некоторых полей (TTL).

  • Source IP Address, 32 бита – IP-адрес отправителя.

  • Destination IP Address, 32 бита – IP-адрес получателя.

  • Options – опции пакета, длина произвольна (опции могут и отсутствовать). Опции могут быть в одном из вариантов формата:

- один октет с типом опций;

- октет типа (см. ниже), октет длины опции (включая октет типа, октет длины и собственно данные) и октеты данных опций.

  • Padding – заполнитель, выравнивающий пакет до 32-битной границы.

Октет типа имеет следующие поля:

  • 1 бит – флаг копирования опций во все фрагменты: 0 – не копируются, 1 – копируются.

  • 2 бита – класс опций: 0 – управление, 2 – отладка и измерения, 1 и 3 – резервю

  • 5 бит – номер опции.

Класс

Номер

Длина1

Назначение

0

0

-

End of Option list – конец списка опций

0

1

-

No Operation – пустая опция

0

2

11

Security – безопасность

0

3

V

Loose Source Routing – свободная маршрутизация от источника

0

9

V

Strict Source Routing – ограниченная маршрутизация от источника

0

7

V

Record Route – запись маршрута (трассировка)

0

8

4

Stream ID – идентификатор потока

2

4

V

Internet Timestamp – отметки времени

1 v – произвольная длина

Фрагментация. В дейтаграмму длиной 576 байт умещается 512-бйитный блок данных и 64-байтный заголовок (размер заголовка может составлять 20-60 байт). Длина дейтаграммы определяется сетевым ПО так, чтобы она умещалась в поле данных сетевого кадра, осуществляющего его транспортировку. Поскольку по пути следования к адресату могут встречаться сети с меньшим размером поля данных кадра, IP специфицирует единый для всех маршрутизаторов метод сегментации – разбивки дейтаграммы на фрагменты (тоже IP-дейтаграммы) и реассемблирования – обратной ее сборки приемником. Фрагментированная дейтаграмма собирается только ее окончательным приемником, поскольку отдельные ее фрагменты могут добирать до него различными путями. Порядок сборки определяется смещением фрагмента, перекрытие фрагментов и даже выход фрагмента за заявленный размер собираемого пакета, как правило, не контролируются. Возможна также конкатенация – соединение нескольких дейтаграмм в одну и сепарация – действие, обратное конкатенации.

Казавшийся вполне достаточным во времена разработки, формат заголовка пакета стал уже тесным. В настоящее время готовится переход на протокол IPv6, который имеет следующие основные отличия:

  • расширение адреса поля с 32 до 128 бит.

  • обеспечение возможности авто конфигурирования узлов.

  • выравнивание полей заголовка с целью ускорения обработки пакетов.

  • обеспечение возможностей для большей расширяемости протокола.

8000:0000:0000:0000:0123:4567:89AB:CDEF или 8000::0123:4567:89AB:CDEF