簡介
工作原理
CSMA/CD的基本原理是:每個節點都共享網路傳輸信道,在每個站要傳送數據之前,都會檢測信道是否空閒,如果空閒則傳送,否則就等待;在傳送出信息後,則對衝突進行檢測,當發現衝突時,則取消傳送。我們可以藉助於生活中的一個例子來解釋:假設有這一層樓,兩旁住了幾十戶人,中間只有一條僅供一人同行的走道。我們看情況會怎么樣:①當這些住戶要經過走道出來時,首先探出頭來看看走道上有沒有人(這就是載波監聽),如果沒有,就通過走道出來;②如果走道上有人走,那么就一直盯著走道,直到走道上沒人時再出來(1-堅持監聽算法);③如果有兩人同時看到走道上沒有人,而同時走向走道(衝突檢測),則兩個人發現時就馬上回到自己屋裡。在整個協定中最關鍵的是載波監聽、衝突檢測兩部分。
特點
CSMA/CD是一種爭用型的介質訪問控制協定。它起源於美國夏威夷大學開發的ALOHA網所採用的爭用型協定,並進行了改進,使之具有比ALOHA協定更高的介質利用率。主要套用於現場匯流排Ethernet中。另一個改進是,對於每一個站而言,一旦它檢測到有衝突,它就放棄它當前的傳送任務。換句話說,如果兩個站都檢測到信道是空閒的,並且同時開始傳送數據,則它們幾乎立刻就會檢測到有衝突發生。它們不應該再繼續傳送它們的幀,因為這樣只會產生垃圾而已;相反一旦檢測到衝突之後,它們應該立即停止傳送數據。快速地終止被損壞的幀可以節省時間和頻寬。
優點
CSMA/CD控制方式的優點是:
原理比較簡單,技術上易實現,網路中各工作站處於平等地位 ,不需集中控制,不提供優先權控制。但在網路負載增大時,傳送時間增長,傳送效率急劇下降。
主要目的
CSMA/CD採用IEEE 802.3標準。
它的主要目的是:提供定址和媒體存取的控制方式,使得不同設備或網路上的節點可以在多點的網路上通信而不相互衝突。
有人將CSMA/CD的工作過程形象的比喻成很多人在一間黑屋子中舉行討論會,參加會議的人都是只能聽到其他人的聲音。每個人在說話前必須先傾聽,只有等會場安靜下來後,他才能夠發言。人們將發言前監聽以確定是否已有人在發言的動作稱為"載波監聽";將在會場安靜的情況下每人都有平等機會講話成為“多路訪問”;如果有兩人或兩人以上同時說話,大家就無法聽清其中任何一人的發言,這種情況稱為發生“衝突”。發言人在發言過程中要及時發現是否發生衝突,這個動作稱為“衝突檢測”。如果發言人發現衝突已經發生,這時他需要停止講話,然後隨機後退延遲,再次重複上述過程,直至講話成功。如果失敗次數太多,他也許就放棄這次發言的想法。通常嘗試16次後放棄。
其它
數據鏈路層的功能
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所示。
數據封裝(傳送和接收數據封裝)包括
成幀(
幀定界和
幀同步)、
編址(源地址及目的地址的處理)和差錯檢測等。媒體訪問管理包括媒體分配和競爭處理。
當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實現方案的參數值。
參數 數值
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比特
衝突檢測的方法
衝突檢測的方法很多,通常以硬體技術實現。一種方法是比較接收到的信號的電壓大小。只要接收到的信號的電壓擺動值超過某一門限值,就可以認為發生了衝突。另一種方法是在傳送幀的同時進行接收,將收到的信號逐比特地與傳送的信號相比較,如果有不符合的,就說明出現了衝突。