Маршрутизаторы (аппаратные или программные) выполняют задачу выбора оптимального маршрута следования IP пакета и его отправки по этому маршруту. Для принятия решения анализируется адрес получателя и устанавливается маршрут следования на основе таблиц маршрутизации. В таблице маршрутизации присутствуют как минимум следующие поля:
1. адрес назначения (адрес IP-сети или IP адрес хоста) и маска назначения (она может задаваться или в десятичном формате, или в виде количества бит =1, то есть бит под адрес сети).
2. идентификатор порта, через который пакет идет до сети назначения (порт обозначается IP-адресом или внутренним номером),
3. шлюз (IP адрес, принадлежащий к одной из локальных сетей, непосредственно подключенных к маршрутизатору, на который необходимо отправить пакет, после того как пакет покинет порт, чаще всего – это адрес принадлежит следующему по маршруту маршрутизатору),
4. метрика (показатель качества маршрута).
На каждом маршрутизаторе сети присутствует таблица, описывающая структуру всей сети и иногда содержащая записи о маршрутах по умолчанию.
Маршрутные записи на сеть в качестве адреса (поля 1) содержат IP адрес сети и маску сети.
Маршрутные записи на хост (например, на один компьютер с известным IP адресом) в качестве адреса в первом и втором поле содержат IP адрес целевого хоста и маску, равную 255.255.255.255 ( /32).
Запись по умолчанию отличается тем, что в первом поле адрес назначения и маска назначения имеют значения = 0.0.0.0 (0.0.0.0/0).
Если маршрутизатор получает пакет, адрес назначения которого, принадлежит сети, непосредственно подключенной к маршрутизатору, он направляет пакет соответствующему узлу, а в противном случае определяет дальнейший маршрут для этого пакета. Когда маршрутизатору необходимо определить маршрут для продвижения IP пакета, то сначала по заголовку IP пакета определяется адрес назначения, а потом ищется подходящая запись в таблице маршрутизации. Несколько упрощая, можно считать, что маршрут ищется по принципу от частного к общему, т.е. сначала ищется маршрут на хост, потом маршрут на IP сеть, к которой принадлежит целевой адрес с маской /30 (255.255.255.252), потом c маской /29 (255.255.255.248) и т.д. Последним используется маршрут-по умолчанию.
Если обнаружено два формально подходящих маршрута с одинаковой маской, то выбирается тот из них, у которого метрика меньше.
Заметим, что маршрутизатор может «не знать» к IP-сети какого размера реально принадлежит адрес. Выбирается просто маршрут с подходящим адресом из имеющихся в таблице.
На рисунке приведена схема сети, где указаны адреса IP-сетей (в облачках) и отдельные адреса портов маршрутизаторов или компьютера (в пунктирных сносках). Приведены фрагменты таблиц маршрутизации каждого из маршрутизаторов.
Выполняется обращение с хоста 5.80.90.225 на хост 5.80.90.161 и ответ в обратную сторону. Определите маршрут прохождения сетевого пакета туда и обратно. В ответе укажите номера (цифры) всех использованных маршрутизаторов для передачи пакета через запятую. Например, если передача между двумя компьютерами, от IP1 к IP2, осуществлялась через маршрутизаторы R10, R11 туда и R11, R13, R10 обратно, то в ответе будет 10,11,11,13,10. Обратите внимание, что когда пакет идёт туда, адрес назначения в его заголовке – IP2, а когда ответ идёт обратно, адрес назначения будет IP1. При решении задачи следует считать, что имеется вся другая необходимая конфигурационная информация (шлюзы по умолчанию на компьютерах, маршруты к непосредственно подключенным сетям и т.п.).