CN105939274A - 报文转发方法及装置 - Google Patents

报文转发方法及装置 Download PDF

Info

Publication number
CN105939274A
CN105939274A CN201610326573.2A CN201610326573A CN105939274A CN 105939274 A CN105939274 A CN 105939274A CN 201610326573 A CN201610326573 A CN 201610326573A CN 105939274 A CN105939274 A CN 105939274A
Authority
CN
China
Prior art keywords
message
chip
matching
quintuple
destination
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
Application number
CN201610326573.2A
Other languages
English (en)
Inventor
任红军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201610326573.2A priority Critical patent/CN105939274A/zh
Publication of CN105939274A publication Critical patent/CN105939274A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供的报文转发方法及装置,所述方法包括:接收经由入接口进入的报文;CPU根据所述报文的五元组,匹配得到所述报文的业务类型;其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号;所述CPU根据所述业务类型对所述报文进行业务处理,并将所述报文转至交换芯片;所述交换芯片根据预设的芯片表项,得到所述报文的出接口;所述交换芯片通过所述出接口将所述报文发出。应用本申请实施例,通过在防火墙设备上使用交换芯片,利用所述交换芯片的代理转发功能可以在同一报文多次经过防火墙设备时,匹配正确的出接口并转发所述报文。

Description

报文转发方法及装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种报文转发方法及装置。
背景技术
报文是互联网中数据传输的基本单元,通常可以根据报文中携带的三元组(如源IP、目的IP、协议号)或者五元组(如源IP、目的IP、源端口、目的端口、协议号)确定传输的方向。通常,为了网络安全,会在数据传输双方之间设置防火墙设备,相应地,报文在由发起方传输到响应方的过程中需要由防火墙设备进行报文转发。
如图1为现有技术中报文转发方法的流程图,该方法以防火墙设备为执行主体,具体步骤如下所示:
步骤110:防火墙设备接收经由入接口进入的报文;
步骤120:防火墙设备的CPU根据所述报文的五元组,匹配得到所述报文的出接口及业务类型;其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号;
步骤130:防火墙设备的CPU根据所述业务类型对所述报文进行业务处理,并通过所述出接口将所述报文发出。
上述实施例中,所述匹配是将五元组匹配预设的快转表。所述快转表中记录了五元组对应的出接口及业务类型。通常,一次数据传输中,首报文到达防火墙设备后,由于快转表并没有记录相关的五元组,所以会匹配失败,CPU会将所述报文上传至网络协议栈的至少一个业务处理单元进行业务处理后,从出接口发出,并且CPU会将该报文的五元组、入接口、出接口、业务类型等信息记录到快转表中。由于同一个数据传输过程中,每个报文的五元组都是相同的,所以后续报文到达防火墙设备后,只需匹配一次快转表,就可以完成报文转发。如此,通过快转技术就可以大大提高防火墙设备转发报文的效率。
举例说明,如图2所示为客户端和服务器经过防火墙设备进行数据传输的场景图。客户端的ip为192.85.1.2,端口号为1024;服务器的ip为192.85.1.3,端口号为1025;假设业务类型为二层转发。
在客户端发送的首次报文经过防火墙设备转发后,快转表中会相应记录该报文的五元组、入接口、出接口和业务类型,具体如下表1所示:
表1
sip dip sport dport protocol in_if out_if flag
192.85.1.2 192.85.1.3 1024 1025 17 Eth0 Eth1 0x2
192.85.1.3 192.85.1.2 1025 1024 17 Eth1 Eth0 0x2
表1中,sip表示源ip,dip表示目的ip,sport表示源端口,dport表示目的端口,protocol表示协议号,in_if表示入接口,out_if表示出接口,flag表示业务标记,0x2代表了业务类型为二层转发。如前所述,表1中前5个元素就是五元组。
在本次传输的后续报文到达所述防火墙设备时,CPU就可以根据报文的五元组匹配表1所示的快转表,并根据业务类型做业务处理,并从出接口将报文发出。具体地,如果发送方为客户端,响应方为服务器,则根据五元组(源ip 192.85.1.2,目的ip 192.85.1.3,源端口1024,目的端口1025,协议号17)匹配到快转表中第一条快转表项,根据业务类型为0x2做二层转发处理,并从出接口Eth1发出;如果发送方为服务器,响应方为客户端,则根据五元组(源ip 192.85.1.3,目的ip 192.85.1.2,源端口1025,目的端口1024,协议号17)匹配到快转表中第二条快转表项,根据业务类型0x2做二层转发处理,并从出接口Eth0发出。
快转技术虽然大大提高了防火墙设备的报文转发效率,但在同一报文多次过设备时却无法正常转发。如图3为客户端和服务器经过防火墙设备及交换机设备进行数据传输的场景图。在该场景下,同一报文会两次经过防火墙设备。在防火墙设备转发首报文后,记录的快转表同表1相同。以客户端到服务器方向的报文加以说明,正常时应该是(报文发送方)客户端->(第一次经过)防火墙设备->交换机设备->(第二次进过)防火墙设备->(报文响应方)服务器。但在本次传输的后续报文到达防火墙设备时,报文第一次过防火墙设备时,根据五元组(源ip 192.85.1.2,目的ip 192.85.1.3,源端口1024,目的端口1025,协议号17)匹配到快转表中第一条快转表项,所以从出接口Eth1发出。然后经过交换机设备转发后从入接口Eth3第二次进入防火墙设备,此时,由于是同一报文五元组也是相同的,依然匹配到快转表中第一条快转表项,从Eth1发出。这样又会发向交换机设备,如此反复,该报文会在防火墙设备和交换机设备之间形成环路,所述防火墙设备无法正常转发报文。
发明内容
本申请提供的报文转发方法及装置,以解决现有技术中同一报文多次经过防火墙设备时,防火墙设备无法正常转发报文的问题。
根据本申请实施例提供的一种报文转发方法,所述方法包括:
接收经由入接口进入的报文;
CPU根据所述报文的五元组,匹配得到所述报文的业务类型;其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号;
所述CPU根据所述业务类型对所述报文进行业务处理,并将所述报文转至交换芯片;
所述交换芯片根据预设的芯片表项,得到所述报文的出接口;
所述交换芯片通过所述出接口将所述报文发出。
根据本申请实施例提供的一种报文转发装置,所述装置包括:
接收单元,用于接收经由入接口进入的报文;
匹配单元,用于CPU根据所述报文的五元组,匹配得到所述报文的业务类型;其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号;
业务处理单元,用于所述CPU根据所述业务类型对所述报文进行业务处理,并将所述报文转至交换芯片;
获取单元,用于所述交换芯片根据预设的芯片表项,得到所述报文的出接口;
转发单元,用于所述交换芯片通过所述出接口将所述报文发出。
根据本申请实施例提供的一种防火墙设备,所述防火墙设备包括CPU和交换芯片,其中,
所述CPU用于根据报文的五元组,匹配得到所述报文的业务类型,并将所述报文转至交换芯片;其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号;
所述交换芯片用于根据预设的芯片表项,得到所述报文的出接口,并通过所述出接口将所述报文发出。
本申请实施例中,通过在防火墙设备上使用交换芯片,利用所述交换芯片的代理转发功能,即根据交换芯片中预设的芯片表项得到报文正确的出接口,实现同一报文多次经过防火墙设备时,可以正常的转发报文;而且由于将原本由CPU处理报文转发的工作转移给了交换芯片,而防火墙设备的整体性能是由CPU的处理能力决定的,如此在减轻了CPU的处理负担同时,相应地也就提高了防火墙设备的整体性能。
附图说明
图1是现有技术中报文转发方法的流程图;
图2是客户端和服务器经过防火墙设备进行数据传输的场景图;
图3是客户端和服务器经过防火墙设备及交换机设备进行数据传输的场景图;
图4是本申请实施例提供的防火墙设备的结构示意图;
图5是本申请一实施例提供的报文转发方法的流程图;
图6是客户端和服务器经过防火墙设备及交换机设备进行数据传输的场景图;
图7是本申请报文转发装置所在设备的一种硬件结构图;
图8是本申请一实施例提供的报文转发装置的模块图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中防火墙设备中需要设置有交换芯片。如图4所示,为本申请实施例提供的防火墙设备的结构示意图。
图4中,防火墙设备主要包括CPU(Central Processing Unit,中央处理器)、交换芯片。其中,
所述CPU用于根据报文的五元组,匹配得到所述报文的业务类型,并将所述报文转至交换芯片;其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号;
所述交换芯片用于根据芯片表项,得到所述报文的出接口,并通过所述出接口将所述报文发出。
所述防火墙设备,还包括若干接口,Eth 0、…、Eth n;需要说明的是,报文在进入所述防火墙设备和从所述防火墙设备发出,需要通过所述接口提供的通道。一般的,将报文进入防火墙设备使用的接口称为入接口;将报文发出防火墙设备使用的接口称为出接口。
在本实施例中,CPU和交换芯片之间可以通过内部通道进行数据传输。本实施例中,防火墙设备中的CPU负责对报文进行业务处理,而交换芯片负责对报文进行转发。
参见图5,为本申请一实施例提供的报文转发方法的流程图,该实施例从防火墙设备侧进行描述,包括以下步骤:
步骤210:接收经由入接口进入的报文;
本实施例中,防火墙设备可以接收经由入接口进入的报文。
以下结合图6所示的本申请提供的客户端和服务器经过防火墙设备及交换机设备进行数据传输的场景图。图6中,客户端发出的报文第一次进入防火墙设备时,是由所述防火墙设备的入接口Eth 0进入的。该报文第二次进入所述防火墙设备时,是由所述防火墙设备的入接口Eth 2进入的。
步骤220:CPU根据所述报文的五元组,匹配得到所述报文的业务类型。
本实施例中,防火墙设备的CPU可以根据所述报文的五元组,匹配得到所述报文的业务类型。其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号。所述源ip和源端口为报文发送方的ip和端口;所述目的ip和目的端口为报文响应方的ip和端口;所述协议号为报文发送方与报文响应方在通信协议(如UDP协议通信)下的协议号。
具体地,所述步骤220,可以包括如下步骤:
所述CPU获取所述报文中的五元组;
所述CPU根据所述五元组,匹配快转表;
如果匹配成功,则获取所述五元组对应的业务类型。
在本实施例中,所述快转表如前所述,通常在一次数据传输的过程中,首报文到达防火墙设备,经由网络协议栈的至少一个业务处理模块进行业务处理后,会该报文的五元组、入接口、出接口及业务类型记录到快转表中。在后续报文到达防火墙设备后,就可以根据报文的五元组匹配所述快转表,从而快速的进行报文转发。
依然参考图6,客户端的ip为192.85.1.2,端口号为1024;服务器的ip为192.85.1.3,端口号为1025;假设业务类型为二层转发。所述客户端与服务器之间的首报文转发后,记录的快转表如下表2所示:
表2
sip dip sport dport protocol in_if out_if flag
192.85.1.2 192.85.1.3 1024 1025 17 Eth0 Eth1 0x2
192.85.1.3 192.85.1.2 1025 1024 17 Eth1 Eth0 0x2
表2中,sip表示源ip,dip表示目的ip,sport表示源端口,dport表示目的端口,protocol表示协议号,in_if表示入接口,out_if表示出接口,flag表示业务标记,0x2代表了vlan2即业务类型为二层转发。其中,表2中前5个元素为五元组。
从客户端到服务器方向一次正常的报文转发过程中报文依次经过:(报文发送方)客户端->(第一次经过)防火墙设备->交换机设备->(第二次经过)防火墙设备->(报文响应方)服务器。
例子一,以报文第一次经过防火墙设备加以说明,当客户端发送的报文,从入接口Eth 0进入防火墙设备后,所述防火墙设备的CPU根据该报文的五元组(源ip 192.85.1.2,目的ip 192.85.1.3,源端口1024,目的端口1025,协议号17)匹配到快转表中第一条快转表项,得出业务类型为0x2。
例子二,以报文第二次经过防火墙设备加以说明,当交换机设备转发的报文,从入接口Eth 2第二次进入防火墙设备后,所述防火墙设备的CPU根据该报文的五元组(源ip 192.85.1.2,目的ip 192.85.1.3,源端口1024,目的端口1025,协议号17)匹配到快转表中第一条快转表项,得出业务类型为0x2。
值得一提的时,所述芯片表可以包括芯片HASH表(哈希表、散列表)。HASH表可以根据键值对(key value)存放和访问数据,使用HASH表可以快速匹配到表中记录的数据,从而提高数据访问的效率。
步骤230:所述CPU根据所述业务类型对所述报文进行业务处理,并将所述报文转至交换芯片。
本实施例中,防火墙设备的CPU可以根据得到的业务类型对所述报文进行业务处理,然后将所述报文通过CPU与交换芯片之间的内部通道转至交换芯片进行转发。
沿用步骤220中的例子一,即防火墙设备的CPU匹配得到的业务类型为0x2,这样所述CPU可以根据该业务类型0x2对所述报文进行业务处理,并由内部通道将所述报文转至交换芯片。
沿用步骤220中的例子二,执行本步骤230的过程与例子一相同,此处不再赘述。
步骤240:所述交换芯片根据预设的芯片表项,得到所述报文的出接口;
本实施例中,防火墙设备的交换芯片可以根据预先设置的芯片表项,得到所述报文的出接口。
所述交换芯片作为一种硬件设备,在世界各地普遍的使用。目前市场上主流的交换芯片厂商例如有Cisco(思科)、Broadcom(博通)、富士通半导体、华为等。所述交换芯片自身具有代理转发功能,可以对报文进行转发。报文转发技术是业内常用技术,这里主要对其中的二层转发、路由转发加以说明,当然还包括一些其它的转发形式,在此不再过多赘述。
针对二层转发,所述步骤240,具体可以包括如下步骤:
在二层转发时,所述交换芯片获取所述报文的vlan号和目的mac地址;
所述交换芯片根据所述vlan号和目的mac地址,匹配二层表项;
如果匹配成功,则获取所述vlan号和目的mac地址对应的出接口。
本实施例中,所述芯片表项可以包括二层表、路由表、arp表等,在二层转发时,所述交换芯片需要应用的二层表。
报文还包括了vlan号和目的mac地址,所述二层表中记录了vlan号、目的mac地址和出接口的对应关系,如下表3所示:
表3
mac_addr vlan out_if
00:25:19:9c:1F:2E 2 Eth 1
00:25:19:9c:1F:2F 3 Eth 3
表3中,mac_addr表示报文的目的mac地址,vlan表示报文的vlan号,out_if表示报文的出接口。
沿用步骤220中的例子一,即报文第一次经过防火墙设备,结合图6所示的内容,假设报文的vlan号为2,目的mac地址为00:25:19:9c:1F:2E。在所述报文通过入接口Eth 0进入的防火墙设备,由于所述报文的业务类型为二层转发,进而所述交换芯片获取所述报文的vlan号和目的mac地址。根据所述vlan号和目的mac地址匹配上述表3中所示的二层表,由于可以匹配到第一条二层表项,所以可以得到所述报文的出接口Eth 1。
沿用步骤220中的例子二,即报文第二次经过防火墙设备,结合图6所示的内容,假设报文的vlan号为3,目的mac地址为00:25:19:9c:1F:2F。在所述报文通过入接口Eth 2进入的防火墙设备,由于所述报文的业务类型为二层转发,进而所述交换芯片获取所述报文的vlan号和目的mac地址。根据所述vlan号和目的mac地址匹配上述表3中所示的二层表,由于可以匹配到第二条二层表项,所以可以得到所述报文的出接口Eth 3。
值得一提的时,所述二层表可以包括快转HASH表(哈希表、散列表)。HASH表可以根据键值对(key value)存放和访问数据,使用HASH表可以快速匹配到表中记录的数据,从而提高数据访问的效率。
针对路由转发(三层转发),所述步骤240,具体可以包括如下步骤:
在路由转发时,所述交换芯片获取所述报文的目的ip;
所述交换芯片根据所述目的ip,匹配路由表;
如果匹配成功,则获取所述路由表中标识对应的arp表中的出接口。
本实施例中,所述芯片表项可以包括二层表、路由表、arp表等,在路由转发时,所述交换芯片需要应用的路由表、arp表。
所述路由表中记录了目的ip与arp(Address Resolution Protocol,地址解析协议)表的对应关系,如下表4所示:
表4
ip_addr next_hop
192.168.000.000 125
表4中,ip_addr表示目的ip;next_hop表示目的ip对应的arp表中的标识。
所述arp表记录了对应路由表中标识的编号、vlan号、目的mac地址和出接口,如下表5所示:
表5
index vlan mac_addr out_if
124 4 00:25:19:9c:2F:2F Eth 1
125 4 00:25:19:9c:1F:2F Eth 3
表5中,index表示编号,valn表示vlan号,mac_addr表示报文的目的mac地址,out_if表示报文的出接口。
假设,报文中的目的ip为192.168.000.000,在报文进入防火墙设备后,由于所述报文的业务类型为路由转发,进而所述交换芯片获取所述报文的目的ip。根据所述目的ip,匹配到表4所示的路由表中标识next_hop为125;之后,所述交换芯片可以进一步获取所述标识对应的表5所示的arp表中编号为125对应的vlan号、目的mac、出接口分别为4、00:25:19:9c:1F:2F、Eth 3。
值得一提的时,在路由转发中,所述交换芯片在通过出接口将报文发出前,还需要根据arp表中的vlan号及目的mac地址修改所述报文中的vlan号及目的mac地址。如表5所示,标识为125时,交换芯片获取到出接口Eth3后,还需要修改报文中的vlan号为4,目的mac地址为00:25:19:9c:1F:2F。
步骤250:所述交换芯片通过所述出接口将报文发出。
本实施例中,防火墙设备的交换芯片通过所述出接口将所述报文发出。
依然沿用步骤240中的例子一,结合图6所示的内容,防火墙设备的交换芯片通过所述出接口Eth 1将所述报文发出,最终报文能够达到交换机设备。
相似的,依然沿用步骤240中的例子二,结合图6所示的内容,防火墙设备的交换芯片通过所述出接口Eth 3将所述报文发出,最终报文能够达到服务器。
通过本实施例,在防火墙设备上使用交换芯片,利用所述交换芯片的代理转发功能,即根据交换芯片中预设的芯片表项得到报文正确的出接口,实现同一报文多次经过防火墙设备时,可以正常的转发报文;而且由于将原本由CPU处理报文转发的工作转移给了交换芯片,而防火墙设备的整体性能是由CPU的处理能力决定的,如此在减轻了CPU的处理负担同时,相应地也就提高了防火墙设备的整体性能。
与前述报文传输方法实施例相对应,本申请还提供了报文转发装置的实施例。
本申请报文转发装置的实施例可以分别应用在防火墙设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请报文转发装置所在设备的一种硬件结构图,除了图7所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该报文转发的实际功能,还可以包括其他硬件,如交换芯片,根据所述交换芯片的代理转发功能来实现报文转发。
参见图8,为本申请一实施例提供的报文转发装置的模块图,所述装置应用在用于实现报文转发的防火墙设备上,所述装置包括:接收单元310、匹配单元320、业务处理单元330、获取单元340及转发单元350。
其中,所述接收单元310,用于接收经由入接口进入的报文;
所述匹配单元320,用于CPU根据所述报文的五元组,匹配得到所述报文的业务类型;
所述业务处理单元330,用于所述CPU根据所述业务类型对所述报文进行业务处理,并将所述报文转至交换芯片;
所述获取单元340,用于所述交换芯片根据预设的芯片表项,得到所述报文的出接口;
所述转发单元350,用于所述交换芯片通过所述出接口将所述报文发出。
在一个可选的实现方式中:
所述获取单元340,具体可以包括:
第一获取子单元,用于在二层转发时,所述交换芯片获取所述入接口对应的vlan号和mac地址;
第二获取子单元,用于所述交换芯片根据所述vlan号和mac地址,匹配芯片表;
第三获取子单元,用于在匹配成功时,获取所述vlan号和mac地址对应的出接口。
在一个可选的实现方式中:
所述获取单元340,具体可以包括:
第一获取子单元,用于在路由转发时,所述交换芯片获取所述报文的目的ip;
第二获取子单元,用于所述交换芯片根据所述目的ip,匹配路由表;
第三获取子单元,用于在匹配成功时,获取所述路由表中标识对应的arp表中的出接口。
在一个可选的实现方式中:
所述匹配单元320,具体可以包括:
第一匹配子单元,用于所述CPU获取所述报文中的五元组;
第二匹配子单元,用于所述CPU根据所述五元组,匹配快转表;
第三匹配子单元,用于在匹配成功时,获取所述五元组对应的业务类型。
在一个可选的实现方式中:
所述第二匹配子单元中,所述快转表包括快转哈希表。
通过本实施例,在防火墙设备上使用交换芯片,利用所述交换芯片的代理转发功能,即根据交换芯片中预设的芯片表项得到报文正确的出接口,实现同一报文多次经过防火墙设备时,可以正常的转发报文;而且由于将原本由CPU处理报文转发的工作转移给了交换芯片,而防火墙设备的整体性能是由CPU的处理能力决定的,如此在减轻了CPU的处理负担同时,相应地也就提高了防火墙设备的整体性能。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (11)

