【以太网硬件十八】网卡是什么?

news/2024/11/23 1:35:26/
👉个人主页: highman110
👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容

目录

1网卡分类

2网卡原理框架

3智能网卡和网络虚拟化


1网卡分类

        网卡全称Network interface card,简称NIC,又叫网络适配器,是计算机、服务器和局域网进行通信的接口卡。诸如EISA、ISA、VESA等接口的网卡已基本淘汰,在此不再详述。目前用得多的是PCIE网卡,服务器和台式机上大多用此类。详细的网卡分类如下图,当然还有其他更多的分类方式,不一一赘述:

2网卡原理框架

        通常的网卡包括OSI模型的两个层,物理层和数据链路层,网卡主芯片将MAC和PHY集成在一起:

        1、物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。

        2、数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。

        当然也有的板载网卡,MAC部分被集成在CPU中,外部再增加PHY芯片,这个PHY芯片就是俗称的“软网卡芯片“。

        如下图是intel网卡主控芯片基本框图。系统侧支持PCIE 3.0,线路侧支持10Gbase-T。芯片实现PCIE—MAC—PHY—线路的数据处理。

        下图是网上找到的两张PCI网卡的实物图,一款MAC和PHY分开,一款MAC和PHY集成:

         图中的各标号器件分别是:

        ①RJ-45接口
        ②Transformer(隔离变压器)
        ③PHY芯片
        ④MAC芯片
        ⑤EEPROM(存放网卡芯片的供应商ID,子系统供应商ID,网卡的MAC地址,网卡的一些配置,SMI总线上PHY的地址等信息
        ⑥BOOTROM插槽(用于存放无盘工作站引导操作系统的相关代码,如PXE功能,当然这部分代码也可以放在主板BIOS
        ⑦WOL接头(网络唤醒功能,用以连接主板的standby电源)
        ⑧晶振
        ⑨电压转换芯片
        ⑩LED指示灯

3智能网卡和网络虚拟化

        随着数据中心内部数据和带宽的爆炸式增长,传统软件实现虚拟化以及数据处理的方式遇到了一系列问题。智能网卡的出现,将网络、存储以及安全任务从CPU卸载到了硬件进行加速,解决了在大带宽场景下CPU的消耗以及延迟和抖动等问题。现在,越来越多的网卡设备支持offload特性,来提升网络收/发性能。offload 是将本来该操作系统进行的一些数据包处理(如分片、重组等)放到网卡硬件中去做,降低系统CPU消耗的同时,提高处理的性能。

        LSO/LRO是常用的卸载技术之一,分别对应到发送和接收两个方向,是 Large Segment Offload 和 Large Receive Offload。我们知道计算机网络上传输的数据基本单位是离散的以太网包,既然是包,就有大小限制,这个限制就是 MTU(Maximum Transmission Unit)的大小,一般是1518字节。比如我们想发送很多数据出去,经过os协议栈的时候,会自动拆分成几个不超过MTU的网包。然而,这个拆分是比较费计算资源的(比如很多时候还要分别计算拆分后checksum),由CPU来做的话,往往会造成使用率过高,这和虚拟化的目的—提升硬件资源利用率是背道而驰的,那可不可以把这些简单重复的操作 offload 到网卡上呢?于是就有了LSO,在发送数据超过 MTU 限制的时候(太容易发生了),OS只需要提交一次传输请求给网卡,网卡会自动的把数据拿过来,然后进行切片,并封包发出,发出的网包不超过MTU限制。而当网卡收到很多碎片包的时候,LRO可以辅助自动组合成一段较大的数据,一次性提交给OS处理。一般的,LSO和LRO主要面向TCP报文。

        网卡的这些offload特性,对虚拟化有什么帮助?

        在网络虚拟化中,一个最常见的技术就是隧道,这是实现overlay的通用手段。而实现隧道无非就两种思路,一种是把转发信息放到包头上,即封装/解封装(无论VXLAN还是STT都是这个思路);另外一种是由额外的数据库管理,转发时候进行查询。这两种思路各有利弊,这里不细说,如果我们采用封装/解封装的作法,那么可能原来网包并没有超过MTU限制,加上封装包头就超了,这就需要进行切片了,那切片这个动作由网卡硬件完成,将有效提升数据的传输效率。有人统计过,想要线速处理10G的网络,需要的大约4个Xeon CPU的核。也就是说,仅仅是进行⽹络数据包的处理,就要占用⼀个8核⾼端CPU⼀半的算力。

        总的来说,智能网卡有如下优势:

  1. 对于运营大型数据中心的云服务提供商来说,智能网卡可以释放宝贵的CPU内核,来为最终用户运行业务应用,从而提高服务器利用率。
  2. 智能网卡可以满足各种offload需求,包括传输和存储协议,例如RoCETCPNVMe-over-Fabrics

        某些智能网卡是可编程的,可以针对各种应用进行定制,并可以重新配置以满足新的要求。比如英特尔的IPU、英伟达的DPU,都是类似于智能网卡的升级概念,为了减轻CPU的负担,在现代新型数据中心网卡上使用了FPGA或ASIC硬件来做一些原本要CPU做的事情,比如英特尔的IPU上就放了一片志强-D处理器。


http://www.ppmy.cn/news/175201.html

相关文章

网络适配器(网卡)

网络适配器(网卡) 网络适配器(网卡)的设计实现串行/并行转换网卡驱动网卡实现数据链路层和物理层的功能混杂模式抓包工具 网络适配器(网卡)的设计 网络适配器,也称为网卡。 网卡是一块被设计用…

网卡的分类

有线网卡的分类 1. 按总线接口类型分 按网卡的总线接口类型来分我们一般可分为早期的ISA接口网卡、PCI接口网卡。目前在服务器上PCI-X总线接口类型的网卡也开始得到应用,笔记本电脑所使用的网卡是PCMCIA接口类型的。 (1)ISA总线网卡 这是早期…

网卡 - 功能产品

前面从IP和讲到了产品的整个过程,现在通过一个网卡和一个系统级JZ2440两个产品说明整个产品的工作流程和开发流程。 网络适配器又称网卡或网络接口卡(NIC),英文名Network Interface Card。它是使计算机联网的设备,平常所说的网卡就是将PC机和…

网卡

概念定义:  计算机与外界局域网的连接是通过主机箱内插入一块网络接口板(或者是在笔记本电脑中插入一块PCMCIA卡)。网络接口板又称为通信适配器或网络适配器(adapter)或网络接口卡NIC(Network Interface …

网卡介绍

什么是 网卡 网卡(Network Interface Card)是物理上连接计算机与 网络的硬件设,是计算机与局域网 通信介质间的直接接口。由于网络技术的不同,网卡的分类也有所不同,如大家所熟知的ATM网卡、令牌环网卡和以太网网卡…

联通3G上网卡资费每月最低75元 套餐自动升级

继联通3G套餐试商用期间实行通信费五折优惠后,中国联通再向腾讯科技透露,联通3G上网卡套餐也将实行半价优惠,每月资费最低为75元。 试商用期每月仅75元 据悉,试商用友好体验期,联通3G无线上网卡默认选择最低档套餐&…

cortex-M4、cortex-M4F有什么升级?

可以看出cortex-M4比上一代cortex-M3多了Floating-Point Unit (FPU)和DSP. 1.DSP在cortex-M4中是必须支援的. 2.FPU则是一个可选的功能模块,这意味着芯片公司可以根据自己需求向ARM制定IP。 包含了FPU的就是cortex-M4F;没有包含FPU的则是cortex-M4.

cortex-M3/cortex-M4技术综述

一、cortex-m3和cortex-m4处理器的一般信息 1.1 处理器类型 ARM CORTEX-M 为32位RISC 处理器,其具有 32位寄存器 32位内部数据通路 32位总线接口 ​ 除了32位数据,ARM处理器都还可以高效地处理8位数据和16位数据。m3和m4处理器还支持涉及64位数据的…