当前位置:文档之家› BGP路由黑洞

BGP路由黑洞

BGP路由黑洞
BGP路由黑洞

案例精解:BGP路由黑洞

2008-10-19 15:05:37

标签:路由反射器路由黑洞同步BGP联邦

什么是路由黑洞?简单的说,它会默默的将数据包丢弃,使所有数据包有去无回,下面来看一个案例:

如图所示:

R1和R2建立EBGP邻居关系

R2和R5建立IBGP邻居关系

R5和R7建立EBGP邻居关系

R2、R3、R5之间运行RIPv2

首先看配置:

hostname r1

interface Loopback0

ip address 1.1.1.1 255.255.255.0

interface Serial1/0

ip address 192.168.12.1 255.255.255.0

serial restart-delay 0

router bgp 100

no synchronization

bgp router-id 1.1.1.1

bgp log-neighbor-changes

network 1.1.1.0 mask 255.255.255.0

network 192.168.12.0

neighbor 2.2.2.2 remote-as 200

neighbor 2.2.2.2 ebgp-multihop 255

neighbor 2.2.2.2 update-source Loopback0 no auto-summary

!

ip route 2.2.2.0 255.255.255.0 192.168.12.2

hostname r2

interface Loopback0

ip address 2.2.2.2 255.255.255.0

!

interface Serial1/0

ip address 192.168.23.2 255.255.255.0

serial restart-delay 0

!

interface Serial1/1

ip address 192.168.12.2 255.255.255.0

serial restart-delay 0

!

interface Serial1/2

ip address 192.168.24.2 255.255.255.0

serial restart-delay 0

!

router rip

version 2

network 2.0.0.0

network 192.168.23.0

no auto-summary

!

router bgp 200

no synchronization

bgp log-neighbor-changes

network 192.168.12.0

network 192.168.23.0

neighbor 1.1.1.1 remote-as 100

neighbor 1.1.1.1 ebgp-multihop 255

neighbor 1.1.1.1 update-source Loopback0 neighbor 5.5.5.5 remote-as 200

neighbor 5.5.5.5 update-source Loopback0 neighbor 5.5.5.5 next-hop-self

no auto-summary

!

ip route 1.1.1.0 255.255.255.0 192.168.12.1

hostname r3

interface Loopback0

ip address 3.3.3.3 255.255.255.0

!

interface Serial1/0

ip address 192.168.35.3 255.255.255.0

serial restart-delay 0

!

interface Serial1/1

ip address 192.168.23.3 255.255.255.0 serial restart-delay 0

router rip

version 2

network 3.0.0.0

network 192.168.23.0

network 192.168.35.0

no auto-summary

hostname r5

interface Loopback0

ip address 5.5.5.5 255.255.255.0

!

interface FastEthernet0/0

no ip address

shutdown

duplex half

!

interface Serial1/0

ip address 192.168.57.5 255.255.255.0 serial restart-delay 0

!

interface Serial1/1

ip address 192.168.35.5 255.255.255.0 serial restart-delay 0

!

interface Serial1/2

ip address 192.168.45.5 255.255.255.0 serial restart-delay 0

!

interface Serial1/3

no ip address

shutdown

serial restart-delay 0

!

router rip

version 2

network 5.0.0.0

network 192.168.35.0

no auto-summary

!

router bgp 200

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 200

neighbor 3.3.3.3 remote-as 200

neighbor 7.7.7.7 remote-as 300

neighbor 7.7.7.7 ebgp-multihop 255

neighbor 7.7.7.7 update-source Loopback0 no auto-summary

!

ip route 7.7.7.0 255.255.255.0 192.168.57.7

interface Serial1/1

ip address 192.168.57.7 255.255.255.0

serial restart-delay 0

!

interface Serial1/2

no ip address

shutdown

serial restart-delay 0

!

interface Serial1/3

no ip address

shutdown

serial restart-delay 0

!

router bgp 300

no synchronization

bgp log-neighbor-changes

neighbor 5.5.5.5 remote-as 200

neighbor 5.5.5.5 ebgp-multihop 255

no auto-summary

!

ip route 5.5.5.0 255.255.255.0 192.168.57.5

现在查看R1的路由表

r7#sh ip route

B 1.1.1.0 [20/0] via 5.5.5.5, 00:02:54 //为节约篇幅未完整显示

可见R7学到了R1的路由,从表面上看这个实验很完美,达了目的,然而这时问题出现了,作个测试,在R7上PING R1

r7#ping 1.1.1.1

Type escape sequence to abort.

Sending 5, 0-byte ICMP Echos to 7.7.7.7, timeout:

.....

这究竟是怎么回事呢?原来,我们在R5上关闭了同步,这时它会将一条并没有优化的路由传送给R7,当R7要发向R1发包时,它看到R5是它的下一跳,于是将包发给R5,然后R5又查看它的路由表,发现到R1的下一跳是R2,并继续查找,发现在通过R3可以达到R2,于是它将数据送给R3,这时问题出现了,因为R3

没有运行BGP,它不知道R1怎么走,于是它将数据包丢弃,从而造成路由黑洞。由此可见,BGP与IGP同步的重要性,什么是同步?在上一篇我已经提到了,不再多阐述。(同理R1无法访问R7,但有R7的路由条目)

(优化的条件:1、下一跳可达,题中满足;2、同步,题中不满足)

既然问题出现了,那到底该怎么去解决呢?

首先,如果在R5上开启同步,这样的情况就不会发生了,因为R5从R2收到关于R1的路由条目后,它会的查找它的IGP路由表,看是否有这样一条路由可以到达R1,如果没有,它就不会将这条路由传递给R7,此时可避免黑洞问题。但R7学到R1的路由才是我们真正的目的,那该怎么做呢?我们可以将BGP的路由重发布到RIP中,这样IGP和BGP就可以完成同步,但是这样做并不好,在实验环境中我们当然可以这样做,但试想现在INTERNET中有多达20几万条路由条目,如果重发布到我们的IGP路由器中,很显然大多数路由器是无法支撑的。

解决方法一:Full Mesh

分别在R2和R3,R3和R5上运行BGP ,这样R3就可以学到到达R1的路由,这时你需要在R1、R2、R3之间分别建立邻居关系,当路由器很多的时候,全互联要求建立n*(n-1)/2个邻居关系,这显然是很麻烦。(略)

解决方法二:Foute-Reflector

路由反射器,我们可以将R3做成一个路由反射器,使它能将从R1学的路由条目反射给R5,正常情况下为了防止环路,从IBGP学到的路由不会再传给其它IBGP 邻居。现在只需要在路由反射客户和路由反射器间建立邻居关系,邻居关系减少

到n-1条。

路由反射器(RR)的条件:

1、如果路由是从非客户的IBGP学到的只反射给客户

2、如果路由是从客户学到的,将它反射给发起该路由的客户以外的所有非客户及客户

3、如果路由是从EBGP对等体学到的,将它反射给所有客户和非客户

做法:清除R2与R5的邻居关系,只在R2与R3、R3与R5之间建立IBGP关系然后在R3的路由配置模式下:

neighbor 2.2.2.2 route-reflector-client

neighbor 5.5.5.5 route-reflector-client //将R2和R5作为RR的客户

此时R5上能收到关于R1的路由,它也会传给R7

解决方法三:Confederation

联邦是将整个大的AS区域再划分成多个小的AS区域,比如现在有AS200就相当于中国,而整个中国显然可以再分为若干个省分,现在AS65012和AS65003 就是划分出来的“小AS”,意思这里的AS号是私有的,在出AS200时它将自动被去掉(64512--65535可用),这样划分后,R3和R5就为联邦EBGP邻居了,这时它关于R 1的路由条目就可以传给R5了。

R2:

router bgp 65012 //指定的联邦AS号

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 200 //R2对外宣称自己的AS号为200,它会告诉R1它的AS号为200,因为65012是私有的

network 192.168.12.0

network 192.168.23.0

neighbor 1.1.1.1 remote-as 100

neighbor 1.1.1.1 ebgp-multihop 255

neighbor 1.1.1.1 update-source Loopback0

neighbor 3.3.3.3 remote-as 65012

neighbor 3.3.3.3 update-source Loopback0

neighbor 3.3.3.3 next-hop-self

no auto-summary

R3:

r3#sh run | b r b

router bgp 65012

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 200 //对R5稳定自己的AS号为200,它不会对R2宣称,因为它们属于同一个联邦AS

neighbor 2.2.2.2 remote-as 65012

neighbor 2.2.2.2 update-source Loopback0

neighbor 5.5.5.5 remote-as 65003

neighbor 5.5.5.5 ebgp-multihop 255

neighbor 5.5.5.5 update-source Loopback0

no auto-summary

!

R5:

router bgp 65003

no synchronization

bgp log-neighbor-changes

bgp confederation identifier 200 //对R3和R7宣称自己的AS号为200

neighbor 3.3.3.3 remote-as 65012

neighbor 3.3.3.3 ebgp-multihop 255

neighbor 7.7.7.7 remote-as 300

neighbor 7.7.7.7 ebgp-multihop 255

neighbor 7.7.7.7 update-source Loopback0

no auto-summary

!

这时查看R3和R5的邻居关系

r3#sh ip bgp su

Neighbor V AS MsgRcvd MsgSent TblV er InQ OutQ

Up/Down State/PfxRcd

2.2.2.2 4 65012 10 9 1 0 0 00:06:26 2

5.5.5.5 4 65003 1 1 0 0 0 never Active

发现在它们始终处于Active状态,不能完成邻居的建立,这又是为什么呢?

分析一下:

R5和R3都打了这条命令,bgp confederation identifier 200

又因为他们处于不同的联邦AS,所以它们都会宣称自己的AS号为200,然而我们看到它们的Neighbor却不是这样通告的

R3上:neighbor 5.5.5.5 remote-as 65003

R5上:neighbor 3.3.3.3 remote-as 65012

所以这时会报一个错误:AS号错误,如下

r5#

*Oct 19 12:20:10.311: %SYS-5-CONFIG_I: Configured from console by console

r5#

*Oct 19 12:20:19.155: %BGP-3-NOTIFICA TION: sent to neighbor 3.3.3.3 2/2 (peer in wrong AS) 2 bytes 00C8

r5# FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 002D 0104 00C8 00B4 0303 0303 1002 0601 0400 0100 0102 0280 0002 0202 00

解决方法:

R3上:bgp confederation peer 65003 // // 不对65003宣称自己的AS为200

R5上:bgp confederation peer 65012 // 不对65012宣称自己的AS为200

验证

r5#sh ip bgp

BGP table version is 13, local router ID is 5.5.5.5

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*> 1.1.1.0/24 2.2.2.2 0 100 0 (65012) 100 i

r> 7.7.7.0/24 7.7.7.7 0 0 300 i

*> 192.168.12.0 2.2.2.2 0 100 0 (65012) i

r> 192.168.23.0 3.3.3.3 0 100 0 (65012) i

*> 192.168.35.0 0.0.0.0 0 32768 i

* 3.3.3.3 0 100 0 (65012) i //括号中的是私有AS号,在出R5时会被去掉,在看7上可以看到效果

