楔子:html
以Windows系統中IP地址設置界面爲參考(如圖1), IP地址, 子網掩碼, 默認網關 和 DNS服務器, 這些都是什麼意思呢?瀏覽器
學習IP地址的相關知識時還會遇到網絡地址,廣播地址,子網等概念,這些又是什麼意思呢 ?緩存
一 IP地址服務器
概述網絡
計算機要實現網絡通訊,就必需要有一個用於快速定位的網絡地址。IP地址就是計算機在網絡中的惟一身份ID,與現實世界中快遞的配送須要有具體的住宅地址是一個道理。dom
ip地址以圓點分隔號的四個十進制數字表示,每一個數字從0到255,如某一臺主機的ip地址爲:128.20.4.1學習
IP地址的組成網站
IP地址 = 網絡地址 + 主機地址(又稱:主機號和網絡號組成)spa
想一想,爲何會有行政區劃的劃定(國家、省市區、街道等),爲了更加高效的進行管理、定位;操作系統
相同的,咱們一般將網絡也能夠分爲不少的子網絡,每一個子網絡有本身的網絡地址,每一個子網絡由不少的計算機組成(固然也能夠包含另一個子網絡)。
咱們要找到指定的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。
三 經過子網掩碼計算網絡地址
計算方法
計算過程是這樣的:
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
咱們訪問一個網站的時候,每每使用的是域名(相對IP來講更加語義清晰、更加容易記憶,例如 www.baidu.com)。
域名是由一串用點分隔的名字組成的,一般包含組織名,並且始終包括兩到三個字母的後綴,以指明組織的類型或該域所在的國家或地區。
然而計算機之間的通訊網絡通訊是經過IP進行的, 所以須要將域名解析爲對應的IP,DNS就是進行域名解析的服務器。
DNS 維護着 域名(domain name)和IP地址 (IP address)的對照表表,以解析消息的域名。
DNS 查詢的過程以下圖所示
DNS 維護着 域名(domain name)和IP地址 (IP address)的對照表表,以解析消息的域名。
一、在瀏覽器中輸入www.qq.com域名,操做系統會先檢查本身本地的hosts文件是否有這個網址映射關係,若是有,就先調用這個IP地址映射,完成域名解析。
二、若是hosts裏沒有這個域名的映射,則查找本地DNS解析器緩存,是否有這個網址映射關係,若是有,直接返回,完成域名解析。
三、若是hosts與本地DNS解析器緩存都沒有相應的網址映射關係,首先會找TCP/ip參數中設置的首選DNS服務器,在此咱們叫它本地DNS服務器,此服務器收到查詢時,若是要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具備權威性。
四、若是要查詢的域名,不禁本地DNS服務器區域解析,但該服務器已緩存了此網址映射關係,則調用這個IP地址映射,完成域名解析,此解析不具備權威性。
五、若是本地DNS服務器本地區域文件與緩存解析都失效,則根據本地DNS服務器的設置(是否設置轉發器)進行查詢,若是未用轉發模式,本地DNS就把請求發至13臺根DNS,根DNS服務器收到請求後會判斷這個域名(.com)是誰來受權管理,並會返回一個負責該頂級域名服務器的一個IP。本地DNS服務器收到IP信息後,將會聯繫負責.com域的這臺服務器。這臺負責.com域的服務器收到請求後,若是本身沒法解析,它就會找一個管理.com域的下一級DNS服務器地址(qq.com)給本地DNS服務器。當本地DNS服務器收到這個地址後,就會找qq.com域服務器,重複上面的動做,進行查詢,直至找到www.qq.com主機。
六、若是用的是轉發模式,此DNS服務器就會把請求轉發至上一級DNS服務器,由上一級服務器進行解析,上一級服務器若是不能解析,或找根DNS或把轉請求轉至上上級,以此循環。不論是本地DNS服務器用是是轉發,仍是根提示,最後都是把結果返回給本地DNS服務器,由此DNS服務器再返回給客戶機。
轉載連接地址:https://www.cnblogs.com/iceJava/p/5372033.html