bgp状态idle什么原因_BGP详解

为什么使用BGP

BGP是可靠的,基于TCP(Port Numer 179)进行建立和维护连接,并且具有并使用TCP的滑动窗口的机制来更新路由表,可以支持一次性的大量路由条目的更新. BGP是增量更新,同时也是触发更新;周期性的发送Keepalive 信息来验证TCP连接是否正常,以确保对方的路由器状态是正常的。

PS:EIGRP(使用IPV4协议号89)和OSPF-V2(使用IPV4协议号88)使用One-One 窗口机制,OSPF一次更新100条路由。

BGP的使用原则

1.   多条路径时,BGP Speaker只选最优的给自己使用

2.   BGP Speaker只把自己的路由通告给邻居

3.   从EBGP获得的路由会向它所有BGP 邻居通告(EBGP/IBGP)

BGP Speaker从IBGP获得的路由不会通告给它的IBGP邻居(BGP 的水平分割)IGP是基于端口的水平分割;而IBGP是基于邻居的水平分割。水平分割的作用是避免产生路由环路。

4.   BGP Speaker从IBGP获得的路由是否通告给它的EBGP邻居要服从IGP和BGP是否同步来决定

5.   邻居关系一建立,BGP Speaker就把自己所有的BGP最优路由通告给新的邻居

BGP邻居协商过程(4种Message)

1. Open (code 1):用于建立连接,包含版本号(如BGP3/BGP4)Hold Time=180s(是一个协商的过程,以较小的Hold Time为准),Router-ID(OSPF和BGP可以手动配置),AS号(范围从1~65535,其中64512~65535 的AS编号范围留作私有);

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

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

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

5.Route-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

PS :BG Ptime

在BGP路由配置模式下可以配置全局的BGP timer :timers bgp 70 210

对于特定的neighbor可以使用特定的 BGP timer:neighbor 172.17.1.2 timers 80 240

过程:Idel,connect,open sent,open confirm,establish。

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,试图发起TCP连接获得对等体,成功转到Open Sent状态,连接重试计时器超时,退回连接状态。,这是由于TCP链路上出现了问题所致。??

产生问题的原因主要有:

1.          Neighbor命令后面的ip-address配置有错;

2.          没有打上Neighbor命令(两边都要)

3.          更新源错误,或者更新源不可达。

Debug信息:

Aspen#

18:24:33: BGP: 192.168.1.221 went from Idle to Active

18:24:41: BGP: 192.168.1.221 went from Active to OpenSent

18:24:42: BGP: 192.168.1.221 went from OpenSent to OpenConfirm

18:24:42: BGP: 192.168.1.221 went from OpenConfirm to Established

18:24:43: BGP: 192.168.1.221 computing updates, neighbor version 0, table version

n 1, starting at .0

18:24:43: BGP: 192.168.1.221 update run completed, ran for 0ms, neighbor version

0, start version 1, throttled to 1, check point net .0

BGP Input Events

BGP的3个数据库

邻居表、BGP转发表(也叫转发库)、IP路由表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值