網絡協議(二) -- 子網與子網掩碼

一:前情概述

通過上一篇文章網絡協議(一) – 網絡基礎TCP/IP大概可以知道的是該模型中將網絡數據傳輸過程劃分爲四層,應用層處理用戶數據、傳輸層邏輯通信、網絡層目標計算機定位連接、鏈路層數據傳輸。任何交流的開始理所當然都需要建立連接,本文將涉及到DNS、IP、ARP、子網掩碼、MAC等相關知識

二:廣播傳遞

在這裏插入圖片描述
同一個網絡線路有許多的計算機連接,所以消息的傳遞使用廣播的方式進行。也就是當你傳遞給A數據包的時候,B、C計算機也會接收到相同的數據包,接收到數據的計算機會取出數據包中的IP地址與自身IP地址進行比較判斷是否爲傳遞給自身的數據包

三:子網篩選

互聯網中的計算機成千上萬,如果要去對比所有計算機的請求數據包等於爆炸操作。這時候提出子網概念,如果源計算機與目標計算機位於同一子網,則該數據包只會傳遞給該子網下計算機,若不屬於同一子網,則會通過網關傳遞到對應子網
在這裏插入圖片描述

四:IP地址

首先需要明確IP地址因爲IPV4即將耗盡的原因所以提出了IPV6的版本,但是目前大部分還是使用IPV4,所以系列文章都將會使用IPV4進行講解。IP地址總共佔有32位,由以下兩個部分組成:

  • 網絡號部分:位數不定,用於計算子網
  • 主機號部分:位數不定

在這裏插入圖片描述

五:子網掩碼

IP協議真特麼不可靠,網絡位數都不一定,怎麼根據它計算子網數據?子網掩碼應運而生,同樣它也是一組32位二進制的整數。它規定網絡部分全部用1表示,非網絡部分全部用0表示。 得嘞,有了這個規定那麼將其與IP地址做與(and)運算則可以判斷目標計算機與源計算機是否屬於同一子網
在這裏插入圖片描述
目標計算機的IP地址通常在訪問的時候會輸入,那麼目標計算機的子網掩碼怎麼確定呢?這個疑惑請看下錶,示例如A、B、C三類地址IP的子網掩碼:

IP地址 範圍 子網掩碼
A類IP 0.0.0.0 ~ 126.0.0.0 255.0.0.0
B類IP 128.0.0.0 ~ 191.255.255.255 255.255.0.0
C類IP 192.0.0.0 ~ 223.255.255.255 255.255.255.0

六:ARP協議

通過IP地址與子網掩碼可以計算出子網,也就可以劃分請求發送範圍。但是如何獲取目標計算機MAC地址還是一頭霧水?其步驟如下所示:

  1. 源計算機請求通過網關轉發亦或位於同一子網則直接發送到目標計算機所在子網
  2. 詢問MAC地址的數據包中填寫的MAC地址爲特殊參數,這樣用於區分正常數據包與詢問MAC地址數據包
  3. 接收到數據包計算機通過ARP協議取出數據包中目標計算機IP地址與自身IP地址比較
  4. 若比較IP地址相同則通過ARP協議響應返回MAC地址

在這裏插入圖片描述

七:DNS服務

開發環境調試的時候經常就是http://localhost:8080/service亦或是http://192.168.15.113:8080/service,但是到了測試環境亦或是生產環境的時候都會將其畫風變成https://www.baidu.com等等。域名的與IP地址的切換就需要使用到應用層的一個協議DNS,當發起網絡請求地址的時候都會向DNS服務發送請求將域名轉換爲綁定IP地址後再執行後續網絡請求操作

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