什麼是最長掩碼匹配

  因為路由表中的每個表項都指定了一個網路,所以一個目的地址可能與多個表項匹配。最明確的一個表項——即子網掩碼最長的一個——就叫做最長掩碼匹配。之所以這樣稱呼它,是因為這個表項也是路由表中,與目的地址的高位匹配得最多的表項。

  路由掩碼最長匹配原則是指IP網路中當路由表中有多條條目可以匹配目的ip時,一般就採用掩碼最長的一條作為匹配項並確定下一跳。***也叫最長字首匹配,是路由器在查詢路由表進行選路的演算法***

  例如,考慮下面這個IPV4的路由表:

  192.168.20.16/28 e0

  192.168.0.0/16 s0

  在要查詢地址192.168.20.19時,不難發現上述兩條都“匹配”,即這兩條都包含要查詢的目的地址。此時就應該根據最長掩碼匹配原則,選擇第一條進行匹配***更明確***,所以資料包將通過e0傳送出去。

  再來看一個例子:

  ip route 10.1.0.0 255.255.255.0 192.168.2.2

  ip route 10.1.0.0 255.255.0.0 192.168.3.3

  ip route 0.0.0.0 0.0.0.0 192.168.1.1

  對於三條目標地址10.1.0.14 ,10.1.4.6 ,10.2.1.3

  10.1.0.14有兩條路由都符合,根據最常掩碼匹配原則,下一跳地址應該是192.168.2.2

  10.1.4.6 只與第二條路由網段匹配,所以下一跳地址 192.168.3.3

  10.2.1.3與那條都不匹配所以扔到預設路由 下一跳 192.168.1.1

  理論上來講,掩碼越長越容易資料的轉發。但是主路由的路由表就很大了,主路由把網路號相同的路由匯聚在一起,雖然定址不是很準確,但是路由表小了,加大了路由的轉發速度。