BGP路由黑洞及IBGP全连接

合集下载

BGP路由黑洞

BGP路由黑洞

案例精解:BGP路由黑洞2008-10-19 15:05:37标签:路由反射器路由黑洞同步BGP联邦什么是路由黑洞?简单的说,它会默默的将数据包丢弃,使所有数据包有去无回,下面来看一个案例:如图所示:R1和R2建立EBGP邻居关系R2和R5建立IBGP邻居关系R5和R7建立EBGP邻居关系R2、R3、R5之间运行RIPv2首先看配置:hostname r1interface Loopback0ip address 1.1.1.1 255.255.255.0interface Serial1/0ip address 192.168.12.1 255.255.255.0serial restart-delay 0router bgp 100no synchronizationbgp router-id 1.1.1.1bgp log-neighbor-changesnetwork 1.1.1.0 mask 255.255.255.0network 192.168.12.0neighbor 2.2.2.2 remote-as 200neighbor 2.2.2.2 ebgp-multihop 255neighbor 2.2.2.2 update-source Loopback0 no auto-summary!ip route 2.2.2.0 255.255.255.0 192.168.12.2hostname r2interface Loopback0ip address 2.2.2.2 255.255.255.0!interface Serial1/0ip address 192.168.23.2 255.255.255.0serial restart-delay 0!interface Serial1/1ip address 192.168.12.2 255.255.255.0serial restart-delay 0!interface Serial1/2ip address 192.168.24.2 255.255.255.0serial restart-delay 0!router ripversion 2network 2.0.0.0network 192.168.23.0no auto-summary!router bgp 200no synchronizationbgp log-neighbor-changesnetwork 192.168.12.0network 192.168.23.0neighbor 1.1.1.1 remote-as 100neighbor 1.1.1.1 ebgp-multihop 255neighbor 1.1.1.1 update-source Loopback0 neighbor 5.5.5.5 remote-as 200neighbor 5.5.5.5 update-source Loopback0 neighbor 5.5.5.5 next-hop-selfno auto-summary!ip route 1.1.1.0 255.255.255.0 192.168.12.1hostname r3interface Loopback0ip address 3.3.3.3 255.255.255.0!interface Serial1/0ip address 192.168.35.3 255.255.255.0serial restart-delay 0!interface Serial1/1ip address 192.168.23.3 255.255.255.0 serial restart-delay 0router ripversion 2network 3.0.0.0network 192.168.23.0network 192.168.35.0no auto-summaryhostname r5interface Loopback0ip address 5.5.5.5 255.255.255.0!interface FastEthernet0/0no ip addressshutdownduplex half!interface Serial1/0ip address 192.168.57.5 255.255.255.0 serial restart-delay 0!interface Serial1/1ip address 192.168.35.5 255.255.255.0 serial restart-delay 0!interface Serial1/2ip address 192.168.45.5 255.255.255.0 serial restart-delay 0!interface Serial1/3no ip addressshutdownserial restart-delay 0!router ripversion 2network 5.0.0.0network 192.168.35.0no auto-summary!router bgp 200no synchronizationbgp log-neighbor-changesbgp confederation identifier 200neighbor 3.3.3.3 remote-as 200neighbor 7.7.7.7 remote-as 300neighbor 7.7.7.7 ebgp-multihop 255neighbor 7.7.7.7 update-source Loopback0 no auto-summary!ip route 7.7.7.0 255.255.255.0 192.168.57.7interface Serial1/1ip address 192.168.57.7 255.255.255.0serial restart-delay 0!interface Serial1/2no ip addressshutdownserial restart-delay 0!interface Serial1/3no ip addressshutdownserial restart-delay 0!router bgp 300no synchronizationbgp log-neighbor-changesneighbor 5.5.5.5 remote-as 200neighbor 5.5.5.5 ebgp-multihop 255no auto-summary!ip route 5.5.5.0 255.255.255.0 192.168.57.5现在查看R1的路由表r7#sh ip routeB 1.1.1.0 [20/0] via 5.5.5.5, 00:02:54 //为节约篇幅未完整显示可见R7学到了R1的路由,从表面上看这个实验很完美,达了目的,然而这时问题出现了,作个测试,在R7上PING R1r7#ping 1.1.1.1Type 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

配置BGP

配置BGPBGP协议概述BGP是目前Internet使用最广的外部网关协议(Exterior Gateway Protocol,EGP),其提供的主要功能是在不同的自治系统(autonomous systems,AS)之间交换网络可达信息,并通过协议自身机制消除路由环路。

BGP使用TCP作为传输协议,用TCP协议的可靠传输机制保证BGP的传输可靠性。

运行BGP协议的router称为BGP speaker,建立了BGP会话连接(BGP session)的BGP speakers之间被称作对等体(BGP peers)。

BGP speaker之间建立对等体的模式有两种:IBGP(Internal BGP)和EBGP(External BGP)。

IBGP是指在相同AS内建立的BGP连接,EBGP是指在不同AS之间建立的BGP连接。

二者的作用简而言之就是:EBGP是完成不同AS之间路由信息的交换,IBGP是完成路由信息在本AS内的过渡。

锐捷网络的BGP协议有如下特点:●支持BGP-4●支持路径属性✓ORIGN Attribute✓AS_PATH Attribute✓NEXT_HOP Attribute✓MULTI_EXIT_DISC Attribute✓LOCAL-PREFERENCE Attribute✓ATOMIC_AGGREGATE Attribute✓AGGREGATOR Attribute✓COMMUNITY Attribute✓ORIGINATOR_ID Attribute✓CLUSTER_LIST Attribute●支持BGP对等体组●支持使用Loopback接口●支持使用TCP的MD5认证●支持BGP和IGP的同步●支持BGP路由聚合●支持BGP路由衰减●支持BGP路由反射器●支持AS联盟●支持BGP软复位缺省的BGP配置:要运行交换机的BGP ,在特权模式下,按照如下步骤进行: Step1 Step2 Step3 Step4 Step5 Step6 Step7使用no router bgp 关闭BGP 。

BGP路由黑洞

BGP路由黑洞

