
- •Межсетевой протокол: доставка дейтаграмм без установления соединения
- •7.1 Введение
- •7.2 Виртуальная сеть
- •7.3 Архитектура Интернета и его философия
- •7.4 Понятие ненадежной доставки
- •7.5 Система доставки без установления соединения
- •7.6 Цель межсетевого протокола
- •7.7 Межсетевая дейтаграмма
- •7.7.1 Формат дейтаграммы
- •7.7.2 Тип сервиса для дейтаграммы и приоритет
- •7.7.3 Инкапсуляция дейтаграмм
- •7.7.4 Размер дейтаграммы, сетевая меп(mtu) и фрагментация
- •7.7.5 Сборка фрагментов
- •7.7.6 Управление фрагментацией
- •7.7.7 Время жизни(ttl)
- •7.7.8 Другие поля дейтаграммы
- •7.8 Межсетевые опции дейтаграммы
- •7.8.1 Опция записи маршрута
- •7.8.2 Опции пути источника
- •7.8.3 Опция временных меток
- •7.8.4 Обработка опций при фрагментации
- •7.9 Итоги
7.7 Межсетевая дейтаграмма
Между физической сетью и интернетом TCP/IP существует много аналогий. В физической сети единицей передачи является кадр, который состоит из заголовка и данных, где заголовок содержит информацию, такую как адреса отправителя и получателя. Интернет называет свой базовый элемент передачи межсетевой дейтаграммой(иногда ее называют IP-дейтаграммой или просто дейтаграммой). Как и кадр физической сети, дейтаграмма делится на поле заголовка и поле данных. Кроме того, как и кадр, заголовок дейтаграммы содержит адреса отправителя и получателя, а также поле типа, которое идентифицирует содержимое дейтаграммы. Ну, и конечно, разница между ними состоит в том, что заголовок дейтаграммы содержит IP-адреса, в то время как заголовок кадра - физические адреса. Рисунок 7.2 показывает общую форму дейтаграммы:
-----------------------------------------------------------
| ЗАГОЛОВОК | ОБЛАСТЬ ДАННЫХ |
| ДЕЙТАГРАММЫ | ДЕЙТАГРАММЫ |
-----------------------------------------------------------
Рисунок 7.2 Общая форма IP-дейтаграммы, аналогии сетевому кадру в TCP/IP. IP специфицирует формат заголовка, включая IP-адреса источника и назначения. IP не описывает формат области данных; она может быть использована для транспортировки произвольных данных.
7.7.1 Формат дейтаграммы
Теперь, после того, как мы описали общий формат IP-дейтаграммы, можно рассмотреть ее содержимое более детально. Рисунок 7.3 показывает расположение полей дейтаграммы:
0 4 8 16 19 24 31
------------------------------------------------------------
|версия|длина| тип сервиса| общая длина |
------------------------------------------------------------
| идентификация |флаги |смещение фрагмента |
------------------------------------------------------------
|время жизни | протокол | КС заголовка |
------------------------------------------------------------
| IP-адрес отправителя |
------------------------------------------------------------
| IP-адрес получателя |
------------------------------------------------------------
| Опции IP(если есть) |заполнение |
------------------------------------------------------------
| Данные |
------------------------------------------------------------
| ... |
------------------------------------------------------------
Рисунок 7.3 Формат дейтаграммы Интернета, основного элемента передачи в интернете TCP/IP.
Так как обработка дейтаграммы происходит с помощью программного обеспечения, оборудование не накладывает никаких ограничений на ее содержимое и формат. Например, первое 4-битовое поле в дейтаграмме(ВЕРСИЯ) содержит версию протокола IP , используемую при создании дейтаграммы. Оно используется отправителем, получателем, и всеми шлюзами между ними для уверенности в том, что все они используют один и тот же формат дейтаграммы. Всему программному обеспечению IP требуется проверять поле версии перед обработкой дейтаграммы, чтобы быть уверенным в том, что ее формат соответствует тому формату, который ожидает это обеспечение. Если стандарт меняется, машины будут отбрасывать дейтаграммы с версией протокола, отличающейся от версии, на которой они работают, предохраняя себя от неправильной интерпретации содержимого дейтаграммы из-за устаревшего формата. Текущая версия протокола IP - 4.
Поле длины заголовка(ДЛИНА) также занимает 4 бита и хранит длину заголовка дейтаграммы в 32-битных словах. Как мы увидим, все поля в заголовке имеют фиксированную длину, за исключением поля ОПЦИИ IP и соответствующего ему поля ЗАПОЛНЕНИЕ. Наиболее простой заголовок, без опций и заполнения, занимает 20 октетов и имеет в поле длины заголовка значение 5.
Поле ОБЩАЯ ДЛИНА дает длину IP-дейтаграммы, измеренную в октетах, включая октеты в заголовке и данных. Размер области данных может быть вычислен с помощью вычитания длины заголовка(ДЛИНА) из ОБЩЕЙ ДЛИНЫ. Так как поле ОБЩАЯ ДЛИНА занимает 16 бит, максимально возможный размер дейтаграммы IP - 65535 октетов. В большинстве приложений это ограничение несущественно. Но оно может стать важным в будущем, когда сети с более высокими скоростями смогут передавать пакеты данных длиннее чем 65535 октетов.