一种以太网数据汇聚方法

文档序号:7981247阅读:201来源:国知局
一种以太网数据汇聚方法
【专利摘要】本发明公开了一种用于网络通信的以太网数据汇聚方法,其将从N个输入端口输入的数据汇聚后,再从L个输出端口输出,包括下列步骤:A1:N个输入端口分别接收数据;A2:N个输入端口将其接收的数据一一对应地存储到N个fifo缓存中;A3:仲裁选择器从N个fifo缓存中读取数据,并将这些数据写入外部缓冲存储器;A4:外部缓冲存储器存储仲裁选择器写入的数据;A5:L个输出端口输出外部缓冲存储器中的数据;单个输入端口的实际数据流量M与单个输出端口的带宽J2之间的关系必须满足:J2×L-M×N≥M×N。其技术效果是:能够在保证以太网数据汇聚的同时,节省输出端口的带宽资源,并采用fifo缓存来降低以太网数据汇聚的成本。
【专利说明】一种以太网数据汇聚方法
【技术领域】
[0001]本发明涉及一种用于网络通信领域的以太网数据汇聚方法。
【背景技术】
[0002]随着信息业务的发展,网络数据采集和分析越来越受各个运营商的重视,同时也利于设备提供商掌握网络数据模型,测试自己设备的漏洞,即bug。
[0003]现有的千兆以太网汇聚方案有两种,一种是间接汇聚,即通过在网络上串接网络TAP设备,将该TAP设备的多个copy端口分别连接服务器的以太网输入端口,进行数据采集和汇聚。这些数据放在该服务器硬盘上或者通过该服务器上的万兆以太网输出端口输出。但这个方案的缺点是数据没有直接汇聚输出,数据的输出需要中间TAP设备,同时服务器上还必须配备多块网卡,成本很高。
[0004]另一种方案是直接汇聚,即在网络上串接带有汇聚功能的网络TAP设备,网络TAP设备内部有一个万兆的Switch芯片,直接将多个千兆输入端口输入的数据经过Switch芯片转到万兆输出端口输出,但该方案成本也很高。
[0005]此外,由于现阶段在运营商的设备环境中很多设备之间虽然用的是千兆以太网通信,但其流量只有百兆,造成了带宽资源的浪费。

【发明内容】

[0006]本发明的目的是为了克服现有技术的不足,提供一种以太网数据汇聚方法,其能够在保证以太网数据汇聚的同时,节省输出端口的带宽资源,降低以太网数据汇聚的成本。
[0007]实现上述目的的一 种技术方案是:一种以太网数据汇聚方法,其将从N个输入端口输入的数据汇聚后,再从L个输出端口输出,包括下列步骤:
[0008]Al:N个输入端口分别接收数据;
[0009]A2:N个输入端口将其接收的数据一一对应地存储到N个fifo缓存中;
[0010]A3:仲裁选择器从N个fifo缓存中读取数据,并将这些数据写入外部缓冲存储器;
[0011]A4:外部缓冲存储器存储仲裁选择器写入的数据;
[0012]A5:L个输出端口输出外部缓冲存储器中的数据;
[0013]单个输入端口的实际数据流量M与单个输出端口的带宽J2之间关系必须满足:
[0014]J2XL-MXN ≤ MXN。
[0015]进一步的,所述以太网数据汇聚方法是通过一块FPGA芯片或者一块ASIC芯片实现的。
[0016]进一步的,所述输入端口设置在输入Mac控制器上,所述输出端口设置在输出Mac控制器上。
[0017]进一步的,所述A3步骤和所述A5步骤均是通过外部缓存读写控制单元进行的。
[0018]进一步的,单个fifo缓存的容量至少为3036字节。[0019]进一步的,所述fifo缓存的写入速率SI和所述fifo缓存的读取速率S2之间的关系必须满足:
[0020] NXSl SS2。
[0021]进一步的,A3步骤中仲裁选择器读取fifo缓存中数据的方法为:所述仲裁选择器依次轮询N个fifo缓存,若被轮循到的fifo缓存中有数据,所述仲裁选择器读取该fifo缓存中的数据以及该fifo缓存的端口号,反之所述仲裁选择器轮询下一个fifo缓存。
[0022]进一步的,所述外部缓冲存储器的容量S必须满足:
[0023]S ≥ NXM。
[0024]进一步的,所述外部缓冲存储器的速率V必须满足:
[0025]V ^ NXJ1+LXJ2 ;
[0026]其中Jl为单个输入端口的带宽。
[0027]进一步的,所述A3步骤和所述A5步骤是分步进行的。
[0028]采用了本发明的一种以太网数据汇聚方法的技术方案,即通过N个fifo缓存暂存从N个输入端口输入的数据,再由仲裁选择器将这些数据写入外部缓冲存储器,完成汇聚,再由L个输出端口将外部缓冲存储器中的数据输出,所述输入端口的实际数据流量M与所述输出端口的带宽J2之间的关系必须满足J2 X L-MXN > MXN的技术方案。其技术效果是:能够在保证以太网数据汇聚的同时,节省输出端口的带宽资源,并采用fifo缓存来降低以太网数据汇聚的成本。
【专利附图】

