萬字長文學懂計算機網絡的數據鏈路層,計算機的重要性不需要多講,基礎的知識不能決定我們現在解決問題的速度,但是它卻決定了我們能爬到多高的地方.
本篇文章2W點多字,算是比較詳細的總結了,點不點讚的無所謂,但真希望讀者或者需要到的人能認真閱讀,同時如果文章有錯誤,也歡迎各位的指點.
目錄
數據鏈路層
數據鏈路層的功能
數據鏈路層基本概念
- 結點:主機.路由器
- 鏈路:網絡中兩個結點之間的物理通道,鏈路的傳輸介質主要有雙絞線,光纖和微波.分爲有線鏈路和無線鏈路.
- 數據鏈路:網絡中兩個結點之間的邏輯通道,把實現控制數據傳輸協議的硬件和軟件加到鏈路上就構成數據鏈路.
- 幀:鏈路層的協議數據單元,封裝網絡層數據報.
數據鏈路層:負責通過一條鏈路從一個結點向另一個物理鏈路直接相連的相鄰結點傳送數據報.
數據鏈路層功能概述
數據鏈路層在物理層提供服務的基礎上向網絡層提供服務,其最基本的服務是將原來網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層.其主要作用是加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接改造成爲邏輯上無差錯的數據鏈路,使之對網絡層表現爲一條無差錯的鏈路.
功能一:爲網絡層提供服務.無確認無連接服務,有確認無連接服務,有確認面向連接服務.
- 無確認無連接的服務:因爲不需要連接和確認,所以速度快,一般用於實時系統
- 有確認無連接的服務:當接收端接收到數據,就給發送端發送確認信息,如果在規定的時間內發送端沒有接收到接收端的確認,那麼就會重發.一般用於誤碼率較高的系統
- 有確認有連接的確認:確認發送端和接收端連接正常後再發送數據,發送端還要求接收端在收到數據後反饋確認信息.是一種最安全的連接
- 注意:有連接就一定有確認
功能二:鏈路管理,即連接的建立、維持、釋放(用於面向連接的服務)
功能三:組幀
功能四:流量控制(限制發送方)
功能五:差錯控制(幀錯/位錯)
組幀功能詳解
基礎知識
封裝成幀就是在一段數據(IP數據報)的前後部分添加首部和尾部,這樣就構造成了一個幀.接收端在收到物理層上交的比特流後,就能根據首部和尾部的標記,從收到的比特流中識別幀的開始和結束.
首部和尾部包含很多的控制信息,其中的一個重要的作用就是:幀定界(確定幀的界限)
幀同步:接收方應當能從發送方的二進制比特流中區分出幀的開始和終止.
透明傳輸
透明傳輸是指不管所傳數據是什麼樣的比特組合,都應當能夠在鏈路上傳送.因此,鏈路層就"看不見"有什麼妨礙數據傳輸的東西.
當所傳數據中的比特組合恰巧與某一個控制信息完全一樣時,就必須採取適當的措施,使接收方不會將這樣的數據誤以爲是某種控制信息.這樣才能保證數據鏈路層的傳輸是透明的.
組幀的四種方法:
1.字符計數法
幀首部使用一個計數字段(第一個字節,8位)來標明幀內字符數
缺點:因爲幀的計數字段如果發生錯誤的話,後面的所有幀都會接連的發生錯誤,發送端和接收端就時區同步
2.字符(字節)填充法
就是在發送端填充轉義字符,在接收端把所有的轉義字符刪去就能夠接收到我們需要的數據
3.零比特填充法
零比特填充法的標誌幀開始和結束的標誌一樣,都是01111110
對於零比特填充法我們總結的方法爲:5"1"1"0"
操作:
- 在發送端,掃描整個信息字段,只要連續5個1,就立即填充1個0(因爲我們的標誌是連續6個1,這樣做能夠避免幀中的數據和我們的標誌開始和結束的字符區分開,保證幀中數據永遠和標誌不一樣)
- 在接收端收到一個幀時,先找到標誌字段確定邊界,再用硬件對比特流進行掃描.發現連續5個1時,就把後面的一個0刪除.這樣就還原出了我們幀中真實的數據.
4.違規編碼法
我們知道在曼徹斯特編碼方式中,每一個比特所對應的電平都是:高-低,低-高的編碼方式,因此我們使用高-高,低-低的違規編碼方式來作爲幀中數據的開始和結束的標誌.
組幀方法總結:
由於字節計數法中Coun字段的脆弱性(其值若有差錯將導致災難性後果)以及字符填充上的複雜性和不兼容性,目前較普遍使用的幀同步法是零比特填充法和違規編碼法
差錯控制
概括來說,傳輸中的差錯是由於噪聲引起的.
全局性噪聲:
- 由於線路本身電氣特性所產生的隨機噪聲(熱噪聲),是信道固定的,隨機存在的.
- 解決辦法:提高信噪比來減少或避免干擾.(對傳感器下手)
局部性噪聲:
- 外界特定的短暫原因所造成的衝擊噪聲,是產生差錯的主要原因
- 解決辦法:通過利用編碼技術來解決
這些噪聲都可能使我們的數據發生差錯.
差錯:
- 位錯:指的是比特位出錯,1變成0,0變成1.
- 幀錯:
- 丟失:接收端接受的幀少於發送端發送的幀
- 重複:接收端接收的幀多於發送端發送的幀(部分是重複的幀)
- 失序:接收端接收到的幀的順序和發送端發送的幀的順序不同.
對於位錯的差錯控制
區別概念:鏈路層的編碼和物理層的編碼
數據鏈路層編碼和物理層的數據編碼與調製不同.物理層編碼針對的是單個比特(是把單個比特編碼或者調製爲高電平或者低電平),解決傳輸過程中比特的同步等問題,如曼徹斯特編碼.而數據鏈路層的編碼針對的是一組比特,它通過冗餘碼的技術實現一組二進制比特串在傳輸過程中是否出現了差錯.
冗餘編碼:在數據發送之前,先按某種關係附加上一定的冗餘位,構成一個符合某一規則的碼字後再發送,當要發送的有效數據發生變化時,相應的冗餘位也隨之變化,使碼字遵從不變的規則.接收端根據接收的碼字是否符合原規則,從而判斷是否出錯.
1.檢錯編碼
檢錯編碼:發現那裏有錯
奇偶校驗碼: n-1位信息元,1位校驗元
奇校驗碼:"1"的個數爲奇數
偶校驗碼:"1"的個數爲偶數
奇偶校驗碼的特點:
只能檢查出奇數個比特錯誤,檢錯能力爲50%(偶數個比特發生錯誤時可能是 0 1相互抵消的,這樣就檢測不出來)
循環冗餘CRC
要傳的數據 ÷ 生成多項式 = 結果+餘數(幀檢驗序列/冗餘碼) -----發送的數據---->(要傳的數據+餘數)作爲接收端接收的數據 ÷ 生成多項式 = 結果+餘數
如果接收端運算結果是0,那麼判定在傳輸過程中沒有發生錯誤,就接收,否則則拒絕接收.
在數據鏈路層僅僅使用循環冗餘校驗CRC差錯檢測技術,只能做到對幀的無差錯接收,即"凡是接收端數據鏈路層接收的幀,我們都能以非常接近1的概率認爲這些幀在傳輸過程中沒有產生差錯".接收端丟棄的幀雖然曾經收到了,但是最終還是因爲有差錯被丟棄.“凡是接收端數據鏈路層接收的幀我們都認爲是無差錯的”
“可靠傳輸”:數據鏈路層發送端發送什麼數據,接收端就收到什麼數據.
鏈路層使用CRC校驗,能夠實現無比特差錯的傳輸,但是不能實現可靠傳輸
2. 糾錯編碼
糾錯編碼:不僅能發現編碼有錯,還能知道就在那發生錯誤
海明碼
海明碼:能發現雙比特錯,但是隻能糾正單比特錯
工作流程:
1.確定校驗碼位數r
2.確定校驗碼和數據的位置
3.求出校驗碼的值
4.檢錯和糾錯
鏈路層的流量控制和可靠傳輸機制
鏈路層的流量控制
較高的發送速度和較低的接收能力的不匹配,會造成傳輸出錯,因此流量控制也是數據鏈路層的一項重要工作
數據鏈路層的流量控制是點對點的,而傳輸層的流量控制是端到端的.
數據鏈路層流量控制手段:接收方收不下就不回覆確認
傳輸層流量控制手段:接收端給發送端一個窗口公告.
流量控制和可靠傳輸的方法:
1.停止-等待協議
每發送完一個幀就停止發送,等待對方的確認,在收到確認後再發送下一個幀.
效率較低,很多的時間都在等待確認.
爲什麼要有停止-等待協議?
除了比特出差錯,底層信道還會出現丟包問題(意思就是可能只是無比特差錯傳輸,而不是可靠傳輸)
爲了實現流量控制
丟包:物理線路故障,設備故障,病毒攻擊,路由信息錯誤等原因會導致數據包的丟失.
研究停等協議的協議
雖然現在常用的是全雙工通信,但爲了討論問題的方便,僅考慮一方發送數據(發送方),一方接收數據(接收方).
因爲是在討論可靠傳輸的原理,所以並不考慮數據是哪一個層次上傳遞的.
"停止-等待"就是每發送完一個分組就停止發送,等待對方確認,在收到確認後再發送下一個分組.
停等協議
2.滑動窗口協議
後退N幀協議(GBN)
選擇重傳協議(SR)
協議 | 發送窗口和接收窗口特點 |
---|---|
停止-等待協議 | 發送窗口大小=1,接收窗口大小=1 |
後退N幀協議(GBN) | 發送窗口大小>1,接收窗口大小=1 |
選擇重傳協議(SR) | 發送窗口大小>1,接收窗口大小>1 |
可靠傳輸:發送端發啥,接收端就收啥
流量控制:控制發送速率,使接收方有足夠的緩衝空間來接收每一個幀.
滑動窗口解決:
- 流量控制(收不下就不給確認,發送端想發發不了,那麼變相的控制了發送端的發送速度)
- 可靠傳輸(發送方自動重傳)
信道劃分介質訪問控制
點對點鏈路:兩個相鄰節點通過一個鏈路相連,沒有第三者.應用ppp協議.常用於廣域網
廣播式鏈路:所有主機共享通信介質.應用:早期的總線以太網,無線局域網,常用於局域網
- 經典拓撲結構:總線型.星型(邏輯總線型)
這種類似對講機的類型:當一個設備發出信息,可以傳到其他所有的設備,但是不一定到所有的設備都進行處理,只有設備接收到信息是自己需要的信息時纔會處理,但是如果兩個設備同時發送信息,就可能因爲信號干擾而導致失敗,而介質訪問控制的內容就是,採取一定的措施,使得兩對節點之間不會發生信號的相互干擾的情況
介質訪問控制:
分類
-
靜態訪問信道:信道劃分介質訪問控制(在用戶通信之前,按時序或者頻率把信道進行劃分)
- 頻分多路複用FDM
- 時分多路複用TDM
- 波分多路複用WDM
- 碼分多路複用CDM
-
動態分配信道
- 輪詢訪問介質訪問控制:令牌傳遞協議
- 隨機訪問介質訪問控制:
- ALOHA協議
- CSMA協議
- CSMA/CD協議
- CSMA/CA協議
信道劃分介質訪問控制
信道劃分介質訪問控制:將使用介質的每個設備與來自同一信道上的其他設備的通信隔離開,把時域和頻域資源
合理地分配給網絡上的設備.
多路複用技術:
把多個信號組合在一條物理信道上進行傳輸,使得多個計算機或終端設備共享信道資源,提高信道利用率
把一條廣播信道,邏輯上分成幾條用於兩個節點之間通信的互不干擾的子信道,實際上就是把廣播信道轉變爲點對點信道
靜態劃分信道
頻分多路複用技術
用戶在分配到一定的頻帶後,在通信過程中自始至終都佔用這個頻帶.頻分複用的所有用戶在同樣的時間佔用不同的帶寬(頻率帶寬)資源.
特點:充分用了傳輸介質帶寬,系統效率比較高,由於技術比較成熟,實現也比較容易.
時分複用
將時間劃分爲一段段等長的時分複用幀(TDM幀).每個時分複用的用戶在每個TDM幀中佔用固定序號的時隙,所有用戶輪流佔用信道.
TDM幀時物理層傳送的比特流所劃分的幀,標誌一個週期
由此我們有一種感覺:
頻分複用技術--------“並行”
時分複用技術--------“併發”
這樣的話我們在時分複用技術中,如果A,B,C的主機都休息(不進行數據傳輸),那麼雖然只剩D主機在傳輸數據,但還是要等待時間片的輪轉,浪費很多的時間
由此就有了統計時分複用技術STDM技術(能明顯的提高信道的利用率)
統計時分複用
波分多路複用
波分多路複用就是光的頻分多路複用,在一根光纖中傳輸多種不同的波長(頻率)的光信號,由於波長(頻率)不同,所以各路光信號互不干擾,最後再用波分分解複用器將各路波長分解出來.
(和頻分複用特別像)
碼分多路複用CDM
碼分多址(CDMA):是碼分多路複用的一種方式
1個比特分爲多個碼片/芯片(chip),每個站點被指定一個唯一的m爲的芯片序列
發送1時站點發送芯片序列,發送0時發送芯片序列反碼(通常把0寫成-1)
如何保證數據傳輸不打架:多個站點同時發送數據的時候,要求各個站點芯片序列相互正交
如何合併:因爲我們要把多臺主機或者終端發送的數據在一條信道上發送,所以需要把數據進行合併,各路數據在信道中被線性相加(相加的也是芯片序列對應的數值)
如何分離:合併的數據和源站規格化內積.
動態分配信道
動態媒體接入控制/多點接入
特點:信道並非在用戶通信時固定分配給用戶
隨機訪問介質訪問控制
所以用戶可隨機發送信息,發送信息時佔用全部帶寬
可能導致不協調的衝突的問題,就出現了一些協議來解決這個問題
純ALOHA協議
純ALOHA協議思想:不監聽信道,不按時間槽發送隨機重發. 想發就發
衝突如何檢測?
如果發生衝突,接收方在就會檢測出差錯,然後不予確認,發送方在一定時間內收不到就判斷髮生衝突
衝突如何解決?
超時後等以隨機時間再重傳
因爲數據幀的發送很隨機,導致數據幀發送的成功率很低,而且因爲衝突的信息的重傳也具有隨機性,因此可能會導致某一信息長時間都得不到重傳.這時候就發明出了時隙ALOHA協議
時隙ALOHA協議的思想:把時間分成若干個相同的時間片,所有用戶在時間片開始時刻同步接入網絡信道,若發生衝突,則必須等到下一個時間片開始時刻再發送.控制想發就發的隨機性
總結:
- 純ALOHA協議比時隙ALOHA吞吐量更低,效率更低
- 純ALOHA想發就發,時隙ALOHA只有在時間片段開始時才能發
- 衝突的解決方式都是超時重傳,但是純ALOHA協議是隨機重傳,而時隙ALOHA只能在時間片開始時重傳
CSMA協議:
載波監聽多路訪問協議CSMA,.
- CS:載波偵聽/監聽,每一個站在發送數據之前要測試一下總線上是否有其他計算機在發送數據
當幾個站同時在總線上發送數據時,總線上的信號電壓擺動值將會增大(相互疊加).當一個站檢測到的信號電壓擺動值超過一定門限值時,就認爲總線上周至少有兩個站在同時發送數據,表明產生了碰撞,即產生了衝突.
- MA:多點接入,表示許多計算機以多點接入的方式連接在一根總線上.
協議思想:發送幀之前,監聽信道
監聽結果:
- 信道空閒:發送完整幀
- 信道忙:推遲發送
根據監聽結果(需要監聽)的信道空閒和信道忙的不同發送時間(確定何時發送,就有了三種協議),
- 1-堅持CSMA
- 非堅持CSMA
- p-堅持CSMA
1-堅持CSMA協議
堅持指的是對於監聽信道忙之後的堅持
1-堅持CSMA思想:
如果一個主機要發送消息,那麼它先監聽,空閒則直接傳輸,不必等待,忙則一直監聽,直到空閒馬上傳輸,如果有衝突(一段時間內未收到肯定回覆),則等待一個隨機長的時間再監聽,重複之前的過程.
優點:
只要媒體空閒,站點就馬上發送,避免了媒體利用率的損失
缺點:
假如有兩個或者兩個以上的站點有數據要發送,衝突就不可避免
非堅持CSMA
非堅持指的是對於監聽信道忙之後不繼續監聽
非堅持CSMA思想:如果一個主機要發送消息,那麼它先監聽信道, 如果空閒,則直接傳輸,不必等待,忙則等待隨機時間之後再監聽,
優點:
採用隨機的重發延遲時間可以減少衝突發生的可能性
缺點:
可能大家都在延遲等待的過程中,造成媒體處於空閒狀態,媒體利用率降低
p-堅持CSMA
p-堅持指的是對於監聽信道空閒的處理
p-堅持CSMA思想:如果一個主機要發送消息,那麼它先監聽信道
總結一下
CSMA/CD協議:
載波監聽多點接入/碰撞檢測CSMA/CD
**CS:**載波監聽.傾聽.每一個站在發送數據之前
以及發送數據時
都要檢測一下總線上是否有其他計算機在發送數據
MA多點接入,表示也多計算機以多點及接入的方式連接在一根總線上.(總線型網絡)
CD:碰撞檢測(衝突檢測),邊發送邊監聽
,適配器(可以理解爲我們的主機)邊發送數據邊檢測信道上信號電壓的變化情況,以便判斷自己在發送數據時其他站是否也在發送數據.(半雙工網絡)
傳播時延對載波監聽的影響
信號在信道上傳輸,雖然我們用的協議是CSMA/CD協議,在監聽的,但是同樣可能會有衝突的可能.因爲信號在信道上傳輸是有時間的(雖然信號的傳輸速度很快),但是當信道很長時,就需要傳輸時間,而我們的信號在沒傳輸到檢測的位置時,是檢測不出來的.也就是說傳播時延是對載波監聽有影響的
現在我們來討論傳播時延對載波監聽的影響(單程端到端傳播時延τ(tao))
當信號在傳輸過程中,信號如果發生碰撞,那麼信號就會發生信號的疊加
問題:最遲多久才能知道自己發送的數據沒和別人發生碰撞?
答案:2τ
如何確定碰撞後的重傳時機?
在CSMA/CD中我們使用截斷二進制指數規避算法來計算我們的重傳時間
這個可以告訴我們:若連續多次發生衝突,就表明可能有較多的站爭用
信道使用此算法可使重傳需要推遲的平均時間隨重傳次數的增大而增大,因而減小發生碰撞的概率,有利於整個系統的穩點
例題:在以太網的二進制回退算法中,在11次碰撞之後,站點會在0~(?)之間選擇一個隨機數?
答案:0~1023
最小幀長問題
我們使用CSMA/CD協議(或者說CSMA/CD協議的特點)就是在傳輸數據過程中檢測,如果發現傳輸數據衝突,那麼傳輸的數據信號就會疊加而導致錯誤,這時CSMA/CD協議就會及時叫停,停止繼續傳輸,但是如果傳輸的幀很短,在發現傳輸出錯之前,已經傳輸完畢了,那麼CSMA/CD協議的作用就失效了,所以我們現在要考慮最小的傳輸幀長
之前我們講到:在2τ的時間內我們必然能檢測出數據的傳輸是否出錯,因此幀的傳輸時延至少要兩倍於信號在總線中的傳播時延
以太網規定最短幀長爲64B,凡是長度小於64B的都是由於衝突而異常終止的無效幀,如果我們要傳輸小於64B的數據,那麼數據會被自動填充爲大於等於64B.
CSMA/CA協議
載波監聽多點接入/碰撞避免CSMA/CA
爲什麼要有CSMA/CA協議?用於無線局域網
CSMA/CA協議工作原理
- 發送數據前,先檢測信道是否空閒
- 空閒則發出
RTS(request to send)
,RTS包括髮射端的地址,接收端的地址,下一份數據將持續發送的時間等信息:信道忙則等待 - 接收端收到RTS後,將響應
CTS(clear to send)
. - 發送端收到CTS後,開始發送數據幀(同時
預約信道
:發送方告知其他站點自己要傳多久數據) - 接收端收到數據幀後,將CRC來檢驗數據是否正確,正確則響應
ACK幀
- 發送方收到ACK就可以進行下一個數據幀的發送,如果沒有收到則一直重傳至規定重發次數爲止(採用二進制指數退避算法來確定隨機推遲時間)
總結CSMACD和CSMA/CA的相同點和不同點
相同點:
- CSMACD和CSMA/CA都屬於CSMA的思路,其核心是
先聽再說
.換言之,兩個在接入信道之前都需要進行監聽,發現信道空閒後,才能進行接入
不同點:
- 傳輸介質不同:CSMA/CD用於總線式以太網(有線),而CSMA/CA用於無線局域網(無線)
- 載波檢測方式不同:因傳輸介質不同,CSMA/CD與CSMA/CA的檢測方式也不同.CSMA/CD通過電纜中電壓的變化來檢測,當數據發生碰撞時,電纜中的電壓就會隨着發生變化,而CSMA/CA採用能量檢測(ED).載波檢測(CS)和能量載波混和檢測三種檢測信道空閒的方式
- CSMA/CD檢測衝突,CSMA/CA避免衝突,二者出現衝突後都會進行有上限的重傳
介質訪問控制總結
前面已經介紹了信道劃分介質訪問控制(MAC)協議和隨機訪問MAC協議
信道劃分介質訪問控制協議(MAC):
- 基於多路複用技術劃分資源
- 網絡負載重:共享信道效率高,且公平
- 網絡負載輕:共享信道效率低
隨機訪問MAC協議:
- 用戶根據意願隨機發送信息,發送信息時可獨佔信道帶寬
- 網絡負載重:產生衝突開銷
- 網絡負載輕:共享信道效率高,單個結點可利用信道全部帶寬
現在學輪詢訪問MAC協議/輪流協議/輪轉訪問MAC協議:
輪詢訪問MAC協議/輪流協議/輪轉訪問MAC協議:
既要不產生衝突,又要發送時佔全部帶寬
輪詢協議
主結點輪流"邀請"從屬結點發送數據
問題:
1.輪詢開銷(要問詢從屬機器是否要發送數據是一個連接過程,可能會有耗時和耗資源)
2.等待延遲(在後面排着的從屬結點要等待主機詢問其他結點才能傳輸數據,可能等待時間很長)
3.單點故障(當主機宕機時,其他存儲機都沒辦法工作)
令牌傳遞協議
每個結點都可以在一定時間內(令牌持有時間)獲得發送數據的權利,並不是無限制持有令牌
問題:
1.令牌開銷
2.等待延遲
3,單點故障
應用於令牌環網(物理星型拓撲,邏輯環形拓撲)
採用令牌傳送方式的網絡常用於負載較重.通信量較大的網絡中
局域網基本概念和體系結構
局域網:簡稱LAN,是指在某一區域內由多臺計算機互聯成的計算機組,使用廣播信道
特點:
- 覆蓋的地理範圍小,只在一個相對獨立的局部範圍內聯,如一座或集中的建築羣內
- 使用專門鋪設的傳輸介質(雙絞線同軸電纜)進行聯網,數據傳輸速率高
- 通信延遲時間短,誤碼率低,可靠性高
- 各站爲平等的關係,共享傳輸信道
- 多采用分佈式控制和廣播式通信,能進行廣播和組播
決定局域網的主要要素爲:網絡拓撲,傳輸介質與介質訪問控制方法
局域網拓撲結構
星型拓撲
總線型拓撲
環形拓撲
樹型拓撲
局域網傳輸介質
- 有限局域網 常用介質:雙絞線,同軸電纜光纖
- 無線局域網 常用介質:電磁波
局域網介質訪問控制訪問方法
- CSMA/CD:常用於總線型局域網,也用於屬性內網絡
- 令牌總線: 常用於總線型局域網,也用於樹型網絡
- 它把總線型和樹型網絡中的各個工作站按一定順序如按接口地址大小排列形成一個邏輯環.只有令牌持有者才能控制總線,纔有發送信息的權利
- 令牌環:用於環形局域網,如令牌環網
注意物理連接的形狀和局域網的拓撲結構不一定要保證統一,局域網的拓撲結構只是考慮了數據在鏈路中的流動,而沒有要求一定的物理連接的結構,但是也不是隨意連接的,要相互契合
局域網的分類
- 以太網
- 令牌環網
- FDDI網
- ATM網
- 無線局域網
MAC子層和LLC子層
以太網
以太網概述
以太網(Ethernet)指的是有Xerox公司創建並由Xerox.Intel和DEC公司聯合開發的基帶總線局域網規範
,是當今現有局域網採用的最通用的通信協議標準以太網使用CSMA/CD(載波監聽多路訪問及衝突檢測)技術.
以太網在局域網各種拘束中佔統治地位:
- 造價低廉(以太網卡不到100塊)
- 是應用最廣泛的局域網技術
- 比令牌環網.ATM往便宜,簡單(建網簡單,修復簡單)
- 滿足網絡速率的要求:10Mb/s~10Gb/s
以太網兩個標準:
- DIX Ethernet V2:第一個局域網產品(以太網)規約
- IEEE 802.3:IEEE 802委員會工作組制定的第一個IEEE的以太網標準(幀格式上有一點改動)
802.3局域網AKA以太網
以太網聽無連接.不可靠的服務
無連接:發送方和接收方無"握手過程"
不可靠:不對發送方的數據幀編號,接收方不向發送方進行確認,差錯幀直接丟棄,差錯糾正由高層負責.
以太網只實現無差錯接收,不實現可靠傳輸
以太網傳輸介質與拓撲結構的發展
適配器和MAC地址
計算機與外界有局域網的連接是通過通信適配器的
- 適配器上裝有處理器和存儲器(包括RAM和ROM)
- ROM上有計算機硬件地址MAC地址
- 在局域網中,硬件地址又稱爲物理地址,或MAC地址(實際上是標識符,可以理解爲我們每個人的身份證,能夠唯一的標識我們的硬件設備)
- MAC地址:每個適配器有一個全球唯一的48位二進制地址,前24位代表廠家(由IEEE規定),後24位廠家自己指定.常用6個十六進制標識,如02-60-8c-e4-b1-21.
以太網MAC幀
高速以太網
速率>=100Mb/s的以太網稱爲高速以太網
- 100BASE-T以太網
- 在雙絞線上傳送100Mb/s基帶信號的星型拓撲以太網,仍使用的是IEEE802.3的CSMA/CD協議
- 支持全雙工和半雙工,可在全雙工方式下工作而無衝突
- 吉比特以太網
- 在光纖或雙絞線上傳送1Gb/s信號
- 支持全雙工和半雙工,可在全雙工方式下工作而無衝突
- 10吉比特
- 10吉比特以太網在光纖上傳送10Gb/s信號
- 只支持全雙工,無爭用問題
IEEE802.11無線局域網
IEEE802.11是無線局域網通用的標準,它是由IEEE所定義的無線網絡通信的標準
這裏說的無線局域網並不是指的是WIFI,這裏說的無線局域網的範圍比WIFI的範圍要大很多.
802.11的MAC幀頭格式
無線局域網的分類
-
有固定基礎設施無線局域網
-
無固定基礎設施無線局域網的自組織網絡
廣域網
廣域網,通常跨接很大的物理範圍,所覆蓋的範圍從幾十公里到幾千公里,它能連接多個城市或國家,或橫跨幾個州並能提供遠距離的通信,形成國際性的遠程網絡
廣域網的通信子網主要使用分組交換技術.廣域網的通信子網可以利用公用分組交換網.衛星通信網和無線分組交換網,它將分佈在不同地區的局域網或計算機系統互連起來,達到資源共享的目的,如因特網是世界範圍內最大的廣域網
PPP協議
PPP協議的特點:
點對點協議PPP是目前使用最廣泛的數據鏈路層協議,用戶使用撥號電話接入因特網時一般都使用PPP協議.只支持全雙工鏈路
PPP協議應滿足的要求
- **簡單:**對於鏈路層的幀,無需糾錯,無需序號,無需流量控制
- 封裝成幀:幀界定符
- 透明傳輸:與幀界定符一樣的比特組合的數據應怎麼處理:異步線路用字節流填充,同步線路用比特填充
- 多層網絡層協議:封裝的IP數據報可以採用多種協議
- 多種類型鏈路單行/並行,同步/異步電/光
- 差錯檢測:錯就丟棄
- 檢測連接狀態:鏈路是否正常工作
- 最大傳送單元:數據部分最大長度MTU
- **網絡層地址協商:**知道通信雙方的網絡層地址
PPP協議無序滿足的要求:
糾錯(只需要檢錯)
流量控制(交給上層處理)
序號
不支持多點線路(只滿足點對點就行了)
PPP協議的三個組成部分:
- 一個將IP數據報封裝到串行鏈路(tongue串行/異步串行)的方法
- 鏈路控制協議LCP:檢錄並維護數據鏈路連接.(比如身份驗證,撥號連接)
- 網絡控制協議NCP:PPP可支持多種網絡層協議,每個不同的網絡層協議都要一個相應的NCP啦配置,爲網絡層協議建立和配置邏輯連接.
PPP協議的狀態圖
PPP協議的幀格式
HDLC協議
高級數據鏈路控制,是一個在同步網上傳輸數據**.面向比特**的數據鏈路層協議,它是由國家標準化組織(ISO)根據IBM公司的SDLC協議擴展開發而成的.
數據報文可透明傳輸,用於實現透明傳輸的"0比特插入法"易於硬件實現
採用全雙工檢驗
HDLC的站
- 主站的主要功能是發送命令(包括數據信息)幀.接收響應幀,並負責對整個鏈路的控制系統的初啓.流程的控制.差錯檢測或恢復等
- 從站的主要功能是接收由主站發來的命令幀,向主站發送響應幀,並且配合主站參與差錯恢復等鏈路控制
- 複合站的主要功能是既能發送,又能接收命令幀和響應幀,並且負責整個鏈路的控制
根據這三種站,就有了三種數據操作方式:
- 正常響應方式:從站要發送消息,要先通過主站的同意才能發送
- 異步平衡方式:指的是每個複合站都能進行對別的站的數據傳輸
- 異步響應方式:從站不需要經過主站的同意就能自主的發送數據
HDLC的幀格式:
PPP協議和HDLC協議的相同點和不同點:
相同點:
- HDLC和PPP協議都支持全雙工鏈路
- 都可以實現透明傳輸(有小的區別:PPP協議可以支持零比特填充的比特填充方法又可以實現字節填充方法,但是HDLC只能實現零比特填充的方法(即5110))
- 都可以實現差錯的檢錯,但是不糾正錯誤
區別:
PPP協議 | 面向字節 | 2B協議字段 | 無序號和確認機制 | 不可靠 |
---|---|---|---|---|
HDLC協議 | 面向比特 | 沒有 | 有編號和確認機制 | 可靠 |
數據鏈路層的設備
擴展的以太網:我們希望以太網的覆蓋範圍進行擴展,這種擴展的以太網在網絡層看來仍然是一個網絡
物理層拓展以太網
兩種方式:
- 通過光纖來擴展以太網的範圍
- 通過多個集線器的來擴展以太網(但是傳輸效率變低,很可能產生衝突)
數據鏈路層擴展以太網
網橋根據MAC幀的母的地址對幀進行轉發和過濾.當網橋收到一個幀時,並不是向所有接口轉發此幀,而是先檢查此幀的目的MAC地址,然後在確定將該幀轉發到哪一個接口,或者是把它丟棄(即過濾)
- 網橋的兩端是兩個不同的網段
- 網橋能夠把衝突域分隔開,但是如果換成物理層設備(如集線器)就沒有分隔的作用,就不能實現衝突域的通信
網橋的優點解析:
- A-B能夠通信,A-C,A-E都能通信
- A發生宕機時,不影響B-C的通信
- 假設傳輸速率是10Mb/s,那麼使用網橋之後,圖中最大的物理帶寬就是30Mb/s
網橋的分類
- 透明網橋:"透明"指以太網上的站點並不知道所發送的幀將經過哪幾個網橋,是一種即插即用設備–自學習
網橋的自學習過程
- 源路由網橋:在發送幀時,把詳細的最佳路由信息(路由最少/時間最短)放在幀的首部
- 方法:源站以廣播方式向欲通信的目的站發送一個發現幀
意思就是:有多條路徑都能從發送端到接收端,但是源路由網橋在嘗試之後會發現一個最佳路徑,然後以後要再次通信時,就使用最佳的路徑.(路由最少/時間最短)
- 多接口網橋—以太網交換機
以太網交換機的兩種交換方式
- 直通式交換機
- 查完目的地址(6B)就立刻轉發
- 延遲小,可靠性低,無法支持具有不同速率的端口的交換
- 存儲轉發式交換機
- 將幀放入告訴緩存,並檢查是否正確,正確則轉發,錯誤則丟棄
- 延遲打,可靠性高,可以支持不同速率的端口的交換
衝突域和廣播域
- 衝突域:在同一衝突域中的每一個節點都能收到所有被髮送的幀.簡單的說就是同一時間內只能有一臺設備發送信息的範圍
- 廣播域:網絡中能接收任一設備發出的廣播幀的所有設備的集合.簡單的說如果站點發出一個廣播信號,所有能接收收到這個信號的設備範圍稱爲一個廣播域
能否隔離衝突域 | 能否隔離廣播域 | |
---|---|---|
物理層設備【傻瓜】(中繼器.集線器) | × | × |
鏈路層設備【路人】(網橋.交換機) | √ | × |
網絡層設備【大佬】(路由器) | √ | √ |
數據鏈路層總結思維導圖
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-qIOehKkg-1591231437223)(C:\Users\lenovo\Desktop\雷雨佳\計算機網絡\截圖\image-20200603232926409.png)]