乙太網路(Ethernet)是一種電腦區域網路組網技術,該技術基於IEEE制定的IEEE 802.3標準,它規定了包括物理層的連線、電訊號和介質訪問層協議的內容。乙太網路是當前應用最普遍的區域網路技術。它很大程度上取代了其他區域網路標準,如令牌環、FDDI和ARCNET。曆經100M乙太網路在上世紀末的飛速發展後,目前千兆乙太網路甚至10G乙太網路正在國際組織和領導企業的推動下不斷拓展應用範圍。基於乙太網路的應用一定時期內是研究開發熱點。
ETHERNET的介面實質是MAC通過MII匯流排控制PHY的過程。
MAC是Media Access Control 的縮寫,即媒體存取控制子層協議。該協議位於OSI七層協議中資料連結層的下半部分,主要負責控制與串連物理層的物理介質。在發送資料的時候,MAC協議可以事先判斷是否可以發送資料,如果可以發送將給資料加上一些控制資訊,最終將資料以及控制資訊以規定的格式發送到物理層;在接收資料的時候,MAC協議首先判斷輸入的資訊並是否發生傳輸錯誤,如果沒有錯誤,則去掉控制資訊發送至LLC層。乙太網路MAC由IEEE-802.3乙太網路標準定義。
MII即媒體獨立介面, “媒體獨立”表明在不對MAC硬體重新設計或替換的情況下,任何類型的PHY裝置都可以正常工作。包括分別用於發送器和接收器的兩條獨立通道。每條通道都有自己的資料、時鐘和控制訊號。MII資料介面總共需要16個訊號,包括TX_ER,TXD<3:0>,TX_EN,TX_CLK,COL,RXD<3:0>,RX_EX,RX_CLK,CRS,RX_DV等。
MII以4位半位元組方式傳送資料雙向傳輸,時脈速率25MHz。其工作速率可達100Mb/s。MII管理介面是個雙訊號介面,一個是時鐘訊號,另一個是資料訊號。通過管理介面,上層能監視和控制PHY。其管理是使用SMI(Serial Management Interface)匯流排通過讀寫PHY的寄存器來完成的。PHY裡面的部分寄存器是IEEE定義的,這樣PHY把自己的目前的狀態反映到寄存器裡面,MAC通過SMI匯流排不斷的讀取PHY的狀態寄存器以得知目前PHY的狀態,例如連線速度,雙工的能力等。當然也可以通過SMI設定PHY的寄存器達到控制的目的,例如流控的開啟關閉,自協商模式還是強制模式等。不論是物理串連的MII匯流排和SMI匯流排還是PHY的狀態寄存器和控制寄存器都是有IEEE的規範的,因此不同公司的MAC和PHY一樣可以協調工作。當然為了配合不同公司的PHY的自己特有的一些功能,驅動需要做相應的修改。
PHY是物理介面收發器,它實現物理層。包括MII/GMII(介質獨立介面)子層、PCS(物理編碼子層)、PMA(物理介質附加)子層、PMD(物理介質相關)子層、MDI子層。
100BaseTX採用4B/5B編碼。PHY在發送資料的時候,收到MAC過來的資料(對PHY來說,沒有幀的概念,對它來說,都是資料而不管什麼地址,資料還是CRC),每4bit就增加1bit的檢錯碼,然後把並行資料轉化為串列流資料,再按照物理層的編碼規則把資料編碼,再變為類比訊號把資料送出去。收資料時的流程反之。PHY還有個重要的功能就是實現CSMA/CD的部分功能。它可以檢測到網路上是否有資料在傳送,如果有資料在傳送中就等待,一旦檢測到網路空閑,再等待一個隨機時間後將送資料出去。如果兩個碰巧同時送出了資料,那樣必將造成衝突,這時候,衝突檢測機構可以檢測到衝突,然後各等待一個隨機的時間重新發送資料。這個隨機時間很有講究的,並不是一個常數,在不同的時刻計算出來的隨機時間都是不同的,而且有多重演算法來應付出現機率很低的同兩台主機之間的第二次衝突。通訊速率通過雙方協商,協商的結果是兩個裝置中能同時支援的最大速度和最好的雙工模式。這個技術被稱為Auto
Negotiation或者NWAY。隔離變壓器把PHY送出來的差分訊號用差模耦合的線圈耦合濾波以增強訊號,並且通過電磁場的轉換耦合到串連網線的另外一端。RJ-45中1、2是傳送資料的,3、6是接收資料的。新的PHY支援AUTO MDI-X功能(也需要隔離變壓器支援)。它可以實現RJ-45介面的1、2上的傳送訊號線和3、6上的接收訊號線的功能自動互相交換
網卡工作在osi的最後兩層,物理層和資料連結層,物理層定義了資料傳送與接收所需要的電與光訊號、線路狀態、時鐘基準、資料編碼和電路等,並向資料連結層裝置提供標準介面。物理層的晶片稱之為PHY。資料連結層則提供定址機構、資料幀的構建、資料差錯檢查、傳送控制、向網路層提供標準的資料介面等功能。乙太網路卡中資料連結層的晶片稱之為MAC控制器。很多網卡的這兩個部分是做到一起的。他們之間的關係是pci匯流排接mac匯流排,mac接phy,phy接網線(當然也不是直接接上的,還有一個變壓裝置)。
MAC 和PHY 一個是資料連結層 一個是物理層 兩者通過MII傳送資料。