以太網的雙工模式及自協商

以太網的雙工模式及自協商

以太網的雙工模式

以太網的物理層存在半雙工和全雙工兩種模式。

半雙工

半雙工的工作模式:

  • 任意時刻只能接收數據或者發送數據。
  • 採用CSMA/CD機制。
  • 有最大傳輸距離的限制。
  • HUB工作在半雙工模式。

全雙工

在有L2交換機取代了HUB組建以太網後,以太網由共享式轉變為交換式。而且用全雙工代替了半雙工,傳輸數據幀的效率大大提高,最大吞吐量達到雙倍速率。

全雙工從根本上解決了以太網的衝突問題,以太網從此告別CSMA/CD。

全雙工的工作模式:

  • 同一時刻可以接收和發送數據。
  • 最大吞吐量達雙倍速率。
  • 消除了半雙工的物理距離限制。

當前製造的網卡、二層設備、三層設備都支持全雙工模式,HUB除外。

實現全雙工的硬件保證:

  • 支持全雙工的網卡芯片
  • 收發線路完全分離的物理介質
  • 點到點的連接

以太網的自協商

自動協商的目的

最早的以太網都是10M半雙工的,所以需要CSMA/CD等一系列機制保證系統的穩定性。隨著技術的發展,出現了全雙工,接著又出現了100M,以太網的性能大大改善。但是隨之而來的問題是:如何保證原有以太網絡和新以太網的兼容?

於是,提出了自動協商技術來解決這種矛盾。自動協商的主要功能就是使物理鏈路兩端的設備通過交互信息自動選擇同樣的工作參數。自動協商的內容主要包括雙工模式、運行速率以及流控等參數。一旦協商通過,鏈路兩端的設備就鎖定在同樣的雙工模式和運行速率。

以太網速率雙工自協商在如下標準中定義:

  • 百兆以太網標準:IEEE 802.3u。IEEE 802.3u規範將自協商作為可選功能。
  • 千兆以太網標準:IEEE 802.3z。IEEE 802.3z規範將自協商作為強制功能,所有設備必須遵循並且必須默認啟用自協商。

自動協商原理

自動協商是網絡設備間建立連接的一種方式。它允許一個網絡設備將自己所支持的工作模式信息傳達給網絡上的對端,並接受對端可能傳遞過來的信息。設備雙方根據彼此工作模式信息的交集,按照雙方都支持的最優工作模式建立連接。

對於使用雙絞線連接的以太網,如果沒有數據傳輸時,鏈路並不是一直空閒,而是每隔16ms發送一個高脈衝,用來維護鏈路層的連接,這種脈衝成為NLP(Normal Link Pulse)碼流。在NLP碼流中再插入一些頻率更高的脈衝,可用來傳遞更多的信息,這串脈衝成為FLP(Fast Link Pulse)碼流,如圖所示。自協商功能的基本機制就是將協商信息封裝進FLP碼流中,以達到自協商的目的。

以太網的雙工模式及自協商

脈衝插入示意圖

對於使用光模塊和光纖連接的以太網,與使用雙絞線連接的以太網類似,也是靠發送碼流來進行自協商的,這種碼流稱為C碼流,也就是配置(Configuration)碼流。與電口不同的是,光口一般不協商速率,並且一般工作在雙工模式,所以自協商一般只用來協商流控。

如果協商通過,網卡就把鏈路置為激活狀態,可以開始傳輸數據了。如果不能通過,則該鏈路不能使用。

如果有一端不支持自動協商,則支持自動協商的一端選擇一種默認的方式工作,一般情況下是10M半雙工模式。

自協商完全由物理層芯片設計實現,IEEE 802.3規範要求在下列任一情況下啟動自協商:

  • 鏈路中斷後恢復
  • 設備重新上電
  • 任何一端設備復位
  • 有重新自協商(Renegotiation)請求

除此之外,連接雙方並不會一直髮送自協商碼流。自協商並不使用專用數據包或帶來任何高層協議開銷。

當接口對接時,雙方能否正常通信和兩端接口設置的工作模式是否匹配相關。

  • 當兩端接口都工作在相同類型的非自協商模式時,雙方可以正常通信。
  • 當兩端接口都工作在自協商模式時,雙方通過協商可以正常通信,最終的協商結果取決於能力低的一端,通過自協商功能還可以協商流量控制功能。
  • 當兩端接口一端的工作模式為自協商,對端為非自協商時,接口最終協商的工作模式和對端設置的工作模式相關。


分享到:


相關文章: