計算機網絡-鏈路層(2)多路訪問控制協議(multiple access control protocol)


單一共享廣播信道,如果兩個或者兩個以上結點同時傳輸,會互相干擾(interference)
沖突(collision):結點同時接收到兩個或者多個信號→接收失敗!
MAC協議采用分布式算法決定結點如何共享信道,即決策結點何時可以傳輸數據。
其必須基於信道本身,通信信道共享協調信息。無帶外信道用於協調。
  • 信道划分(channel partitioning)MAC協議
TDMA: time division multiple access
TDM 將時間划分為時間幀(timeframe),並進一步划分每個時間幀為N個時隙(slot)
每個站點在每個時間幀,占用固定長度的時隙(長度=分組傳輸時間);未用時隙空閑(idle)
如圖:6站點LAN,134傳輸分組,256空閑
FDMA: frequency division multiple access
信道頻譜划分為若干頻帶(frequency bands)
每個站點分配一個固定的頻帶,不會沖突但信道利用率可能不高;無傳輸頻帶空閑
如圖:6站點LAN, 134頻帶傳輸數據,256頻帶空閑。
CDMA: code division multiple access
每個用戶分配一個唯一的m bit碼片序列(chipping sequence),其中“0”用“-1”表示、“1”用“+1”表示。
各用戶碼片序列相互正交(orthogonal)
各用戶使用相同頻率載波,利用各自碼片序列編碼數據,編碼信號= (原始數據) × (碼片序列)
如發送比特 1(+1),則發送自己的m bit 碼片序列
如發送比特 0(-1),則發送該碼片序列的m bit 碼片序列的反碼
接收端收到的是各用戶的疊加向量,用發送端的碼片序列與收到的編碼信號求內積則可解碼
  • 隨機訪問(random access)MAC協議
當結點要發送分組時,利用信道全部數據速率R發送分組,沒有事先的結點間協調
兩個或多個結點同時傳輸時會發生沖突,因此需要定義:如何檢測沖突、如何從沖突中恢復 (如通過延遲重傳)
時隙ALOHA協議
所有幀大小相同
時間被划分為等長的時隙(每個時隙可以傳輸1個幀),結點間時鍾同步
結點只能在時隙開始時刻發送幀,當結點有新的幀時在下一個時隙(slot)發送
如果2個或2個以上結點在同一時隙發送幀,結點即檢測到沖突
如果無沖突:該結點可以在下一個時隙繼續發送新的幀
如果沖突:該結點在下一個時隙以概率p重傳該幀,直至成功
優點:
(1)單個結點活動時,可以連續以信道全部速率傳輸數據
(2)高度分散化:只需同步時隙
(3)簡單
缺點:
(2)沖突時會浪費時隙
(2)存在空閑時隙
(3)結點也許能以遠小於分組傳輸時間檢測到沖突,不過檢測到沖突也沒有意義,因為時隙ALOHA協議只允許在時隙開始時發送數據幀
(4)需要時鍾同步
假設: N個結點有很多幀待傳輸,每個結點在每個時隙均以概率p發送數據
對於給定的一個結點,在一個時隙將幀發送成功的概率= p(1-p) N-1
對於任意結點成功發送幀的概率= Np(1-p) N-1
最大效率: 求得使Np(1-p) N-1最大的p*
對於很多結點,求Np*(1-p*) N-1當N趨近無窮時的極限,可得最大效率=1/e≈0.37
非時隙ALOHA協議
無需時鍾同步,更加簡單
當有新的幀產生時,立刻發送
沖突可能性增大:在t0時刻發送幀,會與在[t0-1, t0+1]期間其他結點發送的幀沖突
易損時間區為[t0-1, t0+1],是時隙ALOHA協議的兩倍
P(給定結點成功發送幀) = P(該結點發送)*P(無其他結點在[t 0-1, t 0]期間發送幀)*P(無其他結點在[t 0, t 0+1]期間發送幀)
= p·(1-p) N-1·(1-p) N-1
= p·(1-p) 2(N-1)
選取最優的p,當N趨近無窮時的極限=1/(2e)≈0.18,比時隙ALOHA更差
載波偵聽多路訪問協議 CSMA(carrier sense multiple access)協議
載波偵聽:發送幀之前,監聽信道(載波):
    信道空閑:發送完整幀
    信道忙:推遲發送
        1-堅持CSMA:以概率p=1一直堅持監聽信道
        非堅持CSMA:不堅持監聽信號,等待一段時間再監聽
        P-堅持CSMA
