H3CSE-RS BGP
BGP speaker:BGP发言者,运行BGP的设备
EBGP对等体:AS中出口路由器间建立的对等体,一般建议使用直连地址建立对等体。从EBGP对等体学来的路由可以传递给任何其他BGP对等体。默认TTL=1,如果需要用环回口建立对等体则需要修改TTL值。
IBGP对等体:AS内路由其建立的对等体。从IBGP对等体获得的路由不能传递给其他IBGP对等体(防环)。建议使用环回口地址建立IBGP对等体(保证对等体连接的可靠性;跨设备建立IBGP对等体2)
Route-refresh:使用路由策略并不会触发路由更新且BGP不会周期性更新路由,所以需要使用此报文触发对等体发送指定地址族的路由信息,从而影响选路。
BGP 状态机
Idle:初始状态。收到notification报文;收到TCP连接拆除消息。
Connect:在idle状态收到本设备的Start事件(开启BGP),就会进入Connect状态。并开始建立TCP连接,并且开启重传定时器,等待TCP连接建立完成。如果连接建立失败,就会跳转到Active状态。如果建立成功,会向对等体发送open报文,跳转至Opensent。如果定时器超时还未收到对等体的响应,那么就尝试和其他对等体建立连接。
Active:BGP总是在尝试建立TCP连接,开启计时器,如果TCP连接建立成功,那么BGP对等体发送open报文,并转至Opensent状态。若果失败,则停留在active状态,直到超时,超时则返回Connect状态。
Opensent:等待对等体发送的Open报文,对Open报文中的AS号,版本号,认证码等进行验证,如果正确则发送keepalive报文,并转至Openconfirm状态,如果错误,则发送notification报文进入Idle状态。
Openconfirm:BGP等待Keepalive或notification报文,如果收到keepalive则转至Established状态,如果收到Notification报文则进入Idle状态。
Established:BGP对等体之间交互Update,keepalive,notification报文。如果收到正确的Update报文,则BGP运行成功,反之失败。如果发送Notification报文则进入Idle状态。
公认必遵:BGP发布路由时必须要携带且必须要识别的路由属性。
公认可选:BGP发布路由时必须要识别但不一定要携带的路由属性。
可选传递:BGP发布路由时可以不识别但是会向下传递的路由属性。
可选非传递:BGP发布路由时不识别就不传递。
AS-Path:描述路由到达一个目的地所经过的一系列自治系统号码的有序列表,从后往前记,只记录经过的AS号,不记录本地AS号。AS-Path越短,路径越优。防环:一旦收到路由信息,其中的AS-path属性和本地的AS号有冲突,则直接丢弃。
Origin:定义路由信息的来源。分为三类:
IGP:通过network宣告进来的路由,产生在AS内部
EGP:通过引入EGP的路由
Incomplete:通过import route引入的IGP路由及静态路由。
IGP优于EGP由于incomplete
Local-preference:本地优先级,用于AS内IBGP邻居选择离开本AS时的最佳路由,它表明BGP路由器的优先级。只在本地AS内传递与识别。默认为100,越打越优先。
MED:相当于IGP路由协议使用的度量值metric,当一个AS有多个入口点时,用于判断流量进入AS时的最优路径;仅在相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三方AS。默认值为0,越小越优先
Preferred Value:首选值,只在本地路由器有效,不会传递给其他路由器。越大越优先(华为华三私有)
十三条选路原则:
首先丢弃下一跳(NEXT_HOP)不可达的路由;
优选Preferred-value值最大的路由;
优选本地优先级(LOCAL_PREF)最高的路由;
依次选择network命令生成的路由、import-route命令引入的路由、聚合路由;
优选AS路径(AS_PATH)最短的路由;
依次选择ORIGIN属性为IGP、EGP、Incomplete的路由;
优选MED值最低的路由;
依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由;
优选下一跳度量值最低的路由;
优选CLUSTER_LIST长度最短的路由;
优选ORIGINATOR_ID最小的路由;
优选Router ID最小的路由器发布的路由。
优选IP地址最小的对等体发布的路由。
BGP只将自己使用的最优的路由传递给对等体。
从EBGP对等体学习来的最优路由,可以传递给其他所有的BGP对等体
从IBGP对等体学习来的最优路由,不会传递给其他的IBGP对等体。
BGP中router id的作用:
1,用于防环
2,用于选路
3,用于标识设备
BGP需要手工的建立邻居,而IGP路由可以自动建立邻居
减少BGP全连接数量的方法:
1. 通过对等体组减少配置
2. 联盟
3. 反射器
团体属性
[R1-bgp-default-ipv4]peer 2.2.2.2 advertise-community
默认情况下,团体属性不被传递,需要开启特定的命令,才能传递。
BGP聚合
自动聚合:只聚合import route引入的路由,不会对network进来的路由聚合;只能进行有类聚合。
手动聚合:可以对已经存在于BGP路由表中的从BGP邻居学习来的具体路由、引入的IGP具体路由、通过Network命令生成的具体路由进行聚合。默认情况下,会对聚合后的路由以及明细路由进行发布,需要在后面加上detail suppressed。
反射器:
路由反射原理就是允许某些网络设备将从IBGP对等体处接收到的路由信息发布给其他特定的IBGP对等体,而这些网络设备被称为路由反射器(Route Reflector)
反射原则:
如果路由更新是从非客户机收到的,仅反射给客户机
如果路由更新是从客户机收到的,反射给所有非客户机以及客户机,除了这个路由更新的始发者
如果路由更新是从EBGP对等体收到的,反射给所有的客户机和非客户机
Cluster id:为了防止环路,记录路由经过所有集群的cluster id。
当一条路由第一次被RR反射时,RR会把本地的Cluster id添加至Cluster list前面。如果没有cluster list属性,则RR创建一个。如果有的话,会检查其Cluster list,如果与本地cluster id一致,则丢弃。
BGP不会周期性更新路由,但是可以触发更新路由(update)
如果是增加路由,则update报文会携带相关的路由属性。如果是删除路由,则update报文只会携带地址和掩码信息。
发送Update报文条件:
1. 第一次建立邻居后,会发送update报文同步路由信息
2. 如果有路由怎加或撤销,则会触发发送update报文更新路由
3. 如果收到router refresh报文,则会触发发送update报文,且update报文只携带指定地址族的路由信息
路由衰减:没更新一次路由信息,就会增加1000惩罚值,如果惩罚值超过抑制阈值,则拒绝处理update报文,如果在一定时间内稳定了,则会衰减惩罚值,直到低于可再次使用阈值,这时,路由信息就会被更新。
本文来自博客园,作者:makonyan,转载请注明原文链接:https://www.cnblogs.com/makonyan/p/15808869.html
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现