*> 192.168.57.0 0.0.0.0 0 32768 i

* 7.7.7.7 0 0 300 i

r7#sh ip bgp

BGP table version is 12, local router ID is 7.7.7.7

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*> 1.1.1.0/24 5.5.5.5 0 200 100 i

*> 7.7.7.0/24 0.0.0.0 0 32768 i

*> 192.168.12.0 5.5.5.5 0 200 i

*> 192.168.23.0 5.5.5.5 0 200 i

*> 192.168.35.0 5.5.5.5 0 0 200 i

* 192.168.57.0 5.5.5.5 0 0 200 i

*> 0.0.0.0 0 32768 i

实验完毕!

注:由于开了过多的设备,CPU实在难以支撑,没办法拷下所有配置过程,只作了总结性讲解,请见谅!有需要的我们可以再作交流。

BGP路由黑洞

案例精解:BGP路由黑洞 2008-10-19 15:05:37 标签:路由反射器路由黑洞同步BGP联邦 什么是路由黑洞?简单的说,它会默默的将数据包丢弃,使所有数据包有去无回,下面来看一个案例: 如图所示: R1和R2建立EBGP邻居关系 R2和R5建立IBGP邻居关系 R5和R7建立EBGP邻居关系 R2、R3、R5之间运行RIPv2 首先看配置: hostname r1 interface Loopback0 ip address 1.1.1.1 255.255.255.0 interface Serial1/0 ip address 192.168.12.1 255.255.255.0

serial restart-delay 0 router bgp 100 no synchronization bgp router-id 1.1.1.1 bgp log-neighbor-changes network 1.1.1.0 mask 255.255.255.0 network 192.168.12.0 neighbor 2.2.2.2 remote-as 200 neighbor 2.2.2.2 ebgp-multihop 255 neighbor 2.2.2.2 update-source Loopback0 no auto-summary ! ip route 2.2.2.0 255.255.255.0 192.168.12.2 hostname r2 interface Loopback0 ip address 2.2.2.2 255.255.255.0 ! interface Serial1/0 ip address 192.168.23.2 255.255.255.0 serial restart-delay 0 ! interface Serial1/1 ip address 192.168.12.2 255.255.255.0 serial restart-delay 0 ! interface Serial1/2 ip address 192.168.24.2 255.255.255.0 serial restart-delay 0 !

H3C IPV6之IBGP一级RR路由反射器典型组网配置案例

组网说明: 本案例采用H3C HCL模拟器来模拟IPV6 IBGP一级RR路由反射器典型组网配置!R1与R2属于AS100,R3属于AS200。R1是R2的RR路由反射器的客户端。R2与R3为EBGP邻居关系。要求R1、R2、R3的loopback0能够互通。 配置思路: 1、按照网络拓扑图正确配置IP地址 2、R1与R2建立IBGP邻居关系,R2配置RR路由反射器客户端,指向R1 3、R2与R3建立EBGP邻居关系 配置过程: R1: sys System View: return to User View with Ctrl+Z. [H3C]sysname R1 [R1]int loopback 1 [R1-LoopBack1]ip address 1.1.1.1 32 [R1-LoopBack1]quit [R1]int loopback 0 [R1-LoopBack0]ipv6 address 3::1 64 [R1-LoopBack0]quit [R1]int gi 0/1 [R1-GigabitEthernet0/1]des [R1-GigabitEthernet0/1]ipv6 address 1::1 64 [R1-GigabitEthernet0/1]quit [R1]bgp 100 [R1-bgp-default]router-id 1.1.1.1 [R1-bgp-default]peer 1::2 as-number 100 [R1-bgp-default]address-family ipv6 unicast [R1-bgp-default-ipv6]peer 1::2 enable

案例精解:BGP路由黑洞

案例精解:BGP路由黑洞 什么是路由黑洞?简单的说,它会默默的将数据包丢弃,使所有数据包有去无回,下面来看一个案 如图所示: R1和R2建立EBGP邻居关系 R2和R5建立IBGP邻居关系 R5和R7建立EBGP邻居关系 R2、R3、R5之间运行RIPv2 首先看配置: sysname route-1 # router id 1.1.1.1 # interface Ethernet0/0 ip address 192.168.12.1 255.255.255.252 # interface Ethernet0/1 ip address dhcp-alloc # interface LoopBack0 ip address 1.1.1.1 255.255.255.255 # bgp 100 undo synchronization group 1 external peer 192.168.12.2 group 1 as-number 200 # ip route-static 2.2.2.2 255.255.255.255 192.168.12.2 preference 60

# sysname route-2 # router id 2.2.2.2 # interface Ethernet0/0 ip address 192.168.12.2 255.255.255.252 # interface Ethernet0/1 ip address 192.168.23.1 255.255.255.252 # interface LoopBack0 ip address 2.2.2.2 255.255.255.255 # bgp 200 undo synchronization group 1 external peer 192.168.12.1 group 1 as-number 100 group 2 internal peer 192.168.35.2 group 2 # ospf 1 import-route direct import-route static area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 192.168.23.0 0.0.0.3 # ip route-static 1.1.1.1 255.255.255.255 192.168.12.1 preference 60 # sysname route-3 # router id 3.3.3.3 # interface Ethernet0/0 ip address 192.168.35.1 255.255.255.252 # interface Ethernet0/1 ip address 192.168.23.2 255.255.255.252 # interface LoopBack0 ip address 3.3.3.3 255.255.255.255 # ospf 1 import-route direct import-route static area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 192.168.23.0 0.0.0.3 network 192.168.35.0 0.0.0.3 # sysname route-5 # router id 5.5.5.5 # interface Ethernet0/0 ip address 192.168.35.2 255.255.255.252 #

