一、BGP的特点:
1、BGP是一种高级距离矢量路由协议(没有周期更新,只有增量更新) ( 只通告路由信息,不通告拓扑信息)
2、支持VLSM, CIDR
3、基于TCP连接,端口号: 179
4、无环(AS内部通过BGP的水平分割原则防环,AS外部通过AS-pach防环)
5、非常多的属性,路由控制方式非常灵活(路由策略非丰富)
6、可防止路由抖动(路由惩罚)
7、支持MD5认证.
8、基于TLV,扩展性较强
9、主要应用AS之间
二、BGP的基本概念:
1、AS一同一个机构管理下的网络, -群路由器的集合。
AS号: 1-65535 (2个字节)公有: 1-64511 私有: 64512-65535
65535-4294967295 ( 4个字节)
2、BGP的邻居建立:依靠手工建立,通过单播(peer)建立,也可以跨设备建立。
3、IBGP的邻居:双方AS号相同,建议使用环回口建立。
EBGP的邻居:双方AS号不相同,默认只能使用物理直连接口地址来建立(TTL=1) ,如果非直连,必须开启多跳功能: ebgp-max-hop
三、BGP的五种报文:
1、open报文:协商邻居之间的参数
AS号 协议版本 router-ID hold-time 认证 可选的能力参数
BGPV4 不能冲突 最小 不影响邻居关系的建立
2、update报文: 通告路由更新,交互路由信息,一个update报文可以通告多条的可达路由,也可撤消多条不可达的路由。
3、keeplalive报文: 邻居保活
4、notifcation报文: 错误通告报文,如果发出错误通告报文,邻居关系就断开,回到idle状态。
5、route-efresh报文: 路由刷新报文,本地策略有发生路由变化时,需要重新向邻居请求路由信息
四、BGP的6种状态机:
1、idle状态: BGP的初始状态,在idle状态下, BGP路由器拒绝邻居发送的连接请求,只有在收到本路由器的start事件,BGP路由器才开始尝试与其邻居进行TCP连接,并转至connect状态。
2、connect状态 : BGP路由器启动连接重传定时器,等待TCP完成连接,如果TCP连接成功,那么BGP路由器向邻居发送open报文,并转至opensent状态,如果TCP连接失败,那么路由器转至Active状态。
3、Active状态: BGP路由器总是在试图建立TCP连接,如果建立成功,向邻居发送open报文,并关闭连接重传定时器,转到opensent状态,如果继续TCP连接失败,那么BGP路由停留在ACTIVE状态,当重传定时器超时, BGP路由器仍没有收到邻居的响应,那么BGP路由器转到connect状态。
4、opensent状态: BGP路由器收到open报文中的AS号,版本号,认证信息等进行检查,如果收到的open报文正确,那么BGP路由器发送keelalive报文,并转至openconfim状态,如果收到的open报文错误,那么路由器会发送notifcation报文,并转至idle状态。
5、openconfim状态: BGP路由器等待keepalive或notifcation报文,如果收到keepalive报文则转至Established状态,如果收到的是notifcation报文,则转至idle状态。
6、Established状态下: BCP路由器可以和邻居交换pdata、keepalive、 route-efresh报文和notification报文。
五、BGP邻居关系建立的一-些注意的因素:
建立TCP连接-协商参数--建立邻居--通告路由更新
idle (BGP在初始化)
connect (被动建立TCP连接,如果超时,停留在connect状态,如果建立失败,跳到active状态(主动建TCP连接) ,继续跟对方建立ICP连接。
open发送:向对方发送open报文
open确认:收到对方的open报文
收到对方确认后进入establushied状态:
(1)卡在idle状态:检查一下路由表是否有对方的路由,硬件和软件的故障。
(2)卡在ACTIVE状态:检查邻居地址配置是否错误,AS号是否错误。
六、BGP的通告路由的原则:
1、BGP只通告最优的路由
2、从EBGP邻居收到的路由能通告给所有的BGP邻居( 包含EBGP邻居和IBGP邻居)
3、从IBGP邻居收到的路由只通告给EBGP邻居,不通告给IBGP邻居。(说明: IBGP之 间传递路由只有- -跳, 也叫IBGP水平分割,除了有RR (路由反射器)的环境之外)
4、BGP与IGP同步原则
七、BGP路径属性:
公认:所有的BGP路由器都可以识别的
必遵:在BGP路由中必须携带的属性
任意:在BGP路由可以不携带的属性
可选: BGP路由器可以不识别
过渡:指路由器不识别但是可以透传给邻居的属性
非过渡:路由器不识别就丢弃的属性
公认必遵: Origin As-path Next-hop
公认任意: Local-pref 原子聚合
可选过渡:聚合者community团体属性
可选非过渡: Med Oringinator-ID Clutser-list
八、0rigin起源属性:
作用:用来表示BGP路由的生成方式
network方式的origin:(I)
import- route方式的origin: (?)
从EGP协议得到的路由origin: (e)
优先级: I>e>?
传递范围:没有限制
九、Next-hop属性
作用:路由的下一跳
IBGP邻居传递路由时,不修改下一跳地址
EBGP邻居传递路由时,修改下一-跳地址
十、AS-path属性
作用:按矢量记录路由所经过的AS
1、BGP路由器 可以根据AS-path属性选择到达目标的最优的路径(AS-path路径最短)
2、当BGP路由器收到的路由中含有自己的本地的AS号时,丢弃该路由,从而避免AS之间传递BGP路由时的路由环路。
传递范围:没有限制
BGP路由器向EBGP通告路由时,会将本地AS号,增加到AS-path的最左边(前面)
BGP路由向IBGP通告路由时,不会改变AS-path, 但是可以利用router policy修改AS-path,实现路径控制
十一、Local-pref本地优先级:
作用:标识BGP路由器的优先级,用于判断AS内访问外部流量的出口
是在本AS内部的IBGP呤居之间传递
默认的优先级: 100
内部路由器优先级越大越优
方法:利用router-policy工具进行修改
评论区