jasmine214--love

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

          CSMA/CD詳解

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

          在很多的網絡技術原理書籍上僅僅就是這些內容,再多一點就不過多舉幾個例子而已。那么我這里也舉例說明一下,會更加明白一些的。

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


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

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

          發展背景(出因):

          在總線和環形拓撲中,網絡上的設備必須共享傳輸線路,為解決同一時間幾個設備同時爭用傳輸介質,需要有某種訪問控制方式,以便協調各設備訪問介質的順序,在設備之間交換數據。

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

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

          這種控制方式對任何工作站都沒有預約發送時間,工作站的發送是隨機的,必須在網絡上爭用傳輸介質,故稱之為爭用技術。若同一時刻有多個工作站向傳輸 線路發送信息,則這些信息會在傳輸線上互相混淆而遭破壞,稱為“沖突”。為盡量避免由于竟爭引起的沖突,每個工作站在發送信息之前,都要監聽傳輸線上是否 有信息在發送,這就是“載波監聽”。

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

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

          image:bk063724l-9.jpg

          基本定義或原理:

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

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

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

          image:bk0637242-1.jpg

          應用:CSMA/CD是用爭用的方法來決定對介質的訪問權。而這種爭用協議一般用于總線網。載波監聽多路訪問(CSMA) 發展情況及存在問題:

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

          image:bk0637242-2.jpg

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


          主站蜘蛛池模板: 利津县| 西丰县| 安宁市| 大洼县| 昌平区| 常德市| 旅游| 明水县| 囊谦县| 磐安县| 会东县| 威宁| 正宁县| 卢龙县| 定州市| 民丰县| 葵青区| 巴塘县| 徐闻县| 兴化市| 依安县| 宁陕县| 保靖县| 苍南县| 阿图什市| 雷山县| 肥东县| 高雄市| 夏津县| 格尔木市| 京山县| 兰坪| 壶关县| 江安县| 台北市| 沁水县| 新巴尔虎右旗| 曲麻莱县| 肥乡县| 呼伦贝尔市| 盐源县|