30bgp路径属性与路由反射器

本文详细介绍了BGP路由中的路径属性,包括公认必遵属性如AS_Path、Next_Hop和Origin,以及公认任意属性如Local_Preference和可选属性如Community和MED。讨论了它们的作用、验证规则和在路由选择中的影响。
摘要由CSDN通过智能技术生成

一、路径属性

在这里插入图片描述

  • 任何一条BGP路由都拥有多个路径属性。
  • 当路由器将BGP路由通告给它的对等体时,一并被通告的还有路由所携带的各个路径属性。
  • BGP的路径属性将影响路由优选。

1.路径属性分类

在这里插入图片描述

  • 公认属性是所有BGP路由器都必须能够识别的属性
  • 公认属性可以分为两类:
    • 公认必遵(Well-known Mandatory):必须包括在每个Update消息里。
    • 公认任意(Well-known Discretionary):可能包括在某些Update消息里。

在这里插入图片描述

  • 可选属性不需要都被BGP路由器所识别
  • 可选属性可以分为两类:
    • 可选过渡(Optional Transitive):BGP设备不识别此类属性依然会接受该类属性并通告给其他对等体。
    • 可选非过渡(Optional Non-transitive):BGP设备不识别此类属性会忽略该属性,且不会通告给其他对等体。

2.公认必遵

2.1AS_Path

在这里插入图片描述

  • 该属性为公认必遵属性,是前往目标网络的路由经过的AS号列表;

  • 作用:确保路由在EBGP对等体之间传递无环;另外也作为路由优选的衡量标准之一;

  • 路由在被通告给EBGP对等体时,路由器会在该路由的AS_Path中追加上本地的AS号;路由被通告给IBGP对等

    体时,AS_Path不会发生改变。

2.1.1AS_Path防止环路

在这里插入图片描述

R1从R4收到的BGP路由更新中AS_Path属性数值为:400300200100,存在自身AS号,不接收该路由,从而防止
了路由环路的产生。

2.1.2.AS_Path类型
2.1.2.1AS_SEQENCE

在这里插入图片描述

2.1.2.2AS_SET

在这里插入图片描述

2.1.3.修改AS_Path

在这里插入图片描述

2.2.Next_Hop

  • 该属性是一个公认必遵属性,用于指定到达目标网络的下一跳地址。

  • 当路由器学习到BGP路由后,需对BGP路由的Next_Hop属性值进行检查,该属性值(IP地址)必须在本地路由可达,如果不可达,则这条BGP路由不可用。

  • 在不同的场景中,设备对BGP路由的缺省Next_Hop属性值的设置规则如下:

    • 路由器将BGP路由通告给自己的EBGP对等体时,将该路由的Next_Hop设置为自己的更新源IP地址。

    • 路由器在收到EBGP对等体所通告的BGP路由后,在将路由传递给自己的IBGP对等体时,会保持路由的Next_Hop属性值不变。

    • 如果路由器收到某条BGP路由,该路由的Next_Hop属性值与EBGP对等体(更新对象)同属一个网段,那

      么该条路由的Next_Hop地址将保持不变并传递给它的BGP对等体。

2.2.1.Next_Hop的缺省操作
2.2.1.1Next_Hop的缺省操作(1)

在这里插入图片描述

2.2.1.2Next_Hop的缺省操作(2)

在这里插入图片描述

2.2.1.3Next_Hop的缺省操作(3)

在这里插入图片描述

2.2.2修改Next_hop属性

在这里插入图片描述

使用peer next-hop-local命令可以在设置向IBGP对等体(组)通告路由时,把下一跳属性设为自身的TCP连接源地址。

2.3.Origin

起源名称标记描述
IGPi如果路由是由始发的BGP路由器使用network命令注入到BGP的,那么该BGP路由的Origin属性为IGP
EGPe如果路由是通过EGP学习到的,那么该BGP路由的Origin属性为EGP
Incomplete?如果路由是通过其他方式学习到的,则Origin属性为Incomplete(不完整的)。例如通过import-route命令引入到BGP的路由
  • 该属性为公认必遵属性,它标识了BGP路由的起源。如上表所示,根据路由被引入BGP的方式不同,存在三

    种类型的Origin。

  • 当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下

    顺序优选路由:IGP> EGP>Incomplete。

2.3.1Origin在BGP表中的显示

在这里插入图片描述

3.公认任意

3.1.Local_Preference

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-

  • Local_Preference即本地优先级属性,是公认任意属性,可以用于告诉AS中的路由器,哪条路径是离开本AS的首选路径
  • Local_Preference属性值越大则BGP路由越优。缺省的Local_Preference值为100。
  • 该属性只能被传递给IBGP对等体,而不能传递给EBGP对等体。
