Чтобы лучше уяснить механизм процесса маршрутизации, вернемся к аналогии с обычной почтой. Пройдя все уровни от директора до работника транспортной службы и получив нужное количество конвертов и пометок, письмо отправляется адресату, например по железной дороге. Часть писем должна быть перенаправлена на промежуточных станциях. Причем для определения дальнейшего маршрута необходимо вскрыть внешнюю упаковку и посмотреть адрес.
Концепция маршрутизации реализована по тому же принципу, что и доставка обычных писем.
Для каждого поступающего пакета маршрутизатор по данным IP-адреса определяет кому из ближайших соседей необходимо переслать данный пакет, чтобы он быстрее оказался у получателя — то есть принимается решение об оптимальном пути следования пакета. О структуре IP-адреса будет дальше.
Оптимальный выбор маршрута позволяет снизить нагрузку на сеть. Географически самый короткий путь не всегда оказывается оптимальным, то есть быстрый канал на другой континент может быть оптимальнее медленного в соседний город. Поскольку нагрузка на отдельные участки сети все время изменяется, очевидно, что оптимальные маршруты доставки пакета из одного участка в другой тоже изменяются. Поэтому скорость и пути прохождения разных пакетов отправленных по одному и тому адресу могут быть различными.
На рис. показана передача данных с компьютера из сети А в компьютер сети Е. В случае когда компьютеры отправителя и получателя находятся в разных сетях, уровень интернета обеспечивает маршрутизацию путем присоединения к каждому пакету адреса промежуточного пункта назначения. Если конечный пункт находится вне сети А, то IP-протокол направит пакет на промежуточный адрес маршрутизатора (маршрутизатор 1) по которому пакет попадет в сеть В.
Напомним, что каждая сеть, входящая отдельным звеном в Интернет, помимо общей системы адресации в Интернете имеет и свою внутреннюю систему адресацию Протокол уровня доступа к сети переводит интернет-адрес в адресную систему локальной сети, помещает эту информацию в свою оболочку и отправляет пакет дальше. При этом метод доступа в сети В может быть отличен от метода доступа сети А. Поэтому уровень доступа к сети должен учитывать метод доступа той сети, в какую он предает пакеты.
После того как уровень Интернета на марш. 2 получит пакет от уровня к сети, он удалит промежуточный интернет-адрес, прикрепленный марш. 1 и будет ориентироваться на адрес конечного назначения пакета, находящегося внутри. Марш. 2 передает пакет в сеть D. Но она опять не конечный пункт. Поэтому пакет будет передан на марш.5.
Пакеты как-бы перепрыгивают с компьютера на компьютер, пока не достигнут адресата. От слова hop (прыжок) происходит термин хоп — говорят, что пакет достиг адресата за столько то хопов.
Если канал между двумя маршрутизаторами дает задержку, то может выбран альтернативный маршрут.
Для того, чтобы направить очередной пакет, маршрутизаторы используют таблицы маршрутизации (или БД маршрутизации) — набор маршрутов используемых маршрутизатором в данный момент времени.
Для оптимизации процесса маршрутизации IP-уровни различных компьютеров интернета обмениваются данными из своих таблиц маршрутизации. Это позволяет оценить картину загруженности сети на широком участке и обеспечить оптимальное продвижение пакетов.
То есть работу маршрутизаторов можно сравнить с работой патрульной службы на вертолете.
Также следует отметить, что марш. не пропускают поврежденные данные и поэтому сокращают объем трафика передаваемого между сетями.
IP-пакет не может путешествовать по сети вечно и по истечении определенного числа ретрансляции должен уничтожаться. Каждый пакет имеет определенный период жизни (TTL — time to live) — это число ретрансляций (число промежуточных серверов, через которые он проходит). Каждый сервер уменьшает счетчик на 1, и когда значение станет равным нулю, пакет уничтожается с уведомлением отправителя.
Распределение ролей между протоколами TCP и IP таково, что транспортный уровень TCP имеет дело с исходным и конечным пунктом доставки, а протокол IP уровень интернета контролирует все промежуточные этапы доставки.
Traceroute — утилита для расшифровки маршрута, по которому проходит пакет к месту назначения. В Windows используется команда tracert
Есть и графические VisualRoute