BGP路由黑洞一、实验目标:分析路由黑洞,并给出路由黑洞的解决方法二、网络拓扑图:三、配置:R1#router ospf 1log-adjacency-changesredistribute connected metric 1000 metric-type 1 subnets 重发布直连路由到OSPF network 10.0.1.4 0.0.0.3 area 0公布该网段,在该10.0.1.4/30网段接口运行OSPF,与R3建立OSPF邻居关系,注,只是重发布不会建立OSPF邻居,必须在接口运行OSPF,建立OSPF邻居ip route 10.0.0.0 255.255.0.0 Null0ip route 10.3.0.0 255.255.0.0 Null0 静态路由汇总router bgp 65000no synchronization 关闭同步bgp log-neighbor-changesnetwork 10.0.0.0 mask 255.255.0.0 汇总路由注入BGP network 10.3.0.0 mask 255.255.0.0neighbor 10.0.0.2 remote-as 65000 AS65000邻居10.0.0.2 neighbor 10.0.0.2 update-source Loopback0neighbor 10.0.0.2 next-hop-selfneighbor 10.0.15.2 remote-as 65001 AS65001邻居10.0.15.2 no auto-summaryR2# R2配置与R1相似router ospf 1log-adjacency-changesredistribute connected metric 1000 metric-type 1 subnets network 10.0.1.8 0.0.0.3 area 0ip route 10.0.0.0 255.255.0.0 Null0ip route 10.3.0.0 255.255.0.0 Null0router bgp 65000no synchronizationbgp log-neighbor-changesnetwork 10.0.0.0 mask 255.255.0.0network 10.3.0.0 mask 255.255.0.0neighbor 10.0.0.1 remote-as 65000neighbor 10.0.0.1 update-source Loopback0neighbor 10.0.0.1 next-hop-selfneighbor 10.0.26.2 remote-as 65002no auto-summaryR3# 公布业务网段,建立OSPF邻居,实现IGP路由可达router ospf 1log-adjacency-changesnetwork 10.0.0.3 0.0.0.0 area 0network 10.0.1.0 0.0.0.3 area 0network 10.0.1.4 0.0.0.3 area 0network 10.3.3.0 0.0.0.255 area 0R4# 公布业务网段,建立OSPF邻居,实现IGP路由可达router ospf 1log-adjacency-changesnetwork 10.0.0.4 0.0.0.0 area 0network 10.0.1.0 0.0.0.3 area 0network 10.0.1.8 0.0.0.3 area 0network 10.3.4.0 0.0.0.255 area 0R5#ip route 10.5.0.0 255.255.0.0 Null0router bgp 65001no synchronization 同步关闭bgp log-neighbor-changesnetwork 10.5.0.0 mask 255.255.0.0 汇总路由注入neighbor 10.0.15.1 remote-as 65000 与R1建立邻居no auto-summaryR6# 相似R5ip route 10.6.0.0 255.255.0.0 Null0router bgp 65002no synchronizationbgp log-neighbor-changesnetwork 10.6.0.0 mask 255.255.0.0neighbor 10.0.26.1 remote-as 65000no auto-summary路由黑洞分析RT6#ping 10.5.5.1 source 10.6.6.1 不能实现连通Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.5.5.1, timeout is 2 seconds: Packet sent with a source address of 10.6.6.1.....Success rate is 0 percent (0/5)查看各个路由器路由表因为关闭同步,所以R5,R6能够相互学到到达对方网段的路由RT5#show ip route10.0.0.0/8 is variably subnetted, 7 subnets, 4 masksC 10.0.15.0/30 is directly connected, Serial0/0B 10.3.0.0/16 [20/0] via 10.0.15.1, 00:14:47B 10.0.0.0/16 [20/0] via 10.0.15.1, 00:14:47B 10.6.0.0/16 [20/0] via 10.0.15.1, 00:11:44 R5学到到达R6的路由,来自R1 R5查看路由表,将数据交给R1R1经过路由递归查找,数据交给R3RT1#show ip routeC 10.0.4.0/30 is directly connected, Serial0/0O E1 10.0.0.2/32 [110/1300] via 10.0.1.5, 00:25:23, Serial0/0B 10.6.0.0/16 [200/0] via 10.0.0.2, 00:11:10B 10.5.0.0/16 [20/0] via 10.0.15.2, 00:14:13RT3# R3经过查找路由表,没有对应条目,丢弃数据包从R6到R5的过程与上类似RT6#show ip route10.0.0.0/8 is variably subnetted, 7 subnets, 4 masksB 10.3.0.0/16 [20/0] via 10.0.26.1, 00:11:52B 10.0.0.0/16 [20/0] via 10.0.26.1, 00:11:52B 10.5.0.0/16 [20/0] via 10.0.26.1, 00:11:52 R6学到到达R5的路由,来自R2C 10.0.26.0/30 is directly connected, Serial0/0RT2#show ip routeO E1 10.0.0.1/32 [110/1300] via 10.0.1.9, 00:25:30, Serial0/0B 10.6.0.0/16 [20/0] via 10.0.26.2, 00:11:16B 10.5.0.0/16 [200/0] via 10.0.0.1, 00:12:06C 10.0.26.0/30 is directly connected, Serial0/1RT4#解决方法1、关闭同步,内网BGP全连接使用peer-group命令简化BGP配置RT1(config)#router bgp 65000RT1(config-router)#neighbor 65000 peer-group 创建peer-groupRT1(config-router)#neighbor 65000 remote-as 65000RT1(config-router)#neighbor 65000 update-source loopback 0RT1(config-router)#neighbor 65000 next-hop-self peer-group的BGP邻居配置RT1(config-router)#neighbor 10.0.0.3 peer-group 65000RT1(config-router)#neighbor 10.0.0.4 peer-group 65000 加入peer-groupRT2(config)#router bgp 65000 参见R1RT2(config-router)#neighbor 65000 peer-groupRT2(config-router)#neighbor 65000 remote-as 65000RT2(config-router)#neighbor 65000 update-source loopback 0RT2(config-router)#neighbor 65000 next-hop-selfRT2(config-router)#neighbor 10.0.0.3 peer-group 65000RT2(config-router)#neighbor 10.0.0.4 peer-group 65000RT3(config)#router bgp 65000 R3运行BGP,与AS65000中所有路由器建立邻居RT3(config-router)#neighbor 65000 peer-groupRT3(config-router)#neighbor 65000 remote-as 65000RT3(config-router)#neighbor 65000 next-hop-selfRT3(config-router)#neighbor 65000 update-source lo0RT3(config-router)#neighbor 10.0.0.1 peer-group 65000RT3(config-router)#neighbor 10.0.0.2 peer-group 65000RT3(config-router)#neighbor 10.0.0.4 peer-group 65000RT4(config)#router bgp 65000 R4运行BGP,与AS65000中所有路由器建立邻居RT4(config-router)#neighbor 65000 peer-groupRT4(config-router)#neighbor 65000 remote-as 65000RT4(config-router)#neighbor 65000 next-hop-selfRT4(config-router)#neighbor 65000 update-source lo0RT4(config-router)#neighbor 10.0.0.1 peer-group 65000RT4(config-router)#neighbor 10.0.0.2 peer-group 65000RT4(config-router)#neighbor 10.0.0.3 peer-group 65000查看BGP邻居表,实现BGP全连接RT1#show ip bgp summaryNeighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.0.2 4 65000 45 44 5 0 0 00:38:55 310.0.0.3 4 65000 13 15 5 0 0 00:09:13 010.0.0.4 4 65000 10 12 5 0 0 00:06:30 010.0.15.2 4 65001 46 47 5 0 0 00:41:08 1RT2#show ip bgp summaryNeighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.0.1 4 65000 45 46 5 0 0 00:39:04 310.0.0.3 4 65000 13 15 5 0 0 00:09:21 010.0.0.4 4 65000 10 12 5 0 0 00:06:16 010.0.26.2 4 65002 43 44 5 0 0 00:38:14 1RT3#show ip bgp summaryNeighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd10.0.0.1 4 65000 15 13 5 0 0 00:09:28 310.0.0.2 4 65000 15 13 5 0 0 00:09:27 310.0.0.4 4 65000 10 10 5 0 0 00:06:34 0RT4#show ip bgp summaryNeighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.0.1 4 65000 12 10 7 0 0 00:06:49 310.0.0.2 4 65000 12 10 7 0 0 00:06:26 310.0.0.3 4 65000 10 10 7 0 0 00:06:38 0R3和R4学到全部的BGP路由RT3#show ip bgpNetwork Next Hop Metric LocPrf Weight Path* i10.0.0.0/16 10.0.0.2 0 100 0 i*>i 10.0.0.1 0 100 0 i* i10.3.0.0/16 10.0.0.2 0 100 0 i*>i 10.0.0.1 0 100 0 i*>i10.5.0.0/16 10.0.0.1 0 100 0 65001 i*>i10.6.0.0/16 10.0.0.2 0 100 0 65002 iRT4#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*>i10.0.0.0/16 10.0.0.2 0 100 0 i* i 10.0.0.1 0 100 0 i*>i10.3.0.0/16 10.0.0.2 0 100 0 i* i 10.0.0.1 0 100 0 i*>i10.5.0.0/16 10.0.0.1 0 100 0 65001 i*>i10.6.0.0/16 10.0.0.2 0 100 0 65002 iRT3#show ip route10.0.0.0/8 is variably subnetted, 16 subnets, 4 masksO 10.0.1.8/30 [110/200] via 10.0.1.2, 00:15:55, FastEthernet1/0O E1 10.0.15.0/30 [110/1100] via 10.0.1.6, 00:15:55, Serial0/0O E1 10.0.1.12/30 [110/1100] via 10.0.1.6, 00:15:55, Serial0/0O E1 10.0.0.2/32 [110/1200] via 10.0.1.2, 00:15:55, FastEthernet1/0B 10.3.0.0/16 [200/0] via 10.0.0.1, 00:13:49C 10.0.0.3/32 is directly connected, Loopback0C 10.3.3.0/24 is directly connected, Ethernet3/0B 10.0.0.0/16 [200/0] via 10.0.0.1, 00:13:49C 10.0.1.0/30 is directly connected, FastEthernet1/0O E1 10.0.0.1/32 [110/1100] via 10.0.1.6, 00:15:55, Serial0/0B 10.6.0.0/16 [200/0] via 10.0.0.2, 00:13:49O 10.3.4.0/24 [110/110] via 10.0.1.2, 00:15:55, FastEthernet1/0O 10.0.0.4/32 [110/101] via 10.0.1.2, 00:15:56, FastEthernet1/0B 10.5.0.0/16 [200/0] via 10.0.0.1, 00:13:49C 10.0.1.4/30 is directly connected, Serial0/0O E1 10.0.26.0/30 [110/1200] via 10.0.1.2, 00:15:56, FastEthernet1/0RT4#show ip route10.0.0.0/8 is variably subnetted, 16 subnets, 4 masksC 10.0.1.8/30 is directly connected, Serial0/0O E1 10.0.15.0/30 [110/1200] via 10.0.1.1, 00:58:11, FastEthernet1/0O E1 10.0.1.12/30 [110/1100] via 10.0.1.10, 00:58:11, Serial0/0O E1 10.0.0.2/32 [110/1100] via 10.0.1.10, 00:58:11, Serial0/0B 10.3.0.0/16 [200/0] via 10.0.0.2, 00:11:59O 10.0.0.3/32 [110/101] via 10.0.1.1, 00:58:11, FastEthernet1/0O 10.3.3.0/24 [110/110] via 10.0.1.1, 00:58:11, FastEthernet1/0B 10.0.0.0/16 [200/0] via 10.0.0.2, 00:11:59C 10.0.1.0/30 is directly connected, FastEthernet1/0O E1 10.0.0.1/32 [110/1200] via 10.0.1.1, 00:58:11, FastEthernet1/0B 10.6.0.0/16 [200/0] via 10.0.0.2, 00:11:59C 10.3.4.0/24 is directly connected, Ethernet3/0C 10.0.0.4/32 is directly connected, Loopback0B 10.5.0.0/16 [200/0] via 10.0.0.1, 00:12:22O 10.0.1.4/30 [110/200] via 10.0.1.1, 00:58:11, FastEthernet1/0O E1 10.0.26.0/30 [110/1100] via 10.0.1.10, 00:58:11, Serial0/0RT5#ping 10.6.6.1 source 10.5.5.1Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.6.6.1, timeout is 2 seconds:Packet sent with a source address of 10.5.5.1!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 128/190/280 msR3,R4之间不需要建立BGP邻居关系BGP全连接虽然能实现R5和R6相互访问,但是每个路由器都要与其他路由器建立BGP 邻居,加重了路由器负担2、开启同步,重发布BGP路由到IGP中RT4(config)#no router bgp 65000 还原R3,R4配置,关闭BGPRT3(config)#no router bgp 65000R1和R2上看,邻居R3,R4状态为Active,TCP建立不成功RT1#show ip bgp summaryNeighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.0.2 4 65000 54 53 5 0 0 00:47:23 310.0.0.3 4 65000 20 22 0 0 0 00:01:09 Active10.0.0.4 4 65000 18 20 0 0 0 00:00:48 Active10.0.15.2 4 65001 54 55 5 0 0 00:49:37 1RT2#show ip bgp summaryNeighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.0.1 4 65000 54 55 5 0 0 00:48:06 310.0.0.3 4 65000 20 22 0 0 0 00:01:52 Active10.0.0.4 4 65000 17 19 0 0 0 00:01:30 Active10.0.26.2 4 65002 52 53 5 0 0 00:47:16 1在R1,R2上开启同步RT1(config)#router bgp 65000RT1(config-router)#synchronizationRT2(config)#router bgp 65000RT2(config-router)#synchronizationRT1(config)#do show ip bgpNetwork Next Hop Metric LocPrf Weight Path* i10.0.0.0/16 10.0.0.2 0 100 0 i 未同步,丢弃*> 0.0.0.0 0 32768 i* i10.3.0.0/16 10.0.0.2 0 100 0 i 未同步,丢弃*> 0.0.0.0 0 32768 i*> 10.5.0.0/16 10.0.15.2 0 0 65001 i* i10.6.0.0/16 10.0.0.2 0 100 0 65002 i 丢弃未同步路由丢弃来自IBGP宣告的未达到同步的路由所以,R1不会把该路由通告给R5RT2(config)#do show ip bgpNetwork Next Hop Metric LocPrf Weight Path* i10.0.0.0/16 10.0.0.1 0 100 0 i*> 0.0.0.0 0 32768 i* i10.3.0.0/16 10.0.0.1 0 100 0 i*> 0.0.0.0 0 32768 i* i10.5.0.0/16 10.0.0.1 0 100 0 65001 i 丢弃未同步路由*> 10.6.0.0/16 10.0.26.2 0 0 65002 iR5和R6不学到相互的路由RT5#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*> 10.0.0.0/16 10.0.15.1 0 0 65000 i*> 10.3.0.0/16 10.0.15.1 0 0 65000 i*> 10.5.0.0/16 0.0.0.0 0 32768 iRT6#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*> 10.0.0.0/16 10.0.26.1 0 0 65000 i*> 10.3.0.0/16 10.0.26.1 0 0 65000 i*> 10.6.0.0/16 0.0.0.0 0 32768 i把BGP路由重发布到OSPF中,实现IGP路由同步RT1(config)#router ospf 1RT1(config-router)#redistribute bgp 65000 subnetsRT2(config)#router ospf 1RT2(config-router)#redistribute bgp 65000 subnetsR1与R2通过IGP路由,实现同步RT1#show ip routeO E2 10.6.0.0/16 [110/1] via 10.0.1.5, 00:05:03, Serial0/0RT2#show ip routeO E2 10.5.0.0/16 [110/1] via 10.0.1.9, 00:10:17, Serial0/0RT1#show ip bgpNetwork Next Hop Metric LocPrf Weight Path* i10.0.0.0/16 10.0.0.2 0 100 0 i*> 0.0.0.0 0 32768 i* i10.3.0.0/16 10.0.0.2 0 100 0 i*> 0.0.0.0 0 32768 i*> 10.5.0.0/16 10.0.15.2 0 0 65001 ir>i10.6.0.0/16 10.0.0.2 0 100 0 65002 iR表示该路由已经通过BGP路由学到,但是不能进入全局路由表RT2#show ip bgpNetwork Next Hop Metric LocPrf Weight Path* i10.0.0.0/16 10.0.0.1 0 100 0 i*> 0.0.0.0 0 32768 i* i10.3.0.0/16 10.0.0.1 0 100 0 i*> 0.0.0.0 0 32768 ir>i10.5.0.0/16 10.0.0.1 0 100 0 65001 i*> 10.6.0.0/16 10.0.26.2 0 0 65002 iR5,R6各自通过EBGP学到相互的路由RT5#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*> 10.0.0.0/16 10.0.15.1 0 0 65000 i*> 10.3.0.0/16 10.0.15.1 0 0 65000 i*> 10.5.0.0/16 0.0.0.0 0 32768 i*> 10.6.0.0/16 10.0.15.1 0 65000 65002 iRT6#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*> 10.0.0.0/16 10.0.26.1 0 0 65000 i*> 10.3.0.0/16 10.0.26.1 0 0 65000 i*> 10.5.0.0/16 10.0.26.1 0 65000 65001 i *> 10.6.0.0/16 0.0.0.0 0 32768 iRT3#show ip route10.0.0.0/8 is variably subnetted, 16 subnets, 4 masksO 10.0.1.8/30 [110/200] via 10.0.1.2, 00:19:10, FastEthernet1/0O E1 10.0.15.0/30 [110/1100] via 10.0.1.6, 00:19:10, Serial0/0O E1 10.0.1.12/30 [110/1100] via 10.0.1.6, 00:19:10, Serial0/0O E1 10.0.0.2/32 [110/1200] via 10.0.1.2, 00:19:10, FastEthernet1/0O E2 10.3.0.0/16 [110/1] via 10.0.1.6, 00:09:52, Serial0/0C 10.0.0.3/32 is directly connected, Loopback0C 10.3.3.0/24 is directly connected, Ethernet3/0O E2 10.0.0.0/16 [110/1] via 10.0.1.6, 00:09:52, Serial0/0C 10.0.1.0/30 is directly connected, FastEthernet1/0O E1 10.0.0.1/32 [110/1100] via 10.0.1.6, 00:19:10, Serial0/0O E2 10.6.0.0/16 [110/1] via 10.0.1.2, 00:09:52, FastEthernet1/0O 10.3.4.0/24 [110/110] via 10.0.1.2, 00:19:10, FastEthernet1/0O 10.0.0.4/32 [110/101] via 10.0.1.2, 00:19:10, FastEthernet1/0O E2 10.5.0.0/16 [110/1] via 10.0.1.6, 00:12:01, Serial0/0C 10.0.1.4/30 is directly connected, Serial0/0O E1 10.0.26.0/30 [110/1200] via 10.0.1.2, 00:19:10, FastEthernet1/0RT4#show ip route10.0.0.0/8 is variably subnetted, 16 subnets, 4 masksC 10.0.1.8/30 is directly connected, Serial0/0O E1 10.0.15.0/30 [110/1200] via 10.0.1.1, 00:18:53, FastEthernet1/0O E1 10.0.1.12/30 [110/1100] via 10.0.1.10, 00:18:53, Serial0/0O E1 10.0.0.2/32 [110/1100] via 10.0.1.10, 00:18:53, Serial0/0O E2 10.3.0.0/16 [110/1] via 10.0.1.10, 00:09:57, Serial0/0O 10.0.0.3/32 [110/101] via 10.0.1.1, 00:18:53, FastEthernet1/0O 10.3.3.0/24 [110/110] via 10.0.1.1, 00:18:53, FastEthernet1/0O E2 10.0.0.0/16 [110/1] via 10.0.1.10, 00:09:57, Serial0/0C 10.0.1.0/30 is directly connected, FastEthernet1/0O E1 10.0.0.1/32 [110/1200] via 10.0.1.1, 00:18:53, FastEthernet1/0O E2 10.6.0.0/16 [110/1] via 10.0.1.10, 00:09:57, Serial0/0C 10.3.4.0/24 is directly connected, Ethernet3/0C 10.0.0.4/32 is directly connected, Loopback0O E2 10.5.0.0/16 [110/1] via 10.0.1.1, 00:12:06, FastEthernet1/0O 10.0.1.4/30 [110/200] via 10.0.1.1, 00:18:53, FastEthernet1/0O E1 10.0.26.0/30 [110/1100] via 10.0.1.10, 00:18:53, Serial0/0RT6#ping 10.5.5.1 source 10.6.6.1Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.5.5.1, timeout is 2 seconds:Packet sent with a source address of 10.6.6.1!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 140/184/236 ms重发布BGP路由进入IGP路由虽然能解决路由同步问题,但是因特网上路由有十几万条,该方法不可行3、路由反射器使用路由反射技术,代替BGP互连接RT1(config-router)#no synchronization 关闭同步RT2(config-router)#no synchronizationR1作路由反射器,其他路由器都是客户端RT1(config)#router bgp 65000RT1(config-router)#neighbor 10.0.0.2 route-reflector-clientRT1(config-router)#neighbor rr peer-groupRT1(config-router)#neighbor rr update-source lo0RT1(config-router)#neighbor rr remote-as 65000RT1(config-router)#neighbor rr next-hop-selfRT1(config-router)#neighbor rr route-reflector-clientRT1(config-router)#neighbor 10.0.0.3 peer-group rrRT1(config-router)#neighbor 10.0.0.4 peer-group rrRT1(config-router)#RT3(config)#router bgp 65000RT3(config-router)#neighbor 10.0.0.1 remote-as 65000RT3(config-router)#neighbor 10.0.0.1 update-source lo0RT3(config-router)#neighbor 10.0.0.1 next-hop-selfRT4(config)#router bgp 65000RT4(config-router)#neighbor 10.0.0.1 remote-as 65000RT4(config-router)#neighbor 10.0.0.1 update-source lo0RT4(config-router)#neighbor 10.0.0.1 next-hop-selfRT1#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*> 10.0.0.0/16 0.0.0.0 0 32768 i* i 10.0.0.2 0 100 0 i*> 10.3.0.0/16 0.0.0.0 0 32768 i* i 10.0.0.2 0 100 0 i*> 10.5.0.0/16 10.0.15.2 0 0 65001 i*>i10.6.0.0/16 10.0.0.2 0 100 0 65002 iRT2#show ip bgpNetwork Next Hop Metric LocPrf Weight Path* i10.0.0.0/16 10.0.0.1 0 100 0 i*> 0.0.0.0 0 32768 i* i10.3.0.0/16 10.0.0.1 0 100 0 i*> 0.0.0.0 0 32768 i*>i10.5.0.0/16 10.0.0.1 0 100 0 65001 i*> 10.6.0.0/16 10.0.26.2 0 0 65002 iR1,R2关于10.6.0.0/16的下一跳指向10.0.0.2 ,因为该路由是通过路由反射得到RT3#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*>i10.0.0.0/16 10.0.0.1 0 100 0 i*>i10.3.0.0/16 10.0.0.1 0 100 0 i*>i10.5.0.0/16 10.0.0.1 0 100 0 65001 i*>i10.6.0.0/16 10.0.0.2 0 100 0 65002 iRT4#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*>i10.0.0.0/16 10.0.0.1 0 100 0 i*>i10.3.0.0/16 10.0.0.1 0 100 0 i*>i10.5.0.0/16 10.0.0.1 0 100 0 65001 i*>i10.6.0.0/16 10.0.0.2 0 100 0 65002 iRT5#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*> 10.0.0.0/16 10.0.15.1 0 0 65000 i*> 10.3.0.0/16 10.0.15.1 0 0 65000 i*> 10.5.0.0/16 0.0.0.0 0 32768 i*> 10.6.0.0/16 10.0.15.1 0 65000 65002 iRT6#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*> 10.0.0.0/16 10.0.26.1 0 0 65000 i*> 10.3.0.0/16 10.0.26.1 0 0 65000 i*> 10.5.0.0/16 10.0.26.1 0 65000 65001 i*> 10.6.0.0/16 0.0.0.0 0 32768 i四、总结:路由同步的概念,来自IBGP的BGP路由条目不会无效,并且不会发给EBGP邻居,除非该路由能通过IGP路由学到。

