宾馆看国模裸体私拍视频I 美女被啪啪激烈爽到喷水免费I 欧美特黄不卡I 亚洲清纯唯美I 999av电影I 26uuu另类亚洲欧美日本老年I 国产精品外国I 欧美国产精品一区I 女同久久另类99精品国产I 亚洲日本japanese丝袜I 黄色美女久久I 亚洲日本aⅴ片在线观看香蕉I 亚洲色图欧美制服丝袜另类第一页I 色综合av在线I 少妇视频在线观看I 男男互操视频网站I 美女扒开腿男人爽桶I 美女福利在线I 深夜激情影院I 69成人精品免费视频I 色婷婷老汉avI 亚洲第一二区I 夜色av资源网站I 黑人精品欧美一区二区蜜桃I 电影essuess在线观看高清I 白丝美女被到娇喘流白I 4p变态网欧美系列I 亚洲精品videosex极品I 欧美天堂一区二区I 国内精品免费在线观看I 国产免费黄网站I 国产国语videosex另类I 成人亚洲在线

010-51626348
解決方案

光潤通網絡傳輸解決方案

技術解決方案 行業解決方案 定制化解決方案

客戶成功案例

查看光潤通網絡解決方案在各行業的成功應用,了解客戶對光潤通的評價。

了解更多信息>
服務與支持

服務宗旨

你的滿意是光潤通畢生的追求,

您的煩惱也是困擾光潤通的煩惱,

請將你的聲音傳達給我們,

讓我們為你竭心盡力!

光纖網卡
關于光潤通

我們的使命

加強產業核心技術和前沿技術研發并轉換成生產力,讓中國自己的民族企業支撐和指引整個高端光產業的健康發展。

光纖網卡
官方商城
選擇語言
  • 中文簡體 English
  • 首頁 > 新聞資訊 > 技術解析
  • 關于網卡的MAC和PHY的區別

  • 發表時間:2020年02月06日
  • 一塊以太網網卡包括OSI(開方系統互聯)模型的兩個層。物理層和數據鏈路層。物理層定義了數據傳送與接收所需要的電與光信號、線路狀態、時鐘基準、數據編碼和電路等,并向數據鏈路層設備提供標準接口。數據鏈路層則提供尋址機構、數據幀的構建、數據差錯檢查、傳送控制、向網絡層提供標準的數據接口等功能。


    1.網卡的基本結構


    以太網卡中數據鏈路層的芯片一般簡稱之為MAC控制器,物理層的芯片我們簡稱之為PHY。許多網卡的芯片把MAC和PHY的功能做到了一顆芯片中,比如Intel 82559網卡的和3COM 3C905網卡。但是MAC和PHY的機制還是單獨存在的,只是外觀的表現形式是一顆單芯片。當然也有很多網卡的MAC和PHY是分開做的。


    2.什么是MAC?


    首先我們來說說以太網卡的MAC芯片的功能。以太網數據鏈路層其實包含MAC(介質訪問控制)子層和LLC(邏輯鏈路控制)子層。一塊以太網卡MAC芯片的作用不但要實現MAC子層和LLC子層的功能,還要提供符合規范的PCI界面以實現和主機的數據交換。


    MAC從PCI總線收到IP數據包(或者其他網絡層協議的數據包)后,將之拆分并重新打包成最大1518Byte,最小64Byte的幀。這個幀里面包括了目標MAC地址、自己的源MAC地址和數據包里面的協議類型(比如IP數據包的類型用80表示)。最后還有一個DWORD(4Byte)的CRC碼。


    可是目標的MAC地址是哪里來的呢?這牽扯到一個ARP協議(介乎于網絡層和數據鏈路層的一個協議)。第一次傳送某個目的IP地址的數據的時候,先會發出一個ARP包,其MAC的目標地址是廣播地址,里面說到:”誰是xxx.xxx.xxx.xxx這個IP地址的主人?”因為是廣播包,所有這個局域網的主機都收到了這個ARP請求。收到請求的主機將這個IP地址和自己的相比較,如果不相同就不予理會,如果相同就發出ARP響應包。這個IP地址的主機收到這個ARP請求包后回復的ARP響應里說到:”我是這個IP地址的主人”。這個包里面就包括了他的MAC地址。以后的給這個IP地址的幀的目標MAC地址就被確定了。(其它的協議如IPX/SPX也有相應的協議完成這些操作。)


    IP地址和MAC地址之間的關聯關系保存在主機系統里面,叫做ARP表,由驅動程序和操作系統完成。在Microsoft的系統里面可以用 arp -a 的命令查看ARP表。收到數據幀的時候也是一樣,做完CRC以后,如果沒有CRC效驗錯誤,就把幀頭去掉,把數據包拿出來通過標準的借口傳遞給驅動和上層的協議客棧,最終正確的達到我們的應用程序。


    還有一些控制幀,例如流控幀也需要MAC直接識別并執行相應的行為。


    以太網MAC芯片的一端接計算機PCI總線,另外一端就接到PHY芯片上。以太網的物理層又包括MII/GMII(介質獨立接口)子層、PCS(物理編碼子層)、PMA(物理介質附加)子層、PMD(物理介質相關)子層、MDI子層。而PHY芯片是實現物理層的重要功能器件之一,實現了前面物理層的所有的子層的功能。


    3.網絡傳輸的流程


    PHY在發送數據的時候,收到MAC過來的數據(對PHY來說,沒有幀的概念,對它來說,都是數據而不管什么地址,數據還是CRC),每4bit就增加1bit的檢錯碼,然后把并行數據轉化為串行流數據,再按照物理層的編碼規則(10Based-T的NRZ編碼或100based-T的曼徹斯特編碼)把數據編碼,再變為模擬信號把數據送出去。


    收數據時的流程反之。


    PHY還有個重要的功能就是實現CSMA/CD的部分功能。它可以檢測到網絡上是否有數據在傳送,如果有數據在傳送中就等待,一旦檢測到網絡空閑,再等待一個隨機時間后將送數據出去。如果兩塊網卡碰巧同時送出了數據,那樣必將造成沖突,這時候,沖突檢測機構可以檢測到沖突,然后各等待一個隨機的時間重新發送數據。


    這個隨機時間很有講究的,并不是一個常數,在不同的時刻計算出來的隨機時間都是不同的,而且有多重算法來應付出現概率很低的同兩臺主機之間的第二次沖突。


    許多網友在接入Internt寬帶時,喜歡使用”搶線”強的網卡,就是因為不同的PHY碰撞后計算隨機時間的方法設計上不同,使得有些網卡比較”占便宜”。不過,搶線只對廣播域的網絡而言的,對于交換網絡和ADSL這樣點到點連接到局端設備的接入方式沒什么意義。而且”搶線”也只是相對而言的,不會有質的變化。


    4.關于網絡間的沖突


    現在交換機的普及使得交換網絡的普及,使得沖突域網絡少了很多,極大地提高了網絡的帶寬。但是如果用HUB,或者共享帶寬接入Internet的時候還是屬于沖突域網絡,有沖突碰撞的。交換機和HUB最大的區別就是:一個是構建點到點網絡的局域網交換設備,一個是構建沖突域網絡的局域網互連設備。


    我們的PHY還提供了和對端設備連接的重要功能并通過LED燈顯示出自己目前的連接的狀態和工作狀態讓我們知道。當我們給網卡接入網線的時候,PHY不斷發出的脈沖信號檢測到對端有設備,它們通過標準的”語言”交流,互相協商并卻定連接速度、雙工模式、是否采用流控等。


    通常情況下,協商的結果是兩個設備中能同時支持的最大速度和最好的雙工模式。這個技術被稱為Auto Negotiation或者NWAY,它們是一個意思–自動協商。


    5.PHY的輸出部分


    現在來了解PHY的輸出后面部分。一顆CMOS制程的芯片工作的時候產生的信號電平總是大于0V的(這取決于芯片的制程和設計需求),但是這樣的信號送到100米甚至更長的地方會有很大的直流分量的損失。而且如果外部網現直接和芯片相連的話,電磁感應(打雷)和靜電,很容易造成芯片的損壞。


    再就是設備接地方法不同,電網環境不同會導致雙方的0V電平不一致,這樣信號從A傳到B,由于A設備的0V電平和B點的0V電平不一樣,這樣會導致很大的電流從電勢高的設備流向電勢低的設備。我們如何解決這個問題呢?


    這時就出現了Transformer(隔離變壓器)這個器件。它把PHY送出來的差分信號用差模耦合的線圈耦合濾波以增強信號,并且通過電磁場的轉換耦合到連接網線的另外一端。這樣不但使網線和PHY之間沒有物理上的連接而換傳遞了信號,隔斷了信號中的直流分量,還可以在不同0V電平的設備中傳送數據。


    隔離變壓器本身就是設計為耐2KV~3KV的電壓的。也起到了防雷感應(我個人認為這里用防雷擊不合適)保護的作用。有些朋友的網絡設備在雷雨天氣時容易被燒壞,大都是PCB設計不合理造成的,而且大都燒毀了設備的接口,很少有芯片被燒毀的,就是隔離變壓器起到了保護作用。


    6.關于傳輸介質


    隔離變壓器本身是個被動元件,只是把PHY的信號耦合了到網線上,并沒有起到功率放大的作用。那么一張網卡信號的傳輸的最長距離是誰決定的呢?


    一張網卡的傳輸最大距離和與對端設備連接的兼容性主要是PHY決定的。但是可以將信號送的超過100米的PHY其輸出的功率也比較大,更容易產生EMI的問題。這時候就需要合適的Transformer與之配合。作PHY的老大公司Marvell的PHY,常常可以傳送180~200米的距離,遠遠超過IEEE的100米的標準。


    RJ-45的接頭實現了網卡和網線的連接。它里面有8個銅片可以和網線中的4對雙絞(8根)線對應連接。其中100M的網絡中1、2是傳送數據的,3、6是接收數據的。1、2之間是一對差分信號,也就是說它們的波形一樣,但是相位相差180度,同一時刻的電壓幅度互為正負。這樣的信號可以傳遞的更遠,抗干擾能力強。同樣的,3、6也一樣是差分信號。


    網線中的8根線,每兩根扭在一起成為一對。我們制作網線的時候,一定要注意要讓1、2在其中的一對,3、6在一對。否則長距離情況下使用這根網線的時候會導致無法連接或連接很不穩定。


    現在新的PHY支持AUTO MDI-X功能(也需要Transformer支持)。它可以實現RJ-45接口的1、2上的傳送信號線和3、6上的接收信號線的功能自動互相交換。有的PHY甚至支持一對線中的正信號和負信號的功能自動交換。這樣我們就不必為了到底連接某個設備需要使用直通網線還是交叉網線而費心了。這項技術已經被廣泛的應用在交換機和SOHO路由器上。


    在1000Basd-T網絡中,其中最普遍的一種傳輸方式是使用網線中所有的4對雙絞線,其中增加了4、5和7、8來共同傳送接收數據。由于1000Based-T網絡的規范包含了AUTO MDI-X功能,因此不能嚴格確定它們的傳出或接收的關系,要看雙方的具體的協商結果。


    7.PHY和MAC之間如何進行溝通


    下面繼續讓我們來關心一下PHY和MAC之間是如何傳送數據和相互溝通的。通過IEEE定義的標準的MII/GigaMII(Media Independed Interfade,介質獨立界面)界面連接MAC和PHY。這個界面是IEEE定義的。MII界面傳遞了網絡的所有數據和數據的控制。


    而MAC對PHY的工作狀態的確定和對PHY的控制則是使用SMI(Serial Management Interface)界面通過讀寫PHY的寄存器來完成的。PHY里面的部分寄存器也是IEEE定義的,這樣PHY把自己的目前的狀態反映到寄存器里面,MAC通過SMI總線不斷的讀取PHY的狀態寄存器以得知目前PHY的狀態,例如連接速度,雙工的能力等。當然也可以通過SMI設置PHY的寄存器達到控制的目的,例如流控的打開關閉,自協商模式還是強制模式等。


    我們看到了,不論是物理連接的MII界面和SMI總線還是PHY的狀態寄存器和控制寄存器都是有IEEE的規范的,因此不同公司的MAC和PHY一樣可以協調工作。當然為了配合不同公司的PHY的自己特有的一些功能,驅動需要做相應的修改。


    一片網卡主要功能的實現就基本上是上面這些器件了。


    其他的,還有一顆EEPROM芯片,通常是一顆93C46。里面記錄了網卡芯片的供應商ID、子系統供應商ID、網卡的MAC地址、網卡的一些配置,如SMI總線上PHY的地址,BOOTROM的容量,是否啟用BOOTROM引導系統等東西。


    很多網卡上還有BOOTROM這個東西。它是用于無盤工作站引導操作系統的。既然無盤,一些引導用必需用到的程序和協議棧就放到里面了,例如RPL、PXE等。實際上它就是一個標準的PCI ROM。所以才會有一些硬盤寫保護卡可以通過燒寫網卡的BootRom來實現。其實PCI設備的ROM是可以放到主板BIOS里面的。啟動電腦的時候一樣可以檢測到這個ROM并且正確識別它是什么設備的。AGP在配置上和PCI很多地方一樣,所以很多顯卡的BIOS也可以放到主板BIOS里面。這就是為什么板載的網卡我們從來沒有看到過BOOTROM的原因。


    8.網卡的供電


    最后就是電源部分了。大多數網卡現在都使用3.3V或更低的電壓。有的是雙電壓的。因此需要電源轉換電路。


    而且網卡為了實現Wake on line功能,必須保證全部的PHY和MAC的極少一部分始終處于有電的狀態,這需要把主板上的5V Standby電壓轉換為PHY工作電壓的電路。在主機開機后,PHY的工作電壓應該被從5V轉出來的電壓替代以節省5V Standby的消耗。(許多劣質網卡沒有這么做)。


    有Wake on line功能的網卡一般還有一個WOL的接口。那是因為PCI2.1以前沒有PCI設備喚醒主機的功能,所以需要著一根線通過主板上的WOL的接口連到南橋里面以實現WOL的功能。


    新的主板合網卡一般支持PCI2.2/2.3,擴展了PME#信號功能,不需要那個接口而通過PCI總線就可以實現喚醒功能。


    結語


    一塊以太網卡就是這些部分組成。它們緊密地配合并且相互協調,供給我們一個穩定而告訴的網絡接入。網絡的普及不但極大地增加了工作效率,而且使我們可以自由的馳騁在Internet的海洋中!


    分享: