之前章節簡單介紹了IB網絡模型,本章将更詳細的介紹網絡模型中的物理層的功能和組成。
物理層功能物理層主要負責各設備間的互聯,在bit級進行數據的傳輸,向上使用MII、RGMII、SGMII、QSGMII、SGUI等接口連接MAC層,向下對接不同傳輸介質,phy的主要功能有:
- 使本地端口和對端端口連接,并保持同步;
- 檢測物理連接狀态;
- 負責編解碼,例如8b/10b,10b/8b;
- 單路數據傳輸速度250MB/s,4路和12路時,速率可達1000MB/s和3000MB/s;
- 檢測傳輸數據是否有錯,或者時序錯誤;
共支持三種實現方式:背闆接口(backplane port)、電纜接口(copper cable port)、光纖接口(fiber optic port);
注:背闆以太網以銅線作為傳輸介質。
物理層傳輸和接收數據為雙工模式,各使用一條線路,其中電纜接口采用雙絞線實現。
物理層組成
物理層需要負責将不同介質的信号轉換成電信号,其核心是serdes、ADC、DAC以及保證信号正确性的一些模塊,主要分為PCS(Physical Coding Sublayer)、PMA(Physical Medium Attachmenttests)和PMD(Physical Media Dependent)。
其中大部分數字模塊在PCS中,主要完成信号調理功能,包括8B/10B編解碼、K碼對齊、速率自協商、載波監聽和鍊路檢測等,而PMA主要為PCS和PMD子層提供一種與介質無關的連接方式,PMD為電/光收發器。本文以一個100BASE-TX的phy為例,展示了以太網phy的整體架構。
以一段數據需要從本地向對端傳輸為例,數據需要從MAC層出發,經過PHY和傳輸介質到達對端設備的PHY,再進行信号還原,上傳到MAC層及更上層進行處理。
- 數據首先通過标準MII接口(包括SGMII、RGMII等)從MAC層向PHY傳輸;
- 數據進入PHY後,首先進入PCS子層的編碼模塊(4B/5B、8B/10B),其目的是使數據中的‘0’和‘1’數量保持基本一緻,來保證DC平衡,更易于後續serdes的時鐘恢複和檢錯等功能的實現;
- 如果是速率更高的PHY,如10G/100G,編碼後的數據還會經過擾碼器進一步打散‘0’和‘1’,避免能量的過度集中;
- 由于serdes傳輸的是bit流,數據在介質中傳輸是沒有Byte對齊的概念的,對齊工作是需要PCS子層來完成的,所以在TX側,PCS還會插入用于數據對齊K碼;在RX側,PCS檢測到該K碼就可以從當前bit開始對齊;
- 随後數據進入PMA層,完成并串轉換,最後形成bit流前往MDI;
- 發展到千兆以太網後,PHY還提供了自協商功能,兩端PHY通過傳遞各自的連接能力信息,來确定雙方最适合的速率與雙工狀态;
- 接收端RX以相反的流程進行串轉并,檢測同步,數據對齊,完成相應的解碼,最後上傳到MAC層。