CN110365759B - 一种数据转发方法、装置、系统、网关设备及存储介质 - Google Patents

一种数据转发方法、装置、系统、网关设备及存储介质 Download PDF

Info

Publication number
CN110365759B
CN110365759B CN201910609386.9A CN201910609386A CN110365759B CN 110365759 B CN110365759 B CN 110365759B CN 201910609386 A CN201910609386 A CN 201910609386A CN 110365759 B CN110365759 B CN 110365759B
Authority
CN
China
Prior art keywords
forwarded
data packet
data
target
area network
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
Application number
CN201910609386.9A
Other languages
English (en)
Other versions
CN110365759A (zh
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.)
Shenzhen Donika Avionics Co ltd
Original Assignee
Shenzhen Donika Avionics 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 Shenzhen Donika Avionics Co ltd filed Critical Shenzhen Donika Avionics Co ltd
Priority to CN201910609386.9A priority Critical patent/CN110365759B/zh
Publication of CN110365759A publication Critical patent/CN110365759A/zh
Application granted granted Critical
Publication of CN110365759B publication Critical patent/CN110365759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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

Landscapes

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

Abstract

本发明公开了一种数据转发方法、装置、系统、网关设备及存储介质。该方法包括:接收客户端发送的待转发数据包;若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的互联网协议IP地址、源IP地址和目的端口;将所述待转发数据包由所述目标广域网接口转发至服务器。上述技术方案针对新的会话跟踪中的待转发数据包,考虑了FTP业务具有两种通道的数据的特殊性,自动确定目标广域网接口,从而保证FTP应用正常工作,提高数据转发和传输的可靠性。

Description

