CN110535747B - 报文处理设备和方法 - Google Patents
报文处理设备和方法 Download PDFInfo
- Publication number
- CN110535747B CN110535747B CN201910846230.2A CN201910846230A CN110535747B CN 110535747 B CN110535747 B CN 110535747B CN 201910846230 A CN201910846230 A CN 201910846230A CN 110535747 B CN110535747 B CN 110535747B
- Authority
- CN
- China
- Prior art keywords
- message
- lookup table
- message processing
- path information
- path
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/08—Protocols for interworking; Protocol conversion
-
- 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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
Abstract
本公开提供一种报文处理设备,布置在一个或多个回流设备和一个或多个服务器之间,包括:第一通信单元,被构造为从/向所述一个或多个回流设备接收/发送第一协议报文;第二通信单元,被构造为从/向所述一个或多个服务器接收/发送与第一协议不同的第二协议报文;以及报文处理组件,被构造为将来自所述一个或多个回流设备之一的第一协议报文处理为第二协议报文以便被第二通信单元发送到所述一个或多个服务器之一以及将来自所述一个或多个服务器之一的第二协议报文处理为第一协议报文以便被第一通信单元发送到所述一个或多个回流设备之一。本公开还提供了一种报文处理方法。
Description
技术领域
本公开涉及报文处理设备和方法,尤其是涉及一种虚拟可扩展局域网环境下的报文处理设备和方法。
背景技术
VXLAN(Virtual Extensible Local Area Network)是一种网络虚拟化技术,即,基于IP协议网络且采用“MAC in UDP”封装形式的二层VPN技术。该技术试图改进大型云计算的部署时的扩展问题,可以说是对VLAN的一种扩展。
VXLAN技术通过将虚拟网络中的数据帧封装在实际物理网络中的报文中进行传输。具体实现方式为:将虚拟网络的数据帧添加VXLAN首部后,封装在物理网络中的UDP报文中,然后以传统网络的通信方式传送该UDP报文,到达目的主机后,去掉物理网络报文的头部信息以及VXLAN首部,将报文交付给目的终端。整个通信过程目的终端不会感知到物理网络的存在。
可以对VXLAN协议网络中的报文进行处理,例如采样分析,并然后将经处理的报文发送回VXLAN协议网络。在这样的应用中,需要对报文进行处理的服务器将VXLAN协议网络中的报文进行解封装,并在处理完成后将解封装的报文加封装后发给VXLAN协议网络中的设备。因为解封装和封装过程均在服务器端完成,所述对服务器的性能消耗较大。
发明内容
本公开的示例性实施例的目的在于克服现有技术中的上述的和/或其他的问题。因此,根据本公开的一个方面,提供了一种报文处理设备,布置在一个或多个回流设备和一个或多个服务器之间,包括:第一通信单元,被构造为从/向所述一个或多个回流设备接收/发送第一协议报文;第二通信单元,被构造为从/向所述一个或多个服务器接收/发送与第一协议不同的第二协议报文;以及报文处理组件,被构造为将来自所述一个或多个回流设备之一的第一协议报文处理为第二协议报文以便被第二通信单元发送到所述一个或多个服务器之一以及将来自所述一个或多个服务器之一的第二协议报文处理为第一协议报文以便被第一通信单元发送到所述一个或多个回流设备之一。
根据本公开的报文处理设备,其中所述第一协议报文为VXLAN报文,而所述第二协议报文为IP报文。
根据本公开的报文处理设备,其中所述报文处理组件包括报文解封装单元以及查找表存储单元,其中所述查找表存储单元被构造为动态存储查找表,所述查找表中登记有一条或多条映射条目,每条映射条目包含来自所述一个或多个回流设备之一的VXLAN报文的报头中包含的一个回流路径信息以及与该回流路径信息对应的一个路径编号;以及所述报文解封装单元被构造为解封来自所述一个或多个回流设备的VXLAN报文并获取报头中包含的回流路径信息,并基于所述回流路径信息遍历查找表存储单元中的查找表,以确认所获取的回流路径信息是否包含在所述查找表之中,并在确认所获取的回流路径信息包含在所述查找表之中的情况下,将所述回流路径信息对应的路径编号封装在将要发送到服务器的IP报文中。
根据本公开的报文处理设备,其中所述报文处理组件还包括查找表更新单元,所述查找表更新单元,被构造为在报文解封装单元确认所获取的回流路径信息不包含在所述查找表之中的情况下,赋予所获取的回流路径信息一个新的路径编号,并将所获取的回流路径信息和所述新的路径编号作为一对新的映射关系登记在查找表存储单元所存储的查找表中。
根据本公开的报文处理设备,其中所述第二通信单元被构造为将所述报文解封装单元封装有路径编号的IP报文发送到相应的服务器。
根据本公开的报文处理设备,其中所述报文解封装单元还被构造为解封来自所述一个或多个服务器的IP报文并获取报头中包含的路径编号,并基于该路径编号遍历查找表存储单元中的查找表以获取所述路径编号对应的回流路径信息,以便将所述路径编号对应的回流路径信息封装在将要发送到回流设备的VXLAN报文中。
根据本公开的报文处理设备,其中所述回流路径信息包括VXLAN报文的报头中的外层源IP地址SIP、外层目的IP地址DIP、回流设备给出的网络标识Vni以及报文处理设备的端口号。
根据本公开的报文处理设备,其中所述第二通信单元被构造为将所述报文解封装单元封装有路径编号的IP报文经由所封装的路径编号对应的回流路径信息中的端口号发送到该端口号所对应的服务器。
根据本公开的报文处理设备,其中所述报文解封装单元还被构造为将所述回流路径信息对应的路径编号封装在IP报文的报头中的预定的选项字段中,所述预定的选项字段包含至少四个字节,其中第一字节为选项码信息,第二字节为选项字段的长度信息,其余字节为所封装的路径编号信息。
根据本公开的另一个方面,提供了一种报文处理设备中的报文处理方法,所述报文处理设备布置在一个或多个回流设备和一个或多个服务器之间,并且包括第一通信单元、第二通信单元以及报文处理组件,所述报文处理方法包括:由第一通信单元接收来自一个或多个回流设备之一的第一协议报文;以及由报文处理组件将来自所述一个或多个回流设备之一的第一协议报文处理为第二协议报文以便被第二通信单元发送到所述一个或多个服务器之一。
根据本公开的报文处理设备中的报文处理方法,还包括:由第二通信单元接收来自所述一个或多个服务器接收/发送与第一协议不同的第二协议报文;以及由报文处理组件将来自所述一个或多个服务器之一的第二协议报文处理为第一协议报文以便被第一通信单元发送到所述一个或多个回流设备之一。
根据本公开的报文处理设备中的报文处理方法,其中所述第一协议报文为VXLAN报文,而所述第二协议报文为IP报文。
根据本公开的报文处理设备中的报文处理方法,其中所述报文处理组件包括报文解封装单元以及查找表存储单元,所述由报文处理组件将来自所述一个或多个回流设备之一的第一协议报文处理为第二协议报文包括:由所述报文解封装单元解封来自所述一个或多个回流设备的VXLAN报文并获取报头中包含的回流路径信息,并基于所述回流路径信息遍历查找表存储单元中的查找表,以确认所获取的回流路径信息是否包含在所述查找表之中,其中所述查找表登记有一条或多条映射条目,每条映射条目包含来自所述一个或多个回流设备之一的VXLAN报文的报头中包含的一个回流路径信息以及与该回流路径信息对应的一个路径编号;以及由所述报文解封装单元在确认所获取的回流路径信息包含在所述查找表之中的情况下,将所述回流路径信息对应的路径编号封装在将要发送到服务器的IP报文中。
根据本公开的报文处理设备中的报文处理方法,其中所述报文处理组件还包括查找表更新单元,且所述报文处理方法还包括:在所述报文解封装单元确认所获取的回流路径信息不包含在所述查找表之中的情况下,所述查找表更新单元赋予所获取的回流路径信息一个新的路径编号,并将所获取的回流路径信息和所述新的路径编号作为一对新的映射关系登记在查找表存储单元所存储的查找表中。
根据本公开的报文处理设备中的报文处理方法,其中由所述第二通信单元发送到相应的服务器的IP报文中封装有路径编号。
根据本公开的报文处理设备中的报文处理方法,还包括:由所述报文解封装单元解封来自所述一个或多个服务器的IP报文并获取报头中包含的路径编号,并基于该路径编号遍历查找表存储单元中的查找表以获取所述路径编号对应的回流路径信息,以便将所述路径编号对应的回流路径信息封装在将要发送到回流设备的VXLAN报文中;以及由第一通信单元将封装有回流路径信息的IP报文基于该回流路径信息发送到所述一个或多个回流设备之一。
根据本公开的报文处理设备中的报文处理方法,其中所述回流路径信息包括VXLAN报文的报头中的外层源IP地址SIP、外层目的IP地址DIP、回流设备给出的网络标识Vni以及报文处理设备的端口号。
根据本公开的报文处理设备中的报文处理方法,其中所述第二通信单元将IP报文经由所封装的路径编号对应的回流路径信息中的端口号发送到该端口号所对应的服务器。
根据本公开的报文处理设备中的报文处理方法,其中所述回流路径信息对应的路径编号封装在IP报文的报头中的预定的选项字段中,所述预定的选项字段包含至少四个字节,其中第一字节为选项码信息,第二字节为选项字段的长度信息,其余字节为所封装的路径编号信息。
根据示例性实施例,因为通过报文处理组件完成了报文的协议转换,即,封装和解封装,所以可以不需要使用服务器的资源进行这样的转换,从而能够免除服务器对诸如VXLAN报文的封装与解封装带来的性能损耗,提升服务器的通用性。
附图说明
通过结合附图对于本公开的示例性实施例进行描述,可以更好地理解本公开,在附图中:
图1所示的是根据本公开实施例的报文处理设备的使用状态示意图;
图2所示的是根据本公开实施例的报文处理设备的示意性原理框图;
图3是示出根据本公开实施例的查找表动态生成和维护方法的示意性流程图;
图4是示出根据示例性实施例的报文处理方法的示意性流程图。
具体实施方式
以下将描述本公开的具体实施方式,需要指出的是,在这些实施方式的具体描述过程中,为了进行简明扼要的描述,本说明书不可能对实际的实施方式的所有特征均作详尽的描述。应当可以理解的是,在任意一种实施方式的实际实施过程中,正如在任意一个工程项目或者设计项目的过程中,为了实现开发者的具体目标,为了满足系统相关的或者商业相关的限制,常常会做出各种各样的具体决策,而这也会从一种实施方式到另一种实施方式之间发生改变。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本公开公开的内容相关的本领域的普通技术人员而言,在本公开揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本公开的内容不充分。
除非另作定义,权利要求书和说明书中使用的技术术语或者科学术语应当为本公开所属技术领域内具有一般技能的人士所理解的通常意义。本公开专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“一个”或者“一”等类似词语并不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的元件或者物件及其等同元件,并不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,也不限于是直接的还是间接的连接。
图1所示的是根据本公开实施例的报文处理设备200的使用状态示意图。如图1所示,报文处理设备200布置在一个或多个回流设备100和一个或多个服务器300。回流设备100可以是一个或多个,例如回流设备110、120、130以及140,也可以为成百上千个。服务器300是一个或多个,例如服务器310以及320,也可以为成百上千个。报文处理设备200与回流设备100之间或与多个回流设备100的复用交换机400之间采用第一协议进行通讯,例如VXLAN协议进行通讯。因此,报文处理设备200从/向所述一个或多个回流设备100接收/发送第一协议报文。报文处理设备200与一个或多个服务器300之间采用第二协议进行通讯,例如IP协议进行通讯,也可以是其他协议。因此,报文处理设备200从/向所述一个或多个服务器300接收/发送第二协议报文。报文处理设备200将来自所述一个或多个回流设备100之一的第一协议报文处理为第二协议报文以便被发送到所述一个或多个服务器300之一以及将来自所述一个或多个服务器300之一的第二协议报文处理为第一协议报文以便被发送到所述一个或多个回流设备100之一这样,消除了服务器300在与回流设备100之间进行通信时需要额外加装的专门开发的功能组件来进行反复分析、解封以及封装的计算负担。报文处理设备200可以是一种现场可编程门阵列FPGA。
图2所示的是根据本公开实施例的报文处理设备200的示意性原理框图。如图2所示,报文处理设备200包括第一通信单元210、第二通信单元220以及报文处理组件230。尽管为了描述方便,在图2中将报文处理设备200的通信单元描述为两个独立的通信单元210和220,但是也可以仅仅包含一个通信单元来同时实现第一通信单元210和第二通信单元220的功能。
如图2所示,第一通信单元210用于从/向所述一个或多个回流设备100接收/发送第一协议报文。第二通信单元220用于从/向所述一个或多个服务器300接收/发送与第一协议不同的第二协议报文。报文处理组件230用于将来自所述一个或多个回流设备100之一的第一协议报文处理为第二协议报文以便被第二通信单元220发送到所述一个或多个服务器300之一以及将来自所述一个或多个服务器300之一的第二协议报文处理为第一协议报文以便被第一通信单元210发送到所述一个或多个回流设备100之一。如图2所示,所述报文处理组件230包括报文解封装单元250以及查找表存储单元240。在图2中,为了描述方便,将报文解封装单元250显示为两个报文解封装单元,即第一报文解封装单元251和第二报文解封装单元252。实际上,可以将第一报文解封装单元251和第二报文解封装单元252合并为一个总的报文解封装单元250来完成两者的功能。
如图2所示,所述查找表存储单元240用于动态存储一种查找表241。所述查找表241中登记有一条或多条映射条目。每条映射条目包含来自所述一个或多个回流设备之一的VXLAN报文的报头中包含的一个回流路径信息以及与该回流路径信息对应的一个路径编号。所述第一报文解封装单元251用于解封第一通信单元210从所述一个或多个回流设备100接收到的VXLAN报文并获取报头中包含的回流路径信息,并基于所述回流路径信息遍历查找表存储单元中的查找表,以确认所获取的回流路径信息是否包含在所述查找表之中。
具体而言,通常VXLAN报文的报头中含有包括外层源IP地址SIP和外层目的IP地址DIP的隧道(Tunnel)ID、回流设备100给出的网络标识Vni(VXLAN Network Identifier)以及基于所获得的Tunnel ID中的外层目的IP地址DIP获取与对应服务器300相连的报文处理设备200的端口(Port)号。在VXLAN报文的报头中,Vni可以由24比特组成,支持多达16M的VXLAN段,从而满足了大量的用户标识。此外,在VXLAN协议中,Tunnel ID通过VXLAN隧道两端的源目的IP来标识。Port号根据Tunnel ID确定并与DIP对应。因此,VXLAN报文的报头中Tunnel ID、Vni以及Port形成了一种回流路径信息。报文处理组件230中的报文解封装单元250(或者说第一报文解封装单元251)可以对第一通信单元210从回流设备100之一接收的第一协议报文(例如VXLAN报文)进行解封装,获取第一协议报头中包含的回流路径信息。第一报文解封装单元251随后会基于所获得回流路径信息查询查找表存储单元240中的查找表241。查找表存储单元240可以由高速缓冲存储器实现。
在报文处理组件230在网络通讯中第一次进行运行时,查找表存储单元240中的查找表241处于空白状态。可选择地,此时,查找表存储单元240中没有查找表241,因此,报文处理组件230的查找表更新单元260会在查找表存储单元240中创建空白查找表241。报文处理组件230中的第一通信单元210从回流设备100之一接收的第一协议报文。查找表更新单元260会对所有具有不同Tunnel ID和Vni的新报文的回流路径信息都赋予一个唯一路径编号,并成对地顺序登记在上述查找表241中。具体而言,在随后的运行过程中,所述查找表更新单元260在第一报文解封装单元251确认所获取的回流路径信息不包含在所述查找表241中映射对中的情况下,所述查找表更新单元260赋予所获取的新回流路径信息一个新的路径编号,并将所获取的回流路径信息和所述新的路径编号作为一对新的映射关系登记在查找表存储单元240所存储的查找表241中。因此,所述查找表241中登记有一条或多条映射条目。下面的表1中显示了查找表241VXLAN协议的报文中的外层源IP地址SIP、外层目的IP地址DIP和VXLAN网络标识Vni与路径编号id之间的映射关系。
表1
表1中,Tunnel ID:表示VXLAN隧道两端的源目的IP标识;
SIP:表示VXLAN报文中的外层源IP地址;
DIP:表示VXLAN报文中的外层目的IP地址;
Port:与服务器相连的端口,由Tunnel ID确定,与DIP一一对应;
Vni:VXLAN网络标识,表示VXLAN报文头部中的Vni号;
id:由Tunnel ID、Vni和Port唯一确定。
返回图2,在第一报文解封装单元251确认所获取的回流路径信息包含在所述查找表241之中的情况下,第二报文解封装单元252将所述回流路径信息对应的路径编号id封装在将要被第二通信单元220发送到服务器300的IP报文中。具体而言,第二报文解封装单元252去掉第一协议报文的物理网络报文的头部信息以及VXLAN首部,将剩下的报文内容作为普通业务报文进行处理,并将该报文的IP首部长度值加1或更多(根据需要),即添加4个字节(或更多字节)的IP选项字段。其中IP选项的选项码为0x60(预留,选项码信息通常为表示“预留”的0x60),在新封装的IP选项字段中的第二字节填入选项长度,例如4,根据实际需要也可以增加选项长度。随后,在IP选项字段的第三、四字节或更多字节中填入查找表中的id。之后,重新计算IP首部校验和填入对应IP首部字段,从而将报文重新封装为IP报文,并为IP报文配置Tunnel ID所确定并与DIP一一对应的端口。这样,报文处理组件230的报文解封装单元250就将来自回流设备100的第一协议报文处理成第二协议报文。然后报文处理组件230的第二通信单元220根据所配置的端口将重新封装好的IP报文发送到端口所对应的服务器300。需要指出的是,解封装后的原始报文由于源目的MAC和源目的IP不是服务器,无法通过正常的转发流程进行转发,因此必须通过基于Tunnel ID所确定并与DIP一一对应的端口来指定端口的方式将报文转发到对应的服务器300上。类似地,当服务器300之一向回流设备100之一返回数据时,报文处理组件230的第二通信单元220接收到返回的第二协议报文(例如IP报文),随后报文处理组件230的报文解封装单元250(或其第二报文解封装单元252)解封来自所述一个或多个服务器的IP报文并获取报头中包含的路径编号id。第二报文解封装单元252基于所获取的路径编号遍历查找表存储单元240中的查找表241以获取所述路径编号id对应的回流路径信息。随后报文解封装单元250(或其第一报文解封装单元251)去掉所接收到的IP报文的IP选项字段、修改完IP头部长度和修改IP首部校验和,并将修改后的报文封装在所查询到路径编号对应的回流路径信息对应的VXLAN首部,获得第一协议报文(VXLAN报文)。之后,第一通信的单元210将重新封装好的VXLAN报文按照其报头中的Vni发送到回流设备100之一。
可选择地,为了节省查询查找表241的时间,报文处理组件230还包括查找表老化单元270,其统计每对回流路径信息与对应路径编号映射对登记在查找表241中后,持续未被命中的时间长度,当一个映射对持续未被命中的时间长度超过预定时间长度,例如2、3、4、5或24小时,则由查找表老化单元270将该映射对从查找表241中删除。
图3是示出根据示例性实施例的报文处理方法的示意性流程图。如图3所示,在步骤S31处,报文处理组件230中的第一通信单元210从回流设备100之一接收的第一协议报文(VXLAN报文)。随后在步骤S32处,报文处理组件230的报文解封装单元250(或其第一报文解封装单元251)获取VXLAN报文中的回流路径信息,该回流路径信息包括Tunnel ID和Vni。接着在步骤S33处第一报文解封装单元251确认查找表存储单元240中是否存在查找表241。如果确认查找表存储单元240中不存在查找表241,则在步骤S34处,由查找表更新单元260在查找表存储单元240中创建空白查找表241后进入步骤S35。如果确认查找表存储单元240存在查找表241,则在步骤S35处基于所获得的回流路径信息查询查找表存储单元240中的查找表241,并确定所获得回流路径信息在查找表241中是否有对应的路径编号。如果所获得回流路径信息在查找表241中没有对应的路径编号,则表示该回流路径信息属于新的回流路径信息,因此在步骤S36处查找表更新单元260就将该新的回流路径信息登记在查找表241中,并对应赋予该新的回流路径信息一个路径编号。
在报文处理组件230在网络通讯中第一次进行运行时,查找表存储单元240中的查找表241处于空白状态。可选择地,此时,查找表存储单元240中没有查找表241,因此,报文处理组件230的查找表更新单元260会在查找表存储单元240中创建空白查找表241。查找表更新单元260会对所有具有不同Tunnel ID和Vni的新报文的回流路径信息都赋予一个唯一路径编号,并成对地顺序登记在上述查找表241中。具体而言,在随后的运行过程中,所述查找表更新单元260在第一报文解封装单元251确认所获取的回流路径信息不包含在所述查找表241中映射对中的情况下,所述查找表更新单元260赋予所获取的新回流路径信息一个新的路径编号,并将所获取的回流路径信息和所述新的路径编号作为一对新的映射关系登记在查找表存储单元240所存储的查找表241中。可选择地,为了节省查询查找表241的时间,可以记录每对回流路径信息与对应路径编号映射对登记在查找表241中后,持续未被命中的时间长度,当其未被命中的时间长度超过预定时间长度,例如2、3、4、5或24小时,则由查找表老化单元270将该映射对删除。通过上述方式,通过查找表更新单元和查找表老化单元270对查找表241内登记的内容进行持续动态存储。
图4是示出根据示例性实施例的报文处理方法的示意性流程图。如图4所示,在步骤S41处,报文处理设备200的通信单元从外界接收各种报文,包括VXLAN报文、IP报文或其他报文。随后报文处理设备200在步骤S42处,可以根据该报文是由第一通信单元210接收还是由第二通信单元220接收,来判断所接收到的报文是否为VXLAN报文。可选择地,也可以在通信单元接收到任何报文之后,通过解封装单元250对报文报头的分析确认是否包含VXLAN报头来获知该报文是否为VXLAN。如果在步骤S42处确认所接收到的报文为VXLAN报文,则在步骤S43处,通过解封装单元250(或其第一解封装单元251)获取VXLAN报文的报头中的隧道ID以及Vni,并基于隧道ID中的DIP获知该报文将要被经由报文处理设备200所发送的端口。接着,在步骤S44处,第一解封装单元251基于所获知的隧道ID、Vni以及端口构成的VXLAN回流路径信息,查询查找表存储单元240中的查找表241,确认该VXLAN回流路径信息是否登记在查找表241中。如果查找表241中的所有映射对中都没有该VXLAN回流路径信息,则通知查找表更新单元260进入步骤A,进入图3所示的流程,对查找表241进行更新处理。如果在步骤S44确认查找表241中存在该VXLAN回流路径信息,则在步骤S45处,第一解封装单元251获取该VXLAN回流路径信息所对应的路径编号,并告知第二解封装单元252。接着,在步骤S46处第二解封装单元252剥离VXALN报文中的VXLAN报头。可选择地,该剥离步骤也可以由第一解封装单元251直接进行。随后,在步骤S47处,第二解封装单元252对剥离了VXLAN报头的报文添加IP选项字段,并将标志IP选项字段的选项码0x60(预留)、选项字段长度值以及所获知的路径编号封装在所述IP选项字段中,从而获得可发送到服务器300的IP报文,并按照隧道ID中的DIP为该IP报文配置报文处理设备的发送端口号。最后在步骤S48处,第二通信单元220根据所配置的发送端口号,将重新封装的IP报文发送到对应的服务器300之一。
返回步骤S42,当确认所接收到的报文不是VXLAN报文时,则在步骤S51处,确认该报文是否为IP报文。如果确认为IP报文,则在步骤S52处,由第二解封装单元252分析IP报文的报头,并获取IP选项字段中的路径编号。接着在步骤S53处,第二解封装单元252基于所获得路径编号查询查找表241,并获得与路径编号对应的回流路径信息。接着在步骤S54处,第一解封装单元251基于选项码剥离所接收到IP报文中的IP选项字段,并在步骤S55处,将所查询获得的回流路径信息中的隧道ID以及Vni封装在VXLAN报文的报头中。最后,在步骤S56处,由第一通信单元210将重新封装好的VXLAN报文按照报头中的隧道ID以及Vni发送会回流装置100之一。
此外,返回步骤S51,当确认该报文不是IP报文,则报文处理设备在步骤S60处,将所收到报文按照常规交换机转发报文方式转发到相应的目的地。
在步骤S48以及S56之后,流程返回到步骤S41,重新开始下一轮流程。
综上所述,根据本公开的报文处理设备和报文处理方法就有在处于VXLAN环境中的报文处理设备自动生成含有Tunnel ID+Vni+Port>id映射关系的查找表,经过VXLAN报文解封装时,在剥离VXLAN首部及IP网络报文头部信息后的原始报文的IP层添加IP选项的预留选项,将映射的路径编号id填入对应的IP选项字段中,从而实现VXLAN报文与IP报文的转换。而在VXLAN报文封装时,将查找表表项中对应的VXLAN头部的Vni号、报文外层的源IP和目IP,回封到VXLAN报文头部和物理网络报文头中,并将去掉的IP选项字段和修改IP首部长度后的原始报文封装在VXLAN首部之后,发送给回流网络设备,从而实现IP报文与VXLAN报文的转换。通过这种设备和方法,使得人们在选用服务器时,不需要考虑到是否适应VXLAN报文的情形,因此扩大了用户选择服务器的范围,并且服务器也不需要加装专门的回流报文处理组件,各种通用设备或软件系统也能随意地在回流网络中应用,消除了目前对回流网络发展的限制,从而各种通用设备能够无感地串接到回流网络中。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本公开的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本公开的说明的情况下运用他们的基本编程技能就能实现的。
因此,本公开的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本公开的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本公开,并且存储有这样的程序产品的存储介质也构成本公开。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
还需要指出的是,在本公开的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (14)
1.一种报文处理设备,布置在一个或多个回流设备和一个或多个服务器之间,包括:
第一通信单元,被构造为从/向所述一个或多个回流设备接收/发送VXLAN议报文;
第二通信单元,被构造为从/向所述一个或多个服务器接收/发送与VXLAN不同的IP报文;以及
报文处理组件,被构造为将来自所述一个或多个回流设备之一的VXLAN报文处理为IP报文以便被第二通信单元发送到所述一个或多个服务器之一以及将来自所述一个或多个服务器之一的IP报文处理为VXLAN报文以便被第一通信单元发送到所述一个或多个回流设备之一,
其中所述报文处理组件包括报文解封装单元以及查找表存储单元,其中
查找表存储单元,被构造为动态存储查找表,所述查找表中登记有一条或多条映射条目,每条映射条目包含来自所述一个或多个回流设备之一的VXLAN报文的报头中包含的一个回流路径信息以及与该回流路径信息对应的一个路径编号;以及
报文解封装单元,被构造为解封来自所述一个或多个回流设备的VXLAN报文并获取报头中包含的回流路径信息,并基于所述回流路径信息遍历查找表存储单元中的查找表,以确认所获取的回流路径信息是否包含在所述查找表之中,并在确认所获取的回流路径信息包含在所述查找表之中的情况下,将所述回流路径信息对应的路径编号封装在将要发送到服务器的IP报文中。
2.如权利要求1所述的报文处理设备,其中所述报文处理组件还包括查找表更新单元,所述查找表更新单元,被构造为在报文解封装单元确认所获取的回流路径信息不包含在所述查找表之中的情况下,赋予所获取的回流路径信息一个新的路径编号,并将所获取的回流路径信息和所述新的路径编号作为一对新的映射关系登记在查找表存储单元所存储的查找表中。
3.如权利要求1或2所述的报文处理设备,其中所述第二通信单元被构造为将所述报文解封装单元封装有路径编号的IP报文发送到相应的服务器。
4.如权利要求3所述的报文处理设备,其中所述报文解封装单元还被构造为解封来自所述一个或多个服务器的IP报文并获取报头中包含的路径编号,并基于该路径编号遍历查找表存储单元中的查找表以获取所述路径编号对应的回流路径信息,以便将所述路径编号对应的回流路径信息封装在将要发送到回流设备的VXLAN报文中。
5.如权利要求4所述的报文处理设备,其中所述回流路径信息包括VXLAN报文的报头中的外层源IP地址SIP、外层目的IP地址DIP、回流设备给出的网络标识Vni以及报文处理设备的端口号。
6.如权利要求5所述的报文处理设备,其中所述第二通信单元被构造为将所述报文解封装单元封装有路径编号的IP报文经由所封装的路径编号对应的回流路径信息中的端口号发送到该端口号所对应的服务器。
7.如权利要求1所述的报文处理设备,其中所述报文解封装单元还被构造为将所述回流路径信息对应的路径编号封装在IP报文的报头中的预定的选项字段中,所述预定的选项字段包含至少四个字节,其中第一字节为选项码信息,第二字节为选项字段的长度信息,其余字节为所封装的路径编号信息。
8.一种报文处理设备中的报文处理方法,所述报文处理设备布置在一个或多个回流设备和一个或多个服务器之间,并且包括第一通信单元、第二通信单元以及报文处理组件,所述报文处理方法包括:
由第一通信单元接收来自一个或多个回流设备之一的VXLAN报文;以及
由报文处理组件将来自所述一个或多个回流设备之一的VXLAN报文处理为IP报文以便被第二通信单元发送到所述一个或多个服务器之一;
由报文处理组件将来自所述一个或多个服务器之一的IP报文处理为VXLAN报文以便被第一通信单元发送到所述一个或多个回流设备之一;
其中所述报文处理组件包括报文解封装单元以及查找表存储单元,所述由报文处理组件将来自所述一个或多个回流设备之一的第一协议报文处理为第二协议报文包括:
由所述报文解封装单元解封来自所述一个或多个回流设备的VXLAN报文并获取报头中包含的回流路径信息,并基于所述回流路径信息遍历查找表存储单元中的查找表,以确认所获取的回流路径信息是否包含在所述查找表之中,其中所述查找表登记有一条或多条映射条目,每条映射条目包含来自所述一个或多个回流设备之一的VXLAN报文的报头中包含的一个回流路径信息以及与该回流路径信息对应的一个路径编号;以及
由所述报文解封装单元在确认所获取的回流路径信息包含在所述查找表之中的情况下,将所述回流路径信息对应的路径编号封装在将要发送到服务器的IP报文中。
9.如权利要求8所述的报文处理设备中的报文处理方法,其中所述报文处理组件还包括查找表更新单元,且所述报文处理方法还包括:
在所述报文解封装单元确认所获取的回流路径信息不包含在所述查找表之中的情况下,所述查找表更新单元赋予所获取的回流路径信息一个新的路径编号,并将所获取的回流路径信息和所述新的路径编号作为一对新的映射关系登记在查找表存储单元所存储的查找表中。
10.如权利要求8或9所述的报文处理设备中的报文处理方法,其中由所述第二通信单元发送到相应的服务器的IP报文中封装有路径编号。
11.如权利要求10所述的报文处理设备中的报文处理方法,还包括:
由所述报文解封装单元解封来自所述一个或多个服务器的IP报文并获取报头中包含的路径编号,并基于该路径编号遍历查找表存储单元中的查找表以获取所述路径编号对应的回流路径信息,以便将所述路径编号对应的回流路径信息封装在将要发送到回流设备的VXLAN报文中;以及
由第一通信单元将封装有回流路径信息的IP报文基于该回流路径信息发送到所述一个或多个回流设备之一。
12.如权利要求11所述的报文处理设备中的报文处理方法,其中所述回流路径信息包括VXLAN报文的报头中的外层源IP地址SIP、外层目的IP地址DIP、回流设备给出的网络标识Vni以及报文处理设备的端口号。
13.如权利要求12所述的报文处理设备中的报文处理方法,其中所述第二通信单元将IP报文经由所封装的路径编号对应的回流路径信息中的端口号发送到该端口号所对应的服务器。
14.如权利要求8所述的报文处理设备中的报文处理方法,其中所述回流路径信息对应的路径编号封装在IP报文的报头中的预定的选项字段中,所述预定的选项字段包含至少四个字节,其中第一字节为选项码信息,第二字节为选项字段的长度信息,其余字节为所封装的路径编号信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846230.2A CN110535747B (zh) | 2019-09-09 | 2019-09-09 | 报文处理设备和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846230.2A CN110535747B (zh) | 2019-09-09 | 2019-09-09 | 报文处理设备和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535747A CN110535747A (zh) | 2019-12-03 |
CN110535747B true CN110535747B (zh) | 2021-11-02 |
Family
ID=68667939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910846230.2A Active CN110535747B (zh) | 2019-09-09 | 2019-09-09 | 报文处理设备和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535747B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111585863B (zh) * | 2020-06-11 | 2022-03-01 | 国家计算机网络与信息安全管理中心 | 虚拟可扩展局域网报文处理设备及其数据处理方法 |
CN111865963B (zh) * | 2020-07-16 | 2022-02-25 | 郑州信大捷安信息技术股份有限公司 | 一种基于ip选项的ip数据包处理方法与系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200069A (zh) * | 2013-03-29 | 2013-07-10 | 华为技术有限公司 | 一种报文处理的方法和设备 |
CN107770072A (zh) * | 2016-08-18 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种发送和接收报文的方法和设备 |
CN107872542A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 一种数据传输的方法及网络设备 |
CN108156066A (zh) * | 2017-12-29 | 2018-06-12 | 杭州迪普科技股份有限公司 | 报文转发方法和装置 |
-
2019
- 2019-09-09 CN CN201910846230.2A patent/CN110535747B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200069A (zh) * | 2013-03-29 | 2013-07-10 | 华为技术有限公司 | 一种报文处理的方法和设备 |
CN107770072A (zh) * | 2016-08-18 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种发送和接收报文的方法和设备 |
CN107872542A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 一种数据传输的方法及网络设备 |
CN108156066A (zh) * | 2017-12-29 | 2018-06-12 | 杭州迪普科技股份有限公司 | 报文转发方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110535747A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11736398B2 (en) | Stateless protocol translation | |
US11637774B2 (en) | Service routing packet processing method and apparatus, and network system | |
US10063470B2 (en) | Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof | |
CN107113240B (zh) | 可扩展虚拟局域网报文发送方法、计算机设备和可读介质 | |
CN111585863B (zh) | 虚拟可扩展局域网报文处理设备及其数据处理方法 | |
JP5368459B2 (ja) | ユーザ装置における三重動作サービスのサポート | |
CN110324245B (zh) | 一种基于集成流表转发报文的方法及装置 | |
CN106559302A (zh) | 单播隧道建立方法、装置和系统 | |
US20160226817A1 (en) | Apparatus and method for creating block-type structure using sketch-based user interaction | |
US8706908B2 (en) | System, method and apparatus for media access control (MAC) address proxying | |
CN110535747B (zh) | 报文处理设备和方法 | |
CN105490957A (zh) | 一种负载分担方法及装置 | |
CN109196842B (zh) | 一种会话保持方法、设备及存储介质 | |
CN110545229B (zh) | 一种vxlan轴心组网模式下的报文发送方法、装置 | |
CN112437127A (zh) | 报文处理方法、装置以及负载均衡器和服务器 | |
JP2022516355A (ja) | データ送信方法及び機器 | |
CN109428792B (zh) | 一种用户宽带接入处理的方法及装置、设备 | |
EP3503484A1 (en) | Message transmission method, device and network system | |
CN105282055B (zh) | 识别网络分组的内部目的地的方法及其装置 | |
CN112714063B (zh) | 一种报文传输方法、设备以及数字处理芯片 | |
JP6438313B2 (ja) | パケット振り分け装置およびパケット振り分け方法 | |
US10819631B2 (en) | Network device supporting trill protocol and communication method thereof | |
CN107547286A (zh) | 地址解析协议arp表的生成方法及装置 | |
CN107547669A (zh) | 一种网络地址转换方法装置 | |
KR20130085515A (ko) | 가상 네트워크에서 패킷 전송 방법 |
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 |