CN114826975B - 数据传输的优化方法、控制装置、及存储介质 - Google Patents
数据传输的优化方法、控制装置、及存储介质 Download PDFInfo
- Publication number
- CN114826975B CN114826975B CN202210736238.5A CN202210736238A CN114826975B CN 114826975 B CN114826975 B CN 114826975B CN 202210736238 A CN202210736238 A CN 202210736238A CN 114826975 B CN114826975 B CN 114826975B
- Authority
- CN
- China
- Prior art keywords
- message
- indication
- request
- response
- data
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种数据传输的优化方法、控制装置、及存储介质,属于网络技术领域。该数据传输的优化方法应用于发送端的网关,且所述数据传输的优化方法包括:检测传输隧道的网络质量;当网络质量符合预设的数据传输要求时,发送请求报文数据,所述请求报文数据包括指示请求的序列号和请求数据;当网络质量不符合预设的数据传输要求时,复制所述请求报文数据,并发送所述请求报文数据和复制报文数据,其中,所述复制报文数据的序列号与所述请求报文数据的序列号相同。可以实现成本低网络运行的同时,利用网络质量探测实现网络质量数据采集及判断,利用延时、丢包、平均值、门限等计算方式综合更加稳定精确的得出网络质量。
Description
技术领域
本发明涉及网络技术领域,具体地涉及一种数据传输的优化方法、控制装置、及存储介质。
背景技术
现在越来越多的公司开始使用VPN技术方便员工远程访问公司内部重要资料、办公OA、ERP***、CRM***、项目管理***等资源,或者使用远程视频会议***进行远程开会等,VPN移动办公和远程视频会议变得愈发重要。在互联网普及率极高的当下,网络变得非常拥堵,导致VPN、远程视频会议***或其他互联网传输***在数据传输时的网络质量得不到保障。
现有的解决方式有两种:1)是专线传输技术,可以让运营商搭建专线,在专线上传输数据,专线可以保障网络传输质量;2)是多路径传输技术,搭建多个VPN隧道或传输路径,然后通过检测脚本,在检测到网络传输质量变差后切换到其他传输路径或其他VPN隧道上。但上述两种解决方式均存在缺点:
1)专线传输技术的缺点:利用运营商专线进行数据传输,成本较高,一般企业无法承担;
2)多路径传输技术的缺点:需要准备多个传输路径,同样成本较高,并且互联网经常发生网络拥塞现象,网络拥塞或抖动就切换了传输路径,网络稳定性较差。
发明内容
本发明实施例的目的是提供一种数据传输的优化方法,该一种数据传输的优化方法可以解决现有专线传输技术和多路径传输技术的缺陷。
为了实现上述目的,本发明实施例提供一种数据传输的优化方法,该数据传输的优化方法应用于发送端的网关,且所述数据传输的优化方法包括:检测传输隧道的网络质量;当网络质量符合预设的数据传输要求时,发送请求报文数据,所述请求报文数据包括指示请求的序列号和请求数据;当网络质量不符合预设的数据传输要求时,复制所述请求报文数据,并发送所述请求报文数据和复制报文数据,其中,所述复制报文数据的序列号与所述请求报文数据的序列号相同。
可选的,所述检测传输隧道的网络质量包括:发送一组网络质量探测报文;在预设时间内,接收所发送的一组网络质量探测报文;根据所接收的一组网络质量探测报文与所发送的一组网络质量探测报文,计算平均网络延时和丢包率;当所述平均网络延时或所述丢包率大于预设的门限时,确定所述传输隧道的网络质量不符合数据传输要求。
可选的,所述数据传输的优化方法还包括:通过传输隧道获取应答报文数据,所述应答报文数据包括指示应答的序列号和应答数据,所述指示应答的序列号与所述指示请求的序列号相对应;解析所述应答报文数据的所述指示应答的序列号;若所述指示应答的序列号已存在,则丢弃所述应答报文数据;若所述指示应答的序列号不存在,则解封装所述应答报文数据后,发送所述应答数据至目标发送端。
可选的,在所述解析所述应答报文数据的所述指示应答的序列号之后,通过报文滑动窗口机制,判断所述指示应答的序列号是否存在,包括:确定所述指示应答的序列号在报文滑动窗口的位置,所述报文滑动窗口的范围为从起始值至终止值之间的预设步长;当所述指示应答的序列号在所述报文滑动窗口的起始值的左侧时,则确定所述指示应答的序列号已存在;当所述指示应答的序列号在所述报文滑动窗口的范围内时,若所述指示应答的序列号已被记录,则确定所述指示应答的序列号已存在,若所述指示应答的序列号未被记录,则确定所述指示应答的序列号不存在,记录所述指示应答的序列号,其中,若所记录的指示应答的序列号在所述报文滑动窗口的范围内构成连续值,则滑动所述报文滑动窗口,以所记录的指示应答的序列号右侧第一个未记录的值作为所述报文滑动窗口的范围的起始值;若所述指示应答的序列号在所述报文滑动窗口的终止值的右侧时,则确定所述指示应答的序列号不存在,记录所述指示应答的序列号,并滑动所述报文滑动窗口,以所记录的指示应答的序列号作为所述报文滑动窗口的范围的终止值;将所述指示应答的序列号录入报文滑动窗口;通过预设的所述报文滑动窗口范围,判断所述指示应答的序列号是否是合法报文的序列号;当所述指示应答的序列号不合法时,丢弃所述指示应答数据。
本发明实施例还提供一种数据传输的优化方法,该数据传输的优化方法应用于接收端的网关,且所述数据传输的优化方法包括:通过传输隧道获取请求报文数据,所述请求报文数据包括指示请求的序列号和请求数据;解析所述请求报文数据的所述指示请求的序列号;若所述指示请求的序列号已存在,则丢弃所述请求报文数据;若所述指示请求的序列号不存在,则解封装所述请求报文数据后,发送所述请求数据至目标接收端。
可选的,在解析所述请求报文数据的所述指示请求的序列号之后,通过报文滑动窗口机制,判断所述指示请求的序列号是否存在,包括:确定所述指示请求的序列号在报文滑动窗口的位置,所述报文滑动窗口的范围为从起始值至终止值之间的预设步长;当所述指示请求的序列号在所述报文滑动窗口的起始值的左侧时,则确定所述指示请求的序列号已存在;当所述指示请求的序列号在所述报文滑动窗口的范围内时,若所述指示请求的序列号已被记录,则确定所述指示请求的序列号已存在,若所述指示请求的序列号未被记录,则确定所述指示请求的序列号不存在,记录所述指示请求的序列号,其中,若所记录的指示请求的序列号在所述报文滑动窗口的范围内构成连续值,则滑动所述报文滑动窗口,以所记录的指示请求的序列号右侧第一个未记录的值作为所述报文滑动窗口的范围的起始值;若所述指示请求的序列号在所述报文滑动窗口的终止值的右侧时,则确定所述指示请求的序列号不存在,记录所述指示请求的序列号,并滑动所述报文滑动窗口,以所记录的指示请求的序列号作为所述报文滑动窗口的范围的终止值;将所述指示请求的序列号录入报文滑动窗口;通过预设的所述报文滑动窗口范围,判断所述指示请求的序列号是否是合法报文的序列号;当所述指示请求的序列号不合法时,丢弃所述请求报文数据。
可选的,所述数据传输的优化方法还包括:检测所述传输隧道的网络质量;当网络质量符合预设的数据传输要求时,发送应答报文数据,所述应答报文数据包括指示应答的序列号和从所述目标接收端接收的应答数据,所述指示应答的序列号与所述指示请求的序列号相对应;当网络质量不符合预设的数据传输要求时,复制所述应答报文数据,并发送所述应答报文数据和复制报文数据,其中,所述复制报文数据的序列号与所述应答报文数据的序列号相同。
可选的,所述检测传输隧道的网络质量包括:发送一组网络质量探测报文;在预设时间内,接收所发送的一组网络质量探测报文;根据所接收的一组网络质量探测报文与所发送的一组网络质量探测报文,计算平均网络延时和丢包率;当所述平均网络延时或所述丢包率大于预设的门限时,确定所述传输隧道的网络质量不符合数据传输要求。
本发明实施例还提供一种控制装置,所控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现根据上述任意一项所述的发送端的网关的数据传输的优化方法和/或上述任意一项所述的接收端的网关的数据传输的优化方法。
本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令使得机器执行根据上述任意一项所述的发送端的网关的数据传输的优化方法和/或上述任意一项所述的接收端的网关的数据传输的优化方法。
通过上述技术方案,无论是在发送端的网关或在接收端的网关,均实时检测传输隧道的网络质量,当网络质量符合预设的数据传输要求时,发送报文数据;当网络质量不符合预设的数据传输要求时,复制报文数据,并发送报文数据和复制报文数据。可以实现成本低网络运行的同时,利用网络质量探测实现网络质量数据采集及判断,利用延时、丢包、平均值、门限等计算方式综合更加稳定精确的得出网络质量。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明一实施例提供的数据传输的优化方法的流程示意图;
图2是示例数据传输的流程示意图;
图3a是示例滑动窗口的展示示意图;
图3b是滑动窗口示例一的滑动示意图;
图3c是滑动窗口示例二的滑动示意图;
图3d是滑动窗口示例三的滑动示意图;
图4是本发明另一实施例提供的数据传输的优化方法的流程示意图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
本发明实施例的发送端和接收端可以为两个网关节点,也可以为同一网关节点,因为数据传输是双向的,即当其发送数据时可以作为发送端节点,当其接收数据时可以作为接收端节点。
图1是本发明一实施例提供的数据传输的优化方法的流程示意图,该数据传输的优化方法应用于发送端的网关,且所述数据传输的优化方法可以包括以下步骤:
步骤S110:检测传输隧道的网络质量。
在步骤S110之前,发送端的网关和接收端的网关建立传输隧道,以准备进行数据传输。
优选的,所述检测传输隧道的网络质量可以包括:发送一组网络质量探测报文;在预设时间内,接收所发送的一组网络质量探测报文;根据所接收的一组网络质量探测报文与所发送的一组网络质量探测报文,计算平均网络延时和丢包率;当所述平均网络延时或所述丢包率大于预设的门限时,确定所述传输隧道的网络质量不符合数据传输要求。
以示例说明,发送端与接收端建立传输隧道,并互相实时发送传输隧道的网络质量探测报文,例如PING报文,以获得延时和丢包情况。例如,发送一组PING报文,并在预设之间内接收这组PING报文,根据报文探测结果,计算每个PING报文的网络延时后,计算这组PING报文的平均网络延时和丢包率,当平均网络延时或所述丢包率大于预设的门限时,确定所述传输隧道的网络质量不符合数据传输要求。
步骤S120:当网络质量符合预设的数据传输要求时,发送请求报文数据,所述请求报文数据包括指示请求的序列号和请求数据。
以示例说明,当平均网络延时和所述丢包率均未超过预设的门限时,发送端的网关可以直接发送封装后的请求报文数据。
报文封装即网关在原始报文外层在封装一层隧道头部(隧道头部包括以太网2层、3层及隧道信息数据段,隧道信息数据段包括自增序列号、完整性校验值、隧道编号等信息),自增序列号即可以自增,唯一指示该请求报文数据的一个数字,完整性校验值可以对整个封装报文进行完整性校验,封装在头部,并可以验证报文的合法性。
以示例说明,发送端对整个报文做一个MD5散列计算,计算值即为完整性校验值,然后将值填入隧道头部,接收端接收报文后,获取完整性校验值并对整个报文做同样的MD5散列计算,比较两个值是否相等,不相等说明报文被篡改了,即为非法报文。
步骤S130:当网络质量不符合预设的数据传输要求时,复制所述请求报文数据,并发送所述请求报文数据和复制报文数据,其中,所述复制报文数据的序列号与所述请求报文数据的序列号相同。
承接上述示例,当平均网络延时或所述丢包率大于预设的门限时,达到门限触发报文复制,复制报文数据的序列号与请求报文数据的序列号一致;发送封装后的请求报文数据和封装后的复制报文数据。
报文封装即网关在原始报文外层在封装一层隧道头部(隧道头部包括以太网2层、3层及隧道信息数据段,隧道信息数据段包括自增序列号、完整性校验值、隧道编号等信息),自增序列号即可以自增,唯一指示该请求报文数据的一个数字,完整性校验值可以对整个封装报文进行完整性校验,封装在头部,并可以验证报文的合法性。
以示例说明,发送端对整个报文做一个MD5散列计算,计算值即为完整性校验值,然后将值填入隧道头部,接收端接收报文后,获取完整性校验值并对整个报文做同样的MD5散列计算,比较两个值是否相等,不相等说明报文被篡改了,即为非法报文。
本发明优选的实施例,所述数据传输的优化方法还可以包括:通过传输隧道获取应答报文数据,所述应答报文数据包括指示应答的序列号和应答数据,所述指示应答的序列号与所述指示请求的序列号相对应;解析所述应答报文数据的所述指示应答的序列号;若所述指示应答的序列号已存在,则丢弃所述应答报文数据;若所述指示应答的序列号不存在,则解封装所述应答报文数据后,发送所述应答数据至目标发送端。
图2是示例数据传输流程示意图,请参考图2,发送端与接收端会实时探测传输隧道的网络质量,当网络质量符合预设的数据传输要求时,直接发送请求报文数据;当网络质量不符合预设的数据传输要求时,复制所述请求报文数据,并发送所述请求报文数据和复制报文数据。
接着,发送端的网关将请求报文数据,通过传输隧道发送至接收端的网关后,可以接收到接收端的网关返回的应答报文数据;接收端的网关接收到封装的应答报文数据后,解析出指示应答的序列号(指示应答的序列号与指示请求的序列号相对应);如果接收到相同序列号的报文数据则为复制报文,可以直接丢弃;否则,对应答报文数据解隧道封装后,将其转发至目的网络中,例如目标客户端。
优选的,在所述解析所述应答报文数据的所述指示应答的序列号之后,会通过报文滑动窗口机制,判断所述指示应答的序列号是否存在,包括:确定所述指示应答的序列号在报文滑动窗口的位置,所述报文滑动窗口的范围为从起始值至终止值之间的预设步长;当所述指示应答的序列号在所述报文滑动窗口的起始值的左侧时,则确定所述指示应答的序列号已存在;当所述指示应答的序列号在所述报文滑动窗口的范围内时,若所述指示应答的序列号已被记录,则确定所述指示应答的序列号已存在,若所述指示应答的序列号未被记录,则确定所述指示应答的序列号不存在,记录所述指示应答的序列号,其中,若所记录的指示应答的序列号在所述报文滑动窗口的范围内构成连续值,则滑动所述报文滑动窗口,以所记录的指示应答的序列号右侧第一个未记录的值作为所述报文滑动窗口的范围的起始值;若所述指示应答的序列号在所述报文滑动窗口的终止值的右侧时,则确定所述指示应答的序列号不存在,记录所述指示应答的序列号,并滑动所述报文滑动窗口,以所记录的指示应答的序列号作为所述报文滑动窗口的范围的终止值;将所述指示应答的序列号录入报文滑动窗口;通过预设的所述报文滑动窗口范围,判断所述指示应答的序列号是否是合法报文的序列号;当所述指示应答的序列号不合法时,丢弃所述指示应答数据。
请参考图3a-3d,以示例说明本申请实施例优选的报文滑动窗口机制,例如bitmap的滑动窗口机制,以示例说明,创建大小为的bitmap表,范围可以对应图3a-3d中0至个点位,其中,每个点位有0和1两种状态,0可以表示未记录(报文的序列号),1可以表示已记录(报文的序列号),对应图中,黑色圆圈表示1,白色圆圈表示0。当通过例如解析出的指示应答的序列号后,确定所述指示应答的序列号在报文滑动窗口的位置,所述报文滑动窗口的范围为从起始值至终止值之间的预设步长,例如,该报文滑动窗口的大小为10个报文(预设步长为10),报文滑动窗口的范围为100-109,起始值为100,终止值为109,此时已记录的应答报文数据的序列号为100、101、103、104。
接着,请参考图3b,若当前的指示应答的序列号在该报文滑动窗口的起始值的左侧(该指示应答的序列号小于100,例如99)时,则确定所述指示应答的序列号已存在,即当前的应答报文数据已收到(为重复报文),则可以直接丢弃。请参考图3c,当该指示应答的序列号在所述报文滑动窗口的范围内时,若所述指示应答的序列号已被记录(例如,该指示应答的序列号为104),则确定所述指示应答的序列号已存在,即当前的应答报文数据已存在(为重复报文),可以直接丢弃;若所述指示应答的序列号未被记录(例如,该指示应答的序列号为102或107),则确定所述指示应答的序列号不存在,即当前的应答报文数据未收到,记录所述指示应答的序列号,其中,若所记录的指示应答的序列号在所述报文滑动窗口的范围内构成连续值(例如,该指示应答的序列号为102,100-104为连续值),则向右滑动所述报文滑动窗口,以所记录的指示应答的序列号右侧第一个未记录的值(例如,105)作为所述报文滑动窗口的范围的起始值,并将窗口划过的点位的初始值变为0(白色)。请参考图3d,若所述指示应答的序列号在所述报文滑动窗口的终止值的右侧(例如,该指示应答的序列号为112)时,则确定所述指示应答的序列号不存在,即当前的应答报文数据未收到,记录所述指示应答的序列号,并向右滑动所述报文滑动窗口,以所记录的指示应答的序列号作为所述报文滑动窗口的范围的终止值,并将窗口划过的点位的初始值变为0(白色)。
进一步地,若未解析出指示应答的序列号,则说明该应答报文数据不合法,例如为非法攻击报文,可以直接丢弃。
图4是本发明另一实施例提供的数据传输的优化方法的流程示意图,请参考图4,该数据传输的优化方法应用于接收端的网关,且所述数据传输的优化方法可以包括以下步骤:
步骤S210:通过传输隧道获取请求报文数据,所述请求报文数据包括指示请求的序列号和请求数据。
步骤S220:解析所述请求报文数据的所述指示请求的序列号。
步骤S230:若所述指示请求的序列号已存在,则丢弃所述请求报文数据。
步骤S240:若所述指示请求的序列号不存在,则解封装所述请求报文数据后,发送所述请求数据至目标接收端。
以示例说明,发送端的网关在传输隧道外层对请求报文数据进行封装,例如,网关在原始报文外层在封装一层隧道头部(隧道头部包括以太网2层、3层及隧道信息数据段,隧道信息数据段包括自增序列号、完整性校验值、隧道编号等信息),自增序列号即可以自增,唯一指示该请求报文数据的一个数字,完整性校验值可以对整个封装报文进行完整性校验,封装在头部,并可以验证报文的合法性。发送端的网关将封装后的请求报文数据,通过传输隧道发送至接收端的网关(例如步骤S110-S130所示的传输方式);接收端的网关接收到封装的请求报文数据后,解析出指示请求的序列号,可以录入报文滑动窗口;通过报文滑动窗口机制,如果接收到相同序列号的报文数据则为复制报文,可以直接丢弃;否则,对请求报文数据解隧道封装后,将其转发至目的网络中,例如目标服务器。
本发明实施例优选的,在步骤S220之后,通过报文滑动窗口机制,判断所述指示请求的序列号是否存在,包括:确定所述指示请求的序列号在报文滑动窗口的位置,所述报文滑动窗口的范围为从起始值至终止值之间的预设步长;当所述指示请求的序列号在所述报文滑动窗口的起始值的左侧时,则确定所述指示请求的序列号已存在;当所述指示请求的序列号在所述报文滑动窗口的范围内时,若所述指示请求的序列号已被记录,则确定所述指示请求的序列号已存在,若所述指示请求的序列号未被记录,则确定所述指示请求的序列号不存在,记录所述指示请求的序列号,其中,若所记录的指示请求的序列号在所述报文滑动窗口的范围内构成连续值,则滑动所述报文滑动窗口,以所记录的指示请求的序列号右侧第一个未记录的值作为所述报文滑动窗口的范围的起始值;若所述指示请求的序列号在所述报文滑动窗口的终止值的右侧时,则确定所述指示请求的序列号不存在,记录所述指示请求的序列号,并滑动所述报文滑动窗口,以所记录的指示请求的序列号作为所述报文滑动窗口的范围的终止值;将所述指示请求的序列号录入报文滑动窗口;通过预设的所述报文滑动窗口范围,判断所述指示请求的序列号是否是合法报文的序列号;当所述指示请求的序列号不合法时,丢弃所述请求报文数据。
其中,接收端的网关判断请求报文数据是否接收到的过程与发送端的网关判断应答报文数据是否接收到的过程类似,请参考上文的内容,此处不再赘述。
优选的,所述数据传输的优化方法还可以包括:检测所述传输隧道的网络质量;当网络质量符合预设的数据传输要求时,发送应答报文数据,所述应答报文数据包括指示应答的序列号和从所述目标接收端接收的应答数据,所述指示应答的序列号与所述指示请求的序列号相对应;当网络质量不符合预设的数据传输要求时,复制所述应答报文数据,并发送所述应答报文数据和复制报文数据,其中,所述复制报文数据的序列号与所述应答报文数据的序列号相同。
请参考图2,接收端的网关可以接收从发送端的网关传输的请求报文数据,解析出指示请求的序列号,可以录入报文滑动窗口;通过报文滑动窗口机制,如果接收到相同序列号的报文数据则为复制报文,可以直接丢弃;否则,对请求报文数据解隧道封装后,将其转发至目的网络中,例如目标服务器。
接着,接收端的网关可以接收到从所述目标接收端(例如,目标服务器)接收的应答数据,将指示应答的序列号和应答数据封装成应答报文数据。
进一步地,发送端与接收端实时探测传输隧道的网络质量,当网络质量符合预设的数据传输要求时,直接发送应答报文数据;当网络质量不符合预设的数据传输要求时,复制所述应答报文数据,并发送所述应答报文数据和复制报文数据。
优选的,所述检测传输隧道的网络质量可以包括:发送一组网络质量探测报文;在预设时间内,接收所发送的一组网络质量探测报文;根据所接收的一组网络质量探测报文与所发送的一组网络质量探测报文,计算平均网络延时和丢包率;当所述平均网络延时或所述丢包率大于预设的门限时,确定所述传输隧道的网络质量不符合数据传输要求。接收端的网关检测传输隧道的网络质量的过程与发送端的网关检测传输隧道的网络质量的内容类似,此处不再赘述。
请参考图2,结合一个完整示例,解释本发明实施例的数据传输过程。A端网络节点的应用发送请求数据,A端网络的网关A接收请求数据,对该请求数据封装隧道头部,即原始报文外层在封装一层隧道头部(隧道头部包括以太网2层、3层及隧道信息数据段,隧道信息数据段包括自增序列号、完整性校验值、隧道编号等信息)。网关A和网关B(B端网络的网关)建立传输隧道,网关A和网关B相互发送探测报文,网关A和网关B通过计算平均网络延时和丢包率检测隧道质量;当隧道质量不符合传输数据要求(例如,当平均网络延时或丢包率大于预设的门限)时,复制请求报文数据,发送请求报文数据和复制报文数据;当隧道质量符合传输数据要求,发送请求报文数据。
接着,网关B解析隧道头部获取信息,即获取原始报文数据及隧道信息(包括自增序列号、完整性校验值、隧道编号等信息),利用完整性校验值验证报文是否合法,利用报文滑动窗口机制判断该请求报文数据是重复或合法;若重复或不合法,则丢弃该请求报文数据;若不重复且合法,则解析出请求数据,发送至B端网络节点(例如,B端目的服务器)。
进一步地,B端目的服务器返回应答报文数据的过程与上述内容相类似,此处不再赘述。
据此,本发明实施例提供的数据传输的优化方法,无论是在发送端的网关或在接收端的网关,均实时检测传输隧道的网络质量,当网络质量符合预设的数据传输要求时,发送报文数据;当网络质量不符合预设的数据传输要求时,复制报文数据,并发送报文数据和复制报文数据。可以实现成本低网络运行的同时,利用网络质量探测实现网络质量数据采集及判断,利用延时、丢包、平均值、门限等计算方式综合更加稳定精确的得出网络质量;进一步地,即时调整启动报文复制传输时机,并采用序列号过滤重复报文,达到互联网数据传输质量保障效果。
本发明实施例还提供一种控制装置,所控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现根据步骤S110-S130所述的数据传输的优化方法和/或步骤S210-S240所述的数据传输的优化方法。
其中,处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现根据步骤S110-S130所述的数据传输的优化方法和/或步骤S210-S240所述的数据传输的优化方法。
其中,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
以示例说明,该控制装置可以是网络节点网关的控制装置,上文的发送端和接收端可以为同一节点,即当其发送数据时可以作为发送端节点,当其接收数据时可以作为接收端节点。
本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令使得机器执行步骤S110-S130所述的数据传输的优化方法和/或步骤S210-S240所述的数据传输的优化方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (7)
1.一种数据传输的优化方法,其特征在于,该数据传输的优化方法应用于发送端的网关,且所述数据传输的优化方法包括:
检测传输隧道的网络质量;
当网络质量符合预设的数据传输要求时,发送请求报文数据,所述请求报文数据包括指示请求的序列号和请求数据;
当网络质量不符合预设的数据传输要求时,复制所述请求报文数据,并发送所述请求报文数据和复制报文数据,其中,所述复制报文数据的序列号与所述请求报文数据的序列号相同;
通过传输隧道获取应答报文数据,所述应答报文数据包括指示应答的序列号和应答数据,所述指示应答的序列号与所述指示请求的序列号相对应;
解析所述应答报文数据的所述指示应答的序列号;
若所述指示应答的序列号已存在,则丢弃所述应答报文数据;
若所述指示应答的序列号不存在,则解封装所述应答报文数据后,发送所述应答数据至目标发送端;
在所述解析所述应答报文数据的所述指示应答的序列号之后,通过报文滑动窗口机制,判断所述指示应答的序列号是否存在,包括:
确定所述指示应答的序列号在报文滑动窗口的位置,所述报文滑动窗口的范围为从起始值至终止值之间的预设步长;
当所述指示应答的序列号在所述报文滑动窗口的起始值的左侧时,则确定所述指示应答的序列号已存在;
当所述指示应答的序列号在所述报文滑动窗口的范围内时,
若所述指示应答的序列号已被记录,则确定所述指示应答的序列号已存在,
若所述指示应答的序列号未被记录,则确定所述指示应答的序列号不存在,记录所述指示应答的序列号,
其中,若所记录的指示应答的序列号在所述报文滑动窗口的范围内构成连续值,则滑动所述报文滑动窗口,以所记录的指示应答的序列号右侧第一个未记录的值作为所述报文滑动窗口的范围的起始值;
若所述指示应答的序列号在所述报文滑动窗口的终止值的右侧时,则确定所述指示应答的序列号不存在,记录所述指示应答的序列号,并滑动所述报文滑动窗口,以所记录的指示应答的序列号作为所述报文滑动窗口的范围的终止值;
将所述指示应答的序列号录入报文滑动窗口;
通过预设的所述报文滑动窗口范围,判断所述指示应答的序列号是否是合法报文的序列号;
当所述指示应答的序列号不合法时,丢弃所述指示应答数据。
2.根据权利要求1所述的数据传输的优化方法,其特征在于,所述检测传输隧道的网络质量包括:
发送一组网络质量探测报文;
在预设时间内,接收所发送的一组网络质量探测报文;
根据所接收的一组网络质量探测报文与所发送的一组网络质量探测报文,计算平均网络延时和丢包率;
当所述平均网络延时或所述丢包率大于预设的门限时,确定所述传输隧道的网络质量不符合数据传输要求。
3.一种数据传输的优化方法,其特征在于,该数据传输的优化方法应用于接收端的网关,且所述数据传输的优化方法包括:
通过传输隧道获取请求报文数据,所述请求报文数据包括指示请求的序列号和请求数据;
解析所述请求报文数据的所述指示请求的序列号;
若所述指示请求的序列号已存在,则丢弃所述请求报文数据;
若所述指示请求的序列号不存在,则解封装所述请求报文数据后,发送所述请求数据至目标接收端;
在解析所述请求报文数据的所述指示请求的序列号之后,通过报文滑动窗口机制,判断所述指示请求的序列号是否存在,包括:
确定所述指示请求的序列号在报文滑动窗口的位置,所述报文滑动窗口的范围为从起始值至终止值之间的预设步长;
当所述指示请求的序列号在所述报文滑动窗口的起始值的左侧时,则确定所述指示请求的序列号已存在;
当所述指示请求的序列号在所述报文滑动窗口的范围内时,
若所述指示请求的序列号已被记录,则确定所述指示请求的序列号已存在,
若所述指示请求的序列号未被记录,则确定所述指示请求的序列号不存在,记录所述指示请求的序列号,
其中,若所记录的指示请求的序列号在所述报文滑动窗口的范围内构成连续值,则滑动所述报文滑动窗口,以所记录的指示请求的序列号右侧第一个未记录的值作为所述报文滑动窗口的范围的起始值;
若所述指示请求的序列号在所述报文滑动窗口的终止值的右侧时,则确定所述指示请求的序列号不存在,记录所述指示请求的序列号,并滑动所述报文滑动窗口,以所记录的指示请求的序列号作为所述报文滑动窗口的范围的终止值;将所述指示请求的序列号录入报文滑动窗口;
通过预设的所述报文滑动窗口范围,判断所述指示请求的序列号是否是合法报文的序列号;
当所述指示请求的序列号不合法时,丢弃所述请求报文数据。
4.根据权利要求3所述的数据传输的优化方法,其特征在于,所述数据传输的优化方法还包括:
检测所述传输隧道的网络质量;
当网络质量符合预设的数据传输要求时,发送应答报文数据,所述应答报文数据包括指示应答的序列号和从所述目标接收端接收的应答数据,所述指示应答的序列号与所述指示请求的序列号相对应;
当网络质量不符合预设的数据传输要求时,复制所述应答报文数据,并发送所述应答报文数据和复制报文数据,其中,所述复制报文数据的序列号与所述应答报文数据的序列号相同。
5.根据权利要求4所述的数据传输的优化方法,其特征在于,所述检测传输隧道的网络质量包括:
发送一组网络质量探测报文;
在预设时间内,接收所发送的一组网络质量探测报文;
根据所接收的一组网络质量探测报文与所发送的一组网络质量探测报文,计算平均网络延时和丢包率;
当所述平均网络延时或所述丢包率大于预设的门限时,确定所述传输隧道的网络质量不符合数据传输要求。
6.一种控制装置,其特征在于,所控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现根据权利要求1-2中任意一项所述的数据传输的优化方法和/或权利要求3-5中任意一项所述的数据传输的优化方法。
7.一种机器可读存储介质,其特征在于,该机器可读存储介质上存储有指令,该指令使得机器执行根据权利要求1-2中任意一项所述的数据传输的优化方法或权利要求3-5中任意一项所述的数据传输的优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210736238.5A CN114826975B (zh) | 2022-06-27 | 2022-06-27 | 数据传输的优化方法、控制装置、及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210736238.5A CN114826975B (zh) | 2022-06-27 | 2022-06-27 | 数据传输的优化方法、控制装置、及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114826975A CN114826975A (zh) | 2022-07-29 |
CN114826975B true CN114826975B (zh) | 2022-09-27 |
Family
ID=82523446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210736238.5A Active CN114826975B (zh) | 2022-06-27 | 2022-06-27 | 数据传输的优化方法、控制装置、及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114826975B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120887A (zh) * | 2019-04-25 | 2019-08-13 | 新华三技术有限公司合肥分公司 | 一种网络质量信息监控方法、电子设备及存储介质 |
CN110913026A (zh) * | 2019-12-31 | 2020-03-24 | 奇安信科技集团股份有限公司 | 报文传输方法、装置、电子设备和介质 |
CN111817911A (zh) * | 2020-06-23 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 一种探测网络质量的方法、装置、计算设备及存储介质 |
CN113597007A (zh) * | 2019-07-26 | 2021-11-02 | Oppo广东移动通信有限公司 | 一种传输资源选择方法、网络设备、用户设备 |
CN113746782A (zh) * | 2020-05-28 | 2021-12-03 | 华为技术有限公司 | 报文处理方法、装置及相关设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3664398A1 (en) * | 2018-12-06 | 2020-06-10 | InterDigital CE Patent Holdings | Network equipment and method for delivering data packets |
CN112769631B (zh) * | 2019-10-21 | 2024-02-06 | 中兴通讯股份有限公司 | 数据传输质量的测量方法、转发设备和可读存储介质 |
-
2022
- 2022-06-27 CN CN202210736238.5A patent/CN114826975B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120887A (zh) * | 2019-04-25 | 2019-08-13 | 新华三技术有限公司合肥分公司 | 一种网络质量信息监控方法、电子设备及存储介质 |
CN113597007A (zh) * | 2019-07-26 | 2021-11-02 | Oppo广东移动通信有限公司 | 一种传输资源选择方法、网络设备、用户设备 |
CN110913026A (zh) * | 2019-12-31 | 2020-03-24 | 奇安信科技集团股份有限公司 | 报文传输方法、装置、电子设备和介质 |
CN113746782A (zh) * | 2020-05-28 | 2021-12-03 | 华为技术有限公司 | 报文处理方法、装置及相关设备 |
CN111817911A (zh) * | 2020-06-23 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 一种探测网络质量的方法、装置、计算设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
一种无线Ad hoc网络中的可靠UDP协议;张力等;《计算机仿真》;20090215(第02期);第1节-第4节 * |
数据采集***网络接入的设计与实现;王晓东等;《数据采集与处理》(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114826975A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102047585B1 (ko) | 프록시 ip 어드레스를 식별하는 방법 및 장치 | |
CN109361608B (zh) | 报文处理方法、***及存储介质 | |
CN111211980B (zh) | 传输链路管理方法、装置、电子设备及存储介质 | |
US9218266B2 (en) | Systems and methods for replication of test results in a network environment | |
CN110213129B (zh) | 转发路径时延检测方法、控制器及转发设备 | |
US11271856B2 (en) | Concept for segmenting an application buffer into data packets | |
CN107995233B (zh) | 建立连接的方法及相应的设备 | |
CN108206788B (zh) | 一种流量的业务识别方法及相关设备 | |
US20230300051A1 (en) | In-band Edge-to-Edge Round-Trip Time Measurement | |
CN102217378A (zh) | 探测路径信息的方法、设备及*** | |
WO2020135429A1 (zh) | 流量的分析、检测方法及装置 | |
CN113301007A (zh) | 一种数据的传输方法、计算设备及存储介质 | |
CN108243072A (zh) | 一种进行网络延时监控的方法与设备 | |
CN113839882B (zh) | 一种报文流分流方法及装置 | |
CN114826975B (zh) | 数据传输的优化方法、控制装置、及存储介质 | |
FR2888695A1 (fr) | Detection d'une intrusion par detournement de paquets de donnees dans un reseau de telecommunication | |
CN109195160B (zh) | 网络设备资源探查信息的防篡改存储***及其控制方法 | |
CN106789655A (zh) | 一种路由通告报文的发送方法和装置 | |
CN109495330B (zh) | 一种实现udp拦截测试的方法及装置 | |
CN116455531A (zh) | 基于udp协议的主备冗余通讯***及方法 | |
CN114356593A (zh) | 数据处理方法、装置、网络设备及介质 | |
CN114125080A (zh) | 一种报文链终端协议栈构建方法和解析方法、装置及终端 | |
CN109547389B (zh) | 一种码流文件重组的方法及装置 | |
CN113852558A (zh) | 网络拥塞控制方法、装置和计算机可读存储介质 | |
CN114697380B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |