資料鏈路層設計有哪些問題?
資料鏈路層位於物理層和網路層之間。它為網路層提供服務,並接收物理層的服務。資料鏈路層的範圍是節點到節點。

資料鏈路層的設計問題如下:
- 提供給網路層的服務。
- 幀定界
- 差錯控制
- 流量控制
對網路層的服務
在OSI模型中,每一層都使用下層提供的服務,並向上層提供服務。這一層的主要功能是提供一個明確定義的服務介面到網路層。
服務的型別
服務分為三種類型:
**無確認無連線服務** - 傳送方傳送訊息,接收方接收訊息,無需確認,兩個節點都使用無連線服務。
**有確認無連線服務** - 傳送方將訊息傳送給接收方,接收方收到訊息後,會向傳送方傳送確認資訊,確認已收到訊息,使用無連線服務。
**有確認面向連線服務** - 傳送方和接收方都使用面向連線的服務,通訊基於確認的通訊。
幀定界
幀定界是資料鏈路層的一項功能,它為傳送方提供了一種傳輸對接收方有意義的一組位元的方法。
幀包含以下內容:
- 幀頭
- 用於儲存分組的有效載荷欄位
- 幀尾
幀的示意圖如下:

資料鏈路層使用的三種幀定界方法如下:
- 面向位元組的幀定界
- 面向位元的幀定界
- 基於時鐘的幀定界
差錯控制
在傳送節點,資料鏈路層中的幀需要轉換為位元,轉換為電磁訊號,並透過傳輸介質傳輸。在接收節點,接收電磁訊號,轉換為位元,並組合起來建立一個幀。
由於電磁訊號容易出錯,幀也容易出錯。錯誤首先需要被檢測到,檢測到後,需要由接收節點糾正,或者由傳送節點丟棄並重新傳輸。
流量控制
流量控制允許兩個節點以不同的速度相互通訊。資料鏈路層監控流量控制,以便當快速傳送方傳送資料時,慢速接收方可以以相同的速度接收資料。因此使用了這種流量控制技術。
流量控制方法
流量控制使用兩種方法,如下所示:
- 基於反饋的流量控制
- 基於速率的流量控制
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP