В модели переадресации пакетов данных в заголовках пакетов содержится адрес назначения. Промежуточные коммутаторы или маршрутизаторы должны смотреть на этот адрес и доставлять пакет в нужное место назначения.
Вступление
В переадресации датаграмм это достигается путем предоставления каждому коммутатору таблицы переадресации пар xdestination, next_hopy. Когда приходит пакет, коммутатор ищет адрес назначения (уникальный в глобальном масштабе) в своей таблице пересылки и находит следующую информацию_hop: адрес ближайшего соседа, на интерфейс которого пакет должен быть переслан, чтобы сделать его на один шаг ближе к конечному пункту назначения.
Значение next_hop в таблице пересылки - это одна запись. Каждый коммутатор отвечает только за один шаг в пути пакета. Однако, если все в порядке, сеть коммутаторов сможет доставить пакет, по одному прыжку за раз, к конечному пункту назначения.
Записи «назначения» в таблице пересылки не обязательно должны точно соответствовать адресам назначения пакетов, хотя в приведенных здесь примерах они соответствуют, а для пересылки Ethernet датаграмм - да. Однако для IP-маршрутизации записи таблицы «Получатель» будут соответствовать префиксам IP-адресов, что приводит к значительной экономии места.
Основное требование заключается в том, что коммутатор может выполнить операцию поиска, используя свою таблицу пересылки и адрес назначения в прибывающем пакете, для определения следующего перехода.
Особенности переадресации
Центральной особенностью переадресации датаграмм является то, что каждый пакет пересылается «изолированно». Задействованные коммутаторы не имеют представления о каких-либо логических соединениях более высокого уровня, установленных между конечными точками. Это также называется экспедицией без гражданства, так как экспедиторские таблицы не имеют состояния соединения.
Основополагающей альтернативой переадресации датаграмм являются виртуальные схемы. В виртуальных цепях каждый маршрутизатор поддерживает состояние каждого проходящего через него соединения; различные соединения могут быть маршрутизированы по-разному.
Если переадресация пакетов зависит от информации о каждом соединении - например, от номеров обоих портов TCP - это не переадресация датаграмм. (Тем не менее, возможно, это все еще переадресация датаграмм, если веб-трафик переадресуется иначе, потому что это правило не зависит от конкретного соединения).
Переадресация датаграмм иногда разрешена для использования другой информации за пределами адреса назначения. Теоретически IP-маршрутизация может быть выполнена на основе адреса назначения и некоторой информации о качестве обслуживания, позволяющей различные маршрутизации к одному и тому же пункту назначения для высокоскоростного объемного трафика и трафика с низкой задержкой в режиме реального времени.
На практике большинство провайдеров Интернет-услуг игнорируют предоставляемую пользователем информацию о качестве обслуживания в заголовке IP-адреса, за исключением заранее оговоренных соглашений и маршрутов, основанных только на пункте назначения.
Коммутаторы и маршрутизаторы
Коммутирующие устройства, работающие на уровне локальной сети и пересылающие пакеты на основе адреса локальной сети, называются коммутаторами. А устройства, работающие на уровне IP и пересылки на IP-адрес, называются маршрутизаторами.
Переадресация датаграмм используется как коммутаторами Ethernet, так и IP-маршрутизаторами, хотя пункты назначения в таблицах Ethernet являются отдельными узлами, а пункты назначения в IP-маршрутизаторах - целыми сетями (то есть множеством узлов).
В IP-маршрутизаторах на сайтах конечных пользователей обычно в таблицу переадресации включается запись по умолчанию catchall, соответствующая любому IP-адресу, который не локальный и поэтому должен быть направлен в Интернет.
Заключение
Записи по умолчанию имеют смысл только тогда, когда мы можем сказать, глядя на адрес, что он не представляет собой близлежащий узел. Это распространено в IP-сетях, поскольку IP-адрес кодирует целевую сеть, а маршрутизаторы обычно знают все локальные сети.
Однако в Интернете это встречается редко, поскольку не существует корреляции между Ethernet-адресами и местоположением. Если бы S1 был коммутатором Ethernet, и у него были некоторые способы узнать, что интерфейсы 0 и 1 подключаются непосредственно к отдельным узлам, а не к коммутаторам - и S1 знал адреса этих узлов - тогда было бы разумно сделать интерфейс 2 маршрутом по умолчанию.
Однако на практике Ethernet-коммутаторы не знают, какое устройство подключается к данному интерфейсу.