以太网网卡的组成及工作原理,以太网网卡的类型有哪三种

【以太网网卡的组成及工作原理,以太网网卡的类型有哪三种】网卡(Network Interface Card,简称NIC) , 也称网络适配器,是电脑与局域网相互连接的设备 。只要连接到局域网,就需要安装网卡 。一个网卡主要包括OSI的最下面的两层,物理层和数据链路层 , 物理层的芯片称之为PHY,数据链路层的芯片称之为MAC控制器,这方面的内容在之前已经有过介绍(以太网——PHY、MAC和 MII基础知识) 。
今天我们来了解网卡的工作原理,学习数据包的发送和接收的处理过程 。
网卡工作在OSI的最后两层:物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口 。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能 。以太网卡中数据链路层的芯片称之为MAC控制器 。很多网卡的这两个部分是做到一起的 。他们之间的关系是PCI总线接MAC总线,MAC接PHY,PHY接网线(通过变压装置) 。

以太网网卡的组成及工作原理,以太网网卡的类型有哪三种

文章插图
下面继续让我们看一下PHY和MAC之间是如何传送数据和相互沟通的 。通过IEEE定义的标准的MII界面连接MAC和PHY 。这个界面是IEEE定义的 。MII界面传递了网络的所有数据和数据的控制 。而MAC对PHY的工作状态的确定和对PHY的控制则是使用SMI(Serial Management Interface)界面通过读写PHY的寄存器来完成的 。PHY里面的部分寄存器也是IEEE定义的,这样PHY把自己目前的状态反映到寄存器里面,MAC通过SMI总线不断地读取PHY的状态寄存器以得知目前PHY的状态,例如连接速度、双工的能力等 。当然也可以通过SMI设置PHY的寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等 。
所以,不论是物理连接的MII界面和SMI总线还是PHY的状态寄存器和控制寄存器都是有IEEE的规范的 , 因此不同公司的MAC和PHY一样可以协调工作 。当然为了配合不同公司的PHY的自己特有的一些功能,驱动需要做相应的修改 。
工作过程
PHY在发送数据的时候,收到MAC过来的数据(对PHY来说 , 没有帧的概念 , 对它来说,都是数据而不管什么地址,数据还是CRC),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则(10Based-T的NRZ编码或100based-T的曼彻斯特编码)把数据编码再变为模拟信号把数据送出去 。收数据时的流程反之 。
现在来了解PHY的输出后面部分 。
一颗CMOS制程的芯片工作的时候产生的信号电平总是大于0V的(这取决于芯片的制程和设计需求),但是这样的信号送到100米甚至更远的地方会有很大的直流分量的损失 。而且如果外部网线直接和芯片相连的话,电磁感应和静电 , 很容易造成芯片的损坏 。
再就是设备接地方法不同,电网环境不同会导致双方的0V电平不一致 , 这样信号从A传到B,由于A设备的0V电平和B点的0V电平不一样,这样会导致很大的电流从电势高的设备流向电势低的设备 。这时就需要Transformer(隔离变压器) 。它把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号 , 并且通过电磁场的转换耦合到连接网线的另外一端 。这样不但使网线和PHY之间没有物理上的连接而换传递了信号,隔断了信号中的直流分量,还可以在不同0V电平的设备中传送数据 。
隔离变压器本身就是为耐2KV~3KV的电压而设计的,同时起到防雷感应保护的作用 。有些用户的网络设备在雷雨天气时容易被烧坏,大都是PCB设计不合理造成的 , 而且大都烧毁了设备的接口,很少有芯片被烧毁的 , 就是隔离变压器起到了保护作用 。
以太网网卡的组成及工作原理,以太网网卡的类型有哪三种

文章插图
发送数据时,网卡首先侦听介质上是否有载波(载波由电压指示),如果有 , 则认为其他站点正在传送信息,继续侦听介质 。一旦通信介质在一定时间段内(称为帧间缝隙IFG=9.6微秒)是安静的,即没有被其他站点占用 , 则开始进行帧数据发送,同时继续侦听通信介质,以检测冲突 。在发送数据期间,如果检测到冲突,则立即停止该次发送,并向介质发送一个“阻塞”信号,告知其他站点已经发生冲突 , 从而丢弃那些可能一直在接收的受到损坏的帧数据,并等待一段随机时间(CSMA/CD确定等待时间的算法是二进制指数退避算法) 。在等待一段随机时间后,再进行新的发送 。如果重传多次后(大于16次)仍发生冲突,就放弃发送 。
接收时,网卡浏览介质上传输的每个?。?如果其长度小于64字节,则认为是冲突碎片 。如果接收到的帧不是冲突碎片且目的地址是本地地址,则对帧进行完整性校验,如果帧长度大于1518字节(称为超长帧,可能由错误的LAN驱动程序或干扰造成)或未能通过CRC校验 , 则认为该帧发生了畸变 。通过校验的帧被认为是有效的,网卡将它接收下来进行本地处理 。
了解更多:***/?&=nb