CN105635167A - 一种使用硬件实现报文编辑功能的方法及装置 - Google Patents
一种使用硬件实现报文编辑功能的方法及装置 Download PDFInfo
- Publication number
- CN105635167A CN105635167A CN201610048132.0A CN201610048132A CN105635167A CN 105635167 A CN105635167 A CN 105635167A CN 201610048132 A CN201610048132 A CN 201610048132A CN 105635167 A CN105635167 A CN 105635167A
- Authority
- CN
- China
- Prior art keywords
- message
- editor
- module
- address
- routing table
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种使用硬件实现报文编辑功能的方法及装置,属于报文处理领域。该方法包括:在芯片内配置一个路由表,所述路由表中配置有报文匹配特征以及编辑动作,报文进入芯片后,根据报文自身的查询关键字在芯片内进行多次路由查找,得到相应的编辑动作对报文进行编辑并最终将报文从查找到的出口发送出去,从而通过硬件自动完成整个编辑过程。本发明通过硬件实现报文编辑,释放了cpu,极大的提高了效率。
Description
技术领域
本发明涉及一种实现报文编辑功能的技术,尤其是涉及一种使用硬件实现报文编辑功能的方法及装置。
背景技术
voip(VoiceoverInternetProtocol,网络电话)是一种通过IP数据包发送实现的语音业务,voip将模拟的声音讯号引经过压缩与封包之后,以数据封包的形式在IP网络进行语音讯号的传输。
随着网络技术的发展,voip语音技术的需求不断提高,对voip报文转发技术的要求也不断提高。现有网络设备都是通过软件编辑报文的源IP地址、目的IP地址、4层源端口、4层目的端口来转发报文,这种方法会大量占用cpu,导致语音业务很难扩展,且不适合对性能要求较高的场合。
在网络处理器(如ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)或NP(NetworkProcessor,网络处理器))中,如图2所示,图中的SW_A和SW_B代表用户侧的交换机,GW_A、GW_B代表外网侧的交换机,中间的SWITCH代表核心的转发交换机。按照目前通用的实现方式,在SWITCH上面的处理需要完成IP报文终结以及重新发送新IP报文的过程。
从图3可以看到,对于从外网侧交换机GW_A(源IP地址:192.168.1.10)过来的语音包,假设其目的IP地址是192.168.1.2,由于voip语音的特性,4层的SrcPort(layer4sourceport,4层协议源端口)和DestPort(layer4destport,4层协议目的端口)分别是10000和20000,那么经过SWITCH后,假设上层协议规划的是转发到用户侧的交换机SW_A,因此报文新的SrcIP(sourceipAddress,源IP地址)和DestIP(destipAddress,目的IP地址)分别变成了220.100.1.2和对端的220.100.1.10,而且报文的4层SrcPort和DestPort分别变化成了20000和10000,通常的做法是SWITCH上通过cpu软件来处理报文,由于需要查询软表,那么对于业务数量较多时,cpu必然无法完成任务,导致SWITCH的整机性能较差。
因此,上述提到的现有方案,由于需要软件去查找,对cpu占用率高,而且语言业务延迟太大,可能导致语音业务中断等情况,性能差,更重要的是无法实现大规模会话的需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种使用硬件实现报文编辑功能的方法及装置,通过芯片内的多次路由查找,从而硬件实现报文编辑过程。
为实现上述目的,本发明提出如下技术方案:一种使用硬件实现报文编辑功能的方法及装置,包括:
在芯片内配置一路由表,所述路由表内包括报文的匹配特征和编辑动作;
报文进入芯片,根据其自身的查询关键字查找所述路由表,若所述查询关键字与路由表内的匹配特征相匹配,则得到相应的报文编辑动作,根据所述编辑动作编辑报文并将编辑后的报文从查找到的出口发送出去。
优选地,所述路由表中的报文匹配特征包括报文的源IP地址、目的IP地址、源端口和目的端口。
优选地,报文进入芯片后,进行多次路由表查找。
优选地,报文查找包括一次路由查找和二次环回查找。
优选地,所述一次路由查找过程为:根据报文的目的IP地址和目的端口查找路由表,根据匹配到的编辑动作对报文进行编辑,得到编辑后的目的IP地址和目的端口。
优选地,所述二次环回查找过程为:根据报文的源IP地址和源端口以及根据一次路由查找得到的编辑后的目的IP地址,同时查找路由表,根据报文源IP地址和源端口查找匹配到的编辑动作对报文进行编辑,得到编辑后的源IP地址和源端口;根据编辑后的目的IP地址查找到报文的发送出口并将报文从所述出口发送出去。
本发明还提供了另外一种技术方案:一种使用硬件实现报文编辑功能的装置,包括芯片内配置的路由表、路由查找模块、报文编辑模块,所述路由表内包括报文的匹配特征和编辑动作;所述路由查找模块用于根据其自身的查询关键字查找所述路由表,若所述查询关键字与路由表内的匹配特征相匹配,则得到相应的报文编辑动作;所述报文编辑模块根据所述编辑动作编辑报文并将编辑后的报文从查找到的出口发送出去。
优选地,所述路由查找模块包括一次路由查找模块和二次环回查找模块,所述一次路由查找模块用于根据报文的目的IP地址和目的端口查找路由表,得到相应的编辑动作;所述二次环回查找模块用于根据报文的源IP地址和源端口以及根据一次路由查找得到的编辑后的目的IP地址,同时查找路由表,得到相应的编辑动作和报文发送出口。
优选地,所述报文编辑模块包括第一编辑模块、第二编辑模块和第三编辑模块,所述第一编辑模块用于根据一次路由查找模块匹配到的编辑动作对报文进行编辑,得到编辑后的目的IP地址和目的端口;所述第二编辑模块用于根据二次环回查找模块匹配到的编辑动作对报文进行编辑,得到编辑后的源IP地址和源端口;所述第三编辑模块用于根据二次环回查找模块查找到的报文发送出口将报文从所述出口发送出去。
本发明的有益效果是:本发明通过硬件实现了交换机的报文编辑功能,释放了cpu,极大的提高了效率,且可以实现大规模的voip报文应用。
附图说明
图1是本发明使用硬件实现报文编辑功能的方法的流程示意图;
图2是voip组网示意图;
图3是报文转发需求示意图;
图4是本发明使用硬件实现报文编辑功能的装置的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明揭示了一种使用硬件实现报文编辑功能的方法及装置,通过在芯片中配置路由表,报文进入芯片后经过多次路由表查找,从而实现通过硬件完成报文的整个编辑过程。
本发明所揭示的一种使用硬件实现报文编辑功能的方法,结合图1所示,包括以下步骤:
首先在芯片内配置一路由表,路由表中配置有报文的匹配特征和编辑动作。
报文进入芯片后首先进行一次路由查找,根据报文的目的IP地址(DestIP)、目的端口(DestPort)进行路由查找,得到匹配结果,执行路由表中与此DestIP、DestPort对应的编辑动作,得到编辑后的NewDestIP、NewDestPort。
由于网络设备是根据编辑报文的源IP地址、目的IP地址、4层源端口、4层目的端口来转发报文的,所以此时还需要做源IP地址(SrcIP)和源端口(SrcPort)的编辑。因此,出一次环回处理,根据报文中的SrcIP和SrcPort进行路由查找,得到匹配结果,执行路由表中与此SrcIP和SrcPort对应的编辑动作,得到编辑后的NewSrcIP和NewSrcPort。
在进行二次环回路由查找的同时,还根据第一次路由查找、编辑后得到的NewDestIP进行路由查找,得到报文最终的目的出口(可以理解为报文的真实出口),将报文从最终得到的目的出口发送出去。
在网络处理器(如ASIC或NP)中,如图2所示,图中的SW_A和SW_B代表用户侧的交换机,GW_A、GW_B代表外网侧的交换机,中间的SWITCH代表核心的转发交换机。
以图3中表格第一行的数据为例,来简单说明下本发明的原理:本发明报文进入芯片,根据报文的DestIP(192.168.1.2)、DestPort(20000)进行路由查找,与路由表中的配置匹配特征进行匹配,得到匹配结果,执行与此DestIP、DestPort对应的编辑动作,将DestIP(192.168.1.2)、DestPort(20000)进行编辑得到NewDestIP(220.100.1.10)、NewDestPort(10000);由于此时需要对SrcIP和SrcPort的编辑,因此出一次环回处理,将报文的SrcIP(192.168.1.10)和SrcPort(10000)进行二次环回路由查找,与路由表中配置的匹配特征进行匹配,得到匹配结果,执行与此SrcIP(192.168.1.10)和SrcPort(10000)对应的编辑动作,得到编辑后的NewSrcIP(220.100.1.2)和NewSrcPort(20000);在二次环回路由查找的同时,将第一次路由查找得到的NewDestIP(220.100.1.10)进行路由查找,得到报文真实出口,将报文发送出去。
在上述实施例中,作为可替换的,也可根据报文的DestIP、DestPort、SrcIP和SrcPort这四个关键字直接进行一次路由查找,并限于上述一次和二次环回查找方式。
本发明还揭示了一种使用硬件实现报文编辑功能的装置,如图4所示,包括芯片内配置的路由表、路由查找模块和报文编辑模块。
芯片内配置的路由表内包括报文的匹配特征和编辑动作。
路由查找模块包括一次路由查找模块和二次环回查找模块。一次路由查找模块用于报文进入芯片时,根据报文的目的IP地址(DestIP)、目的端口(DestPort)进行路由查找,得到此DestIP、DestPort的编辑动作;二次环回查找模块用于一次路由查找后,根据报文源IP地址(SrcIP)和源端口(SrcPort)进行路由查找,同时根据一次路由查找、编辑后得到的NewDestIP进行路由查找,得到报文的目的出口。
报文编辑模块包括第一编辑模块、第二编辑模块和第三编辑模块,用于执行路由查找后得到的报文编辑动作。第一编辑模块用于在一次路由查找之后,根据得到的编辑动作对报文的DestIP、DestPort进行编辑,得到编辑后的NewDestIP、NewDestPort;第二编辑模块用于二次环回查找后,根据得到的编辑动作对报文的SrcIP、SrcPort进行编辑,得到编辑后的NewSrcIP和NewSrcPort;第三编辑模块用于将根据二次环回查找模块查找到的报文发送出口将报文从出口发送出去。
本发明可应用于实现voip报文编辑功能,但不仅限于用于实现voip报文的编辑,只要符合此类编辑行为,即同时编辑IP地址和四层协议端口,就都可以使用本发明。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (9)
1.一种使用硬件实现报文编辑功能的方法,其特征在于,所述方法包括:
在芯片内配置一路由表,所述路由表内包括报文的匹配特征和编辑动作;
报文进入芯片,根据其自身的查询关键字查找所述路由表,若所述查询关键字与路由表内的匹配特征相匹配,则得到相应的报文编辑动作,根据所述编辑动作编辑报文并将编辑后的报文从查找到的出口发送出去。
2.根据权利要求1所述的方法,其特征在于,所述路由表中的报文匹配特征包括报文的源IP地址、目的IP地址、源端口和目的端口。
3.根据权利要求1所述的方法,其特征在于,报文进入芯片后,进行多次路由表查找。
4.根据权利要求3所述的方法,其特征在于,报文查找包括一次路由查找和二次环回查找。
5.根据权利要求4所述的方法,其特征在于,所述一次路由查找过程为:根据报文的目的IP地址和目的端口查找路由表,根据匹配到的编辑动作对报文进行编辑,得到编辑后的目的IP地址和目的端口。
6.根据权利要求4所述的方法,其特征在于,所述二次环回查找过程为:根据报文的源IP地址和源端口以及根据一次路由查找得到的编辑后的目的IP地址,同时查找路由表,根据报文源IP地址和源端口查找匹配到的编辑动作对报文进行编辑,得到编辑后的源IP地址和源端口;根据编辑后的目的IP地址查找到报文的发送出口并将报文从所述出口发送出去。
7.一种使用硬件实现报文编辑功能的装置,其特征在于,包括芯片内配置的路由表、路由查找模块、报文编辑模块,所述路由表内包括报文的匹配特征和编辑动作;所述路由查找模块用于根据其自身的查询关键字查找所述路由表,若所述查询关键字与路由表内的匹配特征相匹配,则得到相应的报文编辑动作;所述报文编辑模块根据所述编辑动作编辑报文并将编辑后的报文从查找到的出口发送出去。
8.根据权利要求7所述装置,其特征在于,所述路由查找模块包括一次路由查找模块和二次环回查找模块,所述一次路由查找模块用于根据报文的目的IP地址和目的端口查找路由表,得到相应的编辑动作;所述二次环回查找模块用于根据报文的源IP地址和源端口以及根据一次路由查找得到的编辑后的目的IP地址,同时查找路由表,得到相应的编辑动作和报文发送出口。
9.根据权利要求7所述装置,其特征在于,所述报文编辑模块包括第一编辑模块、第二编辑模块和第三编辑模块,所述第一编辑模块用于根据一次路由查找模块匹配到的编辑动作对报文进行编辑,得到编辑后的目的IP地址和目的端口;所述第二编辑模块用于根据二次环回查找模块匹配到的编辑动作对报文进行编辑,得到编辑后的源IP地址和源端口;所述第三编辑模块用于根据二次环回查找模块查找到的报文发送出口将报文从所述出口发送出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610048132.0A CN105635167A (zh) | 2016-01-25 | 2016-01-25 | 一种使用硬件实现报文编辑功能的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610048132.0A CN105635167A (zh) | 2016-01-25 | 2016-01-25 | 一种使用硬件实现报文编辑功能的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105635167A true CN105635167A (zh) | 2016-06-01 |
Family
ID=56049656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610048132.0A Pending CN105635167A (zh) | 2016-01-25 | 2016-01-25 | 一种使用硬件实现报文编辑功能的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635167A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363258A (zh) * | 2022-03-17 | 2022-04-15 | 中国人民解放军国防科技大学 | 一种报文处理装置 |
CN116346746A (zh) * | 2023-05-12 | 2023-06-27 | 之江实验室 | 一种多级可编程编辑的报文处理方法 |
WO2023125563A1 (zh) * | 2021-12-27 | 2023-07-06 | 苏州盛科通信股份有限公司 | 路由信息的编辑方法、装置、存储介质及电子装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5495475A (en) * | 1993-10-15 | 1996-02-27 | International Business Machines Corporation | Resolution of race conditions in cascaded switches |
CN1625149A (zh) * | 2003-12-02 | 2005-06-08 | 四川南山之桥微电子有限公司 | 一种访问控制列表的方法 |
CN101296168A (zh) * | 2007-04-25 | 2008-10-29 | 北京天融信网络安全技术有限公司 | 芯片内部连接表支持策略路由的方法 |
CN101325554A (zh) * | 2008-08-04 | 2008-12-17 | 北京星网锐捷网络技术有限公司 | 一种路由创建方法、转发芯片及三层交换机 |
CN101860483A (zh) * | 2010-06-01 | 2010-10-13 | 中兴通讯股份有限公司 | 基于芯片查找表的bfd实现方法及装置 |
CN104702525A (zh) * | 2015-04-03 | 2015-06-10 | 盛科网络(苏州)有限公司 | 一种在芯片中实现虚拟化负载均衡的方法及芯片设备 |
-
2016
- 2016-01-25 CN CN201610048132.0A patent/CN105635167A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5495475A (en) * | 1993-10-15 | 1996-02-27 | International Business Machines Corporation | Resolution of race conditions in cascaded switches |
CN1625149A (zh) * | 2003-12-02 | 2005-06-08 | 四川南山之桥微电子有限公司 | 一种访问控制列表的方法 |
CN101296168A (zh) * | 2007-04-25 | 2008-10-29 | 北京天融信网络安全技术有限公司 | 芯片内部连接表支持策略路由的方法 |
CN101325554A (zh) * | 2008-08-04 | 2008-12-17 | 北京星网锐捷网络技术有限公司 | 一种路由创建方法、转发芯片及三层交换机 |
CN101860483A (zh) * | 2010-06-01 | 2010-10-13 | 中兴通讯股份有限公司 | 基于芯片查找表的bfd实现方法及装置 |
CN104702525A (zh) * | 2015-04-03 | 2015-06-10 | 盛科网络(苏州)有限公司 | 一种在芯片中实现虚拟化负载均衡的方法及芯片设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125563A1 (zh) * | 2021-12-27 | 2023-07-06 | 苏州盛科通信股份有限公司 | 路由信息的编辑方法、装置、存储介质及电子装置 |
CN114363258A (zh) * | 2022-03-17 | 2022-04-15 | 中国人民解放军国防科技大学 | 一种报文处理装置 |
CN114363258B (zh) * | 2022-03-17 | 2022-12-06 | 中国人民解放军国防科技大学 | 一种报文处理装置 |
CN116346746A (zh) * | 2023-05-12 | 2023-06-27 | 之江实验室 | 一种多级可编程编辑的报文处理方法 |
CN116346746B (zh) * | 2023-05-12 | 2023-08-15 | 之江实验室 | 一种多级可编程编辑的报文处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102970227A (zh) | 在asic中实现vxlan报文转发的方法和装置 | |
CN100542127C (zh) | 一种基于多业务传输平台的组播实现方法 | |
CN102957616B (zh) | 在asic中转发trill网络报文的方法及系统 | |
CN104980355B (zh) | 一种sdn环境下的源端可控组播数据传输系统 | |
WO2016107122A1 (zh) | RapidIO报文和以太网报文之间的转换方法和设备 | |
KR20030094851A (ko) | 아이피 라우터에서 VoIP 트래픽에 대한 QoS를제공하는 장치 및 포워딩방법 | |
CN104426756A (zh) | 一种服务节点能力信息的获取方法及控制平台 | |
CN108075949A (zh) | 一种vpws环境实现rfc2544的方法及设备 | |
CN105635167A (zh) | 一种使用硬件实现报文编辑功能的方法及装置 | |
CN103227752A (zh) | 以太网交换芯片中策略路由的实现方法和装置 | |
CN107888401A (zh) | 一种实时监控视联网终端cpu利用率的方法和系统 | |
CN105814843A (zh) | 一种流表的生成方法和装置 | |
CN107888544A (zh) | 一种视联网终端与通讯设备之间建立通讯的方法和系统 | |
CN102664811B (zh) | 报文转发方法和装置 | |
CN110619066B (zh) | 一种基于目录树的信息获取方法和装置 | |
CN104426762A (zh) | 一种传输、接收元数据的方法、开放流逻辑交换机 | |
CN103905285A (zh) | 一种实现同一mac地址用户划分到多个不同vlan的方法 | |
CN102025626B (zh) | 转发组播数据报文的方法和提供商边缘设备 | |
CN105812263B (zh) | 一种在asic芯片中实现路由arp信息和编辑信息分离的方法 | |
CN107483233A (zh) | 一种远程镜像的实现方法及装置 | |
CN104023317A (zh) | 一种低功耗多播路由网络及其多播路由方法 | |
WO2014205660A1 (zh) | 一种转发数据包的方法、装置和路由设备 | |
CN101222383B (zh) | 一种基于h.323协议的ip网络电话语音流量监测方法 | |
US10536367B2 (en) | Multipoint seamless bi-directional forwarding detection | |
CN109976933A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160601 |
|
RJ01 | Rejection of invention patent application after publication |