BGP状态机及其总结

拓扑

在这里插入图片描述

基础配置

1、IGP

(1)AR-1,AR-2,AR-3运行OSPF协议
AR-1,AR-2的环回口宣告进OSPF协议,AR-3环回口不要宣告进OSPF
(2)AR-4与AR-5运行IS-IS协议,将各自环回口宣告进IS-IS协议

2、静态路由

在AR3与AR5互相配置指向对方环回接口的静态路由

3、BGP

IBGP: AR-1与AR-3通过环回口建立IBGP邻居(AS 100)
EBGP:AR-3与AR-4通过直连物理接口建立EBGP邻居
AR-3与AR-5通过环回接口建立EBGP邻居

[AR-5]bgp 200
[AR-5-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[AR-5-bgp]peer 3.3.3.3 next-hop-local
[AR-5-bgp]peer 3.3.3.3 ebgp-max-hop
其他设备配置类似

dis bgp peer
在这里插入图片描述

BGP状态停留测试

1、Idel空闲状态(不进行TCP连接也不发送任何BGP报文)

本BGP设备的IP路由表内不存在去往邻居的路由信息

(1)只在设备AR1配置了以下命令,其他设备没有配置BGP的相关信息

[AR-1]bgp 100
[AR-1-bgp]router-id 1.1.1.1
[AR-1-bgp]peer 3.3.3.3 connect-interface l0
[AR-1-bgp]peer 3.3.3.3 next-hop-local

dis bgp peer
在这里插入图片描述
(2)在IBGP全互联的情况下,执行以下命令

[AR-1-bgp]undo peer 12.1.1.2 

[AR-2-bgp]undo peer 23.1.1.3
[AR-2-bgp]undo peer 12.1.1.1

[AR-3-bgp]undo peer 23.1.1.2

dis bgp peer
在这里插入图片描述
2、Connect连接状态

尝试TCP连接状态

(1)本地设备存在去往指定邻居的路由,但是中间设备不存在去往指定邻居的路由

[AR-1-bgp]undo peer 12.1.1.2 

[AR-2-bgp]undo peer 23.1.1.3
[AR-2-bgp]undo peer 12.1.1.1

[AR-3-bgp]undo peer 23.1.1.2

dis bgp peer
在这里插入图片描述
(2)EBGP建立邻居数据包的TTL值消耗殆尽

AR6

isis 1
 auto-cost enable
 network-entity 49.0001.0000.0000.0006.00
#
interface GigabitEthernet0/0/0
 ip address 56.1.1.6 255.255.255.0 
 isis enable 1
#
interface LoopBack0
 ip address 6.6.6.6 255.255.255.255 
 isis enable 1
#
bgp 200
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 ebgp-max-hop 255 
 peer 3.3.3.3 connect-interface LoopBack0
 peer 5.5.5.5 as-number 200 
 peer 5.5.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 3.3.3.3 enable
  peer 5.5.5.5 enable
#
ip route-static 0.0.0.0 0.0.0.0 56.1.1.5
#
[AR-3-bgp]peer 6.6.6.6 ebgp-max-hop

[AR-6-bgp]peer 3.3.3.3 ebgp-max-hop

dis bgp peer
在这里插入图片描述
修改EBGP数据包中的TTL值为1

[AR-6-bgp]peer 3.3.3.3 ebgp-max-hop 1

[AR-3-bgp]peer 6.6.6.6 ebgp-max-hop 1

dis bgp peer
在这里插入图片描述
3、Active:活跃状态

TCP连接失败,完成重传计时器后重新发起新一轮TCP连接

dis bgp peer
在这里插入图片描述
(1)指定邻居地址错误

[AR-2-bgp]peer 12.1.1.3 as 100
[AR-2-bgp]undo peer 12.1.1.1

dis bgp peer
在这里插入图片描述
(2)与邻居R-ID重复(短暂出现在Active状态)

[AR-1-bgp]router-id 3.3.3.3

在这里插入图片描述
AR3的g0/0/1接口,开启抓包;(重新启动邻居状态)
在这里插入图片描述
在这里插入图片描述

总结

BGP5种报文类型

Open:协商邻居

TCP 会话建立起来自以后,两个邻居都要发送一个 Open 报文,每个邻居都使用该报文标识自己,并且规定自己的 BGP 运行参数。如果 open 消息被接受,则回送一条 keepalive 消息进行确认,确认后就能发送 update

Update:更新路由/撤销路由

Update报文进行路由信息的交换;Update报文既用来通告可用路由信息,也可以通告不可达需要撤销的路由信息

Notification:错误通告

当BGP检测到错误状态时,就会向对等体发出Notification通知报文,之后BGP连接会立即中断

Keeplive:保持邻居关系

如果路由器接受了邻居在 OPEN 消息中的参数,就会应答一个 keeplive 消息,并且在此后 1/3 的 holdtime(但不小于 1S)为周期发送该消息,华为设备默认 60S一发,保持时间默认180S。如果协商后保持时间为 0,标识此邻居永远UP,则不发送 keepalive 保活消息

Route-refresh:用来刷新路由

路由刷新报文用来要求对等体重新发送指定地址族的路由信息

BGP状态机

1、Idle状态

Ide-----空闲状态

(1)BGP空闲状态,在Idle状态下BGP拒绝邻居发送的连接请求,此时等待由BGP系统发出的Start事件
(2)Start(管理员配置邻居)事件发生后,BGP会对自己的资源进行初始化,重置连接计时器(Connect Retry 默认32S)发起TCP连接请求,并开始侦听远端对等体发起的连接端口,并转至Connect状态

2、Connect状态

Connect-----连接状态-----发起TCP的三次握手

在Connect状态下,BGP启动连接重传定时器,等待TCP完成连接。
(1)如果TCP连接成功,那么BGP会向对等体发送Open报文,并转至OpenSent状态
(2)如果TCP连接失败,那么BGP转至Active状态
(3)如果连接重传定时器超时,BGP任没有收到BGP对等体的响应,那么BGP继续尝试TCP连接,停留在Connect状态。

3、Active状态

Actieve-----活跃状态-----不断重新发起TCP的三次握手

在Active状态下,BGP总是试图建立TCP连接
(1)如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent
(2)如果TCP连接失败,停留在Active状态
(3)如果连接重传定时器超时,任没有收到BGP对等体的响应,那么BGP转至Connect状态

4、OpenSent状态

openset-----发送open报文协商部居关系

在OpenSent状态,BGP等对等体的Open报文,并对收到的Open报文中的AS号,版本号,认证信息等进行检查
(1)如果收到的Open报文正确,那么BGP发送Keepalive报文,且重置Keepalive定时器,并转至OpenConfirm状态。
(2)如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体。并转至Idle状态。

5、OpenConfirm状态

Openconfim-----自己发送Keeplive-----等待对方的Keeplieve

在OpenConfirm状态下,BGP等待Keepalive或Notification报文。
(1)如果收到Keepalive报文,则转至Established状态(BGP邻居的最终状态)
(2)如果收到Notification报文,则转至Idle状态

6、Established状态

Established-----最终状态----接下来就可以发送UPdate

在Established状态下,BGP对等体之间交互Update,Keepalive,Route-refresh报文和Notification报文。

BGP邻居的建立

1、通用事项

(1)建立邻居之前请先检查本设备BGP的更新源地址与对端更新源地址网络互通。
(2)确保本设备为任何针对BGP邻居地址的TCP-179的限制或者策略

2、EBGP邻居建立

(1)不同AS号的BGP设备建立EBGP邻居,用于不同AS之间路由信息的传递
(2)EBGP建立邻居建议采用直连物理接口
(3)如果EBGP邻居之间存在多条直连路径,需要指定建立BGP邻居的更新源地址(connect-interface 接口编号)
(4)如果采用环回口建立EBGP邻居,必须补充以下两步
必须指定对等体的更新源地址

[AR-3-bgp]peer 12.1.1.1 connect-interface LoopBack 0 //指定与12.1.1.1建立邻居时更新源地址为本设备的环回口0必须更改建立邻居数据包的TTL值参数(EBGP的数据包,TTL默认为1)
[AR-3-bgp]peer 34.1.1.4 ebgp-max-hop                 //修改与34.1.1.4建立EBGP邻居的数据包TTL值为X,如果不明写则修改为255

(5)如果采用物理接口建立邻居,存在多条路径,且属于非直连状态时,需要指定更新源

3、IBGP邻居建立

(1)同AS号的BGP设备建立IBGP邻居,用来传递本AS内路由信息的传递
(2)IBGP建立邻居建议采用设备环回口,如果采用环回口建立邻居,必须执行以下动作
必须指定对等体的更新源地址

[AR-3-bgp]peer 12.1.1.1 connect-interface LoopBack 0 //指定与12.1.1.1建立邻居时更新源地址为本设备的环回口0(建立IBGP邻居建议采用环回口)

(3)如果采用物理接口建立邻居,存在多条路径,且属于非直连状态时,需要指定更新源

BGP邻居关系建立

在这里插入图片描述

BGP路由属性及所属类型

类型 属性类型代码 属性类型
公认必须遵循 1 Origin(源)
公认必须遵循 2 AS-Path(AS路径)
公认必须遵循 3 Next_Hope(下一跳)
可选非过渡/可选非传递 4 Multi_Exit_Dise(多出口区分)
公认任意 5 Local_Pref(本地优先级)
公认任意 6 Atomic_Aggregate
公认任意 7 Aggregator
可选过渡/可选传递 8 Community(团体)
可选非过渡/可选非传递 9 Originator_ID
可选非过渡/可选非传递 10 Cluster_List

在这里插入图片描述

本人所有文章都受版权保护,著作权归艺博东所有!未经授权,转载必究或附上其原创链接。

猜你喜欢

转载自blog.csdn.net/HYD696/article/details/106827921