1. 程式人生 > >IP地址,子網掩碼,閘道器,DNS之間關係

IP地址,子網掩碼,閘道器,DNS之間關係

說來慚愧大學裡的計算機網路忘得差不多了,由於公司專案需求要自定義網路協議。由於之前開發都是用第三方包很少去寫底層的網路協議,所以一起來學習吧!今天這篇文章基本上是從百度裡面轉載過來的如下:

IP地址,子網掩碼,閘道器,DNS之間有什麼關係?

IP地址通俗的說就是門牌號碼具體的位置,最多有12位組成的例如最常見192.168.1.35等等。

子網掩碼是一個32位地址,用於遮蔽IP地址的一部分以區別網路標識和主機標識,並說明該IP地址是在區域網上,還是在遠端網上,好像是郵政編碼似的。

閘道器是互連網路中操作在OSI運輸層之上的設施,例如``通常都喜歡用一臺機器做主機其他的串聯上去一起上網那麼這個主機就是網關了。

DNS就是域名解析伺服器,就是再上網的時候都是輸入的都是域名而網站的真實地址是以ip地址的形式出現的由於記憶麻煩就有域名代替的DNS就是將域名轉換成為ip地址的形式至於首選擇DNS,

由於網路上存在著網速的問題,所以當上網的時候請求命令首先是經過距離最近的DNS伺服器通常也是網速最好這個就是首先DNS,但是當這個線路出現了問題的時候,那麼就要走遠路到其他距離較遠的的DNS伺服器,這個就是備用DNS。

這幾者的關係是上網必備的條件,少一個都不行。
再通俗點來講

IP地址就好比一個人,全世界只有你一個人!(還有就好比區域網,外網IP只有一個,內網IP不一樣,就好比說你生了很多孩子,但是還未成年,所以出去玩要你帶著!)
子網掩碼就好比說(一個母親生的孩子太多了!孩子又有很多孫子,這個母親的孩子有的有錢,有的沒錢,有錢的多養幾個孩子,沒錢的把孩子讓哥哥養著)
閘道器就好比說你在家裡邊想出去玩,要開啟你家的門才能出去一樣!閘道器,是據有路由功能的裝置的IP地址,通常是路由器的IP地址
DNS就好比一個翻譯,你要上網輸入的網址是DNS的一個對映,比如說你不會英語,你很有錢,去美國玩了,不會說那裡的話,要請一個翻譯是一樣的!

逐個詳解

IP地址

給每個連線在Internet上的主機分配的一個32bit地址。地址有兩部分組成,一部分為網路地址,另一部分為主機地址。IP地址分為A、B、C、D、E 5類。常用的是B和C兩類。網路地址的位數直接決定了可以分配的網路數;主機地址的位數則決定了網路中最大的主機數。

A類地址: 網路位8(7)位+主機位24位,0****************************

IP範圍:1.0.0.0--126.255.255.255

127網路位是本地測試地址,不能用於資料通訊。

IP範圍:127.0.0.0--127.255.255.255

B類地址:網路位16(14)位+主機位16位,10******

*********************

IP範圍:128.0.0.0--191.255.255.255

C類地址:網路位24(21)位+主機位8位,110**************************

IP範圍:192.0.0.0--223.255.255.255

D:224.0.0.0——239.255.255.255

E:240.0.0.0——255.255.255.255

子網掩碼

網際網路是由許多小型網路構成的,每個網路上都有許多主機,這樣便構成了一個有層次的結構。IP地址在設計時就考慮到地址分配的層次特點,將每個IP地址都分割成網路號和主機號兩部分,以便於IP地址的定址操作。 

IP地址的網路號和主機號各是多少位呢?

如果不指定,就不知道哪些位是網路號、哪些是主機號,這就需要通過子網掩碼來實現。

什麼是子網掩碼?

子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分。 

子網掩碼的設定必須遵循一定的規則。與IP地址相同,子網掩碼的長度也是32位,左邊是網路位,用二進位制數字“1”表示;右邊是主機位,用二進位制數字“0”表示。

