1. 程式人生 > >IP地址和子網掩碼的作用是什麼

IP地址和子網掩碼的作用是什麼

ip地址是用來上網的,子網掩碼是用來辨別是哪個網段的 每臺電腦要連線到網路都要有一個自己的ip,這個ip是獨一無二的,每個電腦都是不同的,就好比是你的家庭地址一樣,每個人地方的地址都是獨一無二的,有了這個IP才可以上網,而子網掩碼是用來分清網段的,每個ip都屬於不同的網段,有了ip跟子網掩碼就可以知道哪個ip地址是屬於哪個網段的 ip地址分為五大類 A類:0.0.0.1~126.255.255.255 B類:128.0.0.1~191.255.255.255 C類:192.0.0.1~223.255.255.255 D類:224.0.0.1~248.255.255.255 E類:249.0.0.1~255.255.255.255 投入使用的只有ABC三類,DE兩類是保留的
IP地址  
在Internet上連線的所有計算機,從大型機到微型計算機都是以獨立的身份出現,我們稱它為主機。為了實現各主機間的通訊,每臺主機都必須有一個唯一的網路地址。就好像每一個住宅都有唯一的門牌一樣,才不至於在傳輸資料時出現混亂。
  Internet的網路地址是指連入Internet網路的計算機的地址編號。所以,在Internet網路中,網路地址唯一地標識一臺計算機。
  我們都已經知道,Internet是由幾千萬臺計算機互相連線而成的。而我們要確認網路上的每一臺計算機,靠的就是能唯一標識該計算機的網路地址,這個地址就叫做IP(Internet Protocol的簡寫)地址,即用Internet協議語言表示的地址。
  目前,在Internet裡,IP地址是一個32位的二進位制地址,為了便於記憶,將它們分為4組,每組8位,由小數點分開,用四個位元組來表示,而且,用點分開的每個位元組的數值範圍是0~255,如202.116.0.1,這種書寫方法叫做點數表示法。

地址分類

  IP地址可確認網路中的任何一個網路和計算機,而要識別其它網路或其中的計算機,則是根據這些IP地址的分類來確定的。一般將IP地址按節點計算機所在網路規模的大小分為A,B,C三類,預設的網路遮蔽是根據IP地址中的第一個欄位確定的。
  1. A類地址
  A類地址的表示範圍為:1.0.0.1~126.255.255.255,預設網路遮蔽為:255.0.0.0;A類地址分配給規模特別大的網路使用。A類網路用第一組數字表示網路本身的地址,後面三組數字作為連線於網路上的主機的地址。分配給具有大量主機(直接個人使用者)而
區域網
絡個數較少的大型網路。例如IBM公司的網路。
  127.0.0.0到127.255.255.255是保留地址,用做迴圈測試用的。
  0.0.0.0到0.255.255.255也是保留地址,用做表示所有的IP地址。
  一個A類IP地址由1位元組(每個位元組是8位)的網路地址和3個位元組主機地址組成,網路地址的最高位必須是“0”,即第一段數字範圍為1~127。每個A類地址理論上可連線16777214<256*256*256-2>臺主機(-2是因為主機中要用去一個網路號和一個廣播號),Internet有126個可用的A類地址。A類地址適用於有大量主機的大型網路。
  2. B類地址
  B類地址的表示範圍為:128.0.0.1~191.255.255.255,預設網路遮蔽為:255.255.0.0;B類地址分配給一般的中型網路。B類網路用第一、二組數字表示網路的地址,後面兩組數字代表網路上的主機地址。
  169.254.0.0到169.254.255.255是保留地址。如果你的IP地址是自動獲取IP地址,而你在網路上又沒有找到可用的DHCP伺服器,這時你將會從169.254.0.0到169.254.255.255中臨時獲得一個IP地址。
  一個B類IP地址由2個位元組的網路地址和2個位元組的主機地址組成,網路地址的最高位必須是“10”,即第一段數字範圍為128~191。每個B類地址可連線65534(2^16-2, 因為主機號的各位不能同時為0,1)臺主機,Internet有16383(2^14-1)個B類地址(因為B類網路地址128.0.0.0是不指派的,而可以指派的最小地址為128.1.0.0[COME06])。
  3. C類地址
  C類地址的表示範圍為:192.0.0.1~223.255.255.255,預設網路遮蔽為:255.255.255.0;C類地址分配給小型網路,如一般的區域網,它可連線的主機數量是最少的,採用把所屬的使用者分為若干的網段進行管理。C類網路用前三組數字表示網路的地址,最後一組數字作為網路上的主機地址。
  一個C類地址是由3個位元組的網路地址和1個位元組的主機地址組成,網路地址的最高位必須是“110”,即第一段數字範圍為192~223。每個C類地址可連線254臺主機,Internet有2097152個C類地址段(32*256*256),有532676608個地址(32*256*256*254)。
  RFC 1918留出了3塊IP地址空間(1個A類地址段,16個B類地址段,256個C類地址段)作為私有的內部使用的地址。在這個範圍內的IP地址不能被路由到Internet骨幹網上;Internet路由器將丟棄該私有地址。
  IP地址類別 RFC 1918內部地址範圍
  A類 10.0.0.0到10.255.255.255
  B類 172.16.0.0到172.31.255.255
  C類 192.168.0.0到192.168.255.255
  使用私有地址將網路連至Internet,需要將私有地址轉換為公有地址。這個轉換過程稱為網路地址轉換(Network Address Translation,NAT),通常使用路由器來執行NAT轉換。
  實際上,還存在著D類地址和E類地址。但這兩類地址用途比較特殊,在這裡只是簡單介紹一下:
  D類地址不分網路地址和主機地址,它的第1個位元組的前四位固定為1110。D類地址範圍:224.0.0.1到239.255.255.254 。D類地址用於多點播送。D類地址稱為廣播地址,供特殊協議向選定的節點發送資訊時用。
  E類地址保留給將來使用。
  連線到Internet上的每臺計算機,不論其IP地址屬於哪類都與網路中的其它計算機處於平等地位,因為只有IP地址才是區別計算機的唯一標識。所以,以上IP地址的分類只適用於網路分類。
  在Internet中,一臺計算機可以有一個或多個IP地址,就像一個人可以有多個通訊地址一樣,但兩臺或多臺計算機卻不能共享一個IP地址。如果有兩臺計算機的IP地址相同,則會引起異常現象,無論哪臺計算機都將無法正常工作。
  順便提一下幾類特殊的IP地址:
  1. 廣播地址目的端為給定網路上的所有主機,一般主機段為全1
  2. 單播地址目的端為指定網路上的單個主機地址
  3. 組播地址目的端為同一組內的所有主機地址
  4. 環回地址127.0.0.1 在環回測試和廣播測試時會使用

