IP-маршрутизация — это применение методологий маршрутизации к IP-сетям . Это касается не только протоколов и технологий, но и политики всемирной организации и настройки инфраструктуры Интернета . В каждом узле IP-сети IP-маршрутизация включает в себя определение подходящего пути для сетевого пакета от источника до пункта назначения в IP-сети. В этом процессе используются правила статической конфигурации или динамически полученные из протоколов маршрутизации , чтобы выбрать конкретные методы пересылки пакетов для направления трафика к следующему доступному промежуточному узлу сети на один шаг ближе к желаемому конечному пункту назначения, общий путь потенциально охватывает несколько компьютерных сетей .
Сети отделены друг от друга специализированными хостами, называемыми шлюзами или маршрутизаторами , со специализированным программным обеспечением, оптимизированным для маршрутизации. Алгоритмы IP-пересылки в большинстве программ маршрутизации определяют маршрут по алгоритму кратчайшего пути . В маршрутизаторах пакеты, поступающие на интерфейс, проверяются на предмет адресации источника и назначения и помещаются в очередь к соответствующему исходящему интерфейсу в соответствии с их адресом назначения, а также набором правил и показателей производительности. Правила закодированы в таблице маршрутизации , содержащей записи для всех интерфейсов и подключенных к ним сетей. Если ни одно правило не удовлетворяет требованиям к сетевому пакету, он пересылается по маршруту по умолчанию . Таблицы маршрутизации поддерживаются либо вручную сетевым администратором, либо обновляются динамически с помощью протокола маршрутизации .
Протокол маршрутизации определяет, как маршрутизаторы обмениваются информацией о топологии сети и возможностях каждого узла маршрутизации. Различные протоколы часто используются для разных топологий или разных областей приложений. Например, протокол OSPF ( открытый кратчайший путь ) обычно используется внутри предприятия, а протокол пограничного шлюза (BGP) — в глобальном масштабе. [1] BGP является фактическим стандартом глобальной интернет-маршрутизации.
Протоколы маршрутизации можно широко различать по сфере их действия с точки зрения масштаба сети. Протоколы внутренних шлюзов используются для маршрутизации внутри автономных систем , а протоколы внешних шлюзов маршрутизируют трафик между ними. Примерами первой группы являются протокол маршрутной информации (RIP) и протокол Open Shortest Path First (OSPF), а протокол внешнего шлюза (EGP) и протокол пограничного шлюза (BGP) являются примерами внешнего типа. BGP является доминирующим протоколом распределения маршрутов, используемым в Интернете.
Алгоритм IP-пересылки представляет собой специфическую реализацию маршрутизации для IP-сетей . Чтобы добиться успешной передачи данных, алгоритм использует таблицу маршрутизации для выбора маршрутизатора следующего перехода в качестве следующего пункта назначения для дейтаграммы . IP -адрес выбранного маршрутизатора называется адресом следующего перехода. [1]
Алгоритм IP-пересылки гласит: [2]
Если совпадают несколько записей таблицы маршрутов, выбирается запись с самой длинной маской подсети , поскольку она является наиболее конкретной. [2] Если существует несколько маршрутов с одинаковой маской подсети, используется маршрут с наименьшей метрикой . Если существует несколько маршрутов по умолчанию, метрика также используется для определения того, какой из них использовать. Если существует несколько маршрутов с одинаковой маской подсети и метрикой, система может использовать многопутевую маршрутизацию с равной стоимостью в качестве стратегии пересылки.
Когда маршрут недоступен, отправителю пакета отправляется сообщение об ошибке ICMP , [2] чтобы сообщить этому хосту, что пакет не может быть доставлен. Чтобы избежать ненужной повторной передачи и избежать перегрузки сети , отправляющий хост должен либо прекратить передачу, либо выбрать другой адрес или маршрут.
Ниже представлена типичная таблица маршрутизации в Unix-подобной операционной системе :
Таблица IP-маршрутизации ядраФлаги генмаски шлюза назначения Метрическая ссылка Использование Iface0.0.0.0 71.46.14.1 0.0.0.0 УГ 0 0 0 ppp010.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth071.46.14.1 0.0.0.0 255.255.255.255 УХ 0 0 0 ppp0169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0172.16.0.0 0.0.0.0 255.240.0.0 U 0 0 0 eth0192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0192.168.1.0 192.168.96.1 255.255.255.0 УГ 0 0 0 eth0192.168.96.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Хост имеет несколько сетевых интерфейсов. eth0 — это имя интерфейса сетевой карты , представляющее порт Ethernet . ppp0 — это интерфейс PPPoE , который в этом примере настроен как маршрут по умолчанию .
Маршрут по умолчанию распознается по пункту назначения 0.0.0.0 и флагу G. Сетевой маршрутизатор идентифицируется сетевой маской 255.255.255.255 и флагом H.