Заметки по BGP

Своим нейборам (ibgp & ebgp) каждый бордер отдаёт только best path , это штатная фича bgp  , тем не менее в своей же таблице BGP маршрутизатор может хранить больше записей (а отдавать должен только лучший маршрут)

В этой статье будут представлены некие BGP  фичи .

И так представим ситуацию когда вы берете 2 и более BGP линков от одного оператора — то есть оператор вам отдает 6x10G  6ю каналами и на каждом канале своя BGP сессия

В силу того что при анонсировании с любого из этих BGP пиров  в BGP анонсе Next Hop будет стоять один и тотже

NEXT-HOP-SELF — это достаточно хороший атрибут , который делаем следующюю манипуляция , если существует AS  внутри которой работает IBGP (то есть первый маршрутизатор редистрибьютит маршруты второму) , в таблице второго маршрутизатора который имеет только IBGP peer будут маршруты с next-hop внешних пиров , но мы если не будем иметь route default  то мы об этом можем и не узнать , вот для решения этой задачи и существует опция next-hop-self — которая просто будет вещаться в настройках между IBGP пирами и подменять nex-hop . Этот параметр используется только между IBGP соседями .

Вот к примеру можно сделать несколько статических маршрутов и посмотреть как между ними произходит распределение трафика

show routing hash 1.1.1.1 217.20.156.1 | i Hashing
show routing hash 10.102.52.2 217.20.147.211 80 1025

вывод может быть примерно таким

Load-share parameters used for software forwarding:
load-share mode: address source-destination
Universal-id seed: 0x4a35a04a
Hash for VRF "default"
Hashing to path *10.255.232.117
For route:
217.20.144.0/20, ubest/mbest: 3/0
    *via 10.255.232.113, Eth7/5.2341, [110/50], 4d05h, ospf-3, type-2
    *via 10.255.232.117, Eth1/6.2343, [110/50], 4d05h, ospf-3, type-2
    *via 10.255.232.121, Eth2/6.2345, [110/50], 4d05h, ospf-3, type-2

 

А если к примеру вам необходимо посмотреть всю BGP таблицу (включая все маршруты лучшие и не только — то есть все ) , + на Nexus вам покажет какая именно таблица на какой L3 плате — что очень удобно при отладке .

R# sh forwarding ipv4 route  85.21.36.221
slot  1
=======
IPv4 routes for table default/base
------------------+------------------+----------------------+-----------------
Prefix            | Next-hop         | Interface            | Labels
------------------+------------------+----------------------+-----------------
*85.21.0.0/16        217.20.147.196     Ethernet3/1.2089    
                     217.20.147.198     Ethernet3/2.2091    
                     217.20.147.200     Ethernet3/3.2093    
                     217.20.147.202     Ethernet3/4.2095    
                     10.255.224.1       Vlan3700            
                     10.255.224.5       Vlan3701            
                     10.255.224.9       Vlan3702            
                     10.255.224.13      Vlan3703            
                     10.255.224.17      Vlan3704            
                     10.255.224.21      Vlan3705            
                     10.255.224.25      Vlan3706            
                     10.255.224.29      Vlan3707            
                     10.255.232.2       Ethernet4/3.2285    
                     10.255.232.6       Ethernet7/3.2287    
slot  2
=======
IPv4 routes for table default/base
------------------+------------------+----------------------+-----------------
Prefix            | Next-hop         | Interface            | Labels
------------------+------------------+----------------------+-----------------
*85.21.0.0/16        217.20.147.196     Ethernet3/1.2089    
                     217.20.147.198     Ethernet3/2.2091    
                     217.20.147.200     Ethernet3/3.2093    
                     217.20.147.202     Ethernet3/4.2095    
                     10.255.224.1       Vlan3700            
                     10.255.224.5       Vlan3701            
                     10.255.224.9       Vlan3702            
                     10.255.224.13      Vlan3703            
                     10.255.224.17      Vlan3704            
                     10.255.224.21      Vlan3705            
                     10.255.224.25      Vlan3706            
                     10.255.224.29      Vlan3707            
                     10.255.232.2       Ethernet4/3.2285    
                     10.255.232.6       Ethernet7/3.2287

 

#ip load-sharing address source-destination  — есть хорошая скрытая команда на Cisco для балансировки трафика для всего L3 уровня .