CN113691640A - 通信方法、装置、电子设备及计算机可读存储介质 - Google Patents

通信方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113691640A
CN113691640A CN202010427372.8A CN202010427372A CN113691640A CN 113691640 A CN113691640 A CN 113691640A CN 202010427372 A CN202010427372 A CN 202010427372A CN 113691640 A CN113691640 A CN 113691640A
Authority
CN
China
Prior art keywords
network address
data packet
field
destination
packet
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.)
Granted
Application number
CN202010427372.8A
Other languages
English (en)
Other versions
CN113691640B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010427372.8A priority Critical patent/CN113691640B/zh
Publication of CN113691640A publication Critical patent/CN113691640A/zh
Application granted granted Critical
Publication of CN113691640B publication Critical patent/CN113691640B/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

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

Abstract

本公开实施例公开了一种通信方法、装置、电子设备及计算机可读存储介质,所述通信方法包括获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;向所述第二网络地址发送所述第二数据包。该技术方案通过第二数据包的第二字段记录源网络地址,实现了基于UDP场景的源地址获取。

Description

通信方法、装置、电子设备及计算机可读存储介质
技术领域
本公开涉及计算机技术领域,具体涉及一种通信方法、装置、电子设备及计算机可读存储介质。
背景技术
随着基于云计算网络的计算服务不断推广,为实现基于源IP(InternetProtocol,互联网协议)地址的创新应用,如位置分析、服务监控等,后端服务器需要获取客户端的源IP地址。目前网络体系结构中,TCP(Transport Controll Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)是传输层最重要的两种协议。然而,当前仅存在基于TCP协议获取源IP地址的方案,而缺少基于UDP协议获取源IP地址的方案。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种通信方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种通信方法。
具体地,所述通信方法,包括:
获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;
将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;
向所述第二网络地址发送所述第二数据包。
结合第一方面,本公开在第一方面的第一种实现方式中,所述第一数据包的源端是发送所述第一数据包的客户端;和/或所述第一网络地址是所述源端的虚拟网络地址;和/或所述第一数据包的第一目的地端是所述客户端访问的第一服务器;和/或所述第二网络地址是所述第一目的地端的虚拟网络地址;和/或所述字段包括首部字段。
结合第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,所述客户端是虚拟客户端;和/或所述第一服务器是负载均衡服务器。
结合第一方面,本公开在第一方面的第三种实现方式中,所述第二数据包还包括第三字段,所述第三字段是用户数据报协议UDP字段;和/或所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述第一目的地端的第四网络地址。
结合第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述第三网络地址是实现所述源端的第一物理机在物理网络上的网络地址;所述第四网络地址是实现所述第一目的地端的第二物理机在物理网络上的网络地址。
结合第一方面,本公开在第一方面的第五种实现方式中,所述的方法还包括:通过所述第一目的地端接收所述第二数据包;在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;向所述第二目的地端发送所述第三数据包。
结合第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述第二目的地端是第二服务器;和/或所述第二目的地端经由所述第一目的地端向所述源端提供服务。
结合第一方面的第五种实现方式,本公开在第一方面的第七种实现方式中,所述第五网络地址是实现所述第一目的端的第二物理机在物理网络上的网络地址;所述第六网络地址是所述第二目的地端的虚拟网络地址。
结合第一方面的第五种实现方式,本公开在第一方面的第八种实现方式中,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述第一目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
结合第一方面的第八种实现方式,本公开在第一方面的第九种实现方式中,所述第七网络地址是实现所述第二目的地端的第三物理机在物理网络上的网络地址。
结合第一方面的第五种实现方式,本公开在第一方面的第十种实现方式中,所述的方法还包括:通过所述第二目的地端接收所述第三数据包;从所述第三数据包的所述第二字段获取所述第一网络地址。
结合第一方面的第十种实现方式,本公开在第一方面的第十一种实现方式中,所述第二字段是虚拟可扩展局域网Vxlan字段;和/或所述第一数据包包括通过所述第一字段封装的UDP报文或通过所述第一字段封装的传输控制协议TCP报文。
结合第一方面、第一方面的第一种实现方式至第十一种实现方式中任意一种,本公开在第一方面的第十二种实现方式中,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
第二方面,本公开实施例中提供了一种通信方法。
具体地,所述通信方法,包括:
接收第二数据包,所述第二数据包包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址,所述第二数据包还包括第二字段,所述第二字段包括所述第一网络地址;
在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
向所述第二目的地端发送所述第三数据包。
结合第二方面,本公开在第二方面的第一种实现方式中,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
结合第二方面或第二方面的第一种实现方式,本公开在第二方面的第二种实现方式中,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
第三方面,本公开实施例中提供了一种通信方法。
具体地,所述通信方法,包括:
通过第二目的地端接收第三数据包,所述第三数据包是第一目的地端从第二数据包转换得到的,所述第二数据包包括第一数据包和第二字段,所述第二字段包括所述第一数据包的源端的第一网络地址;
从所述第三数据包的所述第二字段获取所述第一网络地址。
结合第三方面,本公开在第三方面的第一种实现方式中,所述第三数据包还包括:第五字段,所述第五字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第六网络地址;和/或第六字段,所述第六字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第七网络地址。
结合第三方面或第三方面的第一种实现方式,本公开在第三方面的第二种实现方式中,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
第四方面,本公开实施例中提供了一种通信装置。
具体地,所述通信装置,包括:
第一获取模块,被配置为获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;
封装模块,被配置为将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;
第一发送模块,被配置为向所述第二网络地址发送所述第二数据包。
结合第四方面,本公开在第四方面的第一种实现方式中,所述第一数据包的源端是发送所述第一数据包的客户端;和/或所述第一网络地址是所述源端的虚拟网络地址;和/或所述第一数据包的第一目的地端是所述客户端访问的第一服务器;和/或所述第二网络地址是所述第一目的地端的虚拟网络地址;和/或所述字段包括首部字段。
结合第四方面的第一种实现方式,本公开在第四方面的第二种实现方式中,所述客户端是虚拟客户端;和/或所述第一服务器是负载均衡服务器。
结合第四方面,本公开在第四方面的第三种实现方式中,所述第二数据包还包括第三字段,所述第三字段是用户数据报协议UDP字段;和/或所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述第一目的地端的第四网络地址。
结合第四方面的第三种实现方式,本公开在第四方面的第四种实现方式中,所述第三网络地址是实现所述源端的第一物理机在物理网络上的网络地址;所述第四网络地址是实现所述第一目的地端的第二物理机在物理网络上的网络地址。
结合第四方面,本公开在第四方面的第五种实现方式中,所述的装置还包括:
第一接收模块,被配置为通过所述第一目的地端接收所述第二数据包;
第二获取模块,被配置为在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
第二发送模块,被配置为向所述第二目的地端发送所述第三数据包。
结合第四方面的第五种实现方式,本公开在第四方面的第六种实现方式中,所述第二目的地端是第二服务器;和/或所述第二目的地端经由所述第一目的地端向所述源端提供服务。
结合第四方面的第五种实现方式,本公开在第四方面的第七种实现方式中,所述第五网络地址是实现所述第一目的端的第二物理机在物理网络上的网络地址;所述第六网络地址是所述第二目的地端的虚拟网络地址。
结合第四方面的第五种实现方式,本公开在第四方面的第八种实现方式中,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述第一目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
结合第四方面的第八种实现方式,本公开在第四方面的第九种实现方式中,所述第七网络地址是实现所述第二目的地端的第三物理机在物理网络上的网络地址。
结合第四方面的第五种实现方式,本公开在第四方面的第十种实现方式中,所述的装置还包括:
第二接收模块,被配置为通过所述第二目的地端接收所述第三数据包;
第三获取模块,被配置为从所述第三数据包的所述第二字段获取所述第一网络地址。
结合第四方面的第十种实现方式,本公开在第四方面的第十一种实现方式中,所述第二字段是虚拟可扩展局域网Vxlan字段;和/或所述第一数据包包括通过所述第一字段封装的UDP报文或通过所述第一字段封装的传输控制协议TCP报文。
结合第四方面、第四方面的第一种实现方式至第十一种实现方式中任意一种,本公开在第四方面的第十二种实现方式中,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
第五方面,本公开实施例中提供了一种通信装置。
具体地,所述通信装置,包括:
第三接收模块,被配置为接收第二数据包,所述第二数据包包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址,所述第二数据包还包括第二字段,所述第二字段包括所述第一网络地址;
第四获取模块,被配置为在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
第三发送模块,被配置为向所述第二目的地端发送所述第三数据包。
结合第五方面,本公开在第五方面的第一种实现方式中,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
结合第五方面或第五方面的第一种实现方式,本公开在第五方面的第二种实现方式中,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
第六方面,本公开实施例中提供了一种通信装置。
具体地,所述通信装置,包括:
第四接收模块,被配置为通过第二目的地端接收第三数据包,所述第三数据包是第一目的地端从第二数据包转换得到的,所述第二数据包包括第一数据包和第二字段,所述第二字段包括所述第一数据包的源端的第一网络地址;
第五获取模块,被配置为从所述第三数据包的所述第二字段获取所述第一网络地址。
结合第六方面,本公开在第六方面的第一种实现方式中,所述第三数据包还包括:第五字段,所述第五字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第六网络地址;和/或第六字段,所述第六字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第七网络地址。
结合第六方面或第六方面的第一种实现方式,本公开在第六方面的第二种实现方式中,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
第七方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以下方法步骤:
获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;
将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;
向所述第二网络地址发送所述第二数据包。
结合第七方面,本公开在第七方面的第一种实现方式中,所述第一数据包的源端是发送所述第一数据包的客户端;和/或所述第一网络地址是所述源端的虚拟网络地址;和/或所述第一数据包的第一目的地端是所述客户端访问的第一服务器;和/或所述第二网络地址是所述第一目的地端的虚拟网络地址;和/或所述字段包括首部字段。
结合第七方面的第一种实现方式,本公开在第七方面的第二种实现方式中,所述客户端是虚拟客户端;和/或所述第一服务器是负载均衡服务器。
结合第七方面,本公开在第七方面的第三种实现方式中,所述第二数据包还包括第三字段,所述第三字段是用户数据报协议UDP字段;和/或所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述第一目的地端的第四网络地址。
结合第七方面的第三种实现方式,本公开在第七方面的第四种实现方式中,所述第三网络地址是实现所述源端的第一物理机在物理网络上的网络地址;所述第四网络地址是实现所述第一目的地端的第二物理机在物理网络上的网络地址。
结合第七方面,本公开在第七方面的第五种实现方式中,所述的方法还包括:通过所述第一目的地端接收所述第二数据包;在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;向所述第二目的地端发送所述第三数据包。
结合第七方面的第五种实现方式,本公开在第七方面的第六种实现方式中,所述第二目的地端是第二服务器;和/或所述第二目的地端经由所述第一目的地端向所述源端提供服务。
结合第七方面的第五种实现方式,本公开在第七方面的第七种实现方式中,所述第五网络地址是实现所述第一目的端的第二物理机在物理网络上的网络地址;所述第六网络地址是所述第二目的地端的虚拟网络地址。
结合第七方面的第五种实现方式,本公开在第七方面的第八种实现方式中,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述第一目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
结合第七方面的第八种实现方式,本公开在第七方面的第九种实现方式中,所述第七网络地址是实现所述第二目的地端的第三物理机在物理网络上的网络地址。
结合第七方面的第五种实现方式,本公开在第七方面的第十种实现方式中,所述的方法还包括:通过所述第二目的地端接收所述第三数据包;从所述第三数据包的所述第二字段获取所述第一网络地址。
结合第七方面的第十种实现方式,本公开在第七方面的第十一种实现方式中,所述第二字段是虚拟可扩展局域网Vxlan字段;和/或所述第一数据包包括通过所述第一字段封装的UDP报文或通过所述第一字段封装的传输控制协议TCP报文。
结合第七方面、第七方面的第一种实现方式至第十一种实现方式中任意一种,本公开在第七方面的第十二种实现方式中,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
第八方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以下方法步骤:
接收第二数据包,所述第二数据包包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址,所述第二数据包还包括第二字段,所述第二字段包括所述第一网络地址;
在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
向所述第二目的地端发送所述第三数据包。
结合第八方面,本公开在第八方面的第一种实现方式中,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
结合第八方面或第八方面的第一种实现方式,本公开在第八方面的第二种实现方式中,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
第九方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现以下方法步骤:
通过第二目的地端接收第三数据包,所述第三数据包是第一目的地端从第二数据包转换得到的,所述第二数据包包括第一数据包和第二字段,所述第二字段包括所述第一数据包的源端的第一网络地址;
从所述第三数据包的所述第二字段获取所述第一网络地址。
结合第九方面,本公开在九方面的第一种实现方式中,所述第三数据包还包括:第五字段,所述第五字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第六网络地址;和/或第六字段,所述第六字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第七网络地址。
结合第九方面或第九方面的第一种实现方式,本公开在第九方面的第二种实现方式中,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
第十方面,本公开实施例中提供了一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面、第一方面的第一种实现方式至第十二种实现方式、第二方面、第二方面的第一种实现方式至第二种实现方式、第三方面、第三方面的第一种实现方式至第二种实现方式中任一项所述的方法。
本公开实施例提供的技术方案可以包括以下有益效果:
该技术方案通过第二数据包的第二字段记录源网络地址,实现了基于UDP场景的源地址获取。需要注意的是,本公开不局限于UDP场景,也适用于TCP场景或其他传输协议场景。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1A示出根据本公开实施例的通信方法的网络结构示意图;
图1B示出根据本公开实施例的通信方法的第一数据包示意图;
图1C示出根据本公开实施例的通信方法的第二数据包示意图;
图2示出根据本公开的实施例的通信方法的流程图;
图3示出根据本公开实施例的通信方法的Vxlan首部字段的示意图;
图4示出根据本公开另一实施例的通信方法的流程图;
图5示出根据本公开另一实施例的通信方法的流程图;
图6示出根据本公开再一实施例的通信方法的流程图;
图7示出根据本公开实施例的通信装置的结构框图;
图8示出根据本公开另一实施例的通信装置的结构框图;
图9示出根据本公开再一实施例的通信装置的结构框图;
图10示出根据本公开的实施例的电子设备的结构框图;
图11示出适于用来实现根据本公开实施例的通信方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部分、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部分、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
目前网络体系结构中,TCP和UDP是传输层最重要的两种协议。现有技术中,TOA(TCP Option Address,TCP选项地址)是目前业界常用的一种基于TCP应用服务获取源IP地址的方案,但该技术方案仅支持TCP协议,无法满足基于UDP应用服务获取源IP地址的需求。
考虑到上述缺陷,本公开实施例提供的技术方案通过获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;向所述第二网络地址发送所述第二数据包。
该技术方案通过第二数据包的第二字段记录源网络地址,实现了基于UDP场景的源地址获取。需要注意的是,本公开不局限于UDP场景,也适用于TCP场景或其他传输协议场景。
图1A示出根据本公开实施例的通信方法的网络结构示意图。
图1B示出根据本公开实施例的通信方法的第一数据包示意图。
图1C示出根据本公开实施例的通信方法的第二数据包示意图。
如图1A所示,NC1表示客户端所在的物理机,其在物理网络(例如云服务提供商的物理网络)上的网络地址为10.1.1.10。C1表示在物理机NC1上实现的客户端虚拟机(或称虚拟客户端),其在云服务提供商为租户提供的虚拟私有云(Virtual Private Cloud,VPC)网络上的虚拟网络地址为192.168.1.10。SLB表示负载均衡服务器(Server LoadBalancing),其在VPC上的虚拟网络地址为192.168.1.20。NC2表示向客户端提供服务的服务器的物理机,其在物理网络上的网络地址为10.1.2.30。RS1表示在物理机NC2上实现的服务器虚拟机(或称虚拟服务器),其在VPC上的虚拟网络地址为192.168.1.30。SLB与NC1之间的网络连接使用的物理网络上的网络地址为10.1.1.20,与NC2之间的网络连接使用的物理网络上的网络地址为10.1.2.20。
如图1A所示,当虚拟机C1向SLB发出对RS1提供的服务的服务请求时,虚拟机C1将服务请求的UDP报文和内层IP首部封装为第一数据包,然后再由物理机NC1将第一数据包封装为第二数据包,并将第二数据包发送给SLB。如图1B所示,第一数据包包括UDP报文和内层IP首部,所述内层IP首部包括虚拟机C1的虚拟网络地址192.168.1.10和SLB的虚拟网络地址192.168.1.20。第二数据包如图1C所示,包括外层IP首部、UDP首部、Vxlan(VirtualExtensible LAN,虚拟可扩展局域网)首部、内层IP首部和UDP报文,所述外层IP首部包括NC1在物理网络上的网络地址10.1.1.10和负载均衡服务器SLB在物理网络上的网络地址10.1.1.20。
SLB接收到第二数据包后,将C1的源地址(例如C1的虚拟网络地址)192.168.1.10记录在Vxlan首部的保留字段,并将接收到的第二数据包的外层IP首部中的地址由10.1.1.10和10.1.1.20改为SLB与NC2之间的网络连接使用的物理网络上的网络地址10.1.2.20和NC2在物理网络上的网络地址10.1.2.30,将接收到的第二数据包的内层IP首部由192.168.1.10和192.168.1.20改为SLB与NC2之间的网络连接使用的物理网络上的网络地址10.1.2.20和RS1的虚拟网络地址192.168.1.30。然后,SLB将数据包转发至NC2。在NC2收到SLB转发的数据包之后,NC2提取Vxlan首部扩展字段中的C1的源地址192.168.1.10,并发送给虚拟机RS1。
图2示出根据本公开实施例的通信方法的流程图。该通信方法例如适用于图1A所示的物理机NC1。如图2所示,所述通信方法包括以下步骤S201-S203:
在步骤S201中,获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;
在步骤S202中,将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;
在步骤S203中,向所述第二网络地址发送所述第二数据包。
根据本公开的实施例,所述第一数据包的源端是发送所述第一数据包的客户端;和/或所述第一网络地址是所述源端的虚拟网络地址;和/或所述第一数据包的第一目的地端是所述客户端访问的第一服务器;和/或所述第二网络地址是所述第一目的地端的虚拟网络地址;和/或所述字段包括首部字段。
根据本公开的实施例,第一数据包的源端例如可以是图1A所示的客户端虚拟机C1,或者可以是任意虚拟机或物理机。第一网络地址例如可以是客户端虚拟机C1的虚拟网络地址192.168.1.10,或者可以是作为源端的任意虚拟机或物理机在虚拟或物理网络上的地址。第一目的地端例如可以是图1A所示的SLB,或者可以是源端访问的任意目的地虚拟设备或物理设备。第二网络地址例如可以是SLB的虚拟网络地址192.168.1.20,或者可以是源端访问的任意目的地虚拟设备或物理设备在虚拟或物理网络上的地址。字段可以是数据包的首部,也可以是数据包中用于记录地址信息的任意预设字段。
根据本公开的实施例,例如,如图1B所示,在第一数据包中,第一字段为内层IP首部字段,通过第一字段封装UDP报文形成第一数据包。内层IP首部中包括发送第一数据包的源端的第一网络地址和源端访问的第一目的地端的第二网络地址。
根据本公开的实施例,可以通过将第二字段作为首部封装第一数据包来得到第二数据包。
根据本公开的实施例,所述第二字段是虚拟可扩展局域网Vxlan字段;和/或所述第一数据包包括通过所述第一字段封装的UDP报文或通过所述第一字段封装的传输控制协议TCP报文。
根据本公开的实施例,可以解决传输UDP报文时获取源端网络地址的问题,也可以用于在传输TCP报文时获取源端网络地址。
图3示出根据本公开实施例的通信方法的Vxlan首部字段的示意图。
根据本公开的实施例,在第二数据包中,第二字段为Vxlan首部字段,所述Vxlan首部字段包含24比特的VNI(Vxlan Network Identifier,Vxlan网络标识符)字段和8比特的Vxlan标志位,其他为保留字段,所述保留字段共32比特,如图3所示。可以利用保留字段为来记录源端的网络地址。例如,将客户端的第一网络地址(源地址)记录在保留字段中,从而使服务器能够准确地获取客户端的源地址。
根据本公开的实施例,所述客户端是虚拟客户端;和/或所述第一服务器是负载均衡服务器。负载均衡服务器可以是虚拟设备或物理设备,负载均衡服务器与多个为客户端提供服务的服务器相连接,当接收到客户端的服务请求时,通过负载均衡算法,负载均衡服务器将服务请求转发到负载压力较小的服务器,从而确保对客户端提供服务的速度和质量。
根据本公开的实施例,所述第二数据包还包括第三字段,所述第三字段是用户数据报协议UDP字段;和/或所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述第一目的地端的第四网络地址。
在将第一数据包封装为第二数据包时,用于封装的首部除了Vxlan首部字段之外,还可以包括UDP首部字段和外层IP首部字段,其中在外层首部字段中包括源端(例如图1A所示的C1所在的物理机NC1)的第三网络地址和第一目的地端(例如图1A所示的SLB)的第四网络地址。例如,如图1C所示,用外层IP首部、UDP首部和Vxlan首部对第一数据包进行封装,则第二数据包包括外层IP首部、UDP首部、Vxlan首部、内层IP首部和UDP报文。
根据本公开的实施例,所述第三网络地址是实现所述源端的第一物理机在物理网络上的网络地址;所述第四网络地址是实现所述第一目的地端的第二物理机在物理网络上的网络地址。
例如,如图1A所示,所述第三网络地址为NC1的物理网络地址10.1.1.10,所述第四网络地址为SLB的物理网络地址10.1.1.20,上述两个物理网络地址被记录在第二数据包的外层IP首部中。
图4示出根据本公开另一实施例的通信方法的流程图。如图4所示,所述通信方法还包括以下步骤S401-S403:
在步骤S401中,通过所述第一目的地端接收所述第二数据包;
在步骤S402中,在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
在步骤S403中,向所述第二目的地端发送所述第三数据包。
根据本公开的实施例,所述第二目的地端是第二服务器;和/或所述第二目的地端经由所述第一目的地端向所述源端提供服务。
根据本公开的实施例,上述步骤S401-S403例如可以在图1A所示的SLB上实现,也可以在用于中转来自源端的数据包的任意设备上实现。
根据本公开的实施例,所述第五网络地址是实现所述第一目的端的第二物理机在物理网络上的网络地址;所述第六网络地址是所述第二目的地端的虚拟网络地址。
例如,如图1A所示,当所述第一网络地址为虚拟机C1的虚拟网络地址192.168.1.10,第二网络地址为负载服务器SLB的虚拟网络地址192.168.1.20时,SLB将第一网络地址替换为第二物理机在物理网络上的网络地址10.1.2.20(即第五网络地址),将第二网络地址替换为虚拟机RS1的虚拟网络地址192.168.1.30(即第六网络地址)。因此,第三数据包包括上述网络地址10.1.2.20和192.168.1.30。
根据本公开的实施例,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述第一目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
根据本公开的实施例,所述第七网络地址是实现所述第二目的地端的第三物理机在物理网络上的网络地址。例如,如图1C所示,所述第二数据包的第四字段为外层IP首部字段,当第二数据包还包括第四字段时,第二数据包的外层IP首部中包含物理机NC1在物理网络上的网络地址10.1.1.10和负载均衡服务器SLB在物理网络上的网络地址10.1.1.20。SLB将上述网络地址10.1.1.10和10.1.1.20替换为第二物理机在物理网络上的网络地址10.1.2.20(即第五网络地址)和物理机NC2在物理网络上的网络地址10.1.2.30(即第七网络地址)。此时,第二目的地端的第三物理机可以为物理机NC2。
根据本公开的实施例,所述通信方法还包括:通过所述第二目的地端接收所述第三数据包;从所述第三数据包的所述第二字段获取所述第一网络地址。
例如,如图1A所示,物理机NC2为第二目的地端,在物理机NC2接收到来自负载均衡服务器SLB的第三数据包后,可以从Vxlan首部(即第二字段)获取记录在保留字段中的C1的网络地址(即第一网络地址)。通过这一技术方案,为用户提供服务的服务器端能够准确地获取客户端的网络地址,从而满足基于UDP应用服务获取源IP地址的需求。
根据本公开的实施例,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
在数据包的传送过程中,既可以将不同的网络地址共同存储在同一子字段中,也可以将不同的网络地址分别存储在彼此相邻或不相邻的不同子字段中,还可以将同一个网络地址拆分开来存储在彼此相邻或不相邻的不同子字段中。例如,在第一数据包中,可以将第一网络地址和第二网络地址分别存储在第一数据包的不同子字段中,或者可以将第一网络地址拆分开来并存储在第一数据包的不同子字段中,将第二网络地址拆分开来并存储在第一数据包的不同子字段中,上述存储第一网络地址和第二网络地址的子字段共同构成第一字段。
图5示出根据本公开另一实施例的通信方法的流程图。该通信方法适用于上述第一目的地端,例如适用于图1A所示的负载均衡服务器SLB,也适用于转发来自源端的数据包的任意虚拟或物理设备。
如图5所示,所述通信方法包括以下步骤S501-S503:
在步骤S501中,接收第二数据包,所述第二数据包包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址,所述第二数据包还包括第二字段,所述第二字段包括所述第一网络地址;
在步骤S502中,在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
在步骤S503中,向所述第二目的地端发送所述第三数据包。
根据本公开的实施例,第一目的地端首先接收第二数据包,所述第二数据包中包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括第一网络地址和第二网络地址。同时,所述第二数据包还包括第二字段,所述第二字段包括第一网络地址;然后,第一目的地端基于第二数据包获取第三数据包,其中,所述第三数据包包括通过将第一字段中的第一网络地址替换为第五网络地址,将第一字段中的第二网络地址替换为第六网络地址,获取的第五字段;最后,第一目的地端将包括第五字段的第三数据包发送至第二目的端。通过上述技术方案,将客户端的源地址记录在第二字段中,从而使第二目的端能够准确地根据第二字段获取客户端的源地址。
根据本公开的实施例,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
根据本公开的实施例,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
在数据包的传送过程中,既可以将不同的网络地址共同存储在同一子字段中,也可以将不同的网络地址分别存储在彼此相邻或不相邻的不同子字段中,还可以将同一个网络地址拆分开来存储在彼此相邻或不相邻的不同子字段中。例如,在第一数据包中,可以将第一网络地址和第二网络地址分别存储在第一数据包的不同子字段中,或者可以将第一网络地址拆分开来并存储在第一数据包的不同子字段中,将第二网络地址拆分开来并存储在第一数据包的不同子字段中,上述存储第一网络地址和第二网络地址的子字段共同构成第一字段。
图6示出根据本公开再一实施例的通信方法的流程图。该通信方法适用于第二目的地端,例如图1A中为用户提供服务的NC2。如图6所示,所述通信方法包括以下步骤S601-S602:
在步骤S601中,通过第二目的地端接收第三数据包,所述第三数据包是第一目的地端从第二数据包转换得到的,所述第二数据包包括第一数据包和第二字段,所述第二字段包括所述第一数据包的源端的第一网络地址;
在步骤S602中,从所述第三数据包的所述第二字段获取所述第一网络地址。
例如,如图1A所示,NC2表示为客户提供服务的服务器的物理机,在NC2上实现虚拟机RS1。当NC2接收到来自负载均衡服务器SLB的第三数据包后,第三数据包中包含Vxlan首部字段(第二字段),其中记载着客户端C1的源地址,NC2从Vxlan首部中提取客户端源地址,并发送至虚拟机RS1,使为客户提供服务的服务器的虚拟机能够获取到正确的客户端源地址。
根据本公开的实施例,所述第三数据包还包括:第五字段,所述第五字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第六网络地址;和/或第六字段,所述第六字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第七网络地址。
根据本公开的实施例,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
在数据包的传送过程中,既可以将不同的网络地址共同存储在同一子字段中,也可以将不同的网络地址分别存储在彼此相邻或不相邻的不同子字段中,还可以将同一个网络地址拆分开来存储在彼此相邻或不相邻的不同子字段中。例如,在第一数据包中,可以将第一网络地址和第二网络地址分别存储在第一数据包的不同子字段中,或者可以将第一网络地址拆分开来并存储在第一数据包的不同子字段中,将第二网络地址拆分开来并存储在第一数据包的不同子字段中,上述存储第一网络地址和第二网络地址的子字段共同构成第一字段。
通过上述技术方案,为用户提供服务的服务器端能够准确地获取客户端的源IP地址,从而解决了UDP场景的源地址获取问题,便于实现基于IP地址的创新应用,如位置分析,客户端监控等。
图7示出根据本公开实施例的通信装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图7所示,所述用于终端设备的装置700包括第一获取模块710、封装模块720和第一发送模块730。
所述第一获取模块710被配置为获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;
所述封装模块720被配置为将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;
所述第一发送模块730被配置为向所述第二网络地址发送所述第二数据包。
根据本公开的实施例,所述第一获取模块710、封装模块720和第一发送模块730例如可以在图1A所示的物理机NC1中实现。
根据本公开的实施例,所述第一数据包的源端是发送所述第一数据包的客户端;和/或所述第一网络地址是所述源端的虚拟网络地址;和/或所述第一数据包的第一目的地端是所述客户端访问的第一服务器;和/或所述第二网络地址是所述第一目的地端的虚拟网络地址;和/或所述字段包括首部字段。
根据本公开的实施例,第一数据包的源端例如可以是图1A所示的客户端虚拟机C1,或者可以是任意虚拟机或物理机。第一网络地址例如可以是客户端虚拟机C1的虚拟网络地址192.168.1.10,或者可以是作为源端的任意虚拟机或物理机在虚拟或物理网络上的地址。第一目的地端例如可以是图1A所示的SLB,或者可以是源端访问的任意目的地虚拟设备或物理设备。第二网络地址例如可以是SLB的虚拟网络地址192.168.1.20,或者可以是源端访问的任意目的地虚拟设备或物理设备在虚拟或物理网络上的地址。字段可以是数据包的首部,也可以是数据包中用于记录地址信息的任意预设字段。
根据本公开的实施例,例如,如图1B所示,在第一数据包中,第一字段为内层IP首部字段,通过第一字段封装UDP报文形成第一数据包。内层IP首部中包括发送第一数据包的源端的第一网络地址和源端访问的第一目的地端的第二网络地址。
根据本公开的实施例,可以通过将第二字段作为首部封装第一数据包来得到第二数据包。
根据本公开的实施例,所述第二字段是虚拟可扩展局域网Vxlan字段;和/或所述第一数据包包括通过所述第一字段封装的UDP报文或通过所述第一字段封装的传输控制协议TCP报文。
根据本公开的实施例,可以解决传输UDP报文时获取源端网络地址的问题,也可以用于在传输TCP报文时获取源端网络地址。
根据本公开的实施例,在第二数据包中,第二字段为Vxlan首部字段,所述Vxlan首部字段包含24比特的VNI字段和8比特的Vxlan标志位,其他为保留字段,所述保留字段共32比特,如图3所示。可以利用保留字段为来记录源端的网络地址。例如,将客户端的第一网络地址(源地址)记录在保留字段中,从而使服务器能够准确地获取客户端的源地址。
根据本公开的实施例,所述客户端是虚拟客户端;和/或所述第一服务器是负载均衡服务器。负载均衡服务器可以是虚拟设备或物理设备,负载均衡服务器与多个为客户端提供服务的服务器相连接,当接收到客户端的服务请求时,通过负载均衡算法,负载均衡服务器将服务请求转发到负载压力较小的服务器,从而确保对客户端提供服务的速度和质量。
根据本公开的实施例,所述第二数据包还包括第三字段,所述第三字段是用户数据报协议UDP字段;和/或所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述第一目的地端的第四网络地址。
在将第一数据包封装为第二数据包时,用于封装的首部除了Vxlan首部字段之外,还可以包括UDP首部字段和外层IP首部字段,其中在外层首部字段中包括源端(例如图1A所示的C1所在的物理机NC1)的第三网络地址和第一目的地端(例如图1A所示的SLB)的第四网络地址。例如,如图1C所示,用外层IP首部、UDP首部和Vxlan首部对第一数据包进行封装,则第二数据包包括外层IP首部、UDP首部、Vxlan首部、内层IP首部和UDP报文。
根据本公开的实施例,所述第三网络地址是实现所述源端的第一物理机在物理网络上的网络地址;所述第四网络地址是实现所述第一目的地端的第二物理机在物理网络上的网络地址。
例如,如图1A所示,所述第三网络地址为NC1的物理网络地址10.1.1.10,所述第四网络地址为SLB的物理网络地址10.1.1.20,上述两个物理网络地址被记录在第二数据包的外层IP首部中。
根据本公开的实施例,如图7所示,所述通信装置700还包括第一接收模块740、第二获取模块750和第二发送模块760:
所述第一接收模块740,被配置为通过所述第一目的地端接收所述第二数据包;
所述第二获取模块750,被配置为在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
所述第二发送模块760,被配置为向所述第二目的地端发送所述第三数据包。
根据本公开的实施例,上述第一接收模块740、第二获取模块750和第二发送模块760例如可以在图1A所示的SLB上实现,也可以在用于中转来自源端的数据包的任意设备上实现。
根据本公开的实施例,所述第二目的地端是第二服务器;和/或所述第二目的地端经由所述第一目的地端向所述源端提供服务。
根据本公开的实施例,所述第五网络地址是实现所述第一目的端的第二物理机在物理网络上的网络地址;所述第六网络地址是所述第二目的地端的虚拟网络地址。
例如,如图1A所示,当所述第一网络地址为虚拟机C1的虚拟网络地址192.168.1.10,第二网络地址为负载服务器SLB的虚拟网络地址192.168.1.20时,SLB将第一网络地址替换为第二物理机在物理网络上的网络地址10.1.2.20(即第五网络地址),将第二网络地址替换为虚拟机RS1的虚拟网络地址192.168.1.30(即第六网络地址)。因此,第三数据包包括上述网络地址10.1.2.20和192.168.1.30。
根据本公开的实施例,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述第一目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
根据本公开的实施例,所述第七网络地址是实现所述第二目的地端的第三物理机在物理网络上的网络地址。例如,如图1C所示,所述第二数据包的第四字段为外层IP首部字段,当第二数据包还包括第四字段时,第二数据包的外层IP首部中包含物理机NC1在物理网络上的网络地址10.1.1.10和负载均衡服务器SLB在物理网络上的网络地址10.1.1.20。SLB将上述网络地址10.1.1.10和10.1.1.20替换为第二物理机在物理网络上的网络地址10.1.2.20(即第五网络地址)和物理机NC2在物理网络上的网络地址10.1.2.30(即第七网络地址)。此时,第二目的地端的第三物理机可以为物理机NC2。
根据本公开的实施例,如图7所示,所述通信装置700还包括:
第二接收模块770,被配置为通过所述第二目的地端接收所述第三数据包;
第三获取模块780,被配置为从所述第三数据包的所述第二字段获取所述第一网络地址。
例如,如图1A所示,物理机NC2为第二目的地端,在物理机NC2接收到来自负载均衡服务器SLB的第三数据包后,可以从Vxlan首部(即第二字段)获取记录在保留字段中的C1的网络地址(即第一网络地址)。通过这一技术方案,为用户提供服务的服务器端能够准确地获取客户端的网络地址,从而满足基于UDP应用服务获取源IP地址的需求。
根据本公开的实施例,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
在数据包的传送过程中,既可以将不同的网络地址共同存储在同一子字段中,也可以将不同的网络地址分别存储在彼此相邻或不相邻的不同子字段中,还可以将同一个网络地址拆分开来存储在彼此相邻或不相邻的不同子字段中。例如,在第一数据包中,可以将第一网络地址和第二网络地址分别存储在第一数据包的不同子字段中,或者可以将第一网络地址拆分开来并存储在第一数据包的不同子字段中,将第二网络地址拆分开来并存储在第一数据包的不同子字段中,上述存储第一网络地址和第二网络地址的子字段共同构成第一字段。
图8示出根据本公开另一实施例的通信装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。该装置可实现为上述第一目的端,例如可以在图1A所示的负载均衡服务器SLB中实现,也可实现为用于转发来自源端的数据包的任意虚拟或物理设备。如图8所示,所述用于终端设备的装置800包括第三接收模块810、第四获取模块820和第三发送模块830:
所述第三接收模块810,被配置为接收第二数据包,所述第二数据包包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址,所述第二数据包还包括第二字段,所述第二字段包括所述第一网络地址;
所述第四获取模块820,被配置为在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
所述第三发送模块830,被配置为向所述第二目的地端发送所述第三数据包。
根据本公开的实施例,第三接收模块810接收第二数据包,所述第二数据包中包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括第一网络地址和第二网络地址,同时,所述第二数据包还包括第二字段,所述第二字段包括第一网络地址;第四获取模块820基于第二数据包获取第三数据包,其中,所述第三数据包包括通过将第一字段中的第一网络地址替换为第五网络地址,将第一字段中的第二网络地址替换为第六网络地址,获取的第五字段;第三发送模块830将包括第五字段的第三数据包发送至第二目的端。通过上述技术方案,将客户端的源地址记录在第二字段中,从而使第二目的端能够准确地根据第二字段获取客户端的源地址。
根据本公开的实施例,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
根据本公开的实施例,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
在数据包的传送过程中,既可以将不同的网络地址共同存储在同一子字段中,也可以将不同的网络地址分别存储在彼此相邻或不相邻的不同子字段中,还可以将同一个网络地址拆分开来存储在彼此相邻或不相邻的不同子字段中。例如,在第一数据包中,可以将第一网络地址和第二网络地址分别存储在第一数据包的不同子字段中,或者可以将第一网络地址拆分开来并存储在第一数据包的不同子字段中,将第二网络地址拆分开来并存储在第一数据包的不同子字段中,上述存储第一网络地址和第二网络地址的子字段共同构成第一字段。
图9示出根据本公开再一实施例的通信装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。该装置可实现为第二目的地端,例如可以在图1A所示的为用户提供服务的NC2中实现。如图9所示,所述用于终端设备的装置900包括第四接收模块910和第五获取模块920:
所述第四接收模块910,被配置为通过第二目的地端接收第三数据包,所述第三数据包是第一目的地端从第二数据包转换得到的,所述第二数据包包括第一数据包和第二字段,所述第二字段包括所述第一数据包的源端的第一网络地址;
所述第五获取模块920,被配置为从所述第三数据包的所述第二字段获取所述第一网络地址。
例如,如图1A所示,NC2表示为客户提供服务的服务器的物理机,在NC2上实现虚拟机RS1。当NC2接收到来自负载均衡服务器SLB的第三数据包后,第三数据包中包含Vxlan首部字段(第二字段),其中记载着客户端C1的源地址,NC2从Vxlan首部中提取客户端源地址,并发送至虚拟机RS1,使为客户提供服务的服务器的虚拟机能够获取到正确的客户端源地址。
根据本公开的实施例,所述第三数据包还包括:第五字段,所述第五字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第六网络地址;和/或第六字段,所述第六字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第七网络地址。
根据本公开的实施例,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
在数据包的传送过程中,既可以将不同的网络地址共同存储在同一子字段中,也可以将不同的网络地址分别存储在彼此相邻或不相邻的不同子字段中,还可以将同一个网络地址拆分开来存储在彼此相邻或不相邻的不同子字段中。例如,在第一数据包中,可以将第一网络地址和第二网络地址分别存储在第一数据包的不同子字段中,或者可以将第一网络地址拆分开来并存储在第一数据包的不同子字段中,将第二网络地址拆分开来并存储在第一数据包的不同子字段中,上述存储第一网络地址和第二网络地址的子字段共同构成第一字段。
本公开还公开了一种电子设备,图10示出根据本公开的实施例的电子设备的结构框图。
如图10所示,所述电子设备1000包括存储器1001和处理器1002;其中,
所述存储器1001用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器1002执行以实现以下方法步骤:
获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;
将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;
向所述第二网络地址发送所述第二数据包。
根据本公开的实施例,所述第一数据包的源端是发送所述第一数据包的客户端;和/或所述第一网络地址是所述源端的虚拟网络地址;和/或所述第一数据包的第一目的地端是所述客户端访问的第一服务器;和/或所述第二网络地址是所述第一目的地端的虚拟网络地址;和/或所述字段包括首部字段。
根据本公开的实施例,所述客户端是虚拟客户端;和/或所述第一服务器是负载均衡服务器。
根据本公开的实施例,所述第二数据包还包括第三字段,所述第三字段是用户数据报协议UDP字段;和/或所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述第一目的地端的第四网络地址。
根据本公开的实施例,所述第三网络地址是实现所述源端的第一物理机在物理网络上的网络地址;所述第四网络地址是实现所述第一目的地端的第二物理机在物理网络上的网络地址。
根据本公开的实施例,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:通过所述第一目的地端接收所述第二数据包;在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;向所述第二目的地端发送所述第三数据包。
根据本公开的实施例,所述第二目的地端是第二服务器;和/或所述第二目的地端经由所述第一目的地端向所述源端提供服务。
根据本公开的实施例,所述第五网络地址是实现所述第一目的端的第二物理机在物理网络上的网络地址;所述第六网络地址是所述第二目的地端的虚拟网络地址。
根据本公开的实施例,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述第一目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
根据本公开的实施例,所述第七网络地址是实现所述第二目的地端的第三物理机在物理网络上的网络地址。
根据本公开的实施例,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:通过所述第二目的地端接收所述第三数据包;从所述第三数据包的所述第二字段获取所述第一网络地址。
根据本公开的实施例,所述第二字段是虚拟可扩展局域网Vxlan字段;和/或所述第一数据包包括通过所述第一字段封装的UDP报文或通过所述第一字段封装的传输控制协议TCP报文。
根据本公开的实施例,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:接收第二数据包,所述第二数据包包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址,所述第二数据包还包括第二字段,所述第二字段包括所述第一网络地址;在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;向所述第二目的地端发送所述第三数据包。
根据本公开的实施例,所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
根据本公开的实施例,所述一条或多条计算机指令还被所述处理器执行以实现以下方法步骤:通过第二目的地端接收第三数据包,所述第三数据包是第一目的地端从第二数据包转换得到的,所述第二数据包包括第一数据包和第二字段,所述第二字段包括所述第一数据包的源端的第一网络地址;从所述第三数据包的所述第二字段获取所述第一网络地址。
根据本公开的实施例,所述第三数据包还包括:第五字段,所述第五字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第六网络地址;和/或第六字段,所述第六字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第七网络地址。
根据本公开的实施例,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
图11示出适于用来实现根据本公开实施例的通信方法的计算机系统的结构示意图。
如图11所示,计算机系统1100包括处理单元1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行上述实施例中的各种处理。在RAM1103中,还存储有系统1100操作所需的各种程序和数据。处理单元1101、ROM1102以及RAM1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部分连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。其中,所述处理单元1101可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (26)