閘道器地址

  若要使兩個完全不同的網路(異構網)連線在一起,一般使用閘道器,在Internet中兩個網路也要通過一臺稱為閘道器的計算機實現互聯。這臺計算機能根據使用者通訊目標計算機的IP地址,決定是否將使用者發出的資訊送出本地網路,同時,它還將外界傳送給屬於本地網路計算機的資訊接收過來,它是一個網路與另一個網路相聯的通道。為了使TCP/IP協議能夠定址,該通道被賦予一個IP地址,這個IP地址稱為閘道器地址。

注意事項

  內部地址和外部地址在區域網的IP地址分配中,並沒有區別,都可以使用。
  在區域網的IP地址分配中,子網遮蔽的“1”部分只要和對應的IP地址分類規定的前幾個二進位制數一致即可。

子網劃分

  若公司不上Internet,那一定不會煩惱IP地址的問題,因為可以任意使用所有的IP地址,不管是A類或是B類,這個時候不會想到要用子網,但若是上Internet那IP地址便彌足珍貴了,目前全球一陣Internet熱,IP地址已經愈來愈少了,而所申請的IP地址目前也趨飽和,而且只有經申請的IP地址能在Internet使用,但對某些公司只能申請到一個C類的IP地址,但又有多個點需要使用,那這時便需要使用到子網,這就需要考慮子網的劃分,下面簡介子網的原理及如何規劃。

    子網掩碼(Subnet Mask)

  設定任何網路上的任何裝置不管是主機、個人電腦、路由器等皆需要設定IP地址,而跟隨著IP地址的是所謂的子網掩碼(NetMask,Subnet Mask),這個子網掩碼主要的目的是由IP地址中也能獲得網路編碼,也就是說IP地址和子網掩碼合作而得到網路編碼,如下所示:
  IP地址
  192.10.10.6         11000000.00001010.00001010.00000110
  子網掩碼
  255.255.255.0     11111111.11111111.11111111.00000000
  AND                     (位與 &)
  -------------------------------------------------------------------
  Network Number
  192.10.10.0         11000000.00001010.00001010.00000000
  子網掩碼有所謂的預設值,如下所示
  類 IP地址範圍 子網掩碼
  A 1.0.0.0-126.255.255.255 255.0.0.0
  B 128.0.0.0-191.255.255.255 255.255.0.0
  C 192.0.0.0-223.255.255.255 255.255.255.0
  在預設的子網掩碼(Net Mask)都只有255的值,在談到子網掩碼(Subnet Mask)時這個值便不一定是255了。在完整一組C類地址中如203.67.10.0-203.67.10.255 子網掩碼255.255.255.0,203.67.10.0稱之網路編碼(Network Number,將IP 地址和子網掩碼作和),而203.67.10.255是廣播的IP地址,所以這兩者皆不能使用,實際只能使用203.67.10.1--203.67.10.254等254個IP地址,這是以255.255.255.0作子網掩碼的結果,而所謂Subnet Msk尚可將整組C類地址分成陣列網路編碼,這要在子網掩碼上作手腳,若是要將整組C類地址分成2個網路編碼那子網掩碼設定為255.255.255.128,若是要將整組C類分成8組網路編碼則子網掩碼要為255.255.255.224,這是怎麼來的,由以上知道網路編碼是由IP地址和子網掩碼作AND而來的,而且將子網掩碼以二進位制表示法知道是1的會保留,而為0的去掉
  192.10.10.193--11000000.00001010.00001010.11000001
  255.255.255.0--11111111.11111111.11111111.00000000
  --------------------------------------------------------------
  192.10.10.0--11000000.00001010.00001010.00000000
  以上是以255.255.255.0為子網掩碼的結果,網路編碼是192.10.10.0,若是使用255.255.255.224作子網掩碼結果便有所不同
  192.10.10.193--11000000.00001010.00001010.11000001
  255.255.255.224--11111111.11111111.11111111.11100000
  --------------------------------------------------------------
  192.10.10.192--11000000.00001010.00001010.11000000
  此時網路編碼變成了192.10.10.192,這便是子網那要如何決定所使用的子網掩碼,255.255.255.224以二進位制表示法為11111111.11111111.11111111.11100000,變化是在最後一組,11100000便是224,以三個位(Bit)可表示2的3次方便是8個網路編碼
  子網掩碼二進位制表示法可分幾個網路
  255.255.255.011111111.11111111.11111111.000000001
  255.255.255.128
  11111111.11111111.11111111.100000002
  255.255.255.192
  11111111.11111111.11111111.110000004
  255.255.255.224
  11111111.11111111.11111111.111000008
  255.255.255.240
  11111111.11111111.11111111.1111000016
  255.255.255.248
  11111111.11111111.11111111.1111100032
  255.255.255.252
  11111111.11111111.11111111.1111110064
  以下使用255.255.255.224將C類地址203.67.10.0分成8組網路編碼,各個網路編碼及其廣播IP地址及可使用之IP地址序號網路編碼廣播可使用之IP地址
  (1)203.67.10.0--203.67.10.31
  203.67.10.1--203.67.10.30
  (2)203.67.10.32--203.67.10.63
  203.67.10.33--203.67.10.62
  (3)203.67.10.64--203.67.10.95
  203.67.10.65--203.67.10.94
  (4)203.67.10.96--203.67.10.127
  203.67.10.97--203.67.10.126
  (5)203.67.10.128--203.67.10.159
  203.67.10.129--203.67.10.158
  (6)203.67.10.160--203.67.10.191
  203.67.10.161--203.67.10.190
  (7)203.67.10.192--203.67.10.223
  203.67.10.193--203.67.10.222
  (8)203.67.10.224--203.67.10.255
  203.67.10.225--203.67.10.254
  可驗證所使用的IP地址是否如上表所示
  203.67.10.115--11001011.01000011.00001010.01110011
  255.255.255.224--11111111.11111111.11111111.11100000
  --------------------------------------------------------------
  203.67.10.96--11001011.01000011.00001010.01100000
  203.67.10.55--11001011.01000011.00001010.00110111
  255.255.255.224--11111111.11111111.11111111.11100000
  --------------------------------------------------------------
  203.67.10.32--11001011.01000011.00001010.00100000
  其它的子網掩碼所分成的網路編碼可自行以上述方法自行推演出來。

    子網作用

使用子網是要解決只有一組C類地址但需要數個網路編碼的問題,並不是解決IP地址不夠用的問題,因為使用子網反而能使用的IP地址會變少,子網通常是使用在跨地域的網路互聯之中,兩者之間使用路由器連線,同時也上Internet,但只申請到一組C 類IP地址,過路由又需不同的網路,所以此時就必須使用到子網,當然二網路間也可以遠端橋接(Remote Bridge,字面翻譯)連線,那便沒有使用子網的問題
子網掩碼的主要功能是告知網路裝置,一個特定的IP地址的哪一部分是包含網路地址與子網地址,哪一部分是主機地址。網路的路由裝置只要識別出目的地址的網路號與子網號即可作出路由定址決策,IP地址的主機部分不參與路由器的路由定址操作,只用於在網段中唯一標識一個網路裝置的介面。 

本來,如果網路系統中只使用A、B、C這三種主類地址,而不對這三種主類地址作子網劃分或者進行主類地址的彙總,則網路裝置根據IP地址的第一個位元組的數值範圍即可判斷它屬於A、B、C中的哪一個主類網,進而可確定該IP地址的網路部分和主機部分,不需要子網掩碼的輔助。 

但為了使系統在對A、B、C這三種主類網進行了子網的劃分,或者採用無類別的域間選路技術(Classless Inter-Domain Routing,CIDR)對網段進行彙總的情況下,也能對IP地址的網路及子網部分與主機部分作正確的區分,就必須依賴於子網掩碼的幫助。 

