BGP路由属性详解


Weight 属性 : cisco 私有 BGP 属性参数,它只适用于一台路由器中的路由,也就是 不会传递给任何其他的路由器 。他的取值范围为 <0-65535> ,这个数 越大优先级越高 ,默认从邻居学到的路由的 weight 都为 0 ,从本地重分布进 BGP 路由表中的值为 32768 Weight 属性 不能包括在 BGP update 中,也不能以任何形式传递给其他运行 BGP 的邻居,就是说一个路由器上权值的分配不会影响其他路由器上的路由选项。
Neighbor X.X.X.X weight 命令可以更改从该邻居收到的路由的 weight 。也可以用 route-map 中的 set weight 来设置 weight ,但是 weigh 不能用在路由更新的出方向 。我们还可以在 neighbor X.X.X.X filter-list ? Weight 设置 weight 从而来 匹配 ip as-path access-list 列表 中的 AS 为他们设置 weigh 。如果三种都配置。那么 route-map 优于 filter-list 优于 neighbot weight !!
Origin 属性和 next-hop 属性 在前面已经做了解释,在此不再赘述只说一下他们的修改方法。
Origin 属性: route-map set origin[egp/igp/ incomplete ] 修改 origin 属性
Next-hop 属性: neighbor X.X.X.X [next-hop-self/ next-hop-unchanged ] 修改 next-hop 属性,也可以 route-map set ip next-hop[X.X.X.X/dynamic/in-vrf/peer-address/recursive/ verify-availability ] 中进行更详细的修改。
第三方下一跳现象: 当前缀通过 EBGP 通告出去后, next-hop 会被自动的设置为那个正在发送该前缀的 EBGP 对等体的 IP 地址。有一种情况是例外的,就是当多个对等体同在一个共享的多路访问网络中,那么宣告者会把同一个网段上原来的宣告者设置为下一跳,而不是他自身。   这个特性可以被 neighbor next-hop-self 命令修改掉!
 
As-path 属性: 它以 相反的顺序 列出了一条前缀先后所经过的 AS ,最后一个 AS 放置在该列表的开始处。 AS-path 主要目的是为 AS 域间路由选择提供环路防止机制。因为 AS-path 列表的最短优先 原则,因此在列表中 前置相同的 AS 影响入站路由选择是常用的方法,这种方法叫 AS-path 的通路附加 。可以在 route-map in 方向 设置 set as-path prepend 100 101 102 AS-path 列表的 最前面 增加 100 101 102 三个 AS 号码 out 方向在最后面加 Set as-path prepend last-as  3 AS-path 列表的 最前面 增加 3 最后的 AS 号码 只有在 EBGP 对等体之间公布路由的时候 AS 号才会被附加到 AS-path
CISCO-IOS 软件支持 4 as-path AS-SET AS-SEQUENCE AS-CONFED-SET AS-CONFED-SEQUENCE !set Sequence 不同处是 set 中的 AS-path 是无序的,而 sequence 中的 AS-path 列表是有序的 。当执行路由汇总时,会丢失 AS-Path 的细节信息,因为聚合点后面的 AS 号不会加在 AS-path 中,这样会出现路由选择环路。所以有了 AS-set 列表 , 当一个运行 BGP 的路由器根据从其他 AS 学习到的 NLRI 生成一个聚合路由时,在聚合点后面的路由所经过的 AS 会形成一个 AS-SET 。这个 as-set show ip bgp  {} 括起来 , {} 外面的就是 as-sequence. 如: 3 {1,2} i as-set 默认是关闭的 我们可以在聚合命令下 Aggregate-address 10.10.0.0 255.255.0.0 summary-only as- Set 开启 as-set 功能 。因为 as-set 会携带更多信息,所以 只要开启 as-set 就不会再产生 atomic-aggregate
 
Local-preference 属性 :本地优先级,它只用在 IBGP 对等体之间的 update 消息中 ,以设置离开本 AS 的最优出口点,不会传给其他的 AS (典型的,在入境 EBGP 更新中被设置),并且仅仅被同一个 AS 内的路径选择处理所使用。 默认为 100 ( 可以被 bgp default local-preference 修改 ), 越高越优先 。即使在 EBGP 邻居使用 route-map  配置了 Set local-preference <0-4294967295> 在出方向也是没用的,因为 发给 EBGP 对等体的 update 根本不会携带这个属性 ,所以这样配置没有意义。这个属性 发给 IBGP 对等体时会被自动继承下来 ,传递到所有路由器都知道这个路由前缀的本地优先级属性。
 
Multi-Exit-Disc MED )属性: 它被典型的用在 AS 间的链路上,以区分到达相同的邻居 AS 的多个出口点。它在 EBGP IBGP update 消息中携带但不可以在接收 AS 范围之外的地方传递 MED 属性,也就是说 MED 只会在相邻的 AS 之间影响业务量。 它允许一个 AS 将它的首选入口点通过此属性通告给另外一个 AS 。可以在 route-map 中的 set metric<0-4294967295> 中设置 ,还可以在 route-map set metric  +/-<metric> 格外增加或者减少这个值 。具有 最低的 metric 值的路由优先 。我们可以把它看为一个度量,越小越优先。 如果到同一个目的地的两条路由来自不同的 AS ,此时 BGP 路由选路时不进行比较 MED MED 只对单一的 AS 有意义 (我们可以强制让它们比较 bgp always-compare-med )。
在边界路由器本地被注入到 BGP 中的路由在被通告给 EBGP 对等体时携带 MED 值。他们的规则如下:
如果通过 network redistribute 命令注入到 BGP 中的路由是来自于 IGP 的,那么 BGP MED IGP 中导出。
如果通过 network redistribute 命令注入到 BGP 中的路由是来自于直连的,那么 BGP MED 被设置为 0  
如果是通过 aggregate-address 命令注入路由,那么本 BGP 表的 MED 不被设置。邻居收到后写成 0
如果 路由从 i/eBGP 对等体学习到,那么它的 MED 传给 EBGP 对等体是删除的 。我们可以强制边界路由器通告 MED EBGP 对等体邻居。 Route-map 中设置 set metric-type internal 这样就会将 本地 IGP 路由表的 metric 增加到条目中,如果本地 IGP 没有那么就为 0
Default-metric 这条命令可以更改 重分布(必须是 redistribute 命令)进 BGP 路由表的 IGP 条目的默认 MED 为多少 。(缺省情况下 redistribute 会把 IGP 的开销放到 BGP MED 属性中)
 