一种数据转发方法、装置、系统、网关设备及存储介质
技术领域
本发明实施例涉及网络通信技术领域,尤其涉及一种数据转发方法、装置、系统、网关设备及存储介质。
背景技术
在当今的移动互联网时代,越来越多的网关(Gateway)设备通过增加上行广域网(Wide Area Network,WAN)接口数量的方式来增加带宽,实现对物理接口带宽瓶颈的突破。在具备多个WAN接口的情况下,网关设备需要将客户端发送来的数据包分配到不同的WAN接口以转发至服务器,分配转发的过程中通常利用负载均衡策略。例如,为数据包建立会话跟踪Session,同一会话里的所有数据包都属于同一Session,然后将客户端发送来的数据包按照所属Session轮流或者随机分配到不同WAN接口进行转发,比如第1、3、4个Session的数据包从WAN1接口转发至服务器,第2、5、6个Session的数据包从WAN2口转发至服务器,从而保证两个WAN接口的负载大致均衡。
然而,现有的均衡或者随机的转发方法,无法实现文件传输协议(File TransferProtocol,FTP)业务在多个WAN口的场景下的应用。FTP业务中,客户端与服务器之间会建立两种通道:控制通道和数据通道,控制通道的数据包中主要为下载文件或传输数据的交互指令,而数据通道的数据包里为具体传输的文件和数据,这两种数据包属于不同的Session,会随机地分配至不同的WAN接口进行转发。对于FTP服务器来说,如果一个FTP客户端的控制通道数据包与非控制通道数据包由不同的WAN接口转发而来,FTP服务器会将其识别为不同的IP地址,拒绝建立数据通道、导致传输数据失败。因此,现有的数据转发方法无法保证将同一用户FTP业务的数据包都由同一WAN接口转发,导致数据传输失败,可靠性低。
发明内容
本发明提供了一种数据转发方法、装置、系统、网关设备及存储介质,以实现提高数据转发和传输的可靠性。
第一方面,本发明实施例提供了一种数据转发方法,包括:
接收客户端发送的待转发数据包;
若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的互联网协议IP地址、源IP地址和目的端口;
将所述待转发数据包由所述目标广域网接口转发至服务器。
进一步的,所述根据所述待转发数据包的预设元素确定目标广域网接口,包括:
若所述待转发数据包的目的端口为预设端口,则按照预设负载均衡策略分配一个广域网接口作为所述目标广域网口。
进一步的,所述根据所述待转发数据包的预设元素确定目标广域网接口,包括:
若所述待转发数据包的目的端口不是预设端口,则在已有会话跟踪中查找目标会话跟踪,所述目标会话跟踪与所述待转发数据包的目的IP地址和源IP地址相同;
提取所述目标会话跟踪对应的广域网接口作为所述目标广域网接口。
进一步的,所述方法还包括:
若所述待转发数据包属于已有会话跟踪,则提取所述待转发数据包所属的已有会话跟踪对应的广域网接口作为所述目标广域网接口。
进一步的,在所述接收客户端发送的待转发数据包之后,还包括:
将所述待转发数据包的IP地址、源IP地址、目的端口、源端口和协议类型与已有会话跟踪进行比对;
如果存在已有会话跟踪与所述待转发数据包的比对结果为完全一致,则所述待转发数据包属于已有会话跟踪,否则属于新的会话跟踪。
进一步的,在所述将所述待转发数据包由所述目标广域网接口转发至服务器之后,还包括:
根据所述目标广域网接口更新所述待转发数据包的源IP地址。
第二方面,本发明实施例提供了一种数据转发装置,包括:
接收模块,用于接收客户端发送的待转发数据包;
目标接口确定模块,用于若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口;
转发模块,用于将所述待转发数据包由所述目标广域网接口转发至服务器。
第三方面,本发明实施例提供了一种数据转发系统,包括:客户端、服务器和网关设备;
所述客户端与所述服务器通过所述网关设备进行数据包的转发,所述网关设备有至少两个广域网接口,所述网关设备中设置如第二方面所述的数据转发装置。
第四方面,本发明实施例提供了一种网关设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
至少两个广域网接口,客户端发送的待转发数据包由所述目标广域网接口转发至服务器;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的数据转发方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据转发方法。
本发明实施例提供了一种数据转发方法、装置、系统、网关设备及存储介质。该方法包括:接收客户端发送的待转发数据包;若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口;将所述待转发数据包由所述目标广域网接口转发至服务器。上述技术方案针对新的会话跟踪中的待转发数据包,考虑了FTP业务具有两种通道的数据的特殊性,自动确定目标广域网接口,从而保证FTP应用正常工作,提高数据转发和传输的可靠性。
附图说明
图1为本发明实施例一提供的一种数据转发方法的流程图;
图2为本发明实施例一中的网关设备转发FTP数据的示意图;
图3为本发明实施例二提供的一种数据转发方法的流程图;
图4为本发明实施例三提供的一种数据转发装置的结构示意图;
图5为本发明实施例四提供的一种数据转发系统的示意图;
图6为本发明实施例五提供的一种服务器的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种数据转发方法的流程图。本实施例可适用于通过网关设备的多个WAN接口对客户端的数据包进行转发,以实现与服务器交互的情况。具体的,该数据转发方法可以由数据转发装置执行,该数据转发装置可以通过软件和/或硬件的方式实现,并集成在网关设备中。网关设备又称网间连接器、协议转换器,是不同的网络间提供数据转换服务的计算机系统或设备。局域网(Local Area Network,LAN)侧与服务器侧通常使用不同的通信协议、数据格式或语言,甚至体系结构完全不同,网关设备在将LAN侧的客户端发送的数据转发至服务器的过程中,会对数据进行一定的转换和处理,即对数据进行“协商”,重新打包以满足服务器侧的要求,同时也起到过滤和安全的作用。
如图1所示,该方法具体包括如下步骤:
S110、接收客户端发送的待转发数据包。
具体的,数据包(Packet)是传输控制协议/互联网协议(Transmission ControlProtocol/Internet Protocol,TCP/IP)协议通信传输中的数据单位,单个消息会被划分为多个数据块,这些数据块即为数据包,数据包中包含发送者和接收者的IP地址信息,客户端发送的待转发数据包经过网关设备的WAN接口转发至目的服务器。待转发数据包中包含了目的IP地址、源IP地址、目的端口、源端口、协议类型和净载数据,其中,目的IP地址用于指示待转发数据包的目的接收端;源IP地址用于指示待转发数据包的发送端来源;净载数据为数据包中的具体数据内容;协议类型主要指TCP/IP中的应用层的协议类型,如超文本传输协议(HyperText Transfer Protocol,HTTP)、FTP等;目的端口和源端口都是指虚拟端口,一个IP地址可对应于很多个端口,待转发数据包由源IP地址的源端口发送,经过网关设备转发至目的IP地址的目的端口,服务器中与所述目的端口相对应的进程就会接收该待转发数据包并等待下一组数据的到来。
S120、若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口。
具体的,待转发数据包的协议类型可以为HTTP、FTP等,其中,FTP数据在客户端与服务器之间会建立两种通道:控制通道和命令通道。针对FTP业务,客户端与服务器交互的流程如下:
1)客户端建立与服务器(示例性的,目的IP地址为IP1,目的端口为21端口)的套接字(Socket)连接,Socket是用于实现客户端与服务器双向通信的连接。所建立的连接提供FTP业务的控制通道,在控制通道中,客户端通过指令告知服务器要下载何种文件,然后服务器向客户端反馈需要另外建立的Socket连接的信息(示例性的,目的IP地址为IP1,目的端口为20端口),用以传输对应的文件;
2)客户端根据反馈的信息另外建立与服务器(IP1,20端口)的Socket连接,以提供数据通道,用于传输要下载的文件。
上述交互过程中,一个Socket连接就对应于一个会话跟踪Session,不同的Session经过网关设备后会按照一定的规则从不同的WAN接口转发。如果FTP业务中数据通道与对应的控制通道的数据包没有经过同一WAN接口转发,服务器会拒绝该数据通道的建立请求,导致文件下载失败。
本实施例中根据目的IP地址、目的端口、源IP地址、源端口、协议类型五个元素可将待转发数据包划分至不同的session。例如,对于非FTP协议类型的待转发数据包,根据其所属的Session采取负载均衡的策略通过不同的WAN接口转发(例如,Session1、3、5中的待转发数据包都通过WAN接口1转发,待Session 2、4、6中的待转发数据包都通过WAN接口2转发等);对于FTP协议类型的待转发数据包,如果其属于已有Session,则通过所属的已有Session的WAN接口转发即可;如果其属于一个新的session,则根据所述待转发数据包的预设元素确定目标广域网接口,预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口。
进一步的,对于FTP协议类型的待转发数据包,根据待转发数据包的预设元素确定目标WAN接口,包括:
当前的待转发数据包的目的IP地址和源IP地址与某个已有Session一致,说明当前的待转发数据包与该Session是同一客户端发起的FTP业务,则将该已有Session的WAN接口作为目标WAN接口转发所述待转发数据包即可;
或者,当前的待转发数据包的目的IP地址和源IP地址与某个已有Session一致,则进一步判断目的端口是否为预设端口,从而判断当前的待转发数据包对应于控制通道还是数据通道。对于控制通道的待转发数据包,可以直接将该已有Session的WAN接口作为目标WAN接口,也可以采用预设策略重新分配一个WAN接口作为目标WAN接口;而对于数据通道的待转发数据包,将该已有Session的WAN接口作为目标WAN接口进行转发。
上述的两种确定目标WAN接口的方法,前者将同一客户端发起的所有FTP业务都从同一WAN接口转发,能够充分保证FTP业务两种通道的数据包的传输路径相同,具有更强的可靠性;而后者进一步对控制通道和数据通道的待转发数据包分别处理,对于控制通道可选的按照预设策略进行分配,例如满足负载均衡的要求、较为平均地分配等,而对于数据通道,能够保证其与对应的控制通道使用的WAN接口一致,在保证可靠性的同时,具有更强的灵活性。
S130、将所述待转发数据包由所述目标广域网接口转发至服务器。
具体的,待转发数据包由目标WAN接口转发至服务器后,源IP地址也跟随最终确定的目标WAN接口发生了更新。服务器反馈的数据或文件也通过同一WAN接口转发至客户端。
本实施例通过在网关设备的Linux系统中建立Session,跟踪FTP业务的控制通道的建立过程,记录其转发所经过的WAN接口(例如,为各WAN接口设定一个的接口标识,记为mark),在识别到后续的数据通道的待转发数据包时,使其经过同一WAN接口转发(例如,赋予其相同的mark值)。
图2为本发明实施例一中的网关设备转发FTP数据的示意图。如图2所示,网关设备具有两个WAN接口,同一FTP业务的控制通道数据a与对应的数据通道数据a’经过同一WAN接口2转发,另一FTP业务的控制通道数据b与对应的数据通道数据b’经过同一WAN接口1转发。
本发明实施例一提供的一种数据转发方法,包括:接收客户端发送的待转发数据包;若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口;将所述待转发数据包由所述目标广域网接口转发至服务器。上述技术方案针对新的会话跟踪中的待转发数据包,考虑了FTP业务具有两种通道的数据的特殊性,自动确定目标广域网接口,从而保证FTP应用正常工作,提高数据转发和传输的可靠性。
实施例二
图3为本发明实施例二提供的一种数据转发方法的流程图,本实施例是在上述实施例的基础上进行优化,对不同协议类型、不同会话跟踪类型、以及FTP业务中不同通道的待转发数据包的转发过程进行了描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
本实施例的网关设备具有多个WAN接口,采用随机动态路由的方式实现数据转发的负载均衡。具体的,动态路由是指网关设备在转发数据之前,能够根据源端口和目的端口之间的路由信息(负载程度)自动建立路由表,路由表用于指示待转发数据包的转发端口,能够根据链路和节点的变化适时地自动调整,当网络中节点或节点间的链路不稳定时,可以自行选择最佳的可用链路继续转发数据,最终实现各端口间的负载较为均衡。在此基础上,基于Linux系统的内核模块跟踪FTP业务的控制通道的数据包所经过的WAN接口,在接收到对应的数据通道的待转发数据包时,该内核模块控制其经过同一WAN接口转发,从而保证FTP业务的可靠性。
具体的,如图3所示,该方法具体包括如下步骤:
S201、接收客户端发送的待转发数据包。
S202、将所述待转发数据包的目的IP地址、源IP地址、目的端口、源端口和协议类型与已有会话跟踪进行比对。
进一步的,在所述接收客户端发送的待转发数据包之后,还包括:将所述待转发数据包的目的IP地址、源IP地址、目的端口、源端口和协议类型与已有会话跟踪进行比对;如果存在已有会话跟踪与所述待转发数据包的比对结果为完全一致,则所述待转发数据包属于已有会话跟踪,否则属于新的会话跟踪。
具体的,如果待转发数据包的五个元素与已有Session的五个元素完全一致,则所述待转发数据包属于已有Session,只要有一个元素不一致,则所述待转发数据包属于新的Session。需要说明的是,同一FTP业务中的控制通道的待转发数据包与数据通道的待转发数据包的目的IP地址与源IP地址一致,但属于不同的Session。
S203、是否存在已有会话跟踪与所述待转发数据包的比对结果为完全一致,若是,则执行S210,若否,则执行S204。
S204、所述待转发数据包属于新的会话跟踪,执行S205。
S205、协议类型是否为FTP,若是,则执行S206;若否,则执行S207。
具体的,如果待转发数据包的协议类型为FTP,则进一步根据目的端口、目的IP地址和源IP地址确定目标WAN接口,否则,按照预设负载均衡策略分配一个WAN接口作为目标WAN接口,以合理利用网络资源。
S206、目的端口是否为预设端口,若是,则执行S207;若否,则执行S208。
具体的,目的端口与待转发数据包的协议类型有关,例如,HTTP的数据包使用的是TCP中的80端口,而FTP的数据包使用的是TCP中的20端口(数据通道)和21端口(控制通道)。本实例中,示例性的将21端口作为预设端口。如果待转发数据包的目的端口为21端口,则待转发数据包为控制通道的数据包,则执行S207,重新分配一个WAN接口作为目标WAN接口,否则,待转发数据包为数据通道的数据包,则执行S208,在已有会话跟踪中查找目标会话跟踪。
S207、按照预设负载均衡策略分配一个广域网接口作为所述目标广域网口,执行S212。
S208、在已有会话跟踪中查找目标会话跟踪,所述目标会话跟踪与所述待转发数据包的目的IP地址和源IP地址相同。
具体的,目标会话跟踪与待转发数据包的目的IP地址和源IP地址相同,即,目标会话跟踪为与所述待转发数据包对应的控制通道的数据包所在的已有Session。
S209、提取所述目标会话跟踪对应的广域网接口作为所述目标广域网接口,执行S212。
具体的,提取目标会话跟踪对应的WAN接口标识(作为待转发数据包的目标WAN接口标识,使待转发数据包由目标WAN接口转发至服务器。
S210、所述待转发数据包属于已有会话跟踪。
S211、提取所述待转发数据包所属的已有会话跟踪对应的广域网接口作为所述目标广域网接口,执行S212。
具体的,待转发数据包属于已有Session,则直接采用其所属的已有Session对应的同一WAN接口转发即可。
S212、将所述待转发数据包由所述目标广域网接口转发至服务器。
S213、根据所述目标广域网接口更新所述待转发数据包的源IP地址。
具体的,待转发数据包由所述目标WAN接口转发出去后,其对应的源IP地址更新为与目标WAN接口对应的IP地址,以确保服务器可以将两种通道的待转发数据包识别为同一FTP业务。
需要说明的是,网关设备在接收到待转发数据包时,其携带的源IP地址是指LAN侧的IP地址,而在进行数据转发时,网关设备中不同的WAN接口具备不同的IP地址,数据转发至服务器之后,服务器识别到的是WAN接口的IP地址,也就是本步骤中对源IP地址更新后的结果。
下面对本实施例的数据转发方法的具体实现过程进行示例性说明。随机动态路由的流量负载均衡方案可通过Netfilter架构实现,Netfilter是Linux中的一个子系统,可以提供整套的Hook函数的管理机制,实现诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪。Netfilter架构通过在整个网络流程的若干位置放置了一些检测点(Hook),在每个检测点上登记了一些处理函数对数据进行处理,从而实现对待转发数据包的标记。本实施例基于网关设备Linux系统中涉及的内核模块在Netfilter框架的输出链表处添加新的Hook处理函数,其位置处在动态路由的负载均衡输出之后,用于检测待转发数据包并进行一定的修改以保证FTP业务的可靠性。具体流程如下:
1)待转发数据包从LAN侧到达网关设备,网关设备基于Linux系统根据待转发数据包的目的IP地址、目的端口、源IP地址、源端口、协议类型五个元素确定该待转发数据包属于新的Session还是已有Session;
2)如果待转发数据包属于一个新的Session,负载均衡模块就给其所在的Session分配一个新的接口标识(接口标识与各WAN接口一一对应,为新的Session依次轮流分配不同的接口标识),同时,将该分配的接口标识值保存到系统的会话跟踪链表中;
3)如果待转发数据包属于一个已有Session,则从该已有Session中提取对应的接口标识并分配给待转发数据包,使待转发数据包与其所属的已有session具有相同的接口标识;
4)待转发数据包到达网关出口,在确定目标WAN接口之前,通过内核模块检查待转发数据包的Session类型,对于FTP数据,如果是新的Session且目的端口是21端口(表明是FTP的控制通道的访问),则按照2)中分配的接口标识进行转发即可;如果是新的Session但目的端口不是21,则在内核模块之前已经记录下的已有Session中查找目的IP地址、源IP地址与所述待转发数据包一致的目标Session,并将当前待转发数据包的接口标识替换为该目标session的接口标识;如果待转发数据包属于已有Session,则无需更改接口标识,按照3)中分配的接口标识进行转发即可。对于HTTP数据,则可直接按照2)或3)中分配的接口标识转发,无需进行特殊处理。
5)系统的路由模块根据待转发数据包携带的接口标识值确定对应的目标WAN接口,将待转发数据包由目标WAN接口转发至服务器。
6)将转发出去的数据包的源IP地址更新为所经过的目标WAN接口对应的IP地址。以使服务器正确识别最终的源IP地址。服务器针对该数据包发送的反馈数据也从所述目标WAN接口返回;
本实施例在具有多个WAN接口网关设备中设计了负载均衡模块,用于按照负载均衡策略给新的Session分配接口标识,利用内核模块检测待转发数据包,并针对FTP的数据通道的数据包修改其接口标识,使其接口标识与对应的控制通道的一致,利用路由模块将待转发数据包由内核模块所确定的目标WAN接口转发至服务器,以使数据流就会基于Session均衡的分布在各个不同的WAN口上,并保证FTP应用的数据传输通道和控制命令通道通过同一WAN口进行访问。
本发明实施例二提供的一种数据转发方法,在上述实施例的基础上进行优化,对不同协议类型、不同会话跟踪类型以及FTP业务中不同通道的待转发数据包分别进行处理,使数据流就会基于Session均衡的分布在各个不同的WAN口上,并保证FTP应用的数据传输通道和控制命令通道通过同一WAN口进行访问。
实施例三
图4为本发明实施例三提供的一种数据转发装置的结构示意图。如图4所示,本实施例提供的数据转发装置包括:
接收模块310,用于接收客户端发送的待转发数据包;
目标接口确定模块320,用于若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口;
转发模块330,用于将所述待转发数据包由所述目标广域网接口转发至服务器。
本发明实施例三提供的一种数据转发方装置,通过接收模块接收客户端发送的待转发数据包;通过目标接口确定模块若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口;通过转发模块将所述待转发数据包由所述目标广域网接口转发至服务器,针对新的会话跟踪中的待转发数据包,考虑了FTP业务具有两种通道的数据的特殊性,自动确定目标广域网接口,从而保证FTP应用正常工作,提高数据转发和传输的可靠性。
在上述实施例的基础上,所述目标接口确定模块320,包括:
分配单元,用于若所述待转发数据包的目的端口为预设端口,则按照预设负载均衡策略分配一个广域网接口作为所述目标广域网口。
进一步的,所述目标接口确定模块320,包括:
会话跟踪查找单元,用于若所述待转发数据包的目的端口不是预设端口,则在已有会话跟踪中查找目标会话跟踪,所述目标会话跟踪与所述待转发数据包的目的IP地址和源IP地址相同;
接口提取单元,用于提取所述目标会话跟踪对应的广域网接口作为所述目标广域网接口。
进一步的,所述装置还包括:
提取模块,用于若所述待转发数据包属于已有会话跟踪,则提取所述待转发数据包所属的已有会话跟踪对应的广域网接口作为所述目标广域网接口。
进一步的,所述装置还包括:
比对模块,用于将所述待转发数据包的目的IP地址、源IP地址、目的端口、源端口和协议类型与已有会话跟踪进行比对;如果存在已有会话跟踪与所述待转发数据包的比对结果为完全一致,则所述待转发数据包属于已有会话跟踪,否则属于新的会话跟踪。
进一步的,所述装置还包括:
源IP更新模块,用于根据所述目标广域网接口更新所述待转发数据包的源IP地址。
本发明实施例三提供的数据转发装置可以用于执行上述任意实施例提供的数据转发方法,具备相应的功能和有益效果。
实施例四
图5为本发明实施例四提供的一种数据转发系统的示意图。如图5所示,所述数据转发系统,包括:客户端410、服务器430和网关设备420;客户端410与服务器430通过网关设备420进行数据包的转送,所述网关设备420中设置如上述实施例任意所述的数据转发装置,且所述网关设备420至少有两个广域网接口。
所述系统中数据转发的过程为,客户端410向网关设备420发送待转发数据包,待转发数据包中包含了目的IP地址、源IP地址、目的端口、源端口、协议类型和净载数据;网关设备420接收到待转发数据包后,执行如上述实施例任意所属的数据转发方法,根据待转发数据包的协议类型、会话跟踪类型以及预设元素确定目标广域网接口,并将待转发数据包由所述目标广域网接口转发至服务器430;服务器430接收到所述待转发数据包后,可通过相同的广域网接口返回数据,从而实现对各种协议类型的数据的转发,同时保证FTP业务数据通道和控制通道的数据包都通过同一广域网接口进行转发。
进一步的,所述网关设备利用负载均衡模块按照预设的负载均衡策略给新的会话跟踪分配广域网接口标识;利用内核模块检测待转发数据包,针对FTP业务的数据通道的待转发数据包,将其广域网接口标识修改为与对应的控制通道的已转发数据包一致,然后利用路由模块将待转发数据包由内核模块所确定的目标广域网接口转发至服务器,实现了在使数据流基于Session均衡分布在各个广域网接口的同时,保证了FTP业务两种通道的数据包都通过同一广域网接口进行转发,提高数据转发的可靠性。
本发明实施例四提供的数据转发系统可用于实现上述任意实施例提供的数据转发方法,属于同一发明构思,具备相应的功能和有益效果。
实施例五
图6为本发明实施例五提供的一种网关设备的硬件结构示意图。如图6所示,本实施例提供的一种网关设备,包括:处理器510、存储装置520和至少两个广域网接口530。图6中以两个广域网接口530为例,客户端发送的待转发数据包由目标广域网接口530转发至服务器。该网关设备中的处理器可以是一个或多个,图6中以一个处理器510和两个广域网接口530为例,所述网关设备中的处理器510和存储装置520可以通过总线或其他方式连接,图6中以通过总线连接为例。
所述一个或多个程序被所述一个或多个处理器510执行,使得所述一个或多个处理器实现上述实施例中任意所述的数据转发方法。
该网关设备中的存储装置520作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中数据转发方法对应的程序指令/模块(例如,附图4所示的数据转发装置中的模块,包括:接收模块310、目标接口确定模块320以及转发模块330)。处理器510通过运行存储在存储装置520中的软件程序、指令以及模块,从而执行网关设备的各种功能应用以及数据处理,即实现上述方法实施例中的数据转发方法。
存储装置520主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据网关设备的使用所创建的数据等(如上述实施例中的待转发数据包、预设元素等)。此外,存储装置520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至网关设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述网关设备中所包括一个或者多个程序被所述一个或者多个处理器510执行时,进行如下操作:接收客户端发送的待转发数据包;若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口;将所述待转发数据包由所述目标广域网接口转发至服务器。
本实施例提出的网关设备与上述实施例提出的数据转发方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行数据转发方法相同的有益效果。
在上述实施例的基础上,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被数据转发装置执行时实现本发明上述任意实施例中的数据转发方法,该方法包括:接收客户端发送的待转发数据包;若所述待转发数据包为的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口;将所述待转发数据包由所述目标广域网接口转发至服务器。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的数据转发方法操作,还可以执行本发明任意实施例所提供的数据转发方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的数据转发方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种数据转发方法,其特征在于,包括:
接收客户端发送的待转发数据包;若所述待转发数据包的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的互联网协议IP地址、源IP地址和目的端口;
将所述待转发数据包由所述目标广域网接口转发至服务器;
在所述接收客户端发送的待转发数据包之后,还包括:
将所述待转发数据包的目的IP地址、源IP地址、目的端口、源端口和协议类型与已有会话跟踪进行比对;
如果存在已有会话跟踪与所述待转发数据包的比对结果为完全一致,则所述待转发数据包属于已有会话跟踪,否则属于新的会话跟踪。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待转发数据包的预设元素确定目标广域网接口,包括:
若所述待转发数据包的目的端口为预设端口,则按照预设负载均衡策略分配一个广域网接口作为所述目标广域网接口。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待转发数据包的预设元素确定目标广域网接口,包括:
若所述待转发数据包的目的端口不是预设端口,则在已有会话跟踪中查找目标会话跟踪,所述目标会话跟踪与所述待转发数据包的目的IP地址和源IP地址相同;
提取所述目标会话跟踪对应的广域网接口作为所述目标广域网接口。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述待转发数据包属于已有会话跟踪,则提取所述待转发数据包所属的已有会话跟踪对应的广域网接口作为所述目标广域网接口。
5.根据权利要求1所述的方法,其特征在于,在所述将所述待转发数据包由所述目标广域网接口转发至服务器之后,还包括:
根据所述目标广域网接口更新所述待转发数据包的源IP地址。
6.一种数据转发装置,其特征在于,包括:
接收模块,用于接收客户端发送的待转发数据包;
目标接口确定模块,用于若所述待转发数据包的协议类型为文件传输协议FTP,且所述待转发数据包属于新的会话跟踪,则根据所述待转发数据包的预设元素确定目标广域网接口,所述预设元素包括以下至少一种:目的IP地址、源IP地址和目的端口;
转发模块,用于将所述待转发数据包由所述目标广域网接口转发至服务器;
比对模块,用于将所述待转发数据包的目的IP地址、源IP地址、目的端口、源端口和协议类型与已有会话跟踪进行比对;如果存在已有会话跟踪与所述待转发数据包的比对结果为完全一致,则所述待转发数据包属于已有会话跟踪,否则属于新的会话跟踪。
7.一种数据转发系统,其特征在于,包括:客户端、服务器和网关设备;
所述客户端与所述服务器通过所述网关设备进行数据包的转发,所述网关设备有至少两个广域网接口,所述网关设备中设置如权利要求6所述的数据转发装置。
8.一种网关设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
至少两个广域网接口,客户端发送的待转发数据包由所述目标广域网接口转发至服务器;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的数据转发方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的数据转发方法。
CN201910609386.9A 2019-07-08 2019-07-08 一种数据转发方法、装置、系统、网关设备及存储介质 Active CN110365759B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910609386.9A CN110365759B (zh) 2019-07-08 2019-07-08 一种数据转发方法、装置、系统、网关设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910609386.9A CN110365759B (zh) 2019-07-08 2019-07-08 一种数据转发方法、装置、系统、网关设备及存储介质