子網掩碼使用與IP相同的編址格式,子網掩碼為1的部分對應於IP地址的網路與子網部分,子網掩碼為0的部分對應於IP地址的主機部分。將子網掩碼和IP地址作"與"操作後,IP地址的主機部分將被丟棄,剩餘的是網路地址和子網地址。例如,一個IP分組的目的IP地址為:10.2.2.1,若子網掩碼為:255.255.255.0,與之作"與"運算得:10.2.2.0,則網路裝置認為該IP地址的網路號與子網號為:10.2.2.0。子網掩碼是用來判斷任意兩臺計算機的IP地址是否屬於同一子網路的根據。 

最為簡單的理解就是兩臺計算機各自的IP地址與子網掩碼進行AND運算後,如果得出的結果是相同的,則說明這兩臺計算機是處於同一個子網路上的,可以進行直接的通訊。就這麼簡單。 

請看以下示例: 

運算演示之一:aa 

I P 地址  192.168.0.1 

子網掩碼  255.255.255.0 

AND運算 

轉化為二進位制進行運算: 

I P 地址 11010000.10101000.00000000.00000001 

子網掩碼 11111111.11111111.11111111.00000000 

AND運算 

 11000000.10101000.00000000.00000000 

轉化為十進位制後為: 

192.168.0.0 

運算演示之二: 

I P 地址  192.168.0.254 

子網掩碼  255.255.255.0 

AND運算 

轉化為二進位制進行運算: 

I P 地址 11010000.10101000.00000000.11111110 

子網掩碼 11111111.11111111.11111111.00000000 

AND運算 

 11000000.10101000.00000000.00000000 

轉化為十進位制後為: 

192.168.0.0 

運算演示之三: 

I P 地址  192.168.0.4 

子網掩碼  255.255.255.0 

AND運算 

轉化為二進位制進行運算: 

I P 地址 11010000.10101000.00000000.00000100 

子網掩碼 11111111.11111111.11111111.00000000 

AND運算 

 11000000.10101000.00000000.00000000 

轉化為十進位制後為: 

192.168.0.0 

通過以上對三組計算機IP地址與子網掩碼的AND運算後,我們可以看到它運算結果是一樣的。均為192.168.0.0

所以計算機就會把這三臺計算機視為是同一子網路,然後進行通訊的。我現在單位使用的代理伺服器,內部網路就是這樣規劃的。 

也許你又要問,這樣的子網掩碼究竟有多少了IP地址可以用呢?你可以這樣算。 

根據上面我們可以看出,區域網內部的ip地址是我們自己規定的(當然和其他的ip地址是一樣的),這個是由子網掩碼決定的通過對255.255.255.0的分析。可得出: 

前三位IP碼由分配下來的數字就只能固定為192.168.0所以就只剩下了最後的一位了,那麼顯而易見了,ip地址只能有(2的8次方-1),即256-1=255一般末位為0或者是255的都有其特殊的作用。 

但是這樣劃分但浪費地址了,所以後來又引出一種叫VLSM(可變長掩碼)的新演算法。 

如果共有50臺機器,那一定是用C類地址。但是如果用C類的話每一個網段可以用到253臺主機而你現在只有50臺,這樣的話不是要浪費200臺了嗎?但是如果用了VLSM就不同了請看。 

如果是靜態掩碼的話C類地址因該是255.255.255.0 

50<2的7次方,化為十進位制就是64。所以VLSM就是255.255.255.64 

例一:IP:192.168.0.1 

SubstMask:255.255.255.64 

轉化為二進位制11000000.10101000.00000000.00000001 

11111111.11111111.00000000.1000000 

AND與運算 

11000000.10101000.00000000.00000000 

轉化為十進位制192.168.0.0 

例二:192.168.0.50 

SubstMask:255.255.255.64 

轉化為二進位制11000000.10101000.00000000.00110010 

11111111.11111111.11111111.01000000 

AND與運算 

11000000.10101000.00000000.00000000 

轉化為十進位制192.168.0.0 

以上二個地址在同一網段 

再看: 

例三:IP:192.168.0.65 

SubstMask:255.255.255.64 

轉化為二進位制11000000.10101000.00000000.01000001 

11000000.10101000.00000000.01000000 

AND與運算 

110000000.10101000.00000000.010000000 

轉化為十進位制192.168.0.64 

劃開了!!就這麼簡單!