1. 在網絡鏈路傳輸數據的時候如何協調多個發送和接收節點對一個共享廣播信道的訪問,也就是所謂的多路訪問問題,因為所有的節點都能傳輸幀,兩個以上的節點可能會同時傳輸幀。當發生這種情況時,所有節點同時接到多個幀;也就是說,傳輸的幀在所有接收方處發生碰撞了。通常,碰撞幀的信號糾纏在一起。因此,涉及此次碰撞的所有幀都丟失了。
2. 純ALOHA:基本思想就會當用戶有數據的時候就直接發送並通過信號的反饋檢測信道以確定發送是否成功。如發送失敗,則經隨機延時后再發送。
沖突的幾率很大。
3. 分槽ALOHA:把時間分成時隙(時間片),時隙的長度對應一幀的傳輸時間,新幀的產生是隨機的,但分隙ALOHA不允許隨機發送,凡幀的發送必須在時隙的起點。
沖突只發生在時隙的起點,沖突發生時只浪費一個時隙,一旦某個站占用時隙並發送成功,則在該時隙內不會出現沖突。最大吞吐量大概是純ALOHA的兩倍。
4. CSMA(載波監聽多路訪問)是在ALOHA協議上面做了更多改進並且應用於現實中MAC層截止訪問控制(MAC)的協議。所謂載波監聽,就是“講前先聽”。網絡站點監聽載波(別的用戶的數據)是否存在並隨之采取相應的行動。
1. 1-堅持CSMA
所謂1-堅持指的是對於監聽信道忙之后的堅持。它的思想是:如果一個主機要發送消息,那么它先監聽信道,如果空閑,那么直接傳輸,不必等待。如果信道忙(有別人在傳輸),那么一直堅持監聽,直到空閑馬上傳輸。如果自己發送的時候監聽到了沖突,那么停止發送,等待一個隨機長的時間,再監聽,並重復上面過程。
2.非堅持CSMA
所謂非堅持指的是對於監聽信道忙之后的就不繼續監聽。它的思想是:如果一個主機要發送消息,那么它先監聽信道,如果空閑,那么直接傳輸,不必等待。如果信道忙(有別人在傳輸),那么不再監聽,等待一個隨機的時間之后再進行監聽。
3. p堅持CSMA
所謂p-堅持指的是對於監聽信道空閑的處理。它的思想是:如果一個主機要發送消息,那么它先監聽信道,如果空閑,那么有概率p直接傳輸,不必等待,概率1-p等待到下一個時間槽再傳輸。如果信道忙(有別人在傳輸),那么等待一個時間槽再進行上面的操作。
5. 帶沖突檢測的CSMA協議
所謂帶沖突檢測的CSMA,就是CSMA/CD。這也是實際中使用的協議。它的具體思想是:在發送之前先監聽信道。如果介質空閑,則馬上傳輸。如果介質正在忙,則一直監聽到信道空閑,立刻傳輸。如果檢測到沖突,那么立刻停止傳輸,等待一個隨機的時間,之后再重復上面的步驟
如何檢測到沖突?如何認為自己的消息沒有遇到沖突呢?
檢測到沖突其實很簡單。消息發送的過程中主機進行監聽,如果發現信道上面的電平值和自己發送端的電平值不相同,那么它就認為自己發送的時候有別人進行發送,也就是說信道發生了沖突。那么這個監聽過程應該持續多長呢?換句話說,我監聽多長時間沒有監聽到沖突,就認為我的消息成功發送了呢?我們假設AB是兩個局域網中相距最遠的節點,並且從一端傳遞到另一端所需要的時間為τ。我們考慮極端的情況:假設A發送到B的消息,在馬上就到達B的時候,B突然發送了消息發生沖突。那么這個沖突信號再傳遞給A,這個過程應該持續2τ。也就是說,在消息最后一比特監聽時間持續了2τ之后,還沒有檢測到沖突,那么認為消息應該已經無沖突的到達。