3.1.1.Local_Preference注意事项
  • Local_Preference属性只能在IBGP对等体间传递(除非做了策略否则Local_Preference值在IBGP对等体间传递过程中不会丢失),而不能在EBGP对等体间传递,如果在EBGP对等体间收到的路由的路径属性中携带了Local_Preference,则会进行错误处理。

  • 但是可以在AS边界路由器上使用Import方向的策略来修改Local_Preference属性值。也就是在收到路由之后,在本地为路由赋予Local_Preference。

  • 使用bgp defau!t local-preference命令修改缺省Local_Preference值,该值缺省为100。

  • 路由器在向其EBGP对等体发送路由更新时,不能携带Local_Preference属性,但是对方接收路由之后,会在本地为这条路由赋一个缺省Local_Preference值(100),然后再将路由传递给自己的IBGP对等体。

  • 本地使用network命令及import-route命令引入的路由,Local_Preference为缺省值100,并能在AS内向其他

    IBGP对等体传递,传递过程中除非受路由策略影响,否则Local_Preference不变。

4.可选过渡

4.1Community技术背景

4.1.1.Community技术背景(1)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.1.2.Community技术背景(2)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.2Community属性

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • Community(团体)属性为可选过渡属性,是一种路由标记,用于简化路由策略的执行。
  • 可以将某些路由分配一个特定的Community属性值,之后就可以基于Community值而不是网络前缀/掩码信息来匹配路由并执行相应的策略了。

4.3.Community属性格式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Community属性值长度为32bit,也就是4Byte。可使用两种形式呈现:

  • 十进制整数格式。
  • AA:NN格式,其中AA表示AS号,NN是自定义的编号。

4.4.公认Community属性

团体属性名称团体属性号说明
Internet0(0x00000000)设备在收到具有此属性的路由后,可以向任何BGP对等体发送该路由。缺省情况下,所有的路由都属于Internet团体
No_Advertise4294967042 ( 0xFFFFFFO2)设备收到具有此属性的路由后,将不向任何BGP对等体发送该路由
No_Export4294967041( 0xFFFFFF01)设备收到具有此属性的路由后,将不向AS外发送该路由
No_Export_Subconfed4294967043( 0xFFFFFF03 )设备收到具有此属性的路由后,将不向AS外发送该路由,也不向AS内其他子AS发布此路由

RFC1997 (BGP Communities Attribute)定义了几个公认的Community属性值,如上表所示。

5.可选非过渡

5.1.MED

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • MED(Multi-Exit Discriminator,多出口鉴别器)是可选非过渡属性,是一种度量值,用于向外部对等体指出进入本AS的首选路径,即当进入本AS的入口有多个时,AS可以使用MED动态地影响其他AS选择进入的路径。
  • MED属性值越小则BGP路由越优。
  • MED主要用于在AS之间影响BGP的选路。MED被传递给EBGP对等体后,对等体在其AS内传递路由时,携带该MED值,但将路由再次传递给其EBGP对等体时,缺省不会携带MED属性。

5.2关于MED的一些注意事项

  • 缺省情况下,路由器只比较来自同一相邻AS的BGP路由的MED值,也就是说如果去往同一个目的地的两条路由来自不同的相邻AS,则不进行MED值的比较。

  • 一台BGP路由器将路由通告给EBGP对等体时,是否携带MED属性,需要根据以下条件进行判断(不对EBGP对等体使用策略的情况下):

    • 如果该BGP路由是本地始发(本地通过network或import-route命令引入)的,则缺省携带MED属性发送给EBGP对等体。

    • 如果该BGP路由为从BGP对等体学习到,那么该路由传递给EBGP对等体时缺省不会携带MED属性。

    • 在IBGP对等体之间传递路由时,MED值会被保留并传递,除非部署了策略,否则MED值在传递过程中不

      发生改变也不会丢失。

5.3.MED的默认操作

5.3.1MED的默认操作(1)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 如果路由器通过IGP学习到一条路由,并通过network或import-route的方式将路由引入BGP,产生的BGP路由的MED值继承路由在IGP中的metric。例如上图中如果R2通过OSPF学习到了10.0.1.0/24路由,并且该路由在R2的全局路由表中OSPF Cost=100,那么当R2将路由network进BGP后,产生的BGP路由的MED值为100。
  • 如果路由器将本地直连、静态路由通过network或import-route的方式引入BGP,那么这条BGP路由的MED为0,因为直连、静态路由cost为0。
5.3.2MED的默认操作(1)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 如果路由器通过BGP学习到其他对等体传递过来的路由,那么将路由更新给自己的EBGP对等体时,默认是不

    携带MED的。这就是所谓的:“MED不会跨AS传递”。例如在上图中,如果R3从R2学习到一条携带了MED属性的BGP路由,则它将该路由通告给R4时,缺省是不会携带MED属性的。

  • 可以使用default med命令修改缺省的MED值,default med命令只对本设备上用import-route命令引入的路由和BGP的聚合路由生效。例如在R2上配置default med 999,那么R2通过import-route及aggregate命令产生的路由传递给R3时,路由携带的MED为999。
    中,如果R3从R2学习到一条携带了MED属性的BGP路由,则它将该路由通告给R4时,缺省是不会携带MED属性的。

  • 可以使用default med命令修改缺省的MED值,default med命令只对本设备上用import-route命令引入的路由和BGP的聚合路由生效。例如在R2上配置default med 999,那么R2通过import-route及aggregate命令产生的路由传递给R3时,路由携带的MED为999。

  • 19
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值