图解网卡硬件

时间:2024-03-03 16:19:43

网络中最基础的部件是什么?不是交换机也不是路由器,而是小小的不起眼但又无处不在的网卡。如果在5年前,或许网卡与您无关,但在如今这网络的时代,无论是上网冲浪还是联网玩游戏,都离不开网卡,更何况,就算您不食人间烟火,多数主板上也会为您集成一块板载网卡。所以,对于想迈入网络之门的读者而言,先认识网卡,会让您在进行各种网络应用时更得心应手。

  一、网卡的主要特点

  网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备。无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网卡。如果有必要,一台电脑也可以同时安装两块或多块网卡。


    图1 一块10/100Mbps的PCI网卡

  电脑之间在进行相互通讯时,数据不是以流而是以帧的方式进行传输的。我们可以把帧看做是一种数据包,在数据包中不仅包含有数据信息,而且还包含有数据的发送地、接收地信息和数据的校验信息。一块网卡包括OSI模型的两个层——物理层和数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。

  网卡的功能主要有两个:一是将电脑的数据封装为帧,并通过网线(对无线网络来说就是电磁波)将数据发送到网络上去;二是接收网络上其它设备传过来的帧,并将帧重新组合成数据,发送到所在的电脑中。网卡能接收所有在网络上传输的信号,但正常情况下只接受发送到该电脑的帧和广播帧,将其余的帧丢弃。然后,传送到系统CPU做进一步处理。当电脑发送数据时,网卡等待合适的时间将分组插入到数据流中。接收系统通知电脑消息是否完整地到达,如果出现问题,将要求对方重新发送。

  二、图解网卡


  图2 图解PCI网卡

  以最常见的PCI接口的网卡为例,一块网卡主要由PCB线路板、主芯片、数据汞、金手指(总线插槽接口)、BOOTROM、EEPROM、晶振、RJ45接口、指示灯、固定片等等,以及一些二极管、电阻电容等组成。下面我们就来分别了解一下其中主要部件。

  ●主芯片


    图3 最常见的8139D芯片

  网卡的主控制芯片是网卡的核心元件,一块网卡性能的好坏和功能的强弱多寡,主要就是看这块芯片的质量。以常见的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千兆芯片


  图5 Marvell的88E8001千兆芯片

  需要说明的是网卡芯片也有“软硬”之分,特别是对与主板板载(LOM)的网卡芯片来说更是如此,这是怎么回事呢?大家知道,以太网接口可分为协议层和物理层。

  协议层是由一个叫MAC(Media Access Layer,媒体访问层)控制器的单一模块实现。

  物理层由两部分组成,即PHY(Physical Layer,物理层)和传输器。

  常见的网卡芯片都是把MAC和PHY集成在一个芯片中,但目前很多主板的南桥芯片已包含了以太网MAC控制功能,只是未提供物理层接口,因此,需外接PHY芯片以提供以太网的接入通道。这类PHY网络芯片就是俗称的“软网卡芯片”,常见的PHY功能的芯片有RTL8201BL、VT6103等等。
 

     图6 RTL8201BL PHY芯片

  “软网卡”一般将网络控制芯片的运算部分交由处理器或南桥芯片处理,以简化线路设计,从而降低成本,但其多少会更多占用系统资源.

  ●BOOTROM

  BOOTROM插座也就是常说的无盘启动ROM接口,其是用来通过远程启动服务构造无盘工作站的。远程启动服务(Remoteboot,通常也叫RPL)使通过使用服务器硬盘上的软件来代替工作站硬盘引导一台网络上的工作站成为可能。网卡上必须装有一个RPL(Remote Program Load远程初始程序加载)ROM芯片才能实现无盘启动,每一种RPL ROM芯片都是为一类特定的网络接口卡而制作的,它们之间不能互换。带有RPL的网络接口卡发出引导记录请求的广播(broadcasts),服务器自动的建立一个连接来响应它,并加载MS-DOS启动文件到工作站的内存中。
 

   图7 BOOTROM插座及其中心的93C46 EEPROM芯片

  此外,在BOOTROM插槽中心一般还有一颗93C46、93LC46或93c56的EEPROM芯片(93C56是128*16bit的EEPROM,而93C46是64*16bit的EEPROM),它相当于网卡的BIOS,里面记录了网卡芯片的供应商ID、子系统供应商ID、网卡的MAC地址、网卡的一些配置,如总线上PHY的地址,BOOTROM的容量,是否启用BOOTROM引导系统等内容。主板板载网卡的EEPROM信息一般集成在主板BIOS中。

  ●LED指示灯
 
    图8

  一般来讲,每块网卡都具有1个以上的LED(Light Emitting Diode发光二极管)指示灯,用来表示网卡的不同工作状态,以方便我们查看网卡是否工作正常。典型的LED指示灯有Link/Act、Full、Power等。Link/Act表示连接活动状态,Full表示是否全双工(Full Duplex),而Power是电源指示(主要用在USB或PCMCIA网卡上)等。

  ●网络唤醒接口
 

    图9 一些网卡上还依稀可见WOL的预留接口

  早期网卡上还有一个专门的3芯插座网络唤醒(WOL)接口(PCI2.1标准网卡),Wake On LAN(网络唤醒)提供了远程唤醒计算机的功能,它是IBM公司和Intel公司于1996年10月成立的先进管理性联盟(Advanced Manageability Alliance)的一项成果,它可以让管理员在非工作时间远程唤醒计算机,并使它们自动完成一些管理服务,例如软件的更新或者病毒扫描。它也是Wired for Management基本规范中的一部分。网络唤醒的工作原理是先由一个管理软件包发出一个基于Magic Packet标准的唤醒帧,支持网络唤醒的网卡收到唤醒帧后对其进行分析并确定该帧是否包含本网卡的MAC地址。如果包含本网卡的MAC地址,该计算机系统就会自动进入开机状态。

  目前主流的独立网卡或主板板载网卡都符合PCI2.2及以上的规范,所以不再需要这个接口,要启动网络唤醒功能,只需到主板BIOS中启用“Wake on PCI Card”功能即可。