Posted on 2008-04-22 17:21
天之驕子 閱讀(7370)
評論(0) 編輯 收藏 引用
以太網(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傳送數據。