当前位置:首页 > 天道酬勤 > 正文内容

BGP协议核心(内部bgp)

张世龙2021年12月20日 20:14天道酬勤1340

BGP原理的概述

BGP协议是距离向量(Distance vector )路由协议,但与典型的距离向量协议(如RIP )相比,性能有所提高。 BGP使用TCP作为传输协议,使用端口号179。 在通信的时候,通过建立TCP会话,可以由TCP协议保证数据传输的可靠性,在BGP的协议中不需要使用错误控制和重发的机制,因此减轻了复杂性。 另外,BGP通过使用增量式、触发式的路由更新,而不是典型的距离向量协议路由表范围的周期性更新,从而节省了更新所需的带宽。 BGP还使用“保留”信号“保持”来监视TCP会话的连接。 另外,BGP有几个测量路由路径的测量标准(被称为路由属性),能够更准确地判断最佳路径。 BGP将TCP作为承载协议来建立连接。 因此,与每个IGP跳路由器建立邻居不同,BGP可以跨越多跳路由器建立邻居关系。

BGP和IGP协议对比

协议的分类

IGP (Interiorgatewayprotocols ) ——内部网关协议。 定义为在包括动态路由协议和静态路由的自主系统内使用的路由协议。 IGP的功能是完成包在AS内部的路由,或者说明包是如何通过本地AS的。 RIPv1v2、OSPF和ISIS都是典型的IGP。 外部网关协议(EGP ) ——外部网关协议被定义为在多个自主系统之间使用的路由协议。 主要完成数据包在AS之间的路由。 或者,说明数据包为了到达目标IP需要通过哪个AS。 BGP是一种EGP。 2字节长度的AS号,即1-65535。 其中1-64511为公有AS,64512-65534为私有AS。 从2009年1月开始,IANA决定使用65536-4294967295的4字节长的AS

应用场景

IGP只作用于本地AS内部,对其他AS一无所知。 将包发送到主机所在的网络段(segment )

EGP作用于各AS之间,只理解AS的整体结构,不理解各AS内部的拓扑结构。 只需将数据包发送到适当的AS,剩下的工作就交给IGP了。

BGP报文类型的全面解析

1、open信息:负责与对等方建立邻居关系

2、更新消息:用于在对等端之间传递路由信息(包括可到达或不可到达的路由)

3、Notification消息:检测出错误时,将该消息发送给对等方

4、Keepalive消息:周期性地每60秒发送一次,以维持TCP/IP连接

5、路由刷新消息:表示支持路由刷新能力

BGP的报文类型

Open报文

中的重要字段

版本4

My AS代表是我这个设备的AS号码

路由器id表示设备BGP的路由器id

Hold time时间从0增加到180s,最小为0。 在这种情况下,BGP连接将永远被视为up,并且对等端之间

不会发送keepalive消息以检测邻居是否已过期

选项字段和可变长度字段 )。

Keepalive报文

缺省情况下,保持时间间隔为60秒,保持时间为180秒。 每次从邻居那里收到Kee

pAlive 报文将重置Hold Time定时器,如果Hold Time定时器超时,就认为对等体Down掉。

KeepAlive报文主要用于对等体路由器间的运行状态以及链路的可用性确认。KeepAlive 报文的组成只包括一个BGP数据报头。

Update报文

前面两部分表示路由撤销信息,后面三部分表示路由可达信息 路由可达信息携带各种属性 但是路由撤销信息就不需要携带各种属性了,因为这时候是撤销了Notification报文主要在发生错误或对等体连接被关闭的情况下使用,该消息携带各种错误码(如定时器超时等),以及错误子码和错误信息。

Route-refresh报文

可以在不中断BGP连接的情况下,对BGP路由表进行动态刷新,并应用新的路由策略

BGP协议当中IBGP邻居关系建立

运行在相同AS内的BGP路由器建立的邻居关系为IBGP(Internal BGP)邻居关系

RTB的配置

bgp 345 router-id 1.1.1.1 peer 2.2.2.2 as-number 345 peer 2.2.2.2 connect-interface LoopBack0 # ipv4-family unicast undo synchronization ###默认配置 peer 2.2.2.2 enable ###默认生成

RTC的配置

bgp 345 router-id 2.2.2.2 peer 1.1.1.1 as-number 345 peer 1.1.1.1 connect-interface LoopBack0 # ipv4-family unicast undo synchronization peer 1.1.1.1 enable ###默认生成

注意点:

IBGP的关系 一般建议用loopback建立 loopback比较稳定 可以实现冗余备份

BGP协议当中EBGP邻居关系建立

运行在不同AS之间的BGP路由器建立的邻居关系为EBGP(External BGP)邻居关系

RTB的配置

bgp 345 router-id 1.1.1.1 peer 12.1.1.2 as-number 200 # ipv4-family unicast undo synchronization peer 12.1.1.2 enable ###默认生成 #

RTD的配置

# bgp 200 peer 12.1.1.1 as-number 345 # ipv4-family unicast undo synchronization peer 12.1.1.1 enable ###默认生成 #

注意点:

一般建立ebgp关系的时候 建议大家用物理接口建立 如果用loopback的话 需要修改ttl的数值 peer 1.1.1.1 ebgp-max-hop 2 默认情况下建立ebgp的时候,我们发送数据包的TTL值为1

BGP协议的状态机的详细概述

Idle:空闲状态,BGP系统发出start事件(就是管理员配置BGP的过程),BGP初始化资源,复位连接计时器(32s),发起TCP连接,同时转入Connect状态 Connect:在此状态,BGP发起第一个TCP连接,如果TCP连接成功,就转入OpenSent状态,如果TCP连接失败,就转入Active状态。(TCP连接失败两种情况:1.收到TCP参数协商失败的回复,则进入Active状态,2.对方长时间没有回复,超时,则保持在Connect状态 Active:BGP总是在试图建立TCP连接,如果连接计时器超时,就退回到Connect状态,如果TCP连接成功,就转入OpenSent状态,如果TCP连接失败,就继续保持在Active状态,并继续发起TCP连接。 OpenSent:BGP也已经发送了第一个Open报文,BGP就在等待其对等体发送Open报文。并对收到的Open报文进行正确性检查,如果有错误,系统就会发送一条出错通知消息并退回到Idle状态,如果没有错误,BGP就开始发送Keepalive报文,并复位Keepalive计时器(180s),开始计时。同时转入OpenConfirm状态。 OpenConfirm:BGP等待一个Keepalive报文,如果收到了一个Keepalive报文,就转入Established阶段 Established:BGP对等体交换update、keepalive、route-refresh报文 以后会周期性发送keepalive报文(60s) 如果收到notification报文或者收到TCP拆除链接通知,BGP转至idle状态

BGP的路由生成方式network

Network命令是逐条将IP路由表中已经存在的路由引入到BGP路由表中

通过display命令在RTC上查看是否学到BGP发布的路由条目

BGP的路由生成方式import

Import命令是根据运行的路由协议(RIP,OSPF,ISIS等)将路由引入到BGP路由表中,同时import命令还可以引入直连和静态路由

通过display命令在RTC上查看是否学到BGP引入的路由条目

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/25849.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。