1. 程式人生 > >計算機網絡: IP地址,子網掩碼,默認網關,DNS服務器詳解

計算機網絡: IP地址,子網掩碼,默認網關,DNS服務器詳解

映射 交換機 則無 con 而是 客戶 5.0 系統 windows

楔子:

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

    技術分享圖片

  學習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 地址中被 連續的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地址設置, 看看在不同設置下網絡是通還是不通.

實驗

編號

1號機器 2號機器 網絡連通
IP地址 子網掩碼 網絡地址 IP地址 子網掩碼 網絡地址
1 192.168.0.1 255.255.255.0 192.168.0.0 192.168.0.200 255.255.255.0 192.168.0.0 Y
2 192.168.0.1 255.255.255.0 192.168.0.0 192.168.1.200 255.255.255.0 192.168.1.0 N
3 192.168.0.1 255.255.255.192 192.168.0.0 192.168.0.200 255.255.255.0 192.168.0.192 N

說明:第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地址,TCP/IP協議才能實現不同網絡之間的相互通信。

默認網關

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

擴展:自動設置默認網關

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

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

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

    

  擴展說明

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

  答:

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

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

  ARP 協議相關信息可見 這裏。

五. DNS服務器

  參考:《DNS原理及其解析過程》

  域名與DNS

  我們訪問一個網站的時候,往往使用的是域名(相對IP來說更加語義清晰、更加容易記憶,例如 www.baidu.com)。

  域名是由一串用點分隔的名字組成的,通常包含組織名,而且始終包括兩到三個字母的後綴,以指明組織的類型或該域所在的國家或地區。

  然而計算機之間的通信網絡通信是通過IP進行的, 因此需要將域名解析為對應的IP,DNS就是進行域名解析的服務器。

DNS 維護著 域名(domain name)和IP地址 (IP address)的對照表表,以解析消息的域名。

  DNS 查詢的過程如下圖所示

技術分享圖片

DNS 維護著 域名(domain name)和IP地址 (IP address)的對照表表,以解析消息的域名。

1、在瀏覽器中輸入www.qq.com域名,操作系統會先檢查自己本地的hosts文件是否有這個網址映射關系,如果有,就先調用這個IP地址映射,完成域名解析。

2、如果hosts裏沒有這個域名的映射,則查找本地DNS解析器緩存,是否有這個網址映射關系,如果有,直接返回,完成域名解析。

3、如果hosts與本地DNS解析器緩存都沒有相應的網址映射關系,首先會找TCP/ip參數中設置的首選DNS服務器,在此我們叫它本地DNS服務器,此服務器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。

4、如果要查詢的域名,不由本地DNS服務器區域解析,但該服務器已緩存了此網址映射關系,則調用這個IP地址映射,完成域名解析,此解析不具有權威性。

5、如果本地DNS服務器本地區域文件與緩存解析都失效,則根據本地DNS服務器的設置(是否設置轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至13臺根DNS,根DNS服務器收到請求後會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名服務器的一個IP。本地DNS服務器收到IP信息後,將會聯系負責.com域的這臺服務器。這臺負責.com域的服務器收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS服務器地址(qq.com)給本地DNS服務器。當本地DNS服務器收到這個地址後,就會找qq.com域服務器,重復上面的動作,進行查詢,直至找到www.qq.com主機。

6、如果用的是轉發模式,此DNS服務器就會把請求轉發至上一級DNS服務器,由上一級服務器進行解析,上一級服務器如果不能解析,或找根DNS或把轉請求轉至上上級,以此循環。不管是本地DNS服務器用是是轉發,還是根提示,最後都是把結果返回給本地DNS服務器,由此DNS服務器再返回給客戶機。

五. 附錄

  未在文中說到的相關知識點:

  《IP地址分類(A/B/C/D/E/F類)》

  《計算機網絡七層結構模型: 開放式系統互聯通信參考模型(簡稱為OSI模型)》

  《TCP/IP 協議族》

  《ARP協議的簡明工作流程》

  《ARP協議處理詳細過程-交換機工作原理-及廣播風暴問題分析》

  《交換機、路由器、網關的概念以及用途》

  《交換機與路由器的區別,以及2層-7層交換機的區別》

  工具:

  《eNSP(Enterprise Network Simulation Platform) 》

一款由華為提供的免費的、可擴展的、圖形化操作的網絡仿真工具平臺,主要對企業網路由器、交換機進行軟件仿真,完美呈現真實設備實景,支持大型網絡模擬,讓廣大用戶有機會在沒有真實設備的情況下能夠模擬演練,學習網絡技術。

計算機網絡: IP地址,子網掩碼,默認網關,DNS服務器詳解