1、數據鏈路層的功能
數據鏈路層在物理層提供服務的基礎上向網絡層提供服務。
作用:加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接改造成邏輯上無差錯的數據鏈路。讓它對網絡層表現為一條無差錯的鏈路。
1.1、為網絡層提供的服務
1.1.1、無確認的無連接的服務:源機器發送數據幀之前不用先建立鏈路連接,目的機器收到數據幀后也不要發回確認。
對丟失的幀,數據鏈路層不負責重發而交給上層處理,用來實時通信或者誤碼率較低的通信信道。以太網就是這種機制服務
1.1.2、有確認無連接的服務:源機器發送數據幀不需要建立鏈路連接,但是目的機器收到數據幀后必須發回確認。
源機器在所規定的時間內沒有收到確認信號,就會重新傳丟失的幀。用來提高傳輸的可靠性。這種服務常用在誤碼率高的通信信道,比如無線通信。
1.1.3、有確認的面向連接的服務:幀傳輸分為三個過程:建立數據鏈路,傳輸幀,釋放數據鏈路。
這種服務用語通信要求,可靠性,實時性較高的情況下。
注:有連接就一定要有確認
1.2數據鏈路層的鏈路管理
1.2.1、數據鏈路層,連接的建立,維持,釋放,三個過程叫做鏈路管理,主要還是面向連接的服務
兩個工作棧之間進行傳輸信息的時候,必須將網絡層的分組(package)封裝成幀(Frame),然后用幀的格式進行傳送。
在數據的前后分別加上幀頭和幀尾,就構成了幀。
1.2.2、幀頭和幀尾的作用:確定幀的界限,也就是幀定界。
HDLC標准幀格式:前后都有標志位F(01111110)
透明傳輸:不管所傳數據是什么樣的比特組合,都可以在連路上傳送
1.3、流量控制
由於發送方和接收方的工作速率和緩存空間的差異,可能出現發送方發送能力大於接收方的能力。如果不對鏈路上的信息流量限制,前面來不及接收的幀就會被后面不斷發送的幀淹沒,造成幀的丟失而出錯。
流量控制:就是限制發送方的數據流量,使其發送速率不超過接收速率。
其實流量控制其它層也提供這個功能,只不過控制的對象不同而已。對於數據鏈路層:控制的是相鄰兩個節點之間
的數據鏈路上的流量。而對於傳輸層:控制的是從源端口到目的端口的流量。
流量控制的基本方法:接收方控制發送方發送數據的速率
常見方式:停止等待協議,滑動窗口協議
1.3.1、停止等待協議:發送方發送一幀,都要等待接收方得應答信號,才能發送下一幀。同樣,接收方每接收一幀,都要反饋一個應答信號,這種傳輸效率很低。
1.3.2、滑動窗口協議:任何時刻,發送方都維持一組連續的允許發送的幀的序號,這個叫發送窗口
同樣接收方也維持一組連續的允許接受幀的序號,叫接收窗口。發送窗口用來對發送方進行流量控制。
可靠傳輸機制:確認機制,超時重傳機制。
1、多幀滑動窗口-選擇重傳協議SR
2、多幀滑動窗口-后退N幀協議GBN
后退N幀式ARQ中,發送方不需要再收到上一個幀的ACK后才能開始發送下一幀,也就是可以連續發送幀。
1.4、差錯控制
由於信道噪聲等因素,幀傳輸可能出現錯誤。
位錯:幀的某些位出現了差錯,采用循環冗余校驗CRC,通過自動重傳請求ARQ方式來重傳錯誤的幀
注:介質訪問控制MAC(Medium Access Control)
信道划分介質訪問控制有四種:頻分多路復用FDM,時分多路復用TDM,波分多路復用WDM,碼分多路復用CDM
2、隨機訪問MAC
在隨機訪問協議中,不采用集中控制方式解決信息發送的次序問題。所有用戶都可以根據自己的意願隨機發送信息,占用信道全部速率。在總線網中,當有兩個或者多個用戶同時發送信息的時候,就會產生幀的沖突。這導致所有沖突用戶的發送均失敗。
為了解決隨機接入發生的碰撞,每個用戶需要按照一定的規則反復的重傳他的幀。知道幀沒有碰撞到通過。
這些規則就是隨機訪問MAC協議。
重用的協議:ALOHA協議,CSMA協議,CSMA/CD協議,CSMA/CA協議
這些協議的核心思想都是:勝利者通過爭用獲得信道,進而獲得信息的發送權,所以說隨機訪問MAC協議,也叫爭用型協議。
MAC采用信道划分機制,那么節點之間的通信,要不就是共享空間,要不就共享時間,要不就兩個都共享。
隨機MAC:實質上是一種廣播信道轉化為點到點信道的行為。
因為交換機可以轉發廣播,隨機訪問MAC,可以將廣播轉化為point to point
2.1、ALOHA協議:隨機接入系統協議
2.2、CSMA協議:
如果每個站點在發送前都先偵聽一下公用的信道,那么發送信道空閑后再發送,那么將會大大減小沖突的可能。從而提高信道的利用率。
載波偵聽多路訪問(Carrier Sense Multiple Access,CSMA)
CSMA協議對ALOHA協議的一種改進,也就是多了一個載波偵聽裝置。
2.3、CSMA/CD協議:載波偵聽多路訪問/碰撞檢測
是對CSMA協議的改進方案,適用於總線型網絡或者半雙工網絡環境
載波偵聽:也就是發送前先偵聽,每次發送數據之前都要先檢查一下總線上是否有其他站點在發送數據,如果有
則暫時不要發送數據,等待信道變為空閑的時候再發送。
碰撞檢測:就是一邊發送一邊偵聽,適配器在發送數據的時候變檢測信道上的信號電壓的變化情況,用來判斷自己在發送數據的時候其他站點是否也在發送數據。
CSMA/CD工作流程:先聽后發,邊聽邊發,沖突停發,隨機重發
總線的傳播時延對CSMA/CD的影響很大,CSMA/CD中的站不能同時發送和接收
所以CSMA/CD的以太網是不進行全雙工通信,只能進行半雙工通信
2.4、CSMA/CA協議
CSMA/CD協議已經應用在使用有線連接的局域網中,但是要在無線局域網的環境下,卻不能用。
CSMA/CD協議,尤其是碰撞部分,因為無線局域網中,接受信號的強度遠遠小於發送信號的強度。而且在無線介質上信號強度變化范圍很廣,要實現碰撞檢測,那么在硬件上要花費很大。
在無線通信中,並非所有的站點都可以偵聽到對方,也就是隱蔽站的問題。
CSMA/CA協議,廣泛用於無線局域網。
把碰撞檢測改成了碰撞避免(Collision Avoidance,CA)
碰撞避免:不是指協議可以完全避免碰撞,而是指協議的設計要盡量減少碰撞的發生概率。
CSMA/CA采用二進制指數退避算法。通過預約信道,ACK幀,RTS/CTS幀,三種機制來實現碰撞避免
RTS/CTS幀,主要用來解決無線網的隱蔽站問題。
預約信道,ACK幀,都是必須要實現的
預約信道:發送方在發送數據的同時想起他站點通過告知自己傳輸數據需要的時間長度,方便讓其他站點在這段時間內部發送數據,避免碰撞。
ACK幀:所有站點在正確接收到發送給自己的數據幀后,都需要向發送方應答一個ACK幀。
總結:
CSMA/CA協議的基本思想:發送數據的時候先廣播告知其他節點,讓其他節點在某個時間段內不要發送數據,避免碰撞。
CSMA/CD協議的基本思想:發送前先偵聽,邊發送邊偵聽,一旦出現碰撞馬上停止發送。
3、輪詢訪問MAC:令牌傳遞協議
在輪詢訪問中,用戶不能隨機的發送信息,是通過集中控制的監控站,以循環的方式輪詢每個節點。然后決定信道的分配。
當某個節點使用信道的時候,其他節點都不能使用信道。典型的輪詢MAC協議是令牌傳遞協議,令牌環局域網。
令牌傳遞協議:一個令牌在各個節點以一個固定的次序交換。令牌是個特殊的比特組成的幀,當換上的站希望傳遞幀的時候,就必須等待令牌,一旦收到令牌,站點就可以啟動發送幀。
輪詢MAC適合復雜很高的廣播信道,負載很高的信道就是多個節點在同一時刻發送數據概率很大的信道。
如果廣播信道采用隨機MAC,發生沖突的概率很大,而采用輪詢MAC則可以更好滿足各個節點的要求。
輪序的實質:不共享時間,空間。實質上就是在隨機MAC的基礎上,限定了有權利發送數據的節點只能有一個
即使是廣播信道,都可以通過MAC使得廣播信道邏輯上變成點對點的信道。所以說數據鏈路層研究的是點對點之間的通信。
4、局域網(Local Area Network,LAN)
4.1、局域網的特點:
1、為一個單位所擁有的,地理范圍和站點數目有限
2、所有的站共享較高的總帶寬,也就是共享較高的數據傳輸率
3、較低的時延和較低的誤碼率
4、各站為平等關系而不是主動關系
5、能進行廣播和組播
4.2、局域網的拓撲結構:
星型,環形,總線型,星型+總線型復雜復合
4.3、局域網的傳輸介質:
雙絞線,同軸電纜,光纖,其中雙絞線是主流
局域網的介質訪問控制方法:CSMA/CD,令牌總線,令牌環
這是交換機常用於局域網,而局域網接入廣域網要用路由器
CSMA/CD,令牌總線訪問控制方法用於總線型網絡
令牌環用於環形局域網
4.4、以太網
使用范圍最廣的局域網,邏輯拓撲是總線型結構,物理拓撲是星型,或者擴展星型
令牌環(Token Ring):邏輯拓撲是環形,物理拓撲是雙環
FDDI(光纖分布數字接口):邏輯拓撲是環形,物理拓撲是雙環
由於以太網在局域網市場中壟斷地位,幾乎成為局域網的代名詞
LLC子層也叫邏輯鏈路控制子層,由於他的作用不大,所以現在的網卡只有MAC協議沒有LLC協議。
以太網邏輯上采用總線型拓撲結構,以太網中所有計算機共享同一條總線,信息以廣播方式發送。
以太網簡化了通信並且使用了CSMA/CD方式對總線進行訪問控制。
計算機與外界局域網的連接是通過主機里的一塊網絡適配器(Adapter),也叫網卡NIC
網卡上有處理器和存儲器,他工作在數據鏈路層的網絡組件。
網卡是局域網連接計算機和傳輸介質的接口,不僅能實現於局域網傳輸介質之間的物理連接和電信號匹配
還涉及幀的發送與接收,幀的封裝與拆封,介質訪問控制MAC,數據的編碼和解碼,數據緩存等功能。
全世界的每一塊網卡在出廠的時候都有一個唯一的代碼,叫做價值訪問控制MAC地址。
MAC地址用來控制主機在網絡上的數據通信。
數據鏈路層的設備:網卡,網橋,交換機。
網橋,交換機都是使用各個網卡的MAC地址。網卡控制着主機對介質的訪問,因此網卡也工作在物理層,只關注比特流。
以太網常用的傳輸介質:粗纜,細纜,雙絞線,光纖
MAC地址:物理地址,6個10進制數組成。速率達到或者超過100Mb/s的以太網叫高速以太網。
5、廣域網(Wide Area Network,WAN)
廣域網是Internet的核心部分,通過長距離運送主機所發送的數據,連接廣域網各個節點的交換機的鏈路都是高速鏈路
距離是幾千公里的光纜線路。廣域網覆蓋方位很廣,遠遠超過一個城市。
廣域網的組成:節點交換機+鏈路
節點交換機:和路由器一樣都是用來轉發分組的
節點交換機實在單個網絡中轉發分組,路由器是在多個網絡構成的互聯網轉發分組。節點之間都是點到點連接。為了提高網絡的可靠性,通常一個節點交換機往往與多個節點交換機相連。
5.1、廣域網和局域網的區別很大:
局域網使用的協議主要在數據鏈路層。
廣域網使用的協議主要在網絡層。
也就是說網絡中的兩個節點要進行數據交換,節點除了要給出數據外,還要給數據包裝上一層控制信息,用來實現
檢錯糾錯的功能。如果這層信息是數據鏈路層的協議控制信息,就叫做使用了數據鏈路的協議,如果這層控制信息是在網絡層,就是使用了網絡層的協議。
廣域網強調:資源共享
局域網強調:數據傳輸
廣域網中一個重要問題:路由選擇和分組轉發
路由選擇協議:負責搜索分組從某個節點到目的節點的最佳路由,以便構成路由表。
分組轉發:從路由表構造出轉發分組的轉發表。
PPP協議和HDLC協議是目前最常用的兩種廣域網數據鏈路層的面向字節的協議
5.1.1、PPP協議(Point to Point Protocol):
使用串行線路通信的面向字節的協議,PPP協議應用在直接連接的兩個節點的連路上。
目的:通過撥號或者專線方式建立點對點的連接放松數據,讓它成為各種主機,網橋,路由器之間簡單連接的解決方法。
PPP協議:在SLIP的基礎上發展而來,可以在異步線路上傳輸,也可以在同步線路上用。
不僅用於Modem鏈路,還可以用於路由器和路由器之間的鏈路。
PPP組成:
鏈路控制協議LCP:用來建立,配置,測試,管理數據鏈路
網絡控制協議NCP:由於PPP可以同時用多種網絡層協議,每個不同的網絡層協議要用一個相應的NCP來配置。一個將IP數據報封裝到串行鏈路的方法。
PPP幀和HDLC幀的格式一樣,收尾都是相同的標志字段為7E
PPP協議是點對點的,不是總線型,不用CSMA/CD協議。
5.1.2、HDLC協議
高級數據鏈路控制(High-level Data Link Control):面向比特的數據鏈路層協議。
HDLC協議不依賴任何一種字符集編碼,數據報文可以透明傳輸。
PPP是面向字節的,HDLC協議是面向比特的
TCP/IP協議簇:TCP,IP,ICMP,ARP,RARP,UDP,DNS,FTP,HTTP
HDLC,PPP是ISO提出的數據鏈路層協議,不屬於TCP/IP協議簇