移动信息系统

PDF
移动信息系统/2020/文章
特殊的问题

智能空间的个人通信技术

查看本特刊

研究文章|开放获取

体积 2020 |文章编号 7641073 | 8 页面 | https://doi.org/10.1155/2020/7641073

物联网基于SDN的CRC-基于类微引擎的高效流处理互联网

学术编辑器:阿里·卡希夫巴希尔
收到了 2019年12月14日
公认 2020年4月3日
发布时间 2020年5月18日

摘要

在物联网(IOT),网络设备和移动系统应该交换大量的数据可以忽略不计的延迟。为了这个目的,社区中使用的软件定义网络(SDN),其提供了基于流的高速通信的机制。为了满足在传送的分组的分类SDN的要求,需要高吞吐量分组分类系统。A hardware-based method of Internet packet classification that could be simultaneously high-speed and memory-aware has been proved to be able to fill the gap between the network speed and the processing speed of the systems on the network in traffics higher than 100 Gbps. The current architectures, however, have not been successful in achieving these two goals. This paper proposes the architecture of a processing micro-core for packet classification in high-speed, flow-based network systems. By using the hashing technique, this classifying micro-core fixes the length of the rules field. As a result, with a combination of SRAM and BRAM memory cells and implementation of two ports on Virtex®6 FPGAs, the memory usage of 14.5 bytes per rule and a throughput of 324 Mpps were achieved in our experiments. Also, the performance per memory of the proposed design is the highest as compared to its major counterparts and is able to simultaneously meet the speed and memory-usage criteria.

1.介绍

我们的世界是由物联网(IOT)连接。在过去的几年中,相当大的增长的网络带宽和硬件技术,尤其是在移动通信的发展,导致了这一全球网络的通信线路[速度的显著上升12]。也就是说,通信线路的速度达到了“兆位/秒”以上。“SDN模式的目的是通过加速路由器和交换机以网络连接速率处理数据包来达到良好的网络管理性能[34]。使SDN柔性足以满足的异构物联网应用的不同要求,希望在软件定义的IoT(SD-IOT)的条件[6]。为此,网络设备都配备了新的机制,命名数据包分类,这让他们成为流量感知。即,网络设备,第一分类上述传入分组成根据一组预定义的过滤器流过,那么任何进一步的处理相应地进行。因此,各种分组处理器设备,包括路由器,防火墙,入侵检测系统,帐户管理系统,以及网络管理系统使用分组分类[17-10]。也就是说,许多重要的网络管理功能(如访问控制、服务质量供应、防火墙、流量监控和基于策略的交换)都使用了包分类。

有在一个典型的分类规则五个字段包括源和目的地IP地址(SA和DA),源和目的地端口号(分别为SP和DP),和协议(PT)。SA和DA是地址前缀,SP和DP是数的范围,和PT字段可以是某一特定值或一个通配符。规则在规则集中的顺序确定其优先级。最后一条规则是默认的规则,将所有五个领域都等于通配符。如果传入数据包匹配多个规则,执行对应于具有最高优先级规则中的操作。一种用于分组分类算法描述在[发现1]。

在网络设备上网的数据包的分类是通过两种基于硬件的基于软件的方法或进行。基于软件的方法相当长的时间超负荷使得它们不太流行之间的网络设备制造商[11]。在另一方面,有对基于硬件的方法和其较高的吞吐率和更低的延迟[一个普遍的倾向12]。基于硬件实现的数据包分类算法可分为两类。第一组是基于并行搜索的算法在内容可寻址存储器(CAM)芯片Z-TCAM [13],E-TCAM [14],和ZI-CAM [15]。尽管这些算法的速度相对较高,但使用三元存储器导致了诸如功耗过大、速度低于其他存储器单元、缺乏可伸缩性、过度消耗芯片资源和高价格等缺点。第二组算法包括决策树、分解树、几何空间、场加密等算法,以及在ASIC或FPGA等可编程硬件设备上实现的类似算法。

在设计基于硬件的方法的主要挑战是增加产量来设计成本的比率。一个分类器的通过量被分类在单位时间内的分组的数量。所需的存储空间是系统设计的成本的主要指标。为了达到这个最佳点,我们提出了一个微内核,降低内存消耗,同时提高了分类的吞吐量。是本文的主要贡献如下:(1)所提出的微芯用途SRAM和BRAM的细胞,其允许双端口实现。(2)该引擎不使用任何三元内容可寻址内存。相反,它通过循环冗余检查(CRC)代码编码所有的前缀。(3)Implementing the proposed classifier on Virtex®6 FPGA shows that the memory cost reduces to 14.5 bytes per rule, and simultaneously the throughput of the classifier reaches 324 Mpps. This result confirms the superiority of the proposed architecture to its counterparts.

本文的其余部分安排如下。中科2,基于硬件的数据包分类系统的相关工作进行了综述。所提出的microclassifier架构中解释节3。所提出的架构的性能评价节介绍4引入后的指标。最后,结论和指导今后的研究中节中讨论

到目前为止,已经提出了各种各样的基于硬件的分类器体系结构来进行数据包分类。它们都试图增加吞吐量并减少内存使用。基于凸轮的分类器结构得益于凸轮模块的并行搜索特性,但存在较高的实现成本和较高的功耗。在[1617],两个最近的架构提出了建议。他们分别利用流水线决策树算法和三元内存。在[提议的架构16]已经实现了103 Gbps的吞吐量,在这里提到的所有作品中是最高的。然而,根据它的硬件参数,比如分类器规则字段值分布上的管道数量和长度,任何更新都需要对架构进行重新配置。另一方面,这种架构的内存使用量是每个数据包63.5字节。在[17],研究人员使用的尺寸的三元记忆 并能降低存储器使用下降到每第18个字节;however, their maximum throughput was as low as 38 Gbps. The architectures proposed in [1819可以实现100mpps的吞吐量,同时保持分别为23.5和17.4字节的内存使用。在[18]在规则搜索中,并且它没有解决最长前缀匹配(LPM)的问题。在[提议的架构19]采用基于TCAM的方式来分组分类。其主要缺点是TCAM用法的线性增长成正比增加芯片资源和功率消耗的规则数。基于分解树在合并算法的实现[20.]实现了一个94 Gbps的吞吐量(相当于147mpps,假设每个数据包是40字节)。该研究既没有提供内存使用情况,也没有提出任何更新规则的解决方案。

一些分类一样,在[呈现21使用一个特殊的模型来加速访问包含规则的内存,这反过来增加了他们的内存消耗。包分类算法的流水线实现寻求适当的解决方案,以减少管道中断的数量和所需的内存空间。例如,在[的流水线分组分类器中。22,每个规则的内存消耗从16字节到24.5字节不等。

为了克服上述缺点,我们提出了一种低内存消耗和高吞吐量的包分类微核。提议的微核利用SRAM和BRAM单元,允许双端口实现。在微核内部结构中使用循环冗余校验(CRC)代码进行处理,不需要使用三元存储器,减少了FPGA硬件资源的消耗,减少了该分类器访问存储器所需的时间。

3.建议的架构

本节介绍所提出的分类,其目的是提高数据包分类速度的架构。的基础的架构的两个原则:第一,利用BCAM存储器的前缀匹配,第二,使用散列码,以减少存储器的使用。

在该分类器中,一组处理微核充当一个CAM,每个微核存储规则集的一个规则字段的信息,其体系结构如图所示1。在此体系结构中,ñ微核是为每个用于包分类的字段定义的,其中ñ是代表每场微核的数目在分级规则的数目。

传入的数据包分类如下:首先,数据包通过共享总线传输到微核单元。当数据包进入微核时,并行散列计算器读取头的源和目的IP地址字段。接下来,以与前缀寄存器值的长度成比例的并行方式,对输入地址执行CRC-16生成过程,结果存储在临时寄存器中。每个micro-core都有一个控制单元,除了micro-core的控制功能,管理的生成过程以及过程匹配生成的哈希代码和存储在临时注册的散列码前缀的相应规则的micro-core Hash-of-rule登记。如果传入的数据包头的哈希码与微核中的哈希码相匹配,加法器将向存储在Rank寄存器中的变量添加一个哈希码。此外,在匹配正确的情况下,一比特标志匹配微核中的对应位ñ位寄存器的数据包匹配将被设置。如果匹配失败,这些位将是默认的复位。的数据包匹配寄存器用于在其它微核记录匹配或失配。在该寄存器中,具有为一的值的任何位表示一个匹配,并用零只表示在对应于正被搜索的字段中的微芯上的失配的值的任何位。匹配的所有字段后,将结果写入到对应于每个字段中的数据包匹配寄存器中的位。其次,对所有的数据包匹配寄存器进行逻辑与操作的结果存储在匹配矢量。最后,优先解码器选择具有最高优先级的匹配规则。

如图所见1中,分类器由一组处理微核的。在下文中,我们将讨论的是在图中示出的微内核的内部架构2。此外,微核的每个寄存器的长度在图的底部示出了2

微芯的主体是由两个模块组成,即,CRC计算器和控制器。控制器模块负责所有的控制线,输入和输出的管理。在该单元操作包括选择线,注射管理,和寄存器的更新。事实上,这种单位是微芯,其分别由分类器的主控制器控制的决策者。换句话说,微内核的功能不被更新和微核的改变一个中断。

微核的第二个重要模块是CRC计算器,它承担了微核的大部分处理负载。数字3说明本模块的功能。它接收传入的数据包并并行计算它们的哈希码(算法的第1行)1)。为了这个目的,利用该已存储在前缀寄存器中的相应的前缀沿着每个IP地址进入模块。接着,散列码在使用它们计算并且被发送到控制器,用于匹配的目的。该模块的实现会消耗的Virtex-6 40出204000个LUT。

输入
产量
寄存器
数据
(1)
(2)
(3) //分类操作
(4)
(5)
(6)
(7)
(8)
(9) //更新
(10)
(11)
(12) //
(13)
(14) //设置地址
(15)
(16)
(17)
(18) 结束开关
(19)
(20)
(21)

微核有7个输入引脚和2个输出引脚。表格1列出了微核的输入和输出端口与它们在比特长度以及它们的描述。一种微芯由寄存器,散列发生器模块(CRC计算器),和控制器。


名称 长度(位) 描述

CLK 1 时钟所有微内核
字首 6 前缀的长度
数据 32 对于传入的数据包输入线的宽度
规则 16 规则的哈希码的最大长度
地址 16 所选择的处理核的地址
En-address 1 更新和配置操作的激活
选择 2 处理的选择的核模式
秩出 32 与所有微核共享的总线宽度,用于更新
匹配 1 一种用于在微核心信令匹配/不匹配标志

微核的一组输入引脚名为“Select”,它决定了微核的运行模式(算法第2行)1)。事实上,该引脚负责微内核的运作管理。它被连接到其被如下所述用于将微核心功能的地址不同模式的两比特总线(也见表2):模式0:微核心执行它的主要任务,这是分组分类(系算法3-71)。模式1:当地址端口的地址与地址寄存器中的地址相同时,利用前缀端口和规则端口的信息更新所选微核中的信息(算法第9-11行)1)。模式2:每个微芯发送与它的秩到共享输出总线的信息。这种操作的目的是为选择由分类控制器被去除的最佳人选。中央控制器存储与最低等级分类器的数目来更新规则(线算法的12-131)。模式3:大多数现有的分类器不提供更新规则的动态解决方案,并通过重新配置芯片组来执行此任务。然而,考虑到它的低级别特性,我们提出的架构使我们能够在特定条件下更新规则。注入新规则很容易,而不需要改变现有规则的顺序。最后一种模式是Select(1,1),通过向每个微核注入规则来初始化微核(算法第14-17行)1)。


