zoukankan      html  css  js  c++  java
  • 网卡工作原理

    精确的说: NIC
    工作在数据链路层中的MAC子层上,而非物理层。NIC的作用是进行串并行的转换,即MAC子层规定了如何在物理线路上传输frame,LLC的作用是识
    别不同协议类型然后进行encapsulation。MAC地址烧入NIC,所以,NIC工作在Data Link Layer。
    一、网卡的主要特点
    网卡(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”功能即可。
    数据汞

    图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)。
    ●传输介质类型
    说到网卡,就顺便就谈谈与网卡连接的双绞线。

    图12
    双绞线,是由许多在一个绝缘外套中的对线组成的数据传输线,它的特点就是价格便宜,现在的网卡大部分都是使用的双绞线做为传输线缆。双绞线一般用于星型网的布线连接,两端安装有RJ-45头(水晶头),连接网卡与集线器,最大网线长度为100米左右。
    双绞线有STP(屏蔽双绞线)和UTP(非屏蔽双绞线)两种。STP的双绞线内有一层金属隔离膜,在数据传输时可减少电磁干扰,所以它的稳定性
    较高。而UTP内没有这层金属膜,所以它的稳定性较差,但它的优势就是价格便宜。其中STP(屏蔽双绞线)主要分为3类和5类两种线,UTP(非屏蔽双绞
    线)主要分为3类/4类/5类/超5类/6类几种,一般网络主要使用的是5类双绞线,5类双绞线外层保护胶皮厚,胶皮上标注“CAT5”字样。超5类双绞
    线属非屏蔽双绞线,与普通5类双绞线比较,超5类双绞线在传送信号时衰减更小,抗干扰能力更强,在100M网络中,用户设备的受干扰程度只有普通5类线的
    1/4,其也是目前应用的主流。
    总线接口
    网卡要与电脑相连接才能正常使用,电脑上各种接口层出不穷,这也造成了网卡所采用的总线接口类型纷呈。此外,提到总线接口,需要说明的是人们一
    般将这类接口俗称为“金手指”,为什么叫金手指呢?是因为这类插卡的线脚采用的是镀钛金(或其它金属),保证了反复插拔时的可靠接触,既增大了自身的抗干
    扰能力又减少了对其他设备的干扰。
    为了方便您了解,下面我们就分别来图解一下常见的各种接口类型的网卡。
    ①ISA接口网卡

    图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接口网卡

    图15
    PCI-X是PCI总线的一种扩展架构,它与PCI总线不同的是,PCI总线必须频繁的于目标设备和总线之间交换数据,而PCI-X则允许目标
    设备仅于单个PCI-X设备看已进行交换,同时,如果PCI-X设备没有任何数据传送,总线会自动将PCI-X设备移除,以减少PCI设备间的等待周期。
    所以,在相同的频率下,PCI-X将能提供比PCI高14-35%的性能。目前服务器网卡经常采用此类接口的网卡。
    ④PCI-E接口网卡

    图16
    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接口网卡

    图17
    在目前的电脑上很难找到没有USB接口(Universal Serial
    Bus,通用串行总线)的,USB总线分为USB2.0和USB1.1标准。USB1.1标准的传输速率的理论值是12Mbps,而USB2.0标准的传
    输速率可以高达480Mbps,目前的USB有线网卡多为USB2.0标准的。
    ⑥PCMCIA接口网卡

    图18
    PCMCIA接口是笔记本电脑专用接口,PCMCIA总线分为两类,一类为16位的PCMCIA,另一类为32位的CardBus,CardBus网卡的最大吞吐量接近90Mbps,其是目前市售笔记本网卡的主流。
    ⑦Mini-PCI接口网卡

    图19
    MiniPCI接口是在台式机PCI接口基础上扩展出的适用于笔记本电脑的接口标准,其速度和PCI标准相当,很多此类产品都是无线网卡。
    除此而外,市场上还有AMR等接口的网卡等等,限于篇幅及其流行度,本文就不一一介绍了。

  • 相关阅读:
    Markdown基本语法学习
    gauge自动化测试框架(二)
    初识gauge自动化测试框架
    火狐浏览器历代版本下载地址
    selenium + python实现截图并且保存图片
    Python搭建简易HTTP服务(3.x版本和2.x版本的)
    ((0.1+0.7)*10) = ?
    从apache mod_php到php-fpm[转]
    Web API文档生成工具apidoc
    微信支付获取 prepay id 偶尔失败问题【转】
  • 原文地址:https://www.cnblogs.com/cute/p/2013526.html
Copyright © 2011-2022 走看看