計(jì)算機(jī)網(wǎng)絡(luò)-CSMA/CD協(xié)議
目錄
1 前言
最初的以太網(wǎng)是將許多計(jì)算機(jī)都連接到一根總線上。易于實(shí)現(xiàn)廣播通信。當(dāng)初認(rèn)為這樣的連接方法既簡單又可靠,因?yàn)榭偩€上沒有有源器件,總線上每一個(gè)計(jì)算機(jī)都能檢測到其他計(jì)算機(jī)發(fā)出的信號,這就是廣播通信方式
但有時(shí)我們想一對一的通信,這種情況下就要在發(fā)送數(shù)據(jù)幀的首部中寫明接收主機(jī)的地址,如圖,若B向D發(fā)送數(shù)據(jù)時(shí),可以指明接收主機(jī)D的地址,由于只有D的地址和數(shù)據(jù)中的接收地址相同,所以只有D接收到數(shù)據(jù),其他主機(jī)檢測到不是發(fā)給自己的數(shù)據(jù)則會(huì)丟棄數(shù)據(jù),這樣就在廣播通信中實(shí)現(xiàn)了一對一的通信
2 以太網(wǎng)采取了兩種重要的措施
為了通信的簡便,以太網(wǎng)采取了兩種重要的措施:
采用較為靈活的無連接的工作方式以太網(wǎng)發(fā)送的數(shù)據(jù)都使用曼徹斯特 () 編碼 2.1 無連接的工作方式 2.2 使用曼徹斯特 () 編碼
關(guān)于曼徹斯特 () 編碼,可參考我的這篇文章 計(jì)算機(jī)網(wǎng)絡(luò)-關(guān)于信號的調(diào)制
2.3 存在的問題
總線型以太網(wǎng)在同一時(shí)間內(nèi)只允許一臺(tái)計(jì)算機(jī)發(fā)送數(shù)據(jù),那么該如何協(xié)調(diào)各個(gè)計(jì)算機(jī)之間的工作?下面介紹的 CSMA/CD協(xié)議 就是解決方案
3 CSMA/CD協(xié)議
CSMA/CD的工作流程圖:
3.1 存在的問題
既然每一個(gè)發(fā)送站在發(fā)送之前都已經(jīng)檢測到信道當(dāng)前為“空閑”那為何還會(huì)出現(xiàn)“碰撞”呢?
這是因?yàn)閿?shù)據(jù)電磁波在總線上傳輸時(shí)是以有限的速度傳播的,如某個(gè)發(fā)送站監(jiān)聽到總線是空閑時(shí),總線并非真的是空閑的,如下圖中A,B兩個(gè)站點(diǎn)距離為1km,之間用同軸電纜相連,電磁波在1km電纜上的傳播時(shí)延大約為5ms,因此從A發(fā)向B的信息,大約要經(jīng)過5ms才能到達(dá)B,若B在A發(fā)送給自己的消息之前也發(fā)送了一個(gè)數(shù)據(jù)出去,則必然在某個(gè)時(shí)間,B發(fā)出的數(shù)據(jù)會(huì)和A發(fā)出的數(shù)據(jù)在總線上發(fā)生碰撞
我們把總線上端到端的一趟時(shí)間記為 τ,圖中當(dāng)τ為0時(shí)A發(fā)送數(shù)據(jù),B檢測到總線為空閑,在時(shí)間 τ-δ 時(shí),A發(fā)送的數(shù)據(jù)還沒有到達(dá)B,B因?yàn)闄z測到總線空閑,就開始發(fā)送數(shù)據(jù),設(shè)在τ-δ/2 時(shí),發(fā)生了碰撞,這時(shí)由于數(shù)據(jù)還在總線上傳輸,A和B都不知道數(shù)據(jù)發(fā)生了碰撞,但當(dāng) t=τ 時(shí),A的數(shù)據(jù)發(fā)送到B了,B就檢測到碰撞了于是停止發(fā)送數(shù)據(jù),在時(shí)間 t=2τ-δ 時(shí),B發(fā)送給A的數(shù)據(jù)到達(dá)了A,A檢測到了碰撞,也停止發(fā)送了數(shù)據(jù)
3.2 重要特性 3.3 爭用期
爭用期的長度:
最短有效幀長:
3.4 二進(jìn)制指數(shù)類型退避算法 ( type)
發(fā)生碰撞的站在停止發(fā)送數(shù)據(jù)后,要推遲(退避)一個(gè)隨機(jī)時(shí)間才能再發(fā)送數(shù)據(jù),這個(gè)隨機(jī)時(shí)間就要用到二進(jìn)制指數(shù)類型退避算法:
確定基本退避時(shí)間,一般是取為爭用期 2τ定義重傳次數(shù) k ,k ≤ 10,即 k = Min[重傳次數(shù), 10]從整數(shù)集合[0,1,…, (2k2^k2k -1)]中隨機(jī)地取出一個(gè)數(shù),記為 r。重傳所需的時(shí)延就是 r 倍的基本退避時(shí)間當(dāng)重傳達(dá) 16 次仍不能成功時(shí)即丟棄該幀,并向高層報(bào)告 3.5 強(qiáng)化碰撞
當(dāng)發(fā)送數(shù)據(jù)的站一旦發(fā)現(xiàn)發(fā)生了碰撞時(shí):