报文传输方法、装置及系统与流程

文档序号:37213742发布日期:2024-03-05 15:00阅读:16来源:国知局
报文传输方法、装置及系统与流程

本技术涉及通信,特别涉及一种报文传输方法、装置及系统。


背景技术:

1、在数据通信网络中,发送端设备和接收端设备之间可以通过网络设备来传输报文。其中,发送端设备可以是终端,接收端设备可以是服务器,网络设备可以包括路由器和交换机等具备报文转发功能的设备。

2、当网络设备出现故障,或者网络设备之间的链路出现故障时,发送端设备发出的部分报文可能会被丢弃。为了保证通信的可靠性,发送端设备可以向接收端设备重传该被丢弃报文。但是,重传会引入端到端的通信时延(delay)以及抖动(jitter),导致网络服务质量下降。


技术实现思路

1、本技术提供了一种报文传输方法、装置及系统,可以解决报文重传导致的网络服务质量下降的技术问题。

2、第一方面,提供了一种报文传输方法,应用于发送端设备。该方法包括:与接收端设备建立传输层连接,并通过该传输层连接向接收端设备发送第一报文和第二报文,使得该第一报文和第二报文通过不同的路径传输至接收端设备。其中,该第一报文和第二报文的载荷相同,且该第一报文和第二报文用于供接收端设备保留其中一个报文,并丢弃另一个报文。

3、本技术提供的方案中,发送端设备和接收端设备能够实现报文的双发选收。相比于报文丢包后重传,该双方选收的方式不仅可以确保报文传输时的可靠性,且可以避免引入端到端的通信时延和抖动,有效确保了网络服务质量。其中,该发送端设备与接收端设备中的一个可以为客户端设备,另一个可以为服务端设备。

4、可选地,与接收端设备建立传输层连接的过程可以包括:与接收端设备建立第一传输层连接和第二传输层连接。相应的,通过该传输层连接向接收端设备发送第一报文和第二报文的过程可以包括:通过该第一传输层连接向接收端设备发送第一报文,并通过该第二传输层连接向接收端设备发送第二报文。

5、由于发送端设备与接收端设备之间能够建立两个传输层连接,因此该两个传输层连接可以传输载荷相同的报文,由此有效确保了报文传输时的可靠性。

6、可选地,该第一传输层连接的源地址与第二传输层连接的源地址不同;和/或,该第一传输层连接的目的地址与第二传输层连接的目的地址不同。

7、其中,每个传输层连接的源地址可以是发送端设备的一个物理接口的网络地址,每个传输层连接的目的地址可以是接收端设备的一个物理接口的网络地址。该物理接口的网络地址可以是互联网协议(internet protocol,ip)地址。

8、可选地,该第一传输层连接的源地址与第二传输层连接的源地址可以不同,且该发送端设备可以与一个或多个网关设备连接。或者,该第一传输层连接的源地址与第二传输层连接的源地址相同,且该发送端设备可以与一个网关设备连接。

9、若两个传输层连接的源地址不同,则该两个传输层连接的源地址可以是发送端设备的不同物理接口的网络地址。相应的,发送端设备可以通过不同的物理接口与一个或多个网关设备连接。若该两个传输层连接的源地址相同,则该两个传输层连接的源地址可以是发送端设备的同一物理接口的网络地址。相应的,发送端设备可以通过该一个物理接口与一个网关设备连接。

10、可选地,该第一传输层连接和第二传输层连接可以绑定至该发送端设备的同一个套接字(socket)接口,且可以绑定至该接收端设备的同一个套接字接口。由此,可以便于通过冗余的传输层连接实现报文的双发选收。

11、可选地,若该发送端设备为客户端设备,且该接收端设备为服务端设备,则与接收端设备建立第一传输层连接和第二传输层连接的过程可以包括:向服务端设备发送第一连接请求报文和第二连接请求报文,并接收服务端设备基于该第一连接请求报文发送的第一请求响应报文,以及基于该第二连接请求报文发送的第二请求响应报文。之后,即可基于该第一请求响应报文向服务端设备发送第一响应报文,以与服务端设备建立第一传输层连接,以及基于该第二请求响应报文向服务端设备发送第二响应报文,以与该服务端设备建立第二传输层连接。其中,该第一连接请求报文和第二连接请求报文中均可以包括指示信息,该指示信息用于指示该第一传输层连接和第二传输层连接绑定至客户端设备的同一个套接字接口。

12、通过在第一连接请求报文和第二连接请求报文中均携带指示信息,可以便于服务端设备确定在该两个传输层连接均建立完成后才能与客户端设备交互数据报文。

13、可选地,向该服务端设备发送第一连接请求报文和第二连接请求报文的过程可以包括:调用绑定函数,以将该第一传输层连接的源地址和第二传输层连接的源地址绑定至客户端设备的同一个套接字接口;之后,调用连接函数,以向服务端设备发送第一连接请求报文和第二连接请求报文。该连接函数的参数包括该第一传输层连接的目的地址,以及该第二传输层连接的目的地址。