Publications (2)

Publication Number Publication Date
CN110365759A CN110365759A (zh) 2019-10-22
CN110365759B true CN110365759B (zh) 2021-12-28

Family

ID=68218166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910609386.9A Active CN110365759B (zh) 2019-07-08 2019-07-08 一种数据转发方法、装置、系统、网关设备及存储介质

Country Status (1)

Country Link
CN (1) CN110365759B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660279B (zh) * 2021-08-19 2022-12-13 平安科技(深圳)有限公司 网络主机的安全防护方法、装置、设备及存储介质
CN115883454A (zh) * 2021-09-27 2023-03-31 中兴通讯股份有限公司 无线电力终端的路由设置方法、无线电力终端和存储介质
CN114125030A (zh) * 2021-11-30 2022-03-01 北京天融信网络安全技术有限公司 连接跟踪方法、装置、电子设备和计算机可读存储介质
CN114978643B (zh) * 2022-05-13 2023-08-29 北京天融信网络安全技术有限公司 一种通信方法、网络设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1518823A (zh) * 2001-05-09 2004-08-04 ���ȿ���ͨ�Źɷ����޹�˾ 使用会话追踪的动态分组过滤器
CN1607781A (zh) * 2003-06-30 2005-04-20 微软公司 利用连接操作进行网络负载平衡
CN102763393A (zh) * 2009-12-23 2012-10-31 思杰系统有限公司 用于在多核系统中管理跨越核的rtsp的端口的系统和方法
CN104079545A (zh) * 2013-03-29 2014-10-01 西门子公司 一种提取数据包过滤规则的方法、装置和系统
EP3053379A2 (en) * 2013-09-30 2016-08-10 Schneider Electric Industries SAS Cloud-authenticated site resource management devices, apparatuses, methods and systems
CN108494744A (zh) * 2018-03-07 2018-09-04 杭州迪普科技股份有限公司 一种IPsec VPN客户端报文处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1518823A (zh) * 2001-05-09 2004-08-04 ���ȿ���ͨ�Źɷ����޹�˾ 使用会话追踪的动态分组过滤器
CN1607781A (zh) * 2003-06-30 2005-04-20 微软公司 利用连接操作进行网络负载平衡
CN102763393A (zh) * 2009-12-23 2012-10-31 思杰系统有限公司 用于在多核系统中管理跨越核的rtsp的端口的系统和方法
CN104079545A (zh) * 2013-03-29 2014-10-01 西门子公司 一种提取数据包过滤规则的方法、装置和系统
EP3053379A2 (en) * 2013-09-30 2016-08-10 Schneider Electric Industries SAS Cloud-authenticated site resource management devices, apparatuses, methods and systems
CN108494744A (zh) * 2018-03-07 2018-09-04 杭州迪普科技股份有限公司 一种IPsec VPN客户端报文处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于虚拟化技术的面向数据因特网路由架构模型研究;朱秋莎;《中国优秀硕士学位论文全文数据库 信息科技辑》;20091215;全文 *

