路由器(router)
路由器是一個L3層設備,用於連接L3層網絡。通常至少有兩個接口interface(或者iface),如果使用VLAN等技術,路由器可以只有一個接口(router on a stick)。路由器會查看IP數據包的目的地址來決定向哪裏轉發。
路由(routing)
路由表
每個router或者end host都有一個路由表,用於指定特定目的終端或網絡的路徑或者下一跳。
router或end host會嘗試去匹配IP數據包目的地址和路由表項。如果匹配成功,router會將數據包轉發至特定網關或者直接轉發給目的主機。如果匹配不成功,則會採用默認路由。路由表舉例如下:
尋路過程
路由表項也就是路徑,是由管理員手動配置或者通過路由協議動態交互生成的。
一個router可能會運行多個路由協議,每個路由協議會創建各自的路由表(local RIB)。所以可能存在多條候選路徑。router的全局RIB是一個最佳路徑。
動態路由協議會定時更新,或者當拓撲變化時、路由策略變化時、路由metrics(hop count、filtering、delay、bandwidth)變化時,路由決策也會隨之變化。(event driven)
路由查找(lookup),目前依賴IP目的地址,採用最長前綴匹配策略(lpm,longest prefix match),即是説,當有兩個路由表項匹配時,要選擇最長的那一個。例如,數據包目的地址是172.16.1.1,路由表項有172.16.1.0/24和172.16.0.0/16,則前者優於後者。
轉發(forwarding)
區別於路由
路由是構建地圖以及指定方向。
轉發是根據路由指定的方向將數據包從某個interface發出去。
IP轉發
router決定哪個接口用於發送給定的數據包。轉發表FIB依據路由表RIB生成。
轉發決策取決於IP目的地址、服務類型、本地需求(如包過濾)。轉發一般是需要使用特殊硬件的,這樣可以做到更高效率地轉發,不過一些低端路由器也會採用CPU轉發。
路由表(RIB)與轉發表(FIB)
路由表RIB是routing talbe,實際是routing information base。全局路由表是根據其它動態路由協議的RIBs或靜態路由構建的。它包含了所有已知的IP目的地址和nexthop。一個IP目的地址可能對應多個可行的nexthop,但是隻有一個最佳的nexthop會存在於Global RIB中Global RIB用於生成FIB。查看路由表,在CISCO IOS上可使用show ip route,在Juniper JunOS上可使用show route。
轉發表FIB是forwarding table,實際是forwarding information base。轉發表是根據全局路由表生成的,用於決定數據包的具體轉發,轉發表項通常包含目的地址、interfaces以及nexthop。查看轉發表,在CISCO IOS上可使用show ip cef,在Juniper JunOS上可以使用show route forwarding-table。
其他概念
ingress vs. egress
egress決定了數據包如何離開網絡,這通常取決於:
路由可用性(route availability)
路由接受度(route acceptance)
策略和調整(policy and tuning)
鄰居協商(peering and transit aggressments)
ingress決定了數據包如何進入網絡和客户網絡,這通常取決於:
你的網絡發送了什麼信息以及發給了誰
基於IP地址和起源
基於其他策略
BGP相關概念
自治域(autonomous system, AS):一個相同策略的網絡集合,內部通常使用單一路由協議,一般也由同一個ISP進行管理維護。
鄰居(neighbor):一個AS與之直接交換路由信息的實體,有時也指BGP router交換路由信息的實體。
宣告(announce):發送路由信息給鄰居。
接受(accept):接收並使用來自鄰居的路由信息。
起源(originate):將路由信息插入額外的宣告(通常是IGP的結果)。
對等體(peers):鄰居AS中的router或在一個AS內部的router,用於交換路由和策略信息。
路由策略(routing policy):用於控制網絡中的流量的進出。網絡管理者用策略決定從鄰居收到的路由應該接受還是丟棄。但是策略路由也存在侷限性,由於AS之間的路由是逐跳的,而路由策略一般是取決於本地的。如果流量前序AS不配合,那麼一些特定功能就無法實現。
例如上圖中,AS64499想要紅色的路徑只傳遞red AS相關的流量,綠色路徑則傳遞其他流量。如果AS64510不參與上述策略,那麼AS64499可能就無法實現上述目的。即AS64510可能採取相反策略,紅色路徑只傳遞green AS的流量,而綠色路徑則只傳遞red AS的流量。對此,AS64499基本什麼也做不了。
routing flow vs. packet flow vs. traffic flow
routing流和traffic流的方向總是相反的。
©著作權歸作者所有:來自51CTO博客作者OutOfIndex的原創作品,請聯繫作者獲取轉載授權,否則將追究法律責任
路由基礎概念
https://blog.51cto.com/basilguo/13953869