AS 路徑(AS_PATH)屬性爲公認必遵屬性,該屬性域指示出該路由更新信息通過了哪些AS路徑,主要做用是保證AS之間無環路。spa
AS_PATH屬性按必定次序記錄了某條路由從本地到目的地址所要通過的全部AS號。當BGP將一條路由通告到其餘AS時,便會把本地AS號添加在AS_PATH列表的最前面。收到此路由的BGP路由器根據AS_PATH屬性就能夠知道去目的地址所要通過的AS。離本地AS最近的相鄰AS號排在前面,其餘AS號按順序依次排列。blog
使用AS路徑屬性的目的是保證無路由環路。一般狀況下,BGP 不會接受AS_PATH 中已包含本地AS 號的路由,從而避免了造成路由環路的可能。若是BGP 路由信息發佈者從EBGP 對等體收到一條路由,它的AS_PATH 包含發佈者本身的AS 號,就說明這條路由曾經從本AS 發出過,將其丟棄,同時再也不進行轉發。基於上述機制,AS_PATH 屬性能夠避免AS 之間的路由環路的出現,AS 內部的路由環路的避免則採用其餘手段來實現。路由
同時,AS_PATH 屬性也可用於路由的選擇和過濾。在其餘因素相同的狀況下,BGP 會優先選擇路徑較短路由。好比在上圖中,AS 100 中的BGP 路由器會選擇通過AS 65330 的路徑做爲到目的地址99.0.3.0/22 的最優路由。io
BGP 發言者在向EBGP鄰居發送路由更新時修改AS_PATH屬性,向IBGP鄰居發送時不修改該屬性。配置
在某些應用中,能夠使用路由策略來人爲地增長AS 路徑的長度,以便更爲靈活地控制BGP 路徑的選擇。路由器
經過配置 AS 路徑過濾列表,還能夠針對AS_PATH 屬性中所包含的AS 號來對路由進行過濾。im