IBGP水平分割:从一个IBGP学到的BGP路由不会传到另一个IBGP

IBGP水平分割:从一个IBGP学到的BGP路由不会传到另一个IBGP 解决办法RR(路由反射器)可以指定他的客户 1、如果一条路由通过客户学习到,那么会反射到客户、非客户、EBGP邻居 2、如果一条路由通过EBGP邻居学习到,那么会反射给客户、非客户、EBGP邻居 3、如果一条路由通过非客户学习到,那么会反射给客户和EBGP邻居,不会反射给非客户R1(config)#int s2/1 R1(config-if)#ip add 12.0.0.1 255.255.255.0 R1(config-if)#no shu R1(config-if)#int lo0 R1(config-if)#ip add 1.1.1.1 255.255.255.0 R1(config-if)#do ping 12.0.0.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 12.0.0.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 24/58/96 ms R1(config-if)#router bgp 100 R1(config-router)#bgp router-id 1.1.1.1 R1(config-router)#nei 12.0.0.2 remote-as 234 R1(config-router)#net 1.1.1.0 mask 255.255.255.0 R1(config-router)# *Sep 12 19:39:51.659: %BGP-5-ADJCHANGE: neighbor 12.0.0.2 Up R1(config-router)#do sh ip bgp BGP table version is 3, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 0.0.0.0 0 32768 i *> 5.5.5.0/24 12.0.0.2 0 234 500 i R1(config-router)#do sh ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

BGP路由黑洞及IBGP全连接

BGP路由黑洞及IBGP全连接 组网需求: 1.AS65000边界网段发布:RT1、RT2重发布直连路由至OSPF(metric 1000 type 1) 2.BGP配置要求: no synchronization no auto-summary IBGP使用LOOPBACK建立邻居,下一跳指向自己 3.RT1,RT2发布AS65000的汇总路由至BGP:10.0.0.0/16、10.3.0.0/16 4.RT5发布AS65001的汇总路由至BGP:10. 5.0.0/16 5.RT6发布AS65001的汇总路由至BGP:10. 6.0.0/16 6.分析路由黑洞的形成及解决方法 IGP路由的配置: R1: router ospf 1 router-id 10.0.0.1 redistribute connected metric 1000 metric-type 1 subnets //重发布直连网络到OSPF中passive-interface Serial0/1//与EBGP相连的接口必须配置为被动接口,以免形成邻居network 10.0.0.1 0.0.0.0 area 0 network 10.0.1.4 0.0.0.3 area 0

router ospf 1 router-id 10.0.0.3 passive-interface default no passive-interface Serial0/0 no passive-interface FastEthernet1/0 network 10.0.0.3 0.0.0.0 area 0 network 10.0.1.0 0.0.0.3 area 0 network 10.0.1.4 0.0.0.3 area 0 network 10.3.3.0 0.0.0.255 area 0 interface FastEthernet1/0 ip address 10.0.1.1 255.255.255.252 ip ospf network point-to-point //配置网络类型为点对点(不需选举DR或BDR) R4: router ospf 1 router-id 10.0.0.4 passive-interface default no passive-interface Serial0/0 no passive-interface FastEthernet1/0 network 10.0.0.4 0.0.0.0 area 0 network 10.0.1.0 0.0.0.3 area 0 network 10.0.1.8 0.0.0.3 area 0 network 10.3.4.0 0.0.0.255 area 0 interface FastEthernet1/0 ip address 10.0.1.1 255.255.255.252 ip ospf network point-to-point //配置网络类型为点对点(不需选举DR或BDR) R2: router ospf 1 router-id 10.0.0.2 redistribute connected metric 1000 metric-type 1 subnets//重发布直连网络到OSPF中passive-interface default//与EBGP相连的接口必须配置为被动接口,以免形成邻居no passive-interface Serial0/0 network 10.0.1.8 0.0.0.3 area 0 IBGP的配置: R1: router bgp 65000 no synchronization//关闭同步 neighbor 10.0.0.2 remote-as 65000//指定IBGP邻居和AS neighbor 10.0.0.2 update-source Loopback0//指定更新源为LOOPBACK0 neighbor 10.0.0.2 next-hop-self//把下跳改为自己(EBGP默认)neighbor 10.0.15.2 remote-as 65001 //指定EBGP邻居和AS network 10.0.0.0 mask 255.255.0.0 /静态发布路由到BGP no auto-summary//关闭自动汇总 ip route 10.0.0.0 255.255.0.0 null 0 //添加一条静态汇总路由,用来发布

BGP路由反射器

1:优化配置,优化管理 路由反射器的作用: 减少IBGP 对等体关系的数目 解决IBGP 水平分割带来的路由不被学习的问题. 1.1.3 反射的原则 1)If the route was learned from a nonclient IBGP peer, it is reflected to clients only. 2)If the route was learned from a client, it is reflected to all nonclients and clients, except for the originating client. 如图所示:将1.1.1.0/24宣告进bgp ,但是R3与R5都学不到这个路由。解决方法: 把R2变成路由反射器。 配置: R2(config-router)#nei 12.12.12.1 route-reflector-client R2(config-router)#nei 23.23.23.3 route-reflector-client R2(config-router)#nei 25.25.25.5 route-reflector-client *Feb 16 18:34:32.279: %BGP-5-ADJCHANGE: neighbor 25.25.25.5 Down RR client config change //路由反射器的配置会引起邻居关系的down 路由反射器,进行路由反射时,其被反射的路由的下一跳是不会改变的。 路由反射器 Wednesday, February 16, 2011 6:07 PM

bgp路由反射器实验