1.一种通信方法,其特征在于,包括:
获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;
将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;
向所述第二网络地址发送所述第二数据包。
2.根据权利要求1所述的方法,其特征在于:
所述第一数据包的源端是发送所述第一数据包的客户端;和/或
所述第一网络地址是所述源端的虚拟网络地址;和/或
所述第一数据包的第一目的地端是所述客户端访问的第一服务器;和/或
所述第二网络地址是所述第一目的地端的虚拟网络地址;和/或
所述字段包括首部字段。
3.根据权利要求2所述的方法,其特征在于:
所述客户端是虚拟客户端;和/或
所述第一服务器是负载均衡服务器。
4.根据权利要求1所述的方法,其特征在于:
所述第二数据包还包括第三字段,所述第三字段是用户数据报协议UDP字段;和/或
所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述第一目的地端的第四网络地址。
5.根据权利要求4所述的方法,其特征在于:
所述第三网络地址是实现所述源端的第一物理机在物理网络上的网络地址;
所述第四网络地址是实现所述第一目的地端的第二物理机在物理网络上的网络地址。
6.根据权利要求1所述的方法,其特征在于,还包括:
通过所述第一目的地端接收所述第二数据包;
在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
向所述第二目的地端发送所述第三数据包。
7.根据权利要求6所述的方法,其特征在于:
所述第二目的地端是第二服务器;和/或
所述第二目的地端经由所述第一目的地端向所述源端提供服务。
8.根据权利要求6所述的方法,其特征在于:
所述第五网络地址是实现所述第一目的端的第二物理机在物理网络上的网络地址;
所述第六网络地址是所述第二目的地端的虚拟网络地址。
9.根据权利要求6所述的方法,其特征在于:
所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;
所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述第一目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
10.根据权利要求9所述的方法,其特征在于,所述第七网络地址是实现所述第二目的地端的第三物理机在物理网络上的网络地址。
11.根据权利要求6所述的方法,其特征在于,还包括:
通过所述第二目的地端接收所述第三数据包;
从所述第三数据包的所述第二字段获取所述第一网络地址。
12.根据权利要求1所述的方法,其特征在于:
所述第二字段是虚拟可扩展局域网Vxlan字段;和/或
所述第一数据包包括通过所述第一字段封装的UDP报文或通过所述第一字段封装的传输控制协议TCP报文。
13.根据权利要求1-12中任一项所述的方法,其特征在于,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
14.一种通信方法,其特征在于,包括:
接收第二数据包,所述第二数据包包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址,所述第二数据包还包括第二字段,所述第二字段包括所述第一网络地址;
在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
向所述第二目的地端发送所述第三数据包。
15.根据权利要求14所述的方法,其特征在于:
所述第二数据包还包括第四字段,所述第四字段包括所述源端的第三网络地址和所述目的地端的第四网络地址;
所述第三数据包还包括:通过将所述第四字段中的第三网络地址替换为所述目的地端的第五网络地址,将所述第四字段中的第四网络地址替换为所述第二目的地端的第七网络地址,获取的第六字段。
16.根据权利要求14或15所述的方法,其特征在于,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
17.一种通信方法,其特征在于,包括:
通过第二目的地端接收第三数据包,所述第三数据包是第一目的地端从第二数据包转换得到的,所述第二数据包包括第一数据包和第二字段,所述第二字段包括所述第一数据包的源端的第一网络地址;
从所述第三数据包的所述第二字段获取所述第一网络地址。
18.根据权利要求17所述的方法,其特征在于,所述第三数据包还包括:
第五字段,所述第五字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第六网络地址;和/或
第六字段,所述第六字段包括所述第一目的地端的第五网络地址和所述第二目的地端的第七网络地址。
19.根据权利要求17或18所述的方法,其特征在于,所述字段包括一个或多个子字段,所述子字段彼此相邻或不相邻。
20.一种通信装置,其特征在于,包括:
第一获取模块,被配置为获取第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址;
封装模块,被配置为将所述第一数据包封装为第二数据包,所述第二数据包包括第二字段,所述第二字段包括所述第一网络地址;
第一发送模块,被配置为向所述第二网络地址发送所述第二数据包。
21.根据权利要求20所述的装置,其特征在于,还包括:
第一接收模块,被配置为通过所述第一目的地端接收所述第二数据包;
第二获取模块,被配置为在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
第二发送模块,被配置为向所述第二目的地端发送所述第三数据包。
22.根据权利要求21所述的装置,其特征在于,还包括:
第二接收模块,被配置为通过所述第二目的地端接收所述第三数据包;
第三获取模块,被配置为从所述第三数据包的所述第二字段获取所述第一网络地址。
23.一种通信装置,其特征在于,包括:
第三接收模块,被配置为接收第二数据包,所述第二数据包包括第一数据包,所述第一数据包包括第一字段,所述第一字段包括所述第一数据包的源端的第一网络地址和所述第一数据包的第一目的地端的第二网络地址,所述第二数据包还包括第二字段,所述第二字段包括所述第一网络地址;
第四获取模块,被配置为在接收所述第二数据包之后,基于所述第二数据包获取第三数据包,所述第三数据包包括:通过将所述第一字段中的第一网络地址替换为所述第一目的地端的第五网络地址,将所述第一字段中的第二网络地址替换为第二目的地端的第六网络地址,获取的第五字段;
第三发送模块,被配置为向所述第二目的地端发送所述第三数据包。
24.一种通信装置,其特征在于,包括:
第四接收模块,被配置为通过第二目的地端接收第三数据包,所述第三数据包是第一目的地端从第二数据包转换得到的,所述第二数据包包括第一数据包和第二字段,所述第二字段包括所述第一数据包的源端的第一网络地址;
第五获取模块,被配置为从所述第三数据包的所述第二字段获取所述第一网络地址。
25.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-19任一项所述的方法步骤。
26.一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-19任一项所述的方法步骤。
CN202010427372.8A 2020-05-19 2020-05-19 通信方法、装置、电子设备及计算机可读存储介质 Active CN113691640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010427372.8A CN113691640B (zh) 2020-05-19 2020-05-19 通信方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010427372.8A CN113691640B (zh) 2020-05-19 2020-05-19 通信方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113691640A true CN113691640A (zh) 2021-11-23
CN113691640B CN113691640B (zh) 2023-04-25

