商用資料通訊Ch8筆記_TCP/IP Internetworking I_part3_Steps in a Routing Decision

路由決策的步驟(Steps in a Routing Decision)-IP封包的傳送與路徑選擇
Step1. 找到所有匹配目標IP地址的行。(Finding All Row Matches)
當路由器收到一個數據包時,它會檢查數據包的目標IP地址,並在路由表中查找與該地址匹配的行,會逐筆都搜直到最後一筆(因為可能會不只一個match)。
路由器會對每一行進行以下操作以確定是否匹配:
1. 將該行的mask應用到數據包的目標IP地址上。
2. 比較結果與該行的目標值進行比較。
3. 如果兩者匹配,則該行是一個匹配。

假設有一個數據包到達路由器,其目標IP地址為60.43.7.8。
路由表某row的目標值128.171.0.0待比較,此時路由底層會
將目標IP地址為60.43.7.8和掩碼255.255.0.0進行bitwise-and操作
00111100.00101011.00000111.00001000
11111111.11111111.00000000.00000000
00111100.00101011.00000000.00000000 -> 得到60.43.0.0 (以獲得網絡ID)
將60.43.0.0與該行的目標值128.171.0.0進行比較。由於兩者不同,因此該行不是一個匹配。

假設有一個數據包到達路由器,其目標IP地址為128.171.17.13。
路由表某row的目標值128.171.0.0待比較,此時路由底層會
將目標IP地址為128.171.17.13和掩碼255.255.0.0進行bitwise-and操作
10000000.10101011.00010001.00001101
11111111.11111111.00000000.00000000
10000000.10101011.00000000.00000000-> 得到128.171.0.0(以獲得網絡ID)
將128.171.0.0與該行的目標值128.171.0.0進行比較。由於兩者相同,因此該行是一個匹配。

Step2. 確定最佳匹配行。(Find the Best-Match Row)
如果有多個匹配行,則路由器將選擇前綴長度最長的行掩碼中初始1的位數最多的行。
例如,假設路由表中有三行如下:
Row1:目標為128.171.0.0,掩碼為255.255.0.0
Row2:目標為128.171.17.0,掩碼為255.255.255.0
Row3:目標為0.0.0.0,掩碼為0
有一個數據包到達路由器,其目標IP地址為128.171.17.13。在進行匹配時,路由器會發現第一行和第二行都與該數據包的目標IP地址匹配。但是第二行的前綴長度更長(24位),因此它是最佳匹配。路由器將選擇第二行作為該數據包的下一跳路由。


如果有多個前綴長度相同的匹配行(tie breaker平局的狀況發生),則根據指定的度量標準來選擇其中一個。
對於成本度量(metric)標準,選擇具有最低成本指標值的行。
對於速度度量(metric)標準,選擇具有最高速度指標值的行。

*通常會優先考慮遮罩長度而非指標(metric)
Row / Mask / Metric
220 /24 / speed metric = 40
345 /18 / speed metric = 50
682 /8 /speed metric = 40
What is the best-match row? Why? ->Row 


The following rows are matches.
Row 107,Mask:12,speed metric = 30
Row 220,Mask:14,speed metric = 100
Row 345,Mask:18,speed metric = 50
Row 682,Mask:18,speed metric = 40
What is the best-match row? Why?
在這些匹配行中,最佳匹配行是 Row 345。因為 Row 682 和 Row 345 都有相同的前綴長度(18位),所以需要使用決定性因素來決定最佳匹配行。在這種情況下,決定性因素是速度指標,而 Row 345 具有較高的速度指標(50),這意味著它是最優選擇。

如果沒有匹配行,則路由器將使用預設路由,將數據包轉發到預設網關。

Step3. 決定發送數據包的接口發送數據包。(Send the Packet Back Out)
路由器將封包發送回出口(路由器端口),該出口是在最佳匹配行中指定的。然後,路由器將封包發送到下一跳路由器列中指定的IP地址。如果下一跳路由器列顯示為“Local”,則表示目標主機位於該接口上,因此封包會直接發送到目標主機。最後,路由器會使用一個框架來傳送封包到目的地IP地址。



https://miniwebtool.com/zh-tw/ip-address-to-binary-converter/?ip=128.171.0.0
https://www.calculator.net/ip-subnet-calculator.html?cclass=any&csubnet=16&cip=128.171.17.13&ctype=ipv4&printit=0&x=74&y=28

留言

這個網誌中的熱門文章

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header

經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題