问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

BGP路由选择中的Origin属性详解

创作时间:
作者:
@小白创作中心

BGP路由选择中的Origin属性详解

引用
CSDN
1.
https://blog.csdn.net/weixin_43483442/article/details/139733012

前面我们学习了BGP路由优选的四个原则,今天来学习下Origin属性对于路由选路的影响。

一、优选Origin属性最优的路由

BGP的origin属性是BGP路由更新中的一个重要组成部分,它提供了关于路由信息来源的指示。origin属性有三个可能的值,每个值都有其特定的意义和用途:

  • IGP (Interior Gateway Protocol)- 内部网关协议
    这个值表示路由信息是从自治系统(AS)内部的路由协议获得的。这些协议可能包括OSPF(开放最短路径优先)、RIP(路由信息协议)、EIGRP(增强内部网关路由协议)等。当BGP路由器从IGP学习到路由时,它会将该路由的origin属性设置为IGP,通常表示为i

  • EGP (Exterior Gateway Protocol)- 外部网关协议
    这个值表示路由信息是从外部网关协议获得的。在BGP的早期版本中,EGP是BGP的前身,用于在不同的自治系统之间交换路由信息。然而,随着BGP的普及,EGP已经很少使用,BGP现在通常用于在自治系统之间交换路由信息。如果BGP路由器从另一个BGP路由器接收到的路由信息中origin属性为EGP,这可能意味着该路由是通过一个旧的或不兼容的协议获得的,通常表示为e

  • Incomplete- 不完整
    这个值表示路由信息的来源不明确或不完整。这种情况通常发生在路由信息在多个AS之间传递时,原始的origin属性可能因为某些原因丢失或未被正确传递。 当BGP路由器从一个外部AS接收到一个没有明确origin属性的路由时,它会将该路由的origin属性设置为Incomplete,通常表示为?

在BGP的路由选择过程中,origin属性可以作为决定因素之一。BGP路由器在选择最佳路由时,会根据以下优先级顺序考虑origin属性:
IGP(i) > EGP(e) > Incomplete(?)

二、示例说明

拓扑

我们知道可以通过network或者import方式进行路由通告,目前AR4、AR5都是通过network方式通告路由的,查看下目前的origin属性是什么?

origin

现在origin都为i,无法优选,因此目前是通过Router-ID来进行优选的,我们修改AR4的通告方式使其优选AR5。

有两种方式:

  • 在AR4上修改通告方式

  • 通过路由策略直接修改origin属性,在接收或者发布时调用路由策略

2.1 在通告路由的设备上修改通告方式


# 配置前缀列表
ip ip-prefix 1 index 10 permit 192.168.1.0 24
# 配置路由策略
route-policy 1 permit node 10 
 if-match ip-prefix 1 
bgp 200
 router-id 10.1.24.4
 peer 10.1.24.2 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  import-route direct route-policy 1     # 删除掉network配置,通过导入直连然后调用路由策略
  peer 10.1.24.2 enable
  

在AR1上查看AR4、AR5发布的路由。

原来是优选AR4,现在优选AR5路由,然后origin属性变为?

路由优选

2.2 通过路由策略修改发布或者接收路由的属性

可以在AR4或者AR1或其它都行,只要方向对了就可以了。

按照上面配置之后AR4的origin为?, AR5为i。现在通过路由策略修改AR5的origin为egp。


# 配置前缀列表
ip ip-prefix 1 index 10 permit 192.168.1.0 24
# 配置路由策略
route-policy 1 permit node 10 
 if-match ip-prefix 1          # 匹配前缀列表
 apply origin egp 300          # 设置origin属性为egp 
# 在向邻居通告时调用路由策略
bgp 300
 peer 10.1.35.3 as-number 100 
 peer 10.1.56.6 as-number 400 
 #
 ipv4-family unicast
  undo synchronization
  network 192.168.1.0 
  peer 10.1.35.3 enable
  peer 10.1.35.3 route-policy 1 export  # 在向邻居通告时调用路由策略
  peer 10.1.56.6 enable
  

AR1上查看:

结果验证

关于为什么通过network和import通告的路由origin属性不一致我也网上查了一下,解释是这样的:

  • 通过network命令通告的路由
    当BGP路由器使用network命令来手动指定要宣告的路由时,这些路由被视为从BGP路由器的内部学到的,即它们被视为内部网关协议(IGP)学到的路由。即使这些路由实际上是通过其他方式(如静态路由或直接连接的网络)学到的,BGP路由器也会将这些路由的origin属性设置为IGP。这是因为BGP路由器将这些路由视为其自治系统内部的一部分,而不是从外部学到的。

  • 通过import命令通告的路由
    当BGP路由器使用import命令从其他路由源(如静态路由、RIP、OSPF等)导入路由时,这些路由的来源可能不是BGP内部的,而是来自其他协议或配置。在这种情况下,BGP路由器无法确定这些路由的确切来源,因此将这些路由的origin属性设置为Incomplete(通常表示为?)。这种设置反映了BGP路由器对这些路由来源的不确定性,因为它们可能来自不同的协议或配置,BGP路由器无法验证它们的确切来源。

通过将network命令宣告的路由的origin属性设置为IGP,BGP路由器可以优先考虑这些路由,因为它们被视为来自自治系统内部的更可信的路由。而将import命令导入的路由的origin属性设置为Incomplete,则表示这些路由的来源不明确,可能需要在路由选择过程中给予较低的优先级。

总结:Origin属性表示路由的来源,Origjin有三种表示:IGP、EGP、Incomplete,常见为IGP和Incomplete。可以通过修改通告方式使用路由策略来修改Origin进而实现路由优选,IGP>EGP>Incomplete

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号