|
|
電信博物館 > 計算機網絡 > 嫦娥孤凄與誰鄰
> 百舸爭流以太網
眼明手快搶先機
IEEE802.3或Ethernet所用的媒體訪問法為“帶有碰撞檢測的載波偵聽多路訪問”(CSMA/CD)。很拗口。但如果分開來看,你會明白Ethernet如何工作(如果你想知道)。
“載波偵聽”(CS,Carrier Sense)意思是當計算機(工作站)想在網絡電纜上發送信息時,它首先傾聽電纜,看是否有別人已經送了信息。如它未聽到電纜上有別的信息,計算機就認為電纜是可用的,可發送信息。
“多路訪問”(MA,Multiple Access)意思是無法防止兩臺以上的計算機同時發送信息。當然,發送前每臺計算機都在傾聽。但假如兩臺計算機同時傾聽而什么也沒聽到,然后各自開始發送信息呢?設想一下,當你和別人同時到達十字路口,你揮手讓他過,他揮手讓你過,你再揮手,他又揮手,這時你們誰也過不了。
“帶有碰撞檢測”(CD,with Collision Detection)意思是計算機向網上傳送信息后,它就仔細傾聽,看信息是否碰到另一條信息。類似于在十字路口傾聽剎車聲。如果計算機聽到了剎車聲,它就等待一段隨機時間,再試發送。因為延遲是隨機的,碰撞的兩條信息經過不同的延遲時間后再次發送,仍可能再次碰撞。
按照這種方法,一個工作站在發送前,首先偵聽媒體上是否有活動,即稱為“談前聽”協議。所謂活動是指媒體上有無傳輸,也就是載波是否存在。如果偵聽到有載波存在,工作站便推遲自己的傳輸。在偵聽的結果為媒體空閑時,則立即開始進行傳輸。在偵聽到媒體忙而等待傳輸情況下,當傳輸中的幀最后一個數據位通過后,應繼續等待至少9.6uμs,以提供適當的幀間間隔,隨后便可進行傳輸。
如果兩個工作站同時試圖進行傳輸,將會造成廢幀,這種現象稱為碰撞,并認為是一種正常現象,因以為媒體上連接的所有工作站的發送都基于媒體上是否有載波,所以稱為載波偵聽多路訪問(CSMA)。為保證這種操作機制能夠運行,還需要具備檢測有無碰撞的機制,這便是碰撞檢測(CD)。也就是說,在一個工作站發送過程中仍要不斷檢測是否出現碰撞。出現碰撞的另一種情況是由下述原因造成的,即信號在LAN上傳播有一定時延,對于粗纜而言,信號在其上的傳播速度是光速的77%。對于細纜,在其上的傳播速度為光速的65%。由于這種傳播時延,雖然LAN上某一工作站已開始發送,但由于另外一工作站尚未檢測到第一站的傳輸也啟動發送,從而造成碰撞。
而且,幀長度要足以在發完之前就能檢測到碰撞,否則碰撞檢測就失去意義。因此,在IEEE802.3標準中定義了一個間隙時間,其大小為住往返傳播時間與和為強化碰撞而有意發送的干擾序列時間之和。這個間隙時間可用來確定最小的MAN幀長。
檢測到碰撞之后,涉及該次碰撞的站要丟棄各自開始的傳輸,轉而繼續發送一種特殊的干擾信號,使碰撞更加嚴重以便警告LAN上的所有工作站,碰撞出現了!在此之后,兩個碰撞的站都采退避策略,即都設置一個隨機間隔時間,另有當此時間間隔滿期后才能啟動發送。當然如果這兩個工作站所選的隨機間隔時間相同,碰撞將會繼續產生。為避免這種情況的出現,退避時間應為一個服從均勻分布的隨機量。同時,由于碰撞產生的重傳加大了網絡的通信流量,所以當出現多次碰撞后,它應退避一個較長的時間。
[上一頁] [下一頁]
|
|
|