1. 程式人生 > >計算機網路——CSMA/CD協議

計算機網路——CSMA/CD協議

區域網的資料鏈路層

區域網的特點是網路為一個單位所擁有,且地理和站點數目均有限
區域網的優點:
(1)具有廣播功能,從一個站點可以很方便地訪問全網,區域網上的主機可共享連線在區域網上的各種硬體和軟體資源
(2)便於系統的擴充套件和逐漸地演變,各裝置的位置可靈活調整和改變
(3)提高了系統的可靠性、可用性和生存性。
共享通道要著重考慮的一個問題就是如何使眾多使用者能夠合理而方便地共享通訊媒體資源。
(1)靜態劃分通道,使用者只要分配到了通道就不會和其他使用者發生衝突。但代價較高。
(2)動態接入控制,又稱為多點接入,其特點是通道並非在使用者通訊時固定分配給使用者。
隨機接入

所有的使用者可以隨機地傳送資訊。如果恰巧又兩個或者更多的使用者在同一時刻傳送訊息,那麼在共享媒體上就會產生碰撞。
受控接入 使用者不能隨機地傳送資訊而必須服從一定的控制。

IEEE 802委員會把區域網的資料鏈路層拆分成兩個子層,即邏輯鏈路控制LLC媒體接入控制MAC兩個子層。與接入到傳輸媒體有關的內容都放在MAC子層,而LLC子層與傳輸媒體無關,不管採用何種傳輸媒體和MAC子層的區域網對LLC子層來說都是透明的。

CSMA/CD協議

匯流排的特點是:當一臺計算機發送資料時,總線上的所有計算機都能檢測到這個資料。這種就是廣播通訊方式。為了在總線上實現一對一的通訊,可以使每一臺計算機的介面卡擁有一個與其他介面卡都不同的地址。在傳送資料楨時,在幀的首部寫明接收站的地址。僅當資料幀中的目的地址與介面卡ROM中存放的硬體地址一致時,該介面卡才能接收這個資料幀。(由此可以通過網絡卡的混合模式來做網路嗅探)。
為了通訊的簡便,乙太網採取了以下兩種措施:
1)採用較為靈活的無連線的工作方式,即不必先建立連線就可以直接傳送資料。介面卡對傳送的資料幀不進行編號,也不需要對方回發確認。這樣做可以使乙太網工作起來非常簡單。所以乙太網提供的服務是盡最大努力的交付

,即不可靠服務
對有差錯重傳則由高層來決定,但乙太網並不知道這是重傳幀,而是當作新的資料幀來傳送。

2)乙太網傳送的資料都使用曼徹斯特編碼訊號。

CSMA/CD協議要點:
多點接入 許多計算機以多點接入的方式連線在一根總線上。協議的實質是“載波監聽”和“碰撞檢測”。
載波監聽 就是監聽通道,不管在傳送前,還是在傳送中,每個站都必須不停地檢測通道。
在傳送前檢測通道,是為了獲得傳送權。在傳送中檢測通道,是為了及時發現有沒有其他站的傳送和本站傳送的碰撞。
碰撞檢測 介面卡邊發邊檢測通道上的訊號電壓的變化情況,以便判斷自己在傳送資料時其他站是否也在傳送資料。當幾個站同時在總線上傳送資料時,總線上的訊號電壓變化幅度將會增大(相互疊加)
由於電磁波在1km電纜的傳播時延為5us

因此,A向B傳送的資料,在約5us後才能傳送到B。
顯然,在使用CSMA/CD協議時,一個站不可能同時進行傳送和接收。因此使用CSMA/CD協議的乙太網不可能進行全雙工通訊而只能進行半雙工通訊
每個站在自己傳送資料之後的一小段時間內,存在著遭遇碰撞的可能性。因此乙太網不能保證某一段時間之內一定把自己的資料幀成功地傳送出去。
最先發送資料幀的A站,在傳送資料幀後至多經過時間2t就可以知道所傳送的資料幀是否遭受了碰撞。因此這個時間段稱為爭用期。爭用期又稱為碰撞視窗,經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次傳送不會發生碰撞。
乙太網使用截斷二進位制指數退避演算法來確定碰撞後重傳的時機。
乙太網規定了最短幀長度為64位元組,即512bit。如果要傳送的資料非常少,那麼必須加入一些填充位元組,使幀長不小於64位元組。對於10Mb/s,傳送512bit的時間需要51.2us,也就是上面提到的爭用期。
由此可見,乙太網在傳送資料時,如果在爭用期沒有發生碰撞,那麼後續傳送的資料就一定不會發生衝突。如果發生碰撞,就一定是在傳送前64位元組之內。
因此 凡長度小於64位元組的幀都是由於衝突而一場中止的無效幀
乙太網還規定了幀間最小間隔為9.6us相當於96位元時間。

CSMA/CD協議的要點如下:
(1)準備傳送:介面卡從網路層獲得一個分組,加上乙太網的首部和尾部,組成乙太網幀,放入介面卡的環從中。但在傳送之前,必須首先檢測通道。
(2)檢測通道:若檢測到通道忙,則不停地檢測,一直等待通道轉為空閒。若檢測到通道空閒,並在96位元時間內通道保持空閒(保證幀間最小間隔),就傳送這個幀。
(3)在傳送過程中仍不停地檢測通道,即網路介面卡要邊發邊監聽。

乙太網的MAC層

1.MAC層的硬體地址
在區域網中,硬體地址又稱為實體地址或者MAC地址。在所有計算機系統的設計中,標識系統都是一個核心問題。在標識系統中,地址就是為識別某個系統的一個非常重要的識別符號。
名字指出我們所要尋找的那個資源,地址指出那個資源在何處,路由告訴我們如何到達該處。