【網絡】第六章-鏈路層協議及其他協議

鏈路層協議及其他協議

鏈路層功能

  負責相鄰設備之間的數據幀傳輸。
  網絡層負責主導數據傳輸方向,而鏈路層更加偏向底層,用來引導相鄰主機間數據如何傳輸,之後由物理信號傳輸數據。

以太網協議

  以太網協議用於在鏈路層組織數據,主導相鄰主機之間的數據傳輸方向。
  在以太網協議中有一個重要概念MAC地址:相鄰設備定位的地址,也就是物理網卡的硬件地址,標識每一塊網卡,在兩塊網卡之間的數據傳輸起到作用

協議構成

  6字節目的MAC地址:標誌數據發向哪塊網卡。
  6字節源MAC地址:標誌數據從那塊網卡發來。
  2字節上層協議類型:及ip協議等。
  46-1500字節數據:傳輸的數據。
  4字節以太幀尾:在其中包含校驗和。

ARP協議

  要想在鏈路層進行傳輸我們得知道目的MAC地址,那麼我們如何獲得MAC地址?這裏就要用到ARP協議。

協議作用

  ARP協議是介於網絡層與鏈路層之間的協議,通過IP地址獲取MAC地址。

協議原理

  通過發送一個ARP請求數據包,要求指定ip地址的設備將自己的MAC地址做一個應答響應回來,並且對ip地址和MAC地址的關係進行映射緩存,但是緩存時間很短,通常只有30分鐘。

MTU

  之前在網絡層有提到過MTU,最大傳輸單元,即以太頭包裹的數據大小(不包括頭大小),IP協議頭及其包裹的UDP數據如果總大於MTU則會在網絡層進行數據分片,然後再通過鏈路層進行傳輸,而組織和分片數據都是在網絡層,這裏要講的是MTU對TCP和UDP協議分別的影響。

對TCP協議的影響

  tcp在傳輸層進行傳輸的時候因爲可靠傳輸會自動進行數據分段傳輸,之前的TCP協議中的滑動窗口機制介紹也有提到過,分段大小即稱爲MSS。通信雙方在三次握手的時候計算自身MSS = MTU - IP - TCP,雙方取較小的MSS作爲最大數據段傳輸大小。因爲TCP在傳輸層會進行自動數據分段,所以在網絡層不會進行數據分片。

對UDP協議的影響

  UDP數據報在網絡層如果大小大於MTU但是小於IP最大傳輸大小即64k則需要在網絡層進行數據分片,如果分片越多由於UDP的不可靠傳輸則丟包可能性越大,對端重組數據失敗機率就越大,意思是說如果UDP分片越多則數據丟包可能性越大。一個UDP包中的數據最大默認情況下也就是MTU(默認1500字節) - IP頭(20字節) - UDP頭(8字節) = 1472字節

其他協議

DNS

DNS的誕生

  DNSDomain Name System是域名系統。我們的服務器的IP地址往往是點分十進制的,十分難於記憶,於是便產生了域名,方便我們記憶查找服務器,例如www.baidu.com就是一個域名。當我們訪問這個域名時,會首先將域名轉換爲對應的IP地址,那麼要進行轉換那就必須要有一個服務器存儲映射關係幫助我們進行轉換,這些服務器叫做域名服務器
  首先產生的是跟域名服務器,根域名服務器是最高級域名服務器,但是爲了分攤訪問壓力進行容災處理全世界一共有13臺根域名服務器,分佈在世界各地。

DNS服務器的層級劃分

  就算全世界有13臺根域名服務器這也遠遠不夠用,因此根域名服務器爲了再次分攤壓力它只向下授權,授權世界權威組織可以繼續建立域名服務器,便於域名解析。
  根域名服務器向下的一級授權是頂級域名服務器。例如.com/.org/.gov/.edu/.cn/.jp/.us
  頂級域名服務器還可以繼續向下授權,授權出二級域名服務器。例如.baidu.com/.qq.com。以此類推還有三級域名服務器.baike.baidu.com

域名的解析流程

  通過域名訪問服務器需要進行域名解析,域名解析會經過以下步驟進行解析,會以此經過以下步驟查找映射。

瀏覽器 -> 瀏覽器緩存 -> 查看本機host文件 -> 本地域名服務器
本地域名服務器查找不到對應域名則會按照以下順序依次請求上級域名服務器查詢域名:
本地域名服務器 -> 根域名服務器 
本地域名服務器 -> 頂級域名服務器
本地域名服務器 -> 二級域名服務器

  這種訪問方式是迭代的請求方式,即當本地域名服務器查找不到對應域名則主動請求根域名服務器,如果根域名服務器找不到對應域名則返回頂級域名服務器地址讓本地域名服務器自己去請求頂級域名服務器,同理頂級域名服務器找不到會返回二級域名服務器逐層往下。還有一種遞歸的請求方式,當本地域名服務器向根域名服務器發出請求時如果根域名服務器無法找到域名則會自己主動去訪問頂級域名服務器查找,如果找不到就繼續相下級查找,如果找到則返回。

當瀏覽器輸入url回車後發生那些事情

  1、域名解析流程進行域名解析得到服務器IP地址。
  2、根據url組織http協議格式的請求數據。
  3、基於Socket流程搭建tcp客戶端,向得到的服務器地址發送http請求數據

ICMP協議

  網絡層協議,主要實現網絡探測功能。ping就利用到了ICMP協議,注意ping只是用了網絡層協議因此不使用端口。

NAT技術

NAT的作用

  網絡地址轉換服務。我們在向主機發送數據時舉要通過網關設備,網關設備將數據發送給指定主機號還要求目標主機將返回數據依舊通過此網關返回,因此在網關中會替換IP投中的源IP地址爲此網關地址,這樣就能做到讓數據怎麼去,怎麼回。但是一個網關設備上肯定有多條數據等待轉發,又如何標記哪條數據屬於哪個主機呢?這裏利用了不同的端口向不同的目的主機發送數據,並且建立映射,不同的端口映射一個目的主機一個源主機,這樣數據返回時根據端口也能找到要返回的主機。這種根據端口建立映射的技術也叫NAPT技術。
  NAT一般部署在網關上。

代理服務器

  乍一看NAT技術和代理服務器的功能十分相似,但實際上有着很多區別:
  1、NAT是網絡基礎設備之一,用於解決IP地址不足的問題。代理服務器則偏向於應用。
  2、NAT作用在網絡層,直接替換IP地址,代理服務器作用在應用層。
  3、NAT一般在局域網的出口部署,而代理服務器可以部署在局域網,也可以在廣域網,也可以跨網。
  4、NAT部署在防火牆,路由器等設備上,代理服務器是一個軟件,部署在服務器上。

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