实验拓扑
实验需求1.设备互联地址如图所示;所有设备开设Loopback0口,该接口IP地址为x.x.x.x/32,其中x为设备编号。Loopback0的IP地址作为OSPF RouterID以及LSR ID、LDP传输地址。
2.R1、R2、R3、R4运行OSPF,通告直连接口及Loopback0。注意R1不能在OSPF中通告192.168.1.0/24路由,R4也不能在OSPF中通告192.168.2.0/24路由。
3.R1及R4基于Loopback0口建立iBGP邻居关系;R1将直连路由192.168.1.0/24通告进BGP,R4将直连路由192.168.2.0/24通告进BGP,R2及R3不运行BGP。
4.通过部署MPLS,使得PC1与PC2能够互通。
实验步骤及配置1.完成设备接口、OSPF和BGP的配置:
R1的配置如下:
完成接口IP地址的配置:
[R1]interfaceGigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0]ipaddress12.1.1.124
[R1]interfaceGigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1]ipaddress192.168.1.25424
[R1]interfaceloopback0
[R1-Loopback0]ipaddress1.1.1.132
配置OSPF:
[R1]ospf1router-id1.1.1.1
[R1-ospf-1]area0
[R1-ospf-1-0.0.0.0]network12.1.1.00.0.0.255
[R1-ospf-1-0.0.0.0]network1.1.1.10.0.0.0
配置BGP:
[R1]bgp100
[R1-bgp]peer4.4.4.4as-number100
[R1-bgp]peer4.4.4.4connect-interfaceLoopback0
[R1-bgp]network192.168.1.024
R2的配置如下:
完成接口IP地址的配置:
[R2]interfaceGigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0]ipaddress12.1.1.224
[R2]interfaceGigabitEthernet0/0/1
[R2-GigabitEthernet0/0/1]ipaddress23.1.1.224
[R2]interfaceloopback0
[R2-Loopback0]ipaddress2.2.2.232
配置OSPF:
[R2]ospf1router-id2.2.2.2
[R2-ospf-1]area0
[R2-ospf-1-0.0.0.0]network12.1.1.00.0.0.255
[R2-ospf-1-0.0.0.0]network23.1.1.00.0.0.255
[R2-ospf-1-0.0.0.0]network2.2.2.20.0.0.0
R3的配置如下:
完成接口IP地址的配置:
[R3]interfaceGigabitEthernet0/0/0
[R3-GigabitEthernet0/0/0]ipaddress23.1.1.324
[R3]interfaceGigabitEthernet0/0/1
[R3-GigabitEthernet0/0/1]ipaddress34.1.1.324
[R3]interfaceloopback0
[R3-Loopback0]ipaddress3.3.3.332
配置OSPF:
[R3]ospf1router-id3.3.3.3
[R3-ospf-1]area0
[R3-ospf-1-0.0.0.0]network23.1.1.00.0.0.255
[R3-ospf-1-0.0.0.0]network34.1.1.00.0.0.255
[R3-ospf-1-0.0.0.0]network1.1.1.10.0.0.0
R4的配置如下:
完成接口IP地址的配置:
[R4]interfaceGigabitEthernet0/0/0
[R4-GigabitEthernet0/0/0]ipaddress34.1.1.424
[R4]interfaceGigabitEthernet0/0/1
[R4-GigabitEthernet0/0/1]ipaddress192.168.2.25424
[R4]interfaceloopback0
[R4-Loopback0]ipaddress4.4.4.432
配置OSPF:
[R4]ospf1router-id4.4.4.4
[R4-ospf-1]area0
[R4-ospf-1-0.0.0.0]network34.1.1.00.0.0.255
[R4-ospf-1-0.0.0.0]network4.4.4.40.0.0.0
配置BGP
[R1]bgp100
[R1-bgp]peer1.1.1.1as-number100
[R1-bgp]peer1.1.1.1connect-interfaceLoopback0
[R1-bgp]network192.168.2.024
完成上述配置后,当PC1去ping PC2时,肯定是无法ping通的,数据包的转发过程如下:
虽然R1已经通过BGP从R4学习到192.168.2.0/24的路由,PC1访问PC2的数据包被R1转发给了R2,但是由于R2没有运行BGP,而OSPF域中又没有关于192.168.2.0/24的路由,因此报文在R2处被丢包,这就是典型的BGP路由黑洞问题。其实之所以不在R2、R3上运行BGP,是因为BGP承载的路由前缀数量往往非常庞大,此举可以极大的降低R2、R3的设备资源消耗,但是却也带来了路由黑洞问题。
利用MPLS能够解决上述问题,我们在R1、R2、R3、R4上激活MPLS及LDP:
从而构建一个MPLS网络。
R1的配置增加如下:
[R1]mplslsr-id1.1.1.1#配置MPLSLSRID
[R1]mpls#全局激活MPLS
[R1-mpls]quit
[R1]mplsldp#全局激活LDP
[R1-mpls-ldp]quit
[R1]InterfaceGigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0]mpls#在接口上激活MPLS
[R1-GigabitEthernet0/0/0]mplsldp#在接口上激活LDP
R2的配置增加如下:
[R2]mplslsr-id2.2.2.2
[R2]mpls
[R2-mpls]quit
[R2]mplsldp
[R2-mpls-ldp]quit
[R2]InterfaceGigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0]mpls
[R2-GigabitEthernet0/0/0]mplsldp
[R2]InterfaceGigabitEthernet0/0/1
[R2-GigabitEthernet0/0/1]mpls
[R2-GigabitEthernet0/0/1]mplsldp
R3的配置增加如下:
[R3]mplslsr-id3.3.3.3
[R3]mpls
[R3-mpls]quit
[R3]mplsldp
[R3-mpls-ldp]quit
[R3]InterfaceGigabitEthernet0/0/0
[R3-GigabitEthernet0/0/0]mpls
[R3-GigabitEthernet0/0/0]mplsldp
[R3]InterfaceGigabitEthernet0/0/1
[R3-GigabitEthernet0/0/1]mpls
[R3-GigabitEthernet0/0/1]mplsldp
R4的配置增加如下:
[R4]mplslsr-id4.4.4.4
[R4]mpls
[R4-mpls]quit
[R4]mplsldp
[R4-mpls-ldp]quit
[R4]InterfaceGigabitEthernet0/0/0
[R4-GigabitEthernet0/0/0]mpls
[R4-GigabitEthernet0/0/0]mplsldp
现在,我们遇到的问题,是R2及R3由于没有运行BGP,因此他们无法学习到BGP路由192.168.1.0/24及192.168.2.0/24,因此在他们这出现了路由黑洞。此处通过利用标签栈,可以解决192.168.1.0/24及192.168.2.0/24网络通信的问题。当PC1访问PC2时,IP数据包先是送到R1,如果这个IP数据包被R1压入一层MPLS标签,而这个标签正好又是R2能理解、能处理的,不就能解决这个问题么?那么压入的标签值是多少?其实完全可以走4.4.4.4这条LSP,因此标签值就用4.4.4.4这条FEC的标签。
实际上,在R1上查看BGP路由 192.168.2.0/24能够发现该路由的下一跳就是4.4.4.4。而4.4.4.4此刻在LFIB表中已经有条目,因此去往192.168.2.0/24的IP数据包能够使用4.4.4.4这条LSP来走。
PC1去访问192.168.2.1这台主机,IP报文先是被送到R1,R1通过查看路由表发现下一跳是4.4.4.4,将数据包压入4.4.4.4对应的标签值1026,然后把数据包发给R2。R2将标签1026置换成1028然后将数据包送到R3,R3将标签弹出,将IP报文转发给R4。这里有个细节需要注意,那就是在华为的设备上,缺省情况下,R1在查去往192.168.2.0/24的路由时会发现下一跳是4.4.4.4,而4.4.4.4非直连,又会进一步将下一跳递归得到10.1.12.2,然后将IP数据包转发给R2,而不会压标签。为了让R1递归到LSP,要配置一条命令来打开这个开关:route recursive-lookup tunnel。
如此一来PC1就能够ping 通PC2了。
审核编辑:郭婷
-
接口
+关注
关注
33文章
8593浏览量
151131 -
BGP
+关注
关注
0文章
83浏览量
15329
原文标题:如何解决 BGP 路由黑洞问题?MPLS可是一把利剑!
文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论