高速网络流量处理设备相关知识
基于对高速流量处理设备描述的需要,调研了物理硬件相关的知识,主要包含了接口,存储等内容。
接口
设备接口根据处理需要不同分为网络接口、管理接口和硬件模块接口等。
管理接口
管理接口是操作人员同设备进行交互,用于访问、运维、程序部署、展示的接口。
l VGA/HDMI/DVI接口
这类接口大家日常使用的较多,比较熟悉。
VGA(Video Graphics Array)是一种3排共15针的DE-15。VGA通常在·设备的显示卡、显示器及其他设备,用于传输模拟信号,方便人机交互。
HDMI(High Definition Multimedia Interface)是一种数字视频/音频接口技术,适合影响传输的专用型水化接口,其可同时传送音频和影响信号,最高数据传输速度为2.25GB/s。
DVI(Digital Video Interface)是一种高速传输数字信号的技术,有DVI-A,DVI-D,DVI-I三种不同的接口形式。DVI-D只有数字接口,DVI-I有数字和模拟接口,目前应用主要以DVI-I(24+5)为主。
l USB接口
USB(Universal Serial Bus)平常接触较多,是连接计算机系统与外部设备的一种串口总线标准。类型有USB 2.0,USB 3.0。最新一代的是USB4,传输速度为40Gb/s。
l RJ45接口
这个就是网线接口,通常用于数据传输,最常见的应用为中低速(10/100/1000M)的网卡接口。
网络接口
网络接口主要是基于高速网络流量处理的需要而配备的网卡,如10G,100G高速流量。
网络接口分为接口类型,工作模式等。
l 接口类型
常用的有POS(Packet Over SDH)接口和GE(Gbit Ethernet)接口。
POS一般用于核心/汇聚路由器的广域互联,常用的40GPOS,10GPOS,2.5GPOS。
GE接口是实现计算机网络互联的最常用接口。相比POS,以太网接口更为廉价,且兼容性较好。常用的高速网卡有10GE,20GE,100GE
l 工作模式
网卡工作模式分为Half-duplex和 Full-duplex。Half-duplex限制数据据在一个通道收发。Full-duplex则表示通信有两个通道。
一般高速网卡支持Full-duplex,而管理网卡两者都支持。
硬件模块接口
高速网卡通常有两种方式同处理器连接:插拔式板卡和硬连接式。硬连接的主要是同CPU做在同一张板卡上。插拔式板卡则可卸载,根据需要灵活安装。这里关注插拔式网卡板卡。
网卡板卡同设备的连接主要通过PCIe端口。
PCIe接口前身是PCI接口,即PCI总线接口标准,带宽为133MB/s。PCI总线上面的设备通过地址寻址进行访问,如通过访址访问单片机的外设。随着高速发展的数据传输需求,PCI进化到了PCIe,PCIe 1.0 x1带宽为250MB/s
连接板卡的PCIe插槽一般有四种长度,最短的是1X,比PCI稍短一点的是4X,8x又比4x长,最长的是16X。
PCIe x16插槽全长89mm,有164根针脚,主要用于显卡以及RAID阵列卡等,这个插槽拥有优良的兼容性,可以向下兼容x1/x4/x8级别的设备。可以说是PCIe x16插槽是PCIe的万能插槽。
PCIe x8插槽全长56mm,有98根针脚,与PCIe x16比较,主要是数据针脚减少至76根,短的供电针脚仍然是22针脚。
为了兼容性,PCIe x8插槽通常加工成PCIe x16插槽的形式,但数据针脚只有一半是有效的,也就是说实际带宽只有真正的PCIe x16插槽的一半。
PCIe x4插槽的长度为39mm,同样是在PCIe x16插槽的基础上,以减少数据针脚的方式实现,主要用于PCIe SSD固态硬盘。
PCIe x1插槽的长度是最短的,仅有25mm,相比PCIe x16插槽,其数据针脚是大幅度减少至14个。PCIe x1插槽的带宽通常由主板芯片提供,主要用途是独立网卡、独立声卡。
PCIe目前最新的版本为4,即PCIe 4.0。PCIe 1.0和2.0采用了8b/10b编码方式,这意味着每个字节(8b)都用10bit传输,这就是为什么2.5GHz和5GHz时钟,每时钟1b数据,结果不是312.5MB/s和625MB/s而是250MB/s和500MB/s(这里可以计算)。PCIe 3.0和4.0采用128b/130b编码,减小了浪费(overhead),所以才能在8GHz时钟下带宽达到1000MB/s(而不是800MB/s)。即将于今年发布的PCIe 4.0还会将频率提高一倍,达到16GHz,带宽达到2GB/s。
PCIe版本 | 编码 | 时钟 | 带宽(x1) |
1.0 | 8/10b | 2.5GHz | 250MB/s |
2.0 | 8/10b | 5GHz | 500MB/s |
3.0 | 128/130b | 8GHz | 1GB/s |
4.0 | 128/130b | 16GHz | 2GB/s |
以主机接口PCIe Gen4.0 x16为例,表示generation 4.0,插槽接口类型为x16。
设备厂商提供的网卡板卡通常有三种,单端口板卡、双端口板卡和四断开板卡。。
单模和多模
高速网卡同网络设备的连接还需要中间的介质,如双绞线和光纤,并且搭配光模块使用。
光模块称为光收发一体模块,按照封装分为1×9、SFF、SFP、GBIC、XENPAK、XFP以及SFP+、QSFP、QSFP+。这里主要介绍常见的SFP,SFP+,QSFP,QSFP+。
SFP:支持广泛的协议和速率(快速以太网、千兆以太网、光纤通道、Sonet/SDH),可在商业或扩展温度环境下运行;
SFP+:专为10G以太网和1G光纤通道;
SFP28:专为25G以太网;
SFP 56:专为50G以太网;
QSFP+: 40Gbps 40g以太网和OTN标准接口支持多模和单模光纤。
QSFP28: 100/1000G以太网和OTN标准接口支持多模和单模光纤。
QSFP56:200G
以ConnectX-6 DX网卡的为例,其OCP 2.0规格如下:
光模块又分为单模和多模光模块。
按照波长分有850nm/1310nm/1550nm/1490nm/1530nm/1610nm, 波长为850nm为SFP多模,传输距离在2KM以下,波长是1310/1550nm的为单模,传输距离在2KM以上。
以华严机房中的光模块为例,常见的有850nm和1310nm。在和网络设备连接时,两边的光模块需要一致。
光纤网卡接口类型分为光口和电口。
光纤网卡光口接口分为SC,ST,LC等多种类型,搭配的光模块以SFP封装为主。
光纤网卡电口是RJ45等各种双绞线接口的统称,目前普遍使用的电口有百兆、千兆、万兆等。
光纤网卡光口和电口的区别在于传输距离的不同,电口的最大传输距离只有100米,而多模的光口可传输几百米,单模的光口可传输几千米。
存储
SSD中,存在SATA、m2、NVME、SPDK几种接口类型。
SATA是将SSD连接到PC的接口,目前市场上占主流。它采用命令协议AHCI(它还支持IDE),该协议是为慢速旋转的磁盘而不是闪存而设计的。 SATA传输速率开始于150 MB / s,对于第三代技术最大达到600 MB / s。
NVMe是最新的高性能和优化协议,它取代了AHCI并补充了PCIe技术。它提供了优化的命令和完成路径,可用于基于NVMe的存储。
M.2,也称为Next Generation Form Factor (NGFF),是计算机内部扩展卡及相关连接器规范。计算机总线将M.2连接器转化为PCI Express 3.0(最多4个通道)、SATA 3.0或USB 3.0接口。M.2连接器有几种不同的固定槽,代表着M.2主机和模块不同的目的和功能,避免用户将M.2模块插入到功能不兼容的主机连接器中。
SPDK(Storage Performance Development Kit)为编写高性能的、可扩展的、用户态存储应用提供了一套工具和库函数。SPDK之所以能实现高性能,是因为所有必要的驱动被挪到了用户空间运行,使用轮询模式代替了中断模式,从而避免了内核上下文切换和消除了中断处理开销。