例如:IP地址為“192.168.1.1”和子網掩碼為“255.255.255.0”。其中,“1”有24個,代表與此相對應的IP地址左邊24位是網路號;“0”有8個,代表與此相對應的IP地址右邊8位是主機號。這樣,子網掩碼就確定了一個IP地址的32位二進位制數字中哪些是網路號、哪些是主機號。

這對於採用TCP/IP協議的網路來說非常重要,只有通過子網掩碼,才能表明一臺主機所在的子網與其他子網的關係,使網路正常工作。

常用的子網掩碼有數百種,這裡只介紹最常用的兩種子網掩碼,它們分別是“255.255.255.0”和“255.255.0.0”。 

1. 子網掩碼是“255.255.255.0”的網路

最後面一個數字可以在0~255範圍內任意變化,因此可以提供256個IP地址。但是實際可用的IP地址數量是256-2,即254個,因為主機號不能全是“0”或全是“1”。

2. 子網掩碼是“255.255.0.0”的網路:後面兩個數字可以在0~255範圍內任意變化,可以提供2552個IP地址。但是實際可用的IP地址數量是2552-2,即65023個。

 IP地址的子網掩碼設定不是任意的。如果將子網掩碼設定過大,也就是說子網範圍擴大,那麼,根據子網尋徑規則,很可能發往和本地機不在同一子網內的目的機的資料,會因為錯誤的判斷而認為目的機是在同一子網內,那麼,資料包將在本子網內迴圈,直到超時並拋棄,使資料不能正確到達目的機,導致網路傳輸錯誤;如果將子網掩碼設定得過小,那麼就會將本來屬於同一子網內的機器之間的通訊當做是跨子網傳輸,資料包都交給預設閘道器處理,這樣勢必增加預設閘道器的負擔,造成網路效率下降。因此,子網掩碼應該根據網路的規模進行設定。

如果一個網路的規模不超過254臺電腦,採用“255.255.255.0”作為子網掩碼就可以了,現在大多數區域網都不會超過這個數字,因此“255.255.255.0”是最常用的IP地址子網掩碼;筆者見到的最大規模的中小學校園網具有1500多臺電腦,這種規模的區域網可以使用“255.255.0.0”。預設子網掩碼 在Windows 2000 Server中,如果給一個網絡卡指定IP地址,系統會自動填入一個預設的子網掩碼。這是Windows 2000 Server為了節省使用者輸入時間自動產生的子網掩碼。比如,區域網最常使用的IP地址“192.168.x.x”預設的子網掩碼是“255.255.255.0”。一般情況下,IP地址使用預設子網掩碼就可以了。

預設閘道器

按照不同的分類標準,閘道器也有很多種。TCP/IP協議裡的閘道器是最常用的,在這裡我們所講的“閘道器”均指TCP/IP協議下的閘道器。

那麼閘道器到底是什麼呢?

閘道器實質上是一個網路通向其他網路的IP地址。

比如有網路A和網路B。

網路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。

在沒有路由器的情況下,兩個網路之間是不能進行TCP/IP通訊的,即使是兩個網路連線在同一臺交換機(或集線器)上,TCP/IP協議也會根據子網掩碼(255.255.255.0)判定兩個網路中的主機處在不同的網路裡。而要實現這兩個網路之間的通訊,則必須通過閘道器。如果網路A中的主機發現資料包的目的主機不在本地網路中,就把資料包轉發給它自己的閘道器,再由閘道器轉發給網路B的閘道器,網路B的閘道器再轉發給網路B的某個主機(如附圖所示)。網路B向網路A轉發資料包的過程也是如此。

所以說,只有設定好閘道器的IP地址,TCP/IP協議才能實現不同網路之間的相互通訊。

那麼這個IP地址是哪臺機器的IP地址呢?

閘道器的IP地址是具有路由功能的裝置的IP地址,具有路由功能的裝置有路由器、啟用了路由協議的伺服器(實質上相當於一臺路由器)、代理伺服器(也相當於一臺路由器)。 

