複製鏈接
請複製以下鏈接發送給好友

CSMA/CD協議

鎖定
CSMA/CD(Carrier Sense Multiple Access/collision detection,帶有衝突檢測的載波偵聽多路存取)是IEEE 802.3使用的一種媒體訪問控制方法。從邏輯上可以劃分為兩大部分:數據鏈路層的媒體訪問控制子層(MAC)和物理層。它嚴格對應於OSI開放系統互連模式的最低兩層。LLC子層MAC子層在一起完成OSI模式的數據鏈路層的功能。
CSMA/CD的基本原理是:所有節點都共享網絡傳輸信道,節點在發送數據之前,首先檢測信道是否空閒,如果信道空閒則發送,否則就等待;在發送出信息後,再對沖突進行檢測,當發現衝突時,則取消發送。
中文名
CSMA/CD協議
外文名
Carrier Sense Multiple Access/collision detection
縮    寫
CSMA/CD
起    源
ALOHA網

CSMA/CD協議簡介

CSMA/CD(Carrier Sense Multiple Access/Collision Detection),在以太網中使用隨機爭用型的介質訪問控制方法,即衝突檢測載波監聽多路訪問的方法。它起源於美國夏威夷大學開發的ALOHA網所採用的爭用型協議,並進行了改進,使之具有比ALOHA協議更高的介質利用率。 [1] 

CSMA/CD協議工作原理

CSMA/CD的基本原理是:每個節點都共享網絡傳輸信道,在每個站要發送數據之前,都會檢測信道是否空閒,如果空閒則發送,否則就等待;在發送出信息後,則對沖突進行檢測,當發現衝突時,則取消發送。 [2] 

CSMA/CD協議特點

CSMA/CD是一種爭用型的介質訪問控制協議。它起源於美國夏威夷大學開發的ALOHA網所採用的爭用型協議,並進行了改進,使之具有比ALOHA協議更高的介質利用率。主要應用於現場總線Ethernet中。另一個改進是,對於每一個站而言,一旦它檢測到有衝突,它就放棄它當前的傳送任務。換句話説,如果兩個站都檢測到信道是空閒的,並且同時開始傳送數據,則它們幾乎立刻就會檢測到有衝突發生。它們不應該再繼續傳送它們的幀,因為這樣只會產生垃圾而已;相反一旦檢測到衝突之後,它們應該立即停止傳送數據。快速地終止被損壞的幀可以節省時間和帶寬。

CSMA/CD協議優點

CSMA/CD控制方式的優點是:
原理比較簡單,技術上易實現,網絡中各工作站處於平等地位 ,不需集中控制,不提供優先級控制。但在網絡負載增大時,發送時間增長,發送效率急劇下降。

CSMA/CD協議主要目的

CSMA/CD採用IEEE 802.3標準。
它的主要目的是:提供尋址和媒體存取的控制方式,使得不同設備或網絡上的節點可以在多點的網絡上通信而不相互衝突。
有人將CSMA/CD的工作過程形象的比喻成很多人在一間黑屋子中舉行討論會,參加會議的人都是隻能聽到其他人的聲音。每個人在説話前必須先傾聽,只有等會場安靜下來後,他才能夠發言。人們將發言前監聽以確定是否已有人在發言的動作稱為"載波監聽";將在會場安靜的情況下每人都有平等機會講話成為“多路訪問”;如果有兩人或兩人以上同時説話,大家就無法聽清其中任何一人的發言,這種情況稱為發生“衝突”。發言人在發言過程中要及時發現是否發生衝突,這個動作稱為“衝突檢測”。如果發言人發現衝突已經發生,這時他需要停止講話,然後隨機後退延遲,再次重複上述過程,直至講話成功。如果失敗次數太多,他也許就放棄這次發言的想法。通常嘗試16次後放棄。 [3] 

CSMA/CD協議其它

CSMA/CD協議數據鏈路層的功能

1. 在物理層中把依賴於媒體的特性分離出來,使得LLC子層和MAC子層能適用於一系列媒體。在物理層內定義了兩個重要的兼容接口,即依賴於媒體的媒體相關接口MDI和訪問單元接口AUI。MDI是一個同軸電纜接口,所有站都必須嚴格遵守IEEE 802.3定義的物理媒體信號的確切技術規範,嚴格遵守站點正確動作的規程,要求這個物理媒體接口完全兼容;AUI為第二兼容接口,大多數站點都設在離開同軸電纜的連接處有一段距離的地方,在與同軸電纜靠近的MAC中只有少量電路,而大部分硬件和全部軟件都在站點中,對於確保通信來説,符合這個接口並不是絕對必要的,但是由於它允許在MAC和站配合使用時有極大的靈活性,所以推薦這個接口。
MAC子層和LLC子層之伺的接口,包括髮送和接收幀的設施,並提供每個操作的狀態信息,以供高一層差錯恢復規程之用, MAC子層和物理層之間的接口,包括成幀載波監聽、啓動傳輸和解決爭用(衝突控制)的信號,在兩層間傳送一對串行比特流(發送、接收)的設施和用於定時等待的功能。
2.MAC的幀結構
MAC幀是在MAC子層實體間交換的協議數據。幀的8個字段為:前導碼、幀起始定界符、目的地址、源地址、表示信息字段長度的長度字段、要發送的以LLC數據、需要進行填充的字段和幀校驗序列字段。這8個字段除LLC數據和填充字段外,長度都是固定的。
前導碼字段包含7個字節,它用於使PLS(物理收發信號)電路和收到的幀達到穩態同步。幀起始定界符(SFD)字段是10101011序列,它緊跟在前導碼後,表示一幀的開始。地址字段包括目的地址字段和源地址字段。目的地址字段規定該幀發往的目的地。源地址字段用於標識起始發送該幀的站。MAC子層有兩類地址:即單個地址和成組地址,單個地址説明該地址與網絡上一個特定站有關,成組地址説明是多目的地的地址,它與給定網絡上的一個或多個站有關。也可以是廣播地址,即表示網絡上所有站的一組地址。
長度字段是兩個字節字段,其值表示數據字段中LLC數據的字節數量,數據字段包含數據序列,為了CSMA/CD協議的正常操作需要一個最小幀長度,必要時可在LLC數據字段之後,FCS之前以字節為單位加以填充。幀校驗序列(FCS)字段是發送和接收都要使用循環冗餘校驗碼(CRC)算法所產生的FCS字段的CRC碼,幀的長度為64個字節到1518字節之間。
3.MAC子層的功能
IEEE 802.3標準提供了MAC子層的功能説明,主要有數據封裝和媒體訪問管理兩個方面。數據封裝(發送和接收數據封裝)包括成幀幀定界幀同步)、編址(源地址及目的地址的處理)和差錯檢測等。媒體訪問管理包括媒體分配和競爭處理。
(1)發送數據封裝部分的功能
LLC子層請求發送一幀時,MAC子層的發送數據封裝部分用LLC子層所提供的數據結構組幀,它將一個前導碼P和一個幀起始定界符SFD附加到幀的開頭部分,還將PAD附加到結尾部分,以確保傳送幀的長度滿足最小幀長的要求,它還要附加目的地址和源地址,長度計數字段和幀校驗序列,然後把組成的幀交給MAC子層的發送媒體訪問管理部分以供發送。
(2)發送媒體訪問管理部分的功能
藉助於監視物理層收發信號(PLS)部分提供的載波監聽信號,發送媒體訪問管理設法避免發送信號與媒體上其它信息發生衝突。在媒體空閒時,經短暫的幀間延遲(提供給媒體恢復時間)之後,就啓動幀發送,然後,MAC子層將串行位流送給PLS接口以供發送,PLS完成產生媒體上電信號的任務。同時,監視媒體和產生衝突檢測信號。在沒有爭用的情況下,即完成發送。完成發送後,MAC子層通過LLC與MAC間的接口通知LLC子層,等待下一個發送請求。假如產生衝突,PLS接通衝突檢測信號,接着發送媒體訪問管理開始處理衝突。首先,它發送一個稱為阻塞(Jam)的位序列來強制衝突,這就保證了有足夠的衝突持續時間,以使其它與衝突有關的發送站都得到通知,在阻塞信號結束時,發送媒體訪問管理就停止發送。
發送媒體訪問管理在隨機選擇的時間間隔後再進行重發嘗試,在重複的衝突面前反覆進行重發嘗試,發送媒體訪問管理用二進制指數退避算法調整媒體負載。然後,或者重發成功,或者媒體故障或過載的情況下,放棄重發嘗試。
(3)接收媒體訪問管理部分的功能
首先由PLS檢測到達幀,使接收與前導碼同步,並接通載波監聽信號。接收媒體訪問管理部件要檢測到達的幀是否錯誤,幀長是否超過最大長度,是否為8位的整倍數,還要過濾衝突的信號,即把小於最小長度的幀過濾掉。
(4)接收數據解封部分的功能
這一部分檢驗幀的目的地址字段,決定本站是否應該接收該幀,如地址符合,將送到LLC子層,並進行差錯檢驗。
下面列出IEEE 802.3 MAC協議的10Mbps實現方案的參數值。
參數 數值
Slot Time(時間片) 512比特時間
Inter Frame Gap(幀問間隔) 9.6微秒
attempt limit(嘗試極限) 16
Back off limit(退避極限) 10
Jam size(人為干擾長) 32比特
max Frame size(最大幀長) 1518字節
min Frame size(最小幀長) 64字節
address size(地址字段長) 48比特

CSMA/CD協議衝突檢測的方法

衝突檢測的方法很多,通常以硬件技術實現。一種方法是比較接收到的信號的電壓大小。只要接收到的信號的電壓擺動值超過某一門限值,就可以認為發生了衝突。另一種方法是在發送幀的同時進行接收,將收到的信號逐比特地與發送的信號相比較,如果有不符合的,就説明出現了衝突。
參考資料
  • 1.    劉宏立, 童調生, 段偉,等. 基於CSMA/CD協議的以太網絡性能仿真技術研究[J]. 湖南大學學報(自科版), 2002, 29(2):63-67.
  • 2.    羅桂蘭, 趙海, 張文波,等. 論CSMA/CD協議的數學原理[J]. 自動化學報, 2007, 33(5):500-505.
  • 3.    鄒曉, 肖宏年, 張明武,等. MCS51控制的CSMA/CD協議的設計及其實現[J]. 計算機工程與科學, 2002, 24(3):77-79.