数通HCIP笔记(11)
三.BGP的工作步骤(消息报文的应用)
1.首先在使能BGP相关配置后两台BGP发言者会通过更新源地址互相建立TCP三次握手
PS:此时由于BGP配置时在两端都进行了对等体的互指,都会触发start事件,则会双方相互建立TCP三次握手,由于TCP本身就是双方的连接,所以要断开一方,保留RID大的一方
2.TCP建立完成后直接发送Open报文来协商BGP相关参数用来确定BGP是否能够建立,若协商完成后,且BGP稳定后,互相通告keep alive报文来维护对等体关系,
·此时若需要通告或删除路由时,则通过Update报文进行承载传输(TLV的形式承载)
·路由如果出现变化,由于BGP收敛较慢,则可以通过route-refresh报文进行刷新
3.若当本地BGP运行时发现错误则发送notification报文通知对等体解除邻居关系
四.BGP状态机制与BGP路由
1.状态机
①Idle:空闲状态属于BGP的初始状态,该状态下不会回应任何设备的TCP连接请求,被start事件触发后尝试建立TCP连接状态迁移至Connect
PS:任何状态下收到notification报文或TCP拆连消息等error,BGP状态都会回到Idle状态
②Connect :连接状态,被Start事件触发,开始尝试建立TCP连接同时,启动了连接重传定时器32s,等待TCP完成连接的建立
·如果TCP成功则发送Open报文,并关闭连接重传定时器,并将状态迁移至OpenSent状态
·如果TCP建立失败,则BGP状态迁移至active状态
·如果连接重传定时器超时任未依旧没有收到对等体的回应,则继续尝试与其他对等体建立TCP连接,停留在connect状态
③Active(激活状态)TCP建立失败后进入此状态,该状态下一直尝试建立TCP连接,若建立成功则立即发送open报文,并关闭连接重传定时器,并将状态迁移至opensent状态
·若失败停留在active状态
·若连接重传定时器超时,依旧没有收到对等体的回应,则BGP状态退回connect状态
④Opensent:打开发送状态
TCP建立完成,立即发送open报文,进入该状态,并等对等体发送open报文,对收到的open报文的AS号版本号,认证数据进行协商
·open正确,发送keepalive,状态迁移至openconfirm状态
·open错误,发送notification报文状态回退到idle状态
⑤openconfirm:打开确认状态
Open报文协商成功后发送keepalive报文后进入该状态,等待收到正确的keepalive:
·若收到keepalive报文错误则发送notification报文状态回退到idle状态
·若收到keepalive报文正确,则进入Establish状态
⑥Establish:建立成功状态
收到keepalive报文正确,表示邻居建立成功,在此状态下BGP可以交互报文
·若收到正确的update/keepalive则认为对端邻居正常运行状态,保持BGP对等体关系
·若收到错误的update/keepalive则发送notification报文,状态退回idle
PS:route-refresh报文不会改变BGP状态
2.BGP状态停留问题
①Idle
·本地设备上没有去往目的的路由
·收到notification报文(管理员配置协商参数配置错误)
②connect(尝试建立并非失败)
·中转设备有去往目的路由
·建立EBGP TTL值消耗殆尽
③Active(TCP建立失败)
·指定更新源地址错误
④Opensent,状态
没有在时间内收到open 超时后则发送错误报文 回到Idle状态
3.BGP路由生成
BGP本身并不发现路由,需要将其他路由导入到路由表中,以此来生成BGP路由实现在AS间传递路由
·network:在BGP协议试图下配置,路由必须在IP路由表中存在,严格要求掩码长度要与IP路由表一致(目的地与下一跳一样则为无效路由,更新源地址不能被宣告到BGP,因为更新源会作为下一跳传递给对等体)
·import:在BGP视图下配置,通过引入不同的路由协议,ISIS OSPF 静态 直连,将路由 通告进BGP
4.BGP四条通告原则
①仅将自身有效且最优的路由通告给对等体(判断路由是否有效就是判断下一跳是否可达)
②从EBGP对等体学来的路由会通告给自己所有对等体
③从IBGP学来的路由不会传递给自己的IBGP(水平分割)
④BGP与IGP同步(思科默认关闭可以开启,华为永不开启)
·BGP设备在从IBGP学来一条路由再发给EBGP对等体时,必须通过IGP也学习到这条路由否则不会进行传递(主要用于规避路由黑洞问题)
A.若同步检查开启:当收到IBGP对等体发布的路由时,如果该路由在IGP也学习到,才会将该路由通告给EBGP对等体
若在IGP中并未学习到,不会通告给EBGP对等体
B.若同步检查关闭:当收到IBGP对等体发布的路由时,会将该路由通告给EBGP对等体,但是不会发布给自身IBGP对等体
PS:如何解决路由黑洞的问题
由于“BGP与IGP同步”通告规则默认关闭,则无法规避路由黑洞问题,如何解决
·全互连:AS内所有BGP路由器之间互相建立BGP对等体关系
·物理拓扑上实现直连
·RR反射器
·BGP联盟
·建立一条下一跳为此路由器的隧道(MPLS GRE...)
基础配置:
[R1] bgp 100
[R1-bgp] router-id 10.0.1.1
[R1-bgp] peer 10.0.3.3 as-number 100
[R1-bgp] peer 10.0.3.3 connect-interface LoopBack1 //更新源地址
[R4-bgp] peer 10.0.34.3 as-number 100 //EBGP直接表明邻居就好
[Huawei-bgp] peer x.x.x.x ebgp-max-hop 跳数 //配置EBGP邻居的最大跳数
【BGP】aggregate 10.1.0.0 22 detail-suppressed //aggregate命令可以执行BGP路由手工聚合
detail-suppressed,则BGP只会向对等体通告聚合后的路由,而不通告聚合前的明细路由。
验证:
<R1>display bgp peer //查询Peer邻居
<R1>display bgp routing-table //查bgp路由
<R1>display bgp routing-table 10.0.45.0 24
*有效路由 >标识最优 i IGP通过network进来的(标识生成方式)?路由引入 import S为抑制的路由
<>refresh bgp all export //刷新 bgp
扩展配置:
【bgp】timer connect-retry 数值 //bgp协商时间
【bgp】peer x.x.x.x ignore //手动关掉bgp邻居
路由黑洞:一种现象 吞流量
黑洞路由:一条路由 下一跳为空 null 0
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...