BGP基础知识

BGP基础知识

BGP基础知识BGP的起源:不同自治系统间路由交换与管理的需求推动了EGP的发展,但是EGP设计太简单,最终被BGP取代。

BGP也叫边界网关协议,是一种用于自治系统间的动态路由协议。

BGP协议特性:BGP是自治系统外部路由协议,用来在AS之间传递路由信息。

路径矢量路由协议,从设计上避免了环路的发生。

由TCP协议承载,端口号是179。

支持CIDR和路由聚合。

路由附带丰富的属性。

只发送增量路由更新。

路由过滤盒路由策略。

BGP术语:BGP发言者(BGP Speaker):发送BGP消息的路由器称为BGP发言者,他接收或产生新的路由消息,并发布给其他的BGP发言者。

BGP对等体(BGP Peer):相互交换消息的BGP发言者之间称对等体。

IBGP对等体:如果BGP对等体处于同一自治系统内,被称为IBGP对等体。

EBGP对等体:如果BGP对等体处于不同自治系统时称为EBGP对等体。

BGP消息类型及作用:BGP状态机:Idle状态:此状态为初始状态,不接受任何BGP连接,等待Start事件的产生。

如果有Start事件产生则系统开启ConnectRetry定时器,向邻居发起TCP连接,将状态变为Connect。

