㈠ 網路拓撲圖求路由表-計算機網路
㈡ 路由表怎麼看
轉:
TCP/IP協議有時間變得真正成熟起來,並且更穩定和更可靠。然而,當涉及到計算機的時候,事情就沒有那樣簡單了。當路由包通過網路的時候,有時候會出現錯誤。在這種情況下,熟悉Windows路由表是很有幫助的。路由表能夠決定來自有問題的機器的數據包的去向。在本文中,我將向你介紹如何查看Windows路由表以及如何讓Windows路由表中包含的數據有意義。
查看Windows路由表
路由表是Windows的TCP/IP協議棧的一個重要的部分。但是,路由表不是Windows操作系統向普通用戶顯示的東西。如果你要看到這個路由表,你必須要打開一個命令提示符對話框,然後輸入「ROUTE
PRINT」命令。然後,你將看到一個類似於圖A中顯示的圖形。
在我深入討論這個路由表之前,我建議你在命令提示符對話框中輸入另一個命令。這個命令是:IPCONFIG
/ALL
我建議你使用IPCONFIG
/ALL命令的理由是因為這個命令能夠顯示TCP/IP協議在機器中實際上是如何設置的。的確,你可以在網卡屬性頁認真查看TCP/IP協議,但是,如果你從IPCONFIG得到這個信息,這個信息會更可靠。在過去的幾年裡,我曾經遇到過這樣一些例子,IPCONFIG報告的信息與機器中的TCP/IP協議設置屏幕中顯示的信息完全不一樣。這種事情不常見,但是,如果正好出現這種錯誤,你就會遇到這種不匹配的情況。坦率地說,鍵入到TCP/IP屬性頁中的信息反映了你想要Windows為選擇的網路設置的TCP/IP協議。IPCONFIG提供的信息顯示了Windows實際上設置的協議。
即使你沒有出現一些奇怪的Windows錯誤,從IPCONFIG獲得你的配置信息仍是非常有用的。如果一台機器有多個網卡,要記住每一個網卡綁定的設置是很困難的。IPCONFIG列出了如圖B所示的每一個網卡的各種設置,很容易閱讀。
檢查路由表
當這篇文章要討論路由表的時候,你現在也許很想知道我為什麼讓你執行IPCONFIG
/ALL命令。這樣做的原因是你一般來說從來不看路由表,除非你的機器出現了問題。如果你遇到了問題,開始診斷故障的最佳地方就是對比IPCONFIG提供的信息和路由表中存儲的信息。
正如你在圖B中所看到的那樣,IPCONFIG/ALL屏幕顯示了IP地址、默認網關等一些基本的TCP/IP信息。然而,路由表卻不是這樣容易看懂。所以,我要用一些時間討論如何閱讀路由表以及路由表中的信息代表什麼意思。
為了理解這些列中的信息代表什麼意思,你需要稍微了解一下路由器是如何工作的。路由器的工作是協調一個網路與另一個網路之間的通信。因此,一台路由器包含多個網卡,每一個網卡連接到不同的網段。
當用戶把一個數據包發送到本機以外的一個不同的網段時,這個數據包將被發送到路由器。路由器將決定這個數據包應該轉發給哪一個網段。如果這台路由器連接兩個網段或者十幾個網段也沒有關系。決策的過程都是一樣的,而且決策都是根據路由表做出的。
如果你要查看執行「Route
Print」命令之後屏幕顯示的內容,你將發現路由表分為五列。第一列是網路目的地址。列出了路由器連接的所有的網段。網路掩碼列提供這個網段本身的子網掩碼,而不是連接到這個網段的網卡的子網掩碼。這基本上能夠讓路由器確定目的網路的地址類。
第三列是網關。一旦路由器確定它要把這個數據包轉發到哪一個目的網路,路由器就要查看網關列表。網關表告訴路由器這個數據包應該轉發到哪一個IP地址才能達到目的網路。
介面列告訴路由器哪一個網卡連接到了合適的目的網路。從技術上說,介面列僅告訴路由器分配給網卡的IP地址。那個網卡把路由器連接到目的網路。然而,路由器很聰明,知道這個地址綁定到哪一個物理網卡。
最後一列是測量。測量本身是一種科學。但是,我將設法簡單向你解釋一下它們做什麼。我聽說過的一個最佳的解釋測量的方法是用機場的詞彙對此進行解釋。設想一下,我需要從北卡羅來納州的加洛特市飛往佛羅里達州的邁阿密。由於加洛特機場非常大,我要去邁阿密海灘可以有很多選擇。我可以乘坐西北航空公司的班機。那個班機能把我帶到密執安州的底特律,然後從底特律飛往邁阿密。我還可以乘坐大陸航空公司的班機飛往休斯頓,然後飛往邁阿密。另一個選擇是乘坐美國航空公司的飛機直接飛往邁阿密。我應該選擇哪一條線路呢?
在現實生活中,有許多因素值得考慮,如飛機票的價格和起飛的時間等。但是,讓我們假設這一切都是相同的。如果除了航線之外,航班都是一樣的,那麼,我會選擇中途停留最少的航班。那會使我以最快的速度到達目的地。由於停留的次數少,我的銜接出問題的機會就少,行李丟失等問題也會減少。
路由是以同樣的方式工作的。許多時候,路由器有很多方法發送一個數據包。在這種情況下,以最短的(或者最可靠的)路徑發送數據包是有意義的。測量就在這里發揮作用了。Windows一般不查看測量列,除非通向一個目的地有很多路徑。如果有多個路徑,Windows將查看測量列以確定最短的路徑。這是一種非常簡單的解釋。但是,這種解釋說明了要點。
額外的路由選擇
早些時候,我曾介紹過「Route
Print」命令。但是,你用「Route」命令實際上能夠做很多事情。「Route」命令的參數如下:
ROUTE [-f] [-p] [command
[destination]
[]
-f開關是可以選擇的。這個開關告訴Windows清除路由表中所有的網關輸入記錄。如果這個-f開關與其它命令一起使用,那麼,在執行這個命令中的其它指令之前,所有的網關輸入記錄都將被清除。
-p開關使指定的路由保持不變。一般來說,當伺服器重新啟動的時候,你通過「ROUTE」命令指定的任何路由都會被刪除。-p開關告訴Windows保留這個路由,即使系統重新啟動也不改變。
「ROUTE」命令參數的命令部分相對簡單一些。這個命令集包含PRINT、ADD、DELETE和CHANGE四個選項。我曾向你們介紹過「ROUTE
PRINT」命令。即使這個命令也包含其它的選項。例如,你可以使用通配符與這個命令一起使用。例如,如果你只要輸出與192.x.x.x子網有關的路由,你可以使用這個命令:「
ROUTE PRINT 192*」。
「ROUTE DELETE」命令的工作方式與「ROUTE PRINT」非常相似。簡單地輸入「ROUTE
DELETE」命令,然後輸入你要從路由表中刪除的目的地址和網關就可以了。例如,如果你要刪除192.0.0.0網關,你可以輸入這個命令:「ROUTE DELETE
192.0.0.0」。
「ROUTE CHANGE」和「ROUTE
ADD」命令的基本參數都相同。當你輸入這個命令的時候,你必須指定目的地、子網掩碼和網關。你還可以指定一個測量和介面,不過,這是可以選擇的。例如,如果你要使用最低參數增加一個目的地,你可以輸入如下命令:ROUTE
ADD 147.0.0.0 255.0.0.0
148.100.100.100
在這個命令中,147.0.0.0是你新增加的目的地址。255.0.0.0是這個目的地址的子網掩碼,148.100.100.100是網關。你可以使用METRIC和IF這兩個參數擴大這個命令的功能。例如:ROUTE
ADD 147.0.0.0 255.0.0.0 148.100.100.100 METRIC 1 IF
1
測量這個參數是可以選擇的。但是,它指定了測量或者路由跳數的數量。IF參數告訴Windows使用哪一個網卡。在這種特殊的情況下,Windows將使用作為介面1與Windows綁定的網卡。如果你不使用IF參數,Windows將搜索可供使用的最佳的網卡。