Q:關於 TCP/IP 全 0 與全 1 網段
A:如果你有一個CLASS CdeIP地址,比如 192.168.10.0,你想把它分成8個網段,每個網段內可以有32台主機,你可以這樣分subnet mask:255.255.255.224:
192.168.10.0 - 31, 網絡地址:192.168.10.0,廣播地址:192.168.10.31
192.168.10.32 - 63, 網絡地址:192.168.10.32,廣播地址:192.168.10.63
192.168.10.64 - 95, 網絡地址:192.168.10.64,廣播地址:192.168.10.95
192.168.10.96 - 127,網絡地址:192.168.10.96,廣播地址:192.168.10.127
192.168.10.128- 159,網絡地址:192.168.10.128,廣播地址:192.168.10.159
192.168.10.160- 191,網絡地址:192.168.10.160,廣播地址:192.168.10.191
192.168.10.192- 223,網絡地址:192.168.10.192,廣播地址:192.168.10.223
192.168.10.224- 255,網絡地址:192.168.10.224,廣播地址:192.168.10.255
即:每個網段32個IP地址,第一個是網絡地址,用來標志這個網絡,最後一個是廣播地址,用來代表這個網絡上的所有主機.這兩個IP地址被TCP/IP保留,不可分配給主機使用.
另外,第一個子網192.168.10.0-31和最後一個子網192.168.10.224-255通常也被保留,不能使用.原因是,第一個子網的網絡地址192.168.10.0和最後一個子網的廣播地址192.168.10.255具有二意性.
先看看這個大C的網絡地址和廣播地址.
192.168.10.0是它的網絡地址,192.168.10.255是它的廣播地址.顯然,它們分別與第一個子網的網絡地址和最後一個子網的廣播地址相重了.
那麼怎樣區分192.168.10.0到底是哪個網絡的網絡地址呢? 答案是:把子網掩碼加上去!
192.168.10.0 255.255.255.0 是大C的網絡地http://www.woaidiannao.com址,
192.168.10.0 255.255.255.224 是第一個子網的網絡地址.
192.168.10.255 255.255.255.0是大C的廣播地址,
192.168.10.255 255.255.255.224是最後一個子網的廣播地址.
帶上掩碼,它們的二意性就不存在了.
所以,在嚴格按照TCP/IP ABCD給IP地址分類的環境下,為了避免二意性,全0和全1網段都不讓使用.這種環境我們叫作Classful.在這種環境下,子網掩碼只在所定義的路由器內有效,掩碼信息到不了其它路由器.比如RIP-1,它在做路由廣播時根本不帶掩碼信息,收到路由廣播的路由器因為無從知道這個網絡的掩碼,只好照標准TCP/IP的定義賦予它一個掩碼.比如,拿到10.X.X.X,就認為它是A類,掩碼是255.0.0.0;拿到一個204.X.X.X,就認為它是C類,掩碼是255.255.255.0. 但在Classless的環境下,掩碼任何時候都和IP地址成對地出現,這樣,前面談到的二意性就不會存在. 是Classful還是Classless取決於你在路由器上運行的路由協議,一個路由器上可同時運行Classful和Classless的路由協議.RIP是Classful的, 它在做路由廣播時不帶掩碼信息;OSPF,EIGRP,BGP4是Classless的,它們在做路由廣播時帶掩碼信息,它們可以同時運行在同一台路由器上.
在CISCO路由器上,缺省你可以使用全1網段,但不能使用全0網段.所以,當你在CISCO路由器上給端口定義IP地址時,該IP地址不能落在全0網段上.如果你配了,你會得到一條錯誤信息.使用IP SUBNET-ZERO命令之後,你才能使用全0網段.
另外要強調的是,使用了IP SUBNET-ZERO命令之後,如果路由協議使用的是CLASSFUL的(比如RIP),雖然你的定義成功了,但那個子網掩碼還是不會被RIP帶到它的路由更新報文中.即,IP SUBNET-ZERO 命令不會左右路由協議的工作.
總之,TCP/IP協議中,全0和全1網段因為具有二意性而不能被使用.CISCO缺省使全1網段可以被使用,但全0網段只有在配置了IP SUBNET-ZERO後方可被使用.