淺談網絡連接

前話

最近看了一些網絡資料,特地寫下了分享給大家。

這裏,我只簡單地分享大家,想了解更多可找我或者谷歌百度。

首先,我想大家對下面這張圖不陌生吧~

網絡信息

我就圍繞這張圖來講解知識點吧:

  • MAC地址(也就是圖中實際地址)
  • IP地址(這裏只講IPv4)
  • 子網掩碼
  • 網關(也可說成路由)
  • DNS服務器

網絡知識點


MAC地址

這裏我引用百度文庫

MAC(Medium/Media Access Control)地址,用來表示互聯網上每一個站點的標識符,採用十六進制數表示,共六個字節(48位)。其中,前三個字節是由IEEE的註冊管理機構RA負責給不同廠家分配的代碼(高位24位),也稱爲“編制上唯一的標識符”(Organizationally Unique Identifier),後三個字節(低位24位)由各廠家自行指派給生產的適配器接口,稱爲擴展標識符(唯一性)。一個地址塊可以生成224個不同的地址。MAC地址實際上就是適配器地址或適配器標識符EUI-48。

簡單來說,MAC地址就是網絡硬件的身份證,它的編碼是唯一的由生產廠家決定。

你的wifi,打印機,藍牙等都有唯一的MAC地址。


IP地址

和MAC地址類似,它是標記網絡硬件的標識符,不同之處在於,一個網絡硬件的只能有一個MAC地址,但是可以有多個IP地址。
IP地址是32位二進制編碼,爲方便管理,以8位作爲分割,分割成四部分,每部分再轉化爲十進制表示,因此IP地址表示爲三個點分割的字符串。例如 192.168.1.1

特別要注意,IP地址用點分成四部分,每部分取值範圍爲 0~255


私網地址

IP地址有公網私網之分,公網地址和私網地址。
公網地址是互聯網分配的地址,對於整個互聯網它是唯一的,互聯網任意成員可通過該公網地址訪問你。而私網地址是內部地址,這內部可以是網絡設備內部,也可以是局域網內部。

我們需要記住私網地址的三個地址段,如下:

  1. 10.0.0.0/8
  2. 172.16.0.0/12
  3. 192.168.0.0/16

反斜槓左邊表示網關,右邊表示IP地址二進制表示時保留長度,這個到子網掩碼時再講。
因此私網地址範圍爲 10.0.0.1-10.255.255.254172.16.0.1-172.16.255.254192.168.0.1-192.168.255.254

私網地址多用於局域網內部地址分配

公網私網

如上圖,兩個計算機連接一個路由器,路由器通過虛擬撥號連通互聯網。
路由器通過自身DHCP動態地址分配給兩個計算機分配地址爲 192.168.1.100和101
路由器有三個網絡接口,可以看作三個網卡,其中兩個網卡分別和兩臺計算機相連,這個兩個網卡的IP地址也是 192.168.1.X 的範圍內,以此和兩臺計算機網絡連通。
路由器剩下一個網絡接口連接互聯網,互聯網分配其一個公網地址 200.200.200.1

若要一個網絡硬件多個IP,在Window系統這樣設置

多IP


子網掩碼

在同個局域網中,各IP之間要互相通信,那麼就要有一定規則標識他們在同一個網段中。
在前面IP地址小節的圖中,兩臺計算機的IP爲 192.168.1.100192.168.1.101 ,該如何標識他們是同一網段呢?
兩臺計算機就算通過雙絞線互聯,它們IP沒有設置爲同一網段中,它們也是不可以網絡互通的。

這時就需要子網掩碼了,如下圖:

子網掩碼

通過子網掩碼和IP地址的二進制值進行與運算,得出網關地址,若兩個IP分別和子網掩碼的與運算得出的網關地址一樣,說明他們在同一網段中,詳細解釋如下圖:

子網掩碼IP與運算

在上圖中,與運算得出了網關地址 192.168.1.0 ,子網掩碼二進制1的長度爲24,也可以表示爲 192.168.1.0/24 ,因此只要它們的IP在 192.168.0.1~254 ,他們都屬於同一網段。

在局域網內通信時,一主機發送IP包,在路由器轉發過程中,路由器會先分析目的IP地址是否和源IP地址同一網段,通過子網掩碼運算得出同一網關地址,路由器把IP包轉發到局域網目的主機中。


