網路層:路由

內部閘道協定(interior gateway protocol)

把網際網路想成一個由各自獨立的公司組成的世界,每家公司各以自己喜歡的方式經營內部郵務系統,外加另一套在公司之間運送郵件的協議。內部閘道協定(interior gateway protocol,IGP)就是那套內部郵務系統:單一組織用來在自己路由器之間算路徑的路由協定。它管轄的是單一行政管理網域內部的路由,而非網域之間。

更精確地說,網際網路被劃分成多個自治系統(autonomous system,AS)——每個都在某組織控制下的網路,例如一所大學、一家公司或一個 ISP。在一個 AS 內部,路由器跑一個 IGP 來發現並算出到每個內部目的地的最低成本路徑;RIP(距離向量)與 OSPF(連結狀態)是經典的 IGP,IS-IS 則是另一個廣泛使用的連結狀態 IGP。因為一個 AS 內所有路由器都在單一管理權之下,IGP 可以純粹為技術目標最佳化,例如最低延遲或最高頻寬,並信任每台路由器都會合作。

這件事重要,是因為它劃出了網際網路路由的核心邊界。在你的 AS 內部,IGP 挑出有效率的路徑,並在故障時快速收斂。在 AS 之間,換成另一種協定——外部閘道協定,也就是 BGP——接手,因為那裡關心的是陌生人之間的商業政策與信任,而非單純的效率。理解『這是域內、那是域間』是大規模路由的關鍵組織思想。

一個誠實的提醒:『內部』與『外部』描述的是範圍,而非單一演算法。一個 IGP 可以是距離向量或連結狀態;把各個 IGP 聯繫在一起的,是它們全都在單一信任網域內運作並最佳化技術度量。它們並非設計來執行跨組織政策,或擴展到整個網際網路的路由表——那是刻意留給 BGP 的。

一所大學(一個自治系統)跑 OSPF 當它的 IGP,好讓它數百台內部路由器都算出有效率的校園路徑。要連到 Google 時,它的邊界路由器就交棒給 BGP,那是與其他組織對話的外部協定。

IGP 在單一組織內部為效率而選路;BGP 在組織之間為政策而選路。

『IGP』命名的是一個角色(域內路由),而非一個演算法。RIP、OSPF 與 IS-IS 儘管機制不同,全都是 IGP。

又稱
IGPintra-domain routing protocolintra-AS routing protocol域內路由協定