BGP路由黑洞

合集下载

HCIE面试笔记-BGP

HCIE面试笔记-BGP

IGP 用于AS内互联互通。

EGP 用于AS之间的互联互通,代表BGP。

AS之间互联互通的常用方法:1、BGP2、IGP的路由引入。

设备放置不方便,并且与自治不符合。

3、VPN等在同一个AS内部运行的路由器建立IBGP邻居关系。

不在同一个AS内部运行的路由器建立EBGP邻居关系。

BGP有5种报文OSPF有5种报文ISIS有9种报文rip有2种报文(已经不考了)OSPF和ISIS如何删除一条LSAOSPF 3600S后删除ISIS 倒计时0S后删除如何删除一条路由?根据LSA/LSP中所携带的叶子信息来完成。

BGP 路径矢量路由协议。

带有方向的路径。

传递就是路由信息和路由属性。

维护BGP邻居关系,保活TCP会话。

默认60S周期发送,如果180S没有收到邻居的keepalive报文,则认为邻居失效,断开TCP连接,并删除从该邻居收到的所有BGP路由。

BGP更新路由的机制?1、增量触发更新2、管理员手动触发更新,全量。

rip更新路由机制?1、周期性更新 30S发送一次路由表。

2、触发更新OSPF,ISIS 周期性更新,触发更新。

BGP 使用TCP 目标端口179。

ACL对设备自身产生的流量无效。

华为ACL默认允许。

如果收到notification报文一般是邻居中断。

处于IDLE状态原因:排错:1、协议层面本身的配置问题2、数据层面的问题。

peer 2.2.2.2 as-number 2 含3重含义:1、向邻居发送BGP报文的目的地址2、邻居所在的AS号3、邻居向本端发送BGP报文的源地址这条命令,默认情况下,向BGP邻居发送报文的源地址是什么呢?是:去往邻居地址路由的出接口IP作为BGP报文源地址。

使用loopback建立EBGP邻居,需要设置ebgp-max-hop,因为默认情况下EBGP报文TTL=1,不能跨链路。

注意:断开物理接口,bgp邻居状态不会中断,因为bgp邻居是根据TCP会话来建立的。

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定时器。

BGP培训试题(有答案)

BGP培训试题(有答案)

BGP协议培训考试题一、单选题:(4*5=20)1、以下说法错误的是(C )A.IGP是内部网关协议,功能是完成数据包在AS 内部的路由选择。

B.EGP是外部网关协议,功能是完成数据包在AS 间的路由选择。

C.自治系统AS相当于OSPF中的AREA,是拥有相同选路策略的由单一管理机构来管理的路由器的集合。

D.BGP协议是一种外部网关协议。

2、关于BGP协议消息类型的描述,错误的是(D )A.Open——建立BGP 连接B.Keepalive——检测和维护BGP连接C.Update——发送BGP 路由更新以及撤销路由D.connect——保持BGP的连接状态E.Route-Refresh——通知对等体自己支持路由刷新能力3、关于命令的说法,错误的是(C)A.这是配置BGP协议中的一个命令B.这是BGP中的更新源命令C.此命令的作用是改变改BGP路由的下一跳地址D.4、关于下图的说法中,错误的是(B )A.图中显示的是BGP的邻居信息B.C.64523是本设备所属的AS号D.2d07h34m是指BGP邻居建立的时长5、BGP 协议是能够有效的防止路由环路的,究其原因为(A )A. 在路由的AS-Path 属性中记录着所有途经的AS,BGP 路由器将丢弃收到的任何一条带有本地AS 的路由,避免了AS 间的路由环路B. BGP 协议是基于链路状态的路由协议,从算法上避免了路由环路C. BGP 协议通过水平分割和毒性逆转来避免路由环路D. 在AS 内部从IBGP 邻居学到的路由不再向其他BGP邻居转发二、多选题(5*5=25)1、以下说法正确的是:(ABCD )A.BGP是一种外部网关协议(EGP),与OSPF、RIP等内部网关协议(IGP)不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最佳路由。

B.BGP使用TCP作为其传输层协议(监听端口号为179),提高了协议的可靠性。

C.路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。

[BGP协议]BGP面试问题

[BGP协议]BGP面试问题