【附图说明】
[0029]图1为本发明的一种以太网数据汇聚方法的流程图。
[0030]图2为本发明的一种以太网数据汇聚方法的第一实施例的模块结构图。
[0031]图3为本发明的一种以太网数据汇聚方法的第二实施例的模块结构图。
【具体实施方式】
[0032]请参阅图1至图3,本发明的发明人为了能更好地对本发明的技术方案进行理解,下面通过具体地实施例,并结合附图进行详细地说明:
[0033]第一实施例:
[0034]请参阅图1和图2,本发明的一种以太网数据汇聚方法的第一实施例,是将从四个输入端口 10输入的数据汇聚后,再将数据从一个输出端口 20输出。该实施例是在一块FPGA芯片上实现的。该FPGA芯片包括四个输入Mac控制器1、四个fifo缓存3、一个仲裁选择器4、一个外部缓存读写控制单元5和一个输出Mac控制器2。四个输入Mac控制器I分别连接一个fifo缓存3,四个fifo缓存3同时连接所述仲裁选择器4,所述仲裁选择器4连接所述外部缓存读写控制单元5。所述外部缓存读写控制单元5连接所述输出Mac控制器2,所述外部缓存读写控制单元5还外接外部缓冲存储器6。
[0035]每个所述输入Mac控制器I上都设有一个输入端口 10,输入端口 10的带宽为1000Mbit,输入端口 10的实际数据流量M为100Mbit。所述输入端口 10的实际数据流量就是所述输入端口 10每秒的实际数据流量。所述输出Mac控制器2上设有一个输出端口20。所述输出端口 20的带宽也为1000Mbit。由于每个输入Mac控制器I上都设有一个输入端口 10,因此每个输入端口 10都被其所在的输入Mac控制器I分配了唯一的Mac地址。与之对应,每个输入Mac控制器I所连接的fifo缓存3也都有唯一的端口号。相应的,输出端口 20被输出Mac控制器2分配了唯一的Mac地址。
[0036]本实施例中,所述以太网数据汇聚方法是通过下列步骤进行的。
[0037]Al:四个输入端口 10分别接收数据。
[0038]A2:四个输入端口 10分别将其接收的数据,通过其所在的Mac控制器1,写入与该输入Mac控制器I连接的fifo缓存3,所述fifo缓存3用来暂存从所述输入端口 10输入的数据。
[0039]由于fifo缓存3是先入先出存储器,fifo缓存3在本实施例中的容量取决于以太网帧长度的最大值(1518字节)。因为所述fifo缓存3要能同时完成读取和写入的操作,因此单个fifo缓存3的容量需要达到2倍的以太网帧长度,即1518X2 = 3036字节。这样可以保证对于fifo缓存3的读取和写入的操作互不干扰。本实施例中,所述fifo缓存3的容量为4096字节,大于3036字节。
[0040]所述fifo缓存3的写入速率SI和所述fifo缓存3的读取速率S2之间的关系必须满足:
[0041]NXSl SS2。
[0042]其中fifo缓存3的写入速率SI是指从所述输入端口 10输入的数据写入单个fifo缓存3的速率。
[0043]A3:仲裁选择器4读取这四个fifo缓存3中的数据,并将这些数据写入外部缓冲存储器6。
[0044]所述仲裁选择器4从所述fifo缓存3中读取数据,并将这些数据写入外部缓冲存储器6。因此fifo缓存3的读取速率S2是指所述仲裁选择器4从单个fifo缓存3中读取数据的速率。
[0045]本实施例中,fifo缓存3的写入速率SI为1000Mbps,而读取速率S2为83MHz X 64=5312Mbps,其中83Hz为读取时钟的频率,64为总线位宽。因此fifo缓存3读取速率S2大于4000Mbps,满足要求。
[0046]本实施例中,所述仲裁选择器4从四个所述fifo缓存3读取数据的方法是目前最为常用的轮询法。即所述仲裁选择器4依次轮询四个fifo缓存3,若被轮循到的fifo缓存3中有数据,则所述仲裁选择器4读取该fifo缓存3中的数据以及该fifo缓存3的端口号,反之所述仲裁选择器4轮询下一个fifo缓存3。
[0047]所述外部缓冲存储器6的容量要求SNXM, N为输入端口 10的个数,M为输入端口 10的实际数据流量。本实施例中N = 4。
[0048]所述外部缓冲存储器6的速率V要求必须满足VNXJ1+L X J2,其中外部缓冲存储器6的速率包括外部缓冲存储器6的写入速率和读取速率。其中,N = 4,L=l。Jl为输入端口 10的带宽,J2为输出端口 20的带宽,可求得本实施例中所述外部缓冲存储器6的速率至少为5000Mbps。
[0049]本实施例中,所述外部缓冲存储器6选择的是容量为512Mbit的DDR2内存,其容量大于400Mbit,满足要求。当前的DDR2芯片的速率为5328Mbps,大于5000Mbps。也满足要求。[0050]A4:外部缓冲存储器6存储所述仲裁选择器4写入的数据。
[0051]A5:输出端口 20输出外部缓冲存储器6中的数据。
[0052]A3步骤中,仲裁选择器4读取的数据,以及数据上附加的fifo缓存3的端口号被发送到外部缓存读写控制单元5,然后这些数据以及这些数据上附加的fifo缓存3的端口号通过外部缓存读写控制单元5所发出的相应读写指令,写入所述外部缓冲存储器6。当所述仲裁选择器4不执行A3步骤的时候,所述外部缓存读写控制单元5就自动执行A5步骤,读取所述外部缓冲存储器6中的数据,并将这些数据发给输出Mac控制器2,然后这些数据从所述输出端口 20输出。
[0053]最后说明本实施例中采用输入端口 10数量和输出端口 20数量之间的关系:一个输入端口 10每秒最大流量是1000Mbit,故每Ims最大流量是IMbit,由此可计算IOOms最大流量是100Mbit,200ms最大流量是200Mbit。300ms最大流量是300Mbit,400ms最大流量是400Mbit。所以要想把从不同输入端口 10输入的数据进行汇聚,必须先缓存这些数据,同时还必须在相应的时间内输出这些数据。
[0054]以本实施例为例,四个输入端口 10每秒分别传输IOOMbit流量,汇聚到输出端口
20。由计算可知在IOOms内,四个输入端口 10能输入400Mbit流量,而每个输入端口 10的实际数据流量是100Mbit,故在IOOms时,所有数据已输入完毕,那么剩下900ms,四个输入端口 10将处于空闲状态,所以只需在剩下的900ms内将四个所述fifo缓存3内的数据汇聚到输出端口 20并输出即可。由于输出端口 20每IOOms能传输100Mbit,计算可知400Mbit的数据,只需400ms即可输出,而现在有900ms时间进行输出,故从四个输入端口 10输入的数据能够轻松汇聚到一个输出端口 20并输出。表I列出在输入端口 10和输出端口 20的带宽皆为IOOOMbit情况下,N个输入端口 20输入的数据汇聚到一个输出端口 20的可行性。
[0055]当两个输入端口 10分别输入400Mbit流量,汇聚到一个输出端口 20时,由计算可知,400ms时,每个输入端口 10可输入400Mbit数据,一共是800Mbit数据。但是输入800Mbit数据花费了 400ms,所述输入端口 10只剩下600ms空闲时间,让输出端口 20将800Mbit数据汇聚并输出,而在600ms内输出端口 20最多只能输出600Mbit的数据,不可能完成800Mbit数据的输出,故是不可行的。
[0056]本实施例中,四个输入Mac控制器I和一个输出Mac控制器2还通过数据线依次串接,其作用是便于对所述输入Mac控制器I和所述输出Mac控制器2的参数进行设置。
[0057]当然,本实施例,还可以在ASIC芯片上实现。采用ASIC芯片,小批量成本要比采用FPGA芯片贵很多。但当出货量达到10万片以上,采用ASIC芯片成本反而小于采用FPGA芯片的成本。
[0058]表IN个输入端口的数据汇聚到一个输出端口的可行性列表[0059]
【权利要求】
1.一种以太网数据汇聚方法,其将从N个输入端口( 10)输入的数据汇聚后,再从L个输出端口(20)输出,其特征在于包括下列步骤: Al:N个输入端口(10)分别接收数据; A2:N个输入端口(10)将其接收的数据一一对应地存储到N个fifo缓存(3)中; A3:仲裁选择器(4)从N个fifo缓存(3)中读取数据,并将这些数据写入外部缓冲存储器(6); A4:外部缓冲存储器(6)存储仲裁选择器(4)写入的数据; A5:L个输出端口(20)输出外部缓冲存储器(6)中的数据; 单个输入端口(10)的实际数据流量M与单个输出端口(20)的带宽J2之间的关系必须满足: J2XL-MXN ≤ MXN。
2.根据权利要求1所述的一种以太网数据汇聚方法,其特征在于:所述以太网数据汇聚方法是通过一块FPGA芯片(100)或者一块ASIC芯片实现的。
3.根据权利要求1或2所述的一种以太网数据汇聚方法,其特征在于:所述输入端口(10)设置在输入Mac控制器(I)上,所述输出端口(20)设置在输出Mac控制器(2)上。
4.根据权利要求1或2所述的一种以太网数据汇聚方法,其特征在于:所述A3步骤和所述A5步骤均是通过外部缓存读写 控制单元(5)进行的。
5.根据权利要求1或2所述的一种以太网数据汇聚方法,其特征在于:单个fifo缓存(3)的容量至少为3036字节。
6.根据权利要求1或2所述的一种以太网数据汇聚方法,其特征在于:所述fifo缓存(3)的写入速率SI和所述fifo缓存(3)的读取速率S2之间的关系必须满足: NXSl ( S2。
7.根据权利要求1或2所述的一种以太网数据汇聚方法,其特征在于:A3步骤中仲裁选择器(4)读取fifo缓存(3)中数据的方法为,所述仲裁选择器(4)依次轮询N个fifo缓存(3),若被轮循到的fifo缓存(3)中有数据,所述仲裁选择器(4)读取该fifo缓存(3)中的数据以及该f ifo缓存(3 )的端口号,反之所述仲裁选择器(4 )轮询下一个f ifo缓存(3 )。
8.根据权利要求1或2所述的一种以太网数据汇聚方法,其特征在于:所述外部缓冲存储器(6)的容量S必须满足: S ≥ NXM。
9.根据权利要求1或2所述的一种以太网数据汇聚方法,其特征在于:所述外部缓冲存储器(6)的速率V必须满足: V ≥ NXJ1+LXJ2 ; 其中Jl为单个输入端口(10)的带宽。
10.根据权利要求1所述的一种以太网数据汇聚方法,其特征在于:所述A3步骤和所述A5步骤是分步进行的。
【文档编号】H04L12/861GK103581050SQ201210254707
【公开日】2014年2月12日 申请日期:2012年7月23日 优先权日:2012年7月23日
【发明者】胡正东, 陈鹏 申请人:上海粱江通信系统股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1