选择 模式 算法对应线1

00 数据包分类 3 - 7
01 微核的更新规则和属性 9 - 11
10 BUS上微内核的输出等级 12-13
11 初始化所选择的微芯 14日至17日

在将数据包注入处理微核之前,先注入规则。在此步骤中,已转换为哈希码的规则存储在哈希码寄存器中。前缀和地址寄存器保留前缀长度和处理核心的地址规则。标志属于内部控制器,它管理微核内部的输入/输出操作,使处理输入包的行为不会重叠。秩寄存器的长度为32位,并在微核的输入数据包和匹配字段之间保持正确的匹配。对于微核中的每一个正确匹配,都会在这个寄存器的值中添加一个。这是用于在其他处理微核中更新和删除规则的标准。因此,选择秩最低的微核进行删除和更新。事实上,在这个分类器中,较低的级别表示规则集中使用的规则减少。

4.实施和评价

在本节中,实施所提出的微核架构的结果进行了讨论。这种体系结构是从的Virtex-6 FPGA家庭XC6VLX75T芯片使用VHDL语言的Xilinx ISE 14.7模拟器上实现。实验是在表中提到的特性的系统上完成3


产品规格 处理器

名称 英特尔酷睿i7 - 3720 qm
时钟速度 2600兆赫
L3缓存 6 MB
主存储器 16 GB DDR3
操作系统 Windows 10 enterprise 18.03 64位

