一句话总结BGP特性
一句话总结BGP特性
一、 BGP使用的是TCP的179端口建立连接,不使用组播IP,而是单播建立邻居,所以它无法自动发现邻居,需要手工配置邻居的更新地址。
二、 数据包:
open: 用来建立邻居关系 update:用来发送NLRI keepalive:用来维护邻居关系,每60秒发送一次。 notification:路由器检查到差错后,用来中断邻居关系 Route-refresh:请求对等体重新发送路由。
三、状态机 idel:初始状态,不接受邻居发送的连接请求 connect:等待BGP连接的完成;如果TCP连接成功,则向邻居发送open报文,进入opensent状态;如果TCP连接不成功,则转入Active状态。 active: BGP进程会尝试与其邻居初始化TCP连接。如果连接成功,BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态。 如果TCP连接失败,那么BGP停留在Active状态。如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP将转入Connect状态。 opensent:在此状态下,BGP等待对等体的Open报文,接到到Open报文后,会对接收到的AS号、版本号、认证码进行检查。如果接收到的Open报文正确,那么BGP发送KeepAlive报文,并转到Openconfirm状态;如果接收到的Open报文有误,那么BGP发送Notification报文给对等体,并转到Idle状态。 openconfirm:BGP等待Keepalive或者Notification报文。如果收到Keepalive则转入Establish状态,如果收到Notification报文,则转到Idle状态。 establish:已经建立了邻居关系,BGP可以和对等体交换Update、Keepalive、Route-refresh、Notification报文。如果收到正确的Update和Keepalive,将保持BGP连接。 如果收到错误的Update和Keepalive,那么BGP将发送Notification报文对知对端,并进入Idle状态。如果收到Notification或TCP拆除连接的通知,那么也会转入Idle状态。
四、 路径属性 公认可遵:所有路由器都要识别,并且必须包含在Update包中的属性。这些属性有:Origin、Next_hop、AS_Path 公认必遵:所有路由器都要识别,但不一定要包含在Update包中的属性。这些属性有:Local-Pref 可选传递:BGP路由器可以不识别这个属性,但它仍然会接收这类属性,并通知给其他对等体。这些属性有Community 可选非传递:BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,则会忽略该属性,不会通告给对等体。这些属性有:MED、Originator_ID、Cluster_list
五、选路原则:BGP路由最优,在没有过滤的情况下,有两个条件相关:下一跳可达,同步关闭。如果不满足此两条件,则路由不优。
BGP选路原则:
如果此路由的下一跳不可达,忽略此路由
Preferred-Valnue值数值越高越优先,华为私有属性,仅本地有意义
Local-Preference值最高的路由优先
聚合路由优先于非聚合路由
本地手动聚合路由的优先级高于本地自动聚合的路由
本地通过Network命令引入的路由的优先级高于本地通过Import-route命令引入的路由
AS路径的长度最短的路径优先
比较Origin属性,IGP优于EGP,EGP优于Incomplete
选择MED较小的路由
EBGP路由优于IBGP路由
BGP优先选择到BGP下一跳的IGP度量值最低的路径
当以上全部相同,则为等价路由,可以负载分担(注意: AS_Path必须一致,当负载分担时,以下3条原则无效)
比较Cluster_list长度,短者优先
比较Originator_ID(如果没有Originator_ID,则用Router_ID比较),选择数值较小的路径。
比较对等体的IP地址,选择IP地址数值最小的路径。
六、RR: 路由反射器,它打破了IBGP的水平分割。非客户机与非客户机之间不能传递路由。从客户端学到的路由传递给客户端和非客户端;从非客户端学到的路由传递给客户端;从EBGP学习到的路由传递给客户端和非客户端。 Cluster:RR和它的客户端组成一个Cluster,同一个Cluster有相同的Cluster_ID。 Cluster_List:当一条路由被RR反射以后,就会形成一个Cluster_list,当即RR接收到一条更新的路由时,会检查Cluster_list,如果已经有本地的Cluster_list,则会丢弃这条路由;如果收到的路由没有本地的Cluster ID,则会将其加入Cluster_list,并反射该路由。 Originator_ID:Originator_ID用来标识路由的发起者,当一条路由第一次被反射的时候,RR将这个属性加入这条路由。如果一条路由已经有了Originator ID,则不会再添加了。当设备接收到这条路由时,会将Originator_id与Router_ID进行比较,如果相同则不接收这条路由。 虽然RR打破了IBGP的水平分割,但它通过自己的Cluster_list和Originator_ID来防止环路的产生。 两台路由之间可以互为RR客户端。
七、 联盟: 联盟是将一个AS划分为更多的子AS的技术。 每个子AS建立全互联的邻居关系 子AS之间建立EBGP连接关系。 在配置时,BGP进程处起的是子AS的AS号,全局的AS号将成为联盟ID。 需要配置confed peer-as,这些AS指的是同一个全局AS内的其他的子AS号。
八、同步:BGP路由器不应该使用或向EBGP邻居通告从IBGP邻居那里学习到的BGP路由信息,除非该路由是本地的或者该路由存在于IGP数据库,即该路由也能从IGP学习到。
九、 最优:只有最优的路由才能传递给对等体。最优的前提条件:1. 关闭同步 2. 下一跳可达。
十、 有效: 不通告BGP的更新源做为业务网段
十一、防环:从IBGP学习到的路由不能再通告给IBGP,也就是说IBGP的路由只能传一跳。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论