Таблица маршрутизации будет содержать:
Назначение | Интерфейс | Следующее попадание | Тип | Протокол |
---|---|---|---|---|
130.15.40.0 | 1 | 130.15.40.1 | Прямая | Вручную |
0.0.0.0 | 2 | 130.15.201.1 | Косвенная | Вручную |
Первая запись описывает только прямое соединение с локально подключенной подсетью 130.15.40.0. Подсеть достигается непосредственно через собственный интерфейс.
Вторая запись указывает маршрут по умолчанию к остальной части сети. Маршрутизатор для следующего попадания — 130.15.201.1 — доступен через интерфейс 2. Главный офис компании достигается косвенным путем, через маршрутизатор следующего попадания. Оба маршрута были введены вручную.
6.11 Операции глобальной маршрутизации
Пока мы рассматривали только выбор единственного направления к точке назначения. Рисунок 6.8 поясняет действия при глобальной маршрутизации в IP. Если протоколы TCP или UDP хоста А захотят послать данные своему партнеру на хосте В, они передадут эти данные IP, сопроводив их IP-адресом хоста назначения. IP добавит заголовок, содержащий IP-адрес назначения для данных.
■ IP хоста А исследует адрес назначения, чтобы проверить, не находится ли он в локальной подсети. Если нет, IP выполнит поиск в таблице маршрутизации.
■ Из таблицы видно, что следующим попаданием является маршрутизатор X. Датаграмма будет заключена в кадр, а в его заголовок будет помещен физический адрес локальной сети для маршрутизатора X.
■ Когда датаграмма прибудет на маршрутизатор X, удаляется ее обрамление кадром. IP маршрутизатора X сравнивает IP-адрес назначения со всеми своими адресами (по маске подсети) и проверяет, не находится ли точка назначения в локально подключенной подсети.
Рис. 6.8. Глобальная маршрутизация
■ Если нет, IP выполнит поиск в таблице маршрутизации. Следующим попаданием станет маршрутизатор Y, куда и будет направлена датаграмма после обрамления ее новым кадром.
■ Когда датаграмма поступит на маршрутизатор Y, будет удалено обрамление кадром. Протокол IP маршрутизатора Y сравнит IP-адрес назначения со всеми своими адресами (по маске подсети) и проверит, не находится ли точка назначения в локально подключенной подсети. Для нашего примера поиск будет успешным и датаграмма будет послана хосту B.
Маршрут от хоста А к хосту В содержал три попадания (участка): A-X, X-Y и Y-B.
6.12 Возможности IP
В IP существует несколько возможностей, обеспечивающих гибкость и пригодность этого протокола к различным окружениям. Среди прочих следует упомянуть адаптивную маршрутизацию (adaptive routing), а также фрагментацию и сборку датаграммы (datagram fragmentation and reassembly).
6.12.1 Адаптивная маршрутизация
Маршрутизация датаграмм адаптивна по своей природе. Лучший вариант для следующего попадания в любом из устройств выполняется при поиске в таблице маршрутизации текущего сетевого узла. Записи таблицы маршрутизации могут изменяться с течением времени, отражая текущее состояние сети.
Если одна из связей (см. рис. 6.9) будет разорвана, датаграмма может переключиться на другой маршрут (если он будет доступен).
Рис. 6.9. Адаптивная маршрутизация
Изменение в топологии сети приводит к автоматическому перенаправлению датаграммы по другому маршруту. Адаптивная маршрутизация характеризуется гибкостью и надежностью.
С другой стороны, заголовок IP может содержать точный маршрут для перемещения к точке назначения. Это позволяет маршрутизировать важный трафик по засекреченному сетевому пути.
6.12.2 MTU, фрагментация и сборка
Перед тем как датаграмма отправится по сети к участку следующего попадания, она инкапсулируется внутри заголовка (заголовков) второго уровня, требующегося для данной сетевой технологии (см. рис. 6.10). Например, для прохождения сети 802.3 или 802.5 добавляются: заголовок LLC, подзаголовок SNAP, MAC-заголовок и завершающая часть MAC.
Рис. 6.10. Формат пересылки кадра локальной сети
Как было показано в главе 4, каждая технология локальной или глобальной сети имеет собственные ограничения на длину кадров. Датаграмма должна размещаться внутри кадра, и, следовательно, его максимальная длина будет ограничивать размер датаграммы, пересылаемой по носителю.
Максимальная длина датаграммы для конкретного носителя вычисляется как разность максимального размера кадра, длины заголовка кадра, длины завершающей части кадра и размера заголовка уровня связи данных:
Максимальный размер кадра – длина заголовка кадра – длина завершающей части кадра – размер заголовка уровня связи данных
Максимально возможная длина датаграммы в заданном носителе называется максимальным элементом пересылки (Maximum Transmission Unit — MTU). Например, для DIX Ethernet значение MTU равно 1500 октетам, для 802.3 — 1492 октетам, для FDDI — 4352, для SMDS — 9180 октетам.
В больших сетях интернета хост источника может не знать размеров всех ограничений по пути пересылки датаграммы. Что же произойдет, если хост отправит слишком большую для одной из промежуточных сетей датаграмму?
Когда такая датаграмма достигнет маршрутизатора, подключенного к промежуточной сети, IP решит проблему с размером датаграммы, разделив ее на несколько небольших фрагментов. Хост назначения далее должен будет провести сборку всех полученных кадров и восстановить исходную датаграмму.
Фрагментация наиболее часто выполняется в маршрутизаторах, однако приложения UDP могут разделить длинное сообщение на фрагменты датаграмм сразу в хосте источника.
6.13 Механизмы протокола IP
Рассмотрим более детально характеристики протокола IP версии 4, в том числе элементы формата этого протокола — формат заголовка IP и правила управления датаграммой, пересылаемой по сети. Протокол IP версии 6 рассмотрен в главе 22 (IP версии 5 не существует).
6.13.1 Заголовок датаграммы
Заголовок датаграммы организован как 5 или более 32-разрядных слов. Максимальная длина заголовка — 15 слов (т.е. 60 октетов), но на практике большинство заголовков датаграмм имеют минимально возможную длину в 5 слов (20 октетов).
Поля заголовка показаны на рис. 6.11. Они структурированы как последовательность слов. Отметим, что биты слов пронумерованы от 0 до 31.
Рис. 6.11. Формат датаграммы протокола IP