CN102404207B - 一种以太网数据的处理方法及装置 - Google Patents
一种以太网数据的处理方法及装置 Download PDFInfo
- Publication number
- CN102404207B CN102404207B CN201110347773.3A CN201110347773A CN102404207B CN 102404207 B CN102404207 B CN 102404207B CN 201110347773 A CN201110347773 A CN 201110347773A CN 102404207 B CN102404207 B CN 102404207B
- Authority
- CN
- China
- Prior art keywords
- data
- ethernet
- cache pool
- cached
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种以太网数据的处理方法及装置,包括:将以太网数据缓存到多个缓存池中;从所述多个缓存池中分别读取以太网数据进行输出,对输出的以太网数据进行并行处理。本发明采用分布式数据缓存方式,通过分流控制,将40G和100G高速数据转换成多路10G数据业务,按照10G数据业务的处理方式进行处理,不需要复杂的数据包控制操作,有效的减少了设计的复杂度,提高效率,节省了资源。
Description
技术领域
本发明涉及以太网技术领域,尤其涉及一种以太网数据的处理方法及装置。
背景技术
随着以太网技术在网络构建中的迅速普及,以太网平台已经成为网络组建中的主流技术平台。2010年6月,IEEE 802.3ba标准正式获批,首次规范了40G和100G两种新的以太网速率,为新一波更高速的以太网应用铺平了发展之路。
IEEE 802.3ba标准解决了数据中心、运营商网络和其他流量密集且高性能的计算环境中,越来越多的应用对宽带的需求。同时为了保护已有的以太网投资,仍与已有的IEEE802.3标准兼容,新标准的以太网帧格式和IEEE802.3标准的帧格式相同。对于以太网媒体访问控制子层(MAC)与物理子层(PHY)之间的介质无关接口(MII),类似于10G以太网的XGMII接口,40G和100G的介质无关接口分别为XLGMII接口和CGMII接口,接口定义如图1所示。
XLGMII和CGMII采用多通道字节分发,即采用8个通道。每个通道分发8位数据信号和1位控制信号,使得XLGMII和CGMII的接口位宽扩展为64比特(8字节)数据以及8比特控制信号。当控制信号有效时,数据线上为控制信息,当控制信号无效时,数据线上为以太网有效数据。因此,对于40G和100G以太网MAC处理来说,如果收发数据位宽为64位,那么,时钟频率则为数据速率的1/64,并且在时钟的上跳沿采集数据,对应时钟分别为,40G以太网对应625MHz;100G以太网对应1.5625GHZ。
在如此高的时钟频率下进行逻辑设计,现阶段很难达到,因此,对于40G和100G以太网MAC接口,将64位数据作为一块,以块为单元分成多个块通道。以100G以太网MAC为例,如图2所示,将MAC数据分为10个块通道,那么数据位宽为640位,控制位宽为80位,此时工作时钟为156.25MHZ。
如图3所示,10G以太网数据的处理方法为,在数据线上检测SOP(start ofpackage,包头)控制字,EOP(end of package,包尾)控制字,提取数据包的相关信息用于数据业务的二层处理及三层处理,对数据包进行CRC校验,同时对整个接收的数据业务流进行业务监测及性能监测,整个数据处理过程与接收到的以太网数据同步进行。
上述处理方法对10G及10G以下速率的以太网MAC数据处理简单有效,但是对于100G以太网MAC数据处理,如果沿用传统以太网MAC处理方法,直接在640位数据线上分析数据内容,则面临如下的问题:
(1)高扇入扇出的数据处理,容易导致逻辑的布线资源紧张,以及影响时序。
(2)数据的包头包尾很难控制。很多情况下,会出现包头的位置与包尾的位置出现在同一个时钟周期内。
(3)如果对包内容进行添加或修改,将是件极其复杂的工程。
(4)对640位数据进行CRC校验,现有技术很难达到物理实现。
发明内容
本发明要解决的技术问题是提供一种以太网数据的处理方法及装置,能够实现对40G和100G等高速以太网数据按照10G以太网数据进行处理,提高了数据处理的成功率和效率。
为解决上述技术问题,本发明的一种以太网数据的处理方法,包括:
将以太网数据缓存到多个缓存池中;
从所述多个缓存池中分别读取以太网数据进行输出,对输出的以太网数据进行并行处理。
进一步地,所述将以太网数据缓存到多个缓存池中,包括:
为所述缓存池设置水线,向所述缓存池中缓存以太网数据;
在缓存到所述缓存池中的以太网数据达到所设置的水线,并完成当前数据包的缓存后,进行缓存池的切换,向下一个缓存池缓存以太网数据。
进一步地,所述水线的设置位置为使所述缓存池的剩余空间至少能够缓存一个最长以太网数据包。
进一步地,还包括:
在向下一个缓存池缓存以太网数据前,还在切换出的缓存池中写入识别数据边界的边界符。
进一步地,还包括:
在向下一个缓存池缓存以太网数据时,将缓存到切换出的缓存池中的最后一个数据包在切换时刻的数据片,重复缓存到所述下一个缓存池中。
进一步地,所述将以太网数据缓存到多个缓存池中是将X吉以太网数据缓存到个缓存池中;
所述从所述多个缓存池中分别读取以太网数据进行输是输出10吉以太网数据。
进一步地,一种以太网数据的处理装置,包括:数据写入单元、分流控制器、缓存池、数据输出单元和数据处理单元,其中:
所述分流控制器,用于控制所述数据写入单元将以太网数据缓存到多个缓存池中;
所述数据输出单元,用于从所述缓存池中分别读取以太网数据并输出给所述数据处理单元;
所述数据处理单元,用于对所述数据输出单元输出的以太网数据进行并行处理。
进一步地,所述分流控制器,具体用于在缓存到所述缓存池中的以太网数据达到缓存池的水线,并完成当前数据包的缓存后,进行缓存池的切换,向下一个缓存池缓存以太网数据。
进一步地,所述分流控制器,还用于在控制所述数据写入单元向下一个缓存池缓存以太网数据时,控制所述数据写入单元将缓存到切换出的缓存池中的最后一个数据包在切换时刻的数据片,重复缓存到所述下一个缓存池中。
进一步地,所述分流控制器,具体用于控制所述数据写入单元将X吉以太网数据缓存到个缓存池中;
所述数据输出单元,具体用于输出10吉以太网数据。
综上所述,本发明采用分布式数据缓存方式,通过分流控制,将40G和100G高速数据转换成多路10G数据业务,按照10G数据业务的处理方式进行处理,不需要复杂的数据包控制操作,有效的减少了设计的复杂度,提高效率,节省了资源。
附图说明
图1a~图1b是IEEE 802.3定义的10G/40G/100G MAC接口示意图;
图2a~图2b是40G/100G MAC并行数据接口示意图;
图3是传统以太网MAC控制器处理的流程图;
图4是本发明实施方式100G以太网数据处理的流程图;
图5是本发明实施方式采用轮转方式的数据处理的示意图;
图6是本发明实施方式在缓存池切换时数据处理的示意图;
图7是本发明实施方式的以太网数据的处理装置的架构图。
具体实施方式
本实施方式中采用分布式数据缓存方式,将40G/100G高速以太网数据分别缓存到多个缓存池中,通过分流控制器利用ROUND-ROBIN(轮询调度)的方式进行缓存控制,在切换缓存池时,在切出的缓存池中插入边界符用于识别数据边界;将存入上一缓存池的最后一个数据包在切换时刻的数据片写入到下一个缓存池中,用于保证数据包的完整性;从缓存池中读取数据包,以64位宽的10G以太网数据包输出,对输出的10G以太网数据包进行处理。
以100G高速以太网的数据处理为例,考虑到目前比较成熟的10G以太网数据的处理,其XGMII接口为64位数据位宽和8位控制数据位宽,时钟频率为156.25MHz。与100G的CGMII接口,在1.5625GHZ时钟频率下,数据位宽为640位,控制数据位宽为80位,正好是10倍关系。因此,可以考虑将100G的数据分流成10个10G的数据流。这10个10G的以太网数据为64位数据位宽和8位控制数据位宽,通过并行的进行数据处理,来实现100G高速以太网数据的处理功能。40G以太网数据的数据位宽、控制数据位宽和时钟频率与10G以太网数据均是4倍关系,因此,可以将40G的以太网数据分流成4个10G的数据流。
下面以对100G以太网数据的处理为例,说明本实施方式的以太网数据的处理方法,如图4所示,包括:
步骤401:采用ROUND-ROBIN方法对100G以太网数据进行分流,考虑到数据冗余处理,将100G以太网数据分流到11(10+1)个缓存池中;
如图5所示,对传输过来的720位的数据包采用轮转的方式依次写入11个缓存池中,写入数据包的位宽为640位数据加上80位控制数据,共720位数据位宽。
对于X吉(G)以太网数据缓,将以太网数据缓存到个缓存池中。
将100G以太网数据缓存到11个缓存池的过程,包括:
步骤一:对缓存池设置水线;
缓存池的水线需要根据业务的实际类型不同进行不同的设置,界定标准就是缓存池的剩余空间至少还能存下一个完整的最长数据包,从而保证能够将当前向缓存池写入的数据包完整地写入到缓存池中。
步骤二:向缓存池中写入100G以太网数据的数据包,当缓存池达到水线时,在完成当前数据包的写入后,向下一个缓存池写入数据;
当检查到数据出现如下情况时,表示数据包结束,此时如果已达到缓存池的水线,则切换到下一个缓存池。START字节后第1个非ERROR的控制块,正常情况为帧结束符T字节(RXD=FD,对应RXC=1),异常情况可能为SOS字节(RXD=9C,对应RXC=1)或IDLE字节(RXD=07,对应RXC=1)。
步骤三,对切出的缓存池写入边界符;
当缓存池进行切换时,对切换出的缓存池写入一个全为FF的字符,作为边界符,边界符在以太网数据字节上为全FF,控制字节上为全FF,编码中不可能出现,因此不会引起误判断。
在缓存池中,边界符前面的数据属于上一个数据包的包尾内容,边界符后面的数据属于下一个数据包的包头内容,在从缓存池中读取数据时,不会导致数据处理时出现错误。
步骤四:将切换出的缓存池中的最后一个数据包在切换时刻的数据片重复写入下一个缓存池中,作为下一个缓存池的首个数据片;
对于100G以太网数据,对应10个10G以太网数据,但是,在实际业务处理过程中,在缓存池进行切换时,多数情况下,下一个缓存池的包头数据存在于上一个缓存池中,如图6所示,因此,需要将上一个缓存池中的最后一个数据在下一个缓存池中进行复制,由于此步造成了冗余处理,因此,数据带宽增加,对于100G以太网数据相应地采用11个缓存池;同样地,对于40G以太网数据需要采用5个缓存池。
步骤402:从缓存池中读取数据,以10G以太网数据进行输出;
100G以太网数据存储到11个缓存池中后,每个缓存池以64位数据加上8位控制数据进行输出,数据时钟为156.25MHZ,完成11路10G以太网数据业务的输出,进行10G业务数据处理。
当检测到边界符时,边界符之前的有效数据结束于上一个数据包的包尾位置,边界符之后的有效数据则开始于在下一个数据包的包头位置,从而保证数据不出现错误处理。
步骤403:对输出的10G以太网数据进行并行处理。
如图7所示,本实施方式还提供了一种以太网数据的处理装置,包括:数据写入单元、分流控制器、缓存池、数据输出单元和数据处理单元,其中:
分流控制器,用于控制所述数据写入单元将以太网数据缓存到多个缓存池中;
数据输出单元,用于从所述缓存池中分别读取以太网数据并输出给所述数据处理单元;
数据处理单元,用于对所述数据输出单元输出的以太网数据进行并行处理。
分流控制器,具体用于在缓存到所述缓存池中的以太网数据达到缓存池的水线,并完成当前数据包的缓存后,进行缓存池的切换,向下一个缓存池缓存以太网数据;在控制所述数据写入单元向下一个缓存池缓存以太网数据时,控制所述数据写入单元将缓存到切换出的缓存池中的最后一个数据包重复缓存到所述下一个缓存池,作为所述下一个缓存池的首数据包。
分流控制器是控制数据写入单元将X吉以太网数据缓存到个缓存池中;数据输出单元是输出10吉以太网数据。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种以太网数据的处理方法,其特征在于,包括:
采用分布式数据缓存方式将以太网数据缓存到多个缓存池中;
从所述多个缓存池中分别读取以太网数据进行输出,对输出的以太网数据进行并行处理;
其中,将以太网数据缓存到多个缓存池中是将X吉以太网数据缓存到个缓存池中;
所述将以太网数据缓存到多个缓存池中,包括:
为所述缓存池设置水线,向所述缓存池中缓存以太网数据;
在缓存到所述缓存池中的以太网数据达到所设置的水线,并完成当前数据包的缓存后,进行缓存池的切换,向下一个缓存池缓存以太网数据。
2.如权利要求1所述的方法,其特征在于:
所述水线的设置位置为使所述缓存池的剩余空间至少能够缓存一个最长以太网数据包。
3.如权利要求1所述的方法,其特征在于,还包括:
在向下一个缓存池缓存以太网数据前,还在切换出的缓存池中写入识别数据边界的边界符。
4.如权利要求1所述的方法,其特征在于,还包括:
在向下一个缓存池缓存以太网数据时,将缓存到切换出的缓存池中的最后一个数据包在切换时刻的数据片,重复缓存到所述下一个缓存池中。
5.如权利要求1所述的方法,其特征在于:
所述从所述多个缓存池中分别读取以太网数据进行输是输出10吉以太网数据。
6.一种以太网数据的处理装置,其特征在于,包括:数据写入单元、分流控制器、缓存池、数据输出单元和数据处理单元,其中:
所述分流控制器,用于采用分布式数据缓存方式控制所述数据写入单元将以太网数据缓存到多个缓存池中;具体用于在缓存到所述缓存池中的以太网数据达到缓存池的水线,并完成当前数据包的缓存后,进行缓存池的切换,向下一个缓存池缓存以太网数据;
所述数据输出单元,用于从所述缓存池中分别读取以太网数据并输出给所述数据处理单元;
所述数据处理单元,用于对所述数据输出单元输出的以太网数据进行并行处理;
所述分流控制器,具体用于控制所述数据写入单元将X吉以太网数据缓存到个缓存池中。
7.如权利要求6所述的装置,其特征在于:
所述分流控制器,还用于在控制所述数据写入单元向下一个缓存池缓存以太网数据时,控制所述数据写入单元将缓存到切换出的缓存池中的最后一个数据包在切换时刻的数据片,重复缓存到所述下一个缓存池中。
8.如权利要求6所述的装置,其特征在于:
所述数据输出单元,具体用于输出10吉以太网数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110347773.3A CN102404207B (zh) | 2011-11-04 | 2011-11-04 | 一种以太网数据的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110347773.3A CN102404207B (zh) | 2011-11-04 | 2011-11-04 | 一种以太网数据的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102404207A CN102404207A (zh) | 2012-04-04 |
CN102404207B true CN102404207B (zh) | 2018-02-09 |
Family
ID=45886010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110347773.3A Active CN102404207B (zh) | 2011-11-04 | 2011-11-04 | 一种以太网数据的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102404207B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539549B (zh) * | 2014-12-30 | 2018-01-02 | 天津市锦标科技有限公司 | 一种基于高密度网络流量的数据报文处理方法 |
CN106095832B (zh) * | 2016-06-01 | 2020-02-18 | 东软集团股份有限公司 | 分布式并行数据处理方法以及装置 |
CN107317761A (zh) * | 2017-06-29 | 2017-11-03 | 济南浪潮高新科技投资发展有限公司 | 基于fpga的100g以太分流方法及系统 |
CN111130961B (zh) * | 2019-12-30 | 2021-08-31 | 中国电子科技集团公司第五十四研究所 | 一种散射通信中的高效率千兆以太网接入装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1946054A (zh) * | 2006-09-30 | 2007-04-11 | 华为技术有限公司 | 一种高速数据流的传输方法、装置及数据交换设备 |
CN101198924A (zh) * | 2005-02-03 | 2008-06-11 | Level5网络有限公司 | 完成事件中包括描述符队列空事件 |
CN101309258A (zh) * | 2007-05-18 | 2008-11-19 | 华为技术有限公司 | 高速以太网介质无关接口码块的分发和接收方法及装置 |
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070153796A1 (en) * | 2005-12-30 | 2007-07-05 | Intel Corporation | Packet processing utilizing cached metadata to support forwarding and non-forwarding operations on parallel paths |
CN100591067C (zh) * | 2006-07-07 | 2010-02-17 | 启攀微电子(上海)有限公司 | 一种用逻辑实现sdh和以太网速率适配的方法 |
-
2011
- 2011-11-04 CN CN201110347773.3A patent/CN102404207B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198924A (zh) * | 2005-02-03 | 2008-06-11 | Level5网络有限公司 | 完成事件中包括描述符队列空事件 |
CN1946054A (zh) * | 2006-09-30 | 2007-04-11 | 华为技术有限公司 | 一种高速数据流的传输方法、装置及数据交换设备 |
CN101309258A (zh) * | 2007-05-18 | 2008-11-19 | 华为技术有限公司 | 高速以太网介质无关接口码块的分发和接收方法及装置 |
CN101916302A (zh) * | 2010-09-01 | 2010-12-15 | 中国地质大学(武汉) | 基于哈希表的三维空间数据自适应缓存管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102404207A (zh) | 2012-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833299B (zh) | 一种基于可重构交换芯片架构的大规模网络数据处理方法 | |
EP2688243B1 (en) | 50 Gb/s ethernet using serializer/deserializer lanes | |
CN101986594B (zh) | 一种实现单板间通讯的方法及装置 | |
CN106612141A (zh) | 一种光纤通道协议通用仿真测试卡及其数据交互方法 | |
CN104580011B (zh) | 一种数据转发装置和方法 | |
CN102404207B (zh) | 一种以太网数据的处理方法及装置 | |
US11258726B2 (en) | Low latency packet switch architecture | |
WO1995011554A1 (en) | Error detection and correction apparatus for an asynchronous transfer mode (atm) network device | |
CN106685826A (zh) | 交换机堆叠系统、从设备、交换芯片及处理协议报文方法 | |
CN102185833A (zh) | 一种基于fpga的fc i/o并行处理方法 | |
CN109951750A (zh) | 基于FlexE一层交叉架构的数据处理方法及系统 | |
CN106656714A (zh) | 一种基于EtherCAT总线的通信协议方法及系统 | |
CN106656872A (zh) | 混合物理编码子层以及数据发送、接收方法 | |
EP1735952A2 (en) | Method and apparatus for enabling redundancy in a network element architecture | |
CN108023743A (zh) | 一种端口的自协商方法和设备 | |
CN103312577B (zh) | 一种处理mac数据的方法及装置 | |
CN114327833A (zh) | 一种基于软件定义复杂规则的高效流量处理方法 | |
CN110493310A (zh) | 一种软件定义的协议控制器及方法 | |
WO2019085815A1 (zh) | 一种处理灵活以太网的数据的方法及相关设备 | |
US6813734B1 (en) | Method and apparatus for data alignment | |
CN103731360B (zh) | 一种以太网mac帧数据处理方法及装置 | |
CN111342929A (zh) | 信息发送和接收方法及其装置、信息处理系统 | |
CN1841977B (zh) | 一种光网络高阶开销处理装置及其方法 | |
US7590056B2 (en) | Processor configured for efficient processing of single-cell protocol data units | |
CN103188264B (zh) | 在线网络安全处理器和处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |