路由查詢最長字首匹配

2021-07-02 03:26:41 字數 641 閱讀 8061

路由掩碼最長匹配原則是指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

路由掩碼最長匹配原則

路由掩碼最長匹配原則是指ip網路中當路由表中有多條條目可以匹配目的ip時,一般就採用掩碼最長的一條作為匹配項並確定下一跳。也叫最長字首匹配,是路由器在查詢路由表進行選路的演算法 例如,考慮下面這個ipv4的路由表 192.168.20.16 28 e0 192.168.0.0 16 s0 在要查詢位...

字首樹演算法實現路由匹配原理解析

路由功能是web框架中乙個很重要的功能,它將不同的請求 給不同的函式 handler 處理,很容易能想到,我們可以用乙個字典儲存它們之間的對應關係,字典的key存放path,value存放handler。當乙個請求過來後,使用routers.get path,none 就可以找到對應的handler...

(小白練題)字串最長字首匹配

關於字串的最長字首匹配 學習陣列的部分對二維字元陣列一直不熟悉 導致一直沒有思路 當然這也引出對字元型指標思考 當然要惡補一下相關知識點哈 編寫乙個函式來查詢字串陣列中的最長公共字首。例題 如果不存在公共字首,返回空字串 示例 1 輸入 flower flow flight 輸出 fl 示例 2 輸...