【計算機網路】資料鏈路層——基於通道劃分的介質訪問控制

晓梦ペ發表於2024-03-13

通道劃分介質訪問控制

點對點鏈路&廣播式鏈路

點對點:兩個相鄰節點透過一個鏈路相連,沒有第三者。應用:PPP協議,常用於廣域網。

廣播:所有主機共享通訊介質。應用:早期的匯流排乙太網、無線區域網,常用於區域網。匯流排型,星型(邏輯匯流排)

介質訪問控制

介質訪問控制的內容就是,採取一定的措施,使得兩對節點之間的通訊不會發生互相干擾的情況。

通道劃分介質訪問控制:

將使用介質的每個裝置與來自同一通道上的其他裝置的通訊隔離開,把時域和頻域資源合理地分配給網路上的裝置。

image-20240313161942962

靜態劃分通道:多路複用

image-20240313162036715

頻分多路複用FDM

使用者在分配到一定的頻帶後,在通訊過程中自始至終都佔用這個頻帶。分頻多工的所有使用者在同樣的時間佔用不同的頻寬(頻率頻寬)資源。

充分利用傳輸介質頻寬,系統效率較高;由於技術比較成熟,實現也比較容易。image-20240313162206684

時分多路複用TDM

將時間劃分為一段段等長的分時多工幀(TDM幀)。每一個分時多工的使用者在每一個TDM幀中佔用固定序號的時隙,所有使用者輪流佔用通道。

image-20240313162217305

TDM幀是在物理層傳送的位元流所劃分的幀,標誌一個週期。

缺點:如果只有D一個人在傳,那就會降低利用率

改進:統計分時多工

image-20240313162335395

每一個STDM幀中的時隙數小於連線在集中器上的使用者數。各使用者有了資料就隨時發往集中器的輸入快取,然後集中器按順序依次掃描輸入快取,把快取中的輸入資料放入STDM幀中,一個STDM幀滿了就發出。STDM幀不是固定分配時隙,而是按需動態分配時隙。

人話就是,誰先來誰先走咯

波分多路複用WDM

波分多路複用就是光的頻分多路複用,在一根光纖中傳輸多種不同波長(頻率)的光訊號,由於波長(頻率)不同,所以各路光訊號互不干擾,最後再用波長分解複用器將各路波長分解出來。

image-20240313162454110

碼分多路複用CDM

先把AB發過來的混到一起,到C的時候再分開

image-20240313162637947

分碼多重進接(CDMA)

分碼多重進接(CDMA)是碼分複用的一種方式。

1個位元分為多個碼片/晶片(chip) ,每一個站點被指定一個唯一的m位的晶片序列,傳送1時傳送晶片序列(通常把0寫成-1)。

傳送1時站點傳送晶片序列,傳送0時傳送晶片序列反碼。

多個站點同時傳送資料,要求各個站點的晶片序列相互正交且規格化內積為0

例:A要傳送位元1,晶片序列不變;B要傳送位元0,晶片序列取反碼

image-20240313163444326

兩個向量到了公共通道,線性相加S-T

到了C站資料分離:用他自己的晶片序列,去算這個內積:

S·(S-T)= 1,得到A站

T·(S-T)= 0,得到B站

動態分配通道

隨機訪問介質訪問控制

所有使用者可隨機傳送資訊。傳送資訊時佔全部頻寬。(不協調)

ALOHA協議:不聽就說

純ALOHA協議:

  • 不監聽通道,不按時間槽傳送,隨機重發。

image-20240313164126182

image-20240313164136193

時隙ALOHA協議:

把時間分成若干個相同的時間片,所有使用者在時間片開始時刻同步接入網路通道,若發生衝突,則必須等到下一個時間片開始時刻再傳送。

控制想發就發的隨意性

image-20240313164236951

這裡站2故意等了一定的時間來避免重傳仍然衝突。

1.純ALOHA比時隙ALOHA吞吐量更低,效率更低。

2.純ALOHA想發就發,時隙ALOHA只有在時間片段開始時才能發。

CSMA協議:先聽再說

載波監聽多路訪問協議CSMA (carrier sense multiple access)

  • CS:載波偵聽/監聽,每一個站在傳送資料之前要檢測一下匯流排上是否有其他計算機在傳送資料。

當幾個站同時在匯流排上傳送資料時,匯流排上的訊號電壓擺動值將會增大(互相疊加)。當一個站檢測到的訊號電壓擺動值超過一定門限值時,就認為匯流排上至少有兩個站同時在傳送資料,表明產生了碰撞,即發生了衝突。

  • MA:多點接入,表示許多計算機以多點接入的方式連線在一根匯流排上。

image-20240313164554308

堅持CSMA

堅持指的是對於監聽通道忙之後的堅持。

堅持CSMA思想:如果一個主機要傳送訊息,那麼它先監聽通道。

空閒則直接傳輸,不必等待。

忙則一直監聽,直到空閒馬上傳輸。

如果有衝突(一段時間內未收到肯定回覆),則等待一個隨機長的時間再監聽,重複上述過程。

  • 優點:只要媒體空閒,站點就馬上傳送,避免了媒體利用率的損失。

  • 缺點:假如有兩個或兩個以上的站點有資料要傳送,衝突就不可避免。

非堅持CSMA

