HCIP-15.2.6 BGP常用属性(下)

数通

BGP属性 – AS_Path

6.13-3

如上图,AS1内部的RTA能够从RTB与RTC收到100.0.0.0/24的路由,RTA如何进行优选?

RTA—>RTB—>RTC之间在拓扑上存在环路,RTB—>RTC—>RTD—>RTE之间在拓扑上也存在环路,因此BGP在路由传递的过程中也可能存在路由环路,BGP如何防止环路呢?

BGP针对以上2个问题,设计了AS_Path属性,该属性记录了路由经过多的所有AS的编号:

(1)图中RTA从RTB收到100.0.0.0/24的路由时,AS_Path为(2,4),RTA从RTC收到100.0.0.0/24的路由时,AS_Path为(3,5,4)。规定AS_Path越短(记录的AS编号越少),路径越优,因此RTA会优选从RTB收到的100.0.0.0/24的路由。

(2)以RTE为例,通过BGP发布100.0.0.0/24的路由,路由可能通过RTE—>RTB—>RTC—>RTD—>RTE形成环路,为了防止环路的产生,RTE在收到RTD发来的路由时,会检查AS_Path属性,如果发现该路由的AS_Path中包含自己的AS号,则丢弃该路由。

AS_Path的4种类型

  • AS_Sequence
  • AS_Set
  • AS_Confed_Sequence(应用于联盟)
  • AS_Confed_Set(应用于联盟)

BGP属性 – Next_hop

6.13-4

(1)BGP路由器将本端始发路由发布给IBGP邻居时,会把该路由信息的next_hop设置为本端建立邻居关系所用的接口IP

RTA将100.0.0.0/24的网段发布给RTB时,如果RTA与RTB使用直连接口建立邻居,则next_hop为RTA与RTB直连的接口IP;如果RTA与RTB使用Loopback接口建立IBGP邻居,则next_hop为RTA的Loopback接口IP。

(2)BGP路由器向EBGP邻居发布路由时,会把路由信息的next_hop设置为本端与对端建立BGP邻居关系的接口IP

RTB将100.0.0.0/24的网段发布给RTC时,next_hop为RTB上与RTC直连的接口IP。

(3)BGP路由器在向IBGP邻居通告从EBGP学来的路由,不改变下一跳属性

RTA从RTB学到RTC发布的200.0.0.0/24的网段时,next_hop为RTD的出接口IP。

针对上述三种情况的解释:

  • EBGP邻居之间一般采用直连接口建立邻居关系,EBGP邻居在相互通告时会修改next_hop为自己的出接口IP。

  • IBGP邻居通常采用Loopback接口建立邻居,当路由是本路由器起源的,在发送给邻居之后next_hop改为自己的更新源地址,这样即使网络中出现链路故障,只要next_hop可达,同样可以访问目的网段,提高网络的稳定性。

  • 相对于IGP,如rip在发布路由时,每经过一个路由器都会修改下一跳,发布路由的路由器都宣称自己能够到达目标地址,并采用逐跳传递的方式将数据包发送给目标网络,但网络中的路由器并不知道谁是真正的始发路由器,因此会造成环路。

    BGP在EBGP之间传递时才修改next_hop,IBGP发送从EBGP学来的路由给IBGP邻居时,并不修改下一跳,一定程度上起到了防环作用。

image-20241020220053643

BGP属性 – Local_Preference

6.13-5

如图所示,AS 200内有一个200.0.0.0/24的用户网段,通过BGP发布给AS 100。AS 100内的管理员如何设置才可以实现通过带宽高的链路访问200.0.0.0/24的网络?

解决办法:

  • 在RTC上设置ip-prefix匹配200.0.0.0/24的路由,使用route-policy调用该ip-prefix,并设置Local_Preference为200,将路由策略应用在对RTA发布路由的export方向。

Local_Pref属性仅在IBGP邻居之间有效,不通告给其他AS。它表明路由器的BGP优先级,值越大越优先(缺省100)

Local_Pref属性用于判断流量离开AS时的最佳路由。当BGP路由通过不同的IBGP邻居获得目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较大的路由,其默认值为100。

BGP属性 – MED

6.13-6

如图所示,AS 300内的管理员希望在AS 300内操作影响AS 200通过高带宽链路方位100.0.0.0/24,如何实现

解决办法:

  • 在RTE上设置ip-prefix匹配100.0.0.0/24的路由,再设置route-policy调用该ip-prefix,并设置MED为100,将策略应用在对RTC发布路由的export方向。

MED(Multi-Exit-Discriminator)属性仅在相邻两个AS之间传递,收到此属性的AS不会再将其通告给任何其他第三方AS。如图所示,AS 100内并不会收到AS 300内设置的MED值,但是AS 200会收到AS 300内设置的MED值,因此AS 200内可以选择高带宽的路由。

MED属性相当于IGP使用的度量值(Metric),它用于判断流量进入AS时的最佳路由。当一个运行BGP的路由器通过不同的EBGP邻居获得目的地址相同但下一跳不同的多条路由时,在其他条件相同的情况下,将优先选择MED值较小者作为最佳路由,其默认值为0

BGP属性 – Community

6.13-7

如图所示,AS 10内有10.1.10.0/24的用户网段,AS 11内有10.1.11.0/24的用户网段。为了区分用户网段,AS 10内的10.1.10.0/24设置了10:12的Community,AS 11内的10.1.11.0/24设置了11:12的Community,通过BGP发送给AS 12后,AS 12希望汇总后屏蔽掉明细路由再发送给AS 13,并且希望AS 13收到路由后不再传递给其他AS,如何实现?

解决方法:

  • 在RTC上设置Community-filter,匹配Community为10:12和11:12的路由,再设置route-policy匹配Community-filter,将两条路由聚合成10.1.10.0/23的路由,并调用route-policy。
  • 在RTC上设置route-policy,设置团体属性为no-export,在RTC通告给RTD的export方向调用该route-policy。

Community属性分为两类,一类是公认团体属性,另一类是扩展团体属性。

  • 公认团体属性分为4类:

    • Internet:缺省属性,所有路由都属于Internet,此属性的路由可以通告给所有BGP邻居;
    • No_Export:收到此属性的路由后,不将该路由发布给其他AS,如图,RTB上希望10.1.11.0/24的路由发布给AS 12后,不再发布给其他AS,则可将10.1.11.0/24的Community属性设置为No_Export;
    • No_Advertise:收到此属性的路由后,不将该路由通告给任何其他的BGP邻居。如图,RTB上希望只将10.1.11.0/24的路由发布给RTC,并且不再通告给其他的BGP邻居,则可将10.1.11.0/24的Community属性设置为No_Advertise;
    • No_Export_Subconfed:在联盟中使用。
  • 扩展团体属性用一组4字节为单位的列表来表示,路由器中扩展的团体属性格式为aa:nn或团体号:

    • aa:nn中,aa通常为as编号,nn是管理员自定义的团体属性标识;

    • 团体号范围为0-4294967295,在RFC1997中,0-65535与4294901760-4294967295为预留值。

本文链接:https://www.orcy.net.cn/4155.html,转载请附上原文出处链接

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注