close
Blogtrottr
T客邦
T客邦 - 全站文章 
Real-Time Web Marketing

Learn how marketers like you are using real-time web personalization to drive engagement and conversions. Download today!
From our sponsors
網路架構大概論4- 網路底層的訊框傳送法則
Dec 4th 2013, 06:01, by R.F.

476b04953675786a211acff6f1ed0448 這次我們走入網路的更底層,TCP/IP網路模型的第一層或是OSI網路模型的第二層,了解訊框實際上在有線和無線網路上傳輸的策略,此部分已相當接近網路傳輸的最底層,再下去就是將訊框轉換為電氣∕光學規格在媒體上傳送。

▲CSMA和同軸電纜在網路分層架構的對應關係

802.3

上次講完IP,此次就是更底層的網路傳輸方式,在OSI網路架構屬於L2資料鏈結層的CSMA(Carrier Sense Multiple Access,載波偵測多重存取)載波偵測多重存取網路通訊協定,定義在IEEE 802.3當中。由於當時主要的實體傳輸媒介為同軸電纜,也就是你家電視接收無線或有線電視訊號的那條電纜,IEEE 802.3也就把同軸電纜一同定義成為OSI架構的L1實體層,CSMA和同軸電纜也就正好對應TCP/IP模型的L1鏈結層。不過因為現今主流傳輸媒介為RJ-45雙絞線,同軸電纜的部分只會跟著CSMA稍微提到一些。

現在的LAN(Local Area Network)大多都脫離不了IEEE 802.3的標準範疇,由於802.3下面還有許多更改版規格,我們先從最基礎的功能開始談起,也就是以同軸電纜作為連結媒介,傳輸速度最大只有10Mbps的原始版本。

CSMA

IEEE 802.3使用了一種稱為CSMA的技術作為核心,因為在較為早期的網路,線材作為匯流排看待,任何連上此網路匯流排的電腦都可以在其上傳輸資料;但就像菜市場攤販叫賣一樣,大家同時說話很容易聽不清楚芹菜1把10元、西瓜買一送一的特價資訊,電腦也需要有一套傳輸規則,避免大家同時傳輸資料造成錯誤,而此規則就是CSMA。

CSMA載波偵測多重存取的規則就像其名稱一樣,為了避免在其它電腦傳輸資料時造成干擾,當某台電腦想要傳輸時,會先監聽傳輸媒介是否正在使用,如果沒有其它電腦正在傳輸,代表線路目前是空閒狀態可立即使用;如果監聽的結果是線路正在使用,則持續保持監聽狀態,直到線路空閒,這就是CS(Carrier Sense)的由來。

另外一方面,由於大家都位在同一匯流排上,當某部電腦正在傳送資料時,則所有位於匯流排上的電腦都會接收到這份資料,電腦處理與否的關鍵在於傳送訊框表頭所包含的MAC(Media Access Control)位址是否跟自己相符,如果兩者一致就接收下來進行後續的處理,不同就表示這份資料不是給我的,不進行處理;這種同一匯流排可供多台電腦存取的特性,就是MA(Multiple Access)的由來。

CSMA/CD

實際上在傳輸訊框時,僅使用CSMA策略會造成傳輸速率下降,因為它沒有辦法確保多台電腦在同一時間,傳輸資料時所造成的訊框碰撞現象。因為在此之前監聽發現沒有電腦使用網路,多台電腦同時以為線路是空閒狀態,進行傳輸時就會造成訊號重疊在一起,接收方無法正確收到訊框。所以實際應用加入了CD(Collision Detection)變成CSMA/CD,對於碰撞的發生進行偵測並處理,提高線路傳輸效率。基本策略與CSMA相同,如果線路目前是空閒狀態,則可以進行傳輸工作,但不同的是傳輸工作進行時,偵測工作也同時進行著,如果傳輸中偵測到了不是自己所送出的訊號,就立刻停止自己的傳輸工作,進入碰撞偵測的後續處理。

偵測到訊框碰撞之後,立即停止原先的傳輸工作,連續發出一串32  bit干擾訊號,用以提醒此網路匯流排其它的裝置發生碰撞。接著等待一段隨機時間,再次嘗試因碰撞而未傳輸完畢的訊框。等待時間不固定,是為了盡量讓裝置們不要再次發生碰撞。

jam signal的發送長度

jam signal是32 bit長的亂數,或者直接發送1也可以,主要是讓發送方了解到發生碰撞,以及讓接收方的訊框CRC結果失敗,丟棄此訊框。

在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這個最短訊框長度。

▲CSMA/CD的發送流程

Facebook

馬上按讚 加入T客邦粉絲團

標籤:知識百科, 電腦王, 教學, 網路架構, 網路底層

更多3C新消息,快來加入T客邦粉絲團

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 nbv2eybn7a7ye 的頭像
    nbv2eybn7a7ye

    進擊的巨人14, 進擊的巨人線上看, 進擊的巨人漫畫, 進擊的巨人遊戲, 進擊的巨人 動畫, 進擊的巨人 線上漫畫, 進擊的巨人14線上看, 進擊的巨人13, 進擊的巨人 h, 進擊的巨人op

    nbv2eybn7a7ye 發表在 痞客邦 留言(0) 人氣()