簡介
CSMA/CD(Carrier Sense Multiple Access/Collision Detection),在乙太網中使用隨機爭用型的介質訪問控制方法,即衝突檢測的載波監聽多路訪問的方法。它起源於美國夏威夷大學開發的ALOHA網所採用的爭用型協定,並進行了改進,使之具有比ALOHA協定更高的介質利用率。
工作原理
CSMA/CD的基本原理是:每個節點都共享網路傳輸信道,在每個站要傳送數據之前,都會檢測信道是否空閒,如果空閒則傳送,否則就等待;在傳送出信息後,則對衝突進行檢測,當發
現衝突時,則取消傳送。我們可以藉助於生活中的一個例子來解釋:假設有這一層樓,兩旁住了幾十戶人,中間只有一條僅供一人同行的走道。我們看情況會怎么樣:①當這些住戶要經過走道出來時,首先探出頭來看看走道上有沒有人(這就是載波監聽),如果沒有,就通過走道出來;②如果走道上有人走,那么就一直盯著走道,直到走道上沒人時再出來(1-堅持監聽算法);③如果有兩人同時看到走道上沒有人,而同時走向走道(衝突檢測),則兩個人發現時就馬上回到自己屋裡。在整個協定中最關鍵的是載波監聽、衝突檢測兩部分。其它
數據鏈路層的功能
1. 在物理層中把依賴於媒體的特性分離出來,使得LLC子層和MAC子層能適用於一系列媒體。在物理層內定義了兩個重要的兼容接口,即依賴於媒體的媒體相關接口MDI和訪問單元接口AUI。MDI是一個同軸電纜接口,所有站都必須嚴格遵守IEEE 802.3定義的物理媒體信號的確切技術規範,嚴格遵守站點正確動作的規程,要求這個物理媒體接口完全兼容;AUI為第二兼容接口,大多數站點都設在離開同軸電纜的連線處有一段距離的地方,在與同軸電纜靠近的MAC中只有少量電路,而大部分硬體和全部軟體都在站點中,對於確保通信來說,符合這個接口並不是絕對必要的,但是由於它允許在MAC和站配合使用時有極大的靈活性,所以推薦這個接口。
MAC子層和LLC子層之伺的接口,包括傳送和接收幀的設施,並提供每個操作的狀態信息,以供高一層差錯恢復規程之用, MAC子層和物理層之間的接口,包括成幀、載波監聽、啟動傳輸和解決爭用(衝突控制)的信號,在兩層間傳送一對串列比特流(傳送、接收)的設施和用於定時等待的功能。
2.MAC的幀結構
MAC幀是在MAC子層實體間交換的協定數據。幀的格式如圖6.16所示。幀的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子層的功能說明,主要有數據封裝和媒體訪問管理兩個方面, MAC功能模組如圖6.17所示。數據封裝(傳送和接收數據封裝)包括成幀(幀定界和幀同步)、編址(源地址及目的地址的處理)和差錯檢測等。媒體訪問管理包括媒體分配和競爭處理。
(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比特
衝突檢測的方法
衝突檢測的方法很多,通常以硬體技術實現。一種方法是比較接收到的信號的電壓大小。只要接收到的信號的電壓擺動值超過某一門限值,就可以認為發生了衝突。另一種方法是在傳送幀的同時進行接收,將收到的信號逐比特地與傳送的信號相比較,如果有不符合的,就說明出現了衝突。