兩種信道情況下的數據鏈路層 之
廣播信道的數據鏈路層---CSMA/CD(載波監聽多路訪問/衝突檢測)
l 局域網概念
在局域網中用到的就是廣播通信,所以以局域網的通信來講解廣播信道的數據鏈路層特點。在學習廣播通信
特點之前,先來了解一下局域網。
n 局域網的分類
所有的PC機接到中間設備核心上。但是如果核心設備一點壞掉了,則所有PC機都將受到影響。雖然核心壞掉會出現問題,但是一般核 心不會壞,壞的一般是線路,星形網中線路的毀壞並不會影響其他PC的工作,所以星形網在局域網中用的比較多。並且成爲了局域網中主流的結構。
|
最早出現的,多臺計算機連接到一根總線上,在總線的兩端有電阻用來吸收信號或者能量。如果主機A發送信號,到達總線兩端後,信後會被電阻吸收,避免這個信號被反彈回來造成干擾。 當總線網中的線路毀壞時,形成斷路,而且沒有電阻。會使得所有PC機都無法工作。 |
環形網,也叫令牌環網。在幹路上用,不過現在用的也不是很多了。 很多環形網早已經退出市場 在環形網中會有一個令牌環,誰拿到誰就可以發送數據。 |
總線網的一種變形。 |
n 局域網的特點
局域網最主要的特點: 網絡爲一個單位所有,且地理範圍和站點數目均有限。(不過現在說網絡爲一個單位所擁有是不合適的,現在的局域網已經發展的很大了,有時候可能覆蓋範圍還要大很多)
局域網具有如下的主要優點:
具有廣播功能,從一個站點可很方便地訪問全網。局域網上的主機可共享連接在局域網上的各種硬件和軟件資源。
n 局域網中的衝突域與廣播域
B向D發送數據,連接在總線上的所有計算機都能收到數據,查看數據的地址,一看不是給自己的則丟棄。
只有D一看地址是給我的,就接受。這樣可以在廣播通信中是是實現點對點的通信。
ü 廣播域: 一臺計算機發送數據,連接在總線上的所有計算機都能收到數據,所有的計算機在同一個廣播
域中。
ü 衝突域: 當一臺計算機發送數據時,總線被佔用,此時所有連接在總線上的其他計算機都不能再發送數
據了。
所有的計算機又處於同一個衝突域中。
n 局域網各終端共享通信媒體(線路介質)
局域網中的終端是共享同一傳輸介質的,線路只能供一個用戶獨佔使用。如何讓衆多用戶能合理共
享通信媒體,做到互不衝突。
靜態劃分信道: 採用頻分複用、時分複用、波分複用、碼分複用技術,比如採用頻分複用,可以將信道
劃分成幾個不同頻率的信道,主機之間的通信通過各自的頻率通道進行,互不干擾。但
是兩個用戶就一個頻率信道,如果用戶很多的話,就要劃分很多信道,而且頻率信道的
劃分需要在兩端進行,我們普通用戶根本不懂,連上線就要上網,根本不會管信道是如
何分的 ,所以採用靜態劃分信道的方式很不適合。
動態媒體接入控制(多點接入)
隨機接入:用戶想什麼時候在線路上發送數據就什麼時候發,什麼都不用管。如果恰好有多個用戶
同時刻發送,則在線路上發生碰撞,需要CSMA/CD 協議協調(主要被以太網採用!)這是以太網最需要解決
的問題。
受控接入 :如多點線路探詢(polling),或輪詢。(目前已不被採用)
l 解決數據在廣播信道總線上發生碰撞的協議-----CSMA/CD(載波監聽多點接入/衝突檢測)
n CSMA/CD 基本概念
CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。
工作在半雙工狀態下
“多點接入”表示許多計算機以多點接入的方式連接在一根總線上。
“載波監聽”是指每一個站在發送數據之前先要檢測一下總線上是否有其他計算機在發送數據,如果有,則
暫時不要發送數據,以免發生碰撞。
“載波監聽”就是用用戶利用電子技術檢測總線上有沒有其他計算機發送的數據信號。
“碰撞檢測”就是計算機邊發送數據邊檢測信道上的信號電壓大小。
當幾個站同時在總線上發送數據時,總線上的信號電壓擺動值將會增大(互相疊加)。
當一個站檢測到的信號電壓擺動值超過一定的門限值時,就認爲總線上至少有兩個站同時在
發送數據,表明產生了碰撞。
所謂“碰撞”就是發生了衝突。因此“碰撞檢測”也稱爲“衝突檢測”。
檢測到碰撞後
在發生碰撞時,總線上傳輸的信號產生了嚴重的失真,無法從中恢復出有用的信息來。
每一個正在發送數據的站,一旦發現總線上出現了碰撞,就要立即停止發送,免得繼續浪費網絡
資源,然後等待一段隨機時間後再次發送。
n 載波監聽後仍然出現碰撞的可能
電磁波在總線上的有限傳播速率的影響
當某個站監聽到總線是空閒時,也可能總線並非真正是空閒的。
A 向 B 發出的信息,要經過一定的時間後才能傳送到 B。
B 若在 A 發送的信息到達 B 之前發送自己的幀(因爲這時 B 的載波監聽檢測不到 A 所發送的信息),
則必然要在某個時間和 A 發送的幀發生碰撞。
碰撞的結果是兩個幀都變得無用。
ü A監聽到信道是空閒的,在t=0時刻,向B發送數據。
ü 當數據發送到C點時,B監聽到信道也是空閒的,所以B在t1時刻向A發送數據
ü 兩個數據在O點發生碰撞,碰撞發生時間是t2。OC和OB所用的時間和走的路程是一樣的。
ü 當發生碰撞後,從O點開始向主機A和主機B發送電壓信號變化以告訴A和B發生碰撞了
ü 信號從O點出發到達H點,主機B在t3時刻收到了電壓信號變化,所以主機B將不再發送數據
ü 信號從O點出發到達D點,主機A在t4時刻受到了電壓信號變化,所以主機A將不再發送數據
需要注意的是: 電壓信號和數據傳輸信號在線路上的速率是一樣的。
n CSMA/CD協議的重要特性
使用 CSMA/CD 協議的以太網不能進行全雙工通信而只能進行雙向交替通信(半雙工通信)。
每個站在發送數據之後的一小段時間內,存在着遭遇碰撞的可能性。 所以不能保證在一定時間內一定能把
數據發送出去。
這種發送的不確定性使整個以太網的平均通信量遠小於以太網的最高數據率。
可以看出,如果A到B之間的線路越長,那麼接受到碰撞信息的時間也會越長,所以CSMA/CD協議適合
用在線路較短的局域網和以太網中。這也是局域網範圍受限的原因之一。
n 爭用期
A能收到碰撞的最長時間爲,也就是當數據到達B後,B剛好發送數據,在主機B上發生了碰撞。
最先發送數據幀的站,在發送數據幀後至多經過時間 2τ就可知道發送的數據幀是否遭受了碰撞。如果這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞。
ü 以太網的爭用期:
以太網的端到端往返時延2τ稱爲爭用期,或碰撞窗口。通常,取 51.2 ms 爲爭用期的長度。
對於 10 Mb/s 以太網,在爭用期內可發送512 bit,即 64 字節。
以太網在發送數據時,若前 64 字節未發生衝突,則後續的數據就不會發生衝突。
ü 最短有效幀長
如果發生衝突,就一定是在發送的前 64 字節之內。
由於一檢測到衝突就立即中止發送,這時已經發送出去的數據一定小於 64 字節。
以太網規定了最短有效幀長爲 64 字節,凡長度小於 64 字節的幀都是由於衝突而異常中止的無效幀。
n 算法---二進制指數類型退避
發生碰撞的站在停止發送數據後,要推遲(退避)一個隨機時間才能再發送數據。
確定基本退避時間,一般是取爲爭用期 2t。
定義參數 k ,
k = Min[重傳次數n, 10]
從整數集合[0,1,…, (2的K次方-1)]中隨機地取出一個數,記爲 r。
重傳所需的時延就是 r 倍的基本退避時間。
當重傳達 16 次仍不能成功時即丟棄該幀,並向高層報告。
【解疑答惑心得】
【心得一】在“載波監聽後仍然出現碰撞的可能”中在t1時刻,明明線路上數據在傳輸,爲何主機B監聽到
的線路卻是信道空閒。
答: 需要注意的是:在官方教材中主機監聽信道是否爲空閒的依據是主機是否收到信道產生的過高電壓信號。電
壓信號的產生是由於信道上兩方或者多方數據發生了碰撞引起的。如果信道上只有一個數據在傳輸,則不會引
起電壓的過高變化,也就不會形成電壓信號,主機也就收不到信道繁忙的信息,所以此時的主機認爲信道是空閒的,當發生碰撞後,電壓信號疊加增高,這個信號會傳到兩方的主機上,告知主機發送的數據有衝突。這就是主
機收到了碰撞後的信息。