BGP路由反射器实验 2009-09-04 09:15:43 标签:cisco路由bgp反射器 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。 https://www.doczj.com/doc/0c1570547.html,/802460/198667 BGP路由反射器实验报告 一、实验目的 配置IBGP路由器使用路由反射器和简单的路由过滤器 二、拓扑结构图 三、实验步骤 1.配置基本接口地址(略) 测试: sanjose3(config)#do ping 192.168.1.5 sanjose3(config)#do ping 172.24.1.18 通基本地址配置成功

2.配置内部IBGP协议采用rip Sanjose3(config-if)#router rip Sanjose3(config-router)#net 192.168.1.0 Sanjose3(config-router)#net 172.24.0.0 sanjose1(config-if)#router rip sanjose1(config-router)#net 192.168.1.0 sanjose2(config-if)#router rip sanjose2 (config-router)#net 172.24.0.0 3.配置bgp协议 sanjose3(config)#router bgp 100 sanjose3(config-router)#neigh 192.168.1.5 remote-as 100 sanjose3(config-router)#neigh 172.24.1.18 remote-as 100 sanjose3(config-router)#net 200.100.50.0 sanjose1(config)#router bgp 100 sanjose1(config-router)#neigh 192.168.1.6 remote-as 100 sanjose2(config)#router bgp 100 sanjose2(config-router)#neigh 172.24.1.17 remote-as 100 sanjose2(config-router)#net 199.9.9.0

BGP

1.BGP选路 1.1 BGP的选路的规则,举例说明每条规则的具体使用。 首先,路由的下一跳必须可达,然后BGP按照下面的顺序选路: Label>没有label (1)prefer-value (2)Local-pref (3)本地始发 (4)As-path (5)Origin(i>e>?) (6)Med (7)ebgp>ibgp (8)Igp cost for next-hop (9)是否支持负载均衡(maximum load-balance) (10)cluster-list

(11)Originator-id (12)Router-id (13)Next-hop ip address 2.BGP防环 2.1 BGP有哪些防环机制? IBGP邻居之间通过IBGP的水平分割防止环路。 EBGP邻居通过as-path防止环路。 配置路由反射器之后,路由反射器通过cluster-list防止环路;路由反射器的客户端通过originator-id防止环路。 联盟中使用as-path-confed(as-set-confed)防环; 客户收到RR 反射的路由的cluster-list 中的簇ID 不能和自己的路由器ID 相同,否则丢弃。 2.2 BGP 产生环路的场景(假设) 都是3 台路由器 假设没有IBGP 的水平分割

假设AS-PATH 不能防环(1. As-path 会不断增长;2. 在本AS 内起源路由传递AS-PATH 为空) 假设Cluster-list 不能防环(1. Cluster-list 会不断增长) OID 的防环(说道水平分割前,可能会产生环路终止) 2.3 IBGP间为什么会产生路由环路,如果没有IBGP水平分割机制又会怎么产生环路。BGP会选择最优路径,怎么会产生环路呢,什么时候会产生环路,请举例说明? 路由器通过IBGP通告的时候,IBGP路由不会像EBGP路由那样具有环路保护机制,所有就有可能出现环路。 假设一个拓扑,路由器A B C两两互联,两两建立IBGP邻居。在路由器A上面宣告一条路由,路由器B和路由器C都会学习到。如果没有IBGP的水平分割,路由器B和路由器C互相也会通告这条路由,路由器B和路由器C上面也有对方通告的路由。假设路由器A上面通告的网络down掉,路由器C会选择路由器B通告的路由,并且向路由器A通告这条路由。路由器A此时向路由器B通告的路是从路由器C学到的,路由器C的路由是从路由器B学习到的,路由器B的路由是从路由器A学到的。这样,就导致了环路。 选择最优路由是指当路由器收到若干条到达同一网段的路由时,

BGP路由选择顺序

BGP选路原则(决策过程) 1.优选有最大Weight的路由 (范围0 到 65,535) A:weight是CISCO私有的参数,路由器配置了权重后在本地有效。 2.优选有最大LOCAL_PREF值的路由(范围 0到 4,294,967,295). 3.优选从本路由器始发的路由(包括本地network配置的重分布,或者在IGP表中已经有一些需要被配置路由聚合的地址,在BGP中用Aggregate命令配置的路由聚合,) 4.优选有最短AS_PATH的路由 A.如果配置了Bgp bestpath as-path ignore,则这个步骤被忽略 B.一个AS路径集被当作一个AS,无论在这个集合中有多少AS。 C.AS路径长度中没有包括AS_CONFED_SEQUENCE。 5.根据Origin属性.优选具有最低起源类型的路由(IGP>EG>Incomplete) 6.优选最小MED 值的路由(范围 0到4,294,967,295). A.只有在通过两条路径得到第一个AS(对等体)是同一个AS时才进行MED 比较;任何子自治域的联盟系统都会被忽略。也就是说,只有在AS序列号中第一个AS号码一致时,才进行MED比较;任何联盟AS序列号(AS_CONFED_SEQUENCE)都会被忽略。 B.如果路由器上配置了 bgp always—compare—med ,在全部的路径进行MED比较。但是这需要全体AS 都同时启用这个功能,否则有可能发生路由环路。 C.如果路由器上配置了 bgp bestpath med confed ,将对所有只包括 AS_CONFED_SEQUENCE的路径进行MED比较(即路径是起源于本地联盟)。 D.如果接收到的路径没有分配MED值,则将此路径分配为0,除非路由器 上配置了bestpath missing—is—worst,将被看作MED值为4,294,967,295的路由将在注入到BGP路由选择表之前被改为4,294 ,967,294。 E.BGP明确的MED值9(详见本章后面的"BGP明确的MED"段落)也可以影响此步骤。 7.外部路由EBGP优先于联盟(confederation)外部路由优于内部路由IBGP (优选 E-BGP路由) 注意,路径中包括AS_CONFEND_SEQUENCE属性对联盟只有在本地有效,因此被看作是内部路径。无法区别外部联盟和内部联盟。 8. 优选能通过最近的IGP邻居到达的路径(优选对BGP下一跳具有最低IGP 度量值的路径); 9.如果在路由器上配置了maximum—pathsN,而且从同一个对等体自治域/ 子自治域接收到多条外部/外部联盟的路径,则最多可以将N条最近接收到的路径加入到IP路由选择表中。这可以使得eBGP在多条路径上进行负载分担。目前 N所代表的最大数目是6;当没有启用此功能时,缺省数值是1。在输入了show ip bgp x.x.x.x后系统输出信息中可以看到最早接收到的路径被标记为最优路径,在将这条最优路径转发到内部对等体之前,需要执行与 next_hop_self作用相 同的功能。 10.如果是external的路由,优选最老的路由(最先被学习到的路由). A.此步骤可以将路由摆动的影响减到最小,因为新接收到的路径不会取代老的,即使这条新接收的路径是通过下面提及到的额外路径选择标准来进行选择的。这使得只在iBGP路径下应用额外的选择步骤更有意义。 B.此步骤可以被bgp bestpath compare_routerid命令语句所关闭。

BGP路由策略与选路控制

BGP路由策略与选路控制 一、实验目标: 根据BGP路由选择原则,用BGP属性控制BGP路由 二、网络拓扑图: 三、配置: IP地址如图所示 用OSPF实现IGP路由可达 BGP配置如下:no synchronization No auto-summary Update-source lo0 Next-hop-self R3和R4为同簇路由反射器,R1,R2分别为R3和R4的客户端 R3,R4建立普通IBGP邻居 R3,R4都发布10.0.0.0/16,10.2.0.0/16,10.4.0.0/16,10.3.0.0/16到BGP R5,R6发布10.5.0.0/16,10.6.0.0/16到BGP R1与R5,R2与R6建立EBGP 现分析下面路由

RT1#show ip bgp Network Next Hop Metric LocPrf Weight Path * i10.5.0.0/16 10.0.0.2 0 100 0 65001 i *> 10.0.15.2 0 0 65001 i * i10.6.0.0/16 10.0.0.2 0 100 0 65001 i *> 10.0.15.2 0 0 65001 i 根据EBGP路由优先于IBGP路由 RT1#show ip bgp 10.5.0.0 BGP routing table entry for 10.5.0.0/16, version 11 Paths: (2 available, best #2, table Default-IP-Routing-Table) Advertised to update-groups: 2 65001 10.0.0.2 (metric 101) from 10.0.0.4 (10.0.0.4) Origin IGP, metric 0, localpref 100, valid, internal Originator: 10.0.0.2, Cluster list: 10.0.0.4 来自IBGP10.0.0.4反射的路由65001 10.0.15.2 from 10.0.15.2 (10.5.0.1) 来自EBGP10.0.15.2的路由 Origin IGP, metric 0, localpref 100, valid, external, best RT2#show ip bgp R2同R1 Network Next Hop Metric LocPrf Weight Path *> 10.5.0.0/16 10.0.26.2 0 0 65001 i * i 10.0.0.1 0 100 0 65001 i *> 10.6.0.0/16 10.0.26.2 0 0 65001 i * i 10.0.0.1 0 100 0 65001 i RT2#show ip bgp 10.5.0.0 BGP routing table entry for 10.5.0.0/16, version 10 Paths: (2 available, best #1, table Default-IP-Routing-Table) Advertised to update-groups: 2 65001 10.0.26.2 from 10.0.26.2 (10.6.0.1) Origin IGP, metric 0, localpref 100, valid, external, best 65001 10.0.0.1 (metric 101) from 10.0.0.3 (10.0.0.3) Origin IGP, metric 0, localpref 100, valid, internal Originator: 10.0.0.1, Cluster list: 10.0.0.3

BGP路由反射器簇ID的实验

iBGP之间只可以发送自身产生的前缀信息,不可以转发接受自其他iBGP对等体的前缀信息,这是BGP的防环机制。 解决IBGP间路由发送的限制一般有三种方法: 1.建立full-mesh的对等体连接 2.建立联盟 3.建立RR(路由反射器) 在RR中引入了originator-id和cluster-id这两个属性来防止环路。Originator是指产生首发该路由的路由器的RID,cluster-id可以手工配置,也可以有系统默认生成(RR的RID)。 系统为RR默认配置的cluster-id就是RR的RID。这样,当一个系统中有多个RR时,他们是同簇的。不同簇的RR会以一般的RR与非客户端对等体的反射原则来传递路由信息。 那么,如果同一级别的RR拥有相同的cluster-id,那么,他们之间就不会反射路由信息了! 下面的试验讨论的是同一个AS中,有多个同级RR时,路由传递的一些特性。

拓扑如下: R1,R2,R3,R4在同一个AS中,其中R1和R2作为RR,R3,R4作为客户端对等体被两个RR共同拥有,R3与R4之间没有建立对等体。 基本配置: R1 R1#sh ip int b

Interface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES manual up up FastEthernet0/0.12 12.1.1.1 YES manual up up FastEthernet0/0.13 13.1.1.1 YES manual up up FastEthernet0/0.14 14.1.1.1 YES manual up up Loopback0 10.1.1.1 YES manual up up 。。。。(omit) R1#sh run | b router router bgp 1 no synchronization

最详细BGP的学习笔记

BGP第一节:IBGP邻居(所用的版本是4) IBGP邻居:通常运行在同一个AS内。 AS :就是一组被统一管理的路由器。 这组路由器的特点:使用相同的内部网关协议,统一的度量值。 特点:可以直连,也可以不直连,但是底层必须能够访问。 AS号在eigrp的作用就是用于邻居的建立。在BGP中可以理解为是不同的运营商。 bgp的AS号是需要申请的。 具体的配置:neighbor 邻居Ip remote-as AS号 show controllers serial 0/0 查看某接口是DCE还是DTE。 配置时钟速率:clock rate 64000 一定要在DCE端配置时钟速率。 R1与R2 建立邻居 BGP的三张表: 邻居表:BGP的邻居关系不会自动建立,需要单播进行指邻居。(保留对端的AS 号码)BGP表:收集所有的路由信息,并且保留BGP 的所有属性--------更好的做人为控制。 BGP的管理距离值:20和200;20是从EBGP学过来的路由,200是从IBGP学过来的路由。路由表: BGP的报文: Open: Keepalive:激活(hold时间不一样,邻居可以建立,它会进行协商选择时间小的,并且它的keepalive的时间自动调整为Hold时间的1/3。如果hello时间为0则BGP的邻居不down) (需要注注意的是:hello时间不一样,ospf的邻居将不会建立) 修改命令;timesbgp 10 30 Update:包括路由器的属性,还有我BGP的路由信息。 Notification: 如果两端的AS号不一致,则会出现NOTIFICATION这个报文。-------BGP建立出错的时候也会出现这个报文。(2):清除了BGP的邻居关系时,也会出现这种报文。 BGP的经典案例(IBGP)

BGP属性详解

BGP属性详解 (2009-12-2315:46:58) 转载 标签: 分类:BGP/MPLS/MPLSTE it 学BGP,其实就是在学BGP的这些复杂繁琐的属性。。。 可以说,BGP属性你都搞透了,BGP这块你也就小无敌了,废话不多说,直接入主题吧~ 1.Origin Code属性: 属性种类:公认强制,指出了该路由条目的来源是什么。。。。。。 有如下几种来源: 1)Code=i:是在IGP的RIB中存在,并通过network命令宣告进BGP进程中的;2)Code=e:从EGP协议中获悉的,EGP现在很少用可以不考虑 3)Code=?:Incomplete,从其他手段获取的,如重分布Redistribute进BGP 进程中的~~~ 2.AS_Path属性: 属性种类:公认强制,默认包含了一个有序的AS号列表(AS_SEQUENCE),描述了到达该网络所经过的所有AS有哪些。。。 请注意,只有将网络条目通告给EBGP邻居时,才将本地AS号加入到这个AS_Path 属性中;如果只是通告给IBGP邻居,是不会增加任何AS号到AS_Path中滴~ 这个AS_Path有如下两个作用: 1)让BGP进程决策最优路径,AS_Path最短最屌; 2)防止环路,当某BGP Router从其EBGP邻居那里接收到一个网络的更新,并发现这个网络更新的AS_Path中有自己本地的AS号时,就证明有环路产生!!! 3.Next_Hop属性: 属性种类:公认强制,存放到达该目的网络的下一跳的IP地址是什么。 有如下3种情况: (1)BGP发言者把自己产生的路由发布给所有邻居时,将把改路由信息的下一跳 属性设置为自己与对端连接的接口地址. (2)BGP Speaker把接受到的路由发送给EBGP对等体后,将改路由信息的下一跳属性设置为本地与对端连接的接口. (3)BGPspeaker把从EBGP邻居学习到的路由发给IBGP邻居的时候,并不改变下一跳属性. 4.Local_Pref属性: 属性种类:公认自由决定,只用在和IBGP邻居间的Update分组更新中,这个属性字段是不会传递给EBGP邻居滴~~~ 告诉本地AS中的BGP Router,从哪个出口出去才是最优的:同一个AS中的BGP Router根据这个Local_Pref值来选择到达某个网络的最佳路径。。。。。。 当Router要将路由条目通告给其EBGP邻居的时候,会将这个Local_Pref属性删掉哦~

浅谈BGP协议的工作原理

