2013年12月8日 星期日

有線~無線楖論(3)

上篇是關於有線在embeddend system的module。而在要回到無線時,首先要談到有線的較底層的。
網路底層的訊框傳送法則,從有線的談到無線,差異及相同之處。
TCP/IP網路模型的第一層或是OSI網路模型的第二層,了解訊框實際上在有線和無線網路上傳輸的策略。
image
在Data Link Layer主要是CRC檢查及定義基本的一個訊息框(Frame)。

 

802.3

在 有線 中,網路採用802.3
OSI網路架構屬於L2資料鏈結層的CSMA(Carrier Sense Multiple Access,載波偵測多重存取)載波偵測多重存取網路通訊協定,定義在IEEE 802.3當中。
IEEE 802.3使用了一種稱為CSMA的技術作為核心,因為在較為早期的網路,線材作為匯流排看待,任何連上此網路匯流排的電腦都可以在其上傳輸資料,避免大家同時傳輸資料造成錯誤,而此規則就是CSMA。
CSMA載波偵測多重存取的規則就像其名稱一樣,為了避免在其它電腦傳輸資料時造成干擾,當某台電腦想要傳輸時,會先監聽傳輸媒介是否正在使用,如果沒有其它電腦正在傳輸,代表線路目前是空閒狀態可立即使用;如果監聽的結果是線路正在使用,則持續保持監聽狀態,直到線路空閒,這就是 CS(Carrier Sense)的由來。
當某部電腦正在傳送資料時,則所有位於匯流排上的電腦都會接收到這份資料,電腦處理與否的關鍵在於傳送訊框表頭所包含的MAC(Media Access Control)位址是否跟自己相符,如果兩者一致就接收下來進行後續的處理,不同就表示這份資料不是給我的,不進行處理。。
CSMA/CD
CD(Collision Detection)變成CSMA/CD,對於碰撞的發生進行偵測並處理,提高線路傳輸效率。

在Ethernet中,最大的架設環境下,距離最遠的兩端點訊號時間差可達232  bit傳輸時間,也就是說,當A電腦發送231bit之後,與A最遠的B電腦若已傳輸1bit,下個傳輸1bit的時間就會偵測到A電腦送來的訊號,才會偵測到碰撞發生,停止傳輸。而傳輸32  bit長度的jam signal是為了讓A電腦更容易辨識,過短的jam signal無法保證A電腦得知碰撞發生。
Ethernet訊框最短長度64  Byte也是因為232 bit的傳輸時間差而設計出來的,因為當A電腦發送之後,最遠的B電腦需要經過232  bit傳輸時間後才可收到訊號;若是碰撞發生,回傳給A電腦的碰撞訊號也要232  bit的傳輸時間,一來一往之下就是464  bit(58  Byte),為了確保A電腦佔據網路夠久的時間偵測B電腦傳來的碰撞訊號,以及電腦單位經常使用2的次方影響,就制訂出了64Byte這個最短訊框長度。
image 除了CSMA/CD外其它相關的還有:
1.隨機時間
如何 在碰撞,隨機時間二元指數後退演算法」(binary exponential backoff algorithm)
我們假設第幾次發生碰撞為n(n≦16,如果n>16,會放棄傳送訊框,並向網路架構的上一層報錯),t為n和10取最小值,r為一個倍數,r的值在0≦r<2t(n、t、r皆為包含0的正整數)。
2.CSMA監聽/發送策略
Ethernet採用1-persistent(1-堅持法),相對的還有O-persistent(O-堅持法),在這兩者中間尚有P- persistent(P-堅持法)和non-persistent(非持續法)。
3.時槽(time slot)
時槽定義為在最大網路佈建的情況下,最短的訊框從網路中最遠的2點來回1次所需要的時間,會受到網路速度(傳輸頻率)和最短訊框的大小所影響。網路速度越快、時槽越短;訊框越小、時槽越短。
 
而它的缺點在於其CSMA/CD上,當匯流排上的裝置多時其碰撞增多很多。
所以才發展出Switch出來,盡量避免了碰撞產生,以及由同軸電纜到雙絞線(半雙工 /全雙工)。
4.流量控制:
back pressure(半雙工) :
CSMA/CD的半雙工傳輸模式下,如果接收端裝置效能不足,無法快速處理傳送端送來的訊框,想要請傳送端降低傳送速率,但半雙工模式無法同時進行雙向傳輸,沒有辦法告知對方我快吐了。此時有2種作法,第一種就是直接在網路上造成訊框碰撞,對方偵測到之後就會進入碰撞之後的處理演算法,而這演算法本身就有降低傳輸速率的功效。第二種就是由接收端直接發出傳輸訊框,另一端就會以為線路上有其它電腦要傳輸。
 
全雙工:(沒有用CSMA/CD)
進步到全雙工傳輸之後,由於傳送和接收分別在獨立的線組上執行,CSMA/CD被拋棄,根本就不會產生碰撞;於是可以直接告訴對方我快滿了,請降低傳輸速度避免訊框遺失
 

無線使用CSMA/CA

但在無線網路中,CSMA還活得好好的,因為使用空間作為介質傳遞訊號,很難限定訊號只在特定範圍內傳播。無線環境還有個相當特殊的「隱藏節點」狀況,如下圖所示。
由於無線訊號會根據傳輸距離而逐漸遞減,A、B點和基地台的距離都要在雙方的無線訊號涵蓋區之內才可進行通訊,但A、B點卻因距離問題都不在對方的訊號範圍內,無法得知對方的存在,如果同時發送訊號給基地台,基地台部分必會發生碰撞。由於無法相當有效的偵測碰撞的存在,無線傳輸無法使用CSMA/CD,而是盡量避免碰撞的發生,使用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)。

image
在無線網路傳輸標準802.11之中,還有個選用功能能夠避免碰撞的發生,就是啟用RTS/CTS(Request To Send/Clear To Send)。
在裝置傳送無線訊號之前,會先向基地台傳送RTS訊號,請求傳輸許可,若基地台感測到目前空間無裝置使用,便會發送CTS訊號給裝置,告知其准許傳輸。如果同時有多個裝置同時向基地台發送RTS,則基地台只會給其中1台CTS訊號允許傳輸,便不會造成訊框碰撞
以上所述在無線訊號的範疇裡屬於DCF(Distributed Coordination Function,分散式協調功能),需要傳送方自行去搶傳送資源,應此又稱為競爭式服務。另外一種是由AP負責輪詢各台裝置,唯有被問到的裝置才能傳輸資訊,為PCF(Point Coordination Function,集中式協調功能),屬於非競爭式服務

http://www.techbang.com/posts/15880-4-introduction-to-network-architecture-networks-underlying-frame-relay-rule?page=3
















沒有留言:

張貼留言