1. > 智能数码 >

bgp状态机 apb状态机

在bgp 状态机中,哪几个状态是在建立了tcp 连接之后发生的

idle(空闲):

idle

是bgp连接的第一个状态,在空闲状态,bgp在等待一个启动事件,启动事件出现以后,bgp初始化资源,复位连接重试计时器(connect-retry),发起一条tcp连接,同时转入connect(连接)状态。

connect(连接):

在connect

状态,bgp发起第一个tcp连接,如果

连接重试计时器(connect-retry)超时,就重新发起tcp连接,并继续保持在connect

状态,如果tcp

连接成功,就转入opensent

状态,如果tcp

连接失败,就转入active

状态。

active(活跃):

在active状态,bgp总是在试图建立tcp

连接,如果连接重试计时器(connect-retry)超时,就退回到connect

状态,如果tcp

连接成功,就转入opensent

状态,如果tcp

连接失败,就继续保持在active状态,并继续发起tcp连接。

opensent(打开消息已发送):

在opensent

状态,tcp连接已经建立,bgp也已经发送了第一个open报文,剩下的工作,bgp就在等待其对等体发送open

报文。并对收到的open报文进行正确性检查,如果有错误,系统就会发送一条出错通知消息并退回到idle状态,如果没有错误,bgp就开始发送keepalive

报文,并复位keepalive

计时器,开始计时。同时转入openconfirm状态。

openconfirm(打开消息确认)状态:

在openconfirm状态,bgp发送一个keepalive

报文,同时复位保持计时器,如果收到了一个keepalive

报文,就转入established

阶段,bgp邻居关系就建立起来了。如果tcp连接中断,就退回到idle

状态。

established(连接已建立):

在established

状态,bgp

邻居关系已经建立,这时,bgp将和它的邻居们交换update

报文,同时复位保持计时器。

【HCIP】3BGP协议-2.3BGP邻居关系的建立

我们上节谈到BGP的状态机

在TCP三次握手阶段有idle,connect,active,接着发送open报文、openSent报文,opencofirm报文,keepalive报文,最后是established报文。这样邻居就正常建立起来了,在邻居建立之后还会有update报文,keepalive报文,route-refresh报文、出现错误的时候会发notification报文

我们可以重新创建两个路由器进行如下实验:

1、如果还有之前的项目可以将其改变,主要是增加loopback 1接口

2、去除原来的bgp中的network设置,将192.168.1.1加入loopback 1

3、在R2中去除loopback 0 然后设置loopback 1加入路由192.168.2.1

最后查看各自bgp路由表发现都是空的,就可以继续开始实验了。

BGP协议的特点:

1、BGP不对路由进行计算,我们可以在通过loopback建立邻居的实验中使用以下命令查询bgp的路由表,会发现路由表中并没有存路由信息。

2、BGP只是路由的搬运工,

BGP路由的生成方式有两种

1、Network

2、import-route

bgp状态机 apb状态机bgp状态机 apb状态机


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

2、BGP中的network‘命令不再具备将接口加入到BGP进程的逻辑,只是将路由表中的路由引入到BGP表中,并且通告给邻居。

3、network可以精确控制发布哪些BGP路由。

简单的说我们只要通过路由表能查到的路由,我们就可以通过network命令将它发布出去。

继续上次实验:

然后查询bgp路由表

将路由表中的路由引入到BGP中,高效便捷。

继续试验,我们在R1中加入更多的静态路由

我们这些静态路由可以使用network引入bgp路由表中,但是面对几百条静态路由就显得力不从心了

这个时候我们可以使用import-routele了

我们使用以下命令

就可以发现引入的静态路由都被引入了。

如果需要过滤操作,比如部分static路由引入我们可以在其后追加route-policy import(此处为以后自定义策略的名称)等的命令,以后会详细描述。

比如我们看到引入的静态路由列表中把 2.2.2.2的路由也引入进去了,我现在只想要引入2.2.2.2的静态路由。

现在我们进行以下操作

1、我们先添加一条路由策略,定义一条名为test的前缀列表为1的路由策略。

2、进入bgp 1中

我们只引入名字为test的策略路由

现在我们看bgp的路由表

1、network命令可以逐条的将IP路由表中已经存在的路由引入到bgp路由表中。

