基本原理:當(dāng)一個節(jié)點要發(fā)送數(shù)據(jù)時,首先監(jiān)聽信道;如果信道空閑就發(fā)送數(shù)據(jù),并繼續(xù)監(jiān)聽;如果在數(shù)據(jù)發(fā)送過程中監(jiān)聽到了沖突,則立刻停止數(shù)據(jù)發(fā)送,等待一段隨機的時間后,重新開始嘗試發(fā)送數(shù)據(jù)。
(1)偵聽:
通過專門的檢測機構(gòu),在站點準(zhǔn)備發(fā)送前先偵聽一下總線上是否有數(shù)據(jù)正在傳送(線路是否忙)?
若“忙”則進(jìn)入后述的“退避”處理程序,進(jìn)而進(jìn)一步反復(fù)進(jìn)行偵聽工作。
若“閑”,則一定算法原則(“x堅持”算法)決定如何發(fā)送。
(2)發(fā)送:
當(dāng)確定要發(fā)送后,通過發(fā)送機構(gòu),向總線發(fā)送數(shù)據(jù)。
(3)檢測:
數(shù)據(jù)發(fā)送后,也可能發(fā)生數(shù)據(jù)碰撞。因此,要對數(shù)據(jù)邊發(fā)送,邊接收,以判斷是否沖突了。(參5p127圖)
(4)沖突處理:
當(dāng)確認(rèn)發(fā)生沖突后,進(jìn)入沖突處理程序。有兩種沖突情況:
a 偵聽中發(fā)現(xiàn)線路忙
b 發(fā)送過程中發(fā)現(xiàn)數(shù)據(jù)碰撞
c 若在偵聽中發(fā)現(xiàn)線路忙,則等待一個延時后再次偵聽,若仍然忙,則繼續(xù)延遲等待,一直到可以發(fā)送為止。每次延時的時間不一致,由退避算法確定延時值。
d 若發(fā)送過程中發(fā)現(xiàn)數(shù)據(jù)碰撞,先發(fā)送阻塞信息,強化沖突,再進(jìn)行偵聽工作,以待下次重新發(fā)送(方法同a)