网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备。无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网卡。如果有必要,一台电脑也可以同时安装两块或多块网卡。
电脑之间在进行相互通讯时,数据不是以流而是以帧的方式进行传输的。我们可以把帧看做是一种数据包,在数据包中不仅包含有数据信息,而且还包含有数据的发送地、接收地信息和数据的校验信息。
一个网卡主要包括OSI的最下面的两层,物理层和数据链路层
1、物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY
2、数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。数据链路层的芯片称之为MAC控制器
CPU,MAC,PHY并不是集成在同一个芯片内,由于PHY包含大量模拟器件,而MAC是典型的数字电路,考虑到芯片面积及模拟/数字混合架构的原因,将MAC集成进CPU,而将PHY留在片外,这种结构是最常见的。
CPU内部集成了MAC和PHY (难度较高)
CPU内部集成MAC,PHY采用独立芯片 (主流方案)
CPU不集成MAC和PHY,MAC和PHY采用独立芯片或者集成芯片 (高端采用)
MAC控制器:主要完成数据链路层的IP数据报打包成网络帧并将数据发送给PHY。
PHY:主要完成速度协商,数字信号到模拟信号的转换最后把信号输出到网线上。
网卡体系结构:
//省的码字,详细见:
https://blog.csdn.net/chenhuanqiangnihao/article/details/128287341