一、BGP的基本概念 BGPv4
1、BGP(边界网关协议)是几乎是当前唯一被用于在不同AS之间实现路由交互的EGP。BGP适用于大型的网络环境,例如运营商网络,或者大型企业网。BGP支持VLSM、支持CIDR(无类域间路由),支持自动路由汇总、手工路由汇总。
2、BGP使用TCP作为传输层协议,目的TCP端口为179
3、两台互为对等体的BGP路由器首先会建立TCP连接,随后协商各项参数并建立对等体关系,初始情况下,两者会同步双方的BGP路由表,在BGP路由表同步完成后,路由器不会周期性发送BGP路由器更新,而只发送增量或在需要时进行触发性更新,这大大减小了设备的负担及网络带宽损耗
4、同时,BGP定义了多种路径属性
二、BGP对等体关系类型
1、我们将建立BGP邻居关系的路由器称为BGP对等体(peer)
BGP有两种对等体关系:IBGP和EBGP
2、EBGP对等体关系
①如果建立对等体关系的两台BGP路由器位于不同的AS,那么它们之间的关系被称为EBGP对等体关系
②EBGP对等体关系必须基于直连接口建立,是因为缺省情况下,EBGP对等体之间发送的BGP协议报文的TTL值为1,这使得这些协议报文只能够被传输1跳
3、IBGP对等体关系
①如果建立对等体关系的两台BGP路由器位于相同的AS,那么它们之间的关系被称为IBGP对等体关系
②在两台路由器之间建立IBGP对等体时,并不要求它们必须直连
三、IBGP水平分割规则 用于AS内部防环
1、AS _Path属性可以用于BGP路由在EBGP对等体之间传递时发生环路,然而当路由在IBGP对等体之间传递时,AS_Path属性的值是不会发生改变的
2、水平分割规则:当路由器从一个对等体学习到某条BGP路由时,它将不能再把这条路由通告给任何IBGP对等体
3、但水平分割规则会产生新加设备学习不到路由的问题,可以通过在AS内部建立IBGP对等体关系的全互联模型(AS中所有的BGP路由器两两之间建立IBGP对等体关系)
4、还有两种解决方案:路由反射器和联邦
四、路由黑洞问题及BGP同步问题 (回包时无路由)
1、路由黑洞的产生是由于BGP和IGP同步检查默认关闭导致的
2、为了规避路由黑洞问题,BGP引入了同步规则:当一台路由器从自己的IBGP对等体学习到BGP路由时,它将不能使用该条路由或把这条路由通告给自己的EBGP对等体,除非它又从IGP协议学习到这条路由,也就是要求IBGP与IGP同步
3、同步方法(路由黑洞解决方法):
①将数据包所经过的路径运行BGP
②将部分BGP路由引入到IGP
③使用MPLS,即使中间路由器没有路由,数据包也根据标签转发
五、BGP的通告原则
1、仅将自己最优的路由发布给邻居
2、通过EBGP获得的最优路由发布给所有BGP邻居
3、通过IBGP获得的最优路由不会发布给其他的IBGP邻居
4、BGP与IGP同步
六、报文类型及格式
1、所有的BGP报文都有一个相同格式的头部,一共19byte
2、常见的报文类型:open报文、update报文、Keepalive报文、notification报文
3、Open报文
一旦TCP连接被正确建立,双方就开始交换open报文,open报文包含设备所处的AS号、BGP版本号、Router-id以及一些可选参数等信息,如果路由器认可对方发送过来的open报文,则立即回送一个Keepalive报文以做确认
4、update报文
BGP路由器使用update报文向其对等体通告路由信息,还能够用于撤销一条或多条BGP路由
5、Keepalive报文
① BGP并不依赖TCP的保活机制,而是使用周期性发送的Keepalive报文来了解对等体的存活情况
② BGP路由器会为对等体维护保活计时器,BGP路由器周期性发送Keepalive报文的时间间隔缺省为1/3的保活计时器时间
③ 保活计时器的时间缺省为180s,Keepalive报文的周期性发送间隔为60s
6、Notification报文
当BGP检测到一个错误时,它可以使用Notification报文来告知对等体
七、BGP对等体建立过程
八、BGP路由表
*表示路由可用
>表示最优路由
i表示从IBGP对等体学习的路由
九、将路由发布到BGP
三种方法:使用network命令、使用import-route命令、使用aggregate命令
十、路径属性
1、公认必遵
Origin、AS_Path、Next_Hop
2、公认任意
Local_Pref、Atomic_aggregate
3、可选过渡
Aggregator、Community
4、可选非过渡
MED、Originator_ID、Cluster_List
十一、路径属性介绍
1、Preferred_Value
Preferred_Value是一个华为私有的路径属性,可以理解为路由的“权重”。该值的取值范围为0--65535,该值越大则路由的优先级越高
2、Local_Preference
Local_Preference(本地优先级)属性是一个公认自由决定属性,该路由路径只能在IBGP对等体之间传递
3、AS_Path
AS_Path是公认强制属性,它描述了一条BGP路由在传递过程中所经过的AS的号码,实际上是一个有长度的AS号码列表。AS_Path有两个非常重要的作用,一是可以实现EBGP路由的环路避免,二是用于BGP路由优选的决策。
4、Origin
Origin属性用于描述BGP路由的来源
5、MED
MED属性是一个可选非传递属性,是一种度量值
6、Next_Hop
Next_Hop是一个公认强制属性,所有的BGP都带有该属性
7、Atomic_aggregate和Aggregator
自动路由汇总和手动路由汇总,手动路由汇总设计了关键字as-set
8、Community 团体名
两个作用:限定路由的传播范围;打标记,便于对符合相同条件的路由进行统一处理
十二、路由反射器
1、路由反射器(RR)是一种用于解决AS内部BGP路由传递问题的技术
2、路由反射器环境下的路由防环
Originator_ID属性和Cluster_List属性(路由反射簇标识符)
十三、联邦
在一个大的AS内创建若干个小的AS(类似子AS的概念),使得AS内部出现一种特殊的EBGP对等体关系,从而解决IBGP路由在AS内的传递问题
十四、BGP路由优选原则
1、优选Preferred_Value值最高的路由(私有属性,仅本地有效)
2、优选本地优先级(Local_Preference)最高的路由
3、优选手动聚合>自动聚合>network>import>从对等体学到的
4、优选AS_Path短的路由
5、起源类型IGP>EGP>Incomplete
6、对于来自同一AS的路由,优选MED值小的
7、优选从EBGP学来的路由(EBGP>IBGP)
8、优选AS内部IGP的Metric最小的路由
9、优选Cluster_List最短的路由
10、优选Originator_ID最小的路由
11、优选Router-id最小的路由器发布的路由文章来源:https://www.toymoban.com/news/detail-563521.html
12、优选具有较小IP地址的邻居学来的路由文章来源地址https://www.toymoban.com/news/detail-563521.html
到了这里,关于BGP知识点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!