浅谈BGP 协议的工作原理 图文信息中心 李宪民 【摘 要】BGP (Border Gateway Protocol :边界网关协议):是一种增强的距离矢量路由协议,属于外部路由协议。从功能上讲它是一种自治系统间的动态路由协议。它通过维护IP 路由表或‘前缀’表来实现自治系统(AS )之间的可达性,使用基于路径、网络策略或规则集来决定路由。它的基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号(AS)序列属性的网络可达信息,来构造自治系统的拓扑图,从而消除路由环路,并使得基于自治系统级别的策略控制得以实施。 本文从应用的角度出发,通过BGP 协议特点、BGP 路由通告原则、成为BGP 路由的方法、BGP 报文(消息)、BGP 邻接关系的建立、BGP 的路由属性、BGP 路由选择等七个方面对BGP 协议进行阐释。 【关键词】 BGP 路由协议 自治系统 对等体 状态机 BGP 报文 路由属性 一、BGP 协议简介 BGP (Border Gateway Protocol )是一种自治系统间的动态路由协议,它的基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号序列属性的路径可达信息,来构造自治区域的拓扑图,从而消除路由环路并实施用户配置的路由策略。与OSPF 和RIP 等在自治区域内部运行的协议对应,BGP 是一种EGP (Exterior Gateway Protocol )协议,而OSPF 、RIP 、ISIS 等为IGP (Interior Gateway Protocol )协议。BGP 协议经常用于ISP 之间。 BGP 协议从1989年以来就已经开始使用。它最早发布的三个版本分别是RFC1105(BGP-1)、RFC1163(BGP-2)和RFC1267(BGP-3),当前使用的是RFC1771(BGP- 4)。 随着INTERNET 的飞速发展,路由表的体积也迅速增加,自治区域间路由信息的交换量越来越大,影响了网络的性能。BGP 支持无类别域间选路CIDR (Classless Interdomain Routing ),可以有效的减少日益增大的路由表。BGP-4正迅速成为事实上的Internet 边界路由协议标准。 二、BGP 协议相关概念 (一)自治系统( Autonomous System ) 自治系统:是由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。每个自治系统都有唯一的自治系统编号,这个编号是由因特网授权的管理机构分配的。 引入自治系统的基本思想:通过不同的编号来区分不同的自治系统。通过采用路由协议和自治系统编号,路由器就可以确定彼此间的路径和路由信息的交换方法。 自治系统的编号范围是1到65535,其中1到64511是注册的因特网编号,64512到65535是私有网络编号。 (二)BGP 路由传递 一般情况下一条路由是从自治系统内部 产生的,它由某种内部路由协议发现和计算,传递到自治系统的边界,由自治系统边界路由 器(ASBR )通过EBGP 连接传播到其它自治系统中。路由在传播过程中可能会经过若干个 自治系统,这些自治系统称为过渡自治系统。如右图中AS5。若这个自治系统有多个边界路 由器,这些路由器之间运行IBGP 来交换路由信息。这时内部的路由器并不需要知道这些外部路由,它们只需要在边界路由器之间维护IP 连通性。如:AS2、AS3、AS4。还有一种自治系统称为Stub AS ,如:AS1、AS6、AS7。其内部只有一个ASBR 通过EBGP 连接外部,AS1AS7AS6 AS5AS4 AS3AS2

路由反射器防环

在使用BGP路由协议的网络中,为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2.当IBGP对等体数目很多时,对网络资源和CPU资源的消耗都很大。 一、路由反射器的定义 利用路由反射可以解决这一问题。在一个AS内,其中一台路由器作为路由反射器RR(Route Reflector),其它路由器做为客户机(Client)。客户机与路由反射器之间建立IBGP连接。路由反射器和它的客户机组成一个集群(Cluster)。路由反射器在客户机之间传递(反射)路由信息,而客户机之间不需要建立BGP 连接。 既不是反射器也不是客户机的BGP路由器被称为非客户机(Non-Client)。非客户机与路由反射器之间,以及所有的非客户机之间仍然必须建立全连接关系。如下图所示。 二、路由反射器的工作步骤 当RR收到IBGP发来的路由,首先使用BGP选择路由的策略选择最佳路由。在公布学习到的路由信息时,RR按照RFC2796中的规则发布路由: 1)从非客户机IBGP对等体学到的路由,发布给此RR的所有客户机。 2)从客户机学到的路由,发布给此RR的所有非客户机和客户机(发起此路由的客户机除外)。 3)从EBGP对等体学到的路由,发布给所有的非客户机和客户机。 RR的一个好处就是配置方便,因为只需要在反射器上配置,客户机不需要知道自己是客户机。 三、Originator_ID RFC2796定义了Originator_ID属性和Cluster_List属性,用于检测和防止路由环路。 Originator_ID属性长4字节,是由路由反射器(RR)产生的,携带了本地AS内部路由发起者的Router ID. 1)当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起路由器。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID. 2)当其它BGP Speaker接收到这条路由的时候,将比较收到的Originator_ID和本地的Router ID,如果两个ID相同,BGP Speaker会忽略掉这条路由,不做处理。 Originator_ID属性保证路由在反射器和客户机/非客户机之间的不出现循环。 四、Cluster_List 对于AS之间,BGP用于防止环路的主要措施是通过AS_Path属性记录途经的AS路径,带有本地AS 号的路由将被路由器丢弃;对于AS之内,BGP防止路由环路的方法是禁止IBGP对等体发布从AS内部学来的路由。 路由反射器的实现是基于放宽对"BGP在AS内学到的路由不会在AS中转发"的要求,即允许IBGP对等

BGP-4路由协议测试方案

BGP-4路由协议: 9.4.1 验证BGP基本功能 9.4.2 验证BGP报文信息正常发布和接收 9.4.3 验证BGP路由发布(network、静态、缺省) 9.4.4 验证BGP与IGP交互 9.4.5 BGP的路由聚合 9.4.6 BGP as-path的使用 9.4.7 BGP route-policy的使用 9.4.8 BGP路由反射器互通性测试 9.4.9 验证BGP负载分担和MED属性 9.4.10 BGP路由表容量测试 验证BGP基本功能 测试组网图:

测试步骤和结果: 步骤2:配置R1/R2/R3/R4/R5/R6的IGP路由 在R1上:interface Loopback0 ip address 1.1.1.1 255.255.255.255 ip ospf 1 area 0 interface FastEthernet0/0 ip address 172.16.0.1 255.255.255.0 ip ospf 1 area 0 interface Ethernet1/0 ip address 172.16.1.5 255.255.255.252 ip ospf 1 area 0 interface Ethernet1/1 ip address 172.16.1.1 255.255.255.252 ip ospf 1 area 0 在R2上:interface Loopback0 ip address 2.2.2.2 255.255.255.255 ip ospf 1 area 0 interface FastEthernet0/0 ip address 172.16.2.1 255.255.255.0 ip ospf 1 area 0 interface Ethernet1/0 ip address 172.16.1.6 255.255.255.252 ip ospf 1 area 0 interface Ethernet1/1

相关主题
文本预览
相关文档 最新文档