網絡掩碼與設備通連

1.網絡掩碼的定義
在百度百科中,網絡掩碼(subnet mask)被定義爲:一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。

簡單來說,網絡掩碼就是一個32位地址,以連續的1開頭,並以連續的0補全的位掩碼。通過和IP地址進行按位與,以區別ip的網段號和主機號。

2.網絡掩碼的作用
怎麼用網絡掩碼來計算網段號和主機號呢?舉個例子,IP地址:192.168.100.2/24。這其中,24標記的就是網絡掩碼,掩碼的前24位均爲1,其餘8位爲0。通過掩碼與IP地址的按位與,我們可以得出,網段號是:192.168.100.0,主機號是2。

因此,很容易算出192.168.100.2/24和192.168.100.254/24的網絡號都是192.168.100.0,它們是同一個網段。

3.掩碼與設備通連
互聯網就是由一個一個這樣的網段組合起來的。其中,相同網段的主機通過arp廣播獲取對方MAC地址就可以通信了。而不在一個網段就必須通過網關,否則就算直連也無法通訊。

我們已經介紹過,網段號正是通過網絡掩碼來計算的,那麼有兩個問題:

問題一:主機192.168.1.129/24可以ping通直連的192.168.1.130/25的主機嗎?
問題二:主機192.168.1.1/24可以ping通直連的192.168.1.130/25的主機嗎?
要解答這兩個問題,需要記住下面這個重要原則 :

網絡掩碼本地有效原則,也就是說網絡掩碼只能由本設備自己使用。如果對方告訴網絡掩碼,一般直接忽略就可以了。

例如,兩臺主機直連,任一主機上ping,只能以本機的掩碼按位與對方的IP地址,得到對方的網絡號。

那麼,問題一的解題思路是:

ping包去的過程中,主機192.168.1.129/24計算自己的網絡號是192.168.1.0,該主機用自己的掩碼計算192.168.1.130的網絡號是192.168.1.0,雙方同一網段,可以直接通訊。
ping包回覆時,192.168.1.130/25計算自己的網絡號是192.168.1.128,從該主機角度計算192.168.1.129的網絡號也是192.168.1.128,很巧,也是同一網段,也可以直接通訊。
雖然雙方計算得出的網關地址不一致,但恰好都得出對方與自己在同一網段的結論,所以直連就能通訊,答案就是能ping通。
那麼,問題二的解題思路是:

ping包去的過程中,主機192.168.1.1/24計算自己的網絡號是192.168.1.0,用自己的掩碼計算192.168.1.130的網段號是192.168.1.0,同一網段,可以直接通訊。
ping包回覆的過程中,192.168.1.130/25計算自己的網絡號是192.168.1.128/25,從該主機角度計算192.168.1.1的網關是192.168.1.0,雙方不是同一網段,不能直接通訊。
所以數據包只能發,不能接收到,答案就是無法ping通。
4.結論
網絡掩碼在網絡配置的過程中值得注意,特別是在配置直連設備時,如果遇到不能通連的情況,請務必記得檢查一下掩碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章