天天看點

計算機網絡原理——資料鍊路層的這些知識你真的知道嗎?以太網

資料鍊路層

  • 以太網
    • MAC位址
      • 對比了解MAC位址和IP位址
      • 已經有IP位址了,為啥還要mac位址?
    • MTU
      • MTU對IP協定的影響
      • MTU對UDP協定的影響
      • MTU對TCP協定的影響
    • ARP協定
    • DNS

資料鍊路層,負責兩個相鄰裝置之間的傳輸。

直接受到硬體裝置的影響。

以太網

以太網協定,覆寫了資料鍊路層,也覆寫了實體層。

計算機網絡原理——資料鍊路層的這些知識你真的知道嗎?以太網

MAC位址

MAC位址用來識别資料鍊路層中相連的節點;

長度為48位, 及6個位元組. 一般用16進制數字加上冒号的形式來表示(例如: 08:00:27:03:fb:19)

在網卡出廠時就确定了, 不能修改. mac位址通常是唯一的(虛拟機中的mac位址不是真實的mac位址, 可能 會沖突; 也有些網卡支援使用者配置mac位址)。

對比了解MAC位址和IP位址

IP位址描述的是路途總體的起點和終點;

MAC位址描述的是路途上的每一個區間的起點和終點

計算機網絡原理——資料鍊路層的這些知識你真的知道嗎?以太網

已經有IP位址了,為啥還要mac位址?

IP位址描述的是路途總體的起點和終點;

MAC位址描述的是路途上的每一個區間的起點和終點,mac位址和IP位址是被分别發明出來的,可以互相配合。

MTU

MTU相當于發快遞時對包裹尺寸的限制. 這個限制是不同的資料鍊路對應的實體層, 産生的限制.

  • 以太網幀中的資料長度規定最小46位元組,最大1500位元組,ARP資料包的長度不夠46位元組,要在後面補填充位;
  • 最大值1500稱為以太網的最大傳輸 單元(MTU),不同的網絡類型有不同的MTU;
  • 如果一個資料包從以太網路由到撥号鍊路上,資料包長度大于撥号鍊路的MTU了,則需要對資料包進行分片 (fragmentation);
  • 不同的資料鍊路層标準的MTU是不同的

MTU對IP協定的影響

由于資料鍊路層MTU的限制, 對于較大的IP資料包要進行分包. IP自身的包長度是64 k

而MTU1500,IP資料報分包主要是因為MTU的限制引起.

  • 将較大的IP包分成多個小包, 并給每個小包打上标簽;
  • 每個小包IP協定頭的 16位辨別(id) 都是相同的;
  • 每個小包的IP協定頭的3位标志字段中, 第2位置為0, 表示允許分片, 第3位來表示結束标記(目前是否是最後 一個小包, 是的話置為1, 否則置為0);

    到達對端時再将這些小包, 會按順序重組, 拼裝到一起傳回給傳輸層;

  • 一旦這些小包中任意一個小包丢失, 接收端的重組就會失敗. 但是IP層不會負責重新傳輸資料;
    計算機網絡原理——資料鍊路層的這些知識你真的知道嗎?以太網

MTU對UDP協定的影響

  • 一旦UDP攜帶的資料超過1472(1500 - 20(IP首部) - 8(UDP首部)), 那麼就會在網絡層分成多個IP資料報.
  • 這多個IP資料報有任意一個丢失, 都會引起接收端網絡層重組失敗. 那麼這就意味着, 如果UDP資料報在網 絡層被分片, 整個資料被丢失的機率就大大增加了.

MTU對TCP協定的影響

  • TCP的一個資料報也不能無限大, 還是受制于MTU. TCP的單個資料報的最大消息長度, 稱為MSS(Max Segment Size);
  • TCP在建立連接配接的過程中, 通信雙方會進行MSS協商.
  • 最理想的情況下, MSS的值正好是在IP不會被分片處理的最大長度(這個長度仍然是受制于資料鍊路層的 MTU).
  • 雙方在發送SYN的時候會在TCP頭部寫入自己能支援的MSS值. 然後雙方得知對方的MSS值之後, 選擇較小的作為最終MSS.
  • MSS(TCP的單個資料報的最大消息長度)的值就是在TCP首部的40位元組變長選項中(kind=2);
  • MSS和MTU的關系
  • 計算機網絡原理——資料鍊路層的這些知識你真的知道嗎?以太網

ARP協定

ARP不是一個單純的資料鍊路層的協定, 而是一個介于資料鍊路層和網絡層之間的協定;

ARP協定功能是為了建立區域網路内,路由器所要發送的機器的IP => mac之間的映射關系.

例如IP資料報中目的IP.往對應的目的IP轉發,就需要構造以太網資料幀.就需要填寫對應的目的mac

ARP協定的作用

ARP協定建立了主機 IP位址 和 MAC位址 的映射關系.

  • 在網絡通訊時,源主機的應用程式知道目的主機的IP位址和端口号,卻不知道目的主機的硬體位址;
  • 資料包首先是被網卡接收到再去處理上層協定的,如果接收到的資料包的硬體位址與本機不符,則直接丢棄;
  • 是以在通訊前必須獲得目的主機的硬體位址;

    ARP協定的工作流程

DNS

DNS應用層協定,其實更像是一套系統,把域名自動翻譯成IP

TCP/IP中使用IP位址和端口号來确定網絡上的一台主機的一個程式. 但是IP位址不友善記憶.

于是人們發明了一種叫主機名的東西, 是一個字元串, 并且使用hosts檔案來描述主機名和IP位址的關系.

随着網際網路發展,使用者多,網站也多了.随時都有新的網站出現.

專門搭建一組伺服器,用這組伺服器來維護這樣的映射關系.

電腦上網的時候,遇到不認識的域名,就先去找這組伺服器,擷取對應的位址——DNS伺服器.

計算機網絡原理——資料鍊路層的這些知識你真的知道嗎?以太網
計算機網絡原理——資料鍊路層的這些知識你真的知道嗎?以太網