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
體系結構中詳細講述。