1.一种报文转发方法,其特征在于,所述方法包括:
接收经由入接口进入的报文;
CPU根据所述报文的五元组,匹配得到所述报文的业务类型;其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号;
所述CPU根据所述业务类型对所述报文进行业务处理,并将所述报文转至交换芯片;
所述交换芯片根据预设的芯片表项,得到所述报文的出接口;
所述交换芯片通过所述出接口将报文发出。
2.根据权利要求1所述的方法,其特征在于,所述交换芯片根据预设的芯片表项,得到所述报文的出接口,具体包括:
在二层转发时,所述交换芯片获取所述报文的vlan号和目的mac地址;
所述交换芯片根据所述vlan号和目的mac地址,匹配二层表;
如果匹配成功,则获取所述vlan号和目的mac地址对应的出接口。
3.根据权利要求1所述的方法,其特征在于,所述交换芯片根据预设的芯片表项,得到所述报文的出接口,具体包括:
在路由转发时,所述交换芯片获取所述报文的目的ip;
所述交换芯片根据所述目的ip,匹配路由表;
如果匹配成功,则获取所述路由表中标识对应的arp表中的出接口。
4.根据权利要求1所述的方法,其特征在于,所述CPU根据所述报文的五元组,匹配得到所述报文的业务类型,具体包括:
所述CPU获取所述报文中的五元组;
所述CPU根据所述五元组,匹配快转表;
如果匹配成功,则获取所述五元组对应的业务类型。
5.根据权利要求4所述的方法,其特征在于,所述快转表包括快转哈希表。
6.一种报文转发装置,其特征在于,所述装置包括:
接收单元,用于接收经由入接口进入的报文;
匹配单元,用于CPU根据所述报文的五元组,匹配得到所述报文的业务类型;其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号;
业务处理单元,用于所述CPU根据所述业务类型对所述报文进行业务处理,并将所述报文转至交换芯片;
获取单元,用于所述交换芯片根据预设的芯片表项,得到所述报文的出接口;
转发单元,用于所述交换芯片通过所述出接口将所述报文发出。
7.根据权利要求6所述的装置,其特征在于,所述获取单元,具体包括:
第一获取子单元,用于在二层转发时,所述交换芯片获取所述入接口对应的vlan号和mac地址;
第二获取子单元,用于所述交换芯片根据所述vlan号和mac地址,匹配芯片表;
第三获取子单元,用于在匹配成功时,获取所述vlan号和mac地址对应的出接口。
8.根据权利要求6所述的装置,其特征在于,所述获取单元,具体包括:
第一获取子单元,用于在路由转发时,所述交换芯片获取所述报文的目的ip;
第二获取子单元,用于所述交换芯片根据所述目的ip,匹配路由表;
第三获取子单元,用于在匹配成功时,获取所述路由表中标识对应的arp表中的出接口。
9.根据权利要求6所述的装置,其特征在于,所述匹配单元,具体包括:
第一匹配子单元,用于所述CPU获取所述报文中的五元组;
第二匹配子单元,用于所述CPU根据所述五元组,匹配快转表;
第三匹配子单元,用于在匹配成功时,获取所述五元组对应的业务类型。
10.根据权利要求9所述的装置,其特征在于,所述快转表包括快转哈希表。
11.一种防火墙设备,其特征在于,包括CPU和交换芯片,其中,
所述CPU用于根据报文的五元组,匹配得到所述报文的业务类型,并将所述报文转至交换芯片;其中,所述五元组包括源ip、目的ip、源端口、目的端口和协议号;
所述交换芯片用于根据预设的芯片表项,得到所述报文的出接口,并通过所述出接口将所述报文发出。
CN201610326573.2A 2016-05-17 2016-05-17 报文转发方法及装置 Pending CN105939274A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610326573.2A CN105939274A (zh) 2016-05-17 2016-05-17 报文转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610326573.2A CN105939274A (zh) 2016-05-17 2016-05-17 报文转发方法及装置

Publications (1)

Publication Number Publication Date
CN105939274A true CN105939274A (zh) 2016-09-14

Family

ID=57152122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610326573.2A Pending CN105939274A (zh) 2016-05-17 2016-05-17 报文转发方法及装置

Country Status (1)

Country Link
CN (1) CN105939274A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106953807A (zh) * 2017-03-02 2017-07-14 北京星网锐捷网络技术有限公司 报文转发方法及装置
CN107342926A (zh) * 2017-06-13 2017-11-10 国家计算机网络与信息安全管理中心 一种多业务快速匹配分发的方法
CN107483341A (zh) * 2017-08-29 2017-12-15 杭州迪普科技股份有限公司 一种跨防火墙报文快速转发方法及装置
CN107508827A (zh) * 2017-09-15 2017-12-22 通鼎互联信息股份有限公司 一种报文解析方法及装置
CN107743101A (zh) * 2017-09-26 2018-02-27 杭州迪普科技股份有限公司 一种数据的转发方法及装置
CN107769992A (zh) * 2017-09-15 2018-03-06 通鼎互联信息股份有限公司 一种报文解析分流方法及装置
CN107948076A (zh) * 2017-12-29 2018-04-20 杭州迪普科技股份有限公司 一种转发报文的方法及装置
CN107968770A (zh) * 2016-10-19 2018-04-27 北京计算机技术及应用研究所 基于国产自主软硬件平台的网络防火墙及其数据处理方法
CN107995272A (zh) * 2017-11-27 2018-05-04 中电和瑞科技有限公司 一种通信数据交换方法、装置和计算机可读存储介质
CN109347744A (zh) * 2018-09-20 2019-02-15 新华三技术有限公司 一种报文处理方法、装置及网络设备
CN109639698A (zh) * 2018-12-24 2019-04-16 维沃移动通信有限公司 一种数据处理方法及服务器
CN109688069A (zh) * 2018-12-29 2019-04-26 杭州迪普科技股份有限公司 一种处理网络流量的方法、装置、设备及存储介质
CN110311866A (zh) * 2019-06-28 2019-10-08 杭州迪普科技股份有限公司 一种快速转发报文的方法及装置
CN110752996A (zh) * 2019-10-24 2020-02-04 杭州迪普信息技术有限公司 一种报文转发方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0980167A1 (en) * 1998-08-11 2000-02-16 Lucent Technologies Inc. Apparatus and methods for routerless layer 3 forwarding in a network
CN1809035A (zh) * 2006-02-10 2006-07-26 江苏华丽网络工程有限公司 新型集成路由交换功能的防火墙设备
CN101014048A (zh) * 2007-02-12 2007-08-08 杭州华为三康技术有限公司 分布式防火墙系统及实现防火墙内容检测的方法
CN102217253A (zh) * 2011-05-05 2011-10-12 华为技术有限公司 报文转发方法、装置及网络设备
CN103368777A (zh) * 2013-07-11 2013-10-23 曙光信息产业股份有限公司 一种数据包处理板及处理方法
CN105099921A (zh) * 2015-05-29 2015-11-25 杭州华三通信技术有限公司 一种基于用户的快速业务处理方法以及装置
CN105227465A (zh) * 2014-06-23 2016-01-06 杭州迪普科技有限公司 一种cpu代理方法以及网络设备
CN105337890A (zh) * 2014-07-16 2016-02-17 杭州迪普科技有限公司 一种控制策略生成方法以及装置
CN105357114A (zh) * 2014-08-21 2016-02-24 杭州迪普科技有限公司 一种分布式网络设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0980167A1 (en) * 1998-08-11 2000-02-16 Lucent Technologies Inc. Apparatus and methods for routerless layer 3 forwarding in a network
CN1809035A (zh) * 2006-02-10 2006-07-26 江苏华丽网络工程有限公司 新型集成路由交换功能的防火墙设备
CN101014048A (zh) * 2007-02-12 2007-08-08 杭州华为三康技术有限公司 分布式防火墙系统及实现防火墙内容检测的方法
CN102217253A (zh) * 2011-05-05 2011-10-12 华为技术有限公司 报文转发方法、装置及网络设备
CN103368777A (zh) * 2013-07-11 2013-10-23 曙光信息产业股份有限公司 一种数据包处理板及处理方法
CN105227465A (zh) * 2014-06-23 2016-01-06 杭州迪普科技有限公司 一种cpu代理方法以及网络设备
CN105337890A (zh) * 2014-07-16 2016-02-17 杭州迪普科技有限公司 一种控制策略生成方法以及装置
CN105357114A (zh) * 2014-08-21 2016-02-24 杭州迪普科技有限公司 一种分布式网络设备
CN105099921A (zh) * 2015-05-29 2015-11-25 杭州华三通信技术有限公司 一种基于用户的快速业务处理方法以及装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107968770A (zh) * 2016-10-19 2018-04-27 北京计算机技术及应用研究所 基于国产自主软硬件平台的网络防火墙及其数据处理方法
CN106953807A (zh) * 2017-03-02 2017-07-14 北京星网锐捷网络技术有限公司 报文转发方法及装置
CN107342926A (zh) * 2017-06-13 2017-11-10 国家计算机网络与信息安全管理中心 一种多业务快速匹配分发的方法
CN107483341B (zh) * 2017-08-29 2020-10-02 杭州迪普科技股份有限公司 一种跨防火墙报文快速转发方法及装置
CN107483341A (zh) * 2017-08-29 2017-12-15 杭州迪普科技股份有限公司 一种跨防火墙报文快速转发方法及装置
CN107508827A (zh) * 2017-09-15 2017-12-22 通鼎互联信息股份有限公司 一种报文解析方法及装置
CN107769992A (zh) * 2017-09-15 2018-03-06 通鼎互联信息股份有限公司 一种报文解析分流方法及装置
CN107508827B (zh) * 2017-09-15 2021-01-26 通鼎互联信息股份有限公司 一种报文解析方法及装置
CN107743101A (zh) * 2017-09-26 2018-02-27 杭州迪普科技股份有限公司 一种数据的转发方法及装置
CN107995272A (zh) * 2017-11-27 2018-05-04 中电和瑞科技有限公司 一种通信数据交换方法、装置和计算机可读存储介质
CN107948076A (zh) * 2017-12-29 2018-04-20 杭州迪普科技股份有限公司 一种转发报文的方法及装置
CN109347744A (zh) * 2018-09-20 2019-02-15 新华三技术有限公司 一种报文处理方法、装置及网络设备
CN109347744B (zh) * 2018-09-20 2021-07-23 新华三技术有限公司 一种报文处理方法、装置及网络设备
CN109639698A (zh) * 2018-12-24 2019-04-16 维沃移动通信有限公司 一种数据处理方法及服务器
CN109639698B (zh) * 2018-12-24 2022-02-01 维沃移动通信有限公司 一种数据处理方法及服务器
CN109688069A (zh) * 2018-12-29 2019-04-26 杭州迪普科技股份有限公司 一种处理网络流量的方法、装置、设备及存储介质
CN110311866A (zh) * 2019-06-28 2019-10-08 杭州迪普科技股份有限公司 一种快速转发报文的方法及装置
CN110311866B (zh) * 2019-06-28 2021-11-02 杭州迪普科技股份有限公司 一种快速转发报文的方法及装置
CN110752996A (zh) * 2019-10-24 2020-02-04 杭州迪普信息技术有限公司 一种报文转发方法及装置

Similar Documents

Publication Publication Date Title
CN105939274A (zh) 报文转发方法及装置
US11240065B2 (en) NSH encapsulation for traffic steering
EP2944056B1 (en) Distributed traffic inspection in a telecommunications network
US11082308B2 (en) Multi-path aware tracing and probing functionality at service topology layer
EP3069484B1 (en) Shortening of service paths in service chains in a communications network
US11627016B2 (en) Packet communications providing packet processing efficiencies in a network including using a segment routing and tunnel exchange
US9768968B2 (en) Method and apparatus for processing multicast packet on network virtualization over layer 3 (NVO3) network
JP6445015B2 (ja) ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法
CN107948076B (zh) 一种转发报文的方法及装置
US9736057B2 (en) Forwarding packet fragments using L4-L7 headers without reassembly in a software-defined networking (SDN) system
JP5373625B2 (ja) マルチキャストルーティングのための方法および装置
CN109361606B (zh) 一种报文处理系统及网络设备
CN106470158B (zh) 报文转发方法及装置
WO2022062506A1 (zh) 一种数据处理方法、装置、存储介质及电子装置
TWI761312B (zh) 用於處理在一電腦網路中之封包的系統及方法
US9979698B2 (en) Local internet with quality of service (QoS) egress queuing
CN107896182B (zh) 报文转发方法及装置
CN107786386B (zh) 对用于验证多播连接的双向转发检测(bfd)消息的选择性传输
US10313274B2 (en) Packet forwarding
CN110086787B (zh) 报文识别方法、装置、电子设备及机器可读存储介质
US11570077B2 (en) Traffic flow trace in a network
CN108183859B (zh) 一种互联网流量调度方法和系统
CN112788116A (zh) 一种报文转发的方法及装置
US11265320B2 (en) Extended redirect mirror
CN108337164B (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
CB02 Change of applicant information

Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant after: Hangzhou Dipu Polytron Technologies Inc

Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant before: Hangzhou Dipu Technology Co., Ltd.

COR Change of bibliographic data
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160914