本文主要從數據鏈路層主要功能展開,涉及到以下相關概念
01 數據鏈路層的功能定義
02以太網分類
03網橋與路由器
04ARP協議
05HDLC
06ATM
07計算機分組交換技術
08窗口協議
首先我們看看TCP/IP網絡模型中數據鏈路層的功能定義:透明傳輸,差錯檢測,封裝成幀
數據鏈路層進程的任務是在兩個網絡層進程之間提供無錯誤的,透明的通信
01 數據鏈路層的功能定義
1 提供差錯檢測機制(處理傳輸錯誤)
2使用滑動窗口機制進行流量控制 (調節數據流,確保慢速的接收方不會被發送方淹沒)
2.1 數據鏈路層的流量控制是點對點的,而傳輸層的流量控制是端到端的。
2.2
數據鏈路層的流量控制手段:接收不下就不回復確認
傳輸層的流量控制手段:接收端給發送端一個窗口公告
3 向網絡層提供一個定義良好的網絡接口
在OSI參考模型中,上層使用下層所提供的服務必須與下層交換命令,這些命令稱為?服務原語。
相鄰層之間的接口稱為服務訪問點SAP,
對等層之間傳送的數據單位稱為協議數據單元PDU
以下圖說明網絡鏈路,數據傳輸構成,和數據鏈路層分層
數據鏈路層協議
可分為 (面向字符的通信規程) 和 (面向比特的通信規程) 兩類
“TCP ? 是一個面向字節流的協議”指的是“字節就是字節”
在令牌環網中,令牌環的幀格式有兩種,分別是 (令牌幀) 和 (數據幀)?
主站從站定義
在點-點鏈路中,發送信息和命令的站稱為主站,接收信息和命令而發出確認信息或響應的站稱為從站,兼有主、從功能可發送命令與響應的站稱為復合站
幀的管理【封裝成幀】構成了數據鏈路層工作的核心
透明傳輸模式
0201 工作原理
以太網
以太網有兩類?
01 經典以太網,解決多路訪問問題
02 交互式以太網,使用交換機連接不同的計算機。
交換機中每個端口有自己獨立的沖突域。
采用較為靈活的無連接的工作方式,即不必先建立連接就可以直接發送數據。
以太網對發送的數據幀不進行編號,也不要求對方發回確認。
以太網提供的服務是不可靠的交付,即盡最大努力的交付。
以太網是使用1-持續CSMA/CD 技術的總線型網絡。
以太網的邏輯結構是總線型結構,物理結構是星型或者拓撲星型結構。
以太網為了通信簡便,采用無連接,無確認的工作方式;曼徹斯特編碼
以太網屬于數據鏈路層協議應用,規定的最短幀長最短幀長度為64字節。
為了確保最小幀長為64字節,同時維持網絡直徑為200m,千兆以太網采用了載波擴展和數據包分組兩種技術。
為什么要限制最短幀長
以太網爭用期
以太網的爭用期是指總線兩端的兩個站之間的往返傳播時延,又稱為碰撞窗口。
以太網的端到端往返時延 2τ稱為爭用期,或碰撞窗口。
爭用期長度為 2τ,即端到端傳播時延的兩倍。
經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞
0201? 以太網與 IEEE802.3
03網橋與路由器
網橋工作在數據鏈路層,作用是連接不用的物理局域網形成邏輯局域網,它們通過檢查數據鏈路層地址來轉發幀。用于連接類型相似的局域網。
在網橋中,幀從物理層往上傳給以太網的MAC層。
路由器作用于網絡層,提供網絡層協議轉換。通過檢查數據包地址,并基于數據包地址路由數據包。在網絡之間存儲和轉發分組
網關提供傳輸層及以上各層協議之間的轉換
網橋與路由器的區別
1 二層設備與三層設備
2 網橋連接相似的局域網,路由器連接不同的網絡
3 網橋不隔離廣播,而路由器可以隔離廣播
網橋的主要任務是地址學習和幀轉發
以太網交換機實際上是一個多端口的網橋。
節點交換機與以太網交換機都是數據鏈路層設備,前者使用點對點信道,后者使用廣播信道。
04ARP協議
例:以太網交換機在收到一幀后先進行存儲,在轉發幀是,對于未知目的的幀,可以采用廣播的方式轉發。
交換機是按照存儲轉發方式工作的,在收到一幀后,一定是先將它存儲再進行處理,不管目的地址。在轉發時,查找轉發表和收到幀的源地址有無匹配的項目,有則更新,無則向除接收該幀的接口以外轉發幀,即廣播。
以太網交換機按照自學習算法建立轉發表,它通過ARP協議進行地址學習。ARP協議不屬于鏈路層。
A RP不是向網絡層提供服務,它 本身就是網絡層的一部分,幫 助向傳輸層提供服務。
在數據鏈路層不存在IP 地址的問題。數據鏈路層協議是象HDLC 和PPP 這樣的協議,它們
把比特串從線路的一端傳送到另一端。
例題
以太網交換機按照自學習算法建立轉發表,它通過()進行地址學習
A.幀中的源 MAC地址B.幀中的目的 MAC地址
C.幀中的源 MAC地址和目的 MAC地址
D ARP協議 (答案)
ARP請求是以廣播形式發出,而ARP響應則是單播形式
05HDLC
高級數據鏈路控制(High-Level Data Link Control或簡稱HDLC),是一個在同步網上傳輸數據、面向比特的【可靠傳輸】數據鏈路層協議。目前我們普遍使用HDLC作為數據鏈路控制協議。
HDLC幀格式如下
當我們傳輸數據時,要傳輸的不僅僅是數據的大小,還會給這些數據加上頭和尾,以及一些其他的標志。比如標志位有八位,就是一個字節。所以除數據外其他的字段加在一起要占據6字節的空間。
例題
如使用HDLC傳輸10個漢字,雙字節,則幀的總長度需要多少字節?
HDLC定義了三種類型的站:分別是主站,從站,復合站
HDLC包括三種類型的幀,信息幀,監控幀,和無編號幀。第1位為“0”表示是信息幀,第1、2位為“10”是監控幀,“11”是無編號幀。
信息幀用于傳送有效信息或數據,通常簡稱I幀。
監控幀用于監視和控制數據鏈路,完成信息幀的接收確認、重發請求、暫停發送
請求等功能。監控幀不具有信息字段。
無編號幀用于數據鏈路的控制,它本身不帶編號,可以在任何需要的時刻發出
HDLC的幀類型中用于差錯控制和流量控制的幀是 A.命令幀 B.信息幀 C.無編號幀 D.監控幀
答案 D
06ATM
ATM是一種面向分組的技術,其分組稱為信元。ATM信元由信元頭和凈荷(Payload)兩部分構成。信元頭中包含信元控制信息,凈荷用于承載用戶的數據。
ATM是一種面向連接的技術,傳輸基于固定長度的信息信元,每個信元在他的頭部帶有虛電路標識符,交換設備根據此標識符演著連接建立的路徑轉發信元。
ATM是異步傳輸模式的縮寫,是兩種交換技術的結合,電路交換和分組交換。
思考
眾多的協議都是包括兩部分,一部分控制信息,另一部分數據信息。如JWT驗證協議中,也有payload作為承載信息的概念
信元和信元頭長度分別是53字節和5字節
交換方式
在計算機網絡中,數據交換的方式有:
(1)線路交換。在數據傳送之前需建立一條物理通路, 在線路被釋放之前,該通路將一直被一對用戶完全占有。
(2)報文交換。報文從發送方傳送到接收方采用存儲轉發 的方式。在傳送報文時,只占用一段通路;在交換節點中需要 緩沖存儲,報文需要排隊。因此,這種方式不滿足實時通信的 要求。
(3)分組交換。此方式與報文交換類似,但報文被分成組傳送,并規定了分組的最長度,到達目的地后需重新將分組組裝成報文。這是網絡中最廣泛采用的一種交換技術。
差錯控制方法
常用的差錯控制方法是在數據中加入差錯控制編碼,在所要發送的信息位之前按照某種規則加上一定的冗余位,構成一個碼字再傳送。
交換機可以用來分割LAN,連接不同的LAN,或者擴展LAN的覆蓋范圍。
4B/5B編碼是將數字數據轉換為數字信號的編碼方式。
流量控制
數據鏈路層和大多數高層都存在的一個問題是如何避免一個快速發送方用數據【淹沒】一個慢速接受方。所以需要一個流量調節機制,以便讓發送方知道接收方何時可以接收更多的數據。
兩種方式:
1 基于反饋的流量控制 接收方給發送方發信息
2 基于速率的流量控制 限制發送方傳輸速率
數據鏈路層和傳輸層的TCP協議都會涉及到滑動窗口機制。側重點不一樣。
數據鏈路層主要有兩種:停-等流量控制和滑動窗流量控制。
滑動窗口
發送方窗口內的序列號代表了那些已經被發送,但是還沒有被確認的幀,或者是那些可以被發送的幀。
首先整理下滑動窗口涉及到的3個協議
1 停等協議:發送方每發送一幀,都要等待接收方的應答信號,之后才能發送下一幀;接收方每接收一幀,都要反饋一個應答信號,表示可接收下一幀,如果接收方不反饋應答信號,則發送方必須一直等待。
對于停等協議,?從滑動窗口的觀點看,當發送窗口為1,接收窗口也為1
2 后退N幀協議:在后退n協議中,接收方若發現錯誤幀就不再接收后續的幀,即使是正確到達的幀,這顯然是一種浪費。
此協議中的發送窗口的大小為k,接收窗口仍是1
例題
簡述Go-back-N策略的基本原理
接受方發現接收到的信息幀時序有問題時,要求發送方發送最后一次正確發送后確認接收的幀之后的所有的未被確認的幀。
3?選擇重傳協議:當接收方發現某幀出錯后,其后繼續送來的正確的幀雖然不能立即遞交給接收方的高層。但接收方仍可收下來,存放在一個緩沖區中,同時要求發送方重新傳送出錯的那一幀,一旦收到重新傳來的幀后,就可以原已存于緩沖區中的其余幀一并按正確的順序遞交高層。
總之
停止?-等待協議:發送窗口?=1,接收窗口?=1;?
后退?N幀協議:發送窗口?>1,接收窗口?=1;?
選擇重傳協議:發送窗口?>1,接收窗口?>1。
海明碼:如果要檢測?d位錯誤,需要海明距為?d+1的編碼方案;如果要糾正?d位錯誤,需要海明 距 為?2d+1的 編 碼 方 案 。
1.集線器本身是一個沖突域,因為它不能分隔沖突域。
2.交換機本身是一個廣播域,它分隔沖突域,即它的每一個端口都是一個沖突域。
4.交換機和路由器相連的鏈路即是沖突域又是廣播域。
某用戶程序采用?UDP協議進行傳輸,則差錯控制應由 ? ?協議完成。
A.數據鏈路層?B.網絡層?C.物理層?D.應用層
PPP協議
PPP協議是透明傳輸,實際上就是通常所說的透傳。
PPP協議使用的是一種面向字節的協議,所有的幀長度都是整數個字節,使用一種特殊的字符填充法完成數據的填充。
例題
為實現透明傳輸,PPP協議使用的填充方法是()。B
A.位填充
B.字符填充
C.對字符數據使用字符填充,對非字符數據使用位填充
D.對字符數據使用位填充,對非字符數據使用字符填充
例題:
PPP 幀的起始和結束標志都是 0x7e,若在信息字段中出現與此相同的字符,必須進行填
充。在同步數據鏈路中,采用___比特填充法____方法進行填充;在異步數據鏈路中,采
用___字符填充法____方法進行填充
PPP協議不需要的功能
1 糾錯,PPP協議只進行檢錯
2流量控制
3 序號 PPP協議是不可靠的傳輸協議,因此不需要給幀編號。