[BGP协议]BGP面试问题1. 什么是BGP协议?BGP(Border Gateway Protocol)是一种用于互联网核心路由器之间交换路由信息的协议。

它是TCP/IP协议族中的一员,用于实现互联网的路由选择和自治系统之间的互联互通。

2. BGP协议有哪些特点?- 自治系统之间的路由协议: BGP协议用于自治系统(AS)之间的路由选择,通过交换网络中的路由信息,实现不同自治系统之间的互通。

自治系统之间的路由协议: BGP协议用于自治系统(AS)之间的路由选择,通过交换网络中的路由信息,实现不同自治系统之间的互通。

- 路径矢量协议: BGP协议使用路径矢量方式来选择和传送路由信息,每个AS都维护了一张路由表,通过比较各个路径的属性来选择最优路径。

路径矢量协议: BGP协议使用路径矢量方式来选择和传送路由信息,每个AS都维护了一张路由表,通过比较各个路径的属性来选择最优路径。

- 可靠性和稳定性: BGP协议通过各种机制确保路由信息的可靠性和稳定性,例如,通过周期性的心跳消息来检测邻居路由器的连通性,并利用持续时间计数器来避免路由环路的发生。

可靠性和稳定性:BGP协议通过各种机制确保路由信息的可靠性和稳定性,例如,通过周期性的心跳消息来检测邻居路由器的连通性,并利用持续时间计数器来避免路由环路的发生。

- 适应大规模网络: BGP协议能够适应大规模网络环境,支持成千上万个路由器的连接,并能够处理数量庞大的路由信息。

适应大规模网络: BGP协议能够适应大规模网络环境,支持成千上万个路由器的连接,并能够处理数量庞大的路由信息。

- 基于TCP连接:BGP协议使用TCP协议来建立可靠的连接,确保路由信息的可靠传输和交换。

基于TCP连接: BGP协议使用TCP协议来建立可靠的连接,确保路由信息的可靠传输和交换。

- 灵活的策略控制: 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个人学习笔记
t-Hop属性。
4、Local-Pref(公认自选属性):
只会在同一个AS传递(本地有效),默认为100.
本地优先级用于区分到达同一个目的地的多条路由的优先程度,本地优先级越高的
路由条目,路由优先级越高。当下一跳有多个iBGP路由器时,使用本地优先级来影
响选路
5、MED(可选不可传递属性)
禁用同步后,能减少路由器通过IGP传输的路由,并提高BGP的汇聚速度。
Established:从peer收到keepalive,并重置hold timer。中途如果收到notific
ation,就回到idle状态
BGP更新源:BGP无法自动发现邻居,需要手工指定邻居。只有收到从指定更新源发
出的消息时,邻居才会被建立。如果设置直连接口为更新源时,若接口断掉后,邻
痛AS-Path的路由汇总产生的)
3、Next Hop:

址。默认情况下,一条路由被传递给eBGP邻居时,会将Next-Hop属性改为自己的地
址,也就是建立邻居时使用自己的地址。而在路由传递给iBGP邻居时,不会改变Nex
若为不同AS,则不会比较MED。若要在不同AS时也会比较MED,需要在bgp进程下输
入:bgp always-compare-med
6、Weight
Weight为Cisco私有属性,并只在路由器本地起作用。Weight的范围为0-655365,默
认为0,如果是BGP本地路由,Weight为32768。Weight值越大,路由优先级越大。
^12[0-3]$ ===> 表示匹配120 121 122 123
^12. ===> 表示匹配12 ,即120-129

BGP经典总结 (wolf 周老师)

BGP经典总结  (wolf 周老师)

首先感谢WOLF、CCTV给我这个机会!谢谢!然后感谢老大写的文档、老余的支持以及各位老师平时的帮助!把这篇文章献给我的父母以及尚未遇到的媳妇,我爱你们!谢谢!我会努力的--!加油!―――――――――――――――――――――――――――周目录0、BGP的概况1、BGP的一些特性2、BGP的三张表3、BGP的各种包4、建邻居的过程5、neighbor命令的含义6、IBGP建立邻居需满足什么条件7、EBGP邻居需满足什么条件8、路由在BGP转发表里最优的必要条件9、BGP的下一跳10、IBGP的同步11、auto-summary的作用12、BGP的聚合路由13、BGP邻居的flaping14、BGP路由下一跳的flaping15、BGP的dampening16、IBGP的路由反射器(RR)17、BGP联邦18、BGP的对等体组19、BGP的选路原则20、EBGP的防环21、IBGP的防环22、将IGP路由引入BGP23、向IGP中注入BGP路由24、限制允许接收的最大路由条目25、BGP的几个计时器26、BGP的默认路由27、BGP的过滤以及正则表达式28、BGP的链路认证29、删除私有AS号30、允许接收经过多少AS的路由31、local_as32、allowas-in33、community34、soft-reconfigration inbound35、条件路由36、拆分路由37、QPPB38、BGP orf39、BGP的ADBGP默认只支持ipv4-unicast,即只有ipv4-unicast的邻居可以默认认为是active的。

可以用no bgp default ipv4-unicast命令来使ipv4-unicast的邻居也必须手工使其active。

Address-family ipv4 unicastneighbor 1.1.1.1 activate (将邻居1.1.1.1激活)一个路由器只能属于一个AS。

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

路由黑洞和黑洞路由

路由黑洞和黑洞路由

一。

黑洞就是做路由汇总时候引入的一个概念比如你有好多个c类地址:192.168.1.0/24 - 192.168.200.0/24那么对外公告路由的时候你可以选择进行路由汇总。

汇总为192.168.0.0/16的路由但是路由汇总会产生“路由黑洞”问题因为192.168.201.0/24 - 192.168.254.0/24这段路由存在但却没有对应的主机。

因此可能造成目的地址为192.168.201.0/24 - 192.168.254.0/24往你的路由器上转发但地址却不可达的情况(理论上要发送回icmp unreachable的)一个可行的办法是在汇总路由时就写好一条黑洞路由丢弃这些垃圾流量ip route 192.168.0.0 255.255.0.0 null 0二。

一般是在路由汇总的时候,有可能把一些本来没有的路由条目汇总了进来路由器处理这些本来不存在的路由条目的数据包的时候会占用路由器本身的资源这个时候如果大量的数据包涌向路由器,有可能变成DOS攻击所以就自动写出一条通往NULL0接口的路由,然后把那些垃圾数据包直接丢往NULL0,不要进行其他处理。

黑洞路由与路由黑洞这两个概念容易混淆,为了方便区别,在此做了一下比较。

黑洞路由,便是将所有无关路由吸入其中,使它们有来无回的路由。

黑洞路由最大的好处是充分利用了路由器的包转发能力,对系统负载影响非常小。

如果同样的功能用ACL(地址访问控制列表)实现,则流量增大时CPU利用率会明显增加。

所以,一直是解决固定DOS 攻击的最好办法。

相当于洪水来临时,在洪水途经的路上附近挖一个不见底的巨大深坑,然后将洪水引入其中。

当然,这只是个比喻,真要是洪水来的时候,正确的方法是―――跑!在路由器中配置路由黑洞完全是出于安全因素,设有黑洞的路器会默默地抛弃掉数据包而不指明原因。

一个黑洞路由器是指一个不支持PMTU且被配置为不发送“Destination Unreachable--目的不可达”回应消息的路由器。

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上同样有路由表,可以进行路由。

黑洞路由防环

黑洞路由防环

debug ip pa2 ping F10的icmp包的时候,通过查找路由表,发现该数据包同时匹配黑洞路由表项和默认路由表项,此时,根据路由表掩码最长匹配规则,黑洞路由表项的掩码为255.255.0.0,16位,而默认路由表项的掩码为0.0.0.0,0位,最短,所以依据黑洞路由表项转发,即丢弃。
5、R4上show路由表
6、举一反三,从R1 ping F12,R1查找自己的路由表,匹配静态路由表项172.16.0.0/16,数据包发送到R4。
R4收到数据包后,查找路由表,发现该数据包同时匹配默认路由表项0.0.0.0/0、黑洞路由表项172.16.0.0/16、以及静态路由表项172.16.1.0/24,根据掩码最长匹配规则,R4选择静态路由表项172.16.1.0/24作为转发依据。
黑洞路由防环:
1、继续在R4上配置,增加一个NULL接口(即“黑洞”),再继续增加一条静态黑洞路由,所谓黑洞路由,就是凡是匹配该路由条目的数据包都将被丢弃,就像宇宙中的黑洞一样,吞噬着所有匹配的数据包。
ip route 172.16.0.0 255.255.0.0 null 0
debug ip icmp

黑洞路由操作方法有哪些

黑洞路由操作方法有哪些

黑洞路由操作方法有哪些黑洞路由是一种网络安全策略,将特定的网络流量或IP地址定向到“黑洞”,从而阻止其访问网络资源。

黑洞路由可以用于防御分布式拒绝服务(DDoS)攻击、减少对恶意流量的过滤负载等。

在实践中,黑洞路由通常使用以下几种方法来实现:1. 静态路由:静态路由是手动配置特定的路由规则,将特定的目标IP地址或IP 地址范围指向黑洞。

这种方法简单直接,但需要手动配置,并且不适用于大规模网络。

2. 动态路由配合ACL:动态路由结合存取控制列表(ACL)可以更灵活地控制黑洞路由。

当检测到特定的攻击流量或异常流量时,可以使用动态路由协议(例如BGP)将该流量的目标IP地址指向黑洞。

同时,为了保证其他合法流量的正常传输,可以结合ACL,在黑洞路由出口添加允许某些流量通过的规则。

3. 流量分担系统:流量分担系统是一种基于BGP协议的技术,可以将网络流量动态分发给多台服务器。

通过在流量入口处,使用流量分担系统将来自异常IP 地址的流量分配到黑洞服务器,从而起到阻断攻击流量的作用。

4. 网络防火墙:现代网络防火墙通常具备黑洞路由的功能。

这些防火墙根据网络流量的特征进行分析,并可以自动触发黑洞路由。

同时,网络防火墙通常还包括其他安全防护功能,如流量过滤、入侵检测等。

5. 包过滤技术:使用网络设备(如路由器、交换机)的包过滤功能,可以针对特定的源IP地址、目标IP地址、协议或端口号进行过滤,将来自特定源IP地址的流量定位到黑洞。

这种方法需要在设备上进行配置,并且可以灵活地适应网络环境的变化。

6. 第三方云服务:有些云服务提供商(如亚马逊AWS、阿里云等)提供了黑洞路由服务。

用户可以通过配置云服务上的黑洞路由规则,将特定的IP地址或IP 地址范围定向到黑洞,从而实现网络流量的阻断。

总结来说,黑洞路由是一种网络安全策略,可以通过不同的方法实现。

在实际应用中,可以根据网络的规模、设备的功能和安全需求选择合适的黑洞路由方法。

bgp路由欺骗攻击原理

bgp路由欺骗攻击原理

bgp路由欺骗攻击原理
BGP劫持是指攻击者恶意改变互联网流量的路由。

攻击者通过错误地宣布
他们实际上并不拥有、控制或路由的IP地址组(称为IP前缀)的所有权来实现这一点。

BGP劫持很像是有人在高速公路上改变所有的标志,将汽车
指向错误的出口。

整个互联网是由很多的网络组成,这些网络被称为是“自治系统(AS)”,因为边界网关协议(BGP)是建立在假设互联网络真正告诉他们拥有哪些IP
地址的基础上的,所以BGP劫持几乎是不可能停止的。

要发生劫持事件,攻击者需要控制或破坏连接一个自治系统(AS)和另一个自治系统(AS)的启用BGP的路由器,这样就不是每个人都可以进行BGP劫持。

BGP劫持可能导致互联网流量出错,被监控或拦截,被“黑洞”,或者作
为中间人攻击的一部分将流量导向虚假网站。

此外,垃圾邮件发送者可以使用BGP劫持或实施BGP劫持的AS网络,以欺骗合法IP以进行垃圾邮件。

另外,攻击者可能执行 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问题总结

1.为什么要有AS的存在?答:为了解决网络规模的增长问题,当网络规模变大,路由数量也就不断的增加。

我们划分AS后,AS内部可以自由选择IGP协议来实现内部互通,在AS之间通过统一的一种协议来互连就可以了。

这种协议现在就只有BGP一种。

2.为什么使用TCP作为传输层协议?答:因为TCP很可靠,重传,排序等机制保证了BGP消息的可靠性传输。

3.BGP中邻居为什么需要手工指定?答:BGP建立在两个AS之间(也就是两个不同的机构之间),存在着信任问题,所以不能通过自动发现,而需要手工配置邻居,使用指定地址建立TCP关系。

这样也有个好处就是,可以跨越设备,邻居的建立不一定需要设备直连。

4.BGP是一种基于距离矢量算法的路由协议,它是怎么保证无环路的?答:AS之间:利用AS号来解决,BGP在向EBGP对等体通告一条路由时,要把自己的AS号加入到AS_PA TH属性中,以记录此路由经过AS的信息,如果在路由更新消息中发现自己所在的AS号已经被包含在AS_PA TH属性中,则表明该路由之前曾经通过该AS或者是源自于该AS,为避免路由环路,应该将此路由信息丢弃。

AS内部:由于没有AS号的变化,强行规定从IBGP邻居学习到的路由不能传递给另一个IBGP邻居,简单的说也就是IBGP间路由只传一跳,路由只传递一次当然不会出现环路。

5.什么时候需要BGP全连接?答:以为BGP是基于TCP的,而TCP连接是以点到点的单播方式来进行报文传输的,所以BGP也是点到点的连接。

同时因为BGP是距离矢量算法的路由协议,为了防止产生路由环路,协议规定BGP发言者从IBGP对等体获得的路由不能向其他的IBGP对等体发布。

综上,在运行BGP的AS内,为了确保所有BGP路由器的路由信息相同,则需要使所有的IBGP 路由器保持全连接。

6.如何解决全连接问题?答:反射器和联盟两种技术来解决路由反射器是指AS中指定一个节点为反射器,所有其他节点都与反射器建立IBGP 关系,反射器作为中间节点,在其他任意两个IBGP间传递路由。

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

案例精解: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与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-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了。

R2:router bgp 65012 //指定的联邦AS号no synchronizationbgp log-neighbor-changesbgp confederation identifier 200 //R2对外宣称自己的AS号为200,它会告诉R1它的AS号为200,因为65012是私有的network 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 Loopback0neighbor 3.3.3.3 remote-as 65012neighbor 3.3.3.3 update-source Loopback0neighbor 3.3.3.3 next-hop-selfno auto-summaryR3:r3#sh run | b r brouter bgp 65012no synchronizationbgp log-neighbor-changesbgp confederation identifier 200 //对R5稳定自己的AS号为200,它不会对R2宣称,因为它们属于同一个联邦ASneighbor 2.2.2.2 remote-as 65012neighbor 2.2.2.2 update-source Loopback0neighbor 5.5.5.5 remote-as 65003neighbor 5.5.5.5 ebgp-multihop 255neighbor 5.5.5.5 update-source Loopback0no auto-summary!R5:router bgp 65003no synchronizationbgp log-neighbor-changesbgp confederation identifier 200 //对R3和R7宣称自己的AS号为200neighbor 3.3.3.3 remote-as 65012neighbor 3.3.3.3 ebgp-multihop 255neighbor 7.7.7.7 remote-as 300neighbor 7.7.7.7 ebgp-multihop 255neighbor 7.7.7.7 update-source Loopback0no auto-summary!这时查看R3和R5的邻居关系r3#sh ip bgp suNeighbor V AS MsgRcvd MsgSent TblV er InQ OutQUp/Down State/PfxRcd2.2.2.2 4 65012 10 9 1 0 0 00:06:26 25.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 65003R5上:neighbor 3.3.3.3 remote-as 65012所以这时会报一个错误:AS号错误,如下r5#*Oct 19 12:20:10.311: %SYS-5-CONFIG_I: Configured from console by consoler5#*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 00C8r5# 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为200R5上:bgp confederation peer 65012 // 不对65012宣称自己的AS为200验证r5#sh ip bgpBGP table version is 13, local router ID is 5.5.5.5Status 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*> 1.1.1.0/24 2.2.2.2 0 100 0 (65012) 100 ir> 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) ir> 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 ir7#sh ip bgpBGP table version is 12, local router ID is 7.7.7.7Status 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*> 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实在难以支撑,没办法拷下所有配置过程,只作了总结性讲解,请见谅!有需要的我们可以再作交流。

相关文档
最新文档