Router Print指令及解說

Windows XP 下Route 指令應用簡介

Windows XP 裡頭內建一個相當實用的路由指令- Route,可以用來查詢路由表及新增或移除某個路由路徑,尤其適用於安裝兩片以上網路卡的系統。封包很可能因為網路設定錯誤的問題,造成連線緩慢異常, 甚而無法以您期望的方式傳送封包,這時 route 指令是很方便的除錯工具,底下就簡單說明 route 指令的語法。

Route print

用來顯示路由表

此例中實際只安裝ㄧ片網路卡,此路由表中的幾個欄位:

Network Destination

表示路由的網路目的地,可以是 IP 網段或IP位址。

Netmask

表示子網路遮罩,用來配合 Network Destination 的運算。

Gateway

是封包欲送往的 IP 位址,如果目的 IP 位址與 Netmask 作 AND 邏輯運算,剛好與 Network Destination 相同,封包就會送到此 Gateway 的 IP 位址。

Interface

是此電腦送出封包的 IP 位址。

Metric

則是

傳送成本的參考數字

,通常與網路連接速度有關,Windows XP本身有自動計算 Metric 的能力,以本表中範例而言100Mbps 的網路速度Metric 設為 20,迴路(loopback)的 Metric 設為 1,

越低的 Metric 表示速度越快

接著針對每一筆路由表作說明:

1. 第一筆(Network Destination:0.0.0.0 …. )是預設路徑(default route),只要路由表找不到傳送路徑的封包,最後都會由會交由預設路徑傳送,因為不論是什麼 IP 位址與 0.0.0.0 的網路遮罩作 AND 運算,結果都是 0.0.0.0,因此封包會被傳送到 192.168.1.1 此一Gateway。

2. 第二筆(Network Destination:127.0.0.1 … )是迴路路徑,因此所有要傳送到127.x.x.x 的封包最候都會送到 127.0.0.1 IP 位址,也就是電腦自己。

3. 第三筆(Network Destination:192.168.1.0)是電腦目前所處的網段路徑,所有要送到 192.168.1.0 都封包都直接由電腦本身 192.168.1.3 的 IP 送出,不需透過其他路由器。

4. 第四筆(Network Destination:192.168.1.3)是電腦本身的 IP 位址,所以要把封包送給自己,就直接送到 127.0.0.1 這個內部IP位址。

5. 第五筆(Network Destination:192.168.1.255)是電腦目前所處網段的廣播路徑,要傳送到 192.168.1.255 的網段廣播封包,都直接由電腦本身 192.168.1.3 的IP 送出,不需透過其他路由器。

6. 第六筆(Network Destination:224.0.0.0)是於多重傳播路徑,所有要送到224.x.x.x 的 IP 位址都會直接交由電腦本身 192.168.1.3 的 IP 送出,不需透過其他路由器。

7. 第七筆(Network Destination:255.255.255.255)代表廣播位址,也就是255.255.255.255 目的位址的封包都會直接交由電腦本身 192.168.1.3 的 IP 送出,不會透過其他路由器,所有在 192.168.1.x 網段的電腦都會收到此封包。

在路由表的選擇上,可能會有兩條以上符合的路徑可供選擇,這時候應該如何選擇路徑?以傳送目的地 192.168.1.100 的封包為例,在上述的路由表第一筆與Netmask 0.0.0.0 AND 運算結果符合 Network Destination 0.0.0.0,與第三筆Netmask 255.255.255.0 AND 的運算結果也符合 Network Destination 192.168.1.0;這時路徑會選擇以Netmask 轉換為二進制之後含1最多那一筆來傳送,因此封包最後將由第三筆路徑做處理。

上述是一張網路卡時的路由表運作,如果加入另一張網路卡時,封包將會如何傳送?我們還是先列出路由表。

由表中可以發現所有原有路徑變成兩份,因此可能有兩條路徑可以選擇,以default route 路徑而言就有 192.168.1.1 與 192.168.216.254 兩條 Gateway 可走,因此路徑的選擇就依 Metric 大小來決定,metric 越小表示成本越低,所以路徑將選擇較低的 default route,因而表中顯示預設閘道(default gateway)會是Metric 較低的 192.168.216.254。如果 Metric 一樣,這時就以隨機方式選擇路徑;如果原來的 default route 的網路連線斷了,那路徑將主動切換到另一條default route。

其他常用

route

指令

route add

用來加入路由路徑

例如:route add 192.168.0.0 mask 255.255.0.0 192.168.1.1 if 0x2 metric 20

指出 Network Destination、Netmask、Gateway、Interface 和 metric。

route -p add

用來永久加入路由路徑,使用-p 參數可以保留路徑設定,不會因為電腦重開機而消失。

例如:route -p add 192.168.0.0 mask 255.255.0.0 192.168.1.1 if 0x2 metric 20。

route delete

用來刪除路由路徑。

例如:route delete 192.168.0.0 mask 255.255.0.0。

route change

用來修改現有的路徑設定。

例如:route change 192.168.0.0 mask 255.255.0.0 192.168.1.1 if 0x2 metric 10

將原先路徑設定的 metric 20 改為 10,這種修改最直接的影響就是改變路徑的選擇,如果有兩條路徑可以選之時,metric 較低的路徑將被優先考慮。