一种密集网络的数据传输方法、装置及系统

文档序号:41193561发布日期:2025-03-11 13:20阅读:22来源:国知局
一种密集网络的数据传输方法、装置及系统

本发明属于通信,更具体地,涉及一种密集网络的数据传输方法、装置及系统。


背景技术:

1、近年来随着通信技术的不断进步与互联网环境的持续发展,人们对网络带宽与数据流量的要求不断提高,对网络质量与可靠性的要求也愈趋严格。当前的网络设备通常不止一个网络通信接口,然而用户同一时间只能选择其中一种模式上网,若同时将多条网络接口加以并行利用,将会提升网络带宽与网络稳定性。无线链路易受距离、噪声等的干扰,传输不稳定性比有线链路严重,若能利用密集网络中各条链路的异构性对异构网络进行融合,将会提高密集网络中信号传输的可靠性。

2、但是现有的异构网络融合方法采用udp和mptcp双隧道方案实现对udp和tcp多链路传输技术,同时管理mptcp和udp隧道需要更复杂的配置和维护,同时要求两端都必须支持mptcp,否则就只能采用传统tcp传输数据业务,因此适配性不高。并且在高速率网络环境下如果多个路径的网络状态不一致,mptcp的数据传输存在大量突发丢包情况,并行数据传输性能急剧下降。


技术实现思路

1、针对现有技术的以上缺陷或改进需求,本发明提供了一种密集网络的数据传输方法、装置及系统,其目的在于,在保证可靠性的前提下实现适配性较强、且传输速率较高的密集网络的数据传输。

2、为了实现上述目的,第一方面,本发明提供了一种密集网络的数据传输方法,用于发送端,包括:

3、采用udp隧道封装技术对每一个待发送的ip数据包进行封装,得到对应的udp隧道封装数据;其中,udp隧道封装数据包括:ip头、udp头、llc帧和ip数据包;

4、对每一个udp隧道封装数据中的llc帧进行填充,使llc帧包括该udp隧道封装数据的序号、传输该udp隧道封装数据的密集网络链路序号和表示该udp隧道封装数据是否为重传数据的重传标志,并发送至接收端;

5、当发送端接收到接收端反馈的arq反馈帧后,基于arq反馈帧对udp隧道封装数据的丢失情况进行判断,当存在丢失情况时,更新丢失的udp隧道封装数据中的链路序号和重传标志,并重传丢失的udp隧道封装数据;

6、其中,第i个发送的非重传udp隧道封装数据的序号为i;i为正整数;arq反馈帧包括:接收端在每条链路最后接收的udp隧道封装数据的序号以及接收端的接收窗口中所应接收的各udp隧道封装数据的实际接收情况;接收窗口中所应接收的各udp隧道封装数据按其序号的先后顺序进行排列;上述基于arq反馈帧对udp隧道封装数据的丢失情况进行判断包括:

7、从arq反馈帧中获取接收端的接收窗口中所应接受的各udp隧道封装数据的实际接收情况;

8、针对每一个未被接收到的udp隧道封装数据duc,获取其内所携带的链路序号nl,并从arq反馈帧中获取接收端在链路序号nl下的链路最后接收的udp隧道封装数据dc,比较duc与dc的序号大小,若前者小于后者,则判定duc已丢失;若前者大于后者,则判定duc正在传输,还未丢失。

9、进一步优选地,当duc的序号大于dc的序号,且duc的传输时间大于第一预设时间,则重传duc。

10、进一步优选地,上述重传丢失的udp隧道封装数据包括:在密集网络的每一条链路上均重传该丢失的udp隧道封装数据,以进一步保证可靠性。

11、进一步优选地,上述llc帧还包括:用于标识对应ip数据包的业务类型的流序号、和用于标识对应ip数据包的发送用户信息的结点序号。

12、进一步优选地,上述密集网络的数据传输方法还包括:每隔预设探测周期,分别为每一条链路构建其链路探测包,并在发送udp隧道封装数据的同时,发送各链路探测包;其中,链路探测包包括:该链路探测包的发送时刻、发送该链路探测包的探测周期下对应链路的发送总量和接收总量;

13、当接收到接收端返回的任意链路的链路探测包时,对该链路探测包进行解析;

14、当该链路探测包中所携带的链路的发送总量或接收总量为0时,则判定该链路失效,并将该链路的包发送速率设置为0;

15、当该链路探测包中所携带的链路发送总量或接收总量均不为0时,则计算该链路探测包中所携带的接收总量与该链路的时延的比值,作为接收端通过该链路接收数据的接收吞吐率,并将该链路的包发送速率设置为该接收吞吐率所在吞吐率区间所对应的数据包发送速率;

16、其中,该链路的时延为接收端接收到该链路探测包的时刻与该链路探测包中所携带的发送时刻之差;

17、该链路的吞吐率区间[0,r]被划分为多个吞吐率子区间;每个吞吐率子区间对应一个数据包发送速率,且吞吐率取值越大的吞吐率子区间所对应的数据包发送速率越大;r为该链路的理论吞吐率上限。