Also Published As

Publication number Publication date
CN110365759A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
CN110365759B (zh) 一种数据转发方法、装置、系统、网关设备及存储介质
US10320683B2 (en) Reliable load-balancer using segment routing and real-time application monitoring
EP3100414B1 (en) Session-based packet routing for facilitating packet analytics
CN101217493B (zh) 一种tcp数据包的传输方法
EP3225014B1 (en) Source ip address transparency systems and methods
CN111193773B (zh) 负载均衡方法、装置、设备及存储介质
CN102377640B (zh) 一种报文处理装置和报文处理方法、及预处理器
JP5853378B2 (ja) 通信切替システム、通信切替方法、及びプログラム
US20150127837A1 (en) Relay apparatus and data transfer method
CN112929264B (zh) 业务流量传输方法、系统及网络设备
US7564848B2 (en) Method for the establishing of connections in a communication system
CN110995829B (zh) 实例调用方法、装置及计算机存储介质
JP4820940B2 (ja) ポート群を動的に専用化するプロセッサ間通信ネットワーク
CN113891358B (zh) 云网络的负载均衡方法、设备及存储介质
CN107483628B (zh) 基于dpdk的单向代理方法及系统
US8572605B1 (en) Source switching of virtual machines
CN116566897A (zh) 一种寻址路由方法、装置、设备及介质
US7742398B1 (en) Information redirection
US20220377820A1 (en) Detection and triggering for ue-to-ue p2p traffic flow routing optimization
CN105991629B (zh) Tcp连接建立方法及装置
CN103368841A (zh) 报文转发方法和装置
KR100684165B1 (ko) 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법
EP3210116B1 (en) Queue handling
CN115361337B (zh) 一种基于通信路由和星型网络的通信方法及系统
US10432583B1 (en) Routing agent platform with a 3-tier architecture for diameter communication protocol in IP networks

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A data forwarding method, device, system, gateway device, and storage medium

Effective date of registration: 20240103

Granted publication date: 20211228

Pledgee: Shenzhen Rural Commercial Bank Co.,Ltd. Xixiang Branch

Pledgor: Shenzhen Donika Avionics Co.,Ltd.

Registration number: Y2024980000185