關於windows下的路由表項的解釋?

各位,關於windows下的路由表有幾個問題想請教下各位:

這裡,我的ip地址是111.195.219.58 我的默認網關是111.195.216.1

1,
這裡的On-Link代表的是什麼意思呀?

2,
關於第二個表項,目的地是我的直接聯網項,那麼這個項的網關是什麼呢?我在網上搜到別人的,它們這裡填的就是它們的ip地址,譬如說我這裡的111.195.219.58 這是為什麼,想不太明白

3,
第三個表項,是發給我的本機路由表項,那個網關是什麼呢?是不是我的ip地址?

4,
第四個表項,是我的網段的廣播地址。要是我接受到之後,應該怎樣發出去呢?這裡的網關是什麼呀?

麻煩請詳細點講解,謝謝各位了。(要事能一一說明各個表項的含義就更好了:-D)


首先,題主的計算機有幾個介面?

兩個,一個軟體介面,一個硬體介面,俗稱的一軟一硬。

軟體介面IP = 127.0.0.1,TCP/IP協議棧自動生成,無論喜歡與否,它都靜靜地站在那裡,靜候你的調遣。

如果看它不順眼,想刪除它、或禁用它,對不起,臣妾做不到!除非把整個TCP/IP協議棧全卸載,這個軟體介面隨即消失,同時也失去了與外部世界通信的能力。

硬體介面IP= 111.195.219.58,所謂硬體介面,是指有底層硬體支撐的介面,OSI七層模型套路:物理層、數據鏈路層,通俗地說就是網卡,有線網卡或無線網卡,

網卡(物理層,數據鏈路層)+ IP (111.195.219.58)

如果看這個網卡不順眼,可以拔掉網卡,網卡從電腦上消失了,同時這個硬體介面(111.195.219.58)也消失了,用成語云:皮之不存 毛將焉附。

以上的分析可以看出軟、硬介面的差別了吧?

為何需要軟體介面?

軟體介面(127.0.0.1)與硬體介面(111.195.219.58)都表示自己,比如

Ping 127.0.0.1

Ping 111.195.219.58

效果是一樣的,這個Ping報文最終都會到達IP層用來處理ICMP的軟體模塊,如果IP層正常工作,應該可以看到Ping回復OK。

但是如果網卡沒有插網線、或無線網卡沒有連接網路,那麼這個硬體介面(111.195.219.58)就是不存在的,就沒有辦法 Ping 111.195.219.58來測試本地IP層是否正常工作。

而軟體介面的靈活性體現了,可以任意Ping 127.0.0.1,如果Ping 回復OK,說明IP層工作正常,如果Ping 超時或報錯,說明IP層工作不正常。

為何需要網路掩碼?

關於這個我的電子書里有非常詳細地描述,這裡就不重複了。

計算機其實還是比較機械的,計算機是一台機器,需要人類指導它工作,於是人類設定一個最長匹配原則,讓計算機按此原則做IP包的路由處理。

舉個例子

1. Ping 111.195.219.58

2. Ping 111.195.219.57

3. Ping Ping 111.195.216.1

4. Ping 8.8.8.8

當Ping 報文到達IP層,查詢題主的路由表,決策如下:

1. 匹配 111.195.219.58/32,匹配長度為32,是自己硬體介面,發給硬體介面。

2. 匹配 111.195.216.0/22,匹配長度為22,本地鏈路(on-link),需要從硬體介面向下走,途徑數據鏈路層、物理層。但需要知道對方的硬體MAC地址,所以需要發ARP來查詢對方的MAC。

3. 與2一樣,匹配長度為22,這個是網關,提到它,是因為4需要用它。

4. 匹配0.0.0.0/0,匹配長度0,得到網關 111.195.216.1,IP包需要網關中轉,所以硬體層MAC地址應該是網關的(否則網關不收),然後網關再進一步將IP包發給更靠近8.8.8.8 的上游路由器。

Metric 是啥?

代價、成本、度量值,隨便翻譯成什麼都可以,這個值越大越被鄙視,越小越受歡迎!

比如Ping 255.255.255.255,路由表裡一共有兩條路由,一個metric = 306,一個metric = 281,怎麼選?當然是後者嘍,即使用硬體介面發送出去。

Ping 255.255.255.255 自己可以接收到嗎?

255.255.255.255是IP廣播地址,顧名思義是廣播域里的所有主機,自己也是其中一員,當然要接收!

如何做到?

我剛才提到,ping 255.255.255.255 會順著硬體介面向下流動,當流動到網卡時,網卡會判斷一下,是否IP目的地為255.255.255.255、或MAC = FF.FF.FF.FF.FF.FF,如果是,將報文從發送隊列複製一份到接收隊列,然後再順著網卡向上走,直到IP層的ICMP處理模塊。


幾年前的問題了。。。1個關注,不知道題主今天是否還有疑問,,,

從左到右依次是,網路號,掩碼,網關,介面和metric,metric大概是路由演算法用來確定到達目的網路最佳路徑的計量標準,比如路徑長度可能是最常用的metric。

On-Link字面意思就是在鏈路上,表示不需要通過路由器轉發,可以直接與其通信的意思。

默認路由的網路號是0.0.0.0,Netmask 全是1(255.255.255.255)表示的是只有目的網路的地址完全匹配的時候才走這條,全是0(0.0.0.0)則表示任何地址都可以使用這條路由(默認路由)。


左一的地址加左二的掩碼用來匹配目的地址,

後面的gateway的意思就是「發給誰」,on link表示你和目的地址是直連的,直接發給目的地址。

再後面的意思是「用啥發」,因為對於os來說你現在有兩個「網卡」,一個是「物理網卡」一個是一個是「環回網卡」,所以要告訴os用哪個發

然後後面那個是……比如說如果有多個表項命中了,那麼就用這個數字最小的那個。


推薦閱讀:

如何在windows下打開 pages?
有哪些有趣的事情Mac可以輕易做到而Windows相對複雜和困難?
為什麼國內的軟體很少有OS X平台的?
為什麼網吧里這種配置卻不會感覺到我們所說的卡?
什麼工具可以有效清理"C:Users用戶名AppData"目錄下的文件?

TAG:互聯網 | MicrosoftWindows | 路由器 | 計算機網路 | 網路工程 |