BGP基础总结

首先BGP分为两种:EBGP/IBGP
一个是用于AS外,一个是AS内
我们将建立BGP的路由器双方成为对等体。

那么怎样建立对等体?
BGP的建立与其他不一样,需要手工指定。
并且在EBGP中我们常使用直连接口作为BGP指定的接口。
而在IBGP中,我们使用Loopback接口作为对等体建立指定接口,这样就可以保证对等体之间正常的通信。


如图所示当IBGP对等体之间使用直连接口作为指定接口,如果直连接口down掉,对等体之间就无法通信,而使用Loopback
作为指定接口,就可以走另外一条路。

BGP建立期间肯定互相发送了报文,那发送的报文有几种?对等体建立的状态有几种?
报文有5种,并且每个报文都含有相同的BGP头部
1、open报文  当TCP连接建立完成后,双方会互相发送open报文,用于建立BGP对等体
2、update报文   当路由信息或者邻居发生了变化时,用于更新发送
3、notification报文   当对等体之间有错误信息时,进行发送
4、keepalive报文  用于维持对等体关系,双方会定期地进发送
5、router-refresh  这个用于更新路由策略

对等体建立的时候关系:
1、idle  开始要建立TCP连接
2、connect 正在进行TCP三次握手,用于TCP连接建立
3、active状态  tcp连接建立失败
4、open sent状态 用于开始发送open报文
4、open confirm 对方收到open报文,并且向我进行了回复
5、EStablish 双方成功的建立了BGP对等体关系

除此之外我们还要对报文结构进行细致的了解
1、BGP报文头部结构


2、open报文结构,open报文用于描述路由器信息的,个人感觉跟ospf中的LSA差不多。


3、Update报文结构 其中含有withdraw和NLRI,其中分别包含不可达路由信息和可达路由信息。


4、notification报文结构 就是发错误信息报告的,肯定有error和data


5、keepalive报文结构  定期发送


6、router-refresh报文结构

接着对状态的解释,这就不进行详细介绍了,看图就好了

对BGP的两个表,LSDB和routing-table进行解释


要是想让对等体知晓另一端的路由信息怎么办?
1、network 直接进行宣告,对方就会知晓
2、通过在协议视图下进行路由引入

聚合路由,BGP和其他协议一样也支持路由聚合。
在接口视图下,使用aggregate 聚合后的IP detail-suppressed进行路由聚合,如果对等体学习到了明细路由,设备会直接向对等体注入聚合路由

通告原则

BGP通过network、import-route、aggregate聚合方式生成BGP路由后,通过Update报文将BGP路由传递给对等体。
•BGP通告遵循以下原则:
▫只发布最优路由。
▫从EBGP对等体获取的路由,会发布给所有对等体。
▫IBGP水平分割:从IBGP对等体获取的路由,不会发送给IBGP对等体。
▫BGP同步规则指的是:当一台路由器从自己的IBGP对等体学习到一条BGP路由时(这类路由被称为IBGP路由),它将不能使用该条路由或把这条路由通告给自己的EBGP对等体,除非它又从IGP协议(例如OSPF等,此处也包含静态路由)学习到这条路由,也就是要求IBGP路由与IGP路由同步。同步规则主要用于规避BGP路由黑洞问题。概览路由生成协议表项通告原则报文及状态机对等体关系
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值