Connect状态:在Connect状态,系统等待TCP连接建立完成。

如果TCP状态Established,则拆除ConnectRetry定时器,并发送Open消息,将状态变为OpenSent;如果TCP连接失败则重置ConnectRetry定时器并转为Active状态;如果ConnectRetry timer expired 超时,则重新连接,仍处于Connect状态。

Active状态:如果已经启动事件但TCP连接未完成则处于Active状态。

在Active状态系统会响应ConnectRetry timer expired 事件,重新进行TCP连接成功建立则发生Open消息,将状态变为OpenSend,并清除ConnectRetry定时器,重置HoldTime定时器。

h3c BGP路由策略应用本地优先级、团体属性功能的配置

h3c BGP路由策略应用本地优先级、团体属性功能的配置
bgp 1
//引入静态路由
import-route static
undo synchronization
//建立BGP邻居,这里是EBGP,用IBGP也是可以的
peer1.1.1.2 as-number 2
#
//设计好的3条静态黑洞路由
ip route-static1.2.0.0 255.255.0.0 NULL0
ip route-static1.2.3.0 255.255.255.0 NULL0
ip route-static2.0.0.0 255.255.0.0 NULL0
#
RTB配置
#
interface GigabitEthernet0/0
port link-mode route
ip address1.1.1.2 255.255.255.252
//对RTA应用入方向的路由策略com
peer1.1.1.1 route-policy com import
#
//路由策略com允许节点10配置
route-policy com permit node 10
//匹配ACL 2000
if-match acl 2000
//修改本地优先级为168
apply local-preference 168
二、组网图:
三、配置步骤:
适用设备和版本:MSR系列、Version 5.20, Release 1206后所有版本。
RTA配置
#
interface GigabitEthernet0/0
port link-mode route
ip address1.1.1.1 255.255.255.252
#

BGP详解(最终版)

BGP详解(最终版)

BGP一.B GP邻居类型1)iBGP邻居①本地路由表需要拥有邻居地址的路由条款②邻居地址作为BGP报文的目的地址,TCP连接地址需要③发送单播hello包,TTL=255④从头的BGP会话收到数据包,其源地址会和邻居列表进行对照-若是匹配,邻居关系成立-若是不匹配,数据包忽略⑤iBGP的治理距离为200⑥若是iBGP邻居不在所有的路由器上运行,会存在路由黑洞PS:iBGP邻居之间不需要直连且iBGP一样利用路由器的回环口成立邻居关系(config-router)#neighbor [DIP] remote-as [DAS目标ASID与自己相同]指定邻居目标ip和AS ID(config-router)#neighbor [DIP] update-source [Source loopback]指定邻居目标ip和更新源2)EBGP邻居①本地路由表需要拥有邻居地址的路由条款②邻居地址作为BGP报文的目的地址,TCP源和目的连接地址需要匹配③发送单播的hello包,默许TTL=1(能够通过命令修改)④能够传递任意多个AS,没有跳数限制⑤通过AS改变下一跳地址⑥EBGP一样利用直连接口配置BGP邻居,利用换回口配置邻居能够增加网络冗余⑦EBGP的治理距离为20(config-router)#neighbor [DIP] remote-as [DAS目标ASID与自己不同]指定邻居目标ip和AS ID(config-router)#neighbor [DIP] update-source [Source loopback]指定邻居目标ip和更新源(config-router)#neighbor [DIP] ebgp-multihop [TTL数量,默以为255]修改抵达邻居目标ip的跳数(TTL)二.B GP五种报文类型1)Open包用于协商BGP邻居成立的各项参数2)Update包进行路由信息互换的更新包PS:更新信息中携带路由前缀信息和前缀的前缀属性(Network+Attribute)3)Notification包报告邻居关系错误,邻居关系终止4)Keepalive包用于维持邻居关系,保证邻居关系正常5)Route-refresh包为保证网络稳固,触发更新的路由机制三.B GP邻居六种状态1)IDLE搜索路由表,查看是不是有抵达邻居的路由PS:第一次转向IDLE状态后,路由器会启动从头连接计时器,计时器终止后路由器会从头发起BGP连接。

BGP路由黑洞之路由反射器(Router Reflector)解决

BGP路由黑洞之路由反射器(Router Reflector)解决

BGP路由黑洞之路由反射器(Router Reflector)解决【实验环境】C3640-IK9O3S-M Version 12.4(10)【实验目的】采用路由反射器(Router Reflector)解决由IBGP水平分割导致的BGP路由黑洞问题【实验拓扑】【实验描述】R1、R2、R4、R5跑BGP协议,R2、R3、R4跑OSPF协议。

目标是使1.1.1.1<->5.5.5.5可以互相访问IBGP邻居关系采用回环口进行建立R1<->R2、R4<->R5之间使用直连接口建立EBGP关系数据层面的BGP路由黑洞问题:由于R3没有跑BGP,因此R2和R4均不会将路由条目传给R3,因此R3没有1.1.1.1和5.5.5.5的路由,导致路由黑洞。

如果在R3上跑BGP,与R2和R4建立IBGP关系,又会因为IBGP水平分割导致R2、R4路由学习不完整。

解决方法:利用路由反射器,将R3作为反射器(RR),其余IBGP路由器作为客户端(C),路由反射器和其客户端共同组成路由反射簇,客户端只需要与路由反射器建立邻居即可,不需要与每台IBGP路由器建立邻居。

路由反射器的规则:1、RR从EBGP收到的路由,会反射给客户端和非客户端;2、从客户端收到的路由,会反射给客户端、非客户端及EBGP邻居;3、从非客户端收到的路由,只会反射给客户端和EBGP邻居,不会反射给其他非客户端。

【实验步骤】1、R1基本配置,端口:!interface Loopback0ip address 1.1.1.1 255.255.255.0!interface Serial0/0ip address 12.0.0.1 255.255.255.0clock rate 64000!2、R2基本配置,端口,OSPF:!interface Loopback0ip address 2.2.2.2 255.255.255.0!interface Serial0/0ip address 12.0.0.2 255.255.255.0 !interface Serial0/1ip address 23.0.0.1 255.255.255.0 clock rate 64000!router ospf 110router-id 2.2.2.2network 2.2.2.0 0.0.0.255 area 0 network 23.0.0.1 0.0.0.0 area 0 !3、R3基本配置,端口,OSPF:!interface Loopback0ip address 3.3.3.3 255.255.255.0 !interface Serial0/0ip address 34.0.0.1 255.255.255.0 clock rate 64000!interface Serial0/1ip address 23.0.0.2 255.255.255.0 !router ospf 110router-id 3.3.3.3network 3.3.3.0 0.0.0.255 area 0 network 23.0.0.2 0.0.0.0 area 0network 34.0.0.1 0.0.0.0 area 0 !4、R4基本配置,端口,OSPF:!interface Loopback0ip address 4.4.4.4 255.255.255.0 !interface Serial0/0ip address 34.0.0.2 255.255.255.0 !interface Serial0/1ip address 45.0.0.1 255.255.255.0 clock rate 64000!router ospf 110router-id 4.4.4.4network 4.4.4.0 0.0.0.255 area 0 network 34.0.0.2 0.0.0.0 area 0 !5、R5基本配置,端口:!interface Loopback0ip address 5.5.5.5 255.255.255.0 !interface Serial0/1ip address 45.0.0.2 255.255.255.0 !6、配置R1与R2之间的EBGP//R1配置AS 1router bgp 1no synchronizationbgp router-id 1.1.1.1network 1.1.1.0 mask 255.255.255.0 neighbor 12.0.0.2 remote-as 3no auto-summary//R2配置AS 3router bgp 3no synchronizationbgp router-id 2.2.2.2neighbor 12.0.0.1 remote-as 1no auto-summary7、配置R4与R5之间的EBGP//R4配置AS 3router bgp 3no synchronizationbgp router-id 4.4.4.4neighbor 45.0.0.2 remote-as 5no auto-summary//R5配置AS 5router bgp 5no synchronizationbgp router-id 5.5.5.5network 5.5.5.0 mask 255.255.255.0 neighbor 45.0.0.1 remote-as 3no auto-summary8、使用回环接口配置R2、R3、R4之间的IBGP关系//R3配置router bgp 3no synchronizationbgp router-id 3.3.3.3neighbor 2.2.2.2 remote-as 3neighbor 2.2.2.2 update-source Loopback0neighbor 4.4.4.4 remote-as 3neighbor 4.4.4.4 update-source Loopback0no auto-summary//R2配置router bgp 3neighbor 3.3.3.3 remote-as 3neighbor 3.3.3.3 update-source Loopback0nei 3.3.3.3 next-hop-self//R4配置router bgp 3neighbor 3.3.3.3 remote-as 3neighbor 3.3.3.3 update-source Loopback0nei 3.3.3.3 next-hop-self9、在R3上开启路由反射器,指定客户端router bgp 3neighbor 2.2.2.2 route-reflector-clientneighbor 4.4.4.4 route-reflector-client10、查看R3的路由表R3#sh ip bgpBGP table version is 3, local router ID is 3.3.3.3Network Next Hop Metric LocPrf Weight Path*>i1.1.1.0/24 2.2.2.2 0 100 0 1 i*>i5.5.5.0/24 4.4.4.4 0 100 0 5 i11、验证R1与R5回环口连通性R1#ping 5.5.5.5 so 1.1.1.1Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:Packet sent with a source address of 1.1.1.1!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 188/325/496 ms 12、在R2上查看反射路由条目5.5.5.0/24R2#sh ip bgp 5.5.5.0/24BGP routing table entry for 5.5.5.0/24, version 3Paths: (1 available, best #1, table Default-IP-Routing-Table)4.4.4.4 (metric 129) from 3.3.3.3 (3.3.3.3)Origin IGP, metric 0, localpref 100, valid, internal, bestOriginator: 4.4.4.4, Cluster list: 3.3.3.313、在R4上查看反射路由条目1.1.1.0/24R4#sh ip bgp 1.1.1.0/24BGP routing table entry for 1.1.1.0/24, version 3Paths: (1 available, best #1, table Default-IP-Routing-Table)2.2.2.2 (metric 129) from3.3.3.3 (3.3.3.3)Origin IGP, metric 0, localpref 100, valid, internal, bestOriginator: 2.2.2.2, Cluster list: 3.3.3.314、评价路由反射器相对于邻居全互联来说,简化了配置和数量,因为IBGP邻居关系只需要在客户端与RR之间建立即可。

