看板 Network 關於我們 聯絡資訊
原文我就吃光光好了!!! XDDD 回歸正題~~~ 假設我的環境的Router介面為 (我簡單用cisco native IOS CLI 介面來舉例) show ip route R 192.168.1.0/28 [120/2] via 192.168.20.2, xxx , Serial 0/1 R 192.168.1.0/24 [120/2] via 192.168.100.200, xxx , Fastethernet 0/0 R 192.168.2.0/24 [120/2] via 192.168.200.200, xxx , Fastethernet 0/1 R 192.168.3.0/24 [120/3] via 192.168.200.200, xxx , Fastethernet 0/1 C 192.168.1.1/32 is directly connected, Loopback0 C 192.168.20.0/24 is directly connected, Serial 0/1 C 192.168.100.0/24 is directly connected, FastEthernet 0/0 C 192.168.200.0/24 is directly connected, FastEthernet 0/1 假設路由器收到封包而要轉的目的地為 192.168.1.1 這時候比對路由表~ 就會發現有一筆相符 192.168.1.1/32 然後就會丟給 loopback0 這個介面 再來假設 若路由器收到封包而要轉的目的地為 192.168.1.2 這時候比對路由表~ 就會發現有一筆相符 192.168.1.0/28 然後就會丟給 Serial0/1 再來假設 若路由器收到封包而要轉的目的地為 192.168.1.200 這時候比對路由表~ 就會發現有一筆相符 192.168.1.0/24 然後就會丟給 Fa0/0 再來假設 若路由器收到封包而要轉的目的地為 192.168.2.2 這時候比對路由表~ 就會發現有一筆相符 192.168.2.0/24 然後就會丟給 Fa0/1 所以舉一反三,就應該可以知道 192.168.3.23 會轉給 Fa0/1 那假設收到要轉往 172.16.33.22 封包要轉往的目的地呢??? 一樣~ 路由器都是看路由表來轉送封包~~~ 根據比對~ 沒有相符~ 所以封包就會丟掉!!! 若想把封包轉往更大的路由器來幫忙轉送呢??? 其實這時候就可以設定預設路由(default route) Router(config)#ip route 0.0.0.0 0.0.0.0 192.168.200.200 Router(config)#do show ip route R 192.168.1.0/28 [120/2] via 192.168.20.2, xxx , Serial 0/1 R 192.168.1.0/24 [120/2] via 192.168.100.200, xxx , Fastethernet 0/0 R 192.168.2.0/24 [120/2] via 192.168.200.200, xxx , Fastethernet 0/1 R 192.168.3.0/24 [120/3] via 192.168.200.200, xxx , Fastethernet 0/1 C 192.168.1.1/32 is directly connected, Loopback0 C 192.168.20.0/24 is directly connected, Serial 0/1 C 192.168.100.0/24 is directly connected, FastEthernet 0/0 C 192.168.200.0/24 is directly connected, FastEthernet 0/1 S* 0.0.0.0/0 [1/0] via 192.168.200.250 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^這邊就會多一條預設路由... 所以再次收到 172.16.33.22 比對路由表的規則的時候~ 就會比對不到之後 通通都會丟給 192.168.200.250(對方路由器) 來幫忙路由~ 若這樣的設定, 路由器再收到目標為 10.0.0.100 呢? 其實是一樣的 依序比對~ 比對下來的結果~ 還是一樣!!! 會丟給預設路由的.... 路由表的比對順序會先從最接近的開始比對 意思是說若是相同的網段(舉上面的案例來說) /32 /28 /24 若以 /32 完全符合 就會丟給 /32 這個介面 若先 /28 符合的話 就會丟給 /28 這個介面 若在 /24 符合的話 就會丟給 /24 這個介面 (是以"精準度"來進行傳遞,越接近者則會先以該項路由進行傳遞) 192.168.1.1 由於路由表上已經有完全相符的路由 所以會丟給lo0這個介面 192.168.1.2 由於路由表上有 192.168.1.0/28 與 /24 這時候就會先丟給 192.168.1.0/28 ~ 因為 192.168.1.2 符合 /28 的規則~ (這時候若還不會計算 192.168.1.0/28 的網段範圍的話,那真的該打屁屁) 所以 192.168.1.0/24 這個並不會優先採用傳遞~ 而是以/28來進行 至於 192.168.1.200 由於這個已經超過 192.168.1.0/28的範圍 所以在往下比對發現 192.168.1.0/24 相符~ 所以才會丟往這個介面... 以此類推~~~ 若路由表上有 預設路由(default route) 的話,那麼就會將以上比對不到的封包 通通往這個預設路由進行傳遞... 希望以上說的~ 能夠讓你懂!!! ※ 編輯: wst2080 來自: 122.116.248.253 (06/17 19:55)
FT6034:感謝!瞭解 預設路由(default route) 的意思了 06/18 08:12
zaknafein:推推推 06/18 23:03
stator:謝謝w大 06/19 16:24