Family

ID=78576020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010427372.8A Active CN113691640B (zh) 2020-05-19 2020-05-19 通信方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113691640B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037551A (zh) * 2022-06-29 2022-09-09 北京奇艺世纪科技有限公司 连接权限控制方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016062106A1 (zh) * 2014-10-20 2016-04-28 华为技术有限公司 报文处理方法、装置及系统
CN107317752A (zh) * 2016-04-27 2017-11-03 华为技术有限公司 一种转发数据报文的方法及装置
CN107645444A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的系统、设备和方法
CN108449282A (zh) * 2018-05-29 2018-08-24 华为技术有限公司 一种负载均衡方法及其装置
CN108616456A (zh) * 2018-03-20 2018-10-02 北京优帆科技有限公司 一种基于vxlan的负载均衡方法及负载均衡器
CN109729104A (zh) * 2019-03-19 2019-05-07 北京百度网讯科技有限公司 客户端源地址获取方法、装置、服务器和计算机可读介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016062106A1 (zh) * 2014-10-20 2016-04-28 华为技术有限公司 报文处理方法、装置及系统
CN107317752A (zh) * 2016-04-27 2017-11-03 华为技术有限公司 一种转发数据报文的方法及装置
CN107645444A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 用于虚拟机与云服务计算设备之间的快速路由传输的系统、设备和方法
CN108616456A (zh) * 2018-03-20 2018-10-02 北京优帆科技有限公司 一种基于vxlan的负载均衡方法及负载均衡器
CN108449282A (zh) * 2018-05-29 2018-08-24 华为技术有限公司 一种负载均衡方法及其装置
CN109729104A (zh) * 2019-03-19 2019-05-07 北京百度网讯科技有限公司 客户端源地址获取方法、装置、服务器和计算机可读介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037551A (zh) * 2022-06-29 2022-09-09 北京奇艺世纪科技有限公司 连接权限控制方法、装置、电子设备及存储介质
CN115037551B (zh) * 2022-06-29 2024-04-26 北京奇艺世纪科技有限公司 连接权限控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113691640B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
US9246819B1 (en) System and method for performing message-based load balancing
US7245622B2 (en) Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload
US9137313B2 (en) Data transmission system and method using relay server
KR101764402B1 (ko) 네트워크 패킷 캡슐화 및 라우팅
CN110708393A (zh) 用于传输数据的方法、装置和系统
CN101304436A (zh) 实现应用层会话持续性的负载均衡方法、系统及设备
EP1364511A2 (en) A digital television application protocol for interactive television
CN102546194B (zh) 显示数据处理方法、系统及服务器
US8601164B2 (en) HTTP header compression
CN108924036B (zh) 用于分配资源、领取资源的方法和设备
CN104980482A (zh) 文件发送方法及装置、文件接收方法及装置
CN110177047B (zh) 报文发送方法、装置、电子设备和计算机可读存储介质
CN111510476A (zh) 通信方法、装置、计算机设备和计算机可读存储介质
CN115037812B (zh) 一种面向容器云场景的网络模式数据处理方法
CN113691640B (zh) 通信方法、装置、电子设备及计算机可读存储介质
CN110545230B (zh) 用于转发vxlan报文的方法和装置
EP3926932A1 (en) Duplex load balancing for massive iot applications
US20100106841A1 (en) Handling Proxy Requests in a Computing System
US11178593B2 (en) Terminal, relay apparatus selection apparatus, communication method, relay apparatus selection method, and program
EP4049420A1 (en) Satellite network acceleration and optimization
CN111741138A (zh) 机器人系统注册管理方法、设备和计算机可读存储介质
CN111800518A (zh) 客户端ip地址插入方法及装置
CN115225706B (zh) 数据传输方法、装置、车辆以及存储介质
CN114531606B (zh) 封装待传输视频数据生成、视频传输方法、系统及设备
CN113783963B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40062888

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant