系列文章目錄
什么是計算機網絡?
什么是網絡協議?
計算機網絡的結構
數據交換之電路交換
數據交換之報文交換和分組交換
分組交換 vs 電路交換
計算機網絡性能(1)——速率、帶寬、延遲
計算機網絡性能(2)——時延帶寬積、丟包率、吞吐量/率
計算機網絡體系結構概念
OSI參考模型基本概念
OSI參考模型中非端-端層(物理層、數據鏈路層、網絡層)功能介紹
OSI參考模型中端-端層(傳輸層、會話層、表示層、應用層)功能介紹
TCP/IP參考模型基本概念,包括五層參考模型
網絡應用的體系結構
網絡應用進程通信
網絡應用對傳輸服務的需求
Web應用之HTTP協議(涉及HTTP連接類型和HTTP消息格式)
Cookie技術
Web緩存/代理服務器技術
傳輸層服務概述、傳輸層 vs. 網絡層
傳輸層——多路復用和多路分用
傳輸層——UDP簡介
傳輸層——可靠數據傳輸原理之Rdt協議
傳輸層——可靠數據傳輸之流水線機制與滑動窗口協議
傳輸層——TCP特點與段結構
傳輸層——TCP的可靠數據傳輸
TCP連接管理(圖解三次握手和四次揮手)
傳輸層——擁塞控制原理與解決方法
TCP的擁塞控制機制
網絡層服務與核心功能
網絡層服務模型——虛電路網絡
網絡層服務模型——數據報網絡
Internet網絡的網絡層——IP協議之IP數據報的結構
IP分片
IP編址與有類IP地址
IP子網劃分與子網掩碼
CIDR與路由聚合
DHCP協議
網絡地址轉換(NAT)
ICMP(互聯網控制報文協議)
IPv6簡介
路由算法之鏈路狀態路由算法
路由算法之距離向量路由算法
路由算法之層次路由
- 系列文章目錄
- 概述
- 數據鏈路層提供哪些服務
概述
先來簡單看一下數據鏈路層以及這一層經常使用到的術語。
圖中紅色部分標注的就是一段段鏈路,數據鏈路層主要就是針對這一段段的鏈路如何實現結點到結點的數據傳輸。概括起來就是:數據鏈路層負責通過一條鏈路從一個結點向另一個物理鏈路直接相連的相鄰結點傳送數據報。
在數據鏈路層中,我們經常會用到這幾個術語:
- 結點(nodes):主機和路由器
- 鏈路:實際上包括物理鏈路和數據鏈路。這里介紹的鏈路是數據鏈路,就是在物理鏈路之上,如何實現一個個數據包(幀)的傳輸。同時和物理鏈路緊密相關
- 有線鏈路(wired links)
- 無線鏈路(wireless links)
- 局域網(LANs)
- 幀(frame),:數據鏈路層所封裝的數據包或者分組
數據鏈路層提供哪些服務
概括性地說,主要有這么幾點:
-
組幀(framing):封裝數據報構成數據幀,通常會增加首部和尾部。組幀的另外一個重要的任務是實現幀同步。
-
鏈路接入(link access):有時候也稱鏈路訪問。當網絡中使用的鏈路是共享的時候就要解決信道接入問題。確定誰能使用、誰不能使用、怎樣確定使用這個鏈路發送數據成功了等等。
- 伴隨鏈路接入,還有鏈路層的尋址問題。幀首部中的“MAC”地址,用于標識幀的源和目的
-
相鄰結點間可靠交付
- 在低誤碼率的有線鏈路上很少需要解決這個問題(如光纖,某些雙絞線等)
- 對于誤碼率很高的比如無線鏈路,需要可靠交付
-
流量控制(flow control) :協調(pacing)相鄰的發送結點和接收結點
-
差錯檢測(error detection):應對信號衰減和噪聲等等因素引起的差錯。不同的協議對于如何處理差錯可能有所不同
-
差錯糾正(error correction):接收端直接糾正比特差錯
-
全雙工和半雙工通信控制
- 全雙工:鏈路兩端結點同時雙向傳輸
- 半雙工:鏈路兩端結點交替雙向傳輸
鏈路層的具體實現實際上就是網絡接口卡來實現的,比如以太網網卡、802.11網卡 、以太網芯片組等等,同時實現了鏈路層和物理層的功能。
數據鏈路層的數據傳輸形式往往是下面這樣的:
網卡將高層的數據報構造成數據幀,通過物理鏈路發送出去,接收端檢測差錯,實現可靠數據傳 輸和流量控制等,然后提取數據報,交付上層協議實體