AS 路徑(AS_PATH)屬性為公認必遵屬性,該屬性域指示出該路由更新信息經過了哪些AS路徑,主要作用是保證AS之間無環路。
AS_PATH屬性按一定次序記錄了某條路由從本地到目的地址所要經過的所有AS號。當BGP將一條路由通告到其他AS時,便會把本地AS號添加在AS_PATH列表的最前面。收到此路由的BGP路由器根據AS_PATH屬性就可以知道去目的地址所要經過的AS。離本地AS最近的相鄰AS號排在前面,其他AS號按順序依次排列。
使用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 的最優路由。
BGP 發言者在向EBGP鄰居發送路由更新時修改AS_PATH屬性,向IBGP鄰居發送時不修改該屬性。
在某些應用中,可以使用路由策略來人為地增加AS 路徑的長度,以便更為靈活地控制BGP 路徑的選擇。
通過配置 AS 路徑過濾列表,還可以針對AS_PATH 屬性中所包含的AS 號來對路由進行過濾。