簡介
若公司不上Internet,那一定不會煩惱IPAddress的問題,因為可以任意使用所有的IPAddress,不管是AClass或是BClass, 這個時候不會想到要用SubNet,但若是上Internet那IPAddress 便彌足珍貴了,目前全球一陣Internet熱,IPAddress已經愈來愈少了,而所申請的IPAddress目前也趨保守,而且只有經申請的IPAddress能在Internet使用,但對某些公司只能申請到一個CCLass的IPAddress,但又有多個點需要使用,那這時便需要使用到Subnet,這篇短文說明Subnet的原理及如 何規劃。SubnetMask的介紹
設定任何網路上的任何設備不管是主機、PC、Router等皆需要設定IPAddress,而跟隨著IPAddress的是所謂的NetMask, 這個NetMask主要的目的是由IPAddress中也能獲得NetworkNumber ,也就是說IPAddress和NetMask作AND而得到NetworkNumber,如下所 示IPAddress 192.10.10.611000000.00001010.00001010.00000110
NetMask 255.255.255.011111111.11111111.11111111.00000000
AND -------------------------------------------------------------------
etworkNumber 192.10.10.011000000.00001010.00001010.00000000
NetMask有所謂的預設值,如下所示
ClassIPAddress範圍NetMask
A 1.0.0.0-126.255.255.255255.0.0.0
B 128.0.0.0-191.255.255.255255.255.0.0
C 192.0.0.0-223.255.255.255255.255.255.0
在預設的NetMask都只有255的值,在談到SubnetMask時這個值便不一定是255了。
在完整一組CClass中如203.67.10.0-203.67.10.255NetMask255.255.255.0, 203.67.10.0稱之NetworkNumber(將IPAddress和Netmask作AND),而 203.67.10.255是Broadcast的IPAddress,所以這?兩者皆不能使用,實際只能使用203.67.10.1--203.67.10.254等254個IPAddress,這是以 255.255.255.0作NetMask的結果,而所謂SubnetMsk尚可將整組C Class分成數組NetworkNumber,這要在NEtMask作手腳,若是要將整組CCLass分成2個NetworkNumber那NetMask設定為255.255.255.192, 若是要將整組CCLass分成8組NetworkNumber則NetMask要為 255.255.255.224,這是怎麽來的,由以上知道NetworkNumber是由IP Address和NetMask作AND而來的,而且將NetMask以二進位表示法知道是1的會保留,而為0的去掉
192.10.10.193--11000000.00001010.00001010.10000001
255.255.255.0--11111111.11111111.11111111.00000000
--------------------------------------------------------------
192.10.10.0--11000000.00001010.00001010.00000000
以上是以255.255.255.0為NetMask的結果,NetworkNumber是192.10.10.0, 若是使用255.255.255.224作NetMask結果便有所不同
192.10.10.193--11000000.00001010.00001010.10000000
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
192.10.10.192--11000000.00001010.00001010.10000000
此時NetworkNumber變成了192.10.10.192,這便是Subnet。
網路上常常需要將大型的網路劃分成若干小網路,這些小網路稱為子網子網的產生能夠增加定址的
靈活性
原因 1:廣播對網路性能的影響:廣播是目標針對全網路計算機的數據包
大量占用線路頻寬而影響性能
原因2:網路地址的浪費:啟用地址分類後的潛在缺點是地址浪費 (300 台設備無論使用 B類還是 C
類都存在不足和缺憾)
從上述兩個情況考慮我們需要對子網進行劃分如何進行子網的劃分?
新的子網欄位和子網的主機欄位在原先的大網路的主機欄位上進行創建從一個網路劃分子網實際上是從原來網路的主機部分借位,將其作為子網的網路部分實際上也是對路由選擇位進行了擴展劃分出來的子網由於其子網掩碼已經不同了,因此不會再屬於同一個網段。
概述
對於一般由路由器和主機組成的互連系統,我們可以使用下列方法定義系統中的子網。為了確定子網,分開主機和路由器的每個接口,從而產生了幾個分離的網路島,接口端連線了這些獨立的網路的端點。這些獨立的網路中的每個都叫做一個子網(subnet)。
你一定對IP地址有所了解吧?我們知道在INTERNET中廣泛使用的TCP/IP協定就是利用IP位址來區別不同的主機的。如果你曾經進行過TCP/IP協定設定,那么你一定會遇到子網掩碼(Subnetmask)這一名詞,那么你知道什麼是子網掩碼嗎?它有什麼作用呢?
我們知道IP位址是一個4位元組(共32bit)的數字,被分為4段,每段8位,段與段之間用句點分隔。為了便於表達和識別,IP位址是以十進制形式表示的如210.52.207.2,每段所能表示的十進制數最大不超過255。IP位址由兩部分組成,即網路號(NetworkID)和主機號(HostID)。網路號標識的是Internet上的一個子網,而主機號標識的是子網中的某台主機。網際地址分解成兩個域後,帶來了一個重要的優點:IP數據包從網際上的一個網路到達另一個網路時,選擇路徑可以基於網路而不是主機。在大型的網際中,這一點優勢特別明顯,因為路由表中只存儲網路信息而不是主機信息,這樣可以大大簡化路由表。
分類介紹
IP位址根據網路號和主機號的數量而分為A、B、C三類:IP位址用二進制來表示,每個IP位址長32bit,比特換算成位元組,就是4個位元組。例如一個採用二進制形式的IP位址是“00001010000000000000000000000001”,這么長的地址,人們處理起來也太費勁了。為了方便人們的使用,IP位址經常被寫成十進制的形式,中間使用符號“.”分開不同的位元組。於是,上面的IP位址可以表示為“10.0.0.1”。IP位址的這種表示法叫做“點分十進制表示法”,這顯然比1和0容易記憶得多。A類IP位址
A類IP位址:用可變的7位(bit)來標識網路號,可變的24位標識主機號,最前面一位為"0",即A類地址的第一段取值介於1~126之間。A類地址通常為大型網路而提供,全世界總共只有126個A類網路,每個A類網路最多可以連線16777214台主機。B類IP位址
B類IP位址:用可變的14位來標識網路號,可變的16位標識主機號,前面兩位是"10"。B類地址的第一段取值介於128~191之間(網路號不能以數字127開頭,數字127是專門保留給診斷用的,如127.0.0.1是回送地址,用於迴路測試),第一段和第二段合在一起表示網路號。B類地址適用於中等規模的網路,全世界大約有16000個B類網路,每個B類網路最多可以連線65534台主機。C類IP位址
C類IP位址:用可變的21位來標識網路號,可變的8位標識主機號,前面三位是"110"。C類地址的第一段取值介於192~223之間,第一段、第二段、第三段合在一起表示網路號。最後一段標識網路上的主機號。C類地址適用於校園網等小型網路,每個C類網路最多可以有254台主機。主要用途
從上面的介紹我們知道,IP位址是以網路號和主機號來表示網路上的主機的,只有在一個網路號下的計算機之間才能"直接"互通,不同網路號的計算機要通過網關(Gateway)才能互通。但這樣的劃分在某些情況下顯得並不十分靈活。為此IP網路還允許劃分成更小的網路,稱為子網(Subnet),這樣就產生了子網掩碼。子網掩碼的作用就是用來判斷任意兩個IP位址是否屬於同一子網路,這時只有在同一子網的計算機才能"直接"互通。那么怎樣確定子網掩碼呢?前面講到IP位址分網路號和主機號,要將一個網路劃分為多個子網,因此網路號將要占用原來的主機位,如對於一個C類地址,它用21位來標識網路號,要將其劃分為2個子網則需要占用1位原來的主機標識位。此時網路號位變為22位,主機標示變為7位。同理借用2個主機位則可以將一個C類網路劃分為4個子網……那計算機是怎樣才知道這一網路是否劃分了子網呢?這就可以從子網掩碼中看出。子網掩碼和IP位址一樣有32bit,確定子網掩碼的方法是其與IP位址中標識網路號的所有對應位都用"1",而與主機號對應的位都是"0"。如分為2個子網的C類IP位址用25位來標識網路號,則其子網掩碼為:11111111111111111111111110000000即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位址更加便於管理和控制。