本实验的评估标准是吞吐量和内存。吞吐量指的是每秒分类的数据包数。假设每个数据包至少有40个字节[20.,我们使用Gbps而不是Mpps来测量吞吐量。对于分类器中的每个规则,内存使用以字节为单位进行度量。

实验中使用Classbench工具生成规则和实验包。Classbench运行在Linux平台上,用于在规则的几何空间模型中生成具有理想分布的规则集。它使用一组输入分布参数来生成规则和相应的头信息[23]。

迄今取得的最高吞吐量属于常[16,即103.53 Gbps。但是,它比我们的吞吐率少了0.150 Gbps。同样,在该架构中存储分类器规则的内存使用量是我们方法中的四倍。事实上,Chang的架构在内存使用方面与传统的基于tcam的架构相似。

表格4将所提出的微核架构与现有的微核架构进行比较。时钟频率为170 MHz,每个微核的处理时间在最坏情况下为每包6.2纳秒,功耗为118 mW。由于双端口存储器可以同时处理两个数据包,该提议的微核能够在一秒内处理3.24亿个至少40字节的数据包,相当于超过100 Gbps的吞吐量。在这个模拟中,我们的体系结构使用了137个片寄存器和182个搜索表。


参考 吞吐量(Gbit / s) 频率(MHz) 存储器(字节) 斯里 芯片

脓液及Korenek [18] One hundred. 125 23.5 Virtex5 LX110T
张和陈[16] 103.53 161.76 63.5 Virtex-6 XC5VFX200T
Fiessler等[24] 92.16 180 NA Virtex-7 XC7VX690T
欧罗斯等。[25] One hundred. 312 NA Virtex-6 XC6VHX255T
周某等人。[20.] 147万 NA NA Virtex-7 XC7VX690T
Irfan等[17] 37.3 259 18 Virtex-6 XC6VLX760
Jiang和Prasanna [19] One hundred. 167 17.4 Virtex-5 XC5VFX200T
我们的设计 103.680 170 14.5 Virtex-6 XC6VLX75T

在表4在吞吐量和每条规则的内存使用量方面,本文将所提出的微核架构与最近提出的主要对应架构进行了比较。在这些建筑中,Jiang和Prasanna [19]和伊尔凡等人。[17]需要的存储器,分别即每规则17.4和18个字节,最小量。随着每个规则14.5个字节的所需的内存,我们建议微芯优于这两种架构。在我们的方法中,低内存占用背后的主要原因是,相比于上面提到的两个体系,我们的分类不依赖于TCAM和掩码匹配操作。

在一个更票价的方法,桌子就每内存的性能将建议设计与其他设计进行比较[19]:


途径 可以通过(GB / s)的 存储器(字节) 效率(吞吐量/存储器) 芯片

欧罗斯等。[25] One hundred. 156 0.64 XC6VHX255T
我们的方法 101.7 14.5 7.01
Irfan等[17] 37.3 18 2.072 XC6VLX760
我们的方法 75.83 14.5 5.229
Ganegedara和Prasanna [21] 407 156 2.660 XC6VLX760
我们的方法 75.83 14.5 5.229
齐等人。[26] 73.9 46.4 1.592 XC6VSX475T
我们的方法 86.83 14.5 5.988
报及陆[22] 108.8 18 6.04 XC6VLX75T
我们的方法 103.680 14.5 7.150

为此目的,吞吐量以及被提议的架构的内存消耗是测量在竞争对手的设计评估中使用的芯片组。在建议的设计中,每个规则的内存使用量始终是不变的。因此,每所提出的设计的内存性能是最高的相比,它的主要同行。

所提方法相对于各对应方法的效率优势比率如图所示4。我们的比较表明,所提出的架构大大提高了网络数据包分类系统的吞吐率和内存使用情况。每所提出的设计的内存性能至少是18%,比最好至多990%更好,最糟糕的设计,即报和鲁[22和Orosz等人[25]。

5.结论

在本文中,我们提出了一种新的微内核架构为网络数据包的分类是能够被更新。所提出的架构允许在处理过程中添加或删除规则,并享有低存储器使用以及更高的吞吐量与其他的体系结构相比率。Our evaluations suggest that this micro-core can classify packets with a throughput of more than 103 Gbps, which amounts to about 324 Mpps. Another advantage of this architecture is that memory usage per rule is always constant. Therefore, the performance per memory of the proposed design is the highest as compared to its major counterparts. This achievement helps the proposed micro-core to avoid the problem of resource requirement in the longest prefix matching (LPM). A fruitful topic for future research would be to apply this inherent feature of the micro-core to the implementation of pipeline classifiers in which LPM is a great problem in pipeline processing.

数据可用性

用来支持这项研究的结果的数据是可用的,请相应的作者。

利益冲突

作者宣称,有兴趣就本文发表任何冲突。

参考

  1. D. E.泰勒,“调查的数据包分类技术分类,”ACM计算调查(CSUR)卷。37,没有。3,第238-275,2005。视图:出版商的网站|谷歌学术
  2. Le, M. A. Hossain, A. Islam, d.y。金,Y.-J。Choi和y.m. Jang,“5G网络前景技术调查”,移动信息系统卷。2016年,文章编号2676589,25页,2016年视图:出版商的网站|谷歌学术
  3. R. M. A. Ujjan,Z.佩尔韦兹,K.达哈尔,A. K.巴希尔,R.蒙塔,和J.冈萨雷斯,“建立的sFlow以及用于SDN深基于学习的DDoS检测自适应轮询采样,”下一代计算机系统,2019年。视图:出版商的网站|谷歌学术
  4. M.沙基勒,A.福阿德优素福穆罕默德,R.了Arul,A. K.巴希尔和J. K.彩,“一种新的动态的框架,以检测使用启发式聚类在SDN的DDoS,”关于新兴电讯技术的交易2019年,p. e3622。视图:出版商的网站|谷歌学术
  5. A. R. Bevi, P. Shakthipriya, S. Malarvizhi,“为物联网定义网络网关的软件设计”,无线个人通信卷。107,第1273至1287年,2019。视图:谷歌学术
  6. A. K. Bashir, R. Arul, S. Basheer, G. Raja, R. Jayaraman和N. M. F. Qureshi:“使用机器学习,在5G内实现了云的最优多层资源分配。”关于新兴电讯技术的交易卷。30,第e3627,2019。视图:出版商的网站|谷歌学术
  7. P. Gupta和N. McKeown,“多领域信息包分类”,ACM SIGCOMM计算机通信审查第29卷,no。4,第147-160页,1999。视图:出版商的网站|谷歌学术
  8. K.康和Y. S.噔“经由GPU元编程可扩展数据包分类,”在欧洲设计、自动化和测试会议及展览会刊(日期), IEEE,法国格勒诺布尔,2011年3月。视图:出版商的网站|谷歌学术
  9. S. Shieh,F.-Y.李和Y.-W.林“具有快速数据包分类加快网络安全服务,”计算机通信第27卷第2期2004年,第16页1637-1646页。视图:出版商的网站|谷歌学术
  10. “第12章分组分类”,载于网络算法张德华主编,《北京大学学报》,北京:北京大学出版社,2005年。视图:谷歌学术
  11. j .凌晨J.-G。Choi和W. Pak,“基于通配符字段的分区,用于车辆到一切的快速和可扩展的包分类,”传感器(巴塞尔,瑞士)卷。19,没有。11,P。2563,2019。视图:出版商的网站|谷歌学术
  12. “基于FPGA的可动态更新包分类的高性能架构”,国立台湾大学计算机科学与工程研究所硕士论文第九届ACM / IEEE专题讨论会的架构为网络和通信系统程序,第125-136,IEEE,旧金山,CA,USA,2013年10月。视图:谷歌学术
  13. Z.乌拉,M. K. Jaiswal,和R. C. C.祥,“Z-TCAM:基于SRAM的架构TCAM,”IEEE交易在超大规模集成电路(VLSI)系统第23卷,no。1, 2014年第402-406页。视图:出版商的网站|谷歌学术
  14. Z.乌拉,M. K. Jaiswal,和R. C. C.祥,“E-TCAM:用于TCAM的高效的基于SRAM的架构,”电路,系统和信号处理卷。33,没有。10,第3123-3144,2014。视图:出版商的网站|谷歌学术
  15. " Zi-CAM: fpga上的一种功率和资源效率的二进制内容可寻址存储器",电子产品卷。8,没有。5,P。584,2019。视图:出版商的网站|谷歌学术
  16. Y.-K。Chang和H.-C。在FPGA上使用递归端点切割和桶压缩的快速包分类计算机学报卷。62,没有。2,第198-214,2018。视图:出版商的网站|谷歌学术
  17. M.伊尔凡,Z.乌拉和R. C. C.祥,“d-TCAM:FPGA上一个高性能的分布式RAM基于TCAM架构,”IEEE访问卷。7,第96060-96069,2019。视图:出版商的网站|谷歌学术
  18. 五,脓和J. Korenek,“使用完美的哈希函数快速,可扩展的包分类,”在的ACM / SIGDA国际研讨会现场可编程门阵列程序,第229-236,ACM,蒙特雷,CA,USA,2009年2月。视图:谷歌学术
  19. “基于fpga的高性能多匹配分组分类的场分割并行体系结构”,北京第21届算法和架构中的并行性年度研讨会论文集,第188-196,ACM,卡尔加里,加拿大,2009年8月。视图:谷歌学术
  20. S.周,Y. R.曲,和V. K.人员Prasanna,“关于FPGA大型数据包分类,”在IEEE第26届应用系统、架构和处理器国际会议论文集(ASAP),第226-233页,IEEE,多伦多,安大略省,加拿大,2015年7月。视图:谷歌学术
  21. 王建民,“单芯片400G+分组分类”,台北在IEEE第13届国际会议的高性能交换和路由程序,第1-6页,IEEE,贝尔格莱德,塞尔维亚,2012年6月。视图:谷歌学术
  22. D. Pao和Z. Lu,“用于高速分组分类的多管道架构”,计算机通信,第54卷,第84-96页,2014年。视图:出版商的网站|谷歌学术
  23. D. E. Taylor和J. S.特纳,“Classbench:分组分类基准,”IEEE/ACM网络事务卷。15,没有。3,第499-511,2007。视图:出版商的网站|谷歌学术
  24. A. Fiessler,C.洛伦茨,S.海格,B.休门,和A. W.摩尔,“HyPaFilter +:使用硬件辅助的分类和报头空间分析增强的混合分组过滤,”IEEE/ACM网络事务卷。25,没有。6,第3655-3669,2017。视图:出版商的网站|谷歌学术
  25. 与P. Varga, " C-GEP:自适应网络管理与可重构硬件",台北2015 IFIP/IEEE综合网络管理国际研讨会论文集,第954-959,IEEE,多伦多,安大略省,加拿大,2015年5月。视图:出版商的网站|谷歌学术
  26. 李志强,“基于FPGA的多维分组分类:100 Gbps及以上”,清华大学学报野外可编程技术国际会议记录,第241-248,IEEE,北京,中国,2010年12月。视图:出版商的网站|谷歌学术

版权所有©2020 Mahdi Abbasi等这是一篇开放获取下发布的文章知识共享署名许可,允许在任何媒体中不受限制地使用、发布和复制原创作品,只要原稿被正确引用。


更多相关文章

132 查看 | 106 下载 | 0 引文
PDF 下载引用 引文
下载其他格式更多的
为了打印副本订单

相关文章

我们致力于尽快、安全地分享与COVID-19有关的发现。任何提交COVID-19论文的作者,请在以下地址通知我们help@hindawi.com以确保他们的研究是快速跟踪和尽快预印本服务器上公布。我们将针对与COVID-19接受的文章中提供的出版费用减免无限。在此注册作为一个评论家,以帮助快速跟踪新的意见书。