jasmine214--love

          只有當(dāng)你的內(nèi)心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          CSMA/CD詳解

          Posted on 2010-12-16 10:24 幻海藍夢 閱讀(3755) 評論(0)  編輯  收藏 所屬分類: 通信產(chǎn)品--相關(guān)知識
           學(xué)網(wǎng)絡(luò)的人,恐怕都得知道在總線網(wǎng)絡(luò)中必須要用到CSMA/CD來傳輸數(shù)據(jù)
              CSMA/CD——帶沖突檢測的載波偵聽多路訪問機制,用來決定某一時刻介質(zhì)訪問權(quán)限問題,原理如下:所有站點共享一條傳輸線路(總線),每個站點在傳輸 數(shù)據(jù)之前都要偵聽線路上是否空閑。如果空閑,則立刻發(fā)送數(shù)據(jù);若不空閑,則等待一定時間之后再傳,其間,仍舊監(jiān)視線路空閑狀況。如果在傳輸?shù)臅r候和其他站 點產(chǎn)生了沖突,則使用退避算法后退一個隨機時間,再重傳數(shù)據(jù)。共享方式的以太網(wǎng)就是利用此機制進行數(shù)據(jù)傳輸?shù)摹?br />    

          在很多的網(wǎng)絡(luò)技術(shù)原理書籍上僅僅就是這些內(nèi)容,再多一點就不過多舉幾個例子而已。那么我這里也舉例說明一下,會更加明白一些的。

               如上圖所示,就是一個典型的總線型網(wǎng)絡(luò)拓?fù)洌F(xiàn)在我們看這樣一個過程:
               站點A準(zhǔn)備給站點B傳輸數(shù)據(jù),應(yīng)用CSMA/CD 機制,在傳輸之前站點A不斷偵聽線路上是否空閑,當(dāng)線路上空閑之時,A給B發(fā)出frame,在此同時,其他站點也在不斷偵聽線路空閑狀態(tài),恰好此時站點B 也認(rèn)為線路正好空閑,于是B向C發(fā)出frame。frame B和frame C在線路上不期而遇,產(chǎn)生了沖突,沖突給A和B分別一個提示,提示線路上有沖突,這個時候,A和B都會采取一個強化碰撞的措施,向線路發(fā)送干擾信號,這個 信號會讓所有的站點都接收到,認(rèn)為線路上產(chǎn)生了碰撞。緊接著,A與B都使用退避算法,延遲一個隨機時間接著重傳數(shù)據(jù),也就是說,雙方獲得重傳的機會是平等 的,沒有規(guī)定水先誰后,但是具體到先后則是有這個退避算法決定的,那么退避算法到底是怎么進行的呢?為什么不是有的人所認(rèn)為的先沖突先發(fā)送的機制而是平等 的機制呢?下面我就給大家講講這個退避算法的原理。
               早期以太網(wǎng)使用的退避算法稱為二進制指數(shù)類型退避算法,具體進行如下:
               1)確定基本退避時間(基數(shù)),一般定為2τ,也就是一個爭用期時間(爭用期在后面給出定義),對于以太網(wǎng)就是51.2μs。
               2)定義一個參數(shù)K,為重傳次數(shù),K=min[重傳次數(shù),10],可見K≤10。
               3)從離散型整數(shù)集合[0,1,2,……,(2^k-1)]中,隨機取出一個數(shù)記做R。
                (備注:2^k是2的k次方冪,這里上標(biāo)表示不出來,敬請原諒
               那么重傳所需要的退避時間為R倍的基本退避時間:即:T=R×2τ。
               4)同時,重傳也不是無休止的進行,當(dāng)重傳16次不成功,就丟棄該幀,傳輸失敗,報告給高層協(xié)議。
               如:第一次重傳K=1,R=0,1;T=0,2t。T在二者中隨機選擇。
               那么第二次重傳呢?K=2,R=0,1,2,3;T=0,2t,4t,6t。
               如此可見,重傳數(shù)次越多,則退避的時間就越長,稱為動態(tài)退避。
               說到這里大家應(yīng)該所有明白了吧,還有什么問題可以接著跟貼提出!
              附錄:什么是爭用期?
              在總線傳輸線路上,單程端到端的傳輸時延記做t。一個站點在發(fā)出數(shù)據(jù)到接收到線路沖突的時間小于等于2倍t,也就是時延為2t,這個時間被稱為爭用期。(contention period)
          原文:http://bbs.chinaunix.net/thread-1171146-1-1.html


          -----------------------------------------------------------------------------------------

          什么是載波偵聽多路訪問/沖突避免(CSMA/CA)協(xié)議

          發(fā)展背景(出因):

          在總線和環(huán)形拓?fù)渲校W(wǎng)絡(luò)上的設(shè)備必須共享傳輸線路,為解決同一時間幾個設(shè)備同時爭用傳輸介質(zhì),需要有某種訪問控制方式,以便協(xié)調(diào)各設(shè)備訪問介質(zhì)的順序,在設(shè)備之間交換數(shù)據(jù)。

          在總線系統(tǒng)中,每個站都能獨立地決定幀的發(fā)送,若兩個或多個站同時發(fā)送,就產(chǎn)生沖突,同時發(fā)送的所有幀都會出錯。因此一個用戶發(fā)送信息成功與否在很 大程度上取決于總線是否空閑的算法以及兩個不同節(jié)點同時發(fā)送的分組發(fā)生沖突時所使用和中斷傳輸?shù)姆椒ǎ偩€爭用技術(shù)分為載波監(jiān)聽多路訪問(CSMA)和具 有沖突檢測的載波監(jiān)聽多路訪問(CSMA/CD)這兩大類。載波監(jiān)聽多路訪問(CSMA)的技術(shù),也叫做先聽后說(LBT),希望傳輸?shù)恼臼紫葘π诺肋M行 監(jiān)聽以確定是否有別的站在傳輸。如果信道空閑,該站可以傳輸,否則,該站將避讓一段時間后再嘗試。需要有一種退避算法來決定退讓時間。常用的有三種算法。 1、非堅持CSMA;2、1-堅持CSMA;3、P-堅持CSMA。

          通信中對介質(zhì)的訪問可以是隨機的,即各工作站可以在任何時刻、任意地訪問介質(zhì);也可以是受控的,即各工作站可以用一定的算法調(diào)整各站訪問介質(zhì)的順序和時間。在隨機訪問方式中,常用的爭用總線技術(shù)為CSMA/CD.

          這種控制方式對任何工作站都沒有預(yù)約發(fā)送時間,工作站的發(fā)送是隨機的,必須在網(wǎng)絡(luò)上爭用傳輸介質(zhì),故稱之為爭用技術(shù)。若同一時刻有多個工作站向傳輸 線路發(fā)送信息,則這些信息會在傳輸線上互相混淆而遭破壞,稱為“沖突”。為盡量避免由于竟?fàn)幰鸬臎_突,每個工作站在發(fā)送信息之前,都要監(jiān)聽傳輸線上是否 有信息在發(fā)送,這就是“載波監(jiān)聽”。

          CSMA是從一種叫ALOHA的控制協(xié)議演變而來的,之所以要采用這種控制協(xié)議,是因為當(dāng)許多用戶共享一個容量為C b/s的信道時,如果兩個或更多的用戶同時都在共享信道上發(fā)送信息,這樣就會產(chǎn)生沖突。習(xí)慣上把這種沖突叫做碰撞。碰撞的產(chǎn)生會導(dǎo)致沖突的用戶發(fā)送都告失 敗。如圖所示:

          由圖可知,一個幀若要發(fā)送成功,必須在發(fā)送時刻之前和之后各有一段時間T0內(nèi)沒有其他幀的發(fā)送,否則就必然產(chǎn)生沖突而導(dǎo)致失敗。這樣,一個幀發(fā)送成功的條件就是該幀與該幀前后的兩個幀到達的時間間隔大于T0.

          image:bk063724l-9.jpg

          基本定義或原理:

          載波監(jiān)聽多路訪問/沖突檢測(CSMA/CD):在CSMA中,由于通道的傳播延遲,當(dāng)兩個站點監(jiān)聽到總線上沒有存在信號而發(fā)送幀時,仍會發(fā)生沖突。由于CSMA算法沒有沖突檢測功能,即使沖突己發(fā)生,仍然要將已破壞的幀發(fā)送完,使總線的利用率降低。

          一種CSMA的改進方案是使站點在傳輸時間繼續(xù)監(jiān)聽媒體,一旦檢測到?jīng)_突,就立即停止發(fā)送,并向總線上發(fā)一串短的阻塞報文(Jam),通知總線上各 站沖突己發(fā)生,這樣通道容量不致因白白傳送己受損的幀而浪費,可以提高總線的利用率,這就稱作載波監(jiān)聽多路訪問/沖突檢測協(xié)議,簡寫為CSMA/CD,這 種協(xié)議己廣泛應(yīng)用于以太網(wǎng)和IEEE802.3標(biāo)準(zhǔn)中。

          此時,浪費掉的帶寬就減少為用檢測沖突所花費的時間。那么,怎么來估算所需的沖突檢測時間呢?對于基帶總線而言,此時用于檢測一個沖突的時間等于任 意兩個站之間最大的傳播延遲的兩倍,所以對于基帶CSMA/CD,要求分組長度應(yīng)該至少兩倍于傳播延遲,否則在檢測出沖突之前傳輸已經(jīng)完成,但實際上分組 被沖突所破壞。

          image:bk0637242-1.jpg

          應(yīng)用:CSMA/CD是用爭用的方法來決定對介質(zhì)的訪問權(quán)。而這種爭用協(xié)議一般用于總線網(wǎng)。載波監(jiān)聽多路訪問(CSMA) 發(fā)展情況及存在問題:

          CSMA/CD總線網(wǎng)絡(luò)中的一個關(guān)鍵技術(shù)問題是沖突控制或沖突分解問題,即由于發(fā)送沖突而遭碰撞的報文要經(jīng)過一段隨機延時后重發(fā),典型的沖突控制算 法,亦即后退算法有以下五種:二進制指數(shù)后退算法BEB、多項式后退算法PB、線性增值后退算法LIB、固定平均后退算法FMB、順序后退算法OB.

          image:bk0637242-2.jpg

          原文:http://www.elecfans.com/baike/tongxingjishu/youxintongxin/20100409215045.html


          主站蜘蛛池模板: 广西| 富川| 漳浦县| 菏泽市| 天台县| 通渭县| 东乡| 丰宁| 南昌县| 奈曼旗| 西乌珠穆沁旗| 平武县| 巴塘县| 平顶山市| 金沙县| 绿春县| 宣汉县| 商水县| 漳平市| 富川| 湘乡市| 睢宁县| 平谷区| 康马县| 天长市| 堆龙德庆县| 怀化市| 江华| 福建省| 梅州市| 阿克陶县| 永泰县| 洪雅县| 黄骅市| 嘉荫县| 宁海县| 会昌县| 蚌埠市| 崇义县| 扶余县| 锡林浩特市|