資料鏈路層之乙太網 MAC MTU詳解

2021-08-20 08:01:55 字數 2477 閱讀 3255

之前介紹了網路中各層的作用,可見鏈結這裡寫鏈結內容

我們都知道,在資料鏈路層,資料不再是以位元流的形式傳輸,而是分割成乙個乙個的幀再進行傳輸。也就是說,資料鏈路層是為網路層提供資料傳送服務的,這種服務要依靠本層具備的功能來實現,它的各種機制可以讓資料的傳輸更準確可靠。

我們今天學習更多關於資料鏈路層的細節,讓我們對其更加了解。

乙太網不是一種具體的網路,而是一種技術標準;既包含了資料鏈路層的內容,也包含了一些物理層的內容。

例如: 規定了網路拓撲結構,訪問控制方式, 傳輸速率等;

乙太網是當前應用最廣泛的區域網技術; 和乙太網並列的還有令牌環網, 無線lan等。

乙太網幀格式

如下:

解釋:

1. 源位址和目的位址是指網絡卡的硬體位址(也叫mac位址),長度是48位,是在網絡卡出廠時固化的

2. 幀協議型別欄位有三種值,分別對應ip、arp、rarp

3. 幀末尾是crc校驗碼

mac位址用來識別資料鏈路層中相連的節點

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

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

(1)ip位址描述的類似於路途的起點和終點。比如北京-上海。

(2)mac位址描述的是路途上的每乙個區間的起點和終點。

比如,從北京到上海,我們肯定要經過很多站,這些xx站就可以看作是mac位址。而北京、上海就是ip位址。

我們傳送快遞時,對尺寸會有一定限制,傳送資料也有一定的限制, 這個限制是不同的資料鏈路對應的物理層,產生的限制。

mtu是指資料鏈路層向網路層發資料的最大傳輸單元。

1. 不同網路型別的mtu是不同的

2. 乙太網幀中的資料長度規定最小46位元組,最大1500位元組

3. arp資料報的長度不夠46位元組,要在後面補填充位

那如果資料報的長度大於1500位元組呢?

如果乙個資料報從乙太網路由到撥號鏈路上,資料報長度大於撥號鏈路的mtu了,則需要對資料報進行分片(fragmentation)。

受到資料鏈路層的mtu的限制,對於較大的ip資料報需要進行分包。

過程如下:

1. 將較大的ip包分成多個小包,並給每個小包打上標籤(將每個小包ip協議頭的16位標識(id) 設為相同)

2. 每個小包的ip協議頭的3位標誌欄位中,第2位置為0, 表示允許分片, 第3位來表示結束標記(當前是否是最後乙個小包, 是的話置為1, 否則置為0)

3. 到達對端時再將這些小包進行順序重組,拼裝到一起返回給傳輸層

4. 一旦這些小包中任意乙個小包丟失, 接收端的重組就會失敗

ip層不會負責重新傳輸資料

為了方便理解,這是之前介紹ip的文章這裡寫鏈結內容

擷取裡面的報頭如下:

我們回憶一下udp協議,資料報在傳輸層需要加上8個位元組的udp首部,在網路層需要增加20個位元組的ip首部。所以:

一旦udp攜帶的資料超過1472(1500 - 20(ip首部) - 8(udp首部)),那麼就會在網路層分成多個ip資料報。

這多個ip資料報有任意乙個丟失,都會引起接收端網路層重組失敗。

那麼這就意味著, 如果udp資料報在網路層被分片, 整個資料被丟失的概率就會大大增加。

tcp的乙個資料報也受制於mtu。

tcp的單個資料報的最大訊息長度,稱為 mss(max segment size)

tcp在建立連線的過程中, 通訊雙方會進行mss協商。

(最理想的情況下, mss的值正好是在ip不會被分片處理的最大長度)

mss協商的過程:

1. 雙方在傳送syn的時候會在tcp頭部寫入自己能支援的mss值

2. 然後雙方得知對方的mss值之後, 選擇較小的作為最終mss

( mss的值就是在tcp首部的40位元組變長選項中(kind=2))

mss和mtu的關係

由上文的解釋,大家可能已經明白了:

檢視

我們用ifconfig檢視一下:

詳細講解於上篇文章,

這裡寫鏈結內容

資料鏈路層之乙太網協議

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

資料鏈路層之乙太網協議

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

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

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