子網
子網
對於徠一般由路由器和主機組成的互連繫統,我們可以使用下列方法定義系統中的子網。
為了確定網路區域,分開主機和路由器的每個介面,從而產生了若干個分離的網路島,介面端連接了這些獨立網路的端點。這些獨立的網路島叫做子網(subnet)。
IP地址是以網路號和主機號來表示網路上的主機的,只有在一個網路號下的計算機之間才能“直接”互通,不同網路號的計算機要通過網關(Gateway)才能互通。但這樣的劃分在某些情況下顯得並不十分靈活。為此IP網路還允許劃分成更小的網路,稱為子網(Subnet)。
我們知道在Internet中廣泛使用的TCP/IP協議就是利用IP地址來區別不同的主機的。如果你曾經進行過TCP/IP協議設置,那麼你一定會遇到子網掩碼(Subnet mask)這一名詞,那麼你知道什麼是子網掩碼嗎?它有什麼作用呢?
我們知道IP地址是一個4位元組(共32bit)的數字,被分為4段,每段8位二進位數,段與段之間用句點分隔。為了便於表達和識別,IP地址是以十進位形式表示的如210.52.207.2,每段所能表示的十進位數最大不超過255。IP地址由兩部分組成,即網路號(Network ID)和主機號(Host ID)。網路號標識的是Internet上的一個網路,而主機號標識的是該網路中的某台主機。網路地址分解成兩個域后,帶來了一個重要的優點:IP數據包從網際上的一個網路到達另一個網路時,選擇路徑可以基於網路而不是主機。在大型的網際中,這一點優勢特別明顯,因為路由表中只存儲網路信息而不是主機信息,這樣可以大大簡化路由表。
IP地址根據網路號和主機號的數量而分為A、B、C三類:IP地址用二進位來表示,每個IP地址長32bit,比特換算成位元組,就是4個位元組。例如一個採用二進位形式的IP地址是“00001010000000000000000000000001”,這麼長的地址,人們處理起來也太費勁了。為了方便人們的使用,IP地址經常被寫成十進位的形式,中間使用符號“.”分開不同的位元組。於是,上面的IP地址可以表示為“10.0.0.1”。IP地址的這種表示法叫做“點分十進位表示法”,這顯然比1和0容易記憶得多。
A類IP地址:用可變的7位(bit)來標識網路號,可變的24位標識主機號,最前面一位為"0",即A類地址的第一段取值介於1~126之間。A類地址通常為大型網路而提供,全世界總共只有126個A類網路,每個A類網路最多可以連接16777214台主機。
B類IP地址:用可變的14位來標識網路號,可變的16位標識主機號,前面兩位是"10"。B類地址的第一段取值介於128~191之間(網路號不能以數字127開頭,數字127是專門保留給診斷用的,如127.0.0.1是回送地址,用於迴路測試),第一段和第二段合在一起表示網路號。B類地址適用於中等規模的網路,全世界大約有16000個B類網路,每個B類網路最多可以連接65534台主機。
C類徠IP地址:用可變的21位來標識網路號,可變的8位標識主機號,前面三位是"110"。C類地址的第一段取值介於192~223之間,第一段、第二段、第三段合在一起表示網路號。最後一段標識網路上的主機號。C類地址適用於校園網等小型網路,每個C類網路最多可以有254台主機。
從上面的介紹我們知道,IP地址是以網路號和主機號來表示網路上的主機的,只有在一個網路號下的計算機之間才能“直接”互通,不同網路號的計算機要通過網關(Gateway)才能互通。但這樣的劃分在某些情況下顯得並不十分靈活。為此IP網路還允許劃分成更小的網路,稱為子網(Subnet),這樣就產生了子網掩碼。子網掩碼的作用就是用來判斷任意兩個IP地址是否屬於同一子網路,這時只有在同一子網的計算機才能"直接"互通。那麼怎樣確定子網掩碼呢?
前面講到IP地址分網路號和主機號,要將一個網路劃分為多個子網,因此網路號將要佔用原來的主機位,如對於一個C類地址,它用24位來標識網路號,要將其劃分為2個子網則需要佔用1位原來的主機標識位。此時網路號位變為25位,主機標示變為7位。同理借用2個主機位則可以將一個C類網路劃分為4個子網……那計算機是怎樣才知道這一網路是否劃分了子網呢?這就可以從子網掩碼中看出。子網掩碼和IP地址一樣有32bit,確定子網掩碼的方法是其與IP地址中標識網路號的所有對應位都用"1",而與主機號對應的位都是"0"。如分為2個子網的C類IP地址用25位來標識網路號,則其子網掩碼為:11111111 11111111 11111111 10000000即255.255.255.128。於是我們可以知道,A類地址的預設子網掩碼為255.0.0.0,B類為255.255.0.0,C類為255.255.255.0。下表是C類地址子網劃分及相關子網掩碼:
子網位數 子網掩碼 主機數 可用主機數
1 255.255.255.128 128 126
2 255.255.255.192 64 62
3 255.255.255.224 32 30
4 255.255.255.240 16 14
5 255.255.255.248 8 6
6 255.255.255.252 4 2
你可能注意到上表分了主機數和可用主機數兩項,這是為什麼呢?因為當地址的所有主機位都為"0"時,這一地址為子網的網路地址,而當所有主機位都為"1"時為廣播地址。
同時我們還可以使用可變長掩碼(VLSM)就是指一個網路可以用不同的掩碼進行配置。這樣做的目的是為了使把一個網路劃分成多個子網更加方便。在沒有VLSM的情況下,一個網路只能使用一種子網掩碼,這就限制了在給定的子網數目條件下主機的數目。例如你被分配了一個C類地址,網路號為192.168.10.0,而你現在需要將其劃分為三個子網,其中一個子網有100台主機,其餘的兩個子網有50台主機。我們知道一個C類地址有254個可用地址,那麼你如何選擇子網掩碼呢?從上表中我們發現,當我們在所有子網中都使用一個子網掩碼時這一問題是無法解決的。此時VLSM就派上了用場,我們可以在100個主機的子網使用255.255.255.128這一掩碼,它可以使用192.168.10.0到192.168.10.127這128個IP地址,其中可用主機號為126個。我們再把剩下的192.168.10.128到192.168.10.255這128個IP地址分成兩個子網,子網掩碼為255.255.255.192。其中一個子網的地址從192.168.10.128到192.168.10.191,另一子網的地址從192.168.10.192到192.168.10.255。子網掩碼為255.255.255.192每個子網的可用主機地址都為62個,這樣就達到了要求。可以看出合理使用子網掩碼,可以使IP地址更加便於管理和控制。
TCP/IP協議 子網掩碼