1. 程式人生 > 實用技巧 >在子網劃分時,子網號為何不能是全0或全1?

在子網劃分時,子網號為何不能是全0或全1?

1. 子網號為何不能為全0或全1?

今天在寫計算機網路-網路層的作業時遇到了一個問題:

問題:試找出可以產生一下2個A類子網的子網掩碼。

題目很簡單,A類網路的子網掩碼為255.0.0.0,如果需要在A類網路下劃分兩個子網,除去全1與全0,子網掩碼為255.192.0.0
但對於為什麼要剔除全0或全1卻有些模糊不清。遂與同學交流討論,翻閱部落格,最終找到了答案。

45.0.0.0這個A類地址來舉例,設其子網掩碼為255.192.0.0

  1. 全0的情況:
    在子網號全為0時,其網路號為45.0.0.0/10。顯然,在路由器眼中,其與45.0.0.0/8並無區別,產生二義性。
  2. 全1的情況:
    在子網號全為1時,若想對本子網(45.11.0.0/10
    )廣播,其目的ip應為45.255.255.255。然而,這卻與45.0.0.0/8的廣播產生了衝突,路由器不能確定應該對子網還是對整個網段進行廣播,產生二義性。

2. CIDR子網號為何能為全0或全1?

因為在無分類的情況下,採用最長字首匹配來進行路由轉發,掩碼與ip地址總是成對出現,所以不存在二義性的問題。

3. 總結

人的認識能力有限,學習吸收知識不會是一蹴而就的。看似都懂,誰都能說一兩句:應該怎樣,但只需反問一句為什麼是這樣?,他便是心中一蹬,滿腦漿糊,大多數人如此,從前的我亦是如此。

不要浮於表面,多問自己為什麼,而不只是停留在是什麼,每次多深入一點,長此以往,便是大不相同。