快捷搜索:  汽车  科技

bgp使用的传输协议:BGP协议详解

bgp使用的传输协议:BGP协议详解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的关系 一般建

BGP原理的概述

BGP协议是一种距离矢量(Distance vector)的路由协议,但是比起RIP等典型的距离矢量协议,又有很多增强的性能。BGP使用TCP作为传输协议,使用端口号179。在通信时,要先建立TCP会话,这样数据传输的可靠性就由TCP协议来保证,而在BGP的协议中就不用再使用差错控制和重传的机制,从而简化了复杂的程度。另外,BGP使用增量的、触发性的路由更新,而不是一般的距离矢量协议的整个路由表的、周期性的更新,这样节省了更新所占用的带宽。BGP还使用“保留”信号(Keepalive)来监视TCP会话的连接。而且,BGP还有多种衡量路由路径的度量标准(称为路由属性),可以更加准确的判断出最优的路径。
BGP使用TCP作为其承载协议建立连接。因此与IGP逐跳路由器建立邻居不同,BGP可以跨越多跳路由器建立邻居关系。

bgp使用的传输协议:BGP协议详解(1)

BGP和IGP协议对比协议的分类

IGP(Interior gateway protocols)——内部网关协议,定义为在一个自治系统内部使用的路由协议(包括动态路由协议和静态路由)。IGP的功能是完成数据包在AS内部的路由选择,或者说,是讲述数据包如何穿过本地AS的。RIPv1&v2,OSPF,ISIS都是典型的IGP。
EGP(Exterior gateway protocols)——外部网关协议,定义为在多个自治系统之间使用的路由协议。它主要完成数据包在AS间的路由选择,或者说,讲述数据包为了到达目的IP,需要通过哪些AS。BGP就是一种EGP。
2字节长度的AS号码,即1-65535。其中1-64511为公有AS,64512-65534为私有AS。在2009年1月之后,IANA决定使用4字节长度AS,范围是65536-4294967295

应用场景

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

EGP作用于各AS之间,它只了解AS的整体结构,而不了解各个AS内部的拓扑结构。它只负责将数据包发到相应的AS中,余下的工作便交给IGP来做。

BGP报文类型的全面解析

1、Open报文:负责和对等体建立邻居关系 2、update报文:被用来在对等体之间传递路由信息(包括可达路由或者不可达路由) 3、Notification报文:检测到错误的时候,就发送该消息给对等体 4、Keepalive报文:周期性每60秒发送,用来维护TCP/IP连接 5、Route-refresh报文:表示自己支持路由刷新能力

bgp使用的传输协议:BGP协议详解(2)

BGP的报文类型

bgp使用的传输协议:BGP协议详解(3)

Open报文

bgp使用的传输协议:BGP协议详解(4)

bgp使用的传输协议:BGP协议详解(5)

里面比较重要的字段 version v4版本 My AS 代表是我该设备的AS号码 router id 代表该设备的BGP的router id Hold time时间 从0开始一直增加到180s,最小可以为0,这种情况下BGP连接被认为永远是up,对等体之间 不会发送keepalive报文来检测邻居是否失效 可选字段和可变长字段

bgp使用的传输协议:BGP协议详解(6)

Keepalive报文

bgp使用的传输协议:BGP协议详解(7)

缺省情况下,发送KeepAlive 的时间间隔为 60 秒,Hold Time是180秒。每次从邻居处接收到KeepAlive 报文将重置Hold Time定时器,如果Hold Time定时器超时,就认为对等体Down掉。

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

Update报文

bgp使用的传输协议:BGP协议详解(8)

前面两部分表示路由撤销信息,后面三部分表示路由可达信息 路由可达信息携带各种属性 但是路由撤销信息就不需要携带各种属性了,因为这时候是撤销了

Notification报文主要在发生错误或对等体连接被关闭的情况下使用,该消息携带各种错误码(如定时器超时等),以及错误子码和错误信息。

bgp使用的传输协议:BGP协议详解(9)

Route-refresh报文

bgp使用的传输协议:BGP协议详解(10)

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

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

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

bgp使用的传输协议:BGP协议详解(11)

RTB的配置

bgp使用的传输协议:BGP协议详解(12)

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 ###默认生成

bgp使用的传输协议:BGP协议详解(13)

RTC的配置

bgp使用的传输协议:BGP协议详解(14)

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 ###默认生成

bgp使用的传输协议:BGP协议详解(15)

注意点:

IBGP的关系 一般建议用loopback建立 loopback比较稳定 可以实现冗余备份BGP协议当中EBGP邻居关系建立

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

bgp使用的传输协议:BGP协议详解(16)

RTB的配置

bgp使用的传输协议:BGP协议详解(17)

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 ###默认生成 #

bgp使用的传输协议:BGP协议详解(18)

RTD的配置

bgp使用的传输协议:BGP协议详解(19)

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

bgp使用的传输协议:BGP协议详解(20)

注意点:

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

bgp使用的传输协议:BGP协议详解(21)

bgp使用的传输协议:BGP协议详解(22)

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使用的传输协议:BGP协议详解(23)

BGP的路由生成方式network

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

bgp使用的传输协议:BGP协议详解(24)

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

bgp使用的传输协议:BGP协议详解(25)

BGP的路由生成方式import

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

bgp使用的传输协议:BGP协议详解(26)

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

bgp使用的传输协议:BGP协议详解(27)

猜您喜欢: