計算機網絡:IP位址,子網掩碼,網段表示法,默認網關詳解

以Windows系統中IP地址設置界面(下圖), IP地址, 子網掩碼, 默認網關 和 DNS服務器, 這些都是什麼意思呢?

計算機網絡:IP地址,子網掩碼,網段表示法,默認網關詳解

學習IP地址的相關知識時還會遇到網絡地址,廣播地址,子網等概念,這些又是什麼意思呢 ?

一 IP地址

概述

計算機要實現網絡通信,就必須要有一個用於快速定位的網絡地址。IP地址就是計算機在網絡中的唯一身份ID,與現實世界中快遞的配送需要有具體的住宅地址是一個道理。

ip地址以圓點分隔號的四個十進制數字表示,每個數字從0到255,如某一臺主機的ip地址為:128.20.4.1

IP地址的組成

IP地址 = 網絡地址 + 主機地址(又稱:主機號和網絡號組成)

想想,為什麼會有行政區劃的劃定(國家、省市區、街道等),為了更加高效的進行管理、定位;

相同的,我們通常將網絡也可以分為很多的子網絡,每個子網絡有自己的網絡地址,每個子網絡由很多的計算機組成(當然也可以包含另外一個子網絡)。

我們要找到指定的IP地址,只要先找到指定的網絡地址,然後再該網絡內找到對應的主機地址即可。

IP地址是一個 4 * 8bit(1字節)由 0/1 組成的數字串(IP4協議)

以文章開通 win7 截圖中 的 IP地址 192.168.1.168, 子網掩碼 255.255.255.0(下文有詳解) 為例, 這個地址中包含了很多含義:

192.168.100.168(IP地址) = 192.168.1.0 (網絡地址) + 0.0.0.168(主機地址

網絡地址、主機地址是怎麼計算出來的呢?我們需要先簡單學習下子網掩碼

 

二 子網掩碼(subnet mask)

IP中的網絡地址和主機地址各是多少位表示呢?如果不指定,就不知道哪些位是網絡號、哪些是主機號,這就需要通過子網掩碼來實現。

概述

子網掩碼又叫網絡掩碼、地址掩碼、子網絡遮罩,是一個 4 * 8bit(1字節)由 0/1 組成的數字串。

它的作用是屏蔽(遮住)IP地址的一部分以劃分成網絡地址和主機地址兩部分,並說明該IP地址是在局域網上,還是在遠程網上。

通過子網掩碼,可以把網絡劃分成子網,即VLSM(可變長子網掩碼),也可以把小的網絡歸併成大的網絡即超網。

子網掩碼不能單獨存在,它必須結合IP地址一起使用。

子網掩碼的規則

長度 為 4 * 8bit(1字節),由 連續的1 以及 連續的0 兩部分組成,

例如:11111111.11111111.11111111.00000000,對應十進制:255.255.255.0

假設,局域網中 計算機A 的IP地址為 192.168.1.1,子網掩碼為 255.255.255.0, 如下圖所示:

計算機網絡:IP地址,子網掩碼,網段表示法,默認網關詳解

網絡地址: IP 地址中被 連續的1 遮住的部分,即 11000000.10101000.00000001.00000000, 對應的網絡地址:192.168.1.0

主機地址: IP 地址中被 連續的0 遮住的部分,即 00000000.00000000.00000000.00000001, 對應的網絡地址:0.0.0.1

排除 該網絡 兩個特殊地址:

廣播地址:192.168.1.255 (主機號全為11111111)(廣播機制及類型見:http://baike.baidu.com/view/473043.htm)

網絡地址:192.168.1.0 (主機號全為00000000)

該子網最大的主機數:2的8次方 256 - 2

其他信息:

A類地址來說,默認的子網掩碼是255.0.0.0;對於B類地址來說默認的子網掩碼是255.255.0.0;對於C類地址來說默認的子網掩碼是255.255.255.0。

三 通過子網掩碼計算網絡地址

參考:《IP地址,子網掩碼,默認網關,DNS服務器詳解》

計算方法

計算過程是這樣的:

1. 將IP地址和子網掩碼都換算成二進制;

2. 將兩者進行 "與運算",得到網絡地址。

計算過程:上下對齊, 1位1位的算, 1與1=1 , 其餘組合都為0

1 0 1 0

與運算 1 0 1 1

-------------------

結果 1 0 1 0

假設 IP地址為 192.168.1.168,子網掩碼為 255.255.255.0, 則網絡地址換算步驟如下:

1)將IP地址和子網掩碼分別換算成二進制

192.168.1.168 換算成二進制為 11000000.10101000.00000001.10101000

255.255.255.0 換算成二進制為 11111111.11111111.11111111.00000000

2)將二者進行與運算

11000000.10101000.00000001.10101000

與運算 11111111·11111111·11111111·00000000

----------------------------------------------------------------------------

結果 11000000.10101000.00000001.00000000

3) 將運算結果換算成十進制: 192.168.1.0

立即實踐

以用網線直接將兩臺計算機連起來為例:

計算機網絡:IP地址,子網掩碼,網段表示法,默認網關詳解

下面是幾種IP地址設置, 看看在不同設置下網絡是通還是不通.

計算機網絡:IP地址,子網掩碼,網段表示法,默認網關詳解

說明:第1種情況能通是因為這兩臺計算機處在同一網絡192.168.0.0, 所以能通,而2,3種情況下兩臺計算機處在不同的網絡,所以不通.

網絡地址的計算過程同上,不再贅述。

結論:

用網線直接連接 或 通過 HUB(集線器)、普通交換機鏈接的計算機必須處於同一網絡(網絡地址) 並且主機地址必須不一樣 才能通信。

注意:同一網絡不是指物理連接,而是指網絡地址.

舉個例子,兩臺計算機鏈接到相同路由器(簡單理解為同一個鏈路),如果他們設置的網絡地址不一致,則他們也是不能通信的。

擴展:IP網段表示法

舉例說明:192.168.0.0/24

192.168.0.0: 網絡地址

24: 表示子網掩碼二進制表示法中,連續的 1 的 個數,這裡為:11111111·11111111·11111111·00000000,即 255.255.255.0

四. 默認網關(地址)

什麼是網關?

(可以聯想下海關?什麼是海關?)

連接兩個不同的網絡的設備都可以叫網關設備;網關的作用就是實現兩個網絡之間進行通訊與控制。

網關設備可以是 交互機(三層及以上才能跨網絡)、路由器、啟用了路由協議的服務器、代理服務器、防火牆等

網關地址就是網關設備的IP地址。

假設我們有兩個網絡:

網絡A的IP地址範圍為“192.168.1.1~192.168.1.254”,子網掩碼為255.255.255.0

網絡B的IP地址範圍為“192.168.2.1~192.168.2.254”,子網掩碼為255.255.255.0

要實現這兩個網絡之間的通信,則必須通過網關。

如果網絡A中的主機發現數據包的目的主機不在本地網絡中,就把數據包轉發給它自己的網關,再由網關轉發給網絡B的網關,網絡B的網關再轉發給網絡B的某個主機(如附圖所示)。網絡A向網絡B轉發數據包的過程。

計算機網絡:IP地址,子網掩碼,網段表示法,默認網關詳解

只有設置好網關的IP地址,TCP/IP協議才能實現不同網絡之間的相互通信。

默認網關

一臺主機可以有多個網關。默認網關的意思是一臺主機如果找不到可用的網關,就把數據包發給默認指定的網關,由這個網關來處理數據包。現在主機使用的網關,一般指的是默認網關。

擴展:自動設置默認網關

自動設置就是利用DHCP(Dynamic Host Configuration Protocol, 動態主機配置協議)服務器來自動給網絡中的計算機分配IP地址、子網掩碼和默認網關 。

一旦網絡的默認網關發生了變化時,只要更改了DHCP服務器中默認網關的設置,那麼網絡中所有的計算機均獲得了新的默認網關的IP地址。這種方法適用於網絡規模較大、TCP/IP參數有可能變動的網絡。

另外一種自動獲得網關的辦法是通過安裝代理服務器軟件(如MS Proxy)的客戶端程序來自動獲得,其原理和方法和DHCP有相似之處。

擴展說明

問:在網上看到一些人提問:連接到相同(二層)交換機或集線器上的計算機,如果設置不同的網絡地址,為什麼不能通信。

答:

在 TCP/IP 協議中,網絡層(通過IP地址識別通信方)封包完成交給下一層數據鏈路層(通過MAC地址識別通信方)時,需要通過 ARP 廣播 獲取目標 IP 對應的 MAC 地址。

但因為 ARP 報文只能在相同網絡地址內廣播,如果目標計算機與源計算機處於不同網絡,則無法進行響應,因此源計算機無法完成鏈路層數據的封裝。


分享到:


相關文章: