BGP简介(特征、路径矢量、报文、状态机)(bgp是路径矢量协议么)

网友投稿 340 2022-09-10


BGP简介(特征、路径矢量、报文、状态机)(bgp是路径矢量协议么)

配置思路占楼:总部运行OSPF(负责IGP路由)+BGP(负责域间路由和选路)、分部运行OSPF+BGP总部和分部属于EBGP,建立邻居可能存在多跳,通过Ping得到TTL值,然后设置多跳满足包的传递建邻居,直连不需要默认TTL为1防环利用了水平分割,只传递给自己的邻居,跨邻居的路由传递使用RR(简单)、联盟(有点操作复杂)

BGP简介

BGP是一种用于自治系统之间的动态路由协议。发布版本BGP-1~4,主要用于交换AS之间可达路由信息,构建AS域间的传播路径 ,​BGP作为事实上的Internet外部路由协议标准,广泛应用ISP之间​

AS: autonomous system 自治系统,指的是在同一个组织管理下使用相同策略的设备的集合自治系统通过AS号区分,不同AS通过AS号区分, AS号取值范围1- 65535,其中64512- 65535是私有AS号

使用BGP的三大理由:

1、大量路由需要承载, IGP只能容纳千条,而BGP可以容纳上万(IGP承载不了大量的条目,主要是性能问题。因为承载路由意味要处理变化,例如选路、计算路径,而IGP是通过简单的数学公式计算)(路由的更新,IGP的路由条目可能设定好后,几年都不会更新,但互联网上经常变化,所以BGP广泛应用ISP之间)2、支撑MPLS/VPN的应用,传递客户VPN路由3、策略能力强,可以很好的实现路由决策与数据控制,选路丰富(IGP策略靠度量值,BGP靠属性,相当于好多不同的度量值,可以根据人的意志去修改,不像IGP通过公式)(因为互联网上的路径不是完全看好坏,高峰的时候选择服务质量好的,价格高些;低峰的时候选择绕远点,但是价格便宜)(同理为什么BGP的ISP比单一ISP线路可靠性高,因为运营商要去单独路由通告、制作策略,因此成本也不一样)

BGP特征

BGP使用TCP为传输层协议, TCP端口号179BGP路由器之间建立TCP连接,这些路由器称为BGP对等体也叫BGP邻居(EBGP、 IBGP)运行BGP的路由器有一个独立的表(BGP表),路由器将BGP表中最佳路由提供给路由表管理距离: EBGP路由为20, IBGP路由为200,数值小的更优

BGP表非常重要、是最先应该看的表,通告完毕后首先查询BGP表,例如策略是否生效、路由是否学到

BGP路径矢量特征

路径矢量信息中包含一个BGP自治系统号列表BGP路由器不接受路径列表中包含其AS号的路由更新,是无环路的BGP支持对BGP自治系统路径应用路由策略BGP路由器只能将其使用的路由通告给邻接自治系统中的对等体

例如AS500是公司总部,AS400是分公司。AS500通告自己的路由,判断路径好坏的方法有:1、查看路径信息,as_path有两条路径:1(100,500)2、(300,200,500),可能前者在低峰时候效果更好2、但是如果高峰的时候,假设as100用的是163线路,下面as200&300用的CN2线路,可能后者在高峰时候效果更好

BGP packets

BGP报文类型

建立邻居的过程:OPEN-KEEPALIVE(60秒死亡时间180秒)-UPDATE-Route-refresh-NOTIFICATION

BGP的有限状态机

1、Idle状态Ide-----空闲状态(1)BGP空闲状态,在Idle状态下BGP拒绝邻居发送的连接请求,此时等待由BGP系统发出的Start事件(2)Start(管理员配置邻居)事件发生后,BGP会对自己的资源进行初始化,重置连接计时器(Connect Retry 默认32S)发起TCP连接请求,并开始侦听远端对等体发起的连接端口,并转至Connect状态2、Connect状态Connect-----连接状态-----发起TCP的三次握手在Connect状态下,BGP启动连接重传定时器,等待TCP完成连接。(1)如果TCP连接成功,那么BGP会向对等体发送Open报文,并转至OpenSent状态(2)如果TCP连接失败,那么BGP转至Active状态(3)如果连接重传定时器超时,BGP任没有收到BGP对等体的响应,那么BGP继续尝试TCP连接,停留在Connect状态3、Active状态Actieve-----活跃状态-----不断重新发起TCP的三次握手在Active状态下,BGP总是试图建立TCP连接(1)如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent(2)如果TCP连接失败,停留在Active状态(3)如果连接重传定时器超时,任没有收到BGP对等体的响应,那么BGP转至Connect状态4、OpenSent状态openset-----发送open报文协商部居关系在OpenSent状态,BGP等对等体的Open报文,并对收到的Open报文中的AS号,版本号,认证信息等进行检查(1)如果收到的Open报文正确,那么BGP发送Keepalive报文,且重置Keepalive定时器,并转至OpenConfirm状态(2)如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体。并转至Idle状态5、OpenConfirm状态Openconfim-----自己发送Keeplive-----等待对方的Keeplieve在OpenConfirm状态下,BGP等待Keepalive或Notification报文。(1)如果收到Keepalive报文,则转至Established状态(BGP邻居的最终状态)(2)如果收到Notification报文,则转至Idle状态6、Established状态Established-----最终状态----接下来就可以发送UPdate在Established状态下,BGP对等体之间交互Update,Keepalive,Route-refresh报文和Notification报文


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:GCHQ 对匿名通信使用 DDoS 攻击
下一篇:关于BufferedReader的读取效率问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~