一、什么是网卡?
网卡现在已经上成为了目前电脑里的标准配置之一。小小的网卡,究竟蕴涵着多少秘密呢?让我们一起来看。
我们最常用的网络设备当属网卡了。网卡本身是LAN(局域网)的设备,通过网关、路由器等设备就可以把这个局域网挂接到Internet上。而Internet本身就是无数个这样的局域网组成的。
这次我们主要讨论的RJ45的网卡属于IEEE802.3定义的范围。
二、网卡的组成
1.网卡的基本结构
一块以太网网卡包括OSI(开方系统互联)模型的两个层:物理层和数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。
以太网卡中数据链路层的芯片一般简称之为MAC控制器,物理层的芯片我们简称之为PHY。 许多网卡的芯片把MAC和PHY的功能做到了一颗芯片中,比如Intel 82559网卡的和3COM 3C905网卡。但是MAC和PHY的机制还是单独存在的,只是外观的表现形式是一颗单芯片。当然也有很多网卡的MAC和PHY是分开做的,比如D- LINK的DFE-530TX等。
以太网MAC芯片的一端接计算机PCI总线,另外一端就接到PHY芯片上。以太网的物理层又包括MII/GMII(介质独立接口)子层、PCS(物理编码 子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。而PHY芯片是实现物理层的重要功能器件之一,实现了前面物理层的所有的 子层的功能。
PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据而不管什么地址,数据,还是CRC),每4bit就增加 1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则(10Based-T的NRZ编码或100based-T的曼彻斯特编码)把 数据编码,再变为模拟信号把数据送出去。(注:关于网线上数据是数字的还是模拟的比较不容易理解清楚。最后我再说)
现在交换机的普及使得交换网络的普及,使得冲突域网络少了很多,极大地提高了网络的带宽。但是如果用HUB,或者共享带宽接入Internet的时候还是 属于冲突域网络,有冲突碰撞的。交换机和HUB最大的区别就是:一个是构建点到点网络的局域网交换设备,一个是构建冲突域网络的局域网互连设备。
现在来了解PHY的输出后面部分。一颗CMOS制程的芯片工作的时候产生的信号电平总是大于0V的(这取决于芯片的制程和设计需求),但是这样的信号送到 100米甚至更长的地方会有很大的直流分量的损失。而且如果外部网现直接和芯片相连的话,电磁感应(打雷)和静电,很容易造成芯片的损坏。
隔离变压器本身是个被动元件,只是把PHY的信号耦合了到网线上,并没有起到功率放大的作用。那么一张网卡信号的传输的最长距离是谁决定的呢?
下面继续让我们来关心一下PHY和MAC之间是如何传送数据和相互沟通的。通过IEEE定义的标准的MII/GigaMII(Media Independed Interfade,介质独立界面)界面连接MAC和PHY。这个界面是IEEE定义的。MII界面传递了网络的所有数据和数据的控制。
最后就是电源部分了。大多数网卡现在都使用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总线就可以实现唤醒功能。
注解:
网线上的到底是模拟信号还是数字信号呢?
答案是模拟信号。因为它传出和接收是采用的模拟的技术。虽然它传送的信息是数字的,并不是传送的信息是数字的,信号就可以叫做数字信号。
简单的例子:我们知道电话是模拟信号,但是当我们拨号上网的时候,电话线里传送的是数字信息,但信号本身依旧是模拟的。然而ADSL同样是通过电话线传送的,却是数字信号。这取决于它传出和接受采用的技术。
二、网卡和协议的关系:
答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件。这种方案可使MAC 和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积。单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下。
问:以太网MAC是什么?
答:MAC就是媒体接入控制器。以太网MAC由IEEE-802.3以太网标准定义。它实现了一个数据链路层。最新的MAC同时支持10Mbps和100Mbps两种速率。通常情况下,它实现MII接口。
问:什么是MII?
答:MII即媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口(图1)。 数据接口包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号。管理接口是个双信号接 口:一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。
答:PHY是物理接口收发器,它实现物理层。IEEE-802.3标准定义了以太网PHY。它符合IEEE-802.3k中用于10BaseT(第14条)和100BaseTX(第24条和第25条)的规范。
问:造成以太网MAC和PHY单片整合难度高的原因是什么?
答:PHY整合了大量模拟硬件,而MAC是典型的全数字器件。芯片面积及模拟/数字混合架构是为什么先将MAC集成进微控制器而将PHY留在片外的原因。更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合。
问: 除RJ-45接口外,还需要其它元件吗?
答:需要其它元件。虽然PHY提供绝大多数模拟支持,但在一个典型实现中,仍需外接6、7只分立元件及一个局域网绝缘模块。绝缘模块一般采用一个1:1的变压器。这些部件的主要功能是为了保护PHY免遭由于电气失误而引起的损坏。
问:10BaseT和100BaseTX PHY实现方式不同的原因何在?
答:两种实现的分组描述本质上是一样的,但两者的信令机制完全不同。其目的是阻止一种硬件实现容易地处理两种速度。10BaseT采用曼彻斯特编码,100BaseTX采用4B/5B编码。
问:什么是曼彻斯特编码?
答:曼彻斯特编码又称曼彻斯特相位编码,它通过相位变化来实现每个位(图2)。通常,用一个时钟周期中部的上升沿表示“1”,下降沿表示“0”。周期末端的相位变化可忽略不计,但有时又可能需要将这种相位变化计算在内,这取决于前一位的值。
答:4B/5B编码是一种块编码方式。它将一个4位的块编码成一个5位的块。这就使5位块内永远至少包含2个“1”转换,所以在一个5位块内总能进行时钟同步。该方法需要25%的额外开销。
四、网卡分类总结
网络接入方式 | 接入接口 | 速率 | 总线类型 | IC组成 |
有线网卡 |
1.RJ45
2.BNC
3.AUI
4.FDDI
5.ATM
|
1.10M
2.100M
3.1000M
4.10G不常见
|
1.PCI
2.PCI-E
3.ISA
4.USB
5.PCMCIA
6.其他非PC
|
1.独立MAC+PHY
2.集成MAC+PHY
|
无线网卡 | 无线 |
1.11M
2.54M
|
1.PCI
2.PCI-E
3.USB
4.PCMCIA
5.其他非PC
|
1.独立MAC+PHY
2.集成MAC+PHY
|