IP-маршрутизация - это область методологий маршрутизации пакетов Интернет-протокола (IP) внутри и между IP-сетями. Это касается не только протоколов и технологий, но и политик всемирной организации и конфигурации инфраструктуры Интернета . В каждом сетевом IP-узле IP-маршрутизация включает определение подходящего пути для сетевого пакета от источника до его пункта назначения в IP-сети. Процесс использует правила статической конфигурации или динамически полученную информацию о состоянии, чтобы выбрать определенные методы пересылки пакетов для направления трафика на следующий доступный промежуточный сетевой узел на один переходближе к желаемому конечному пункту назначения, полный путь, потенциально охватывающий несколько компьютерных сетей .
Сети отделены друг от друга специализированными узлами, называемыми шлюзами или маршрутизаторами, со специализированным программным обеспечением, оптимизированным для маршрутизации. В маршрутизаторах пакеты, поступающие на интерфейс, проверяются на предмет адресации источника и назначения и помещаются в очередь на соответствующий исходящий интерфейс в соответствии с их адресом назначения и набором правил и показателей производительности. Правила закодированы в таблице маршрутизации, которая содержит записи для всех интерфейсов и связанных с ними сетей. Если ни одно правило не удовлетворяет требованиям к сетевому пакету, он пересылается по маршруту по умолчанию . Таблицы маршрутизации поддерживаются либо вручную администратором сети, либо обновляются динамически с помощью протокола маршрутизации . Правила маршрутизации могут содержать другие параметры, кроме источника и назначения, такие как ограничения доступной полосы пропускания, ожидаемые скорости потери пакетов и особые технологические требования.
Алгоритмы переадресации IP учитывают размер каждого пакета, тип службы, указанный в заголовке, а также характеристики доступных каналов связи с другими маршрутизаторами в сети, такие как пропускная способность канала, коэффициент использования и максимальный размер дейтаграммы, которая поддерживается по ссылке. Как правило, большинство программ маршрутизации определяет маршрут с помощью алгоритма кратчайшего пути . Однако другие протоколы маршрутизации могут использовать другие показатели для определения наилучшего пути. В зависимости от требуемых показателей, представленных для каждой ссылки, каждый путь имеет соответствующую стоимость . Алгоритм маршрутизации пытается минимизировать стоимость при выборе следующего перехода.
Протокол маршрутизации - это программный механизм, с помощью которого маршрутизаторы обмениваются информацией о топологии сети и возможностях каждого узла маршрутизации. Таким образом, он реализует глобальные сетевые правила, по которым трафик направляется внутри сети и между несколькими сетями. Для разных топологий или разных областей применения часто используются разные протоколы. Например, первый кратчайший путь протокол (OSPF) , как правило , используется для маршрутизации пакетов между подсетями внутри предприятия и тому Border Gateway Protocol (BGP) используются в глобальном масштабе. [1] BGP - де-факто стандарт всемирной интернет-маршрутизации.
Классификация протоколов
Протоколы маршрутизации можно широко различать по сфере их действия с точки зрения области действия сети. Протоколы внутреннего шлюза используются для маршрутизации в автономных системах , а протоколы внешнего шлюза направляют трафик между ними. Первая группа представлена протоколом информации о маршрутизации (RIP) и протоколом поиска кратчайшего пути (OSPF), тогда как протокол внешнего шлюза (EGP) и протокол пограничного шлюза (BGP) являются примерами внешнего типа. BGP - это основной протокол распределения маршрутов, используемый в Интернете.
Алгоритм маршрутизации
Алгоритм IP-переадресации - это конкретная реализация маршрутизации для IP-сетей . Чтобы добиться успешной передачи данных, алгоритм использует таблицу маршрутизации для выбора маршрутизатора следующего перехода в качестве следующего пункта назначения для дейтаграммы . IP адрес выбранного маршрутизатора известен как адрес следующего прыжка. [1]
Когда совпадают несколько пунктов назначения, выбирается маршрут с самой длинной маской подсети (самой конкретной). Если существует несколько маршрутов с одинаковой маской подсети, используется маршрут с наименьшей метрикой . Если существует несколько маршрутов по умолчанию, метрика также используется для определения того, какой из них использовать. Если существует несколько маршрутов с одинаковой маской подсети и метрикой, система может использовать многопутевую маршрутизацию с одинаковой стоимостью в качестве стратегии пересылки.
Алгоритм переадресации IP гласит: [ необходима ссылка ]
- Учитывая IP-адрес назначения, D и сетевой префикс, N :
- если ( N соответствует напрямую подключенному сетевому адресу )
- Доставить дейтаграмму в D по этой сетевой ссылке ;
- иначе, если ( Таблица маршрутизации содержит маршрут для N )
- Отправить дейтаграмму на адрес следующего перехода, указанный в таблице маршрутизации;
- иначе, если ( существует маршрут по умолчанию )
- Отправить дейтаграмму по маршруту по умолчанию ;
- еще
- Отправить сообщение об ошибке пересылки отправителю ;
Если маршрут недоступен, отправителю пакета отправляется сообщение об ошибке ICMP , чтобы сообщить этому хосту, что пакет не может быть доставлен, и чтобы избежать ненужной повторной передачи во избежание перегрузки сети . Передающий хост должен либо прекратить передачу, либо выбрать другой адрес или маршрут.
Таблица маршрутизации
Ниже представлена типичная таблица маршрутизации в Unix-подобной операционной системе:
Таблица IP-маршрутизации ядраШлюз назначения Genmask Flags Metric Ref Use Iface0.0.0.0 71.46.14.1 0.0.0.0 UG 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 UH 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 UG 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 .
Флаг | Описание |
---|---|
грамм | Использовать шлюз (шлюз заполнен) |
ЧАС | Цель - хост ( битовая маска 32 бита) |
U | Маршрут завершен |