網關(路由)

網關可以看作是網絡的出口,這裏我用三臺主機組成一個局域網,其中一臺主機連通因特網,這臺連接因特網的主機就可以當作網關,如下圖:

網關示意

pc0和pc1是局域網內主機,它們未連通因特網,因此他們想連接因特網該如何做?
這時我們只要將連接因特網的主機設置共享網絡,然後其他兩臺主機設置其網關地址爲連接因特網的主機的IP地址就可以了,如下圖:

網關局域網聯網

通過路由器也是同樣道理,如下圖:

路由聯網


DNS服務器

在瀏覽器敲入 www.baidu.com ,我們就會訪問到百度的網頁,但是大家知道爲什麼可以訪問到這個網頁呢?

講解DNS前我先分享一個知識,就是你訪問無論哪個網站,其實內部就是下載那個網頁到本機,然後瀏覽器顯示出來,就跟你下載圖片,然後用軟件打開圖片差不多,如下圖:

DNS解析

訪問網站是主機跟服務器的通信(服務器也是主機),主機之間的通信就需要IP。這裏舉例訪問百度過程:

  1. 主機瀏覽器訪問 www.baidu.com ,將該域名轉發給DNS服務器
  2. DNS服務器解析該域名,並將百度服務器的IP地址返回給主機
  3. 主機收到解析成功返回的百度服務器的IP地址,並將其保存到本機緩存中,然後向百度服務器IP請求連接,發送IP數據包
  4. 該IP數據包由路由轉發,分析目的IP不在本局域網,因此轉發至因特網
  5. 數據包通過因特網成功傳到百度服務器,通過TCP/IP建立連接,百度服務器將其網頁文件發送給主機
  6. 主機接收百度服務器發送過來的網頁文件,並通過瀏覽器顯示出來

從這裏可以看出,DNS服務器的作用便是解析域名成IP地址。

圖中我們知道了百度的IP地址爲 14.215.177.37 ,我們在瀏覽器中輸入該IP也可進行百度網站的訪問。

爲什麼不用域名作爲網絡設備標識呢?因爲域名不方便管理,且成本大,每個數據包用域名標識網絡設備跟定大大增加數據包大小,嚴重降低網絡數據包傳輸效率。

但是通過IP訪問其他主機服務器肯定不方便記憶,因此每個局域網或者廣域網會配備一臺或者多臺DNS服務器來解析域名,統一管理。


總結

  1. MAC地址是網絡設備唯一的標識字符串,它類似身份證,由網絡設備生產廠家決定
  2. IP是網絡設備的網絡標識字符串,在同個網絡中,它是唯一的,每個網絡設備可以有多個IP。它類似QQ賬號,對於整個QQ環境來說每個賬號是唯一的,但是每個用戶可以有多個QQ賬號。
  3. 子網掩碼的作用是區分IP是否在同一網絡,IP地址在同一地址段,也就是計算得出的網關地址相同的IP纔是互通的,當然前提是他們有有線或者無線的物理連接。
  4. 網關,也可以是路由,它是一個網絡的出口,這個出口通向其他網絡。其實因特網可以看作是無數個局域網所構成的,每個局域網的網關構成一個局域網,那麼這個網關構成的局域網便是因特網了
  5. DNS服務器,它可以解析域名成IP地址。DNS服務器可以看作一個數據庫,它有個IP對應域名的表,主機請求IP地址就將域名對應的IP地址值返回給主機

補充點


IP地址值取值範圍

比如地址段 192.168.0.0/16 ,他的取值範圍是 192.168.0.1 ~ 192.168.255.254
一個地址段,它分爲網關部分和自定義取值部分:

  • 反斜槓後面的16說明IP地址二進制從左到右保留長度爲16,說明 192.168 這是網關部分,網關部分值不能改變。
  • 剩下的後面 0.0 是取值部分,取值部分可以自定義更改。

爲什麼不能取值 192.168.0.0192.168.255.255 呢?
這是因爲取值部分的二進制值不能全爲0或者1,也就是二進制地址不能取值爲 00000000.0000000011111111.11111111 ,對應的就是 0.0255.255 ,前者是無效地址,後者是廣播地址。

同理地址段 172.16.0.0/12 的取值範圍爲 172.16.0.1 ~ 172.31.255.254 ,自己可以算算。


其他補充點想到再加吧~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章