网卡工作原理与测试技术
张祥明,李雷
(顶星数码网络有限公司,深圳 518040)
摘要:系统的介绍以太网卡的工作原理和相关的测试技术。
关键词:网卡,网络适配器,NIC。
1 引言
常用的网络设备当属网卡了。网卡本身是LAN(局域网)的设备,通过网关、路由器等设备就可以把这个局域网挂接到Internet上。
网卡有许多种,按照数据链路层控制来分有以太网卡,令牌环网卡,ATM网卡等;按照物理层来分类有无线网卡,RJ-45网卡,同轴电缆网卡,光线网卡等 等。它们的数据链路控制、寻址、帧结构等不同;物理上的连接方式不同、数据的编码、信号传输的介质、电平等不同。。以下主要介绍我们最常用到的以太网卡。
以太网采用的CSMA/CD(载波侦听多路访问/冲突检测)的控制技术。他主要定义了物理层和数据链路层的工作方式。数据链路层和物理层各自实现自己的功能,相互之间不关心对方如何操作。二者之间有标准的接口(例如MII,GMII等)来传递数据和控制。
2 网卡分类
目前PC机上常使用的网卡大都是以太网卡。按照不同的分类方法,网卡可分为好几类。常用的分类方法有:传输方式,传输速度,主机界面,传输介质。
2.1按传输方式分类
按传输方式分来分可分为:半双工网卡,全双工网卡。
2.2按传输速度分类
按传输方式分来分可分为:10M网卡,100M网卡,1000M网卡,10GM网卡。
2.3按主机界面分类
按主机界面来分可分为:ISA网卡,PCI网卡,PCI-X网卡,PCI-E网卡,USB网卡,PCMCIA 网卡。
2.4按传输介质分类
按传输介质来分可分为:同轴电缆网卡,双绞线网卡,光纤网卡。
3 网卡的基本结构
一块以太网网卡包括OSI(开放系统互联)模型的两个层。物理层和数据链路层分别与IEEE802.3 局域网模型的对应关系如图1所示。
以太网卡中数据链路层的芯片一般简称之为MAC控制器,物理层的芯片我们简称之为PHY。许多网卡的芯片把MAC和PHY的功能做到了一颗芯片中。但是MAC和PHY的机制还是单独存在的,只是外观的表现形式是一颗单芯片。当然也有很多网卡的MAC和PHY是分开做的。
图1 IEEE 802.3 局域网模型
3.1逻辑链路控制子层(LLC)
LLC 子层用于将数据帧从一个结点无错的传输到另一个结点。LLC 子层用来建立和终止逻辑链接,控制帧流,对帧排序,接收帧,并且对没有被接收的帧进行重发。LLC 子层使用帧应答和帧的重发为经过链路层的上层提供了真正的无错发送.
这个子层由操作系统的驱动程序实现。
3.2 媒介访问控制子层(MAC)
MAC 子层控制物理介质的访问,检查帧的错误,并且管理接收帧的地址认证.
3.3 物理子层(PHY)
物理层是将各网元连接到物理介质上的关键部件。为链路层实体之间进行bit传输提供物理连接所需的机械、电气、光电转换和规程手段。其功能包括建立、维护和拆除物理电路,实现物理层比特(bit)流的透明传输等。
如图1所示,物理层包括四个功能层和两上层接口。两个层接口为物理介质无关层接口(MII/GMII)和物理介质相关层接口(MDI),在MII/GII的上层是逻辑链路控制层(LLC),而MDI的下层则直接与传输介质相连。
3.3.1物理介质无关层接口(MII/GMII)
MII满足IEEE 802.3标准的要求,支持以太网数据传输的速率为10Mbit/s,100Mbit/s、1000Mbit/s和10Gbit/s,有对应的运行时钟。MII接口主要由与链路层之间的端口(MAC-PHY)和与站管理实体(STA:Station Management Entity)之间的端口(STA-PHY)两部分组成。    MAC-PHY端口
这是MAC与PHY器件之间的接口,包括同步收发接口和介质状态控制接口。在介质状态控制接口中有载波读出信号(CRS:Carrier Sense Signal)和碰撞检测信号(COL:Collision Detection Signal)等。
STA-PHY端口
STA-PHY作为MII/GII接口的一部分,用于在STA和PHY器件之间交换有关控制、状态和配置方面的信息。为此,IEEE规范了这个双线串行管理接口(SPI)的相关协议及管理信息帧的结构和管理寄存器的标准。
(1)管理寄存器
按标准,管理寄存器集(Management Registerset)包括强制性“基本控制”寄存器(Mandatory “Basic Control”Registers)、状态寄存器(Status Re-gisters)和专用扩展寄存器ICS(Specifie Extended Registers)几部分。
2)管理信号帧结构
管理接口是一个双向串行接口,用于交换PHY与STA之间的配置、控制和状态数据,利用定义的寄存器集实现PHY和STA的数据交换。STA可以启动所有的处理功能。IEEE对串行管理数据流定义了相关管理帧结构和协议。
3.3.2物理编码子层(PCS)
物理编码子层(PCS)有两个对外接口,一是与MII/GMII的接口,二是与物理介质连接子层(PMA:Physical Medium Attachment Sublayer)的接口。PCS子层遵循IEEE 802.3标准,功能包括对信号的编译码、收发处理、管理和控制等。PCS子层提供CRS载波检测信号(Carrier Sense Signal)和碰撞检出信号(Collision Detection Signal),用这两个控制信号实现对MII接口的控制与管理。
3.3.3物理介质连接子层(PMA)
PMA与PCS及PMD子层相连,因此必须有两个接口;一个是到上边PCS子层的接口,另一
个是到下边PMD子层的接口。PMA子层主要功能是:
(1)链路监测(Link Monitoring);
(2)载波检测(Carrier Dete-cting);
(3)MRZI编/译码(NRZI En-coding/Decoding)(10Mbit/s不用);
(4)发送时钟合成(Transmit Clock Synthesis);
(5)接收时钟恢复(Receive Clock Recovery)。
3.3.4 物理介质相关子层(PMD)
信号转换到特定介质上或反向转换.如双绞线,同轴电缆,光纤。
我们将介绍双绞线对物理介质相关子层(TP-PMD:Twisted-Pair Physical Media Dependent)
3.3.5介质相关接口层(MDI)
到传输介质的接口. 如图2所示。
图2 IEEE 802.3 介质
3.3.6自动协商子层
自动协商子层,在图1 没有画出,它位于PMD与MDI之间。
1)功能
自动协商子层(AN:Auto-Negotiation Sublayer)通常有以下功能:
网线原理a.确定在链路段介质或缆连接的另一端设备所具有的能力;
b.宣布远端链路设备中上述能力;
c.与链路远端设备交换彼此表征技术能力的数据参数,并且与远端链路设备建立协议,自动选择共有的最高性能工作模式。包括工作速率(10/100/1000Mbit/s)、传输介质和半/全双工模式。
自动协商功能是在建立链路两端设备中选择共有的高性能工作的模式,其算法和链咱完整性算法的区别在于:标准链路完整性算法仅用于建立来往远端设备的活动链路,而自动协商算法则是在选择两端共有的最高性能后,还要建立来往远端设备的激活链路。
(2)自动协商子层的启动
在以下事件之一发生时,需启动自动协商功能算法:
a.设备选通自动协商功能;
b.设备进入链路故障(Fail)状态;
c.自动协商复位。
在IEEE802-3标准的附录28B中,列出了各种技术的优先权顺序,如以下所示:
a) 1000BASE-T full duplex
b) 1000BASE-T
c) 100BASE-T2 full duplex
d) 100BASE-TX full duplex
e) 100BASE-T2
f) 100BASE-T4
g) 100BASE-TX
h) 10BASE-T full duplex
i) 10BASE-T
4双绞线以太网卡
双绞线(Twisted Pair)分为屏蔽(Shelded TwisteD Pair,简称STP)和非屏蔽(Unshelded TwisteD Pair,简称UTP)两种。所谓的屏蔽就是指网线内部信号线的外面包裹着一层金属网,在屏蔽层外面才是绝缘外皮,屏蔽层可以有效地隔离外界电磁信号的干 扰。
UTP是目前局域网中可以算使用频率最高的一种网线。这种网线在塑料绝缘外皮里面包裹着八根信号线,它们每两根为一对相互缠绕,形成总共 四对,双绞线也因此得名。双绞线这