沖突可能仍然發生:信號傳播延遲,或者同時發送了數據幀
廣播信道的端到端信道傳播時延越長,載波偵聽結點不能偵聽到網絡中另一個結點巳經開始傳輸的機會就越大
如圖:B已經開始傳輸,但由於信號傳輸延遲,D不能偵聽到,因此也開始了傳輸。但即使出現沖突也必須將數據幀發送完,會浪費信道資源。
具有碰撞檢測的載波偵聽多路訪問協議 CSMA/CD (CSMA with CollisionDetection)協議
應用於以太網
碰撞檢測:當一個傳輸結點在傳輸時一直在偵聽此信道。如果它檢測到另一個結點正在傳輸干擾幀,它就停止傳輸
有線局域網易於實現:測量信號強度,比較發射信號與接收信號
無線局域網很難實現:接收信號強度淹沒在本地發射信號強度下
如圖:短時間內可以檢測到沖突(檢測到疊加信號),沖突后傳輸中止,減少信道浪費
網絡帶寬:R bps
數據幀最小長度:Lmin(bits)
信號傳播速度:V(m/s)
數據幀發送完成前,A必須收到B處傳來的沖突L / R ≥ 2dmax/ V
Lmin/ R = 2dmax/ V
可能還有一些延遲時間,RTT > d / V ,得Lmin/ R= RTTmax
Tprop= LAN中2個結點間的最大傳播延遲
ttrans= 最長幀傳輸延遲,對於10Mbps,傳輸最大長度的以太網幀的時間近似為1.2ms
Tprop趨近於0或者ttrans趨近於∞時,效率趨近於1
遠優於ALOHA,並且簡單、分散!
避免沖突的載波偵聽多路訪問協議  CSMA/CA(CSMAwith Collision Avoidance)協議
802.11無線局域網中,不能像CSMA/CD那樣,邊發送、邊檢測沖突,原因為:
(1)檢測碰撞的能力要求站點具有同時發送(站點自己的信號)和接收(檢測其他站點是否也在發送)的能力。因為在802. 11適配器上,接收信號的強度通常遠遠小於發送信號的強度,制造具有檢測碰撞能力的硬件代價較大。
(2)無法偵聽到所有可能的沖突:隱藏站、信號衰落
802.11發送端:
(1)如果監聽到信道空閑了 分布式幀間間隔DIFS后,則在發送 整個幀(發送的同時不檢測沖突)
發送端首先利用CSMA向BS發送一個很短的請求發送(request-to-send,RTS)控制幀預約信道,而不是隨機發送數據幀,利用小預約幀避免長數據幀的沖突。RTS幀仍然可能彼此沖突(但RTS幀很短)
AP廣播一個很短的 允許發送( clear-to-send,CTS)控制幀作為對RTS的響應,CTS幀可以被所有結點接收,以消除隱藏站影響
發送端可以發送數據幀,其他結點推遲發送
(2)如果監聽到信道忙,則選取 隨機回退值
            當信道空閑時,計時器倒計時
            當計時器超時時,發送幀
(3)如果沒有收到ACK,則增加隨機退避間隔時間,重復(2)
802.11接收端:
如果正確接收幀,則在延遲 短幀間間隔SIFS后,向發送端發送ACK(由於存在隱藏站問題)
  • 輪流訪問MAC協議
輪詢協議
主結點以循環的方式輪詢每個結點(向結點發送一個報文,告訴它能夠傳輸的楨的最多數掀)
從屬結點發送數據(被邀請且有數據才會發送數據)
缺點:
(1)輪詢數據幀存在輪詢開銷
(2)主結點必須依次輪詢每一個非活躍結點,活躍結點等待輪詢存在等待延遲
(2)單點故障問題
令牌傳遞協議
控制令牌(小的特殊幀)依次從一個結點傳遞到下一個結點。
當一個結點收到令牌且它有一些幀要發送時,它持有令牌並發送最大數目的幀數;否則,它立即向下一個結點轉發該令牌。
缺點:
(1)令牌開銷
(2)令牌丟失,則必須調用某些恢復步驟使令牌返回到循環中來
(3)令牌依次傳遞,結點必須等待令牌存在等待延遲
(4)單點故障問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM