CN109995680A - 一种报文处理装置及方法 - Google Patents
一种报文处理装置及方法 Download PDFInfo
- Publication number
- CN109995680A CN109995680A CN201910290869.7A CN201910290869A CN109995680A CN 109995680 A CN109995680 A CN 109995680A CN 201910290869 A CN201910290869 A CN 201910290869A CN 109995680 A CN109995680 A CN 109995680A
- Authority
- CN
- China
- Prior art keywords
- message
- assembly line
- bandwidth
- convergence
- traffic aggregation
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/1546—Non-blocking multistage, e.g. Clos using pipelined operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种报文处理装置及方法,所述装置包括入方向报文处理流水线、流量管理模块、出方向报文处理流水线和位于出方向报文处理流水线下游的多个流量汇聚模块,每个流量汇聚模块将一个报文分n个时钟周期进行编辑。本发明减少了报文编辑所需的逻辑级数,极大地降低了开销,且利于集成电路后端布局布线,也不容易出现时序问题。
Description
技术领域
本发明涉及一种报文编辑技术,尤其是涉及一种报文处理装置及方法。
背景技术
高性能、高带宽的以太网交换芯片的典型特征是每一个时钟周期都必须处理一个报文的交换。在14纳米工艺条件下,最高可以达到1.05GHz的核心频率。这个时候,采用该工艺的报文处理交换芯片的报文处理能力达到1050Mpps(1050000000报文/秒)。64字节的报文处理带宽达到705Gbps(705.6吉比特/秒)。
在这样的设计条件下,每一个报文在流水线上的处理,只能执行一次。因此,对于复杂的报文处理流程,需要多个处理模块并发处理。
鉴于当前数据中心对报文转发平面(又称数据平面,data plane)的灵活性要求越来越高,面向软件可编程的报文转发平面设计思想被提出。但是,可编程的充分灵活性和转发性能是硬币的两面。一般的,为了保证性能,在工程可接受的开销范围内,灵活性会很低。如果让报文处理充分灵活,那么带来的是需要多个时钟周期才能完成报文处理,转发性能就急剧下降了。
一般的,很多设计都是在高性能和可编程性中间作出权衡,例如通过固定若干个位置而不是所有位置都可以选择修改、有限数量的编辑器、有限的编辑长度等。但是,这些都是以损失可编程性为代价的。换言之,用这些方式实现的可编程能力,都不是完全可编程。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种报文处理装置及方法。
为实现上述目的,本发明提出如下技术方案:一种报文处理装置,包括入方向报文处理流水线、流量管理模块、出方向报文处理流水线和位于出方向报文处理流水线下游的多个流量汇聚模块,每个所述流量汇聚模块将一个报文分n个时钟周期进行编辑,所述n为汇聚系数,所述汇聚系数=向下取整(报文处理总带宽/汇聚带宽),汇聚带宽为对应流量汇聚模块的带宽。
优选地,所述流量汇聚模块对报文编辑采用流水线或串行处理方式。
优选地,每个所述流量汇聚模块对于报文每1比特的编辑的数字逻辑可复用。
优选地,所述数字逻辑为多级选择器。
本发明还揭示了另外一种技术方案:一种报文处理方法,包括:在出方向报文处理流水线后,每个所述流量汇聚模块将报文分n个时钟周期进行编辑,所述n为汇聚系数,所述汇聚系数=向下取整(报文处理总带宽/汇聚带宽),汇聚带宽为对应流量汇聚模块的带宽。
本发明的有益效果是:通过将报文编辑移至流量汇聚模块处理,实现每一个报文可以分为多个时钟周期处理,减少了报文编辑所需的逻辑级数,极大地降低了开销,且利于集成电路后端布局布线,也不容易出现时序(Timing)问题,即可以在不改变传统报文交换处理流水线的情况下,以较低的开销实现较丰富的灵活性。
附图说明
图1是本发明装置的结构原理图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种报文处理装置及方法,通过将报文编辑移至流量汇聚模块处理,实现每一个报文可以分为多个时钟周期处理,减少了报文编辑所需的逻辑级数,极大地降低了开销,且利于集成电路后端布局布线,也不容易出现时序(Timing)问题。
如图1所示,本发明所揭示的一种报文处理装置,包括:入方向报文处理流水线②、流量管理模块①、出方向报文处理流水线③和位于出方向报文处理流水线③下游的多个流量汇聚模块④,每个流量汇聚模块④将一个报文分n个时钟周期进行编辑。
具体地,一般的,报文编辑逻辑都是在出方向报文处理流水线③的尾部实现的,由上所述,在图1所示这样的设计条件下,每一个报文在流水线上的处理,只能执行一次,若在出方向报文处理流水线③的尾部实现报文编辑,则必须是每一个时钟周期都处理一个报文,假设数据通路(datapath)上的报文传输总线(BUS)宽度为192Byte。如果处理流水线的长度为18级(即18个时钟周期)。那么流水线上就会同时存在18个报文,鉴于流水线上的报文传输总线为192Byte,因此流水线需要缓存的字节数就达到了18*192=3456字节。
而本发明将报文编辑器下推到流量汇聚模块④的位置,即在流量汇聚模块④中进行报文编辑。流量汇聚模块④的数量可以设置为多个,多个流量汇聚模块④的带宽之和为报文处理总带宽,且多个流量汇聚模块④的汇聚带宽可以相等也可以不同,相等时,即每个流量汇聚模块④的汇聚带宽=报文处理总带宽/汇聚系数,这里的汇聚系数即为流量汇聚模块④的数量,对应的,汇聚系数=向下取整(报文处理总带宽/汇聚带宽)。
假设核心时钟域的编辑器的处理带宽(即报文处理总带宽)为600Gbps,且配置6个流量汇聚模块④,如果报文处理总带宽均分,那每个流量汇聚模块④的处理带宽则为100Gbps,且这里的6即为汇聚系数。那么,每个流量汇聚模块④在6个时钟周期才需要发送一个报文,也就是说,对于每一个报文,完全可以在6个时钟周期内慢慢处理。还是以上述流水线上的报文传输总线为192Byte为例,则本发明每个流量汇聚模块④的数据传输BUS就是32字节,这个时候,报文编辑不再需要使用流水线设计,而是串行处理即可,因此,每个流量汇聚模块④的缓存字节最大到6*32=192字节。一个EPPP共有6个流量汇聚模块④,故而总开销为6*192=1152,与上述流水线需要缓存3456字节相比,极大的降低了开销。这里的报文处理总带宽是指一个报文处理流水线在一定的时钟频率驱动下,最快的处理报文的速度。例如,在以前,报文处理流水线在400MHz的时钟驱动下,每3个时钟周期接收处理一个报文,那么其核心包率就是400/3=133.33Mpps(兆包每秒)。考虑以太网最小包长64字节,那么总带宽就是133.33*64*8=66.66Gbps。而当前前沿的14nm工艺下,时钟驱动可以达到1.05GHz,背景技术章节中有描述。更优化的设计将报文处理总带宽分解成了“核心报文处理总速率(CoreBW)”和“端口报文处理总带宽(PortBW)”,此处不赘述。这边用到的报文处理总带宽,就认为是核心报文处理总速率。
另外,采用本发明方案,也会减少了报文编辑所需的逻辑级数。出方向报文处理流水线的报文编辑,在一个时钟周期内,对于每一个bit的修改,需要看到192*8=1536的范围,需要11级的二选一选择器:第一级1536个、第二级768个、第三级384个、以此类推。为了编辑32bit,就需要32倍的开销。一般报文编辑范围在192字节内,每一个bit都要编辑,那么就需要1536(即2048)倍。这么大数量的选择器MUX在集成电路后端布局布线的时候,很容易遇到Timing(时序)问题,而解决时序问题的办法就是多一个甚至多个时钟周期进行锁存。更甚者,会因为绕线(wiring)过于复杂而无法布局。
而本发明报文编辑在流量汇聚模块中实现,可以看到,编辑一个bit,只需要最多8级逻辑:第一级32*8=256,第二级128、以此类推。因为一次编辑只看32字节,后续再要编辑另外的32字节,则可以复用当前这组数字逻辑,因此,整体的开销一下就下降了,也不容易产生timing问题,布局布线也会容易很多。
而且,在这个基础上,就不需要再特别地去限制编辑报文的编辑位置,一次编辑的位宽等信息了。只需要按照公知的报文协议,找出合理的报文头编辑范围,来设计流量汇聚模块中的数据位宽即可。即上述汇聚系数和汇聚带宽按照相应公式计算。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (8)
1.一种报文处理装置,其特征在于,所述装置包括入方向报文处理流水线、流量管理模块、出方向报文处理流水线和位于出方向报文处理流水线下游的多个流量汇聚模块,每个所述流量汇聚模块将一个报文分n个时钟周期进行编辑,所述n为汇聚系数,所述汇聚系数=向下取整(报文处理总带宽/汇聚带宽),汇聚带宽为对应流量汇聚模块的带宽。
2.根据权利要求1所述的一种报文处理装置,其特征在于,所述流量汇聚模块对报文编辑采用流水线或串行处理方式。
3.根据权利要求1所述的一种报文处理装置,其特征在于,每个所述流量汇聚模块对于报文每1比特的编辑的数字逻辑可复用。
4.根据权利要求3所述的一种报文处理装置,其特征在于,所述数字逻辑为多级选择器。
5.一种基于上述权利要求1~4所述装置的报文处理方法,其特征在于,所述方法包括:在出方向报文处理流水线后,每个所述流量汇聚模块将报文分n个时钟周期进行编辑,所述n为汇聚系数,所述汇聚系数=向下取整(报文处理总带宽/汇聚带宽),汇聚带宽为对应流量汇聚模块的带宽。
6.根据权利要求5所述的一种报文处理方法,其特征在于,采用流水线或串行处理方式对报文编辑。
7.根据权利要求5所述的一种报文处理方法,其特征在于,每个所述流量汇聚模块对于报文每1比特的编辑的数字逻辑可复用。
8.根据权利要求7所述的一种报文处理方法,其特征在于,所述数字逻辑为多级选择器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290869.7A CN109995680B (zh) | 2019-04-11 | 2019-04-11 | 一种报文处理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290869.7A CN109995680B (zh) | 2019-04-11 | 2019-04-11 | 一种报文处理装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109995680A true CN109995680A (zh) | 2019-07-09 |
CN109995680B CN109995680B (zh) | 2020-12-15 |
Family
ID=67133260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910290869.7A Active CN109995680B (zh) | 2019-04-11 | 2019-04-11 | 一种报文处理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109995680B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694752A (zh) * | 2011-03-21 | 2012-09-26 | 国基电子(上海)有限公司 | 网关设备 |
US20130003556A1 (en) * | 2011-06-28 | 2013-01-03 | Xelerated Ab | Scheduling packets in a packet-processing pipeline |
US9258225B2 (en) * | 2011-11-30 | 2016-02-09 | Broadcom Corporation | System and method for efficient matching of regular expression patterns across multiple packets |
CN105429882A (zh) * | 2015-10-21 | 2016-03-23 | 盛科网络(苏州)有限公司 | 基于传统交换芯片查找方式的报文编辑实现方法及装置 |
US20170064047A1 (en) * | 2015-08-26 | 2017-03-02 | Barefoot Networks, Inc. | Configuring a switch for extracting packet header fields |
CN108809854A (zh) * | 2017-12-27 | 2018-11-13 | 北京时代民芯科技有限公司 | 一种用于大流量网络处理的可重构芯片架构 |
-
2019
- 2019-04-11 CN CN201910290869.7A patent/CN109995680B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694752A (zh) * | 2011-03-21 | 2012-09-26 | 国基电子(上海)有限公司 | 网关设备 |
US20130003556A1 (en) * | 2011-06-28 | 2013-01-03 | Xelerated Ab | Scheduling packets in a packet-processing pipeline |
US9258225B2 (en) * | 2011-11-30 | 2016-02-09 | Broadcom Corporation | System and method for efficient matching of regular expression patterns across multiple packets |
US20170064047A1 (en) * | 2015-08-26 | 2017-03-02 | Barefoot Networks, Inc. | Configuring a switch for extracting packet header fields |
CN105429882A (zh) * | 2015-10-21 | 2016-03-23 | 盛科网络(苏州)有限公司 | 基于传统交换芯片查找方式的报文编辑实现方法及装置 |
CN108809854A (zh) * | 2017-12-27 | 2018-11-13 | 北京时代民芯科技有限公司 | 一种用于大流量网络处理的可重构芯片架构 |
Non-Patent Citations (3)
Title |
---|
CRISTIAN SOVIANI*.ETC: "Synthesis of high-performance packet processing pipelines", 《PROCEEDINGS OF THE 43RD ANNUAL DESIGN AUTOMATION CONFERENCE,HTTPS://DOI.ORG/10.1145/1146909.1147081》 * |
CRISTIAN SOVIANI.ETC: "Synthesis and Optimization of Pipelined Packet Processors", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 》 * |
MUHAMMAD SHAHBAZ*.ETC: "PISCES: A Programmable, Protocol-Independent Software Switch", 《PROCEEDINGS OF THE 2016 ACM SIGCOMM CONFERENCE,HTTPS://DOI.ORG/10.1145/2934872.2934886》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109995680B (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN202035013U (zh) | 基于gfp的多e1到以太网协议转换器 | |
US8582437B2 (en) | System and method for increasing input/output speeds in a network switch | |
CN101212818B (zh) | 网络节点及缓存装置及调度方法 | |
CN101052053A (zh) | 一种实现网口切换的方法、系统及单板 | |
CN109408424A (zh) | 一种基于PCIe接口的SpaceFibre总线数据采集方法 | |
CN109995680A (zh) | 一种报文处理装置及方法 | |
CN110351509B (zh) | 一种基于fpga堆叠的多通道高带宽数据交换方法 | |
CN1215679C (zh) | 数据传输的流量控制方法 | |
CN103546397A (zh) | 支持乱序的自路由Omega网络结构 | |
CN103560982B (zh) | 用于Interlaken增强型调度的切包装置及方法 | |
CN102355609B (zh) | 一种双通道光模块RSSI Trigger处理装置 | |
CN101145857B (zh) | 一种节省核心路由器端口的业务汇聚系统 | |
CN110430486A (zh) | 一种基于集成式混合光交换网络的边界交换节点 | |
CN101123586B (zh) | 光网络中采用fpga分流处理网络数据报文的方法 | |
CN103297355A (zh) | 一种数据流转发方法、系统及交换机 | |
CN107276908A (zh) | 一种路由信息处理方法及分组交换设备 | |
CN105392071A (zh) | 基于电路域的光线路交叉系统架构 | |
CN100379216C (zh) | 一种实现通信设备高速端口的装置 | |
CN1719944A (zh) | 由无阻塞光突发交换环交换节点构成的双环形光交换系统 | |
CN107483352A (zh) | 超融合网络设备中数据快速转发结构及方法 | |
CN100358363C (zh) | 大容量数字视频广播多节目传输流传输系统及其方法 | |
US8527677B1 (en) | Serial communications links with bonded first-in-first-out buffer circuitry | |
CN109379646B (zh) | 一种无源光网络系统及其通讯方法 | |
CN205265697U (zh) | 一种基于标签交换技术的分组光传输终端芯片 | |
CN110233805A (zh) | 可变信元的交换装置、系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: Unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, 215000 Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |