Принципы маршрутизации в Internet. Самое полное описание протокола BGP 4 - Сэм Хелеби
.pdfВ листинге 12.62 представлена таблица IP-маршрутов на маршрутизаторе RTG. Как видите, на RTG установлен маршрут по умолчанию в направлении к RTF.
Листинг 12.62. Таблица IP-маршрутов на маршрутизаторе RTG
RTA#show ip route
Codes: С - connected, S - static, I - IGRP, R - RIP, M - mobile, В -BGP D - EIGRP, EX - EIGRP external, 0 - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 El - OSPP external type 1, E2 -- OSPF external type 2, E - EGP
i- IS-IS, LI - IS-IS level-1, L2 - IS-IS level-2,
*- candidate default U - per-user static route, о - ODR
Gateway of last resort is 172.16.50.1 to network 0.0.0.0
|
|
172.16.0.0/16 is subnetted, 4 |
subnets |
i |
LI |
172.16.220.0/24 [115/20] |
via 172.16.70.1, SerialO |
i |
LI |
172.16.20.0/24 [115/20] via 172,16.70.1, SerialO |
С172.16.50.0/24 is directly connected, Seriall
С172.16.70.8/24 is directly connected, SerialO i*L2 0.0.0.0/0 [115/10] via 172.16.50.1, Seriall
Маршрутизация по правилам
В этом разделе показано, как использовать маршрутизацию по правилам для пересылки трафика на основе IP-адреса источника, а не IP-адреса пункта назначения. На рис. 12.12 показан маршрутизатор RTA, который поддерживает работу по протоколу ВОР с провайдерами AS1 и AS2. На внутренних маршрутизаторах, таких как RTG и RTF, поддерживается только протокол IGP (в данном случае OSPF) и установлены маршруты по умолчанию в направлении RTA.
Рис. 12.12. Вариант организации маршрутизации по правилам
Итак, на маршрутизаторе RTA нужно установить такие правила маршрутизации, чтобы трафик, поступающий через интерфейс S1 от RTG направляйся бы в AS2, если он поступил из сети 172.16.10.0/24. Трафик, поступающий от RTG из сети 172.16.112.0/24, следует направлять в AS1, а в случае выхода из строя канала с провайдером — в AS2. Все остальные IP-адреса источников обрабатывать без изменений. В листинге 12.63 представлена
Глава 12. Настройка эффективных правил маршрутизации в сети Internet |
351 |
конфигурация маршрутизатора RTA, удовлетворяющая критериям вышеприведенных правил маршрутизации.
Листинг 12.63. Маршрутизация по правилам (конфигурация маршрутизатора
RTA)
interface EthernetO
ip address 172.16.80.1 255.255.255.0
interface Seriall
ip address 172.16.70.1 255.255.255.0 ip policy route-map CHECK_SOURCE
router ospf 10 passive-interface SerialO passive-interface EthernetO
network 172.16.0.0 0.0.255.255 area 0 default-information originate always
router bgp 3
network 172.16.50.0 mask 255.255.255.0 network 172.16,70.0 mask 255.255.255.0 network 172.16.10.0 mask 255.255.255.0 network 172.16.112.0 mask 255.255.255.0 neighbor 172.16.20.1 remote-as 1 neighbor 172.16.20.1 filter-list 10 out neighbor 172.16.80.2 remote-as 2 neighbor 172.16.80.2 filter-list 10 out no auto-summary
ip as-path access-list 10 permit A$
access-list 1 permit 172.16.10.0 0.0.0.255 access-list 2 permit 172.16.112.0 0.0.0.255
route-map CHECK__SOURCE permit 10 match ip address 1
set ip next-hop 172.16.80.2
route-map CHECK__SOURCE permit 20 match ip address 2
set ip next-hop 172.16.20.1 172.16.80.2
Маршрутизация по правилам используется всегда в отношении входящего интерфейса. Как видите, интерфейс Serial 1 настраивается с помощью команды ip policy route-map map-name. В нашем случае ко всему входящему на интерфейс Serial 1 трафику применяется карта маршрутов CHECK^SOURCE. Эта карта работает следующим образом.
Запись 10 - для всех IP-адресов источника, которые принадлежат сети 172.16.10.0/24, назначить следующим узлом 172.16.80.2. Если узел 172.16.80.2 недоступен, пакет отвергается.
Запись 20 - для всех IP-адресов источника, принадлежащих сети 172.16.112.0/24, установить в качестве следующего узла 172.16.20.1. Если узел 172.16.20.1 недоступен, то попытаться направить трафик на узел 172.16.80.2.
Все остальные IP-адреса обрабатываются как обычно.
Вданном случае маршрутизация по правилам с помощью карт маршрутов позволяет выбирать следующий узел, на который будет пересылаться трафик. Необходимо всегда иметь резервный маршрут. Весь трафик, на который не распространяется действие карт маршрутов, должен обрабатываться без изменений согласно протоколу маршрутизации. Чтобы проиллюстрировать, что мы получили в результате последних манипуляций, на маршрутизаторе RTG мы задали команду traceroute 192.68.10.1 с IP-адресом источника 172.16.112.1. В листинге 12.64 представлена таблица IP-маршрутов на маршрутизаторе RTA.
Глава 12. Настройка эффективных правил маршрутизации в сети Internet |
352 |
Листинг 12.64. Маршрутизация по правилам (таблица маршрутов на
маршрутизаторе RTA)
RTA#show ip route
Codes: С - connected, S - static, I - IGRP, R - RIP, M - mobile, В -BGP D - EIGRP, EX - EIGRP external, 0 - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 El - OSPP external type 1, E2 -- OSPF external type 2, E - EGP
i- IS-IS, LI - IS-IS level-1, L2 - IS-IS level-2,
*- candidate default U - per-user static route, о - ODR
Gateway of last resort is not set
В192.68.10.0/24 [20/0] via 172.16.80.2, 00:30:09
В192.68.11.0/24 [20/0] via 172.16.20.1, 00:30:14 172.16.0.0/16 is subnetted, 5 subnets
O 172.16.50.0/24 [110/69] via 172.16.70.2, 00:27:27, Seriall
С172.16.20.0/24 is directly connected, SerialO
С172.16.80.0/24 is directly connected, EthernetO
С172.16.70.0/24 is directly connected, Seriall
Влистинге 12.65 показан процесс выполнения команды traceroute на маршрутизаторе RTG с адресом источника 172.16.112.1 и адресом пункта назначения
192.68.10.1.
Листинг 12.65. Маршрутизация по правилам (выполнение команды traceroute на маршрутизаторе RTG)
RTG#traceroute Protocol [ip]:
Target IP address: 192.68.10.1 Source address: 172.16.112.1 Numeric display [n]:
Timeout in seconds [3]: Probe count [3]:
Minimum Time to Live [1]: Maximum Time to Live [30]: Port Number [33434]:
Loose, Strict, Record, Timestamp, Verbose[none]: Type escape sequence to abort.
Tracing the route to gateway.aeg-aas.de (192.68.10.1} 172.16.70.1 4 msec 4 msec 0 msec
172.16.20.1 4 msec 4 msec 4 msec 192.68.6.1 4 msec 4 msec 4 msec
Обратите внимание, что маршрутизатор RTA связывается с сетью 192.68.10.0/24 через промежуточный узел 172.16.20.1 (вторая строка в выводе результатов по команде traceroute). Хотя даже таблица маршрутов на RTA указывает, что в сеть 192.68.10.0/24 можно попасть через узел 172.16.80.2.
В этой второй попытке показано, что может случиться, если интерфейс Serial 0 вышел из строя, а узел 172.16.20.1 недоступен. Теперь давайте выполним команду traceroute на маршрутизаторе RTG с адресом источника 172.16.112.1 и пунктом назначения 192.68.10.1, когда интерфейс Serial 0 неактивен, как это показано в листинге 12.66.
Листинг 12.66. Маршрутизация по правилам (повторное выполнение команды traceroute на маршрутизаторе RTG)
RTG# traceroute
Protocol [ip]:
Target IP address: 192.68.10.1
Source address: 172.16.112.1
Numeric display [n]:
Timeout in seconds [3]:
Probe count [3] :
Глава 12. Настройка эффективных правил маршрутизации в сети Internet |
353 |
Minimum Time to Live [1]: Maximum Time to Live [30]: Port Number [33434]:
Loose, Strict, Record, Timestamp, Verbose[none]: Type escape sequence to abort.
Tracing the route to gateway.aeg-aas.de (192.68.10.1} 172.16.70.1 0 msec 4 msec 4 msec
172.16.80.2 8 msec 4 msec 4 msec
Как видите, вывод результатов выполнения traceroute, представленный в листинге 12.66, демонстрирует, что маршрутизатор RTA выбирает альтернативный следующий узел
172.16.80.2.
Прежде чем приступить к реализации решений на основе маршрутизации по правилам, ознакомьтесь с документацией на вашу версию IOS и уточните, поддерживаются ли те процедуры, которые вы собираетесь использовать, и если — да, то на каком оборудовании. Кроме того, вы можете получить дополнительную информацию по этим вопросам в справочнике по командам Cisco (Cisco Guide Reference), руководстве по конфигурированию (Configuration Guidelines) и в информационных бюллетенях для вашего оборудования и версий программного обеспечения (Release Notes).
Отражатели маршрутов
В этом разделе мы рассмотрим варианты практического применения отражателей мари ipyroB (route reflectors) и групп взаимодействующих узлов (peer groups). На рис. 12.13 представлены маршрутизаторы RTA и RTG, которые формируют кластер отражателя маршрутов, где RTG является отражателем маршрутов. Маршрутизаторы RTF, RTE и RTD формируют еще один кластер, где в качестве отражателя маршрутов используется маршрутизатор RTF. Кроме того, маршрутизаторы RTG и RTF являются частью группы взаимодействующих узлов с названием REFLECTORS. Если существуют другие отражатели маршрутов, то все они должны соединяться по полносвязной схеме с использованием протокола 1BGP. Маршрутизатор RTF помещает всех своих клиентов в группу с именем CLIENTS, где используются общие правила маршрутизации.
Клиенты идентифицируются серверами отражателей маршрутов путем задания !"imic-reflector-client с соответствующим параметром neighbor x.x.x.x. Традиционно ложилось определенное ограничение в IOS, согласно которому необходимо, чтобы .ражение маршрутов между клиентами было запрещено, если они являются членами . ;п ппы взаимодействующих узлов. Однако теперь это ограничение снято. Внутри кла-repa RTF- RTD-RTE поддерживается полносвязная работа по протоколу IBGP, и ".•тенты взаимодействуют только с соответствующим отражателем маршрутов. В листинге 12.67 приведена конфигурация маршрутизатора RTF.
Глава 12. Настройка эффективных правил маршрутизации в сети Internet |
354 |
Рис. 12.13. Отражатели маршрутов
Листинг 12.67. Отражатели маршрутов (конфигурация маршрутизатора RTF)
router bgp |
3 |
|
|
|
|
no |
synchronization |
|
|
|
|
network |
172.16.65.0 mask |
255.255.255.192 |
|||
network |
172.16.50.0 mask |
255.255.255.0 |
|||
network |
172.16.25.0 |
mask |
255.255.255.0 |
||
network |
172.16.30.0 mask |
255.255.255.0 |
|||
neighbor |
REFLECTORS peer-group |
|
|||
neighbor |
REFLECTORS |
remote-as |
3 |
||
neighbor |
CLIENTS peer-group |
|
|||
neighbor |
CLIENTS remote-as |
3 |
|||
neighbor |
CLIENTS route-reflector-client |
||||
neighbor |
172.16.25.2 peer-group CLIENTS |
||||
neighbor |
172.16.30.2 peer-group CLIENTS |
||||
neighbor |
172.16.50.2 |
peer-group REFLECTORS |
|||
no |
auto-summary |
|
|
|
Так как на RTF имеется единственный возможный маршрут за пределы кластера, маршрутизаторы RTE и RTD сконфигурированы как клиенты отражателя маршрутов. Вместе маршрутизаторы составляют так называемый кластер (cluster). Маршрутизаторы RTE и RTD ведут с RTF обычный IBGP-сеанс. Другими словами, клиент может и не знать, что он является клиентом. (Заметим, что это было одно из требований при организации отражения маршрутов -- клиенты не должны знать, что они клиенты). В листингах 12.68—12.70 представлены конфигурации маршрутизаторов RTD, RTG и RTA.
Листинг 12.68. Отражатели маршрутов (конфигурацияi маршрутизатора
RTD)
router bgp 3
no synchronization
network 172.16.90.0 mask 255.255.255.0 network 172.16.30.0 mask 255.255.255.0 neighbor 172.16.30.1 remote-as 3 neighbor 172.16.30.1 next-hop-self neighbor 192.68.20.2 remote-as 2 neighbor 192.68.20.2 filter-list 10 out no auto-summary
ip as-path access-list 10 permit A$
Глава 12. Настройка эффективных правил маршрутизации в сети Internet |
355 |
Листинг 12.69. Отражатели маршрутов (конфигурация маршрутизатора RTG) router bgp 3
no synchronization
network 172.16.112.0 mask 255.255.255.0 network 172.16.50,0 mask 255.255.255.0 network 172.16.70.0 mask 255.255.255.0 neighbor 172.16.50.1 remote-as 3 neighbor 172.16.70.1 remote-as 3
neighbor 172.16.70.1 route-reflector-client no auto-summary
Листинг 12.70. Отражатели маршрутов (конфигурация маршрутизатора RTA)
router bgp |
3 |
|
|
|
|
|
no |
synchronization |
|
|
|
|
|
network |
172.16.220.0 |
mask |
255.255.255.0 |
|||
network |
172.16.70.0 mask |
255.255.255.0 |
||||
neighbor |
172.16.20.1 |
remote-as |
1 |
|
||
neighbor |
172.16.20.1 |
filter-list 10 |
out |
|||
neighbor |
172.16.70.2 |
remote-as |
3 |
|
||
neighbor |
172.16.70.2 next-hop-self |
|
||||
no |
auto-summary |
|
|
|
|
ip as-path access-list 10 permit A$
В таблице BGP-маршругов, приведенной в листинге 12.71, вы можете видеть, как некоторые из маршрутов на маршрутизаторе RTD отражаются в его собственный кластер.
Листинг 12.71. Отражатели маршрутов (таблица BGP-маршрутов на маршрутизаторе RTD)
RTD#show ip bgp 172.16.220.0
BGP routing table entry for 172.16.220.0/24, version 52 Paths: (1 available, best #1)
Local
(metric 192} from 172.16.30.1 (172.16.220.1)
Origin IGP, metric 0, localpref 100, valid, internal, best Originator : 172.16.220.1, Cluster list: 172.16.65.1, 172.16.112.1
Обратите внимание, что RTD воспринимает узел, сгенерировавший маршрут 172.16.220.0/24, как 172.16.220.1, т.е. ROUTERJD маршрутизатора RTA. Маршрут также несет в себе информацию о списке кластеров, куда входят ROUTER_1D всех отражателей маршрутов, которые он пересекает.
Когда несколько отражателей маршрутов сконфигурированы внутри кластера, всем им должен быть присвоен одинаковый CLUSTER_ID. Это необходимо, чтобы предотвратить появление петель маршрутизации, которые могут возникать между кластерами. Например, если маршрутизатор RTE был сконфигурирован как отражатель маршрутов, то на маршрутизаторах RTF и RTE следует задать дополнительную команду bgp cluster-id number. В листинге 12.72 показана соответствующая конфигурация маршрутизатора RTF.
Листинг 12.72. Несколько отражателей маршрутов (конфигурация маршрутизатора RTF)
router bgp 3
no synchronization
network 172.16.65.0 mask 255.255.255.192 network 172.16.50.0 mask 255.255.255.0 network 172.16.25.0 mask 255.255.255.0 network 172.16.30.0 mask 255.255.255.0 neighbor REFLECTORS peer-group
neighbor REFLECTORS remote-as 3 neighbor CLIENTS peer-group neighbor CLIENTS remote-as 3
Глава 12. Настройка эффективных правил маршрутизации в сети Internet |
356 |