网卡的一些知识

Tags: hardware 

摘要

在做网络相关的工作时, 经常遇到关于网卡的内容。但是一直没有找到很系统的介绍资料。

网卡, 英文名: network interface controller, 所以经常用简称NIC表示。

产品资料

Intel

在Intel中国站上, “菜单->因特尔产品->以太网产品->英特尔以太网控制器”中可以看到Intel网络产品信息。

Intel-network-adapters-10G

Intel-network-adapters-1G

Intel-ethernet-controllers

吐槽一下,Intel的网站实在是乱七八糟!不同地区的主页安排不一致, 想要的信息找不到,或者同样的信息分布各个地方….

可以从Intel的Network Support页面进入到对每个产品的支持页面。

以XL710为例:

可以从XL710的产品页面进入到 产品支持页面, 然后点击进入 XL710的支持页面, 然后到从Document&Guides栏目进入到 XL710的文档页

XL710的文档页的General Installation&Configuration中可以下载到 Intel Ethernet User Guides, 其中的Adapter User Guide中对各种高级特性做了介绍..总算找到了…

产品类型

网卡也在不断的演进、发展。个人感觉其演进趋势是越来越复杂, 一些功能或新的想法用软件上的实现进了验证之后, 会被逐渐的迁移到网卡中。

在计算机系统中网卡扮演的角色会越来越多, 承担的任务越来越重。

1/10/40G

根据网卡的性能可以分为1G、10G和40G的网卡,以及自适应的网卡等。

Intel XL710 10/40GbE

Converged Network Adapter(CNA)

Converged Network Adapter的定义:

A converged network adapter (CNA) is a single network interface card (NIC) that 
contains both a Fibre Channel (FC) host bus adapter (HBA) and a TCP/IP Ethernet NIC.

当一台服务器同时需要通过Fibre Channel连接到存储和普通的Ethernet连接时, 使用CNA和Converged Switch, 可以节省线缆、端口、PCI插槽, 以及方便管理。

网卡特性及配置

在Windows中在网络连接的右键菜单中选择属性->配置->高级, 可以看到大量的配置属性。我们的目的就是要了解这些属性的含义和背后的技术。

在Linux中可以通过命令ethtool查看、修改网卡参数。man ethtool

Intel网卡的特性

Intel系列的官方文档获取方式参考”产品资料->Intel”中XL710资料查找的例子, 下面的特性都是从Adapter_User_Guide中获得的。

Jumbo Frames:

巨帧, 设置巨帧时需要考虑巨帧在网络环境的传递路线是通的。例如交换机支持巨帧,才能将巨帧转发出去, 接收支持巨帧,才能使巨帧被接收。

Advanced Network Services Teaming(ANS):

将多个网卡组合起来使用, 进行容错或者负载均衡

Virtual LANs:

Power Mangement:

可以在适当时候关闭网卡电源

Quality of Service:

Microsoft Hyper-V Overview:

Network Virtualization using Generic Routing Encapsulation(NVGRE)

Intel Active Management Technology:

通过网卡远程管理机器。

Locally Administered Address(LAA):

修改MAC地址

Low Latency Interrupts(LLI):

提高对报文的中断响应速度

Direct Cache Access(DCA):

Network Controller推动CPU将报文预取到cache中, 减少了内存访问、CPU负载

Direct Memory Access(DMA) Coalescing:

网卡通过DMA的方式直接将报文写入到内存中, 通过设置聚合值, 可以使网卡在聚集了一定数量的报文在进行DMA传送
通过设置合适的值平衡电源消耗和网络延迟

Receive Side Scaling:

所有的CPU核共同参与对接收到的数据的处理。

Thermal Monitoring:

当网卡控制器过热时,自动降低链路速度

Simple Network Management Protocol:

IP Security Offloading:

IPMI Manageability:

Intel网卡驱动配置项

Advanced driver setting for Intel Ethernet 10 Gigabit Server Adapters

网卡特性

接收队列/发送队列

网卡有多个接收队列/发送队列.

每个接收/发送队列绑定一个中断号, 由指定CPU处理, 将中断均分到CPU上.

Linux Kernel 2.6.21开始支持多队列特性.

Rsceive Side Scaling (RSS)

http://www.intel.com/support/network/adapter/pro100/sb/cs-027574.htm

http://msdn.microsoft.com/zh-cn/library/ff556942.aspx

RSS技术将网络报文分布到多个CPU上处理,均衡CPU的负担。使用Hash算法计算出报文应当由哪个CPU进行处理。

Data Center Bridging (DCB)

http://en.wikipedia.org/wiki/Data_center_bridging

DCB是对以太网协议的扩充, 用于在数据中等环境下, 降低丢帧率、对带宽进行细粒度控制

IP校验

网卡完成对IP报文的校验

VLAN处理

由网卡完成对VLAN头的处理

VMDq

http://www.intel.cn/content/www/cn/zh/network-adapters/gigabit-network-adapters/io-acceleration-technology-vmdq.html

虚拟设备队列, 接管VM数据流量


推荐阅读

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作

友情链接:  李佶澳的博客  小鸟笔记  软件手册  编程手册  运营手册  网络课程  收藏文章  发现知识星球  百度搜索 谷歌搜索