BGP联邦原理及配置实例
今天给大家介绍一下BGP联邦的相关理论,同时在后面通过具体的配置实例,使大家了解BGP路由联邦的作用和配置方式。看懂本文,您需要对BGP相关理论知识有深入的了解,如果您对BGP基本知识还需要加强,欢迎查阅本博客其他文章,相信您一定会有收获。
在阅读本文章之前,强烈建议您先阅读这篇文章:一文看懂BGP路由黑洞问题。这篇文章与本文一以贯之,并且可以视为本文的基础篇章。
一、什么是路由器联邦
为了解决上文中提到的路由黑洞问题,同时为了避免配置IBGP全互连给网络管理造成的麻烦和路由器的负担,可以配置联邦来实现BGP路由在AS域内的传递问题。
(一)BGP 联邦基本概念
在上文中我们提到过,之所以会出现AS域内BGP路由传递问题,是由于BGP水平分割机制引起的。为了打破BGP水平分割机制,使得AS内BGP路由传递更加灵活,除了采用BGP反射器来传递BGP路由外,还可以使用BGP联邦。
BGP联邦就是在一个大的AS域内,划分成多个小的联邦,联邦与联邦之间的BGP关系可以认为是EBGP。这样一来,就可以通过合理的划分联邦,将原来的IBGP对等体关系转变成EBGP对等体关系,就可以使得本来不传递的BGP路由向外传递成功了。
注意,联邦的概念是在AS内部配置的,但是对于所有AS外部的路由器,并不知道他方AS域内联邦划分情况。换句话说,一个AS域内BGP对等体关系的建立是依靠联邦号码,而对AS域外部来说,他们所有的路由器又都有着相同的AS号,外部路由器不是通过联邦号而是通过AS号来认定BGP邻居的。
(二)BGP联邦防环机制
同样的,BGP联邦可以认为是对IBGP水平分割机制的破坏,因此,BGP联邦的引入在方便BGP路由传递的同时也必须解决BGP路由环路问题。
BGP联邦对于BGP路由环路问题的解决是通过AS_PATH属性的传递实现的。与EBGP防环机制类似,在BGP路由即将传递给联邦外的成员时,路由器会在该条路由属性中添加自己的联邦号。当收到一条BGP路由时,如果看到该路由信息中含有自己的联邦号,就说明该路由是从自己这里传递出去的,因此该路由器就不接收这条路由。这样一来,就可以防止BGP路由环路了。
另外,路由器联邦添加的联邦号虽然也是属于AS_PATH属性,但是和真正的AS号相比,他们又具有不同的属性。当一个BGP路由要传递给AS外部的EBGP邻居时,该路由器要删掉该路由中AS_PATH属性中所有的联邦号,对于AS外部路由器而言,就不会知道AS内部的联邦配置信息了。
二、路由器联邦配置实例
(一)网络拓扑及要求
实验拓扑图如下所示:
现在要求AS200和AS300之间的两台PC可以互相访问,设立如图所示的BGP链接(黑线带边EBGP,白线代表IBGP),采取BGP联邦的方式破除IBGP内BGP路由传递问题。
(二)网络配置命令
1、联邦配置相关命令
bgp 65510
confederation id 100
confederation peer-as 65511
在上述命令中,bgp后面紧跟的数字是自己的联邦号码,而在BGP视图下,命令confederation id后面紧跟的数字是自己的AS号码,confederation peer-as后面跟着的数字是与自己联邦相邻接的联邦的号码。
2、修改下一跳配置相关命令
peer 151.1.1.2 next-hop-local
使用该命令可以修改下一跳,在有些时候,我们查看BGP路由表,发现虽然自己的路由表中存在路由,但是该路由没有带尖括号的属性,这代表路由的下一条不可达。这种现象一般发生在一个路由器将他的EBGP路由传递给IBGP的时候,因此,上述命令应该配置在以下场景:
在一个有真EBGP(不是联邦EBGP)邻居的路由器上,给IBGP邻居配置该命令。
(三)路由器命令附录
最后,将两个有代表性的路由器——R1、R6的命令配置粘贴如下:
R1:
bgp 65510
confederation id 100
confederation peer-as 65511
peer 150.1.1.4 as-number 200
peer 151.1.1.2 as-number 65510
#
ipv4-family unicast
undo synchronization
peer 150.1.1.4 enable
peer 151.1.1.2 enable
peer 151.1.1.2 next-hop-local
#
R6:
bgp 65511
confederation id 100
confederation peer-as 65510
peer 151.1.2.2 as-number 65510
peer 151.1.3.3 as-number 65511
#
ipv4-family unicast
undo synchronization
peer 151.1.2.2 enable
peer 151.1.3.3 enable
#
三、实验效果验证
在完成上述配置后,发现两台PC之间可以PING通,这说明AS200和AS300双方之间的路由已经通过AS100互相传递给对方了。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/118580685
相关文章
- 实例!使用Idea创建SSM框架的Maven项目
- Spring+Shiro搭建基于Redis的分布式权限系统(有实例)
- python 排序算法总结及实例详解
- 重学c#系列——非托管实例(五)
- {Repeater控件} Repeater控件的用法流程及实例
- HTML 5缓存机制:Cache Manifest配置实例
- RPC原理及RPC实例分析
- VXLAN配置实例(三)——VXLAN集中式双活网关
- VRRP配置实例
- MPLS VXN配置实例
- ASP.NET Core 6框架揭秘实例演示[09]:将配置绑定为对象
- [转]分享php中四种webservice实现的简单架构方法及实例
- Android之Fragment简介和使用实例
- 实例:怎样使用 Netty 下载文件
- flask核心对象Flask实例初探
- Nginx 配置实例-反向代理案例一
- Nginx 配置实例-负载均衡
- VRRP实现AC双机备份原理详解与配置实例
- AC内WLAN漫游配置实例
- 【网络进阶】网络问题排查实例集锦(实战经验分享)