CN112217909A - 基于会话的数据转发方法及数据转发装置 - Google Patents

基于会话的数据转发方法及数据转发装置 Download PDF

Info

Publication number
CN112217909A
CN112217909A CN201910625163.1A CN201910625163A CN112217909A CN 112217909 A CN112217909 A CN 112217909A CN 201910625163 A CN201910625163 A CN 201910625163A CN 112217909 A CN112217909 A CN 112217909A
Authority
CN
China
Prior art keywords
tunnel
address
target
gateway device
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
CN201910625163.1A
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.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing 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 Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN201910625163.1A priority Critical patent/CN112217909A/zh
Publication of CN112217909A publication Critical patent/CN112217909A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于会话的数据转发方法及其装置,所述方法包括以下步骤:第二网络中的第二网关设备接收第一网络中的第一网关设备发送的请求数据包;所述第二网关设备根据所述请求数据包建立会话表,所述会话表中包含返回路径;所述第二网关设备将所述请求数据包发送给所述第二网络内的目标设备,并接收所述目标设备返回的响应数据包;所述第二网关设备从所述会话表中查询与所述响应数据包相对应的目标返回路径;所述第二网关设备通过所述目标返回路径将所述响应数据包转发至所述第一网关设备;所述第二网关设备删除所述会话表。

Description

基于会话的数据转发方法及数据转发装置
技术领域
本发明涉及数据通信技术领域,特别涉及一种基于会话的数据转发方法及数据转发装置。
背景技术
当两个不同的局域网络之间进行通信时,往往需要经由网关设备转发数据。现有的网关设备在进行数据转发时是通过查询路由表来实现的,路由表中存有到达特定网络终端的路径。当网关设备接收到数据包时,通过解析数据包获取它的目的IP地址和目的端口地址,根据这两个地址从路由表中进行查询,以确定该数据包的传输路径。
路由表是基于IP地址进行配置的,当网络中包含多个具有不同IP地址的设备时,需要为每个设备配置路由信息。随着网络规模的日益扩大,网络中的终端设备会越来越多,因此路由表中包含的数据量会变得非常庞大,查找路由表耗费的时间也会越来越长,严重影响网络通信质量。
因此,如何提供一种安全可靠、能够快速实现数据转发的方案,成为本领域技术人员亟待解决的技术问题。
发明内容
本发明的目的是提供一种基于会话的数据转发方法及数据转发装置,以解决现有技术中存在的上述问题。
为实现上述目的,本发明提供一种基于会话的数据转发方法,包括以下步骤:
第二网络中的第二网关设备接收第一网络中的第一网关设备发送的请求数据包;
所述第二网关设备根据所述请求数据包建立会话表,所述会话表中包含返回路径;
所述第二网关设备将所述请求数据包发送给所述第二网络内的目标设备,并接收所述目标设备返回的响应数据包;
所述第二网关设备从所述会话表中查询与所述响应数据包相对应的目标返回路径;
所述第二网关设备通过所述目标返回路径将所述响应数据包转发至所述第一网关设备;
所述第二网关设备删除所述会话表。
根据本发明提供的基于会话的数据转发方法,其中,所述根据所述请求数据包建立会话表的步骤包括:
建立第一会话信息,所述第一会话信息包括第一源IP地址、第一源端口、第一目的IP地址、第一目的端口、第一接口标识和第一隧道标识;其中所述第一源IP地址、所述第一源端口、所述第一目的IP地址、所述第一目的端口是通过解析所述请求数据包得到的,所述第一接口标识是所述第二网关设备接收所述请求数据包的输入接口的标识信息;所述第一隧道标识是所述第一网关设备向所述第二网关设备发送所述请求数据包时所使用的隧道的标识信息;
建立第二会话信息,所述第二会话信息包括第二源IP地址,第二源端口,第二目的IP地址,第二目的端口,第二接口标识和第二隧道标识;其中所述第二源IP地址与所述第一目的IP地址相同,所述第二源端口与所述第一目的端口相同,所述第二目的IP地址与所述第一源IP地址相同,所述第二目的端口地址与所述第一源端口地址相同;所述第二接口标识与所述第一接口标识相同,所述第二隧道标识与所述第一隧道标识相同。
根据本发明提供的数据转发方法,其中,所述第二网关设备从所述会话表中查询与所述响应数据包相对应的目标返回路径的步骤包括:
所述第二网关设备解析所述响应数据包,从所述响应数据包中获取第三目的IP地址和第三目的端口地址;
所述第二网关设备从所述会话表中查询包含所述第三目的IP地址和第三目的端口地址的目标会话信息;
获取所述目标会话信息对应的目标接口标识和目标隧道标识;
将所述目标接口标识和目标隧道标识作为所述响应数据包的目标返回路径。
根据本发明提供的数据转发方法,其中,所述第二网关设备通过所述目标返回路径将所述响应数据包返回至所述第一网关设备的步骤之后,还包括:
检测所述目标隧道是否可用;
若否,将所述目标隧道切换为备用隧道。
根据本发明提供的数据转发方法,其中,所述将所述目标隧道切换为备用隧道的步骤包括:
获取所述目标隧道所对应的隧道组,所述隧道组包括与所述目标隧道具有相同的发送方和接收方的所有隧道;
从所述隧道组中选择与所述目标隧道不同的其它可用隧道作为备用隧道;
将所述目标隧道切换为所述备用隧道。
为实现上述目的,本发明还提供一种基于会话的数据转发装置,包括:
请求接收模块,适用于第二网络中的第二网关设备接收第一网络中的第一网关设备发送的请求数据包;
会话表模块,适用于所述第二网关设备根据所述请求数据包建立会话表,所述会话表中包含转发路径;
响应接收模块,适用于所述第二网关设备将所述请求数据包发送给所述第二网络内的目标设备,并接收所述目标设备返回的响应数据包;
路径查询模块,适用于所述第二网关设备从所述会话表中查询与所述响应数据包相对应的目标转发路径;
转发模块,适用于所述第二网关设备通过所述目标返回路径将所述响应数据包转发至所述第一网关设备;
删除模块,适用于所述第二网关设备删除所述会话表。
根据本发明提供的数据转发装置,其中,所述会话表模块包括:
第一会话信息单元,适用于建立第一会话信息,所述第一会话信息包括第一源IP地址、第一源端口、第一目的IP地址、第一目的端口、第一接口标识和第一隧道标识;其中所述第一源IP地址、所述第一源端口、所述第一目的IP地址、所述第一目的端口是通过解析所述请求数据包得到的,所述第一接口标识是所述第二网关设备接收所述请求数据包的输入接口的标识信息;所述第一隧道标识是所述第一网关设备向所述第二网关设备发送所述请求数据包时使用的隧道的标识信息;
第二会话信息单元,建立第二会话信息,所述第二会话信息包括第二源IP地址,第二源端口,第二目的IP地址,第二目的端口,第二接口标识和第二隧道标识;其中所述第二源IP地址与所述第一目的IP地址相同,所述第二源端口与所述第一目的端口相同,所述第二目的IP地址与所述第一源IP地址相同,所述第二目的端口地址与所述第一源端口地址相同;所述第二接口标识与所述第一接口标识相同,所述第二隧道标识与所述第一隧道标识相同。
根据本发明提供的数据转发装置,其中,还包括:
检测模块,适用于检测所述目标隧道是否可用;
隧道切换模块,适用于将所述目标隧道切换为备用隧道。
根据本发明提供的数据转发装置,其中,所述隧道切换模块包括:
隧道组单元,适用于获取所述目标隧道所对应的隧道组,所述隧道组包括与所述目标隧道具有相同的发送方和接收方的所有隧道;
备用隧道单元,适用于从所述隧道组中选择与所述目标隧道不同的其它可用隧道作为备用隧道;
切换单元,适用于将所述目标隧道切换为所述备用隧道。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的基于会话的数据转发方法及数据转发装置,使得网关设备在转发响应数据包时无需基于路由表,而是基于会话表的方式实现响应数据包的转发,一方面省略路由表可以保证局域网内的数据不容易被窃取,保证数据安全;另一方面基于会话进行数据转发,根据会话使用的路径转发数据,可以大大提高数据转发速度。另外,本发明还将两个网关设备之间的所有可用隧道绑定到一个隧道组,当隧道组中的一条目标隧道发生故障时,可以迅速切换为其它可用的备用隧道,从而提高了通过隧道转发数据的可靠性。
附图说明
图1为本发明的数据转发方法的应用场景示意图;
图2为本发明的数据转发方法实施例一的流程图;
图3为本发明的数据转发装置实施例一的程序模块示意图;
图4为本发明的数据转发装置实施例一的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的基于会话的数据转发方法及数据转发装置,使得网关设备在转发响应数据包时无需基于路由表,而是基于会话表的方式实现响应数据包的转发,一方面省略路由表可以保证局域网内的数据不容易被窃取,保证数据安全;另一方面基于会话进行数据转发,根据会话使用的路径转发数据,可以大大提高数据转发速度。另外,本发明还将两个网关设备之间的所有可用隧道绑定到一个隧道组,当隧道组中的一条目标隧道发生故障时,可以迅速切换为其它可用的备用隧道,从而提高了通过隧道转发数据的可靠性。
实施例一
请参阅图1,为本发明的数据转发方法的应用场景示意图。如图1所示,包括第一网络和第二网络,其中第一网络中包括终端设备PC11、PC12和PC13,它们分别与第一网关设备相连;第二网络中包括终端设备PC21、PC22和PC23,它们分别与第二网关设备相连。
当第一网络中的终端设备PC11要访问第二网络中的终端设备PC21时,首先终端设备PC11向第一网关设备发送请求数据包,该请求数据包中包括终端设备PC21的IP地址和端口地址。第一网关设备通过预先建立好的隧道将该请求数据包发送给第二网络中的第二网关设备,第二网关设备再根据请求数据包中的IP地址和端口地址将该请求数据包发送给终端设备PC21。第二网络中的终端设备PC21接收到请求数据包后,会向第一网络中的终端设备PC11发送响应数据包,该响应数据包中包含终端设备PC11的IP地址和端口地址。当第二网络中的第二网关设备收到响应数据包后,会将该响应数据包发送给第一网关设备。此时,第二网关设备向第一网关设备转发相应数据包并不是基于路由表,而是基于会话表进行传输的。这正是本发明的改进点所在。
概括来说,本发明提出的基于会话的数据转发方法和数据转发装置是应用在一个网关设备向另一个网关设备转发响应数据包的场景中。以下详细描述具体细节。
请参阅图2,本实施例提出一种基于会话的数据转发方法,具体包括以下步骤:
S1:第二网络中的第二网关设备接收第一网络中的第一网关设备发送的请求数据包。
本发明中的第一网络和第一网络可以是两个不同的局域网,例如,第一网络是分公司局域网,第二网络是总公司局域网。其中,第一网络中设置有第一网关设备,第二网络中设置有第二网关设备。
以图1所示场景为例,当第一网络中的终端设备PC11想要访问第二网络中的终端设备PC21上的内容时,会发送一个请求数据包至第一网关设备,该请求数据包中的源IP地址和源端口地址为PC11的IP地址和端口地址,该请求数据包中的目的IP地址和目的端口地址为终端设备PC21的IP地址和端口地址。
因此,第二网络中的第二网关设备会接收到第一网络中的第一网关设备通过隧道转发的请求数据包。其中,第一网关设备和第二网关设备之间是建立有专用隧道的,因此第一网关设备和第二网关设备相互通过隧道进行通信。在本实施例中,假设第二网关设备是通过隧道1接收到所述请求数据包的。
本领域普通技术人员可以理解,第一网关设备和第二网关设备之间可以建立多条隧道,例如第一网关设备的WAN1口与第二网关设备的WAN1口之间建立隧道1,第一网关设备的WAN2口与第二网关设备的WAN2口之间建立隧道2,第一网关设备的WAN3口与第二网关设备的WAN3口之间建立隧道3。本发明中的一个WAN口也可以建立多条隧道,例如第一网关设备的WAN1口也可与第二网关设备的WAN2口之间建立隧道4,并不对此进行一一列举。
S2:所述第二网关设备根据所述请求数据包建立会话表,所述会话表中包含返回路径。
当第二网关设备接收到第一网关设备通过隧道1发送的请求数据包时,相当于第一网关设备和第二网关设备之间已经建立了基于流的会话,第二网关设备会根据此次会话建立会话表。
当接收到请求数据包时,第二网关设备会向会话表中添加两条会话信息,分别对应接收数据包的会话和返回数据包的会话。所述两条会话信息具体包括:
第一会话信息,包括第一源IP地址、第一源端口、第一目的IP地址、第一目的端口、第一接口标识和第一隧道标识;其中所述第一源IP地址、所述第一源端口、所述第一目的IP地址、所述第一目的端口是通过解析所述请求数据包得到的,所述第一接口标识是所述第二网关设备接收所述请求数据包的输入接口的标识信息;所述第一隧道标识是所述第一网关设备向所述第二网关设备发送所述请求数据包时使用的隧道的标识信息。在本实施例中,上述第一源IP地址是终端设备PC11的IP地址,第一源端口是终端设备PC11的端口,第一目的IP地址是终端设备PC21的IP地址,第二目的端口是终端设备PC21的端口,第一接口标识是第二网关设备的WAN1口,第一隧道标识是隧道1。
第二会话信息,包括第二源IP地址,第二源端口,第二目的IP地址,第二目的端口,第二接口标识和第二隧道标识;其中所述第二源IP地址与所述第一目的IP地址相同,所述第二源端口与所述第一目的端口相同,所述第二目的IP地址与所述第一源IP地址相同,所述第二目的端口地址与所述第一源端口地址相同;所述第二接口标识与所述第一接口标识相同,所述第二隧道标识与所述第一隧道标识相同。
本发明中的第二会话信息是利用了反向会话技术,将第一会话信息中的源地址和目的地址反置之后生成的,目的是获得响应数据包的返回路径。在本实施例中,上述第二源IP地址为终端设备PC21的IP地址,第二源端口为终端设备PC21的端口,第二目的IP地址为终端设备PC11的IP地址,第二目的端口为终端设备PC11的端口,第二接口标识为第二网关设备的WAN1口,第二隧道标识为隧道1。
本发明中响应数据包的返回路径是由第二接口标识和第二隧道确定的,即响应数据包从所述第二接口经由所述第二隧道进行传输。在本实施例中,从第二网关设备的WAN1口经由隧道1传输响应数据包。
S3:所述第二网关设备将所述请求数据包发送给所述第二网络内的目标设备,并接收所述目标设备返回的响应数据包。
本步骤用于第二网关设备和目标终端设备及PC21之间通信,第二网关设备将请求数据包发送给终端设备PC21,并接收终端设备PC21返回的响应数据包。
其中,第二网关设备和目标设备之间是预先配置好路由关系的,第二网关设备通过查找路由表的方式访问目标设备。
S4:所述第二网关设备从所述会话表中查询与所述响应数据包相对应的目标返回路径。
当第二网关设备接收到目标设备返回的响应数据包时,会从该响应数据包中解析目的IP地址和目的端口,并将解析出的目的IP地址和目的端口与绘画表进行匹配。在本实施例中可以得知,响应数据包的目的IP地址和目的端口必然是终端设备PC11的IP地址和端口,到会话表中查询,会发现第二会话信息的目的IP地址和目的端口与该响应数据包的目的IP地址和目的端口是相同的,因此第二会话信息与相应数据包相匹配。
第二会话信息中的第二接口标识和第二隧道标识确定了响应数据包的返回路径。在本实施例中,第二接口标识是第二网关设备的WAN1口,第二隧道标识是隧道1,因此响应数据包需要从第二网关设备的WAN1口经由隧道1返回至第一网关设备。
S5:所述第二网关设备通过所述目标返回路径将所述响应数据包转发至所述第一网关设备。
在已经确定了目标返回路径的基础上,通过该目标返回路径将响应数据包发送至第一网关设备,即从第二网关设备的WAN1口经由隧道1向第一网关设备发送响应数据包。
S6:检测所述目标隧道是否可用;若否,将所述目标隧道切换为备用隧道。
在步骤S5中,如果响应数据包不能正常发送,则需要检测目标隧道是否可用,如不可用,用备用隧道替换所述目标隧道。本发明中的备用隧道指的是和所述目标隧道具有同样收发端的其它可用隧道。
本发明中的目标隧道即目标返回路径中的隧道标识所表征的隧道,在本实施例中即为隧道1。检测目标隧道是否可用,既包括检测目标隧道的两端口是否可用,也包括目标隧道的通道内部是否可用,如果发现有任何一处不可用,即为目标隧道不可用。
根据前文所述,第一网关设备和第二网关设备之间建立有不止一条隧道,这些建立的隧道信息按照隧道组的形式被保存在隧道数据表中,该隧道数据表在隧道建立之初就被保存在网关设备中。本发明所称一个隧道组,指的就是具有相同收发端的所有隧道的组合。
当本发明中的目标隧道不可用时,首先查找该目标隧道所在的隧道组,并从该隧道组中选取与所述目标隧道不同的其它可用隧道作为备用隧道,通过备用隧道发送所述响应数据包。
与现有技术相比,本发明通过建立隧道组的方式实现目标隧道和备用隧道之间的切换,不需要采用基于目前基于路由的隧道链路备份技术,因此无需维护数量庞大的路由信息,能够有效减少网络资源消耗,提高链路切换效率。
S7:所述第二网关设备删除所述会话表。
会话是基于数据流实现的,一段数据流结束之后,会话也自然结束,因此本发明中的数据表不会向路由表一样永久存在,而时具有有效期的。有效期过后便会删除会话表,以释放网络资源。会话表的有效期限可以根据实际需要设置,例如当固定时间之内没有收到数据包,便删除所述会话表。这里的固定时间可以设置为半分钟、三分钟、五分钟等等,本发明并不对此进行限定。
通过以上描述可知,本发明在第二网关设备上不再配置数据返回的路由表,而是基于会话表进行数据转发。这种方式使得第二网关设备只允许数据输入,不允许数据输出,因此可以大大提高第二网络内的数据安全性。另外,由于会话表的时效性,不会长期消耗大量网络资源,相较于传统的路由表方式可以简化配置过程,节约资源,提高数据传输效率。
请继续参阅图2,示出了一种基于会话的数据转发装置。在本实施例中,数据转发装置10可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述数据转发方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述数据转发装置10在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
请求接收模块11,适用于第二网络中的第二网关设备接收第一网络中的第一网关设备发送的请求数据包;
会话表模块12,适用于所述第二网关设备根据所述请求数据包建立会话表,所述会话表中包含转发路径;
响应接收模块13,适用于所述第二网关设备将所述请求数据包发送给所述第二网络内的目标设备,并接收所述目标设备返回的响应数据包;
路径查询模块14,适用于所述第二网关设备从所述会话表中查询与所述响应数据包相对应的目标转发路径;
转发模块15,适用于所述第二网关设备通过所述目标返回路径将所述响应数据包转发至所述第一网关设备;
检测模块16,适用于检测所述目标隧道是否可用;
隧道切换模块17,适用于将所述目标隧道切换为备用隧道。
删除模块18,适用于所述第二网关设备删除所述会话表。
根据本发明提供的数据转发装置,其中,所述会话表模块12包括:
第一会话信息单元121,适用于建立第一会话信息,所述第一会话信息包括第一源IP地址、第一源端口、第一目的IP地址、第一目的端口、第一接口标识和第一隧道标识;其中所述第一源IP地址、所述第一源端口、所述第一目的IP地址、所述第一目的端口是通过解析所述请求数据包得到的,所述第一接口标识是所述第二网关设备接收所述请求数据包的输入接口的标识信息;所述第一隧道标识是所述第一网关设备向所述第二网关设备发送所述请求数据包时使用的隧道的标识信息;
第二会话信息单元122,建立第二会话信息,所述第二会话信息包括第二源IP地址,第二源端口,第二目的IP地址,第二目的端口,第二接口标识和第二隧道标识;其中所述第二源IP地址与所述第一目的IP地址相同,所述第二源端口与所述第一目的端口相同,所述第二目的IP地址与所述第一源IP地址相同,所述第二目的端口地址与所述第一源端口地址相同;所述第二接口标识与所述第一接口标识相同,所述第二隧道标识与所述第一隧道标识相同。
根据本发明提供的数据转发装置,其中,所述隧道切换模块17包括:
隧道组单元171,适用于获取所述目标隧道所对应的隧道组,所述隧道组包括与所述目标隧道具有相同的发送方和接收方的所有隧道;
备用隧道单元172,适用于从所述隧道组中选择与所述目标隧道不同的其它可用隧道作为备用隧道;
切换单元173,适用于将所述目标隧道切换为所述备用隧道。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图3所示。需要指出的是,图3仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如实施例一的数据转发装置10的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行数据转发装置10,以实现实施例一的数据转发方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储数据转发装置10,被处理器执行时实现实施例一的数据转发方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于会话的数据转发方法,其特征在于,包括以下步骤:
第二网络中的第二网关设备接收第一网络中的第一网关设备发送的请求数据包;
所述第二网关设备根据所述请求数据包建立会话表,所述会话表中包含返回路径;
所述第二网关设备将所述请求数据包发送给所述第二网络内的目标设备,并接收所述目标设备返回的响应数据包;
所述第二网关设备从所述会话表中查询与所述响应数据包相对应的目标返回路径;
所述第二网关设备通过所述目标返回路径将所述响应数据包转发至所述第一网关设备;
所述第二网关设备删除所述会话表。
2.根据权利要求1所述的基于会话的数据转发方法,其特征在于,所述根据所述请求数据包建立会话表的步骤包括:
建立第一会话信息,所述第一会话信息包括第一源IP地址、第一源端口、第一目的IP地址、第一目的端口、第一接口标识和第一隧道标识;其中所述第一源IP地址、所述第一源端口、所述第一目的IP地址、所述第一目的端口是通过解析所述请求数据包得到的,所述第一接口标识是所述第二网关设备接收所述请求数据包的输入接口的标识信息;所述第一隧道标识是所述第一网关设备向所述第二网关设备发送所述请求数据包时所使用的隧道的标识信息;
建立第二会话信息,所述第二会话信息包括第二源IP地址,第二源端口,第二目的IP地址,第二目的端口,第二接口标识和第二隧道标识;其中所述第二源IP地址与所述第一目的IP地址相同,所述第二源端口与所述第一目的端口相同,所述第二目的IP地址与所述第一源IP地址相同,所述第二目的端口地址与所述第一源端口地址相同;所述第二接口标识与所述第一接口标识相同,所述第二隧道标识与所述第一隧道标识相同。
3.根据权利要求2所述的数据转发方法,其特征在于,所述第二网关设备从所述会话表中查询与所述响应数据包相对应的目标返回路径的步骤包括:
所述第二网关设备解析所述响应数据包,从所述响应数据包中获取第三目的IP地址和第三目的端口地址;
所述第二网关设备从所述会话表中查询包含所述第三目的IP地址和第三目的端口地址的目标会话信息;
获取所述目标会话信息对应的目标接口标识和目标隧道标识;
将所述目标接口标识和目标隧道标识作为所述响应数据包的目标返回路径。
4.根据权利要求3所述的数据转发方法,其特征在于,所述第二网关设备通过所述目标返回路径将所述响应数据包返回至所述第一网关设备的步骤之后,还包括:
检测所述目标隧道是否可用;
若否,将所述目标隧道切换为备用隧道。
5.根据权利要求4所述的数据转发方法,其特征在于,所述将所述目标隧道切换为备用隧道的步骤包括:
获取所述目标隧道所对应的隧道组,所述隧道组包括与所述目标隧道具有相同的发送方和接收方的所有隧道;
从所述隧道组中选择与所述目标隧道不同的其它可用隧道作为备用隧道;
将所述目标隧道切换为所述备用隧道。
6.一种基于会话的数据转发装置,其特征在于,包括:
请求接收模块,适用于第二网络中的第二网关设备接收第一网络中的第一网关设备发送的请求数据包;
会话表模块,适用于所述第二网关设备根据所述请求数据包建立会话表,所述会话表中包含转发路径;
响应接收模块,适用于所述第二网关设备将所述请求数据包发送给所述第二网络内的目标设备,并接收所述目标设备返回的响应数据包;
路径查询模块,适用于所述第二网关设备从所述会话表中查询与所述响应数据包相对应的目标转发路径;
转发模块,适用于所述第二网关设备通过所述目标返回路径将所述响应数据包转发至所述第一网关设备;
删除模块,适用于所述第二网关设备删除所述会话表。
7.根据权利要求6所述的数据转发装置,其特征在于,所述会话表模块包括:
第一会话信息单元,适用于建立第一会话信息,所述第一会话信息包括第一源IP地址、第一源端口、第一目的IP地址、第一目的端口、第一接口标识和第一隧道标识;其中所述第一源IP地址、所述第一源端口、所述第一目的IP地址、所述第一目的端口是通过解析所述请求数据包得到的,所述第一接口标识是所述第二网关设备接收所述请求数据包的输入接口的标识信息;所述第一隧道标识是所述第一网关设备向所述第二网关设备发送所述请求数据包时使用的隧道的标识信息;
第二会话信息单元,建立第二会话信息,所述第二会话信息包括第二源IP地址,第二源端口,第二目的IP地址,第二目的端口,第二接口标识和第二隧道标识;其中所述第二源IP地址与所述第一目的IP地址相同,所述第二源端口与所述第一目的端口相同,所述第二目的IP地址与所述第一源IP地址相同,所述第二目的端口地址与所述第一源端口地址相同;所述第二接口标识与所述第一接口标识相同,所述第二隧道标识与所述第一隧道标识相同。
8.根据权利要求7所述的数据转发装置,其特征在于,还包括:
检测模块,适用于检测所述目标隧道是否可用;
隧道切换模块,适用于将所述目标隧道切换为备用隧道。
9.根据权利要求8所述的数据转发装置,其特征在于,所述隧道切换模块包括:
隧道组单元,适用于获取所述目标隧道所对应的隧道组,所述隧道组包括与所述目标隧道具有相同的发送方和接收方的所有隧道;
备用隧道单元,适用于从所述隧道组中选择与所述目标隧道不同的其它可用隧道作为备用隧道;
切换单元,适用于将所述目标隧道切换为所述备用隧道。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
CN201910625163.1A 2019-07-11 2019-07-11 基于会话的数据转发方法及数据转发装置 Pending CN112217909A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910625163.1A CN112217909A (zh) 2019-07-11 2019-07-11 基于会话的数据转发方法及数据转发装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910625163.1A CN112217909A (zh) 2019-07-11 2019-07-11 基于会话的数据转发方法及数据转发装置

Publications (1)

Publication Number Publication Date
CN112217909A true CN112217909A (zh) 2021-01-12

Family

ID=74048150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910625163.1A Pending CN112217909A (zh) 2019-07-11 2019-07-11 基于会话的数据转发方法及数据转发装置

Country Status (1)

Country Link
CN (1) CN112217909A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170517A (zh) * 2007-12-06 2008-04-30 杭州华三通信技术有限公司 对控制会话表进行老化的方法及装置
CN102355479A (zh) * 2011-07-19 2012-02-15 杭州华三通信技术有限公司 一种多nat网关流量转发的方法和设备
US8261337B1 (en) * 2004-11-17 2012-09-04 Juniper Networks, Inc. Firewall security between network devices
CN105657748A (zh) * 2016-03-16 2016-06-08 华为技术有限公司 基于隧道绑定的通信方法和网络设备
US20160211990A1 (en) * 2013-08-21 2016-07-21 Zte Corporation Method and device for switching tunnels and switch
WO2016180020A1 (zh) * 2015-05-13 2016-11-17 华为技术有限公司 一种报文处理方法、设备和系统
CN106899474A (zh) * 2016-12-07 2017-06-27 新华三技术有限公司 一种报文转发的方法和装置
CN107995324A (zh) * 2017-12-04 2018-05-04 北京奇安信科技有限公司 一种基于隧道模式的云防护方法及装置
WO2019047855A1 (zh) * 2017-09-06 2019-03-14 新华三技术有限公司 一种bras转控分离的备份方法和装置
CN109819067A (zh) * 2019-03-12 2019-05-28 赛特斯信息科技股份有限公司 利用stun协议实现基于vxlan隧道技术的nat穿越处理的方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8261337B1 (en) * 2004-11-17 2012-09-04 Juniper Networks, Inc. Firewall security between network devices
CN101170517A (zh) * 2007-12-06 2008-04-30 杭州华三通信技术有限公司 对控制会话表进行老化的方法及装置
CN102355479A (zh) * 2011-07-19 2012-02-15 杭州华三通信技术有限公司 一种多nat网关流量转发的方法和设备
US20160211990A1 (en) * 2013-08-21 2016-07-21 Zte Corporation Method and device for switching tunnels and switch
WO2016180020A1 (zh) * 2015-05-13 2016-11-17 华为技术有限公司 一种报文处理方法、设备和系统
CN105657748A (zh) * 2016-03-16 2016-06-08 华为技术有限公司 基于隧道绑定的通信方法和网络设备
US20190045562A1 (en) * 2016-03-16 2019-02-07 Huawei Technologies Co., Ltd. Tunnel binding based communication method and network device
CN106899474A (zh) * 2016-12-07 2017-06-27 新华三技术有限公司 一种报文转发的方法和装置
WO2019047855A1 (zh) * 2017-09-06 2019-03-14 新华三技术有限公司 一种bras转控分离的备份方法和装置
CN107995324A (zh) * 2017-12-04 2018-05-04 北京奇安信科技有限公司 一种基于隧道模式的云防护方法及装置
CN109819067A (zh) * 2019-03-12 2019-05-28 赛特斯信息科技股份有限公司 利用stun协议实现基于vxlan隧道技术的nat穿越处理的方法