2、import-route命令是根路由协议(rip、ospf、ISIS)将路由引入到BGP路由表中,同时import命令还可以引入直连和静态路由。

bgp通过什么方式在两个相邻体之间建立会话

tcp 179

BGP建立邻居采用有限状态机,共有6种状态。BGP的运行流程就是在这6种状态之间根据资源和事件的要求作转换。它们分别是:

1.Idle

BGP协议初始时是处于Idle状态。在这个状态时,系统不分配任何资源,也拒绝所有进入的BGP连接。只有收到Start Event时,才分配BGP资源,启动ConnectRetry计时器,启动对其它BGP对等体的传输层连接,同时也侦听是否有来自其它对等体的连接请求。

2.Connect

这个状态下,BGP等待TCP完成连接。若连接成功,本地清空ConnectRetry计时器,并向对等体发送OPEN报文,然后状态改变为OpenSent状态;否则,本地重置ConnectRetry计时器,侦听是否有对等体启动连接,并移至Active状态。

3.Active

这个状态下, BGP初始化TCP连接来获得一个对等体。如果连接成功,本地清空ConnectRetry计时器,并向对等体发送OPEN报文,并转至OpenSent状态。

4.OpenSent

这个状态下,BGP等待对等体的OPEN报文。收到报文后对报文进行检查,如果发现错误,本地发送NOTIFICATION报文给对等体,并改变状态为IDLE。如果报文正确,BGP发送KEEPALIVE报文,并转至OpenConfirm状态。

5.OpenConfirm

这个状态下,BGP等待KEEPALIVE或NOTIFICATION报文。如果收到KEEPALIVE报文,则进入Established状态,如果收到NOTIFICATION报文,则变为Idle状态。

6.Established

这个状态下, BGP可以和其他对等体交换UPDATE,NOTIFICATION,KEEPALIVE报文。如果收到了正确的UPDATE或KEEPALIVE报文,就认为对端处于正常运行状态,本地重置HoldTimer。如果收到NOTIFICATION报文,本地转到Idle状态。如果收到错误的UPDATE报文,本地发送NOTIFICATION报文通知对端,并改变本地状态为Idle。如果收到了TCP拆链通知,本地关闭BGP连接,并回到Idle状态。

17款速腾仪表盘trip车一走就显示定速巡航标志,一停车就显示公里数

:2021年3月30日

最佳回答:是单次旅程行程的意思,可以按下清零,如果你不管他跑到2000他也会自己归零,有的车设置的不是2000公里但意思都一样。”TRIP“ 会话...

百度知道

BGP邻居关系(3)

BGP按照运行方式分为eBGP和iBGP两种邻居关系:

eBGP(External BGP):运行在不同AS之间的BGP,可以通过AS_Path防环;

iBGP(Internal BGP):运行在相同AS内的BGP,可以通过IBGP水平分割防环;

如果配置了路由反射器RR,Originator-ID属性用于集群内防环,Cluster-List属性用于集群间防环;

如果配置了联盟,as-confederation-sequence和as-confederation-set两种类型的AS-Path实现防环;

BGP路由器标识(RouterID)

在BGP会话建立时,Open报文中携带;

用于BGP网络中唯一标识一台BGP设备,4字节长度,IPv4地址形式;

BGP RouterID和OSPF RouterID一样,可以手工指定,也可以自动选取;

优选loopback地址大的,其次优选物理接口地址大的;

一、BGP状态机和邻居建立过程

1、Idle 初始状态,发起TCP连接,转至Connect状态;

2、Connect

(1)如果完成TCP连接,发送Open报文,转至OpenSent状态;

(2)如果连接重传定时器(32s)超时,都没有收到对等体响应,停留在Connect状态,继续尝试连接;

bgp状态机 apb状态机bgp状态机 apb状态机


(3)如果TCP连接失败,转至Active状态;

3、Active

(1)继续尝试连接,如果TCP连接成功,发送Open报文,转至OpenSent状态;

(2)如果TCP连接失败,停留在Active状态;

(3)如果连接重传定时器超时,都没有收到对等体响应,转至Connect状态;

4、OpenSent 收到对等体的Open报文,协商成功,发送KeepAlive报文并转至OpenConfirm状态;

5、OpenConfirm 收到对等体KeepAlive报文,转至Established状态;

6、Established

bgp状态机 apb状态机bgp状态机 apb状态机


