目 录CONTENT

文章目录

BGP 路由协议

CZ
CZ
2022-07-18 / 0 评论 / 6 点赞 / 882 阅读 / 22835 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-04-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

BGP路由协议

一、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工具进行修改

6

评论区