公認屬性是所有 BGP 路由器都必須能夠識別的屬性
- 公認必遵 (Well-known Mandatory) : 必須包括在每個 Update 消息里
- 公認任意 (Well-known Discretionary) : 可能包括在某些 Update 消息里。
可選屬性不需要都被 BGP 路由器所識別
- 可選過渡(OptionalTransitive) : BGP 設備不識別此類屬性依然會接受該類屬性并通告給其他對等體。
- 可選非過渡(OptionalNon-transitive) : BGP 設備不識別此類屬性會忽略該屬性,且不會通告給其他對等體。
AS_Path
公認必遵屬性
任何一條 BGP 路由都擁有多個路徑屬性當路由器將 BGP 路由通告給它的對等體時,一并被通告的還有路由所攜帶的各個路徑屬性。BGP 的路徑屬性將影響路由優選
該屬性為公認必遵屬性,是前往目標網絡的路由經過的 AS 號列表
作用:確保路由在 EBGP 對等體之間傳遞無環,另外也作為路由優選的衡量標準之一
路由在被通告給 EBGP 對等體時,路由器會在該路由的 AS Path 中追加上本地的 AS 號;路由被通告給 IBGP 對等體時,AS Path 不會發生改變
R1 從 R4 收到的 BGP 路由更新中 AS Path 屬性數值為:400 300 200 100 存在自身 AS 號不接收該路由,從而防止了路由環路的產生。
AsPath 的重要作用之一便是影響 BGP 路由的優選,在上圖中,R5 同時從 R2 及 R4 學習到去往 10.0.1.0/24 網段的 8GP 路由在其他條件相同的情況下,R5 會優選 R2 通告的路由,因為該條路由的 AS_Path 屬性值較短,也即 AS 號的個數更少。
AS_Path 類型
有序:默認情況下,都是有序的
無序:在路由匯總手工配置,為了解決在路由匯總后明細路由丟失 AS_Path 屬性的問題,用于防止環路產生。
[R5-bgp]aggregate 192.168.1.0 255.255.255.0 as-set detail-suppressed
// 在聚合路由的基礎上,產生無序as_path
格式: 300 {200,100}
修改 AS_Path 屬性
在使用 Route-Policy 修改 BGP 路由的 AS_Path 屬性時,可以使用以下 3 種方式
[R5]route-policy aspath permit node 10
[R5-route-policy]apply as-path 300 additive // 在原有as號上追加300
[R5-route-policy]apply as-path 300 overwrite ?// 將as號替換為300
[R5-route-policy]apply as-path none overwrite // 將as號清空
[R5-bgp]peer 22.0.0.1 route-policy aspath export // 將對該鄰居發出的路由信息執行該策略
[R5-bgp]peer 22.0.0.1 route-policy aspath import ?// 將該路由傳來的路由信息執行該策略
?
?
?
?
?
?
?
?
?