- BGP
协议号6,端口号TCP的179,默认优先级255 - BGP状态机和邻居建立过程
Idle:BGP初始状态,拒绝任何进入的连接请求(停留30S)
当BGP收到开始事件后,会开启到对等体的TCP连接,启动连接重传定时器,监听来自对等体的TCP消息,并且转移到Connect状态
Connect:等待TCP连接的建立完成后再决定后续操作
建立成功,停止定时器,发送一个Open消息转移到Opensent状态
建立失败,重置定时器,监听对等体发起的TCP连接,并且转移到Active状态
Active:主动进行TCP连接的建立
建立成功,将重置定时器,然后发送一个Open消息转移到Opensent状态
建立失败,重传定时器被重置,保持在Active状态
定时器超时,BGP将重新开始连接重传定时器计时,并转移到 Connect状态
OpenSent:向对等体发送了一个Open消息,并且等待对等体的Open消息
收到Open消息正确,则转移到OpenConfirm状态
收到Open消息有误,则给对等体发送一个Notification消息,并且转移到Idle状态
OpenConfirm:等待一个Notification消息或Keepalive 消息
收到Notification消息,转移到Idle状态
收到Keepalive消息,转移到Established状态
Established: BGP对等体间可以交换 Update 消息、Notification 消息和 Keepalive 消息。(稳定状态)
收到Update消息或Keepalive消息,则继续保持在Established状态
收到Notification消息,将转移到Idle状态 - BGP13条选路规则
丢弃下一跳不可达的路由
优选首选值(Preferred-value)最大的路由
优选本地优先级(Local-pref)最大的路由
依次优选Network产生的路由、Import-route引入的路由、聚合路由(不能更改)
优选AS-path最短的路由
依次优选Origin属性为IGP、EGP、Incomplete的路由(可以更改)
优选MED最小的路由
依次选择从EBGP、联盟EBGP、IBGP邻居学习的路由
优选到达下一跳在IGP路由中度量值最低的路由
优选Cluster_list最短的路由
优选Originator_id最小的路由
优选Router-id最小的路由器发布的路由
优选IP地址最小的邻居发布的路由 - 新路由
当BGP出现一条新的路由时,只会拿这条路由与当前最优的路由做对比 - BGP的属性分类
公认必遵属性:所有路由器能识别,且每条路由必须携带的属性
公认可选属性:所有路由器都能识别,但不是每条路由都会携带的属性
可选传递属性:不是所有路由器都要识别,但如果某台路由器不识别该属性,会继续向下传递该属性
可选非传递属性:不是所有路由器都要识别,且如果某台路由器不识别该属性,就不会继续向下传递该属性 - 公认必遵属性
AS-Path
Next-hop
Origin - 公认可选属性
Local-preference:本地优先级
Atomic_aggregate:自动聚合属性 - 可选传递属性
Community:团体属性
Aggregator:手动聚合属性 - 可选非传递属性
MED
Cluster-list
Originator-id - Preferred-value
首选值属性,不会随路由传递,只影响本机的路由优选
优先级默认为0,越大越优
该属性不传递 - Local-preference
本地优先级,用于通告离开AS的最优路径
优先级默认为100,越大越优
只对IBGP邻居传递 - AS-Path
记录经过的AS编号
用于防环,不学习与本地AS编号一致的路由通告
用于路由优选,AS-Path属性短的优先 - Origin 属性
描述一条路由是如何进入BGP的,用于路由优选
IGP > EGP > Incomplete
IGP:直接宣告,EGP:EGP协议引入的,Incomplete:其他协议引入的 - MED
多出口鉴别器,类似度量值,当一个AS有多个入口点时, 用于判断流量进入AS时的最优路径
优先级默认为0,越小越优
可以传递给IBGP和EBGP邻居,但不会传递至下下个AS - BGP报文类型
Open报文:用于建立BGP对等体之间的连接关系
Update报文:用于路由更新和撤销
Notification报文:用于信息报错,中断bgp连接
Keepalive报文:周期性发送,用来维护BGP邻居。默认周期为60秒
Route-Refresh报文:用于请求BGP路由发布者重新发布UPDATE报文,进行路由更新 - 各种属性控制路由的使用场景
AS-Path:会传递至每台路由器,用于影响所有路由器的路由选择
Local-Preference:只对IBGP邻居传递,用于只影响本AS内部路由器的路由选择
MED:传递至EBGP邻居,但不传递至下下个AS,用于只影响某一个AS的路由选择
Preferred-value:该属性不传递至任何邻居,用于影响某一台路由器的路由选择 - AS-Path正则表达式
只匹配本AS始发的路由:^$
匹配所有路由:.* - BGP发布路由的策略
从IBGP对等体获得的路由,只发布给它的EBGP对等体
从EBGP对等体获得的路由,发布给它所有EBGP和IBGP对等体 - BGP的团体属性的作用
团体属性用于标识具有相同特征的路由 - BGP公认团体属性
Internet:路由可以被发布至所有BGP邻居
No-export:路由不能被发布到本AS之外
No-advertise:路由不能发布给其他任何BGP邻居
No-export-subconfed:路由不能发布到本AS之外,也不能被发布到联盟中的其他子AS - 路由反射器
用于替代IBGP全连接来解决BGP路由黑洞问题,可以减少IBGP邻居数量 - 反射器原则
从非客户机收到的,仅反射给客户机
从客户机收到的,反射给所有非客户机以及客户机
从EBGP相邻体收到的,反射给所有的客户机和非客户机 - 反射器冗余
在集群中配多个路由反射器防止单点故障,共享相同的集群ID避免环路 - BGP防环机制
AS之间:通过AS-Path检查机制防环
AS内部:通过IBGP水平分割防环 - BGP路由衰减机制
使用惩罚值衡量路由的稳定性,惩罚值越高则说明路由越不稳定。
路由每次振荡,便会增加惩罚值。当惩罚值超过抑制阈值时,此路由被抑制,不加入到路由表中,也不再向其他BGP对等体发布更新报文
被抑制的路由每经过一段时间,惩罚值便会减少一半,当惩罚值降到再使用阈值时,此路由变为可用并被加入到路由表中,同时向其他BGP对等体发布更新报文。
只适用于EBGP路由 - 影响BGP邻居建立的因素
指定的邻居地址没有路由可达
指定的邻居的AS编号错误
使用了 Loopback 口指邻居,未修改更新源
使用非直连接口指定EBGP邻居,未修改EBGP最大跳数 - BGP路由聚合
自动聚合:只能对从IGP引入的路由进行自动聚合
手动聚合:可以对任意来源的BGP路由进行精准聚合 - 等价路由
默认是没有等价路由的,可以通过命令配置前九条选路一致形成 - BGP的下一跳会到下游造成什么影响
BGP一个as为一跳,从IBGP邻居获取的路由,由于下一跳不可达而不学习,需要IBGP邻居配置下一跳变更为本机 - BGP宣告路由和OPSF宣告路由的区别
OSPF宣告:宣告网段、使能对应接口的OSPF功能
BGP宣告:将IGP路由表中的某条路由引入从BGP路由表内进行宣告
H3CIE-BGP专题
最新推荐文章于 2024-07-25 17:27:32 发布