資料鏈路層協議封裝

2021-10-12 08:06:36 字數 2004 閱讀 8021

乙太網幀和ppp幀的區別:

最大的區別,乙太網是乙個廣播鏈路,乙個廣播域可能有多個裝置,所以乙太網幀有mac位址,為了在整個乙太網中確定乙個唯一確定到底哪個裝置進行接收,減少鏈路的頻寬消耗和裝置處理時產生的消耗。而ppp幀在一條鏈路上只有對端,我們不需要通過mac位址來表示接受方到底是誰,所以來資料幀上沒有mac位址的。其中的address位址全為f,沒有實際的意義。

無論是哪種乙太網的封裝的格式,其實大體上都是差不多的,但是還是有一定的區別,但是可以通過欄位的不同值分別到底是哪種型別的以太幀,首先當乙個乙太網介面接收到以後,會從幀界定符以後開始讀取源目mac位址,因為mac位址長度固定,48bit,連續96bit後就會讀取到乙個型別/長度字段,這個欄位佔8個bit,如果表示的值大於1536,表示的是乙太網2的幀,其含義為上層是什麼協議,如0x0800表示的是ipv4報文,0x86dd表示的是ipv6報文,常用表示的如下:

這裡出現的mpls,802.1q欄位為在傳統乙太網上新增的字段,新增的位置是在mac位址之後,原來協議字段之前,新增的部分它們同樣有乙個型別字段,告訴裝置現在讀取的是mpls標籤或者vlan的tag,當讀取完成後繼續讀取的協議/長度欄位才是原來報文中的字段。

如果表示的是型別/長度字段表示型別就沒有長度欄位了怎麼知道資料真的總長度呢?這個就只有看上層協議中所表示的長度了,例如ipv4報頭中也有長度字段。

如果協議/型別字段小於1500,則表示以太幀中內容的長度,但是這樣又不知道了上層是什麼協議,這就需要llc子層來進行表示了(例如生成樹的bpdu)。當讀取完成後,最後有4個位元組的fcs的校驗位,防止接收到的資料幀出現了偏差。

這裡做乙個記憶:

802.1q和qinq格式:

普通情況下一共四個位元組,其中2位元組的協議型別字段,表示這是乙個tag,3bit的pri,表示資料真的優先順序0-7,7最優。cfi在令牌環網路中有效,乙太網中無意義,占有1bit,最優是vlan的標籤,佔12bits,範圍為(0-4095)。qinq幀就是兩個802.1q欄位的疊加,乙個為內網tag,乙個為外網tag。

mpls標籤字段:

mpls標籤也是4位元組,其中標籤欄位20bit,優先順序3bit沒有變化,s表示十分為最後乙個標籤,為1表示為最後乙個,ttl欄位的作用是進行標籤**防止環路,佔8bit。

ppp報文前後有乙個位元組固定的flag欄位,表示乙個資料幀的界定,然後有乙個自己的全1分位址字段,控制欄位佔1自己,預設為0x03,沒有什麼特別的作用,然後就是乙個2位元組的協議為,表示information欄位包含的是什麼報文,information欄位是ppp真的載荷資料,長度可變,裡面的類容先暫時不進行分析。最後為2位元組的差錯校驗位。

知道二層封裝的協議之後,可以進行同一網段中相鄰三層裝置間的資料準確傳輸了。但是相鄰鏈路接收到對方發來的資訊後,如果自己就是對方傳送的目標後,後下一步該怎麼做呢,怎麼進行不同網段的資訊傳輸呢,就需要進一步了解封裝在二層幀中的資料的內容了。

一般封裝在二層幀中的也就是三層的報文,這一層報文主要是為了進行不同網段的尋路,如ipv4,ipv6等,裝置可以通過二層幀中的型別字段知道了上層的協議是什麼,然後再按照對應上層協議的格式進行對格式的讀取。

資料鏈路層協議

本文 資料鏈路層有三個目的 1 為ip模組傳送和接收ip資料報。2 為arp模組傳送arp請求和接收arp應答。位址解析協議 3 為rarp傳送rarp請 求和接收rarp應答。逆位址解析協議 資料鏈路層的協議 最常用的乙太網鏈路層協議,序列介面鏈路層協議 slip和ppp 大多數實現都包含的環迴 ...

資料鏈路層協議

執行鏈路層協議的任何裝置均稱為節點 node 包括主機 路由器 交換機和wifi接入點。沿著通訊路徑連線相鄰節點的通訊通道稱為鏈路 link 傳輸節點將資料報封裝在鏈路層幀中,並通過端到端路徑上的各段鏈路傳輸。鏈路層提供的可能服務包括 鏈路層的主體部分是在網路介面卡 network adapter ...

TCP IP協議 資料鏈路層

資料鏈路層的主要作用 網路層的資料單元是資料報package,資料鏈路層的作用就是把網路層傳下來的資料報封裝成幀frame,傳送給物理層 或者接收到的幀中的資料提取出來傳送給網路層。可以概括為下面三個 資料封裝成幀,或者從幀裡提取資料 控制真的傳輸,包括傳輸差錯,調節傳送速率與接收方匹配 在兩個網路...