《TCP IP詳解卷一 協議》資料鏈路層(一)

2021-08-09 04:41:17 字數 1869 閱讀 5146

在tcp/ip協議族中,鏈路層主要有三個目的:

tcp/ip支援多種不同的鏈路層協議,這取決於網路所使用的硬體。(乙太網、令牌環網、fddi、rs-232序列線路)本章將詳細討論乙太網鏈路層協議、兩個序列介面鏈路層協議(slip和ppp),以及大多數實現都包含的環迴(loopback)驅動程式。

乙太網(ethernet)指的是由xerox公司建立並由xerox、intel和dec公司聯合開發的基帶區域網規範,是當今現有區域網採用的最通用的通訊協議標準。以太網路使用csma/cd(載波監聽多路訪問及衝突檢測)技術,並以10mb/s的速率執行在多種型別的電纜上。

ieee(電子電氣工程師協會)802委員會公布了乙個標準集。其中802.3針對整個csma/cd網路,802.4針對令牌匯流排網路,802.5針對令牌環網路。這三者的共同特性由802.2標準來定義,即802網路共用的邏輯鏈路控制(llc)。然而,802.2和802.3定義了乙個與乙太網不同的幀格式。(注意將乙太網幀與802幀區分開來)

在tcp/ip世界中,乙太網ip資料報的封裝在rfc 894中定義。ieee 802網路的ip資料報封裝在rfc 1042中定義。在主機需求rfc中要求每一台internet主機都與乙個10mb/s的以太電纜連線:

其中最常用的封裝格式是rfc 894(乙太網封裝)定義的格式。

兩種幀格式都採用48bit(6位元組)的目的位址和源位址。這就是在本書中稱為的硬體位址。arp和rarp協議對32bit的ip位址和48bit的硬體位址進行對映(後續介紹)。接下來的2個位元組在兩種幀格式中互不相同。在802標準定義的幀格式中,長度欄位是指它後續資料的位元組長度,但不包含crc檢驗碼。乙太網的型別字段定義了後續資料的型別。幸運的是,802定義的有效長度值與乙太網的有效型別值無一相同。這樣,就可以對兩種幀格式進行區分。同時,802標準定義的幀定義中,型別欄位由後續的子網接入協議(snap, sub-network access protocol)給出。

從上圖可知,無論是乙太網封裝格式,還是ieee 802 封裝格式,在資料鏈路層中傳遞的資料型別主要有三種:ip資料報、arp請求/應答、rarp請求/應答。

在乙太網幀格式中,型別字段之後即為資料。而在802幀格式中,跟隨在其後的為3位元組的802.2llc和5個位元組的snap。其中目的服務訪問點( destination service access point)和源服務訪問點(source service access point)即後面控制字段、orgcode的值都為固定值(如圖所示)。crc欄位用於幀內後續位元組差錯的迴圈冗餘檢驗(也被稱為fcs)(後續介紹)。

802.3標準定義的幀和乙太網的幀都有最小長度要求。802.3規定資料部分長度至少為38位元組,而對於乙太網幀,則最少要求46位元組長度的資料部分。為了保證這一點,可能需要在必要時插入填充位元組。(後續介紹)

描述了另一種用於乙太網的封裝格式,稱為尾部封裝。它通過調整ip資料報中字段的次序來提高效能。將(ip首部和tcp首部)它們移到尾部(在crc之前),這樣當把資料複製到核心時,就可以把資料幀中的資料部分對映到乙個硬體頁面,節約記憶體到記憶體的複製過程(因為tcp資料報的長度為512位元組的整數倍,正好可以用核心中的頁表來處理)。但現在尾部封裝已經遭到反對。這裡僅僅介紹尾部封裝而不討論它。

待續,,,,,,

資料鏈路協議

鏈路就是一條無源的從點到點的物理線路段,中間沒有任何其他的交換節點。在進行通訊時,兩台計算機的通訊通路是由多條鏈路串接而成的。當需要在一條鏈路上通訊時,除了需要物理鏈路,還需要一些規程來控制這些資料的傳輸,把實現這些規程的硬體和軟體加到鏈路上,就構成了資料鏈路 差錯控制自動請求重發又可以稱為後向糾錯...

TCP IP詳解 卷一 協議

第一章概述 第二章internet位址結構 第三章鏈路層 第四章位址解析協議 第五章internet協議 第六章系統配置 dhcp和自動配置 第七章防火牆和網路位址轉換 第八章icmpv4和icmpv6 internet控制報文協議 第九章廣播和本地組播 igmp和mld 第十章使用者資料報協議和i...

資料鏈路層 高階資料鏈路協議

允許傳送方連續傳送多個幀,通過滑動視窗實現流量控制 比如剛開始時 傳送方的傳送視窗為,接收方的接收視窗為,此時傳送視窗寬度為4,接收視窗寬度為2。方案一 出錯幀後的幀丟棄,從出錯幀開始重新傳送 後退n幀 方案二 出錯幀後的幀保留,只重發出錯幀 選擇性重傳 選擇重傳協議的滑動視窗協議,要求n位元編碼的...