什麼是預設閘道器

        如果搞清了什麼是閘道器,預設閘道器也就好理解了。就好像一個房間可以有多扇門一樣,一臺主機可以有多個閘道器。預設閘道器的意思是一臺主機如果找不到可用的閘道器,就把資料包發給預設指定的閘道器,由這個閘道器來處理資料包。

現在主機使用的閘道器,一般指的是預設閘道器。意思是:所有的需要轉發的資料包,都經過預設閘道器的IP(介面)傳送出去,當然返回也是從那裡經過。

【例】

對於192.168.0.0到192.168.0.255這個網路來說,以下說法中正確的是____。

A.網段內可用來作為主機IP的範圍是:192.168.0.0到192.168.0.255

B.Network IP是192.168.0.255

C.Broadcast IP是192.168.0.0

D.網段內的主機可以通過網絡卡對網絡卡傳遞資料

E.192.168.0.1和192.168.0.2的主機需要使用Router傳遞資料包

F.是class B等級

 首先對於A選項,該網段內主機地址只能是192.168.0.1到192.168.0.254,主機號全0和全1的地址不可用做主機IP,全0是網路地址,全1是廣播地址。 
  然後B選項和C選項正好弄反,因為本網段是以110開頭(192-224之間)是C類網路,網路號有3個位元組,網路地址是192.168.0.0,而廣播地址是192.168.0.255。自然F選項也是錯誤的。 
  至於E選項,兩主機為同一網段,所以不需要路由器通訊。所以選D.


IP地址是怎麼分A B C D等級的?


A類:1.0.0.0~126.255.255.255,預設子網掩碼/8,即255.0.0.0 (其中127.0.0.0~127.255.255.255為環回地址,用於本地環回測試等用途);

B類:128.0.0.0~191.255.255.255,預設子網掩碼/16,即255.255.0.0;

C類:192.0.0.0~223.255.255.255,預設子網掩碼/24,即255.255.255.0;

D類:224.0.0.0~239.255.255.255,一般於用組播

E類:240.0.0.0~255.255.255.255(其中255.255.255.255為全網廣播地址),E類地址一般用於研究用途..

IPv4中還有一種私有地址,即比如內部區域網所用的地址,分別為:

10.0.0.0~10.255.255.255;
172.16.0.0~172.31.0.0;
192.168.0.0~192.168.255.255
一個A類IP地址由1位元組的網路地址和3位元組主機地址組成,網路地址的最高位必須是“0”, 地址範圍1.0.0.1-126.255.255.254可用的A類網路有126個,每個網路能容納1億多個主機。

一個B類IP地址由2個位元組的網路地址和2個位元組的主機地址組成,網路地址的最高位必須是“10”,地址範圍128.0.0.1-191.255.255.254。可用的B類網路有16382個,每個網路能容納6萬多個主機 。

一個C類IP地址由3位元組的網路地址和1位元組的主機地址組成,網路地址的最高位必須是“110”。範圍192.0.0.1-223.255.255.254C類網路可達209萬餘個,每個網路能容納254個主機。

計算機的IP是通過四組資料和小數點來組成的,同時四組資料的取值範圍為0~255區間,也就是說所有的IP都必須在0.0.0.0~255.255.255.255區間內。
IP協議給網路上的每個計算機都分配了一個唯一的IP地址,這個地址是一個分為四部分的32位長的數,為方便記憶,通常使用以點號劃分的十進位制來表示,如:211.158.10.5,這樣IP地址就表示的比較清晰。
每個IP地址被劃分為兩個部分,一個為網路地址(Network Address),用於表示計算機所從屬的網路號,一個為節點地址(Node Address,也成為主機地址),用於指明該網路上某個特定主機的主機號;網路地址和節點地址通過網路掩碼(netmask)進行區分,對應網路掩碼二進位制位為“1”的IP地址部分為網路部分,其他的為節點部分。例如網路掩碼255.255.255.0將192.168.1.200 的網路部分分為192.168.1和200兩部分,因此其網路地址為192.168.1.0,節點部分為0.0.0.200。
同一個網路中的網路地址應該相同,但節點地址應該不同,因而子網掩碼可以決定這個網路中可以擁有的主機的數量,即節點地址的範圍減2,其中節點地址二進位制位全為0的地址為網路地址,表示這個網路本身,而節點地址二進位制位全為1的地址為廣播地址,用於在網路中傳送廣播包。
在 TCP/IP 網路中有幾個地址具有特殊含義:
 以零開頭的地址表示當前網路中的本地節點。例如,0.0.0.23 指當前網路中的 23 號工作站。地址 0.0.0.0 指當前工作站。
