資料鏈路層之乙太網協議

2021-08-20 12:53:17 字數 2410 閱讀 7277

在 ip 資料報交付的過程中,在資料鏈路層會對資料報進行新增報頭資訊。乙太網協議就是資料鏈路層的乙個重要協議。這樣說其實不太準確,因為乙太網協議是乙個規定資料鏈路層及物理層的協議,不能說它是資料鏈路層的乙個協議。

乙太網幀就是將網路層交付的資料新增報頭資訊後,此時的資料以幀的形式傳遞。乙太網幀的格式如下:

在這裡,目的位址與源位址這裡都指的是 mac 位址。每乙個主機對應唯一的乙個 mac 位址,是由網絡卡決定的,長度是 48 位,所以這裡的目的位址與源位址都是 6 個位元組,也就是 48 個位元位。

在乙太網幀的最後,還有乙個 crc 校驗碼,來校驗資料是否異常。

在中間,有乙個兩個位元組的型別標識。這個型別欄位有三種值,分別是 : ip、arp、rarp。

如果型別碼為 0800 那麼在資料鏈路層解包完畢後,將該資料交付給網路層的 ip 協議來處理該報文。

如果型別碼是 0806 , 那麼在向上層交付的時候就交付給 arp 協議,這裡要說的是 arp 協議是處於資料鏈路層與網路層之間的一種協議,也叫作位址解析協議。它將 ip 位址轉換為 mac 位址。

rarp 協議,就是 reverse arp,與 arp 協議相同,是將 mac 位址轉換為 ip 位址的協議。

一般來說,資料第一次傳送給目的主機時,在這之前應該傳送 arp 協議,根據目的主機的 ip 位址來確定目的主機的 mac 位址,從而為後面的資料傳送與接收提供便利。

在資料傳送傳輸的過程中,目的 ip 位址與源 ip 位址是永遠不會變的,這是這個資料的起始與終點,而 mac 位址是一直在變化的,由於資料在傳輸的過程中會經歷很多的主機等,所以在這個過程中 mac 位址一直在變。類似於我們坐車,要坐車從 a 出發,目的地是 d。這個過程中我們會經過 b c,在到達 b 的時候,此時的 mac 位址相當於我們上一站是 a , 下一站是 c。而目的 ip 位址與 源 ip 位址 分別是 d 與 a,這樣說的話就很好理解了。

mac 位址與 ip 位址,乙個代表的目的與終點,乙個代表著途中的經過。所以在到達目的區域網後,資料報並不知道要傳輸給哪台主機,因為 mac 位址的變化,但是目的 ip 位址一直沒有變化,所以此時就需要 arp 協議來確定目的主機的 mac 位址。

在談 ip 協議的時候說到, ip資料報的長度受資料鏈路層的 mtu 影響。資料鏈路層要求在網路層傳輸過來的資料報必須在 mtu 範圍內,乙太網幀中的資料長度必須在 46位元組到1500位元組當中去。也就是說在 ip 層在新增報頭資訊之前,要判斷此時由傳輸層傳輸過來的資料段是否超過了 1480 個位元組(乙太網幀中的資料報括 ip 協議的報頭資訊,ip 協議的報頭資訊為 20 位元組),如果超過了,那麼則對該資料段進行分片,所有被分片的資料的 ip 報頭資訊當中,它們的 16 位標識都是相同的,並且報頭資訊中的標誌欄位中第二位為 0 ,第三位如果為 1 ,代表著報文的結束。

接收端在接收到這裡分片資料後,根據 ip 報頭資訊的 16 為標識資訊、三位標誌位、13位偏移量資訊進行組裝。

如果分片後的資料在接收端丟失某一片,那麼就組裝失敗。即使組裝失敗, ip 層也不負責重新傳輸的功能。這是傳輸層所該做的事情。

我們發現 arp 協議與 rarp 協議它們的實際資料只有 28 個位元組,於是在它的報文後進行補位,其中 pad 就是用來填充的,使 arp / rarp 協議的長度達到 mtu 的最小位元組數。

對於 udp 傳輸的影響

一旦 udp 攜帶的資料超過了 1472 (mtu - ip報頭 - udp報頭 = 1500 - 20 - 8),那麼在 ip 層就會對該資料分片,一旦分片就意味著增加了 udp 傳輸丟包的可能性。 由於 udp 協議傳輸本身就不負責可靠性,再加上分片,那麼丟包的可能性就大大增加。

對 tcp 傳輸的影響

tcp 協議在傳輸時也收到 mtu 的影響。乙個 tcp 資料報的最大長度為 mss 。mss 處於 tcp 報頭資訊選項中。在 tcp 進行鏈結的時候,雙方在傳送 syn 與 syn + ack 時就會在選項內對 mss 進行設定。在雙方都得到對方的 mss 時,選擇較小的 mss 的值作為最終的 mss 。

再說明白點,mss 的大小其實就是應用層給傳輸層的交付的資料的大小。不包括傳輸層的報頭資訊。所以在計算 mss 的時候,用 mtu 減去網路層報頭長度以及傳輸層報頭長度即可。

資料鏈路層之乙太網協議

在 ip 資料報交付的過程中,在資料鏈路層會對資料報進行新增報頭資訊。乙太網協議就是資料鏈路層的乙個重要協議。這樣說其實不太準確,因為乙太網協議是乙個規定資料鏈路層及物理層的協議,不能說它是資料鏈路層的乙個協議。乙太網幀 乙太網幀就是將網路層交付的資料新增報頭資訊後,此時的資料以幀的形式傳遞。乙太網...

乙太網資料鏈路層協議分析

首先普及一下什麼是乙太網,乙太網是一種區域網技術。它採用csma cd 帶衝突檢測的載波監聽多路訪問技術。其他區域網,比如令牌環網 f d d i和r s 2 3 2序列線路採用的是不一樣的技術,因此資料鏈路層的協議也不一致。比如ppp和slip就是適用於序列線路的。另外pppoe是在乙太網的基礎上...

資料鏈路層(乙太網 MTU ARP協議)

乙太網 不是一種具體的網路,而是一種技術標準 既包含了資料鏈路層的內容,也包含了一些物理層的內容.例如 規定了網路拓撲結構,訪問控制方式,傳輸速率等 例如乙太網中的網線必須使用雙絞線 傳輸速率有10m,100m,1000m等 乙太網是當前應用最廣泛的區域網技術 和乙太網並列的還有令牌環網,無線lan...