非堅持指的是對於監聽通道忙之後就不繼續監聽。

非堅持CSMA思想:如果一個主機要傳送訊息,那麼它先監聽通道。

空閒則直接傳輸,不必等待。

忙則等待一個隨機的時間之後再進行監聽。

  • 優點:採用隨機的重發延遲時間可以減少衝突發生的可能性。

  • 缺點:可能存在大家都在延遲等待過程中,使得媒體仍可能處於空閒狀態,媒體使用率降低。

P-堅持CSMA

p-堅持指的是對於監聽通道空閒的處理。

p-堅持CSMA思想:如果一個主機要傳送訊息,那麼它先監聽通道。

空閒則以p機率直接傳輸,不必等待;但是也有可能以機率1-p等待到下一個時間槽再傳輸。

忙則持續監聽直到通道空閒再以p機率傳送,也有可能以機率1-p等待到下一個時間槽再傳輸。

若衝突則等到下一個時間槽開始再監聽並重覆上述過程。

  • 優點:既能像非堅持演算法那樣減少衝突,又能像1-堅持演算法那樣減少媒體空閒時間的這種方案。

  • 缺點:發生衝突後還是要堅持把資料幀傳送完,造成了浪費。

解決缺點:

CSMA/CD協議:先聽再說,邊聽邊說

載波監聽多點接入/碰撞檢測CSMA/CD (carrier sense multiple access with collision detection)

  • CS:載波偵聽/監聽,每一個站在傳送資料之前以及傳送資料時都要檢測一下匯流排上是否有其他計算機在傳送數據。

  • CD:碰撞檢測(衝突檢測)斷自己在傳送資料時其他站是否也在傳送資料。“邊傳送邊監聽”,介面卡邊傳送資料邊檢測通道上訊號電壓的變化情況,以便判斷自己在傳送資料時其他站是否也在傳送資料。如果有別的站點在傳送,那就立刻叫停,防止浪費

為什麼先聽還會發生衝突?(因為有傳播時延對載波監聽的影響)

image-20240313173407185

注意的點:

  • 碰撞後水變渾了,於是到目的地後發現了碰撞。
  • 單程端到端時延τ
  • B端傳送資訊b,到接受資訊a的所用時間名叫δ
  • 發生碰撞到B檢測到:二分之一δ
  • A檢測到碰撞停發時間:2τ-δ
  • 最遲多久才能知道自己傳送的資料有沒有發生碰撞?2τ!!!!!!!!δ趨近於0。

只要經過2t時間還沒有檢測到碰撞,就能肯定這次傳送不會發生碰撞。

2τ又叫:

匯流排的端到端往返傳播時延

爭用期/衝突視窗/碰撞視窗

截斷二進位制質數規避演算法(二進位制回退演算法)

image-20240313174011534

舉個例子:

第一次重傳,k=1,r從{0,1}中選,則重傳推遲時間為0或者2τ

若再次碰撞,則在第二次重傳時, k=2,r從{0, 1, 2, 3}選;

重傳推遲時間為0或 2t或 4t或 6t,在這四個時間中隨機選一個;

若再次碰撞,則第三次重傳時,k=3,r從{0, 1,2,3,4,5,6,7}選...…

16次以後仍不成功,寄!

若連續多次發生衝突,就表明可能有較多的站參與爭用通道。

使用此演算法可使重傳需要推遲的平均時間隨重傳次數的增大而增大,因而減小發生碰撞的機率,有利於整個系統的穩定。

  • 例:在乙太網的二進位制回退演算法中,在11次碰撞之後,站點會在0~(?)之間選擇一個隨機數。

第11次碰撞,本來k要取11,但是因為k不超過10,所以k=10.

r從{0, 1,2,3,……,1023}選。這個1023是2^10-1

最小幀長

幀的傳輸時延至少要兩倍於訊號在匯流排中的傳播時延。否則無法應用碰撞檢測重傳。

image-20240313174616555

乙太網規定最短幀長為64B,凡是長度小於64B的都是由於衝突而異常終止的無效幀。

CSMA/CA協議:非常有禮貌捏

載波監聽多點接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)

為什麼要有?

CSMA/CA應用於無線區域網。

因為無法360°全面檢測碰撞

隱蔽站問題:當A和C都檢測不到訊號,認為通道空閒時,同時向終端B傳送資料幀,就會導致衝突.

  • 傳送資料前,先檢測通道是否空閒。

  • 空閒則發出RTS (request to send) , RTS包括髮射端的地址、接收端的地址、下一份資料將持續傳送的時間等資訊;通道忙則等待。

  • 接收端收到RTS後,將響應CTS (clear to send) 。

  • 傳送端收到CTS後,開始傳送資料幀(同時預約通道:傳送方告知其他站點自己要傳多久資料)

  • 接收端收到資料幀後,將用CRC來檢驗資料是否正確,正確則響應ACK幀。

  • 傳送方收到ACK就可以進行下一個資料幀的傳送,若沒有則一直重傳至規定重發次數為止(採用二進位制指數退避演算法來確定隨機的推遲時間)。

1、預約通道 2、ACK確認幀 3、RTS/CTS幀:

CSMA/CD 和CSMA/CA的區別image-20240313175437712

但是CD一定是16次。CA不一定嗷

相關文章