18、第二方面,本发明提供了一种发送端,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行本发明第一方面所提供的密集网络的数据传输方法。

19、第三方面,本发明提供了一种密集网络的数据传输方法,用于接收端,包括:

20、每接收到一个由本发明第二方面所提供的发送端发送的udp隧道封装数据dc'时,根据dc'的序号j将其缓存至接收缓存队列中的第mod(j,m)个子空间处,并执行将dc'提交至上层协议栈的操作,同时根据dc'内的重传标识更新接收端在链路序号nl'下的链路最后接收的udp隧道封装数据;

21、其中,nl'为dc'内所携带的链路序号;接收缓存队列中的第mod(r,m)个子空间处所应缓存的数据为接收端所应接收的序号为r的udp隧道封装数据;第mod(r,m)个子空间位于第mod(r+1,m)个子空间之前;r为正整数;m为接收缓存队列中的总子空间数量;

22、每隔第二预设时间,构建当前的arq反馈帧,并反馈至发送端;arq反馈帧包括:接收端在每条链路最后接收的udp隧道封装数据的序号以及接收端的接收窗口中所应接收的各udp隧道封装数据的实际接收情况;

23、其中,接收窗口为在接收缓存队列上滑动的滑动窗口;当第一次接收到udp隧道封装数据时,接收窗口的起始位置位于接收缓存队列的第一个子空间处;每提交一个udp隧道封装数据,接收窗口向后滑动一个子空间长度,且保证将接收到的udp隧道封装数据按其序号的先后顺序提交至上层协议栈。

24、进一步优选地,上述将dc'提交至上层协议栈的操作包括:

25、s1、令k=1;

26、s2、判断当前接收窗口的第k个位置是否存在udp隧道封装数据,若是,则将其提交至上层协议栈,并令k=k+1,重复执行s2;否则,获取当前接收窗口的第k个位置处应接收的udp隧道封装数据dsc'的序号idx,转至s3;

27、s3、判断当前接收窗口中是否还有未提交的udp隧道封装数据,若是,则转至s4;否则,将当前接收窗口的起始位置移至dsc'所在位置,转至s5;

28、s4、获取当前接收窗口中下一个还未提交的udp隧道封装数据dus',判断dus'的传输时间是否大于第三预设时间,若是,则判定idx到dus'的序号之间的所有udp隧道封装数据均丢失,将当前接收窗口的起始位置移至duc'所在位置,并转至s1;否则,转至s5;

29、s5、结束提交dc'的操作。

30、进一步优选地,上述接收端的接收窗口中所应接收的各udp隧道封装数据的实际接收情况通过序号ns、ne、以及确认序列来表示;

31、其中,ns和ne分别为接收窗口中第一个和最后一个所应接收的udp隧道封装数据;确认序列与接收窗口的长度均为l,其内的第l个值表示接收窗口中第l个udp隧道封装数据是否被接收到;l=1,2,…,l,l为正整数。

32、进一步优选地,上述接收端的接收窗口中所应接收的各udp隧道封装数据的实际接收情况通过序号ns'、ne'、以及确认序列来表示;

33、其中,ns'为接收窗口中第一个还未接收到的udp隧道封装数据的序号;ne'为nec+1;nec为接收窗口中最后一个接收到的udp隧道封装数据的序号;

34、确认序列与接收窗口的长度均为l,其内的第l个值表示接收窗口中第l个udp隧道封装数据是否被接收到;l=1,2,…,l,l为正整数。

35、进一步优选地,上述根据dc'内的重传标识更新接收端在链路序号nl'下的链路最后接收的udp隧道封装数据,包括:

36、根据dc'内的重传标识确定dc'是否为重传数据;

37、当dc'是为重传数据时,获取当前接收端在链路序号nl'下的链路最后接收的udp隧道封装数据dc”,比较dc'与dc”的序号大小,若前者大于后者,则将接收端在链路序号nl'下的链路最后接收的udp隧道封装数据更新为dc';当前者小于后者,则不更新接收端在链路序号nl'下的链路最后接收的udp隧道封装数据;

38、当nc'不为重传数据时,则将接收端在链路序号nl'下的链路最后接收的udp隧道封装数据更新为dc'。

39、进一步优选地,上述密集网络的数据传输方法还包括:当接收到上述发送端发送的各链路的链路探测包时,获取每一条链路当前的接收总量,对对应链路的链路探测包进行更新,并将更新后的各链路探测包反馈至上述发送端;

40、其中,链路探测包包括:该链路探测包的发送时刻、发送该链路探测包时所对应的探测周期下对应链路的发送总量和接收总量。

41、第四方面,本发明提供了一种接收端,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行本发明第三方面所提供的密集网络的数据传输方法。

42、第五方面,本发明提供了一种密集网络的数据传输系统,包括本发明第二方面所提供的发送端和第四方面所提供的接收端。

43、总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

44、1、本发明提供了一种用于发送端的密集网络的数据传输方法,采用udp隧道封装技术对每一个待发送的ip数据包进行封装,得到包括ip头、udp头、llc帧和ip数据包的udp隧道封装数据;通过该操作将每条ip链路封装成基于udp的ip隧道,并将待发送的ip数据包作为udp包的负载,封装成llc帧在ip隧道中传输。llc帧中填充有udp隧道封装数据的序号、传输该udp隧道封装数据的密集网络链路序号和表示该udp隧道封装数据是否为重传数据的重传标志,以方便接收端在密集网络中实现并行传输和有序提交;通过上述操作实现了llc逻辑链路控制与ip隧道数据传输功能的整合,避免采用udp和mptcp双隧道方案实现对udp和tcp多链路传输,仅在udp链路上传输即可,无需要求两端都必须支持mptcp,适配性较强,也避免了在高速率网络环境下多个路径的网络状态不一致时mptcp的数据传输存在大量突发丢包情况,传输速率较高。在此基础上,为了保证可靠性,设计了基于arq反馈帧的重传机制,arq反馈帧中携带了接收端在每条链路最后接收的udp隧道封装数据的序号以及接收端的接收窗口中所应接收的各udp隧道封装数据的实际接收情况,通过对arq反馈帧进行分析即可确定是否存在数据丢失情况,从而对确定丢失的数据进行重传。基于此,本发明能够在保证可靠性的前提下实现适配性较强、且传输速率较高的密集网络的数据传输。

45、2、本发明所提供的用于发送端的密集网络的数据传输方法,采用udp隧道封装技术对每一个待发送的ip数据包进行封装,通过将每条ip链路封装成基于udp的ip隧道,基于udp的ip隧道可以在单向链路上运行,只要其他链路支持反向传输,那么系统就能支持全双工运行,极大地扩展了单向链路的应用场景。与此同时,基于udp的ip隧道比基于tcp的隧道更容易实现,且每条链路的吞吐率不会像mptcp协议一样受到拥塞控制而降低发送速率的影响,能够更充分地利用各链路的有用带宽以获得更大的汇聚吞吐率。除此之外,基于udp的ip隧道的arq反馈报文比tcp的确认报文更加高效,同时链路探测帧和arq反馈帧能够在多条udp隧道上同时传输,减小丢包率。

46、3、进一步地,本发明所提供的用于发送端的密集网络的数据传输方法,考虑到在现有的udp over多ip隧道传输技术,采用固定带宽分配不同链路的流量,在链路质量动态变化的情况下不能自适应调整流量分配,或将造成大量数据包的的重传和带宽资源的浪费。为了解决传统udp over多ip按固定带宽分配数据业务数据的局限性,本发明对于链路调度均基于发送端发送的链路探测包和接收端反馈的链路探测包的信息自适应实现。每一次链路探测,双方都会交换本端在发送该链路探测包时所对应的探测周期中该链路的发送总量和接收总量、以及链路时延,以用于判断链路通断和确定链路当前的数据包发送速率,进一步提高了数据传输性能。

47、4、本发明提供了一种用于接收端的密集网络的数据传输方法,在接收到发送端发送的udp隧道封装数据时,基于udp隧道封装数据中llc帧所携带的数据序号,通过接收缓存队列将其缓存在相应位置处,保证各数据的按序缓存,并结合接收窗口将接收到的udp隧道封装数据按其序号的先后顺序提交至上层协议栈。整个过程无需根据子连接序号的方式进行丢包判断的算法,只需根据udp隧道封装数据中llc帧所携带的数据序号进行,大大降低了复杂度。

48、5、进一步地,本发明所提供的用于接收端的密集网络的数据传输方法,在保证将接收到的udp隧道封装数据按其序号的先后顺序提交至上层协议栈时,为了防止存在udp隧道封装数据丢失,导致一直等待的情况,在提交的过程在进一步判断是否存在udp隧道封装数据丢失的情况,能够进一步提高数据传输的效率。

49、6、进一步地,本发明所提供的用于接收端的密集网络的数据传输方法,接收端的接收窗口中所应接收的各udp隧道封装数据的实际接收情况通过序号ns、ne、以及确认序列来表示,或者通过序号ns'、ne'、以及确认序列来表示,以进一步降低传输开销。

50、7、进一步地,本发明所提供的用于接收端的密集网络的数据传输方法,在构建arq反馈帧时,其中的接收端在每条链路最后接收的udp隧道封装数据的序号根据当前接收的udp隧道封装数据的传输状态进行更新,具体地,当当前接收的udp隧道封装数据不为重传数据时,则将接收端在对应链路最后接收的udp隧道封装数据的序号直接更新为当前数据的序号;当为重传数据时,进一步根据其数据序号判断其是否属于在对应链路最后接收的udp隧道封装数据之前丢失的数据还是之后丢失的数据,若是在之前丢失,则不更新;若在之后丢失才更新。根据上述操作保证了接收端在每条链路最后接收的udp隧道封装数据的序号的准确性,使得发送端根据arq反馈帧的数据丢失判断更加准确,从而进一步提高了可靠性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1