Таблица маршрутизации

Материал из Xgu.ru

Перейти к: навигация, поиск


Таблица маршрутизации — таблица, состоящая из сетевых маршрутов и предназначенная для определения наилучшего пути передачи сетевого пакета. Каждая запись в таблице маршрутизации состоит, как правило, из таких полей:

  • адрес сети назначения (destination);
  • маска сети назначения (netmask, genmask);
  • адрес шлюза (gateway), за исключением тех случаев, когда описывается в маршрут непосредственно доступную (directly connected) сеть, в этом случае вместо адреса шлюза обычно указываются 0.0.0.0;
  • метрика маршрута (не всегда).

Пример таблицы маршрутизации (ОС Linux):

%# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

При отправке сетевого пакета, операционная система смотрит, по какому именно маршруту он должен быть отправлен, основываясь на таблице маршрутизации. Как правило, выбирается наиболее конкретный (то есть, с наболее длинной сетевой маской) маршрут из тех, которые соответствуют адресу отправителя. Если ни один из маршрутов не подходит, пакет уничтожается, а его отправителю возвращается ICMP-сообщение No route to host.

[править] Просмотр таблицы маршрутизации

Таблица маршрутизации в UNIX просматривается командой

 netstat -rn

В Linux это можно сделать также при помощи команд route и ip.

 route -n
 ip route  или ip r s

А также напрямую просмотрев файл /proc/net/route:

 cat /proc/net/route

Таблица маршрутизации в маршрутизаторах Cisco:

router# show ip route

Таблица маршрутизации в устройствах Cisco ASA:

ciscoasa# show route

В Windows:

 C:\> route print

В Android (как и в любом Linux):

 cat /proc/net/route

[править] Модификация таблицы маршрутизации

Изменение записей в таблице маршрутизации может выполняться администратором системы вручную или специальным программным обеспечением, известным как демон маршрутизации.

В момент начальной загрузки системы таблица маршрутизации пуста, и пополняется потом, по мере загрузки системы и её дальнейшей работы.

[править] В маршрутизаторах Cisco

По умолчанию (пока маршрутизатор не настроен) таблица маршрутизации пуста. Источников заполнения её может быть несколько:

  • непосредственно присоединенные сети — появляются в таблице маршрутизации после того как на интерфейсах маршрутизатора назначаются адреса и интерфейс находится в состоянии up;
  • статические маршруты — создаются вручную администратором;
  • маршруты протоколов динамической маршрутизации — с помощью этих протоколов маршрутизаторы сообщают друг другу об известных им маршрутах и заполняют таблицу.

Для того чтобы сравнить различные маршруты в одну и ту же сеть назначения полученные из одного источника, используется метрика маршрута. Маршрут с лучшей метрикой помещается в таблицу.

Если маршрутизатор получает информацию об одном и том же получателе или сети получателя из разных источников, то ему необходимо каким-то образом выбрать какой именно маршрут поместить в таблицу. Для этого используется administrative distance.

Administrative distance (AD) — это число, присвоенное каждому из возможных источников маршрутов, которое является некой степенью доверия к источнику. В таблицу маршрутизации попадет маршрут от того источника у которого меньше значение AD. AD имеет только локальное значение и никак не влияет на принятие решения на других маршрутизаторах.

Например, у непосредственно присоединенных сетей значение AD — 0, у статических — 1, OSPF — 110.

Это значит, что если маршрутизатор получит информацию об одной и той же сети от всех трех источников, то выберет он непосредственно присоединенный маршрут. По умолчанию статические маршруты всегда выигрывают у маршрутов протоколов динамической маршрутизации.

Значения AD для маршрутизаторов Cisco указаны на странице Маршрутизация в Cisco.