BGP报文和BGP邻居状态

BGP5message


 1.  Open code 1):用于创建链接,包含版本号(如BGP3/BGP4Hold Time90sRFC1771规定的。是一个协商的过程,以较小的Hold Time为准),Router-IDOSPFBGP能够手动配置),AS(范围从165535,其中6451265535 AS编号范围留做私有) 

2.   KeepAlivescode 4):周期发送用于维护链接检查路径(这个包是不可靠的),THold Time/3, Hold Time=0 => No KeepAlive.keepalive 是个19 字节周期发送的BGP 消息头标,没有数据域。

3.   Updatecode 2):消息包含了三个组件:网络层可达性消息(NLRI)、路径属性和被撤销的路由。包括到达目的网络的路径和属性,更新路由信息用,一次更新只有一条路径,但能够有多条网络。Update能够删除(宣告不可达)和增长(宣告可达)路由.其内容是前缀的长度。

4.   Notificationcode 3):网络中出现错误(Error),检测到后断开链接并发送通知给对方。

5Route-Reflesh message:一个可选的message (negotiated during capability advertisement) that is sent to request dynamic BGP route updates from the Adj-RIB-Out table of a remote BGP speaker

  协商过程基本上是:Idelconnectopen sentopen confirmestablish

BGP邻居创建会话的5种状态: 
1.       Idle:查找路由表,该过程BGP对它的资源进行初始化,复位一个链接重试计时器,发起一条TCP 链接,并开始倾听远程对等体所发起的链接。 
2  Connect:找到路由表后进行TCP三次握手,TCP 链接成功,则转到OpenSent状态,TCP链接失败,则转到active 状态,将尝试再次链接。 
3  Open Sent:握上手后发送Open message消息,等待其对等体发送打开消息,若是出错,则发送一条出错消息并退回空闲状态,若是无错,则开始发送Keepalive 并复位keepalive 计时器。 
4  Open Confirm:收到对方发来的Open消息,若是收到keepalive 消息,BGP 就进入established状态,邻居关系协商完成;若是系统收到一条更新或keepalive 消息,它将从新启动保持计时器;若是收到Notification消息,BGP 就退回到空闲状态。 
5  Established:会话创建,邻居关系协商过程最终状态;这时BGP将开始与它的对等体交换路由更新数据包。 
PS: Active状态:当路由器发送出OPEN包给邻居等待回应,若是长时间未接收到回应则超时,超时后状态更改成Idle仍是connect状态?试图发起TCP链接得到对等体,成功转到Open Sent状态,链接重试计时器超时,退回链接状态,这是因为TCP链路上出现了问题所致。?? 
产生问题的缘由主要有: 
1.         Neighbor命令后面的ip-address配置有错; 
2.         没有打上Neighbor命令(两边都要) 
3.         更新源错误,或者更新源不可达。 
answer: 

1.BGP speaker处于active状态,BGP尝试经过初始化传输协议链接来造成peer。若是传输链接创建,则进入OpenSent状态。(同时发送OPEN信息)。若是ConnectRetry 计时器超时,BGP重启ConnectRetry计时器,而且退回到Connect 状态。只有当系统停止,或者人为地把TCP停止时才退到Idle状态。

2.问:在IBGP关系中,在sh ip b的时候看到的那个next-hopip 地址。下一跳地址,就是通告该路由的IBGP  更新源。???仍是Router-id???

answernext-hopIP地址是更新源地址。Router-ID其实只是路由器的一个标识而已,没有太多的意义。能够是虚拟的。好比,它一般就是loopback地址。不要求必定TCP可达。可是更新源必须TCP可达。不然怎么保障路由信息更新的必定传达目的地?对吧。

还有一个解决方法关键看sh ip bgp nei里面的tcp会话那一块,又仍是没有。若是没有,检查路由和acl网络

相关文章
相关标签/搜索