Similar Documents

Publication Publication Date Title
US9742667B2 (en) Packet processing method, device and system
CN106878199B (zh) 一种接入信息的配置方法和装置
CN107547364B (zh) 路由下发方法、装置和网络设备
CN112887229B (zh) 一种会话信息同步方法及装置
CN106921578B (zh) 一种转发表项的生成方法和装置
CN104995902A (zh) 用于ipv4和ipv6装置之间的无缝网络通信的方法和系统
CN111193773A (zh) 负载均衡方法、装置、设备及存储介质
CN105589744A (zh) 一种虚拟机迁移方法及装置
CN105430711A (zh) 信息的传输方法、装置和设备
US10536368B2 (en) Network-aware routing in information centric networking
CN114500633B (zh) 数据转发方法、相关装置、程序产品及数据传输系统
CN108966281B (zh) Mesh网络处理方法、装置、设备和存储介质
CN106571968A (zh) 一种业务切换方法和系统
CN111600833B (zh) 网络操作系统及报文转发方法
CN110311861B (zh) 一种引导数据流量的方法和装置
CN109831378B (zh) 一种报文超时回应方法及装置
CN109413118B (zh) 一种实现会话同步的方法、装置及存储介质、程序产品
CN112217909A (zh) 基于会话的数据转发方法及数据转发装置
CN112367261B (zh) 一种报文转发方法及装置、分布式设备
CN115567436A (zh) 组播报文的处理方法、系统、计算机设备和可读存储介质
CN104869118A (zh) 一种基于动态隧道技术实现DDoS防御的方法及系统
CN112994928B (zh) 一种虚拟机的管理方法、装置及系统
CN112165430B (zh) 数据路由方法、装置、设备以及存储介质
KR101740456B1 (ko) IoT 환경의 소프트웨어 정의 네트워크 기반의 패킷 포워딩 방법
CN105634955A (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