bgp中null0路由防环机制

bgp中null0路由防环机制

bgp中null0路由防环机制
BGP中的null0路由(也称为黑洞路由)是一种用于防止数据
包环路的机制。

当网络中出现问题时,例如当某个目的地不可达或链路故障时,BGP可以将流量引导到null0接口(一个虚
拟接口),从而丢弃所有传入的数据包。

使用null0路由的主要目的是防止路由环路。

当BGP路由器接收到来自其他路由器的可达性信息时,它将比较该路由的最长匹配前缀,并将该路由添加到其路由表中。

然后,该路由表将被用来决定流量的下一跳。

如果网络出现问题,某些路由可能会失效或是不可达。

在这种情况下,使用null0路由可以确保
将传入的流量直接丢弃,而不是进一步尝试转发到其他可能的路径。

使用null0路由的另一个好处是可以防止网络攻击,例如IP地
址欺骗或DDoS攻击。

通过将流量引导到null0接口,攻击者
无法使用假IP地址或过载网络的方式来攻击目标主机。

总结来说,BGP中的null0路由是一种用于防止数据包环路的
机制,它将流量引导到一个虚拟接口,以便丢弃不可达的流量。

它还可以用于防止网络攻击和保护目标主机的安全。

BGP工作原理学习笔记

BGP工作原理学习笔记

关于解决IBGP水平分割的办法1.全互联2.路由反射器三个反射规则a. 从非客户来的路由只可以反射给客户端b. 从客户端来的路由可以反射给客户端和非客户端c. 从EBGP来到路由可以发射给客户及非客户端3.联盟(一)IBGP全互联(1)IBGP不将通过IBGP获悉的路由传给其他IBGP对等体。

可避免路由环路。

(2)IBGP之间一定要全互联。

全互联不是指物理上要互联,而是逻辑上要互联。

如TCP相连也可。

(在联盟和反射的情况下不要求全互联)(3)BGP路由选择表太大,不能将所有BGP路由重分到IGP路由器中。

因为IGP路由器无法承受。

注意:IBGP一定要全互联,TCP全互联也可。

因为TCP要保证每个分组都让接收方确认接收,不能是多播和广播方式。

如果IBGP不全互联的话,就可能造成路由选黑洞。

(二)联盟在一个AS中,如果IBGP路由器过多,因为要求IBGP全互联,所以将会有过多的IBGP会话(n(b-1)/2)。

N为IBGP路由器数。

这样会需要维护大量的会话及数据流。

此时可用联盟和路由反射来减少会话数。

此处专讲联盟。

联盟即把一个AS中的多个IBGP划分为一个联盟。

一个AS可划分多个个联盟。

联盟之间再进行全连接。

这样就会减少会话数。

注意一点,联盟内部的所有IBGP仍需要全连接。

有点像在一个大的AS中划分多个小的AS。

(三)路由器反射路由反射器角色reflector role:1. server2. client3. none client几个术语:路由反射器:可以把通过IBGP所获悉的路由通告给其他IBGP对等体的路由器。

因为AS内部的IBGP不把从IBGP获悉的路由通告给其他IBGP对等体。

实现全连会造成会话多,浪费资源。

此处我们可以把一台IBGP路由器设定为路由反射器,路由反射器可以转发从其他IBGP获悉的路由到IBGP。

路由反射器在中心,其他IBGP再与路由反射器相连,这样就可以不用全互联了,用星型结构。

BGP路由黑洞与解决方案

BGP路由黑洞与解决方案
(2)路由黑洞解决方案
1、通过建立 IBGP 全互联对等体(繁琐) 2、通过 MPLS VPN BGP(配置复杂) 3、通过 GRE 隧道
Generic Routing Encapsulation,通用路由封装 如图,可在 R2 和 R4 之间建立 GRE 隧道 [R2] # interface Tunnel0/0/0 ip address 10.0.2.2 255.255.255.0 tunnel-protocol gre source 10.0.23.2 destination 10.0.34.4 # ip route-static 5.5.5.5 255.255.255.255 Tunnel0/0/0 [RGP:R1—R2;R4—R5 | IBGP:R2—R4
(1)什么是路由黑洞
当 IBGP 对等体之间不是直连关系时(如图中的 R2 和 R4),就可能导致路由 黑洞问题
黑洞案例 R1 将 1.1.1.1 的路由依次传递给 R2、R4、R5 在 R2 上配置 next-hop-local,保证 R4 对于 1.1.1.1 的下一跳可达 然而实际上,R4 会通过 R3 来转发报文 R3 上并没有到达 1.1.1.1 的路由,最终导致通信失败
<R1>tracert -a 1.1.1.1 5.5.5.5 1 10.0.12.2 40 ms 50 ms 50 ms 2 10.0.4.4 80 ms 70 ms 100 ms 3 10.0.45.5 110 ms 70 ms 110 ms <R1>
interface Tunnel0/0/0 ip address 10.0.4.4 255.255.255.0 tunnel-protocol gre source 10.0.34.4 destination 10.0.23.2 # ip route-static 1.1.1.1 255.255.255.255 Tunnel0/0/0

浅谈BGP路由黑洞与解决策略

浅谈BGP路由黑洞与解决策略

浅谈BGP路由黑洞与解决策略作者:刘炎火来源:《电脑知识与技术》2020年第17期摘要:在网络配置中,路由黑洞是比较常见的故障,特别是在边界配置BGP路由时,经常出现路由黑洞,为了更好解决由于BGP配置而产生的路由黑洞,在本文中列举了多种解决策略。

關键词:路由黑洞;BGP;EBGP;IBGP;邻居关系中图分类号:TP393 ; ; ; ;文献标识码:A文章编号:1009-3044(2020)17-0056-03Abstract: In the network configuration, routing black hole is a common failure. A routing black hole often appears especially in BGP routing. In order to better solve the routing black hole caused by BGP configuration, this paper lists a variety of solutions.Key words: routing black hole;BGP;ebgp; iBGP;neighbor relationship在配置BGP的时候,最容易遇到的问题就是路由黑洞,那么什么是路由黑洞?简单地说,它会默默地将数据包丢弃,使数据包有去无回。

我们知道传统的IP路由,它是通过逐跳查找路由信息,根据路由信息转发数据包,通俗地说就是当数据包到达路由设备的时候,路由设备首先查找路由表,然后根据路由信息转发数据包,当然,路由设备转发数据包的前提是存在下一跳路由。

对BGP来说,由于存在IBGP水平分割规则,这是一种防止环路机制,所以在BGP的设计上有些设备就不会运行BGP。

BGP是一种TCP的连接或者说是一种host-to-host的连接,可以跨越设备进行连接,所以路由传递是没有问题的,但是数据包的路由却是有问题的。

EBGP与IBGP的区别

EBGP与IBGP的区别

1、路由环路的避免措施不一样,IBGP强制规定ibgp speaker不允许把从一个IBGP邻居学习到的前缀传递给其它IBGP邻居,因此IBGP要求逻辑全连接。EBGP没有这样的要求,EBGP对路由环路的避免是通过AS_PATH属性来实现LOCAL_PREF(本地优先属性),而EBGP不行。
EBGP —— (External Border Gateway Protocol) 外部边界网关协议,用于在不同的自治系统间交换路由信息。
IBGP——内部BGP协议(IBGP)的主要作用是向你的内部路由器提供更多信息。IBGP路由器必须以全网状结构相连,以防止路由环回。如果使用了路由反射器或路由联盟,那么IBGP网状结构可能遭遇收敛问题,而导致路由黑洞。
3、IBGP有同步的要求,而EBGP没有同步的要求
4、IBGP不需要IBGP邻居之间有物理连接,只需要逻辑连接即可,而EBGP下一般情况下都要求EBGP邻居之间存在物理连接。
EBGP在网络中起什么作用?这个题目太大了,EBGP我认为是在不同的AS之间提供路由的传递以及路由的控制,你了解了BGP属性的用法,也就了解了EBGP的作用。(责任编辑:杨春晖)

BGP练习题

BGP练习题

BGP练习题1.以下哪些协议是EGP 协议()A. RIPB. BGPC. IS-ISD. OSPFAnswer: B2.下面关于BGP 的叙述哪个是正确的()A. BGP 采用TCP 方式发送路由协议信息B. BGP 每30 秒就会刷新一次路由信息C. BGP 的AS-path 属性不可控制D. BGP 对路由的控制可使用MED 属性和Local preference 属性来实现Answer: AD3.下面哪种组网比较适合BGP 路由协议()A. 对路由信息需要进行大量的控制B. 路由条目数量较多,万条以上C. 需要使用MPLS VPND. 网络规模较小,路由数目较小,比较稳定。

Answer: ABC4.. IBGP 与EBGP 路由说法正确的是()A. EBGP 只能使用直接接口建立邻居关系B. IBGP 只能使用loopback 接口建立邻居关系C. IBGP 必须保证用来建立邻居关系的IP 可达D. 从EBGP 邻居收到的路由在向IBGP 邻居转发时可以改变下一跳Answer: CD5. 关于BGP 路由的发布方式说法正确的是()A. 可采用network 命令发布B. 可采用引入其它路由协议的方式发布C. BGP 只能发布本设备路由表中存在的路由D. BGP 不能发布直连路由Answer: ABC6. 关于BGP 路由属性说法正确的是()A. 在AS 之间也可以使用local preference 属性B. AS-Path 属性可以避免路由环路的产生C. BGP 的路由聚合可能会改变原有的AS-Path 属性D. 下一跳属性路由不可达不影响BGP 路由的发布Answer: BC11. 部署一个大型网络,选择路由协议,需要考虑的有()A. 路由协议对网络的可扩展性的支持B. 路由协议的成熟度,各厂商的支持程度C. 协议报文的开销D. 收敛速度和是否会产生路由环路Answer: ABCD12. 以下选项中哪些可以用于BGP 的路由策略()A. ACLB. ip prefixC. community-listD. as-path-aclE. route-policyAnswer: ABCDE13. 以下对于BGP 路由的选路过程描述正确的是()A. 在比较AS-Path 时,优先选择AS-Path 路径短的路由。

BGP路由黑洞

BGP路由黑洞

BGP路由黑洞理论以及演示1、BGP路由黑洞概念、产生的原因针对传统IP路由查找,它是逐跳查找,通俗一点就是当数据包到达路由设备的时候,每一台设备都要查找路由表,并且在路由设备有路由的前提下才能转发报文对BGP来说由于存在iBGP水平分割规则-只把路由传递一跳(如本例拓扑所以,如果AS200内的三台设备都运行BGP,现在的邻居关系是R2和R3有BGP论据,R3和R4有BGP邻居,如果有路由从R2传递给R3,但是R3不会再传递路由给R4,这是一种防环机制)。

所以在BGP的设计上有些设备就不会运行BGP,如本例,为了演示BGP路由黑洞,除了R3都运行了BGP。

BGP是一种TCP的连接或者说是一种host-to-host的连接(可以跨越设备进行连接),所以路由传递是没有问题的,但是数据包的路由却是有问题的2、拓扑描述拓扑如下图所示。

老规矩老习惯,R1上s1/0地址为12.1.1.1(符合XY.1.1.X的规则,XY代表设备号),R2上s1/0=12.1.1.2。

同时每个设备上有一个环回口=XX.1.1.1,如R1的环回口=11.1.1.1/243、实验步骤A、完成AS200内的IGP(本例采用eigrp)需要注意的是不要把R2的s1/0和R4的s1/0宣告到IGP内去,这是一种通常的网络设计,不要把边界的直连网络宣告到IGPR2(config-router)#router eigrp 90R2(config-router)#network 22.1.1.1 0.0.0.0R2(config-router)# network 23.1.1.2 0.0.0.0R2(config-router)# no auto-summary!R3(config)#router eigrp 90R3(config-router)# network 0.0.0.0-----------------R3上可以把所有接口都宣告到IGPR3(config-router)# no auto-summary!R4(config)#router eigrp 90R4(config-router)#network 34.1.1.4 0.0.0.0R4(config-router)# network 44.1.1.1 0.0.0.0R4(config-router)# no auto-summary养成验证的好习惯:R3#sh ip eigrp neighborsIP-EIGRP neighbors for process 90H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num1 34.1.1.4 Et0/1 11 03:18:02 62 372 0 90 23.1.1.2 Et0/0 11 03:18:17 469 2814 0 9----R3上已经有两个邻居R2上的路由情况,也是正常的:R2#sh ip route eigrp34.0.0.0/24 is subnetted, 1 subnetsD 34.1.1.0 [90/307200] via 23.1.1.3, 03:18:56, Ethernet0/033.0.0.0/24 is subnetted, 1 subnetsD 33.1.1.0 [90/409600] via 23.1.1.3, 03:18:56, Ethernet0/044.0.0.0/24 is subnetted, 1 subnetsD 44.1.1.0 [90/435200] via 23.1.1.3, 03:18:37, Ethernet0/0B、完成AS200内的iBGP(注意R2和R4有BGP邻居,R3不运行BGP),通过环回口完成iBGP邻居TCP是一种点到点的连接,两个设备一定要相互路由可达,为此检验一下路由是非常有必要的:R2#ping 44.1.1.1 source loopback 0Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 44.1.1.1, timeout is 2 seconds:Packet sent with a source address of 22.1.1.1!!!!!R2:R2(config)#router bgp 200R2(config-router)# no synchronizationR2(config-router)# bgp router-id 2.2.2.2R2(config-router)# neighbor 44.1.1.1 remote-as 200R2(config-router)# neighbor 44.1.1.1 update-source Loopback0R2(config-router)# no auto-summaryR4:R4(config)#router bgp 200R4(config-router)# no synchronizationR4(config-router)# neighbor 22.1.1.1 remote-as 200R4(config-router)# neighbor 22.1.1.1 update-source Loopback0R4(config-router)# no auto-summary验证邻居状态:R4#sh ip bgp summaryBGP router identifier 44.1.1.1, local AS number 200BGP table version is 8, main routing table version 82 network entries using 234 bytes of memory2 path entries using 104 bytes of memory3/2 BGP path/bestpath attribute entries using 372 bytes of memory2 BGP AS-PATH entries using 48 bytes of memory0 BGP route-map cache entries using 0 bytes of memory0 BGP filter-list cache entries using 0 bytes of memoryBGP using 758 total bytes of memoryBGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secsNeighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 22.1.1.1 4 200 199 200 8 0 0 02:16:57 0C、完成R2和R1的eBGP以及R4和R5的eBGP,同时生成路由R1(config)#router bgp 100R1(config-router)# no synchronizationR1(config-router)# network 11.1.1.0 mask 255.255.255.0-------------通告路由R1(config-router)# neighbor 12.1.1.2 remote-as 200R1(config-router)# no auto-summary!R2(config)#router bgp 200R2(config-router)# neighbor 12.1.1.1 remote-as 100!R2(config)#router bgp 200R4(config-router)# neighbor 45.1.1.5 remote-as 300!router bgp 300no synchronizationnetwork 55.1.1.0 mask 255.255.255.0------------------通告路由neighbor 45.1.1.4 remote-as 200no auto-summary验证邻居情况:R2#sh ip bgp summaryBGP router identifier 2.2.2.2, local AS number 200BGP table version is 8, main routing table version 82 network entries using 234 bytes of memory2 path entries using 104 bytes of memory3/2 BGP path/bestpath attribute entries using 372 bytes of memory2 BGP AS-PATH entries using 48 bytes of memory0 BGP route-map cache entries using 0 bytes of memory0 BGP filter-list cache entries using 0 bytes of memoryBGP using 758 total bytes of memoryBGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secsNeighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 12.1.1.1 4 100 125 127 8 0 0 01:49:54 144.1.1.1 4 200 212 211 8 0 0 02:20:41 1-----R2上同R1和R4已经建立了BGP的邻居关系,同时从两个设备收到了一条前缀(路由)注意此时路由情况并不是完整的,以R4为例R4#sh ip bgpBGP table version is 8, local router ID is 44.1.1.1Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Path* i11.1.1.0/24 12.1.1.1 0 100 0 100 i------关于这条路由,我们注意下一跳为12.1.1.1,但是此时去往下一跳的路由在R4的路由表中不存在,所以该条路由不优化,即没有>标识,而BGP只对邻居传递最优的路由*> 55.1.1.0/24 45.1.1.5 0 0 300 i我们来解决下一跳不可达的问题,用最简单的方法,我们在R2和R4上分别针对R4和R2做下一跳自我(把路由的下一跳变成路由可达):R2(config)#router bgp 200R2(config-router)#neighbor 44.1.1.1 next-hop-self!R4(config)#router bgp 200R4(config-router)#neighbor 22.1.1.1 next-hop-self查看路由情况:R4#sh ip bgpBGP table version is 10, local router ID is 44.1.1.1Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Pathr>i11.1.1.0/24 22.1.1.1 0 100 0 100 i *> 55.1.1.0/24 45.1.1.5 0 0 300 i 11.1.1.0/24的路由已经优化,会传递给R5R4#show ip bgp neighbors 45.1.1.5 advertised-routesBGP table version is 10, local router ID is 44.1.1.1Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Pathr>i11.1.1.0/24 22.1.1.1 0 100 0 100 iTotal number of prefixes 1验证R5和R1的路由R5#sh ip bgpBGP table version is 6, local router ID is 55.1.1.1Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Path *> 55.1.1.0/24 0.0.0.0 0 32768 iR5#sh ip route bgp11.0.0.0/24 is subnetted, 1 subnetsB 11.1.1.0 [20/0] via 45.1.1.4, 00:01:50!R1:R1#sh ip bgpBGP table version is 5, local router ID is 11.1.1.1Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Path *> 11.1.1.0/24 0.0.0.0 0 32768 i*> 55.1.1.0/24 12.1.1.2 0 200 300 i R1#sh ip route bgp55.0.0.0/24 is subnetted, 1 subnetsB 55.1.1.0 [20/0] via 12.1.1.2, 01:42:16分析:此时R1和R5上都已经存在了BGP的路由条目,那么数据包是可以路由出去的,R2和R4上同样有路由表,可以进行路由。