ATOMIC-AGGREGATE 属性和 AGGREGATOR 属性: 一个运行 BGP 的路由器能够向另外一个运行 BGP 的路由器传送重叠的路由。聚合路由是产生重叠路由的最主要方式。
重叠路由:可以到达同一个目的地但是不完全相同的路由。(常见的就是一条路由包含另一条路由)
当执行路由聚合时,会丢失路由信息 as-path next-hop 等),路由会变得不准确。 聚合的发起者只会把自己的 AS 放入 AS-path 中,聚合前的 AS 信息都会丢失。
Atomic-aggregate 属性: 它可以 警告下游路由器出现了路径的丢失 。聚合时总是会把这个属性放进聚合后路由的 update 中。任何下游路由器再公布给其他路由器时,会 传递这条路由的这个属性
Aggregator 属性: 聚合时也会自动出现该属性。它包括发动 聚合路由器的 AS 号码还有它的 router-id ,从而提供了执行聚合的地点信息。 Atomic-aggregate 属性指示出现了路径信息的丢失而 aggregator 属性指示聚合路由出现在哪里
 
Community 属性: 它被一组 共享相同特性的前缀 所定义, 多个社团可以应用到一条前缀上 Community 属性有 4 个字节, RFC1997 规定前两个字节代表 AS 号码,后两个字节是管理上定义的标识符。格式为 AA:NN cisco 缺省时 NN:AA 格式,但是可用命令 ip bgp-community new-format 将这个缺省的 NN:AA 改为 RFC1997 AA:NN
团体属性有以下两种类型: well-known (公共)和 Private (私有)
公共社团属性:当收到这些带有团体属性的前缀时,对等体会 自动根据预定义(操作已经定义好了)的社团属性意义来采取操作 ,不需要额外的配置。公共团体属性的保留范围是( 0xFFFF0000-0xFFFFFFFF )。下面是 4 种公共社团属性
Internet: 所有属于这个社团属性的路由都有一个缺省值,可以自由地公布属于这个团体的路由。换句话说 这个社团的前缀通告没有任何限制 。在 cisco IOS 软件中, 每一条前缀都没有团体属性 ,但配置上这个属性并不会有什么变化,也是可以自由传递。它的 值为 0
No-export: 有这个属性的前缀 不会被通告给 EBGP 对等体 ,但是 可以发送给联邦的 EBGP 对等体 ,也就是不能在联邦范围以外公布。这个团体的值为 0xFFFFFF01
Local-AS: 有这个属性的路由条目 不会被通告到本地 AS 之外 。在联邦情况下,只有在同一个 AS 中的对等体 才会允许接受这些前缀。它的值为 0xFFFFFF03 RFC1997 中这个团体也叫做 no-export-subconfed
No-advertise: 接受到带有值的路由 不能公布给任何对等体 ,包括 IBGP 对等体和 EBGP 对等体。它的值为 0xFFFFFF02
私有社团属性: 有网络管理员自己定义的社团属性,它的主要目的是 为前缀附加管理标记 ,以便制定合适的策略。
社团属性默认并不会在对等体之间传递,传递社团属性需要命令 neighbor send-community
 
Originator-id 属性和 cluster-list 属性: 他们在路由反射器中使用用来防止路由选择环路。
Originator-id 是本地 AS 路由发起者的路由器 ID 。如果路由发起者在接收到路由的 originator-id 中发现了自己的 RID ,就知道产生了环路,于是 忽略 该路由条目,它提供在 AS 内的防环作用,它由 第一个 RR 创建,并且不被后续的 RR 修改 。它只应在 IBGP 对等体那里接收到, RR originator-id 用来替代路由选择过程中的 router-ID 它应该是这些路由器的 router-id 在本地 AS 始发路由的 BGP 宣告者的 router-id; 如果是从 EBGP 学到的就是最初学到那个条目的路由器 ( AS 内边界路由器 ) router-id (它一定是本 AS 内路由器的 router-id )。
Cluster-list 是路由经过的 路由反射器的簇 ID (默认 RR router-ID )的一个列表 ,如果路由反射器接收到的路由的 cluster-List 中发现了自己的本地簇 ID ,就知道产生了环路,于是忽略该路由条目, RR 从而能够分别出路由选择信息是否又环回到同一个簇。可以配置 bgp cluster-id cluter-id 默认为 RR 自己的 router-id 所以默认情况下所有的 RR 都不在同一个簇。
MP_Reach_NLRI 属性、 MP_Unreach_NLRI 属性和 Extended_Communities 属性将在 MPLS/VPN 体系结构中详细讲述。
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM