網卡的主要工作原理:發送數據時,計算機把要傳輸的數據並行寫到網卡的緩存,網卡對要傳輸的數據進編碼(10M乙太網使用曼切斯特碼,100M乙太網使用差分曼切斯特碼),串行發到傳輸介質上.接收數據時,則相反。對於網卡而言,每塊網卡都有一個唯一的網絡節點地址,它是網卡生產廠家在生產時燒入ROM(只讀存儲晶片)中的,我們把它叫做MAC地址(物理地址),且保證絕對不會重複。MAC為48bit,前24比特由IEEE分配,是需要錢買的,後24bit由網卡生產廠家自行分配.
我們日常使用的網卡都是乙太網網卡。目前網卡按其傳輸速度來分可分為10M網卡、10/100M自適應網卡以及千兆(1000M)網卡。如果只是作為一般用途,如日常辦公等,比較適合使用10M網卡和10/100M自適應網卡兩種。如果應用於伺服器等產品領域,就要選擇千兆級的網卡。
一、網卡的主要特點
網卡(Network Interface Card,簡稱NIC),也稱網絡適配器,是電腦與區域網相互連接的設備。無論是普通電腦還是高端伺服器,只要連接到區域網,就都需要安裝一塊網卡。如果有必要,一臺電腦也可以同時安裝兩塊或多塊網卡。
電腦之間在進行相互通訊時,數據不是以流而是以幀的方式進行傳輸的。我們可以把幀看做是一種數據包,在數據包中不僅包含有數據信息,而且還包含有數據的發送地、接收地信息和數據的校驗信息。一塊網卡包括OSI模型的兩個層――物理層和數據鏈路層。物理層定義了數據傳送與接收所需要的電與光信號、線路狀態、時鐘基準、數據編碼和電路等,並向數據鏈路層設備提供標準接口。數據鏈路層則提供尋址機構、數據幀的構建、數據差錯檢查、傳送控制、向網絡層提供標準的數據接口等功能。
網卡的功能主要有兩個:一是將電腦的數據封裝為幀,並通過網線(對無線網絡來說就是電磁波)將數據發送到網絡上去;二是接收網絡上其它設備傳過來的幀,並將幀重新組合成數據,發送到所在的電腦中。網卡能接收所有在網絡上傳輸的信號,但正常情況下只接受發送到該電腦的幀和廣播幀,將其餘的幀丟棄。然後,傳送到系統CPU做進一步處理。當電腦發送數據時,網卡等待合適的時間將分組插入到數據流中。接收系統通知電腦消息是否完整地到達,如果出現問題,將要求對方重新發送。
二、圖解網卡
以最常見的PCI接口的網卡為例,一塊網卡主要由PCB線路板、主晶片、數據汞、金手指(總線插槽接口)、BOOTROM、EEPROM、晶振、RJ45接口、指示燈、固定片等等,以及一些二極體、電阻電容等組成。下面我們就來分別了解一下其中主要部件。
主晶片
網卡的主控制晶片是網卡的核心元件,一塊網卡性能的好壞和功能的強弱多寡,主要就是看這塊晶片的質量。以常見的Realtek公司推出的RTL8139C和RTL8139D為例,二者首先在封裝上略有不同,前者是128pin QFP/LQFP而後者為100pin,其次在搭配的EEPROM上,8139C比後者多出了對93c56的支持,而8139D是93C46。但是在功能方面,8139D更強一些,它多提供了對PCI Multi-function和PCI-bridge I/F的支持,PCI Multi-function允許把RTL8139D晶片和其他的功能晶片(如硬體調製解調晶片)設計在同塊PCB板上協同工作來做成不同種類的多功能卡,在其中8139起的作用是辨別LAN信號還是PCI總線信號的作用;8139D還增強了電源管理功能。
如果按網卡主晶片的速度來劃分,常見的10/100M自適應網卡晶片有Realtek 8139系列/810X系列、VIA VT610*系列、Intel 82550PM/82559系列、Broadcom 44xx系列、3COM 3C920系列、Davicom DM9102、Mxic MX98715等等。
常見的10/100/1000M自適應網卡晶片有Intel的8254*系列,Broadcom的BCM57**系列,Marvell的88E8001/88E8053/88E806*系列,Realtek的RTL8169S-32/64、RTL8110S-32/64(LOM)、RTL8169SB、RTL8110SB(LOM)、RTL8168(PCI Express)、RTL8111(LOM、PCI Express)系列,VIA的VT612*系列等等。
圖4 VIA的VT6120千兆晶片
需要說明的是網卡晶片也有「軟硬」之分,特別是對與主板板載(LOM)的網卡晶片來說更是如此,這是怎麼回事呢?大家知道,乙太網接口可分為協議層和物理層。
協議層是由一個叫MAC(Media Access Layer,媒體訪問層)控制器的單一模塊實現。
物理層由兩部分組成,即PHY(Physical Layer,物理層)和傳輸器。
常見的網卡晶片都是把MAC和PHY集成在一個晶片中,但目前很多主板的南橋晶片已包含了乙太網MAC控制功能,只是未提供物理層接口,因此,需外接PHY晶片以提供乙太網的接入通道。這類PHY網絡晶片就是俗稱的「軟網卡晶片」,常見的PHY功能的晶片有RTL8201BL、VT6103等等。
「軟網卡」一般將網絡控制晶片的運算部分交由處理器或南橋晶片處理,以簡化線路設計,從而降低成本,但其多少會更多佔用系統資源.
●BOOTROM
BOOTROM插座也就是常說的無盤啟動ROM接口,其是用來通過遠程啟動服務構造無盤工作站的。遠程啟動服務(Remoteboot,通常也叫RPL)使通過使用伺服器硬碟上的軟體來代替工作站硬碟引導一臺網絡上的工作站成為可能。網卡上必須裝有一個RPL(Remote Program Load遠程初始程序加載)ROM晶片才能實現無盤啟動,每一種RPL ROM晶片都是為一類特定的網絡接口卡而製作的,它們之間不能互換。帶有RPL的網絡接口卡發出引導記錄請求的廣播(broadcasts),伺服器自動的建立一個連接來響應它,並加載MS-DOS啟動文件到工作站的內存中。
此外,在BOOTROM插槽中心一般還有一顆93C46、93LC46或93c56的EEPROM晶片(93C56是128*16bit的EEPROM,而93C46是64*16bit的EEPROM),它相當於網卡的BIOS,裡面記錄了網卡晶片的供應商ID、子系統供應商ID、網卡的MAC地址、網卡的一些配置,如總線上PHY的地址,BOOTROM的容量,是否啟用BOOTROM引導系統等內容。主板板載網卡的EEPROM信息一般集成在主板BIOS中。
LED指示燈
一般來講,每塊網卡都具有1個以上的LED(Light Emitting Diode發光二極體)指示燈,用來表示網卡的不同工作狀態,以方便我們查看網卡是否工作正常。典型的LED指示燈有Link/Act、Full、Power等。Link/Act表示連接活動狀態,Full表示是否全雙工(Full Duplex),而Power是電源指示(主要用在USB或PCMCIA網卡上)等
●網絡喚醒接口
圖9 一些網卡上還依稀可見WOL的預留接口
●數據汞
圖10 數據汞
數據汞是消費級PCI網卡上都具備的設備,數據汞也被叫做網絡變壓器或可稱為網絡隔離變壓器。它在一塊網卡上所起的作用主要有兩個,一是傳輸數據,它把PHY送出來的差分信號用差模耦合的線圈耦合濾波以增強信號,並且通過電磁場的轉換耦合到不同電平的連接網線的另外一端;一是隔離網線連接的不同網絡設備間的不同電平,以防止不同電壓通過網線傳輸損壞設備。除此而外,數據汞還能對設備起到一定的防雷保護作用。
●晶振
圖11
晶振是石英振蕩器的簡稱,英文名為Crystal,它是時鐘電路中最重要的部件,它的作用是向顯卡、網卡、主板等配件的各分提供基準頻率,它就像個標尺,工作頻率不穩定會造成相關設備工作頻率不穩定,自然容易出現問題。由於製造工藝不斷提高,現在晶振的頻率偏差、溫度穩定性、老化率、密封性等重要技術指標都很好,已不容易出現故障,但在選用時仍可留意一下晶振的質量。
例如某網卡的時鐘電路採用了高精度的SKO25MHz的晶振,較可靠保證了數據傳輸的精確同步性,大大減少了丟包的可能性,並且在線路的設計上儘量靠近主晶片,使信號走線的長度大大縮短,可靠性進一步增加。而如果採用劣質晶振,這樣做雖然可以降低一點網卡成本,但因為頻率的準確性問題,極易造成傳輸過程中的數據丟包的情況。
●網線接口
在桌面消費級網卡中常見網卡接口有BNC接口和RJ-45接口(類似電話的接口),也有兩種接口均有的雙口網卡。接口的選擇與網絡布線形式有關,在小型共享式區域網中,BNC口網卡通過同軸電纜直接與其它計算機和伺服器相連;RJ-45口網卡通過雙絞線連接集線器(HUB)或交換機,再通過集線器或交換機連接其它計算機和伺服器。
目前BNC接口這種接口類型的網卡已很少見,主要因為用細同軸電纜作為傳輸介質的網絡就比較少及組網方式問題較多有關。RJ-45是8芯線,而電話線的接口是4芯的,通常只接2芯線(ISDN的電話線接4芯線);但大家可以仔細看看,其實10M網卡的RJ-45插口也只用了1、2、3、6四根針,而100M或1000M網卡的則是八根針都是全的,這也是區別10M和100M網卡的一種方法(見上圖8)。
●傳輸介質類型
說到網卡,就順便就談談與網卡連接的雙絞線。
雙絞線,是由許多在一個絕緣外套中的對線組成的數據傳輸線,它的特點就是價格便宜,現在的網卡大部分都是使用的雙絞線做為傳輸線纜。雙絞線一般用於星型網的布線連接,兩端安裝有RJ-45頭(水晶頭),連接網卡與集線器,最大網線長度為100米左右。
圖13
ISA是早期網卡使用的一種總線接口,ISA網卡採用程序請求I/O方式與CPU進行通信,這種方式的網絡傳輸速率低,CPU資源佔用大,其多為10M網卡,目前在市面上基本上看不到有ISA總線類型的網卡,筆者從舊件堆中找到了幾款ISA網卡,D-LINK的產品,居然用橡皮擦清潔金手指上機後還能用。
②PCI接口網卡
圖14
PCI(peripheral component interconnect)總線插槽仍是目前主板上最基本的接口。其基於32位數據總線,可擴展為64位,它的工作頻率為33MHz/66MHz。數據傳輸率為每秒132MB(32*33MHz/8)。目前PCI接口網卡仍是家用消費級市場上的絕對主流。
③PCI-X接口網卡
PCI-X是PCI總線的一種擴展架構,它與PCI總線不同的是,PCI總線必須頻繁的於目標設備和總線之間交換數據,而PCI-X則允許目標設備僅於單個PCI-X設備看已進行交換,同時,如果PCI-X設備沒有任何數據傳送,總線會自動將PCI-X設備移除,以減少PCI設備間的等待周期。所以,在相同的頻率下,PCI-X將能提供比PCI高14-35%的性能。目前伺服器網卡經常採用此類接口的網卡。
④PCI-E接口網卡
PCI Express 1X接口已成為目前主流主板的必備接口。不同與並行傳輸,PCI Express接口採用點對點的串行連接方式,PCI Express接口根據總線接口對位寬的要求不同而有所差異,分為PCI Express 1X(標準250MB/s,雙向500MB/s)、2X(標準500MB/s)、4X(1GB/s)、8X(2GB/s)、16X(4GB/s)、32X(8GB/s)。採用PCI-E接口的網卡多為千兆網卡。
⑤USB接口網卡
在目前的電腦上很難找到沒有USB接口(Universal Serial Bus,通用串行總線)的,USB總線分為USB2.0和USB1.1標準。USB1.1標準的傳輸速率的理論值是12Mbps,而USB2.0標準的傳輸速率可以高達480Mbps,目前的USB有線網卡多為USB2.0標準的。
⑥PCMCIA接口網卡
PCMCIA接口是筆記本電腦專用接口,PCMCIA總線分為兩類,一類為16位的PCMCIA,另一類為32位的CardBus,CardBus網卡的最大吞吐量接近90Mbps,其是目前市售筆記本網卡的主流。
⑦Mini-PCI接口網卡
MiniPCI接口是在臺式機PCI接口基礎上擴展出的適用於筆記本電腦的接口標準,其速度和PCI標準相當,很多此類產品都是無線網卡。