[转载]BGP路径属性之AS_PATH的四种类型浅析

原文地址:BGP路径属性之AS_PATH的四种类型浅析 作者:红茶三杯
AS_PATH属性,公认必遵,描述到达目标网络所要经过的AS号序列。最重要的作用是防环,如果BGP router发现自己的AS号位于接收自外部对等体的路由,则忽略该路由
仅当update消息被发送给其他的AS时,BGP 路由器才会将其AS号追加在AS_PATH中。这句话也隐含了另一个意思,那就是如果要修改AS_PATH属性,则必须在AS边界路由器上执行策略。

有四种类型的AS_PATH:
  • AS_SET: 一个去往特定目的地所经路径上的无序AS号列表
  • AS_SEQENCE: 一个有序的AS号列表
  • AS_CONFED_SEQUENCE 一个去往特定目的地所经路径上的有序AS 号列表,其用法与AS_SEQUENCE完全一样,区别在于该列表中的AS号属于本地联邦中的AS
  • AS_CONFED_SET 一个去往特定目的地所经路径上的无序AS号列表,去用方法与AS_SET完全一样,区别在于列表中的AS号属于本地联邦中的AS

以上四种类型是通过AS_PATH属性中的类型代码进行区分。关于这两个联邦特有的AS_PATH类型,详细内容请见本文档“联邦”一小节,对于前两种AS_PATH怎么理解呢?
[转载]BGP路径属性之AS_PATH的四种类型浅析

如上图由于做了汇聚,可能会丢失AS号信息,而作为AS号本身,如果用于防环的目的,其实并不一定要求AS号排列有序,因此AS3113向上游通告汇总路由时,以AS_SEQENCE为起始,同时AS_SET仍然保留明细路由的AS号(无序)。
如果AS_PATH中包含了AS_SET,那么就不需要在聚合路由中包含ATOMIC_AGGREGATE了,这是因为,AS_SET不但可以向下行路由器通告已经发生了路由聚合,而且包含了比ATOMIC_AGGREGATE更多的信息


AS_PATH:类型 AS_SEQENCE
[转载]BGP路径属性之AS_PATH的四种类型浅析

以下为UPDATE消息中的AS_PATH字段内容(AS_PATH类型为AS_SEQUENCE的情况,也就是一般情况)
上图仅做基本的BGP配置,在R1上发布1.0及2.0,不做汇总,R4收到的AS_PATH如下:

[转载]BGP路径属性之AS_PATH的四种类型浅析




AS_PATH:类型 AS_SET

[转载]BGP路径属性之AS_PATH的四种类型浅析

R3上对R1、R2过来的明细进行汇总(汇总命令加上AS_SET关键字),在R4上抓包会发现汇总路由的AS_PATH=300 {100,200}:
再看看抓包的结果,发现AS_PATH包含两部分,300为AS_SEQ类型,{100,200}为AS_SET类型

[转载]BGP路径属性之AS_PATH的四种类型浅析

你可能感兴趣的:([转载]BGP路径属性之AS_PATH的四种类型浅析)