BGP依靠TCP来传输,底层的TCP会话建立成功后,才能够建立BGP邻居关系;

任何错误事件都将导致邻居状态回到Idle,重新尝试建立TCP会话;

二、影响BGP邻居建立的因素

1、对等体地址不可达;

2、更新源问题;

3、eBGP跳数问题;

4、BGP版本不一致;

5、AS号不一致;

6、RouterID冲突;

7、BGP认证错误;

8、TCP 179端口被封堵;

三、BGP对等体交互原则

BGP对等体通告原则:

(1)BGP只把自己使用的最优路由通告给对等体;

(2)从EBGP对等体学来的路由,可以发布给EBGP对等体和IBGP对等体;

(3)从IBGP对等体学来的路由,只发布给EBGP对等体;

(4)从IBGP对等体学来的路由,不会通告给其他IBGP对等体;

BGP的主要功能是什么?它的报文有几种?BGP用这几种报文实现的功能过程有哪些?

bgp主要是用于as间互联,运营商用的比较多,大型的企业也有用的,不过规模就比较大了;不过作为它的扩展产品,mp_bgp应用的范围就比较多了,比如在mpls-vpn中的应用以及其他的一些应用,具体的可以搜一下。

报文有几种,open,keepalive,update,notification,功能实现什么的,扩展开去有的讲了,你可以买本书看看,或者找找资料

BGP工作原理(5)

BGP

是一种基于路径矢量的 EGP,主要用于 AS 之间的路由传递与控制,而 IGP 主要负责 AS 内部的路由发现和计算。 BGP 是基于 TCP

端口号 179 的路由协议,基于 TCP 的优点体现在:三次握手建立邻居的可靠机制;可以跨链路建立邻居关系; TCP 有确认重传机制,无需在

BGP 中完成; BGP 的认证由 TCP 完成的,认证字段在 TCP 头部的 option 中。

BGP的状态机

Idle 状态是 BGP 初始状态。在 Idle 状态下, BGP 拒绝邻居发送的连接请求。只有在收到本设备的 Start 事件后, BGP 才开始尝试和其它 BGP 对等体进行 TCP 连接,并转至 Connect 状态。

在 Connect 状态下, BGP 启动连接重传定时器(Connect Retry),等待 TCP 完成连接。

如果 TCP 连接成功,那么 BGP 向对等体发送 Open 报文,并转至 OpenSent状态。

如果 TCP 连接失败,那么 BGP 转至 Active 状态。

如果连接重传定时器超时, BGP 仍没有收到 BGP 对等体的响应,那么 BGP继续尝试和其它 BGP 对等体进行 TCP 连接,停留在 Connect 状态。

在 Active 状态下, BGP 总是在试图建立 TCP 连接。

如果 TCP 连接成功,那么 BGP 向对等体发送 Open 报文,关闭连接重传定时器,并转至 OpenSent 状态。

如果 TCP 连接失败,那么 BGP 停留在 Active 状态。

如果连接重传定时器超时, BGP 仍没有收到 BGP 对等体的响应,那么 BGP转至 Connect 状态。

在 OpenSent 状态下, BGP 等待对等体的 Open 报文,并对收到的 Open 报文中的 AS 号、版本号、认证码等进行检查

如果收到的 Open 报文正确,那么 BGP 发送 Keepalive 报文,并转至OpenConfirm 状态。

如果发现收到的 Open 报文有错误,那么 BGP 发送 Notification 报文给对等体

,并转至 Idle 状态。

在 OpenConfirm 状态下, BGP 等待 Keepalive 或 Notification 报文。如果收到Keepalive 报文,则转至 Established 状态,如果收到 Notification 报文,则转至Idle 状态。

在 Established 状态下, BGP 可以和对等体交换 Update、 Keepalive、 Routerefresh 报文和 Notification 报文。

如果收到正确的 Update 或 Keepalive 报文,那么 BGP 就认为对端处于正常运行状态,将保持 BGP 连接。

如果收到错误的 Update 或 Keepalive 报文,那么 BGP 发送 Notification 报文通知对端,并转至 Idle 状态。

Route-refresh 报文不会改变 BGP 状态。

如果收到 Notification 报文,那么 BGP 转至 Idle 状态。

如果收到 TCP 拆链通知,那么 BGP 断开连接,转至 Idle 状态。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息