CN117812130A - 一种报文传输方法及装置 - Google Patents
一种报文传输方法及装置 Download PDFInfo
- Publication number
- CN117812130A CN117812130A CN202211173676.1A CN202211173676A CN117812130A CN 117812130 A CN117812130 A CN 117812130A CN 202211173676 A CN202211173676 A CN 202211173676A CN 117812130 A CN117812130 A CN 117812130A
- Authority
- CN
- China
- Prior art keywords
- sequence number
- message
- network
- network device
- link
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 172
- 230000005540 biological transmission Effects 0.000 title claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 86
- 238000012790 confirmation Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002441 reversible effect Effects 0.000 claims description 6
- 239000000523 sample Substances 0.000 claims 1
- 239000000758 substrate Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 25
- 230000006870 function Effects 0.000 description 14
- 230000001360 synchronised effect Effects 0.000 description 13
- 101100535673 Drosophila melanogaster Syn gene Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 101100043727 Caenorhabditis elegans syx-2 gene Proteins 0.000 description 5
- 101100043731 Caenorhabditis elegans syx-3 gene Proteins 0.000 description 5
- 101100368134 Mus musculus Syn1 gene Proteins 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例涉及通信技术领域,提供一种报文传输方法及装置,用于减少终端设备与网络设备之间的握手时延。在该方法中,在任播节点通过握手过程与终端设备建立链接之后,第一组件可以接收来自终端设备的第一报文,并根据该第一报文以及一个或多个网络设备的信息,向第一网络设备发送第二报文。其中,该第一网络设备是该一个或多个网络设备中的一个网络设备,该一个或多个网络设备是已通过握手过程与任播节点之间建立了链接关系的网络设备,其中的第二报文包括的信息与第一报文包括的信息相同。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文传输方法及装置。
背景技术
全球加速(global accelerator,GA)是一款覆盖全球的网络加速服务,可实现全球网络就近接入和跨地域部署,以减少延迟、抖动、丢包等网络问题对服务质量的影响,为全球用户提供高可用和高性能的网络加速服务。
任播(anycast)互联网协议(internet protocol,IP)技术可以在多个地方发布同一个IP地址,以使得终端设备可选择最近的地方接入,从而降低访问时延,是实现GA的一种常用技术。GA可以借助于应用anycast IP技术的骨干(backbone)网络的网络优势(如低访问时延、无拥塞等)来实现。在anycast IP技术中,终端设备可通过任播节点与网络设备进行通信,该终端设备与网络设备的握手过程如下:终端设备发起握手过程,与就近的任播节点完成三次握手,以建立与该任播节点之间的链接;在终端设备与该任播节点建立链接之后,该任播节点发起握手过程,与网络设备完成三次握手,以建立与该网络设备之间的链接。终端设备与网络设备之间的握手时延相当于终端设备与网络设备之间的传输时延的三倍。那么如何减少终端设备与网络设备之间的握手时延,以通过握手加速来实现GA是需要解决的问题。
发明内容
本申请实施例提供一种报文传输方法及装置,用于减少终端设备与网络设备之间的握手时延。
第一方面,本申请实施例提供一种报文传输方法,该方法可以由任播节点执行,或者由任播节点的部件执行,如由该任播节点的第一组件执行。在该方法中,在任播节点通过握手过程与终端设备建立链接之后,第一组件可以接收来自终端设备的第一报文,并根据该第一报文以及一个或多个网络设备的信息,向第一网络设备发送第二报文。其中,该第一网络设备是该一个或多个网络设备中的一个网络设备,该一个或多个网络设备是已通过握手过程与任播节点之间建立了链接关系的网络设备,其中的第二报文包括的信息与第一报文包括的信息相同。
在本申请实施例中,任播节点在通过握手过程与终端设备建立链接关系之前,可以先通过握手过程与一个或多个网络设备建立链接关系。这样在任播节点通过握手过程与终端设备建立链接关系之后,可以使用该任播节点与网络设备已建立好的链接向该网络设备发送来自终端设备的信息,无需在接收到终端设备的信息后再通过握手过程与网络设备建立链接关系,节省了任播节点接收到终端设备的信息后再通过握手过程与网络设备建立链接关系的时延,从而能够减少终端设备与网络设备之间的握手时延。
在一种可能的实现方式中,该方法还可以包括:在任播节点通过握手过程与终端设备建立链接之前,第一组件可以接收来自云平台的配置信息,该配置信息可用于配置任播节点与一个或多个网络设备之间的链接参数,以及,根据该配置信息,与该一个或多个网络设备建立链接,并存储任播节点与一个或多个网络设备存在链接关系的信息。通过该方式,第一组件可根据来自云平台的配置信息与一个或多个网络设备建立链接关系,并存储任播节点与该一个或多个网络设备存在链接关系的信息,以便后续任播节点确定已与自身建立好链接关系的网络设备。
在一种可能的实现方式中,该方法还可以包括:在任播节点通过握手过程与终端设备建立链接之前,第一组件可以接收来自云平台的指示信息,该指示信息可用于指示一个或多个网络设备,该一个或多个网络设备为能够或支持与任播节点在其与终端设备建立链接之前建立链接关系的网络设备。通过该方式,第一组件可以确定哪个或哪些网络设备支持在任播节点与终端设备建立链接之前与该任播节点建立链接关系,提高兼容性。
在一种可能的实现方式中,该方法还包括:第一组件可以向云平台发送请求消息,请求消息用于请求能够与任播节点在任播节点与终端设备建立链接之前建立链接关系的网络设备的信息。通过该方式,第一组件可以主动从云平台处获取支持与任播节点在该任播节点与终端设备建立链接之前建立链接关系的网络设备的信息。当然,在另一种可能的实现方式中,云平台也可以主动向任播节点推送支持与任播节点在任播节点与终端设备建立链接之前建立链接关系的网络设备的信息,实现方式灵活。
在一种可能的实现方式中,该方法还可以包括:在向第一网络设备发送第二报文之后第一组件通过挥手过程断开与第一网络设备之间的链接,并删除与第一网络设备存在链接关系的信息,这样可以避免任播节点与第一网络设备已断开链接,但任播节点仍然将第一网络设备作为与该任播节点已建立好链接的网络设备的冲突。
在一种可能的实现方式中,该方法还可以包括:在删除与第一网络设备存在链接关系的信息之后,第一组件可以通过握手过程与第一网络设备建立链接,并存储与该第一网络设备存在链接关系的信息,这样能够及时建立与第一网络设备之间的链接,完善任播节点存储的与自身存在链接关系的网络设备的信息,以便后续为终端设备选择合适的网络设备。
在一种可能的实现方式中,该方法还可以包括:第一组件接收来自第一网络设备的第一确认消息,第一确认消息用于指示第二报文接收成功,以便第一组件确定第一网络设备已成功接收第二报文。
在一种可能的实现方式中,第二报文的序列号是根据第一序列号和第一值确定的,第一确认消息的序列号是根据第二序列号和第二值确定的;其中,第一序列号是在与终端设备的握手过程中接收的来自终端设备的同步序列编号消息的序列号,第二序列号是在与终端设备的握手过程中向终端设备发送的同步序列编号确认消息的序列号,第一值为第一序列号与第三序列号之差,第二值为第二序列号与第四序列号之差,第三序列号是在与第一网络设备的握手过程中向第一网络设备发送的同步序列编号消息的序列号,第四序列号是在与第一网络设备的握手过程中接收的来自第一网络设备的同步序列编号确认消息的序列号。
在一种可能的实现方式中,该方法还可以包括:第一组件向终端设备发送第二确认消息,第二确认消息用于指示第一报文接收成功,以便终端设备确定任播节点已成功接收第一报文。
在一种可能的实现方式中,第一报文的序列号是根据第三序列号和第三值确定的,第二确认消息的序列号是根据第四序列号和第四值确定的,其中,第三值为第三序列号与第一序列号之差,第四值为第四序列号与第二序列号之差。
在一种可能的实现方式中,在与第一网络设备的挥手过程中,向第一网络设备发送的挥手请求消息的序列号是根据第一序列号和第一值确定的,接收的来自第一网络设备的挥手确认消息的序列号是根据第二序列号和第二值确定的;以及,接收的来自第一网络设备的挥手请求消息的序列号是根据第二序列号和第二值确定的,向第一网络设备发送的挥手确认消息的序列号是根据第一序列号和第一值确定的。
在一种可能的实现方式中,该方法还可以包括:在向第一网络设备发送第二报文之前,第一组件可以根据第一报文的五元组信息和/或一个或多个网络设备的负载信息,从一个或多个网络设备中确定第一网络设备,这样第一组件可以为终端设备选择合适的网络设备。
在一种可能的实现方式中,该第一组件可以为反向代理组件,或者该第一组件也可以为非反向代理组件,实现方式灵活。
第二方面,本申请实施例提供一种报文传输装置,该报文传输装置用于执行为上述第一方面及第一方面任一项可能的实现方式中所述的方法。该通信装置例如为任播节点,或为任播节点中的功能模块,例如基带装置或芯片系统等。一种可能的实现方式中,所述报文传输装置包括基带装置和射频装置。另一种可能的实现方式中,所述报文传输装置包括处理模块(有时也称为处理单元)和收发模块(有时也称为收发单元)。收发模块能够实现发送功能和接收功能,在收发模块实现发送功能时,可称为发送模块(有时也称为发送单元),在收发模块实现接收功能时,可称为接收模块(有时也称为接收单元)。发送模块和接收模块可以是同一个功能模块,该功能模块称为收发模块,该功能模块能实现发送功能和接收功能;或者,发送模块和接收模块可以是不同的功能模块,收发模块是对这些功能模块的统称。
示例性的,处理模块可用于通过握手过程与终端设备建立链接。收发模块可用于在处理模块通过握手过程与终端设备建立链接之后,接收来自该终端设备的第一报文,并根据该第一报文以及一个或多个网络设备的信息向第一网络设备发送第二报文。该一个或多个网络设备是已通过握手过程与报文传输装置之间建立了链接关系的网络设备,该第一网络设备是该一个或多个网络设备中的一个网络设备,第二报文包括的信息与第一报文包括的信息相同。
可选的,该报文传输装置还可以包括存储模块(有时也称为存储单元)。该存储模块可存储数据、信息、计算机程序、指令等。例如,该存储模块可存储报文传输装置与一个或多个网络设备存储链接关系的信息。
第三方面,本申请实施例提供一种计算设备。所述计算设备可以包括一个或多个处理器。可选地,该计算设备还可以包括存储器。其中,所述存储器用于存储一个或多个计算机程序或指令。所述一个或多个处理器用于执行所述存储器存储的所述一个或多个计算机程序或指令,以使得所述计算设备执行上述第一方面及第一方面任一项可能的实现方式中所述的方法。
第四方面,本申请实施例提供一种通信系统,包括上述第三方面提供的通信装置以及上述第一方面及第一方面任一项可能的实现方式中所涉及的终端设备以及一个或多个网络设备,或者包括上述第三方面提供的通信装置以及上述第一方面及第一方面任一项可能的实现方式中所涉及的终端设备、云平台以及一个或多个网络设备。
第五方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序或指令,当其被运行时,使得上述第一方面及第一方面任一项可能的实现方式中所述的方法被实现。
第六方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得上述第一方面及第一方面任一项可能的实现方式中所述的方法被实现。
第七方面,本申请还提供一种芯片,所述芯片与存储器耦合,用于读取并执行所述存储器中的程序指令,以使得所述芯片所在装置实现上述第一方面及第一方面任一项可能的实现方式中所述的方法。
附图说明
图1为本申请实施例适用的通信系统的架构示意图;
图2为本申请实施例中终端设备与网络设备建立连接的一种流程示意图;
图3为本申请实施例提供的报文传输方法的流程示意图;
图4为本申请实施例提供的云平台和任播节点的一种示意图;
图5为本申请实施例提供的报文传输方法的又一种流程示意图;
图6为本申请实施例提供的报文传输装置的一种结构示意图;
图7为本申请实施例提供的计算设备的一种结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面结合附图介绍本申请实施例。
需要说明的是,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例的技术方案可以应用于各种通信系统,例如长期演进(long termevolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、第五代(5th generation,5G)移动通信系统或新无线(newradio,NR)系统,或者应用于未来的通信系统或其它类似的通信系统等。
本申请实施例中“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。本申请实施例中的术语“系统”和“网络”可被互换使用。本申请实施例中的术语“根据”和“基于”可被互换使用。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,本申请实施例涉及的第一报文和第二报文用于对两个报文进行区别,并不限定于该两个报文的优先级或重要程度等。
另外,在本申请实施例中,“示例性的”一词用于表示作例子、例证或说明。本申请中被描述为“示例性的”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”一词旨在以具体方式呈现概念。
如图1所示,为本申请实施例适用的通信系统的示意图。该系统中包括终端设备、至少一个任播节点和至少一个网络设备。图1中以任播节点1、任播节点2和任播节点3,网络设备1、网络设备2和网络设备3为例。可选的,该系统还可以包括云平台,图1中用虚线表示。
终端设备,也可称为应用客户端等,是一种具有无线收发功能的设备,可以是固定设备,移动设备、手持设备、穿戴设备、车载设备,或内置于上述设备中的无线装置(例如,通信模块或芯片系统等)。该终端设备还可以称为用户设备(user equipment,UE)、接入终端、终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、用户代理或用户装置等。该终端设备例如可以包括但不限定于:手机、平板电脑、带无线收发功能的电脑、带无线收发功能的智能电视等。本申请实施例对终端设备所采用的具体技术和具体设备形态不做限定。
任播节点,是在终端设备与网络设备之间进行通信中实现数据转发的节点,也即终端设备发往网络设备的数据、以及网络设备发往终端设备的数据均需要经过任播节点的转发。通信系统中通常可在多个地方部署多个任播节点,该多个任播节点共享一个IP地址。终端设备通过该IP地址选择与就近的一个任播节点建立链接,以减少传输时延。该任播节点可以部署在计算设备上,本申请并不限定该计算设备类型以及部署位置,例如该计算设备可以是部署在服务器或服务器集群,也可以是部署在云端的服务器或服务器集群。
网络设备,也可称为应用服务器,或应用服务端等,为终端设备提供应用业务服务。该网络设备可由计算设备或计算设备的部件实现。本申请实施例不限定该计算设备的具体实现形式,例如,该计算设备可以是服务器或服务器集群,或者也可以是云端的服务器或服务器集群。
云平台部署在云端,可以部署在云端的服务器或服务器集群,用于对终端设备与网络设备之间的通信进行管理。例如,云平台可维护终端设备的能力信息,网络设备的能力信息等。又例如,云平台可为终端设备或任播节点配置与网络设备建立链接关系的参数。
以游戏应用为例,终端设备可安装游戏客户端,网络设备1至网络设备2上安装游戏服务端,为该终端设备提供游戏服务。终端设备可将游戏客户端产生的数据通过任播节点发送给游戏服务端。例如,终端设备通过握手过程与就近的任播节点1建立链接后,终端设备向该任播节点1发送数据;任播节点1接收到数据后,可以选择一个网络设备为该终端设备提供游戏服务,如选择网络设备1;任播节点1通过握手过程与网络设备1建立链接,并向该网络设备1发送该数据;网络设备1的游戏服务端接收到该数据后,对该数据进行相应的处理。可选的,游戏服务端可以通过任播节点1将处理结果发送给游戏客户端。
以任播节点1和网络设备1为例,图2示出了终端设备与网络设备建立链接关系的流程示意图。如图2所示,该流程可包括如下内容。
S201:终端设备向任播节点1发送同步序列编号(synchronize sequencenumbers,SYN)消息1(记为SYN 1);相应的,任播节点1接收来自终端设备的SYN 1。例如,终端设备准备发送数据时可以发起握手过程,如根据暴露任播IP地址向任播节点1发起握手过程。
S202:任播节点1向终端设备发送同步序列编号确认(SYN acknowledgement,SYN-ACK)消息(记为SYN-ACK 1);相应的,终端设备接收来自任播节点1的SYN-ACK 1。
S203:终端设备向任播节点1发送确认消息1(记为ACK 1);相应的,任播节点1接收来自终端设备的ACK 1。
至此,终端设备与任播节点1完成三次握手,终端设备与任播节点1建立链接关系。
S204:终端设备向任播节点1发送数据;相应的,任播节点1接收来自终端设备的数据。
S205:任播节点1向网络设备1发送同步序列编号消息2(记为SYN 2);相应的,网络设备1接收来自任播节点1的SYN 2。例如,任播节点1接收到来自终端设备的数据后,可选择网络设备1为终端设备提供服务,并向网络设备1发起握手过程。
S206:网络设备1向任播节点1发送同步序列编号确认消息2(记为SYN-ACK 2);相应的,任播节点1接收来自网络设备1的SYN-ACK 2。
S207:任播节点1向网络设备1发送确认消息2(记为ACK 2);相应的,网络设备1接收来自任播节点1的ACK 2。
至此,任播节点1与网络设备1完成三次握手,任播节点1与网络设备1建立链接关系。
S208:任播节点1向网络设备1发送数据;相应的,网络设备1接收该数据。至此,网络设备1接收到来自终端设备的数据。
目前,终端设备与网络设备之间的握手时延是终端设备与网络设备之间的传输时延的三倍。如何减少终端设备与网络设备之间的握手时延,实现GA,是需要解决的问题。鉴于此,本申请实施例提供一种报文传输方式及装置,在该方法中,任播节点在通过握手过程与终端设备建立链接之前,预先通过与一个或多个网络设备建立链接关系,这样在任播节点通过握手过程与终端设备建立链接关系之后,任播节点无需再发起握手过程,从原本终端设备与网络设备之间的传输时延的三倍缩短到终端设备到任播节点之间的传输时延的三倍,从而能够减少终端设备与网络设备之间的握手时延。
图3示出了本申请实施例提供的报文传输方法的流程示意图。该方法可应用于图1所示的通信系统中。如图3所示,该方法可包括如下内容。
S301:任播节点通过握手过程与一个或多个网络设备建立链接关系。该一个或多个网络设备包括第一网络设备。图3以任播节点通过握手过程与第一网络设备建立链接关系为例。
在本实施例中,任播节点可以通过握手过程与一个或多个网络设备建立链接关系。例如,云平台可以向任播节点发送配置信息,该配置信息可用于配置该任播节点与该一个或多个网络设备之间的链接参数,该链接参数例如可以包括但不限定于端口号、任播ip等。任播接收到该配置信息后,可根据该配置信息与一个或多个网络设备建立链接。其中,该云平台可主动向任播节点发送该配置信息,如根据业务需求等主动向任播节点发送该配置信息,或者也可以响应于任播节点的用于请求该配置信息的请求消息后,向该任播节点发送该配置信息,本申请实施例不作限定。
在一种可能的实现方式中,该云平台还可以向任播节点发送指示信息,该指示信息可用于指示一个或多个网络设备,如包括该一个或多个网络设备的标识。该一个或多个网络设备是能够(或支持)与该任播节点在该任播节点与终端设备建立链接关系之前建立链接关系的网络设备。例如,云平台可根据维护的网络设备的能力信息确定该网络设备是否支持与该任播节点在该任播节点与终端设备建立链接关系之前建立链接关系的网络设备。其中,云平台可主动向任播节点发送该指示信息,也可以响应于任播节点的请求消息向该任播节点发送该指示信息。例如,任播节点向云平台发送请求消息,该请求消息可用于请求能够(或支持)与任播节点在任播节点与终端设备建立链接之前建立链接关系的网络设备的信息。
可选的,该配置信息和指示信息可携带在同一个消息中,也可以携带在不同的消息中。在另一种可能的实现方式中,该配置信息也可以隐式指示该一个或多个网络设备是能够(或支持)与任播节点在任播节点与终端设备建立链接之前建立链接关系的网络设备,采用这样的隐式指示方式,可节省传输资源的消耗。
在一种可能的实现方式中,任播节点通过握手过程与一个或多个网络设备建立链接关系之后,该任播节点可存储与一个或多个网络设备存在链接关系的信息。该信息可以采用表格的形式存储,如称为链接表,该链接表包括已通过握手过程与任播节点建立好链接关系的网络设备的信息;或者,该信息也可以采用资源池的形式存储,如称为链接池,该链接池包括已通过握手过程与任播节点建立好链接关系的网络设备的信息;或者,该信息还可以采用其它形式进行存储,本申请实施例不作限定。这样,任播节点可确定自身与哪个或哪些网络设备已通过握手过程建立好链接关系。为了便于表述,下文将任播节点与一个或多个网络设备建立链接关系的信息称为链接池。
在S301中,任播节点通过握手过程与一个或多个网络设备建立链接关系的具体实现过程请参考图2中的S205至S207所示的内容,此处不再赘述。
S302:终端设备通过握手过程与任播节点建立链接关系。
例如,终端设备存在待发送的信息,终端设备可发起握手过程。该S302的具体实现过程请参考图2中的S201至S203所示的内容,此处不再赘述。该待发送的信息可以是视频数据、图像数据、控制消息等,本申请实施例对待发送的信息的具体实现形式不作限定。
S303:终端设备向任播节点发送第一报文;相应的,任播节点接收该第一报文。
在终端设备与任播节点建立链接关系之后,终端设备可以向任播节点发送第一报文。例如,终端设备可将待发送的信息封装成第一报文,并向任播节点发送该第一报文。
S304:任播节点根据该第一报文以及一个或多个网络设备的信息,向第一网络设备发送第二报文;相应的,第一网络设备接收该第二报文。
其中,第二报文包括的信息与第一报文包括的信息相同。例如,任播节点将来自终端设备的待发送的信息转发给第一网络设备,在转发过程中,该任播节点可对该待发送的信息进行封装,得到该第二报文。
示例性的,任播节点接收到第一报文后,可以从已通过握手过程与任播节点建立好链接关系中的一个或网络设备中选择第一网络设备,即从链接池中选择第一网络设备,并向该第一网络设备发送第二报文。例如,任播节点可根据负载均衡原则从该一个或多个网络设备中确定第一网络设备。例如,该任播节点可根据第一报文的五元组信息,或者根据该一个或多个网络设备的负载信息,或者根据第一报文的五元组信息和该一个或多个网络设备的负载信息,从该一个或多个网络设备中确定第一网络设备。例如,任播节点可以根据第一报文的五元组信息计算哈希值,并根据该哈希值从该一个或多个网络设备中确定第一网络设备。例如,任播节点可根据该一个或多个网络设备的负载信息,从该一个或多个网络设备中选择负载最小的一个网络设备为该第一网络设备。又例如,任播节点还可以采用轮询机制从该一个或多个网络设备中确定第一网络设备。
可选的,第一网络设备可向任播节点发送第一确认消息,该第一确认消息用于指示第二报文接收成功或接收失败。相应的,任播节点接收该第一确认消息。进一步,该任播节点可以向终端设备发送第二确认消息,该第二确认消息用于指示第一报文接收成功或接收失败。例如,第一确认消息用于指示第二报文接收成功,该第二确认消息用于指示第一报文接收成功;或者,第一确认消息用于指示第二报文接收失败,第该二确认消息用于指示第一报文接收失败。
在上述实施例中,任播节点在通过握手过程与终端设备建立链接之前,预先通过与一个或多个网络设备建立链接关系,这样在任播节点通过握手过程与终端设备建立链接关系之后,任播节点无需再发起握手过程,从原本终端设备与网络设备之间的传输时延的三倍缩短到终端设备到任播节点之间的传输时延的三倍,从而能够减少终端设备与网络设备之间的握手时延。
在S304之后,任播节点可以发起挥手过程,断开与第一网络设备之间的链接。例如,任播节点接收到来自终端设备的挥手请求后,可向第一网络设备发起挥手过程。即,任播节点可通过挥手过程断开与第一网络设备之间的链接。在本申请实施例中,任播节点通过挥手过程断开与第一网络设备之间的链接,可以删除任播节点与第一网络设备存在链接关系的信息,即从链接池中删除第一网络设备的信息,这样可以避免任播节点与第一网络设备已断开链接,但任播节点仍然将第一网络设备作为与该任播节点已建立好链接的网络设备的冲突。
在一种可能的实现方式中,在任播节点删除与第一网络设备存在链接关系的信息之后,该任播节点可执行S301的内容,即通过握手过程与该第一网络设备建立链接。进一步,该任播节点还可以存储与第一网络设备存在链接关系的信息,即在链接池中添加第一网络设备的信息。这样能够及时建立与第一网络设备之间的链接,完善任播节点存储的与自身存在链接关系的网络设备的信息,以便后续为终端设备选择合适的网络设备。
需要说明的是,图3中由任播节点执行的步骤,也可以由任播节点中的第一组件执行。该第一组件可以是反向代理组件(proxy),也可以是非反向代理组件(non proxy,该非反向代理组件例如可以是Linux虚拟服务器(linux virtual server,LVS)等。示例性的,任播节点可以包括管理代理组件(agent)和第一组件。该管理代理组件可用于将来自云平台的配置信息发送给第一组件。该第一组件可用于在任播节点与终端设备建立链接关系之前通过握手过程与一个或多个网络设备建立链接关系,以及执行图3中S302至S304的内容。
前面介绍了云平台可以向任播节点发送配置信息。图4示出了云平发向任播节点发送配置信息的示意图。如图4所示,该云平台可包括管理器,如GA管理器,用于为GA提供配置管理。可选的,云平台还可以包括数据库,该数据库用于固化对GA的配置,图4中以虚线表示。管理器可从数据库获取配置信息,并通过Kafka(图4中未示出)将配置信息发送给任播节点的管理代理组件,管理代理组件再将配置信息发送给第一组件。
本申请上述实施例中可减少终端设备与网络设备之间的握手时延,通过实现对终端设备与网络设备之间的传输控制协议(transmission control protocol,TCP)握手加速来实现GA。本申请实施例的握手过程可以是传输控制协议(transmission controlprotocol,TCP)握手过程。该TCP可通过序列号表示各个消息地传输顺序,以提供传输可靠性。
假设将任播节点与第一网络设备的握手过程中任播节点向第一网络设备发送的同步序列编号消息的序列号称为第三序列号,记为seq3,即SYN 1的序列号为seq3;任播节点与第一网络设备的握手过程中任播节点接收的来自第一网络设备的同步序列编号确认消息的序列号称为第四序列号,记为seq4,即SYN-ACK 1的序列号为seq4;将终端设备与任播节点的握手过程中任播节点接收的来自终端设备的同步序列编号消息的序列号称为第一序列号,记为seq1,即SYN 2的序列号为seq1;将终端设备与任播节点的握手过程中任播节点向终端设备发送的同步序列编号确认消息的序列号称为第二序列号,记为seq2,即SYN-ACK 2的序列号为seq2。
其中,任播节点与第一网络设备的握手过程中第一网络设备向任播节点发送的确认消息的序列号可以是第三序列号的递增或者是第三序列号与报文长度之和,本申请实施例对此不作限定。任播节点与终端设备的握手过程中任播节点接收的来自终端设备的确认消息的序列号可以是第一序列号的递增或者是第一序列号与报文长度之和,本申请实施例对此也不作限定。
在S303中,任播节点接收的来自终端设备的第一报文的序列号可以是根据第三序列号与第三值确定的。例如,该第一报文的序列号可以是第三序列号与第三值之差。其中,该第三值是第三序列号与第一序列号之差,可以记为(seq3-seq1),那么该第一报文的序列号可记为seq3-(seq3-seq1)。任播节点向终端设备发送的第二确认消息的序列号可以是根据第四序列号和第四值确定的。例如,该第二确认消息的序列号可以是第四序列号与第四值之差。其中,该第四值是第四序列号与第二序列号之差,可以记为(seq4-seq2),那么该第二确认消息的序列号可记为seq4-(seq4-seq2)。
在任播节点与终端设备的挥手过程中,该任播节点接收的来自终端设备的挥手请求消息的序列号可以是根据第三序列号和第三值确定的,例如为第三序列号与第三值之差,可以记为seq3-(seq3-seq1);该任播节点向终端设备发送的挥手确认消息的序列号可以是根据第四序列号和第四值确定的,例如为第四序列号与第四值之差,可以记为seq4-(seq4-seq2);任播节点向终端设备发送的挥手请求消息的序列号是根据第四序列号和第四值确定的,例如为第四序列号与第四值之差,可以记为seq4-(seq4-seq2);以及,该任播节点接收的来自终端设备的挥手确认消息的序列号可以是根据第三序列号和第三值确定的,例如为第三序列号与第三值之差,可以记为seq3-(seq3-seq1)。
在S304中,任播节点向第一网络设备发送的第二报文的序列号可以是根据第一序列号和第一值确定的。例如,第二报文的序列号可以是第一序列号与第一值之差。其中,该第一值是第一序列号与第三序列号之差,可以记为(seq1-seq3),那么该第二报文的序列号可记为seq1-(seq1-seq3)。任播节点接收的来自第一网络设备的第一确认消息的序列号可以是根据第二序列号和第二值确定的。例如,第一确认消息的序列号可以是第二序列号与第二值之差。其中,第二值是第二序列号与第四序列号之差,可以记为(seq2-seq4),那么该第一确认消息的序列号可记为seq2-(seq2-seq4)。
在任播节点与第一网络设备的挥手过程中,任播节点向第一网络设备发送的挥手请求消息的序列号是根据第一序列号和第一值确定的,例如为第一序列号与第一值之差,可以记为seq1-(seq1-seq3);该任播节点接收的来自第一网络设备的挥手确认消息的序列号可以是根据第二序列号和第二值确定的,例如为第二序列号与第二值之差,可以记为seq2-(seq2-seq4);该任播节点接收的来自第一网络设备的挥手请求消息的序列号可以是根据第二序列号和第二值确定的,例如为第二序列号与第二值之差,可以记为seq2-(seq2-seq4);以及,该任播节点向第一网络设备发送的挥手确认消息的序列号可以是根据第一序列号和第一值确定的,例如为第一序列号与第一值之差,可以记为seq1-(seq1-seq3)。
图5以第一组件为例,示出了本申请实施例提供的报文传输方法的又一种流程示意图。如图5所示,该流程可以包括如下内容。
S501:第一组件通过握手过程与第一网络设备建立链接关系,并记录任播节点向第一网络设备发送的SYN 1的序列号为seq3,以及记录任播节点接收到的SYN-ACK 1的序列号为seq4。例如,第一组件接收到云平台的管理器的配置信息(图5中未示出)后,该第一组件可建立前端监听端口,得到一个或多个网络设备的信息,并根据该配置信息向该的一个或多个网络设备发起握手流程,以建立与该一个或多个网络设备之间的链接关系。以及,该第一组件可将握手过程中的SYN 1的序列号初始化为seq 1,将SYN-ACK 1的序列号初始化为seq 2,并记录该两个序列号。
S502:第一组件通过握手过程与终端设备建立链接关系,并记录任播节点接收到的来自终端设备的SYN 2的序列号为seq1,以及记录任播节点向终端设备发送的SYN-ACK 2的序列号为seq2。例如,终端设备向网络设备暴露的任播IP地址发起TCP访问,该终端设备的报文被路由到最近的任播节点处进行处理。任播节点1的第一组件与终端设备完成三次握手,并将握手过程中的SYN 2的序列号记为sep 3,SYN-ACK 2的序列号初始化为seq4,并记录这两个序列号。
S503:终端设备向第一组件发送第一报文,相应的,第一组件接收来自终端设备的第一报文。该第一报文的序列号为seq3-(seq3-seq1)。
S504:第一组件向第一网络设备发送第二报文,相应的,第一网络设备接收来自第一组件的第二报文。该第二报文的序列号为seq1-(seq1-seq3)。
S505:第一网络设备向第一组件发送第一确认消息,相应的,第一组件接收来自第一网络设备的第一确认消息。第一确认消息的序列号为seq2-(seq2-seq4)。
S506:第一组件向终端设备发送第二确认消息,相应的,终端设备接收来自第一组件的第二确认消息。第二确认消息的序列号为seq4-(seq4-seq2)。
S507:终端设备向第一组件发送挥手请求消息1,相应的,第一组件接收来自终端设备的挥手请求消息1。该挥手请求消息1的序列号为seq3-(seq3-seq1)。
S508:第一组件向第一网络设备发送挥手请求消息2,相应的,第一网络设备接收来自第一组件的挥手请求消息2。该挥手请求消息2的序列号为seq1-(seq1-seq3)。
S509:第一网络设备向第一组件发送挥手确认消息1,相应的,第一组件接收来自第一网络设备的挥手确认消息1。该挥手确认消息1的序列号为seq2-(seq2-seq4)。
S510:第一组件向终端设备发送挥手确认消息2,相应的,终端设备接收来自第一组件的挥手确认消息2。该挥手确认消息2的序列号为seq4-(seq4-seq2)。
S511:第一网络设备向第一组件发送挥手请求消息3,相应的,第一组件接收来自第一网络设备的挥手请求消息3。该挥手请求消息3的序列号为seq2-(seq2-seq4)。
S512:第一组件向终端设备发送挥手请求消息4,相应的,终端设备接收来自第一组件的挥手请求消息4。该挥手请求消息4的序列号为seq4-(seq4-seq2)。
S513:终端设备向第一组件发送挥手确认消息3,相应的,第一组件接收来自终端设备的挥手确认消息3。该挥手确认消息3的序列号为seq3-(seq3-seq1)。
S514:第一组件向第一网络设备发送挥手确认消息4,相应的,第一网络设备接收来自第一组件的挥手确认消息4。该挥手确认消息4的序列号为seq1-(seq1-seq3)。
至此,任播节点与第一网络设备断开链接。
S515:第一组件删除与第一网络设备存在链接关系的信息。
S516:第一组件通过握手过程与第一网络设备建立链接关系,并存储与第一网络设备存在链接关系的信息。该S516的具体实现过程请参考S501的内容,此处不再赘述。
基于相同的发明构思,本申请实施例还提供了一种报文传输装置。该报文传输装置600可实现前述图3至图5中任播节点的功能。如图6所示,该报文传输装置600包括处理模块601和收到模块602。可选的,该报文传输装置600还可以包括存储模块603,图6中以虚线表示。
示例性的,处理模块601,用于通过握手过程与终端设备建立链接。收发模块602,用于在处理模块通过握手过程与终端设备建立链接之后,接收来自终端设备的第一报文;以及,根据第一报文以及一个或多个网络设备的信息,向第一网络设备发送第二报文,一个或多个网络设备是已通过握手过程与报文传输装置之间建立了链接关系的网络设备,其中,第一网络设备是一个或多个网络设备中的一个,第二报文包括的信息与第一报文包括的信息相同。
在一种可能的实现方式中,收发模块602,还用于在通过握手过程与终端设备建立链接之前,接收来自云平台的配置信息,配置信息用于配置报文传输装置与一个或多个网络设备之间的链接参数;处理模块601,还用于根据配置信息,与一个或多个网络设备建立链接;报文传输装置600还包括存储模块603,存储模块603用于:存储与一个或多个网络设备存在链接关系的信息。
在一种可能的实现方式中,收发模块602,还用于在通过握手过程与终端设备建立链接之前接收来自云平台的指示信息,指示信息用于指示一个或多个网络设备,一个或多个网络设备为能够与报文传输装置在报文传输装置与终端设备建立链接之前建立链接关系的网络设备。
在一种可能的实现方式中,收发模块602,还用于:向云平台发送请求消息,请求消息用于请求能够与报文传输装置在报文传输装置与终端设备建立链接之前建立链接关系的网络设备的信息。
在一种可能的实现方式中,处理模块601,还用于在向第一网络设备发送第二报文之后,通过挥手过程断开与第一网络设备之间的链接;以及,删除与第一网络设备存在链接关系的信息。
在一种可能的实现方式中,处理模块601,还用于在删除与第一网络设备存在链接关系的信息之后,通过握手过程与第一网络设备建立链接;报文传输装置600还包括存储模块603,存储模块603用于:存储与第一网络设备存在链接关系的信息。
在一种可能的实现方式中,收发模块602,还用于:接收来自第一网络设备的第一确认消息,第一确认消息用于指示第二报文接收成功。
在一种可能的实现方式中,第二报文的序列号是根据第一序列号和第一值确定的,第一确认消息的序列号是根据第二序列号和第二值确定的;其中,第一序列号是在与终端设备的握手过程中接收的来自终端设备的同步序列编号消息的序列号,第二序列号是在与终端设备的握手过程中向终端设备发送的同步序列编号确认消息的序列号,第一值为第一序列号与第三序列号之差,第二值为第二序列号与第四序列号之差,第三序列号是在与第一网络设备的握手过程中向第一网络设备发送的同步序列编号消息的序列号,第四序列号是在与第一网络设备的握手过程中接收的来自第一网络设备的同步序列编号确认消息的序列号。
在一种可能的实现方式中,收发模块602,还用于:向终端设备发送第二确认消息,第二确认消息用于指示第一报文接收成功。
在一种可能的实现方式中,第一报文的序列号是根据第三序列号和第三值确定的,第二确认消息的序列号是根据第四序列号和第四值确定的,其中,第三值为第三序列号与第一序列号之差,第四值为第四序列号与第二序列号之差。
在一种可能的实现方式中,在与第一网络设备的挥手过程中,向第一网络设备发送的挥手请求消息的序列号是根据第一序列号和第一值确定的,接收的来自第一网络设备的挥手确认消息的序列号是根据第二序列号和第二值确定的;以及,接收的来自第一网络设备的挥手请求消息的序列号是根据第二序列号和第二值确定的,向第一网络设备发送的挥手确认消息的序列号是根据第一序列号和第一值确定的。
在一种可能的实现方式中,处理模块601,还用于在向第一网络设备发送第二报文之前,一个或多个网络设备中确定第一网络设备。
上述具体实现过程请参考前述各个实施例的介绍,此处不再赘述。
本申请实施例还提供一种计算设备700。如图7所示,计算设备700包括:总线701、处理器702和存储器703。可选的,计算设备700还可以包括通信接口704(图7中以虚线表示)。处理器702、存储器703和通信接口704之间通过总线701通信。计算设备700可以是云平台或终端设备。应理解,本申请不限定计算设备700中的处理器、存储器的个数。
总线701可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线701可包括在计算设备700各个部件(例如,存储器703、处理器702、通信接口704)之间传送信息的通路。
处理器702可以是CPU、GPU、微处理器(micro processor,MP)、DSP、ASIC、FPGA或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
在一些可能的实现方式中,处理器702可以包含一个或多个图形处理器、或者其它非CPU的处理器。该处理器702用于执行存储在存储器703中的指令以实现软编码和软解码。
在一些可能的实现方式中,处理器702可以包括一个或多个CPU。该处理器702用于执行存储在存储器703中的指令以实现硬编码和硬解码。
存储器703可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器702还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。存储器703中存储有可执行的程序代码,处理器702执行该可执行的程序代码以实现图3至图5中任播节点所执行的内容。
通信接口704使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备700与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述图3至图5中任一实施例所述的方法。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在计算设备上运行时,使得计算设备执行上述图3至图5中任一实施例所述的方法。
本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现前述方法中任播节点的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应所述以权利要求的保护范围为准。
Claims (28)
1.一种报文传输方法,其特征在于,所述方法应用于任播节点的第一组件,所述方法包括:
在通过握手过程与终端设备建立链接之后,接收来自所述终端设备的第一报文;
根据所述第一报文以及一个或多个网络设备的信息,向第一网络设备发送第二报文,所述一个或多个网络设备是已通过握手过程与所述任播节点之间建立了链接关系的网络设备,其中,所述第一网络设备是所述一个或多个网络设备中的一个,所述第二报文包括的信息与所述第一报文包括的信息相同。
2.根据权利要求1所述的方法,其特征在于,在通过握手过程与终端设备建立链接之前,所述方法还包括:
接收来自云平台的配置信息,所述配置信息用于配置所述任播节点与所述一个或多个网络设备之间的链接参数;
根据所述配置信息,与所述一个或多个网络设备建立链接,并存储与所述一个或多个网络设备存在链接关系的信息。
3.根据权利要求1或2所述的方法,其特征在于,在通过握手过程与终端设备建立链接之前,所述方法还包括:
接收来自云平台的指示信息,所述指示信息用于指示所述一个或多个网络设备,所述一个或多个网络设备为能够与所述任播节点在所述任播节点与所述终端设备建立链接之前建立链接关系的网络设备。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
向所述云平台发送请求消息,所述请求消息用于请求能够与所述任播节点在所述任播节点与所述终端设备建立链接之前建立链接关系的网络设备的信息。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在向所述第一网络设备发送第二报文之后,所述方法还包括:
通过挥手过程断开与所述第一网络设备之间的链接;
删除与所述第一网络设备存在链接关系的信息。
6.根据权利要求5所述的方法,其特征在于,在所述删除与所述第一网络设备存在链接关系的信息之后,所述方法还包括:
通过握手过程与所述第一网络设备建立链接;
存储与所述第一网络设备存在链接关系的信息。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
接收来自所述第一网络设备的第一确认消息,所述第一确认消息用于指示所述第二报文接收成功。
8.根据权利要求7所述的方法,其特征在于,
所述第二报文的序列号是根据第一序列号和第一值确定的,所述第一确认消息的序列号是根据第二序列号和第二值确定的;
其中,所述第一序列号是在与所述终端设备的握手过程中接收的来自所述终端设备的同步序列编号消息的序列号,所述第二序列号是在与所述终端设备的握手过程中向所述终端设备发送的同步序列编号确认消息的序列号,所述第一值为所述第一序列号与第三序列号之差,所述第二值为所述第二序列号与第四序列号之差,所述第三序列号是在与所述第一网络设备的握手过程中向所述第一网络设备发送的同步序列编号消息的序列号,所述第四序列号是在与所述第一网络设备的握手过程中接收的来自所述第一网络设备的同步序列编号确认消息的序列号。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
向所述终端设备发送第二确认消息,所述第二确认消息用于指示所述第一报文接收成功。
10.根据权利要求9所述的方法,其特征在于,
所述第一报文的序列号是根据所述第三序列号和第三值确定的,所述第二确认消息的序列号是根据所述第四序列号和第四值确定的,其中,所述第三值为所述第三序列号与所述第一序列号之差,所述第四值为所述第四序列号与所述第二序列号之差。
11.根据权利要求8至10中任一项所述的方法,其特征在于,
在与所述第一网络设备的挥手过程中,向所述第一网络设备发送的挥手请求消息的序列号是根据所述第一序列号和所述第一值确定的,接收的来自所述第一网络设备的挥手确认消息的序列号是根据所述第二序列号和所述第二值确定的;以及,接收的来自所述第一网络设备的挥手请求消息的序列号是根据所述第二序列号和所述第二值确定的,向所述第一网络设备发送的挥手确认消息的序列号是根据所述第一序列号和所述第一值确定的。
12.根据权利要求1至11中任一项所述的方法,其特征在于,在向第一网络设备发送第二报文之前,所述方法还包括:
根据所述第一报文的五元组信息和/或所述一个或多个网络设备的负载信息,从所述一个或多个网络设备中确定所述第一网络设备。
13.根据权利要求1至12中任一项所述的方法,其特征在于,所述第一组件为反向代理组件,或者所述第一组件为非反向代理组件。
14.一种报文传输装置,其特征在于,所述装置包括处理模块和收发模块,其中,
所述处理模块,用于通过握手过程与终端设备建立链接;
所述收发模块,用于在所述处理模块通过握手过程与所述终端设备建立链接之后,接收来自所述终端设备的第一报文;以及,根据所述第一报文以及一个或多个网络设备的信息,向第一网络设备发送第二报文,所述一个或多个网络设备是已通过握手过程与所述报文传输装置之间建立了链接关系的网络设备,其中,所述第一网络设备是所述一个或多个网络设备中的一个,所述第二报文包括的信息与所述第一报文包括的信息相同。
15.根据权利要求14所述的装置,其特征在于,
所述收发模块,还用于在通过握手过程与终端设备建立链接之前,接收来自云平台的配置信息,所述配置信息用于配置所述报文传输装置与所述一个或多个网络设备之间的链接参数;
所述处理模块,还用于根据所述配置信息,与所述一个或多个网络设备建立链接;
所述报文传输装置还包括存储模块,所述存储模块用于:
存储与所述一个或多个网络设备存在链接关系的信息。
16.根据权利要求14或15所述的装置,其特征在于,
所述收发模块,还用于在通过握手过程与终端设备建立链接之前接收来自云平台的指示信息,所述指示信息用于指示所述一个或多个网络设备,所述一个或多个网络设备为能够与所述报文传输装置在所述报文传输装置与所述终端设备建立链接之前建立链接关系的网络设备。
17.根据权利要求15或16所述的装置,其特征在于,所述收发模块,还用于:
向所述云平台发送请求消息,所述请求消息用于请求能够与所述报文传输装置在所述报文传输装置与所述终端设备建立链接之前建立链接关系的网络设备的信息。
18.根据权利要求14至17中任一项所述的装置,其特征在于,
所述处理模块,还用于在向所述第一网络设备发送第二报文之后,通过挥手过程断开与所述第一网络设备之间的链接;以及,删除与所述第一网络设备存在链接关系的信息。
19.根据权利要求18所述的装置,其特征在于,
所述处理模块,还用于在所述删除与所述第一网络设备存在链接关系的信息之后,通过握手过程与所述第一网络设备建立链接;
所述报文传输装置还包括存储模块,所述存储模块用于:
存储与所述第一网络设备存在链接关系的信息。
20.根据权利要求14至19中任一项所述的装置,其特征在于,所述收发模块,还用于:
接收来自所述第一网络设备的第一确认消息,所述第一确认消息用于指示所述第二报文接收成功。
21.根据权利要求20所述的装置,其特征在于,
所述第二报文的序列号是根据第一序列号和第一值确定的,所述第一确认消息的序列号是根据第二序列号和第二值确定的;
其中,所述第一序列号是在与所述终端设备的握手过程中接收的来自所述终端设备的同步序列编号消息的序列号,所述第二序列号是在与所述终端设备的握手过程中向所述终端设备发送的同步序列编号确认消息的序列号,所述第一值为所述第一序列号与第三序列号之差,所述第二值为所述第二序列号与第四序列号之差,所述第三序列号是在与所述第一网络设备的握手过程中向所述第一网络设备发送的同步序列编号消息的序列号,所述第四序列号是在与所述第一网络设备的握手过程中接收的来自所述第一网络设备的同步序列编号确认消息的序列号。
22.根据权利要求21所述的装置,其特征在于,所述收发模块,还用于:
向所述终端设备发送第二确认消息,所述第二确认消息用于指示所述第一报文接收成功。
23.根据权利要求22所述的装置,其特征在于,
所述第一报文的序列号是根据所述第三序列号和第三值确定的,所述第二确认消息的序列号是根据所述第四序列号和第四值确定的,其中,所述第三值为所述第三序列号与所述第一序列号之差,所述第四值为所述第四序列号与所述第二序列号之差。
24.根据权利要求21至23中任一项所述的装置,其特征在于,
在与所述第一网络设备的挥手过程中,向所述第一网络设备发送的挥手请求消息的序列号是根据所述第一序列号和所述第一值确定的,接收的来自所述第一网络设备的挥手确认消息的序列号是根据所述第二序列号和所述第二值确定的;以及,接收的来自所述第一网络设备的挥手请求消息的序列号是根据所述第二序列号和所述第二值确定的,向所述第一网络设备发送的挥手确认消息的序列号是根据所述第一序列号和所述第一值确定的。
25.根据权利要求14至24中任一项所述的装置,其特征在于,
所述处理模块,还用于在向第一网络设备发送第二报文之前,一个或多个网络设备中确定所述第一网络设备。
26.一种计算设备,其特征在于,包括至少一个处理器和存储器;
所述至少一个处理器用于执行所述存储器中存储的指令,以使得所述计算设备执行如权利要求1至13中任一项所述的方法。
27.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备执行时,所述计算设备执行如权利要求1至13中任一项所述的方法。
28.一种计算机程序产品,其特征在于,所述计算机程序产品包括指令,当所述指令被计算机设备运行时,使得所述计算机设备执行如权利要求的1至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211173676.1A CN117812130A (zh) | 2022-09-26 | 2022-09-26 | 一种报文传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211173676.1A CN117812130A (zh) | 2022-09-26 | 2022-09-26 | 一种报文传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117812130A true CN117812130A (zh) | 2024-04-02 |
Family
ID=90425329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211173676.1A Pending CN117812130A (zh) | 2022-09-26 | 2022-09-26 | 一种报文传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117812130A (zh) |
-
2022
- 2022-09-26 CN CN202211173676.1A patent/CN117812130A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109842906B (zh) | 一种通信的方法、装置及系统 | |
EP4009593A1 (en) | Data transmission method and apparatus, network card and storage medium | |
US9036517B2 (en) | Methods and apparatus for establishing a tunneled direct link setup (TDLS) session between devices in a wireless network | |
EP4054133A1 (en) | Multipath transmission method and device | |
CN111866956A (zh) | 一种数据传输方法及对应的设备 | |
US20220086262A1 (en) | Network packet processing method and apparatus and network server | |
CN109922144B (zh) | 用于处理数据的方法和装置 | |
CN110312283B (zh) | 一种信息处理方法及装置 | |
JP2020532251A (ja) | メッシュポートを有するメッシュ通信ネットワーク | |
CN111211933B (zh) | 一种确定传输链路的质量的方法及装置 | |
CN112822300B (zh) | 基于rdma的数据传输方法、装置及电子设备 | |
WO2019238050A1 (zh) | 一种通信方法及装置 | |
CN112822299B (zh) | 基于rdma的数据传输方法、装置及电子设备 | |
CN102025730B (zh) | 基于http协议的数据传输装置及其实现方法 | |
EP1694007B1 (en) | Method and apparatus for transmitting data to a network and method and apparatus for receiving data from a network | |
KR100597405B1 (ko) | 소켓 어플리케이션 프로그램을 이용한 데이터 중계 시스템및 데이터 중계 방법 | |
CN111404986A (zh) | 数据传输处理方法、设备和存储介质 | |
US11172053B2 (en) | Transfer apparatus, transfer method, and program for transporting data from a single source to sinks with different communication requirements | |
CN117812130A (zh) | 一种报文传输方法及装置 | |
KR101921275B1 (ko) | 메신저에서의 파일 전송 시 기기 간 통신 기술을 활용하는 방법 및 시스템 | |
CN111641565A (zh) | 一种以太网报文的传输方法、装置及系统 | |
JP2006260543A (ja) | データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置 | |
CN109688085B (zh) | 传输控制协议代理方法、存储介质及服务器 | |
CN113037816B (zh) | 通信方法、存储介质及相关设备 | |
CN114025016B (zh) | 一种数据转发方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |