BGP控制路由流向多样化复杂化

网络 路由交换
BGP 协议是为自治系统间的路由选择而设计,但它也可以用于自治系统内部,是一类双重路由选择协议。

BGP 协议是为自治系统间的路由选择而设计,但它也可以用于自治系统内部,是一类双重路由选择协议。

两个可以在自治系统之间进行通信的BGP相邻结点必须存在于同一个物理链路上。

位于同一个自治系统内的BGP路由器可以互相通信,以确保它们对整个自治系统的所有信息都相同,而且通过信息交换后,它们将决定自治系统内哪个BGP路由器作为连接点来负责接收来自自治系统外部的信息。

一、BGP这个协议完全是一种策略性的路由协议,它的复杂并不是由于路由算法有多难学,最主要的是利用BGP来控制路由流向的手段多样化复杂化,任何路由协议都要首先解决环路的问题,OSPFISIS利用了SPF算法来解决,EIGRP的算法比较新奇,是一种扩散算法,那么BGP在设计中使用了很多小手段,把精力精中在设计多样化控制属性。

二、BGP天生属性重要属性,ASPATH,BGP路由更新中,在经过的自冶域(AS)号添加到更新中,这样,当BGP发现自己所在的AS也在其中,就可以认为发生了环路,EBGP可以这样考虑没有问题,在某些场景中,会有问题,不管是人工还是BGP的自动汇总属性,汇总成10.233.40.0/17传到AS300,再传回AS100中,在AS100看来,这条路由的ASPATH是(300,200)自己并未在其中!!这就会致环路的形成。

三、解决方法是增加ASSET值,使得在路由汇总后(聚合)也保留其原来的aspath的属性值,这样就可以防止路由环路了,利用这种打标志的方法可以在AS间传递时不会发生环路,那么问题来了,如果在一个AS内怎么办?

因为在IBGP中,至始至终都是在一个AS里打转,ASPATH也没有打的必要,所以,在BGP中,IBGP是不会添加ASPATH属性的。那么怎么解决这样问题呢?

四、开发者想到一个绝妙的思路,如果IBGP只是在邻接相互传递,即是说一对一。打个比方,我认识A,A认识B,但是我与B是互不认识的,因为A是不会把我介绍给对方的。

在BGP如果这样规定的话,IBGP邻接学习来的路由不发布到其他IBGP邻接,不就可以防止环路了,因为这根本就不可能有环生成,都是一条线。

五、这个时候就可以按照OSPF啊那样的思路来考虑这个问题,找个人大代表不就解决了,就是DR+BDR.为了表示高新科技就起个拉风的名字:路由反射器,就是RR了。这样就可以从逻辑上变成简单的hub-spoke的结构了。其实这个想法就是部分放开了上面第3说的潜规则。即是产生了中间人,使其可以把它认识的客户介绍给其他客户。

为了防止环路,就要对中间人实行一定的公平法则,最重要一点,中间人不能改变客户的发出的信息。

就算是环路信息传递回来也可以从更新中发现自己的RID,这也就是为什么配置LOOPBACK的原因了,那是多么重要的东西啊,在MPLS中还会要求必定要/32位的,不就可以发现环路了,通过把一个AS分成几个小AS,小AS间用EBGP邻接,在小AS内部用RR。

责任编辑:遗忘者 来源: 路由人
相关推荐

2011-11-22 10:11:56

BGP路由环路

2021-02-05 23:18:55

云计算IT技术

2010-07-29 17:00:36

Flex饼图

2015-10-09 11:27:36

综合布线布线技术

2016-08-12 09:24:33

开源多样化亮点

2017-05-16 15:00:25

存储云端解决方案

2010-11-09 10:37:21

2013-05-15 10:49:36

华为全景智真视讯终端

2011-06-28 13:11:10

2017-11-09 13:41:30

2015-03-23 16:42:06

2011-06-22 09:54:13

网络技术虚拟化网络OpenFlow

2013-01-23 09:33:29

交换机设备故障

2018-05-29 16:48:02

区块链数字货币比特币

2015-12-11 22:40:10

大数据OpenPOWERPOWER8

2012-03-09 13:57:40

华为无线模块消费电子

2015-01-07 09:42:55

5G25G以太网

2012-04-13 16:29:20

明基投影仪

2015-12-02 14:04:01

2010-01-22 17:21:32

C++语言
点赞
收藏

51CTO技术栈公众号