BGP技术详解(cisco)

BGP技术详解(cisco)
○ Tb1ver:当前版本,收到因此更新加一 ○ inQ:进方向排队 ○ outQ:出方向排队 ○ State/pfxrod:状态空为正常状态,pfxrod显示邻居共传递了多少路由 Router#show ip bgp neighbor(BGP详情) 多路访问网络中: 当收到路由的源地址和发送路由的目的地址在同一个广播域,则发出的路由下一跳不会改变。
BGP技术点详解(Cisco)
2015年4月3日 21:08
BGP(边界网关协议) 分类:EGP 工作原理:路径矢量协议 封装:TCP 端口号179(TCP有滑动窗口,批量确认,可靠,效率高) 更新地址:只支持单播,不一定要直连、TPC建立、IP可达就能传递路由。 更新方式:触发更新(承载大量路由,不能定时更新) AD值:IBGP:200 EBPG:20 度量:无度量,利用属性值选路 BGP工作在AS(自治系统)之间 IGP运行在AS内部 AS:一组被统一管理的路由器,使用相同的IGP协议。 AS号:64512-65535为私有,无需申请。 只有运行BGP协议,AS号才有意义,BGP需要内外一起运行。
*表示路由有效 >表示路由最优 suppressed表示路由被抑制 d表示路由惩罚 h表示路由惩罚后路由消失 i表示内部路由(IBGP学到的) r表示加入路由表失败(BGP学到,IGP没学到) stale表示控制层面路由已经不存在,控制平面还在帮助转发 Orgin code:i IBGP,e EGP(不存在),? 未知(重分布的) BGP排错思路: • 检查命令是否打全:
分区 文档备份 的第 4 页
○ 自动汇总路由的metic为0。 ○ 打开自动汇总宣告的路由下一跳为0.0.0.0。 • 手动聚合: ○ 汇总方法:
起源于本地,使用静态汇总路由,使用BGP宣告静态。 非起源本地,使用链路路聚合命令。*不会抑制明细。 ○ 汇总配置及汇总策略:

BGP双栈原理Basic-华为数通HCIE

BGP双栈原理Basic-华为数通HCIE

NLRI:网络层可达信息<前缀,前缀长度>MP-NLRI:携带IPv6和VPNv4、VPNv6路由信息BGP原理:BGP工作原理:BGP特点:1.使用TCP作为传输协议,端口号1792.BGP路由聚合方式:静态路由(直接在network聚合路由)、手动聚合、自动聚合3.BGP不会周期性泛洪,只传递更新的路由信息4.矢量路由协议:BGP向外通告路由时必须保证该路由在自己的BGP表中是最优的5.无环路:BGP如何防止路由环路:a.水平分割:从IBGP学来的路由不会在发送给IBGP邻居b.AS之间,AS-Path防环:收到相同的AS号的丢弃c.汇总路由,设置as-set携带明细的as号码d.RR反射器,簇列表防环:收到相同的丢弃起始者id防环e.联盟,联盟as列表防环联盟路由聚合防环f.MPLS VPN,SOO属性防环MP-NLRI domain-tag防环6.路由策略丰富7.可防止路由震荡8.易于扩展BGP报文:1.OPen报文:协商BGP能力参数:版本-必须一致BGP router-id-不能一致MY as-要求和对端配置一致Hold time-向小兼容BGP能力选项:a.多协议能力,每个BGP路由器可以支持多种不同的地址簇,不需要完全相同,只需有一个相同即可参数内容:AFI:主地址族标识(1:IPv4、2:IPv6、128:MAC)SAFI:子地址族标识(1:单播、2:组播、128:VPN)b.路由刷新能力:设备能否识别route-fresh报文(不需要协商)c.4字节AS号码支持能力:标识设备能否识别4字节AS号码(不需要协商)支持2字节的AS路由器如何识别4字节的AS号码的路由器:2字节AS统一把4字节AS号码当作23456处理2.Update报文:更新和撤销BGP路由信息更新路由时,携带路径属性完全相同的多个路由条目参数:路径属性NLRI:网络层可达信息撤销路由:撤销路由时只携带路由信息进行撤销参数:withdrawn-route(撤销路由前缀)3.Keepalive报文:维护BGP邻居关系,默认周期性60s发送一次4.Notification报文:差错通知,报告BGP报文出现的错误Error code:错误类型Error subcode:引起错误原因5.Route-Refresh报文:用于在改变路由策略后请求对等体重新发送路由信息激活Route-Refresh命令:Refresh bgp all import //发送Route-Refresh对端收到Route-Refresh报文之后,立即把自己的BGP路由重新传递给邻居BGP状态机:Idle状态:BGP初始状态,管理员配置BGP的过程在Idle状态下,BGP拒绝邻居发送的连接请求。

BGP路由黑洞解决的四种方法

BGP路由黑洞解决的四种方法

为了防止AS内部形成IBGP路由环路,从而要求从IBGP学到的路由不会再传给其他IBGP邻居了,但是这样却造成了路由黑洞。

那么怎么解决呢?可以用重分布实现同步,也就是bgp的路由能在igp路由表中看见。

然而除非你了解后果,否则不允许bgp 重分布到igp中,因为如果有几十万,几百万条路由,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-clientneighbor 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了。

BGP路由黑洞的形成和处置

BGP路由黑洞的形成和处置

BGP路由黑洞的形成和处置摘要:BGP路由作为当下应用最为广泛的AS之间动态路由协议,其水平分割机制有效避免路由环路的出现,但会产生路由黑洞问题。

本文以实例介绍BGP路由黑洞的形成,详细介绍了三种解决方案并分析三种方案的优缺点。

关键词:BGP; IGP; 路由;黑洞引言BGP(Border Gateway Protocol,边界网关协议)是目前最为常用的,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。

目前全球范围内的因特网骨干节点正是依靠BGP协议实现不同AS之间的路由交互。

目前在IPv4环境中,BGP版本4(BGPv4)应用最为广泛。

据IETF官网介绍,BGPv4的详细描述文档为RFC4271,该文档1995年6月发布,最近一次更新是2006年1月。

BGP使用TCP作为传输层协议,TCP目的端口为179,两台BGP路由器只要具备IP连通性且可以建立TCP连接即可建立BGP对等体关系,也就是说BGP路由器对等体之间无需直接互联。

BGP基于TCP即可传递路由的特性让BGP协议非常灵活,然而,就像硬币有正面反面一样,此灵活特性也是BGP路由黑洞的产生背景。

本文基于RFC4271文档,通过BGP应用实际案例,使用华为eNSP(版本1.2.00.510)模拟路由器及路由协议运行,通过Wireshark(版本1.4.3)数据抓包对比分析等手段,分析BGP路由黑洞的产生背景及处置措施。

1 BGP路由黑洞的形成在图1中,路由器接口ip地址配置为10.0.xy.x,其中x为接口所属路由器的设备编号,y为该接口对端接口路由器的设备编号,例如R2路由器G0/0/0和G0/0/1两个端口配置的IP地址分别为10.0.12.2和10.0.23.2,部分接口IP地址配置如图标注。

所有路由器启用了Loopback0接口并为其分配了x.x.x.x/32的ip地址,AS200内运行OSPF协议。

通过路由器Loop back0接口,R1与R2、R5和R7建立EBGP对等体关系,R2和R5建立IBGP关系。

【交换机在江湖】论剑BGP--略有小成(一)-

【交换机在江湖】论剑BGP--略有小成(一)-

【交换机在江湖】论剑BGP--略有小成(一)-自解决了路由黑洞的问题之后,交换机带着师弟师妹们日夜苦练BGP阵法。

要知路由老祖所授阵法虽只一图,其中却是千变万化,有时虽是极细微的变化,也需要调整行功方法,否则阵法运转便要滞涩。

这一日,路由老祖来到门下弟子练功处,只见交换机与S97和S77六掌相接,正练习阵法其中一变。

路由老祖驻足观望良久,却见交换机面色愈发凝重,额头汗流如雨,未几,身体竟已微微颤抖,再看S97和S77亦是如此。

老祖惊觉不妙,身形一晃,已至交换机身侧,出掌按住交换机头额正中,主血脉流行之心经大穴。

原来交换机行功不慎,内息业已紊乱,难以控制,若非老祖出手相助,此刻恐已走火入魔。

交换机只觉一股热力直通心脉,他本身本已疲乏脱力,得老祖内力相助,方渡过难关。

交换机拜倒老祖身前道:“多谢师父相助。

”老祖摆摆手,问道:“方才为何如此?”交换机回道:“弟子也不甚明白,方才弟子和S97、S77正演练那BGP阵法其中一变。

哪知运功还未多久,就觉得真气忽然变得枯涩起来,难以运转,初时还能已内力硬撑,越是往后,这压力却是越来越大,有如千斤重担压在身上,若非师父及时出手相助,弟子们恐怕已走火入魔了。

以弟子的内功修为,应不至有内力不足无法修习的问题,其中缘故,还请师父指点。

”交换机还未说完,老祖已然明了,以手指在地上画出一图:“你们练得是这一变吧?”图甚简单,如下:老祖道:“以你的描述来看,为师认为应该是遇到了路由环路的问题。

路由环路是每一个路由协议必须考虑的问题,而BGP是距离矢量协议,其防环机制你们考虑过么?”题外话:这里给大家简单介绍一下BGP的两种防环机制。

EBGP的路由环路:首先我们来看一下EBGP的路由环路是怎么形成的,如上图所示:三个AS通过3台设备两两建立EBGP进行连接。

假设在AS100中有一条路由192.168.16.0/24,S97把该路由通告给了交换机,交换机又通告给了S77,S77又重新通告给了S97。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BGP路由黑洞及IBGP全连接组网需求:1.AS65000边界网段发布:RT1、RT2重发布直连路由至OSPF(metric 1000 type 1)2.BGP配置要求:no synchronizationno auto-summary IBGP使用LOOPBACK建立邻居,下一跳指向自己3.RT1,RT2发布AS65000的汇总路由至BGP:10.0.0.0/16、10.3.0.0/164.RT5发布AS65001的汇总路由至BGP:10.5.0.0/165.RT6发布AS65001的汇总路由至BGP:10.6.0.0/166.分析路由黑洞的形成及解决方法IGP路由的配置:R1:router ospf 1router-id 10.0.0.1redistribute connected metric 1000 metric-type 1 subnets //重发布直连网络到OSPF中passive-interface Serial0/1//与EBGP相连的接口必须配置为被动接口,以免形成邻居network 10.0.0.1 0.0.0.0 area 0network 10.0.1.4 0.0.0.3 area 0router ospf 1router-id 10.0.0.3passive-interface defaultno passive-interface Serial0/0no passive-interface FastEthernet1/0network 10.0.0.3 0.0.0.0 area 0network 10.0.1.0 0.0.0.3 area 0network 10.0.1.4 0.0.0.3 area 0network 10.3.3.0 0.0.0.255 area 0interface FastEthernet1/0ip address 10.0.1.1 255.255.255.252ip ospf network point-to-point //配置网络类型为点对点(不需选举DR或BDR)R4:router ospf 1router-id 10.0.0.4passive-interface defaultno passive-interface Serial0/0no passive-interface FastEthernet1/0network 10.0.0.4 0.0.0.0 area 0network 10.0.1.0 0.0.0.3 area 0network 10.0.1.8 0.0.0.3 area 0network 10.3.4.0 0.0.0.255 area 0interface FastEthernet1/0ip address 10.0.1.1 255.255.255.252ip ospf network point-to-point //配置网络类型为点对点(不需选举DR或BDR)R2:router ospf 1router-id 10.0.0.2redistribute connected metric 1000 metric-type 1 subnets//重发布直连网络到OSPF中passive-interface default//与EBGP相连的接口必须配置为被动接口,以免形成邻居no passive-interface Serial0/0network 10.0.1.8 0.0.0.3 area 0IBGP的配置:R1:router bgp 65000no synchronization//关闭同步neighbor 10.0.0.2 remote-as 65000//指定IBGP邻居和ASneighbor 10.0.0.2 update-source Loopback0//指定更新源为LOOPBACK0neighbor 10.0.0.2 next-hop-self//把下跳改为自己(EBGP默认)neighbor 10.0.15.2 remote-as 65001 //指定EBGP邻居和ASnetwork 10.0.0.0 mask 255.255.0.0 /静态发布路由到BGPno auto-summary//关闭自动汇总ip route 10.0.0.0 255.255.0.0 null 0 //添加一条静态汇总路由,用来发布router bgp 65000no synchronization//关闭同步neighbor 10.0.0.1 remote-as 65000//指定邻居和ASneighbor 10.0.0.1 update-source Loopback0//指定更新源为LOOPBACK0 neighbor 10.0.0.1 next-hop-self//把下跳改为自己(EBGP默认)neighbor 10.0.26.2 remote-as 65002//指定EBGP邻居和ASnetwork 10.3.0.0 mask 255.255.0.0 /静态发布路由到BGPno auto-summary//关闭自动汇总ip route 10.3.0.0 255.255.0.0 null 0 //添加一条静态汇总路由,用来发布R5:router bgp 65001network 10.5.0.0 mask 255.255.0.0//静态发布路由到BGPneighbor 10.0.15.1 remote-as 65000//指定EBGP邻居和ASno auto-summary//关闭自动汇总ip route 10.5.0.0 255.255.0.0 Null0//添加一条静态汇总路由,用来发布到BGP R6:router bgp 65002no synchronization//关闭同步network 10.6.0.0 mask 255.255.0.0//静态发布路由到BGPneighbor 10.0.26.1 remote-as 65000//指定EBGP邻居和ASno auto-summary//关闭自动汇总ip route 10.6.0.0 255.255.0.0 Null0//添加一条静态汇总路由,用来发布到BGP 注意:使用IBGP时默认跳数为255,EBGP的默认跳数为1,如果使用EBGP的LOOBACK地址建邻居,需手工指定跳数neighbor 10.10.10.10 ebgp-multihop 2//后面接的是跳数1-255思考:现在10.5.5.1能够PING通10.6.6.1吗?答案是不能ping通,原因是R3上没有去往R6的路由(后面分析)现在我们来分析一下R6上的10.6.0.0/16路由的传播!在R6上:Network Next Hop Metric LocPrf Weight Path*> 10.5.0.0/16 10.0.26.1 0 65000 65001 i*> 10.6.0.0/16 0.0.0.0 0 32768 i*表示有效>表示最优因为10.6.0.0是由本路由器始发所以下一跳是0.0.0.0,如果是重发布到BGP的就为IGP中的下一跳,本地始发路由的weight为32768,Originn属性为IGPR2收到从EBGP收到的路由,向它所有的邻居转发*> 10.6.0.0/16 10.0.26.2 0 0 65002 i因为是由EBGP通告过来的,所以下一跳为EBGP的邻居地址R1:*>i10.6.0.0/16 10.0.0.2 0 100 0 65002 i从IBGP学到的路由,是否通告给EBGP,视同步而定,因为这里是关闭同步的所以能通告给R5(如果开启了同步,必须达到同步的路由才能传给EBGP),同时在R2上配置了next-hop-self将下一跳改变为自己,所以R1收到的路由的下一跳指向它的IBGP邻居R5:*> 10.6.0.0/16 10.0.15.1 0 65000 65002 i向EBGP通告路由时,将下一跳改变为自己。

同理R6也能学到R5的路由当10.5.5.1ping10.6.6.1时,R5查找路由表,匹配10.6.0.0/16的路由,下一跳为10.0.15.1为直连接口,将数发往R1,R1进行查找路由,找到匹配10.6.0.0/16路由,下一跳为10.0.0.2,不是直连接口,将下一跳为目标IP进行递归查找路由,匹配10.0..02/32的路由,下一跳为10.0.1.5为直连接口,将数据发到R3,R3以目标IP10.6.6.1进行查找路由,找不到匹配项,便丢弃数据,因为R3没有运行BGP学习不到BGP的路由,所以形成路由黑洞。

解决方法:1.将BGP的路由重分布到OSPF中2.将AS内的路由器形成IBGP全连接3.路由反射器4.配置MPLS方法1.配置如下:R1:router ospf 1redistribute bgp 65000 subnets //重分布BGP的路由到OSPF中R2:router ospf 1redistribute bgp 65000 subnets//重分布BGP的路由到OSPF中现在可以看到AS内的路由器都有AS外的路由呢,所以可以PING通了!R3的路由表,有AS外的路由:R5上测试一下:注意:因为INTERNET网上的BGP路由多达十几万条,如果不做策略将BGP路由重分布到OSPF中,是不可行的,OSPF最大也只能支持一万多条路由表,并且极大消耗路由器的内存,所以此方法一般不用!这里有一个INTERNET上的公共路由器,可以去查看上面的路由表,只需telnet上这个地址就行,用户名为rviewsBGP路由表有14万多方法2:IBGP的全连接(因为从一个IBGP学习到的路由不会传递给另一个IBGP,所以需要全连接,为了防止路由环路)配置如下:R1:neighbor 10.0.0.3 remote-as 65000neighbor 10.0.0.3 update-source Loopback0neighbor 10.0.0.3 next-hop-selfneighbor 10.0.0.4 remote-as 65000neighbor 10.0.0.4 update-source Loopback0neighbor 10.0.0.4 next-hop-selfR3:router bgp 65000no synchronizationneighbor 10.0.0.1 remote-as 65000neighbor 10.0.0.1 update-source Loopback0neighbor 10.0.0.1 next-hop-selfneighbor 10.0.0.4 remote-as 65000neighbor 10.0.0.4 update-source Loopback0neighbor 10.0.0.4 next-hop-selfneighbor 10.0.0.2 remote-as 65000neighbor 10.0.0.2 update-source Loopback0neighbor 10.0.0.2 next-hop-selfno auto-summaryR4:router bgp 65000no synchronizationneighbor 10.0.0.1 remote-as 65000neighbor 10.0.0.1 update-source Loopback0neighbor 10.0.0.1 next-hop-selfneighbor 10.0.0.3 remote-as 65000neighbor 10.0.0.3 update-source Loopback0neighbor 10.0.0.3 next-hop-selfneighbor 10.0.0.2 remote-as 65000neighbor 10.0.0.2 update-source Loopback0neighbor 10.0.0.2 next-hop-selfno auto-summaryR2:neighbor 10.0.0.4 remote-as 65000neighbor 10.0.0.4 update-source Loopback0neighbor 10.0.0.4 next-hop-selfneighbor 10.0.0.3 remote-as 65000neighbor 10.0.0.3 update-source Loopback0neighbor 10.0.0.3 next-hop-self在R3上查看邻居关系,已经形成全连接了!也有AS外部路由了现在R5上测试一下:现在我们来分析一条路由,R1通告10.5.0.0/16路由给R3,R3会把这条路由通告给R4吗?R3收到一条路来自己R1的路由:*>i10.5.0.0/16 10.0.0.1 0 100 0 65001 iR4上的路由:*>i10.5.0.0/16 10.0.0.1 0 100 0 65001 i这里为什么只有一条路由呢,因为形成了IGBP全连接由R1通告过来了,R3从IBGP学习到的路由不再传递给IBGP,所以R4只有一条,这就是为什么要形成全连接的原因。

相关文档
最新文档