14、其中,该两个传输层连接的目的地址均为服务端设备的网络地址,且该两个传输层连接的目的地址可以是客户端设备中预先配置的,或者可以是客户端设备通过域名系统(domain name system,dns)获取到的。

15、可选地,若该发送端设备为服务端设备,且接收端设备为客户端设备,则与接收端设备建立第一传输层连接和第二传输层连接的过程可以包括:接收客户端设备发送的第一连接请求报文和第二连接请求报文,该第一连接请求报文和第二连接请求报文中均包括指示信息,该指示信息用于指示该第一传输层连接和第二传输层连接绑定至客户端设备的同一个套接字接口。之后,基于该第一连接请求报文向客户端设备发送第一请求响应报文,并基于该第二连接请求报文向客户端设备发送第二请求响应报文。进一步的,接收该客户端设备基于第一请求响应报文发送的第一响应报文,以与客户端设备建立第一传输层连接,以及接收该客户端设备基于第二请求响应报文发送的第二响应报文,以与客户端设备建立第二传输层连接。

16、相应的,通过该第一传输层连接向接收端设备发送第一报文,并通过第二传输层连接向该接收端设备发送第二报文的过程可以包括:基于该指示信息,在确定该第一传输层连接和该第二传输层连接均建立完成后,通过该第一传输层连接向接收端设备发送第一报文,并通过该第二传输层连接向接收端设备发送第二报文。

17、服务端设备能够基于指示信息,在确定两个传输层连接均建立完成后,再通过该两个传输层连接与客户端设备交互报文,由此可以确保双发选收的可靠性。可以理解的是,服务端设备若确定该两个传输层连接未在目标时长内建立完成,则可以拆分该传输层连接。

18、可选地,服务端设备在接收客户端设备发送的第一连接请求报文和第二连接请求报文之前,该方法还可以包括:调用绑定函数,以将该第一传输层连接的源地址和第二传输层连接的源地址绑定至该服务端设备的同一个套接字接口,以及调用监听函数,以接收该客户端设备发送的第一连接请求报文和第二连接请求报文。

19、可以理解的是,对于服务端设备,该每个传输层连接的源地址均为服务端设备的一个网络地址。对于客户端设备,该服务端设备的网络地址为传输层连接的目的地址。

20、可选地,该第一连接请求报文和第二连接请求报文中的指示信息可以包括该客户端设备生成的随机数。该随机数也可以称为挑战字或魔术字。

21、可选地,该第一连接请求报文中携带的指示信息可以包括第二传输层连接的五元组信息,相应的,该第二连接请求报文中携带的指示信息可以包括第一传输层连接的五元组信息。

22、可以理解的是,客户端设备与服务端设备之间建立的传输层连接的数量可以大于或等于2。对于传输层连接的数量大于2的场景,客户端设备可以在其发送的多个连接请求报文中均携带相同的随机数。相比于携带五元组信息,由于随机数的数据量相对较小,因此可以避免指示信息占用过多的比特位,进而可以避免连接请求报文的报文头的长度过长。

23、可选地,该第一连接请求报文和第二连接请求报文均可以包括传输层报文头,该传输层报文头中的选项字段中可以携带有该指示信息。

24、可选地,该第一连接请求报文和第二连接请求报文中还可以均包括连接个数。该连接个数用于指示绑定至客户端设备的同一个套接字接口的传输层连接的个数,且该连接个数大于或等于2。

25、通过在连接请求报文中携带连接个数,可以便于服务端设备准确地确定与同一个套接字接口绑定的传输层连接的数量,进而可以确保服务端设备在确定各个传输层连接均建立完成后,再与客户端设备交互数据报文。

26、可选地,与接收端设备建立传输层连接的过程还可以包括:与该接收端设备建立第三传输层连接,并且,该方法还可以包括:通过第三传输层连接向接收端设备发送第三报文,使得该第一报文、第二报文和第三报文通过不同的路径传输至该接收端设备。其中,该第一报文、第二报文和第三报文的载荷相同,且该第一报文、第二报文和第三报文用于供接收端设备保留其中一个报文,并丢弃其他报文。

27、基于上文描述可知,发送端设备与接收端设备之间建立的传输层连接的个数可以大于2,相应的,发送端设备与接收端设备之间可以实现报文的多发选收。

28、可选地,该第一报文和第二报文中还可以均包括多发选收标记,该多发选收标记用于指示网关设备将该第一报文和第二报文通过不同的路径传输至接收端设备。

29、由于网关设备可以基于报文中的多发选收标记,通过不同的路径传输不同的报文,因此也可以实现报文的多发选收。可以理解的是,在该实现方式中,发送端设备与接收端设备可以建立一个传输层连接。

30、可选地,该第一报文和第二报文均可以为互联网协议第6版(internet protocolversion 6,ipv6)报文,该ipv6报文的扩展报文头中包括该多发选收标记。

