当公司存在多出口链路,并且需要灵活的路由控制的
大规模网络架构,一般采用 BGP。
dual-home:双宿
多出口链路
工作过程:
1、建立邻居表(IBGP邻居)
show ip bgp summary
IBGP Peer
EBGP Peer
直连邻居
非直连邻居(指的是通过 loopback建立)
-更新源检测机制
-直连检测机制
去往对方的IP地址时,必须
使用直连路由。
%当 EBGP 报文的 TTL=1 的时候,
才进行直连检测机制的检查;
-解决方案:
neighor x.x.x.x ebgp-multihop
2、同步数据库(BGP路由选路)
show ip bgp
#自己宣告进入到BGP的路由;
network
redistribute
#别人传输过来的BGP路由;
ibgp
ebgp
% > : best
&尝试着将其放入路由表
&发送给自己的BGP邻居路由器
show ip bgp neighbor x.x.x.x advertised-route
clear ip bgp * soft
3、创建路由表
show ip route bgp
内部路由AD:200
外部路由AD:20
本地路由AD:200
IBGP邻居防环机制:
-IBGP水平分割
从IBGP邻居收到的路由,不会再次发送给IBGP邻居
解决方案:
1、全互联(full-mesh)
2、联盟(confedration)
#当BGP路由器存在联盟时,运行的是小AS
#小AS内部发送的是小AS号;
#小AS之间发送的也应该是小AS号
但这些小AS号,必须在本地设备明确
指定为 confedration peers as ;
并不是每个路由器上都得配置 peer as ,
仅需要在与其他小AS建立 ebgp 邻居关系
的路由器上配置
#大AS之间发送的是大AS号;
3、路由反射器(route-reflector)
作为路由器反射器的BGP路由器,会临时
关闭“IBGP水平分割”功能。
对于路由器反射器(RR)而言,会有对应的
路由反射器客户端(RR-Client):
RR会将RR-C传过来的路由,反射给所有路由器;
RR会将非RR-C传过来的路由,反射给自己的RR-C;
总而言之就是:
对于 RR 而言, 非RR-C与非RR-C之间不能传,
其他的都可以传输(反射)
配置命令:
在路由器反射器上,指定任何一个内部邻居
为自己的客户端,就可以:
router bgp XXX
neighbor x.x.x.x route-reflector-client
其他路由器不需要做任何的配置。
IBGP联盟配置命令:
R1:
router bgp 1
no synchronization
no auto-summary
bgp router-id 1.1.1.1
bgp confederation identifier 123
bgp confederation peers 23
neighbor 10.10.2.2 remote-as 23
neighbor 10.10.2.2 ebgp-multihop 255
neighbor 10.10.2.2 update-source Loopback0
R2:
router bgp 23
no synchronization
no auto-summary
bgp router-id 2.2.2.2
bgp confederation identifier 123
bgp confederation peers 1
neighbor 10.10.1.1 remote-as 1
neighbor 10.10.1.1 ebgp-multihop 255
neighbor 10.10.1.1 update-source Loopback0
neighbor 10.10.3.3 remote-as 23
neighbor 10.10.3.3 update-source Loopback0
R3:( 没有配置peere as )
router bgp 23
no synchronization
no auto-summary
bgp router-id 3.3.3.3
bgp confederation identifier 123
neighbor 10.10.2.2 remote-as 23
neighbor 10.10.2.2 update-source Loopback0
neighbor 10.10.2.2 next-hop-self
neighbor 192.168.34.4 remote-as 4
通过以上配置,可以确保 R1 可以正常接收到 R4 loopback 0
李军
Tel:15135361516
qq:344728662
@501xiaofeng@163.com