在進行故障排除和網路診斷時,以 127 開頭的地址非常重要。形式上將網路地址塊 127.x.x.x 定義為 A 類地址,保留了該地址塊以用於內部回送(loopback)。
 將地址上所有位全置為 1(也就是值 255)代表"所有"地址。所以,192.18.255.255 意味著將訊息傳送給 192.18. 網路上的所有節點;類似的,255.255.255.255 意味著將訊息傳送給因特網上的每個節點。這些地址用於多點廣播訊息和服務公告。
注意:給系統分配節點號時,不要使用 0 或 255,它們都是保留數字,具有特殊含義。
劃分子網
VLSM(Variable Length Subnet Mask, 可變長子網掩碼),這是一種產生不同大小子網的網路分配機制。VLSM將允許給點到點的鏈路分配子網掩碼255.255.255.252,而給Ethernet網路分配255.255.255.0。VLSM技術對高效分配IP地址(較少浪費)以及減少路由表大小都起到非常重要的作用。但是需要注意的是使用VLSM時,所採用的路由協議必須能夠支援它,這些路由協議包括RIP2,OSPF,EIGRP和BGP。
為了提高IP地址的使用效率,可將一個網路劃分為子網:採用借位的方式,從主機位最高位開始借位變為新的子網位,所剩餘的部分則仍為主機位。這使得IP地址的結構分為三部分:網路位、子網位和主機位。引入子網概念後,網路位加上子網位才能全域性唯一地標識一個網路。把所有的網路位用1來標識,主機位用0來標識,就得到了子網掩碼。如下圖所示的子網掩碼轉換為十進位制之後為:255.255.255.224。
劃分子網是將大型的、實際的網路分成較小的邏輯網路的過程。劃分網路的原因有以下幾點:聯網技術的電氣(物理層)限制;為簡便起見,希望在建築物的每一層(或每個部門或針對每個應用)放置一個獨立的網路而劃分網路;減少網路段負載;或需要用高速線路連線遠端位置。
劃分網段的結果是使整個網路變成由一些小型子網塊組成的網路,從而易於管理。這些較小的子網之間的通訊通過閘道器和路由器進行。同樣,一個組織可以有幾個物理上在同一個網路中的子網,以便將網路功能邏輯地分成多個工作組。

主機號不能全是"0"或全是"1"

在一個網路段中主機號全為0 代表這個網路段本身 稱之為:網路號 。這個地址是不可以分配給主機的。
例如:
ip : 192.168.128.2
netmask: 255.255.255.0
那麼這網路段的網路號為: 192.168.128.0
這個地址可以用在路由中
當你新增一條指向192.168.128.0 的路由 ,就代表了這個網路中的所有地址192.168.128.1---254
所有到192.168.128.1---254的資料都可由你上面路由指定的路由閘道器轉發
---閘道器就是 你迷路 不知道去一個地方要怎麼走時要去問的人 (只是打個比方不是很恰當)
---路由表就是那人手中的地圖 路由就是他去查地圖找路線。
主機號全1的地址 是廣播地址 你給這個地址發資料包 這個網路內的所有主機都能收到。

組播地址

組播報文的目的地址使用D類IP地址, D類地址不能出現在IP報文的源IP地址欄位。單播資料傳輸過程中,一個資料包傳輸的路徑是從源地址路由到目的地址,利用“逐跳”的原理在IP網路中傳輸。然而在ip組播環中,資料包的目的地址不是一個,而是一組,形成組地址。所有的資訊接收者都加入到一個組內,並且一旦加入之後,流向組地址的資料立即開始向接收者傳輸,組中的所有成員都能接收到資料包組播組中的成員是動態的,主機可以在任何時刻加入和離開組播組。