31、可选地,该方法还可以包括:通过该传输层连接接收该接收端设备发送的第三响应报文和第四响应报文,并将该第三响应报文和第四响应报文中在后接收到的响应报文丢弃。其中,该第三响应报文是接收端设备在接收到第一报文后发送的,该第四响应报文是接收端设备在接收到第二报文后发送的。

32、该第三响应报文和第四响应报文也能够通过不同的路径传输至发送端设备。也即是,发送端设备和接收端设备之间还可以实现响应报文的双发选收。其中,响应报文也可以称为确认报文。

33、可选地,该发送端设备与接收端设备之间建立的传输层连接可以为下述连接中的任一种:传输控制协议(transmission control protocol,tcp)连接、用户数据报协议(user datagram protocol,udp)连接、流控制传输协议(stream control transmissionprotocol,sctp)连接、快速udp互联网连接(quick udp internet connections,quic)以及多链路tcp(mulit-path tcp,mptcp)连接等。

34、第二方面,提供了一种报文传输方法,应用于接收端设备。该方法包括:与发送端设备建立传输层连接,通过该传输层连接接收发送端设备发送的第一报文和第二报文,并将该第一报文和第二报文中在后接收到的一个报文丢弃。其中,该第一报文和第二报文的载荷相同,且该第一报文和第二报文通过不同的路径传输至该接收端设备。

35、可选地,与发送端设备建立传输层连接的过程可以包括:与发送端设备建立第一传输层连接和第二传输层连接。相应的,通过该传输层连接接收发送端设备发送的第一报文和第二报文的过程可以包括:通过该第一传输层连接接收该发送端设备发送的第一报文,并通过该第二传输层连接接收该发送端设备发送的第二报文。

36、可选地,该第一传输层连接和第二传输层连接绑定至该发送端设备的同一个套接字接口,且绑定至该接收端设备的同一个套接字接口。

37、可选地,该第一传输层连接的源地址和第二传输层连接的源地址不同;和/或,该第一传输层连接的目的地址和第二传输层连接的目的地址不同。

38、可选地,该方法还可以包括:基于接收到第一报文,通过该传输层连接向发送端设备发送第三响应报文;基于接收到第二报文,通过该传输层连接向发送端设备发送第四响应报文。其中,该第三响应报文和第四响应报文用于供发送端设备保留其中一个报文,并丢弃另一个报文。

39、可选地,该传输层连接可以为tcp连接、udp连接、sctp连接、quic或者mptcp连接。

40、第三方面,提供了一种报文传输方法,应用于网关设备,该方法包括:接收发送端设备发送的第一报文和第二报文,该第一报文和该第二报文均包括多发选收标记。之后,基于该多发选收标记,将该第一报文和第二报文通过不同的路径传输至接收端设备,以使接收端设备保留该第一报文和第二报文中的一个报文,并丢弃另一个报文。其中,该发送端设备与接收端设备之间建立有传输层连接。

41、可选地,该第一报文和第二报文均可以为ipv6报文,该ipv6报文的扩展报文头中包括该多发选收标记。

42、第四方面,提供了一种报文传输设备,该报文传输设备可以是报文传输系统中的发送端设备、接收端设备或网关设备。该报文传输设备可以包括至少一个模块,该至少一个模块可以用于实现上述任一方面所提供的报文传输方法。

43、第五方面,提供了一种报文传输设备,该报文传输设备可以是报文传输系统中的发送端设备、接收端设备或网关设备。该报文传输设备可以包括:存储器,处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如上述任一方面所提供的报文传输方法。

44、第六方面,提供了一种报文传输设备,该报文传输设备可以是报文传输系统中的发送端设备、接收端设备或网关设备。该报文传输设备可以包括:主控板和接口板,该主控板和接口板可以用于实现上述任一方面所提供的报文传输方法。

45、第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令由处理器执行以实现如上述任一方面所提供的报文传输方法。

46、第八方面,提供了一种包含指令的计算机程序产品,该指令由处理器执行以实现如上述任一方面所提供的报文传输方法。

47、第九方面,提供了一种报文传输系统,该报文传输系统包括:发送端设备和接收端设备。其中,该发送端设备用于实现上述第一方面所提供的报文传输方法,该接收端设备用于实现上述第二方面所提供的报文传输方法。

48、可选地,该系统还可以包括网关设备,该网关设备可以用于实现上述第三方面所提供的报文传输方法。

49、第十方面,提供了一种芯片,该芯片可以用于实现上述任一方面所提供的报文传输方法。

50、综上所述,本技术提供了一种报文传输方法、装置及系统。本技术提供的方案中,发送端设备能够与接收端设备之间建立传输层连接,并能够通过该传输层连接向接收端设备发送第一报文和第二报文,且该第一报文和第二报文能够通过不同的路径传输至接收端设备。由于该第一报文和第二报文的载荷相同,因此接收端设备能够保留其中一个报文,并丢弃另一个报文。基于此,发送端设备和接收端设备能够实现报文的双发选收。相比于报文丢包后重传,该双方选收的方式不仅可以确保报文传输时的可靠性,且可以避免引入端到端的通信时延和抖动,有效确保了网络服务质量。

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