1. 程式人生 > >IP,子網掩碼,網關,DNS的關系解析

IP,子網掩碼,網關,DNS的關系解析

數據包轉發 中間 2-2 必須 通信 數字 範圍 廣播 運算

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(接口)

發送出去,當然返回也是從那裏經過

----------------------------另一種理解--------------------------------

1.比喻介紹IP和網關,DNS之間的關系
假設你的名字叫小不點,你住在一個大院子裏,你的鄰居有很多小夥伴,在門口傳達室還有個看大門的李大爺,李大爺就是你的網關。當你想跟院子裏的某個小夥伴玩,只要你在院子裏大喊一聲他的名字,他聽到了就會回應你,並且跑出來跟你玩。
但是你不被允許走出大門,你想與外界發生的一切聯系,都必須由門口的李大爺(網關)用電話幫助你聯系。假如你想找你的同學小明聊天,小明家住在很遠的另外一個院子裏,他家的院子裏也有一個看門的王大爺(小明的網關)。但是你不知道小明家的電話號碼,不過你的班主任老師有一份你們班全體同學的名單和電話號碼對照表,你的老師就是你的DNS服務器。於是你在家裏撥通了門口李大爺的電話,有了下面的對話:
小不點:李大爺,我想找班主任查一下小明的電話號碼行嗎?
李大爺:好,你等著。(接著李大爺給你的班主任掛了一個電話,問清楚了小明的電話)問到了,他家的號碼是211.99.99.99
小不點:太好了!李大爺,我想找小明,你再幫我聯系一下小明吧。
李大爺:沒問題。(接著李大爺向電話局發出了請求接通小明家電話的請 求,最後一關當然是被轉接到了小明家那個院子的王大爺那裏,然後王大爺把電話給轉到小明家) 就這樣你和小明取得了聯系。
這裏是個形象的比喻,下面來些實際的,其實,網關一般就是你路由器的地址,負責轉接你對外網絡的通信。DNS就是一個域名解析器,比如你在瀏覽器欄裏輸入一個域名,由DNS服務器解析成IP地址再進行連接。一般來說,DNS也是一個地址,是自動獲取的,如果需要手動配置,那麽先拔起切換成自動配置,然後命令行輸入ipconfig /all進行查看DNS服務器,然後再手動輸入。

2.IP地址

  IP地址是一個32位的二進制數,通常被分割為4個“8位二進制數”(也就是4個字節)。IP地址通常用“點分十進制”表示成(a.b.c.d)的形式。其中,a,b,c,d都是0~255之間的十進制整數。例:點分十進IP地址(100.4.5.6),實際上是32位二進制數(01100100.00000100.00000101.00000110)。
IP地址分為A、B、C、D、E 5類。
A類地址

   網絡位8位+主機位24位。由於A類地址的首位必須是0(二進制下),0XXXXXXX.YYYYYYYY.YYYYYYYY.YYYYYYYY。所以網絡位的8位實際只有7位可以配置,所以網絡位共有2^7=128位,十進制下就是0-127,二進制就是(00000000)-(01111111)。但是第一個8位組全0(00000000)表示所有網絡不可用,第一個8位組為全1(01111111),表示回環地址,作為測試TCP/IP協議的地址,也不使用,所以A類IP地址的範圍通過第一個字段查看的話是1–126。
因為後面24位是主機標識,所以主機數應該是2的24次冪 16777216,扣除兩個保留地址後,主機最大數應該是16777214個。

B類地址

  網絡位16位+主機位16位。B類地址的首位必須是10(二進制下),所以網絡位的首8位只有6位可以配置,所以2^6=64,轉變成十進制的首位是128-191。
因為後面16位是主機標識,所以主機數應該是2的16次冪 65536,扣除兩個保留地址後,主機最大數應該是65534個。

C類地址:

  網絡位24位+主機位8位,C類地址的首位必須是110(二進制下),所以網絡位的首8位只有5位可以配置,2^5=32,轉變成十進制的首位就是192-223。
因為後面8位是主機標識,所以主機數應該是 2的8次冪 256,扣除兩個保留地址後,主機最大數應該是254個。

D類地址:

  第一個八位組前4位是1110,該類別地址作為多目廣播使用,表示一組計算機。

E類地址:

  第一個8位組前5位為11110,該類別地址作為科學研究,所以留用。

3.IP和子網掩碼
  之所以把這兩個概念放在這裏講,是因為子網掩碼是依賴於IP地址存在的,單獨的子網掩碼毫無意義,它是用於標誌IP地址的網絡地址(也叫網絡標識)和主機地址(也叫主機標識)的一種方式。
子網掩碼也是32位二進制表示,它是標誌IP地址的網絡地址位數和主機地址位數的,子網掩碼中連續的1表示網絡地址,如默認情況A類地址的子網掩碼為255.0.0.0,B類地址的子網掩碼是255.255.0.0,C類地址的子網掩碼為255.255.255.0,因為255轉成二進制就是11111111,A類有連續8個1,代表首8位是網絡地址。
網絡中或一個子網中,需要用IP地址和子網掩碼進行邏輯與運算,任何二進制與11111111運算仍然為其本身,任何二進制與00000000仍然為00000000。
查看某個主機在哪個子網中需要將IP地址與子網掩碼進行邏輯與運算,結果就是子網地址,也可以叫子網號。但是有些情況,如:172.16.0.8 子網掩碼為255.255.255.0與172.16.0.9子網掩碼為255.255.0.0,乍一看進行IP地址和子網掩碼相與後得到的網絡地址都是172.16.0.0似乎可以通訊,但事實上不在一個網絡裏,所以為了表示清楚將采用表示方法172.16.0.0/24和172.16.0.0/16來區分這樣的問題,24表示24位網絡地址,16表示16位網絡地址。
  子網掩碼的變長可以將一個大的包含很多主機的網絡,通過將子網掩碼變長(表示網絡的地址向表示主機的地址進行借位),從而使網絡數量變多,而每個網絡的主機數量變少。有些子網掩碼:如255.255.255.224轉變成二進制之後是11111111.11111111.11111111.11100000,如此連續的1有27位,向主機位借了3位,如此子網可以有2^3=8個子網,而主機數本來有256-2=254個,現在只有2^5=32-2=30個了。這個就是向主機地址借位。
子網中的第一個地址為子網號,代表整個子網所有計算機,子網中最後一個地址為子網廣播,子網地址是通過IP地址和子網掩碼進行相與得到的,而廣播地址是將子網掩碼中表示主機的二進制位全部置1,換算為十進制再與子網地址相加得出,主機地址為網絡號與廣播地址中間包含的地址,可以給計算機配置其中的地址。
例題:
(1)求IP地址位201.222.10.60子網掩碼為255.255.255.248的地址子網號是什麽?廣播地址是什麽?
答:子網掩碼:11111111.11111111.11111111.11111000,與IP地址11001001.11011110.00001010.00111100相與得到:11001001.11011110.00001010.00111000,十進制下為201.222.10.56(即為子網地址)。廣播地址:主機位是3位,全部置1,換算成十進制是7,56+7=63,因此廣播地址為:201.222.10.63。主機的範圍是子網號與子網廣播之間的IP為
201.222.10.57;201.222.10.58;201.222.10.59;201.222.10.60;201.222.10.61;201.222.10.62一共有六個IP,也只有這六個IP可以給計算機進行配置。
(2)計算33.26.155.89/20此IP地址所在的子網號,子網掩碼是多少?並且該子網中共有多少主機IP地址可以分配給計算機,子網廣播地址是多少?此子網的上一個子網是什麽?下一個子網是什麽?可以劃分多少個子網?
答:該地址屬於A類地址,默認子網掩碼:255.0.0.0,當前表示網絡的位數為20位,說明網絡位向主機位借位12位,所以子網掩碼為255.255.240.0;子網號為33.26.144.0;廣播地址按照計算原則計算出為33.26.159.255;子網的主機數量2^12-2,子網數量2^12個;上一個子網為 33.26.128.0 ,下一個子網33.26.159.255。
(3)如果把一個網絡40.15.0.0分為兩個子網,第一個子網是40.15.0.0/17,那麽第二個子網將會是()。
答:A類IP地址,子網掩碼默認是255.0.0.0,第一個子網向主機借位9位,第二個子網同樣是9位:40.15.128.0/17,這就是最終結果。

IP,子網掩碼,網關,DNS的關系解析