WO2019113786A1 - Tfo传输方法、代理服务器和系统 - Google Patents

Tfo传输方法、代理服务器和系统 Download PDF

Info

Publication number
WO2019113786A1
WO2019113786A1 PCT/CN2017/115703 CN2017115703W WO2019113786A1 WO 2019113786 A1 WO2019113786 A1 WO 2019113786A1 CN 2017115703 W CN2017115703 W CN 2017115703W WO 2019113786 A1 WO2019113786 A1 WO 2019113786A1
Authority
WO
WIPO (PCT)
Prior art keywords
tfo
proxy server
server
information
next hop
Prior art date
Application number
PCT/CN2017/115703
Other languages
English (en)
French (fr)
Inventor
朱磊
Original Assignee
深圳前海达闼云端智能科技有限公司
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 深圳前海达闼云端智能科技有限公司 filed Critical 深圳前海达闼云端智能科技有限公司
Priority to CN201780002516.1A priority Critical patent/CN108124504B/zh
Priority to PCT/CN2017/115703 priority patent/WO2019113786A1/zh
Publication of WO2019113786A1 publication Critical patent/WO2019113786A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures

Definitions

  • the present application relates to the field of communications, and in particular, to a TFO transmission method, a proxy server, and a system.
  • TFO TCP Fast Open
  • TCP Transmission Control Protocol
  • SYN Synchronous
  • ACK Acknowledgement
  • the centralized control network is a software defined network (SDN) control and forwarding separation system, which can be a statically cached content delivery network (CDN) or an application delivery network (Application Delivery Network, ADN).
  • SDN software defined network
  • CDN statically cached content delivery network
  • ADN Application Delivery Network
  • the solution is proposed, and the TFO is automatically detected and automatically delivered. And it is compatible with the transmission method of centralized control ADN. At the same time, the method is also applicable to a general CDN system.
  • the embodiment of the present application provides a TFO transmission method, a proxy server, and a system, which are used to implement TFO automatic detection and delivery.
  • a TFO transmission method comprising:
  • the proxy server receives the optimal path information and the first TFO information from the central controller or the last hop proxy server, the optimal path information is used to indicate an optimal forwarding path from the portal proxy server to the source server, the first The TFO information is used to indicate whether the server on the optimal forwarding path supports TFO;
  • the proxy server sends a first synchronization SYN request to the next hop server according to the optimal path information, where the first SYN request is included if both the proxy server and the next hop server support TFO TFO Cookie.
  • a proxy server including:
  • a receiving unit configured to receive the optimal path information and the first transmission control protocol (TCP) fast open TFO information from the central controller or the last hop proxy server, where the optimal path information is used to indicate from the ingress proxy server to the source station server An optimal forwarding path, where the first TFO information is used to indicate whether the server on the optimal forwarding path supports TFO;
  • TCP transmission control protocol
  • a sending unit configured to send a first synchronization SYN request to the next hop server according to the optimal path information, where if the proxy server and the next hop server both support TFO, the first SYN request is Includes TFO cookies.
  • a proxy server comprising: a memory, a communication interface, and a processor, the memory is configured to store computer execution code, and the processor is configured to execute the computer to perform code control execution according to the first aspect Method, the communication interface is used for data transmission between the server and an external device.
  • a communication system comprising: a central controller, a source station server, a client, and a proxy server according to the second aspect, or a proxy server according to the third aspect.
  • a computer storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by a computer, cause the computer to perform the method of the first aspect .
  • a computer program product can be directly loaded into an internal memory of a computer and contains software code that can be implemented by loading and executing the computer program.
  • the TFO transmission method, the proxy server and the system provided by the embodiments of the present application acquire whether TFO is supported by other proxy servers or source server servers through all proxy servers in the network, and the information is sent to the central controller for aggregation, and is controlled by the central control. After determining the optimal path, the information is forwarded along the optimal path.
  • the servers on the path determine whether to use the TFO to communicate with the next hop according to the information, so that the TFO is automatically detected and delivered.
  • FIG. 1 is a schematic structural diagram of a communication system according to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a TFO transmission method according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of TFO detection performed by the proxy server 1 on other proxy servers and source server according to an embodiment of the present application;
  • FIG. 4 is a schematic diagram of reporting a TFO detection result to a central controller by a proxy server of a whole network according to an embodiment of the present application;
  • FIG. 5 is a schematic diagram of a central controller delivering optimal path information and second TFO information to an ingress proxy server according to an embodiment of the present disclosure
  • FIG. 6 is a schematic diagram of proxy server forwarding triggered by a client request according to an embodiment of the present disclosure
  • FIG. 7 is a schematic diagram of a proxy server downtime according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram 1 of a proxy server according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram 2 of a proxy server according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram 3 of a proxy server according to an embodiment of the present disclosure.
  • the present application discloses a communication system, as shown in FIG. 1, comprising: a central controller 11, at least one proxy server 12, a source station server 13, and a client 14.
  • the central controller 11 is used to control the entire proxy server network.
  • the proxy server 12 includes an ingress proxy server and an egress server.
  • the proxy server 2 serves as an ingress proxy server
  • the proxy server 5 serves as an egress proxy server.
  • the access request of the client 14 enters the network through the portal proxy server, and then forwards through the proxy server to the source station server 13 through the egress proxy server.
  • the present application discloses a TFO transmission method applied to the above system.
  • the method includes:
  • All the proxy servers of the entire network perform TFO detection with each other, and all proxy servers of the entire network perform TFO detection on the source station, thereby detecting the first TFO information.
  • each proxy server performs TFO detection on other proxy servers as well as source server.
  • the first TFO information is used to indicate whether TFO is supported between the proxy server and other proxy servers or source server. The above detection can be performed periodically.
  • the full-network proxy server can be refreshed in real time, including the state of the source station supporting TFO, with or without support.
  • TFO support the TFO cookie is automatically negotiated between the two points and the TFO is opened.
  • FIG. 3 a schematic diagram of TFO detection by the proxy server 1 for other proxy servers and source server.
  • the proxy server sends the first TFO information to the central controller.
  • the central controller knows if TFO can be applied to each other because TFOs must be paired. According to the characteristics of TFO, the first TFO connection is non-accelerating, and the periodic TFO detection has opened the TCP connection between the paired proxy servers supporting TFO, so the real data request from the client can be directly applied. TFO characteristics.
  • FIG. 4 a schematic diagram of the TFO detection result is reported to the central controller for the proxy server of the entire network.
  • the central controller acquires first TFO information of all proxy servers, generates optimal path information according to the routing algorithm, and generates second TFO information according to the first TFO information and the optimal path information; and the optimal path information and the The second TFO information is sent to the portal proxy server.
  • the optimal path information is used to indicate an optimal forwarding path from the ingress proxy server to the source station server; the second TFO information is used to indicate whether the server on the optimal forwarding path supports TFO.
  • the portal proxy server not only knows the optimal path information, but also knows whether each proxy server in the path supports TFO.
  • the routing algorithm can use the industry's shortest path algorithm, such as the Dijsktra algorithm based on the shortest delay.
  • the central controller finally collects the second TFO information as shown in Table 1.
  • Agent 2 (100) Agent 3 (10) Agent 5 (0) Source station
  • the information in the parentheses is the second TFO information, and the labeling method is binary 0 and 1.
  • Each bit indicates whether the TFO is supported from the local end to the next hop, and the label is 1, indicating that the TFO cookie has been negotiated during the detection phase.
  • TFO can be used for transmission during the actual transmission.
  • the TFO flag of the agent 2 is 100, indicating that the agent 2 to the agent 3 support the TFO, but the agent 2 to the agent 5 do not support the TFO, and the agent 2 to the source station does not support the TFO.
  • Agent 3 is labeled 10, indicating that Agent 3 to Agent 5 support TFO, but Agent 3 to the source station does not support TFO.
  • Agent 5 is marked as (0), indicating that agent 5 to the source station does not support TFO.
  • a schematic diagram of the optimal path information and the second TFO information is sent to the ingress proxy server by the central controller.
  • the portal proxy server receives the optimal path information and the second TFO information from the central controller.
  • the ingress proxy server determines that a client request comes by listening to a specific port.
  • the first SYN request includes the TFO cookie and valid data. If one of the ingress proxy server and the next hop server does not support TFO, the TFO cookie and valid data are not included in the first SYN request.
  • the next hop server can be another proxy server or a source server.
  • Valid data refers to valid data in client requests
  • the ingress proxy server directly sends a TFO request (TCP connection and transmission data) to the next-hop proxy server, thereby saving the time for establishing a TCP connection.
  • the portal proxy server will use the optimal path information and the second TFO information in the form of TCP data (before the actual request is added) Send to the next hop server.
  • a schematic diagram of a proxy server forwarding triggered by a client request The client requests a port monitored by the proxy server 2, triggers the proxy server 2 to query the local optimal path information, finds that the next hop is the proxy server 3, and the proxy server 2 to the proxy server 3 support the TFO, so the proxy server 2
  • the proxy server 3 initiates a SYN packet with a TFO cookie and valid data. It should be noted that, when forwarding to the proxy server 3, the proxy server 2 sends the optimal path information and the second TFO information to the proxy server 3 before the actual data.
  • the proxy server in the network receives the optimal path information and the second TFO information from the last hop proxy server, and sends a SYN request to the next hop server according to the optimal path information.
  • the proxy server 3 finds that the next hop is the proxy server 5, and the slave server 3 to the proxy server 5 also supports the TFO, and the proxy server 3
  • the proxy server 5 initiates a SYN packet with a TFO cookie and valid data.
  • the proxy server 5 finds that the next hop is the source station, and the source station does not support the TFO.
  • the connection is established to the source station using the normal TCP connection. The entire process saves the TCP connection setup time between the proxy server 2 and the proxy server 3 and between the proxy server 3 and the proxy server 5.
  • the proxy server sends a second SYN request to the next hop server, wherein if the proxy Both the server and the next next hop server support TFO, and the second SYN request includes the TFO cookie and valid data. That is, the proxy server will try to skip the problematic next hop proxy server and directly establish a connection with the next hop proxy server. Since the proxy server already knows whether the next hop proxy server supports TFO, it needs to judge and connect with it. Whether to use TFO as well.
  • the initiator of the TCP connection attempts to skip the fault point, and the fault point One hop attempts to establish a connection. For example, if the proxy server 3 fails, the proxy server 2 will establish a connection with the proxy server 5, and the TFO flag "0" indicates that the proxy server 2 to the proxy server 5 cannot use the TFO, so the normal TCP is directly used. connection.
  • the TFO usage method provided by the embodiment of the present application obtains whether TFO is supported by other proxy servers or source server servers through all proxy servers in the network, and sends the information to the central controller for aggregation, and the optimal path is determined by the central controller. Then, the information is forwarded along the optimal path, and each server on the path determines whether to use TFO communication with the next hop according to the information, and implements TFO automatic detection and delivery.
  • FIG. 8 is a schematic structural diagram of a proxy server involved in the foregoing embodiment, where the proxy server 12 includes: The receiving unit 1201, the detecting unit 1202, and the transmitting unit 1203.
  • the receiving unit 1201 is configured to support the proxy server to perform the processes S104, S106 in FIG. 2;
  • the detecting unit 1202 is configured to support the proxy server to perform the process S101 in FIG. 2;
  • the sending unit 1203 is configured to support the proxy server to execute the process S102 in FIG. 2, S105, S106.
  • All the related content of the steps involved in the foregoing method embodiments may be referred to the functional descriptions of the corresponding functional modules, and details are not described herein again.
  • FIG. 9 shows a possible structural diagram of the proxy server involved in the above embodiment.
  • the proxy server 12 includes a processing module 1212 and a communication module 1213.
  • the processing module 1212 is configured to control and manage the actions of the proxy server.
  • the processing module 1112 is configured to support the proxy server to perform the function of the detecting unit 1202.
  • Communication module 1213 is for supporting communication between the proxy server and other network entities, such as with the functional modules or network entities shown in FIG.
  • the proxy server 21 may further include a storage module 1211 for storing program codes and data of the proxy server.
  • the processing module 1212 may be a processor or a controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), and an application-specific integrated circuit (Application-Specific). Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of a DSP and a microprocessor, and the like.
  • the communication module 1213 may be a transceiver, a transceiver circuit, a communication interface, or the like.
  • the storage module 1211 can be a memory.
  • the proxy server may be the server shown in FIG.
  • the proxy server 12 includes a processor 1222, a communication interface 1223, a memory 1221, and a bus 1224.
  • the network port 1223, the processor 1222, and the memory 1221 are connected to each other through a bus 1224.
  • the bus 1224 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. Wait.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • Wait The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 10, but it does not mean that there is only one bus or one type of bus.
  • the steps of a method or algorithm described in connection with the present disclosure may be implemented in a hardware, or may be implemented by a processor executing software instructions.
  • the embodiment of the invention further provides a storage medium, which may include a memory 1221 for storing computer software instructions used by the proxy server, which includes program code designed to execute the above method.
  • the software instructions may be composed of corresponding software modules, and the software modules may be stored in a random access memory (RAM), a flash memory, a read only memory (ROM), and an erasable programmable only.
  • RAM random access memory
  • ROM read only memory
  • EPROM Erasable Programmable ROM
  • EEPROM electrically erasable programmable read only memory
  • An exemplary storage medium is coupled to the processor such that The processor is enabled to read information from the storage medium and to write information to the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and the storage medium can be located in an ASIC. Additionally, the ASIC can be located in a proxy server. Of course, the processor and the storage medium can also exist as a discrete component in the proxy server.
  • the embodiment of the present application further provides a computer program, which can be directly loaded into the memory 1221 and contains software code, and the computer program can be implemented after being loaded and executed by a computer.
  • Embodiments of the present application also provide a computer storage medium storing one or more programs, the one or more programs including instructions that, when executed by a computer, cause the computer to perform the related methods of FIG.

Abstract

本申请公开了一种TFO传输方法、代理服务器和系统,涉及通信领域,用于实现了TFO自动探测和下发。TFO传输方法包括:代理服务器从中央控制器或上一跳代理服务器接收最优路径信息和第一TFO信息,所述最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径,所述第一TFO信息用于指示所述最优转发路径上的服务器是否支持TFO;所述代理服务器根据所述最优路径信息向下一跳服务器发送第一同步SYN请求,其中,如果所述代理服务器与所述下一跳服务器均支持TFO,则所述第一SYN请求中包括TFO Cookie和有效数据。本申请实施例应用于CDN或ADN网络。

Description

TFO传输方法、代理服务器和系统 技术领域
本申请涉及通信领域,尤其涉及一种TFO传输方法、代理服务器和系统。
背景技术
TCP快速打开(TCP Fast Open,TFO)是对网络中传输控制协议(Transmission Control Protocol,TCP)连接的一种简化握手手续的拓展,用于提高两端点间连接的打开速度。简言之在TCP建立连接阶段传输有效数据,相对于普通TCP,会节省一个往返时间(Round Trip Time,RTT)。具体的:TFO通过握手开始时的同步(Synchronous,SYN)包中的TFO Cookie来验证之前连接过的客户端。如果验证成功,可以在三次握手最终收到确认(Acknowledgement,ACK)包之前就开始发送数据,这样便跳过绕路的行为,并在传输开始时降低延迟。
集中控制的网络,是一种软件定义网络(Software Defined Network,SDN)控制和转发分离的系统,可以是静态缓存的内容分发网络(Content Delivery Network,CDN)或应用传输加速的(Application Delivery Network,ADN)。在CDN或ADN网络中,不是所有的转发代理服务器或者客户源站都支持TFO,如果由于防火墙原因导致TFO被拦截,会导致包含TFO Cookie的SYN传输失败,触发SYN包的1秒超时重传,导致传输效率下降。
为了自动探测代理服务器之间是否支持TFO,解决由于手动配置导致的问题,提出了本方案,对TFO自动探测,自动下发。并且兼容已有集中控制ADN的传输方法。同时该方法也适用于通用的CDN系统。
发明内容
本申请实施例提供一种TFO传输方法、代理服务器和系统,用于实现了TFO自动探测和下发。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种TFO传输方法,该方法包括:
代理服务器从中央控制器或上一跳代理服务器接收最优路径信息和第一TFO信息,所述最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径,所述第一TFO信息用于指示所述最优转发路径上的服务器是否支持TFO;
所述代理服务器根据所述最优路径信息向下一跳服务器发送第一同步SYN请求,其中,如果所述代理服务器与所述下一跳服务器均支持TFO,则所述第一SYN请求中包括TFO Cookie。
第二方面,提供了一种代理服务器,包括:
接收单元,用于从中央控制器或上一跳代理服务器接收最优路径信息和第一传输控制协议TCP快速打开TFO信息,所述最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径,所述第一TFO信息用于指示所述最优转发路径上的服务器是否支持TFO;
发送单元,用于根据所述最优路径信息向下一跳服务器发送第一同步SYN请求,其中,如果所述代理服务器与所述下一跳服务器均支持TFO,则所述第一SYN请求中包括TFO Cookie。
第三方面,提供了一种代理服务器,包括:存储器、通信接口和处理器,所述存储器用于存储计算机执行代码,所述处理器用于执行所述计算机执行代码控制执行第一方面所述的方法,所述通信接口用于所述服务器与外部设备的数据传输。
第四方面,提供了一种通信系统,包括:中央控制器、源站服务器、客户端以及如第二方面所述的代理服务器,或者如第三方面所述的代理服务器。
第五方面,提供了一种存储一个或多个程序的计算机存储介质,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行如第一方面所述的方法。
第六方面,提供了一种计算机程序产品,可直接加载到计算机的内部存储器中,并含有软件代码,所述计算机程序经由计算机载入并执行后能够实现第一方面所述的方法。
本申请实施例提供的TFO传输方法、代理服务器和系统,通过网内全部代理服务器获取与其他代理服务器或源站服务器之间是否支持TFO,将该信息发送给中央控制器进行汇总,由中央控制器确定最优路径后,将该信息沿最优路径进行转发,路径上各服务器根据该信息确定是否与下一跳采用TFO通信,实现了TFO自动探测和下发。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种通信系统的结构示意图;
图2为本申请实施例提供的一种TFO传输方法的流程示意图;
图3为本申请实施例提供的代理服务器1对其他代理服务器和源站服务器进行TFO探测的示意图;
图4为本申请实施例提供的全网的代理服务器向中央控制器上报TFO探测结果的示意图;
图5为本申请实施例提供的中央控制器向入口代理服务器下发最优路径信息和第二TFO信息的示意图;
图6为本申请实施例提供的客户端请求触发的代理服务器转发的示意图;
图7为本申请实施例提供的代理服务器宕机的示意图;
图8为本申请实施例提供的代理服务器的结构示意图一;
图9为本申请实施例提供的代理服务器的结构示意图二;
图10为本申请实施例提供的代理服务器的结构示意图三。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
本申请公开了一种通信系统,参照图1中所示,包括:中央控制器11、至少一个代理服务器12、源站服务器13和客户端14。中央控制器11用于对整个代理服务器网络进行控制。代理服务器12中包括入口代理服务器和出口服务器,例如本申请实施例中以代理服务器2作为入口代理服务器,以代理服务器5作为出口代理服务器。客户端14的访问请求通过入口代理服务器进入网内,然后经过各代理服务器转发通过出口代理服务器到达源站服务器13。
本申请公开了一种TFO传输方法,应用于上述系统,参照图2中所示,该方法包括:
TFO自动探测阶段
S101、全网所有代理服务器之间相互进行TFO探测以及全网所有代理服务器对源站进行TFO探测,从而探测得到第一TFO信息。
即每个代理服务器都对其他代理服务器以及源站服务器进行TFO探测。第一TFO信息用于指示代理服务器与其他代理服务器或源站服务器之间是否支持TFO。上述探测可以是周期性进行的。
由于全网代理服务器的TFO探测是定时进行,所以可以准实时的刷新全网代理服务器,包括源站支持TFO的状态,支持或者不支持。在支持TFO的情况下,两点之间会自动协商好TFO cookie,并打开TFO。
示例性的,参照图3中所示,为代理服务器1对其他代理服务器和源站服务器进行TFO探测的示意图。
TFO探测结果上报及全路径计算阶段
S102、代理服务器将第一TFO信息发送给中央控制器。
中央控制器便知道彼此之间是否可以适用TFO,因为TFO必须要成对出现。根据TFO的特性,第一个TFO连接是无加速效果的,而周期性的TFO探测已经将支持TFO的成对代理服务器之间的TCP连接打通,所以来自客户端的真正的数据请求已经可以直接适用TFO特性。
示例性的,参照图4中所示,为全网的代理服务器向中央控制器上报TFO探测结果的示意图。
S103、中央控制器获取所有代理服务器的第一TFO信息,根据选路算法生成最优路径信息;并根据第一TFO信息和最优路径信息生成第二TFO信息;并将最优路径信息和第二TFO信息发送给入口代理服务器。
最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径;第二TFO信息用于指示最优转发路径上的服务器是否支持TFO。
这样入口代理服务器不仅知道最优路径信息,而且知道路径中的每一个代理服务器是否支持TFO。
选路算法可以采用业界通用的最短路径算法,例如基于时延最短的Dijsktra算法。中央控制器最终收集到第二TFO信息可以如表1所示。
表1
  代理1 代理2 代理3 代理4 代理5 源站1
代理1 NO TFO TFO NO TFO NO
代理2 TFO NO TFO TFO NO NO
代理3 TFO TFO NO TFO TFO NO
代理4 NO NO NO NO NO NO
代理5 TFO NO TFO TFO NO NO
表1中NO表示二者之间不支持TFO,TFO表示二者之间支持TFO。
假设中央控制器计算出来的最优路径为:代理2-代理3-代理5-源站,传统仅下发最优路径信息的形式为表2所示:
表2
代理2 代理3 代理5 源站
本申请同时下发第二TFO信息后的形式如表3中所示:
表3
代理2(100) 代理3(10) 代理5(0) 源站
其中,括号内的信息为第二TFO信息,其标注方法为二进制0和1,每一位标注从本端到下一跳是否支持TFO,标注为1,说明在探测阶段已经协商好TFO Cookie,则在实际传输过程中可以使用TFO进行传输。例如代理2的TFO标志为100,说明代理2到代理3支持TFO,但是代理2到代理5不支持TFO,代理2到源站也不支持TFO。代理3标注为10,说明代理3到代理5支持TFO,但是代理3到源站不支持TFO。代理5标注为(0),说明代理5到源站不支持TFO。
示例性的,参照图5中所示,为中央控制器向入口代理服务器下发最优路径信息和第二TFO信息的示意图。
S104、入口代理服务器从中央控制器接收最优路径信息和第二TFO信息。
传输阶段
S105、入口代理服务器监听有客户端请求时,根据最优路径信息向下一跳服务器发送第一SYN请求。
入口代理服务器通过监听特定端口来确定有客户端请求到来。
如果入口代理服务器与下一跳服务器均支持TFO,则第一SYN请求中包括TFO Cookie和有效数据。如果入口代理服务器与下一跳服务器中有一者不支持TFO,则第一SYN请求中不包括所述TFO Cookie和有效数据。下一跳服务器可以是其他代理服务器或者源站服务器。有效数据指客户端请求中的有效数据
具体的,入口代理服务器直接向下一跳代理服务器发送TFO请求(TCP建连和传输数据),即可节省一次建立TCP连接的时间。同时入口代理服务器将最优路径信息和第二TFO信息以TCP数据的形式(实际请求之前增加) 发送给下一跳服务器。
示例性的,参照图6中所示,为客户端请求触发的代理服务器转发的示意图。客户端请求代理服务器2监听的一个端口,触发代理服务器2查询本地的最优路径信息,发现下一跳是代理服务器3,并且代理服务器2到代理服务器3是支持TFO的,所以代理服务器2向代理服务器3发起带TFO Cookie和有效数据的SYN包。需要说明的是,代理服务器2在向代理服务器3转发的时候,将最优路径信息和第二TFO信息在实际数据之前发给代理服务器3。S106、网内的代理服务器从上一跳代理服务器接收最优路径信息和第二TFO信息,并根据最优路径信息向下一跳服务器发送SYN请求。
类似地,同样需要根据本代理服务器及下一跳服务器是否支持TFO来确定SYN请求中是否包括TFO Cookie和有效数据,因此网内的代理服务器的处理方式与入口代理服务器的处理方式相同,在此不再赘述。
需要说明的是,从出口代理服务器的向源站服务器发送SYN请求时,不必携带最优路径信息。示例性的,参照图6中所示,代理服务器3在从代理服务器2接收到请求之后,发现下一跳是代理服务器5,从代理服务器3到代理服务器5也支持TFO,则代理服务器3向代理服务器5发起带TFO Cookie和有效数据的SYN包。代理服务器5发现下一跳是源站,且源站不支持TFO,则去掉最优路径信息后,使用正常的TCP连接向源站建立连接。整个过程节省了代理服务器2与代理服务器3之间以及代理服务器3与代理服务器5之间的TCP连接建立时间。
另外,如果代理服务器与下一跳服务器建立TCP连接失败(例如对端宕机或者断网导致失去服务能力),则本代理服务器向下下一跳服务器发送第二SYN请求,其中,如果本代理服务器与下下一跳服务器均支持TFO,则第二SYN请求中包括TFO Cookie和有效数据。即,本代理服务器会尝试跳过有问题的下一跳代理服务器,直接与下下一跳代理服务器建立连接,由于本代理服务器已经知道下下一跳代理服务器是否支持TFO,所以需要判断与其连接是否也使用TFO。
示例性的,参照图7中所示,一旦最优路径中除了入口代理服务器和源站服务器以外的代理服务器突然出现宕机,TCP连接的发起端会尝试跳过故障点,与故障点的下一跳尝试建立连接,例如如果代理服务器3故障,代理服务器2将与代理服务器5建立连接,通过TFO标志位“0”,说明代理服务器2到代理服务器5不能使用TFO,因此直接使用正常的TCP连接。
本申请实施例提供的TFO使用方法,通过网内全部代理服务器获取与其他代理服务器或源站服务器之间是否支持TFO,将该信息发送给中央控制器进行汇总,由中央控制器确定最优路径后,将该信息沿最优路径进行转发,路径上各服务器根据该信息确定是否与下一跳采用TFO通信,实现了TFO自动探测和下发。
在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的代理服务器的一种可能的结构示意图,代理服务器12包括:接 收单元1201、探测单元1202、发送单元1203。接收单元1201用于支持代理服务器执行图2中的过程S104、S106;探测单元1202用于支持代理服务器执行图2中的过程S101;发送单元1203用于支持代理服务器执行图2中的过程S102、S105、S106。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的代理服务器的一种可能的结构示意图。代理服务器12包括:处理模块1212和通信模块1213。处理模块1212用于对代理服务器的动作进行控制管理,例如,处理模块1112用于支持代理服务器执行探测单元1202的功能。通信模块1213用于支持代理服务器与其他网络实体的通信,例如与图1中示出的功能模块或网络实体之间的通信。代理服务器21还可以包括存储模块1211,用于存储代理服务器的程序代码和数据。
其中,处理模块1212可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1213可以是收发器、收发电路或通信接口等。存储模块1211可以是存储器。
当处理模块1212为处理器,通信模块1213为网络接口,存储模块1211为存储器时,本发明实施例所涉及的代理服务器可以为图10所示的服务器。
参阅图10所示,该代理服务器12包括:处理器1222、通信接口1223、存储器1221以及总线1224。其中,网口1223、处理器1222以及存储器1221通过总线1224相互连接;总线1224可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。本发明实施例还提供一种存储介质,该存储介质可以包括存储器1221,用于储存为代理服务器所用的计算机软件指令,其包含执行上述方法所设计的程序代码。具体的,软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而 使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于代理服务器中。当然,处理器和存储介质也可以作为分立组件存在于代理服务器中。
本申请实施例还提供一种计算机程序,该计算机程序可直接加载到存储器1221中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述的方法。
本申请实施例还提供一种存储一个或多个程序的计算机存储介质,一个或多个程序包括指令,该指令当被计算机执行时,使计算机执行图2中的相关方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

  1. 一种传输控制协议TCP快速打开TFO传输方法,其特征在于,包括:
    代理服务器从中央控制器或上一跳代理服务器接收最优路径信息和第一TFO信息,所述最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径,所述第一TFO信息用于指示所述最优转发路径上的服务器是否支持TFO;
    所述代理服务器根据所述最优路径信息向下一跳服务器发送第一同步SYN请求,其中,如果所述代理服务器与所述下一跳服务器均支持TFO,则所述第一SYN请求中包括TFO Cookie和有效数据。
  2. 根据权利要求1所述的方法,其特征在于,在所述代理服务器从中央控制器或上一跳代理服务器接收最优路径信息和第一TFO信息之前,所述方法还包括:
    所述代理服务器对其他代理服务器或所述源站服务器进行TFO探测以得到第二TFO信息,所述第二TFO信息用于指示所述代理服务器与其他代理服务器或所述源站服务器之间是否支持TFO;
    所述代理服务器将所述第二TFO信息发送给所述中央控制器。
  3. 根据权利要求1所述的方法,其特征在于,如果所述代理服务器与所述下一跳服务器中有一者不支持TFO,则所述第一SYN请求中不包括所述TFO Cookie和有效数据。
  4. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    如果所述代理服务器与下一跳服务器建立TCP连接失败,则所述代理服务器向下下一跳服务器发送第二SYN请求,其中,如果所述代理服务器与所述下下一跳服务器均支持TFO,则所述第二SYN请求中包括TFO Cookie和有效数据。
  5. 一种代理服务器,其特征在于,包括:
    接收单元,用于从中央控制器或上一跳代理服务器接收最优路径信息和第一传输控制协议TCP快速打开TFO信息,所述最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径,所述第一TFO信息用于指示所述最优转发路径上的服务器是否支持TFO;
    发送单元,用于根据所述最优路径信息向下一跳服务器发送第一同步SYN请求,其中,如果所述代理服务器与所述下一跳服务器均支持TFO,则所述第一SYN请求中包括TFO Cookie和有效数据。
  6. 根据权利要求5所述的服务器,其特征在于,所述服务器还包括探测单元,
    所述探测单元,用于在所述接收单元从中央控制器或上一跳代理服务器接收最优路径信息和第一TFO信息之前,对其他代理服务器或所述源站服务器进行TFO探测以得到第二TFO信息,所述第二TFO信息用于指示所述代理服务器与其他代理服务器或所述源站服务器之间是否支持TFO;
    所述发送单元,还用于将所述第二TFO信息发送给所述中央控制器。
  7. 根据权利要求5所述的服务器,其特征在于,如果所述代理服务器与所述下一跳服务器中有一者不支持TFO,则所述第一SYN请求中不包括所述TFO Cookie和有效数据。
  8. 根据权利要求5所述的服务器,其特征在于,所述发送单元,还用于:
    如果所述代理服务器与下一跳服务器建立TCP连接失败,则向下下一跳服务器发送第二SYN请求,其中,如果所述代理服务器与所述下下一跳服务器均支持TFO,则所述第二SYN请求中包括TFO Cookie和有效数据。
  9. 一种代理服务器,其特征在于,包括:存储器、通信接口和处理器,所述存储器用于存储计算机执行代码,所述处理器用于执行所述计算机执行代码控制执行权利要求1-4任一项所述的方法,所述通信接口用于所述服务器与外部设备的数据传输。
  10. 一种通信系统,其特征在于,包括:中央控制器、源站服务器、客户端以及如权利要求5-8任一项所述的代理服务器,或者如权利要求9所述的代理服务器。
  11. 一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行如权利要求1-4任一项所述的方法。
  12. 一种计算机程序产品,其特征在于,可直接加载到计算机的内部存储器中,并含有软件代码,所述计算机程序经由计算机载入并执行后能够实现权利要求1-4任一项所述的方法。
PCT/CN2017/115703 2017-12-12 2017-12-12 Tfo传输方法、代理服务器和系统 WO2019113786A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780002516.1A CN108124504B (zh) 2017-12-12 2017-12-12 Tfo传输方法、代理服务器和系统
PCT/CN2017/115703 WO2019113786A1 (zh) 2017-12-12 2017-12-12 Tfo传输方法、代理服务器和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/115703 WO2019113786A1 (zh) 2017-12-12 2017-12-12 Tfo传输方法、代理服务器和系统

Publications (1)

Publication Number Publication Date
WO2019113786A1 true WO2019113786A1 (zh) 2019-06-20

Family

ID=62234434

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/115703 WO2019113786A1 (zh) 2017-12-12 2017-12-12 Tfo传输方法、代理服务器和系统

Country Status (2)

Country Link
CN (1) CN108124504B (zh)
WO (1) WO2019113786A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114244602A (zh) * 2021-12-15 2022-03-25 腾讯科技(深圳)有限公司 多用户在线的网络服务系统、方法、装置及介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636000B (zh) * 2018-06-22 2021-07-27 贵州白山云科技股份有限公司 一种虚拟云网络控制方法、系统和网络装置
CN110768812B (zh) * 2018-07-26 2022-11-08 贵州白山云科技股份有限公司 一种服务器管理系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219215A (zh) * 2013-06-05 2014-12-17 深圳市腾讯计算机系统有限公司 一种tcp连接的建立方法、装置、终端、服务器及系统
US20160197823A1 (en) * 2015-01-07 2016-07-07 Vmware, Inc. Reverse path maximum transmission unit (pmtu) discovery

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457967B (zh) * 2012-05-30 2015-05-20 腾讯科技(深圳)有限公司 服务节点切换方法及系统
CN103560937B (zh) * 2013-11-01 2017-03-15 北京蓝汛通信技术有限责任公司 数据访问方法和入口服务器
US8769047B1 (en) * 2013-12-17 2014-07-01 Limelight Networks, Inc. Delivery control for cooperative delivery systems
CN105991365B (zh) * 2015-02-28 2019-07-16 网宿科技股份有限公司 路径探测的方法、设备和系统
CN105933400A (zh) * 2016-04-18 2016-09-07 乐视控股(北京)有限公司 内容分发网络中的tcp加速方法、系统和服务器
WO2019061521A1 (zh) * 2017-09-30 2019-04-04 深圳前海达闼云端智能科技有限公司 一种代理转发方法和装置、代理服务器和多级代理网络

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219215A (zh) * 2013-06-05 2014-12-17 深圳市腾讯计算机系统有限公司 一种tcp连接的建立方法、装置、终端、服务器及系统
US20160197823A1 (en) * 2015-01-07 2016-07-07 Vmware, Inc. Reverse path maximum transmission unit (pmtu) discovery

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHENG, YUCHUNG ET AL.: "TCP Fast Open", RFC7413, 31 December 2014 (2014-12-31), pages 1 - 26, XP015104516 *
GERMANN, A.: "Measuring Internet Path Transparency for Transport Protocol Extensions", SEMESTER THESIS SA-2016-49, 27 June 2016 (2016-06-27), pages 1 - 37 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114244602A (zh) * 2021-12-15 2022-03-25 腾讯科技(深圳)有限公司 多用户在线的网络服务系统、方法、装置及介质

Also Published As

Publication number Publication date
CN108124504B (zh) 2021-05-07
CN108124504A (zh) 2018-06-05

Similar Documents

Publication Publication Date Title
JP6324038B2 (ja) マルチパス接続を確立するための方法およびマルチホーム機器
US11277341B2 (en) Resilient segment routing service hunting with TCP session stickiness
US11588703B2 (en) Systems and methods for determining a topology of a network comprising a plurality of intermediary devices and paths
US10530644B2 (en) Techniques for establishing a communication connection between two network entities via different network flows
WO2019113786A1 (zh) Tfo传输方法、代理服务器和系统
WO2017054547A1 (zh) 双向转发检测的方法和装置
WO2021238672A1 (zh) 表项同步方法、网关设备、组网系统及存储介质
WO2016095322A1 (zh) 一种基于vrrp的数据传输方法及装置
WO2018076580A1 (zh) 无线网络双边加速传输方法和系统
US11700321B2 (en) Transparent proxy conversion of transmission control protocol (TCP) fast open connection
US10530869B2 (en) Bidirectional forwarding detection accelerator
US11349934B2 (en) Opportunistic transmission control protocol (TCP) connection establishment
WO2019119269A1 (zh) 一种网络故障探测方法及控制中心设备
US11223567B2 (en) Transmission control protocol session mobility
WO2019196853A1 (zh) Tcp加速方法及装置
US10374944B2 (en) Quality of service for data transmission
US10193941B2 (en) Interworking between first protocol entity of stream reservation protocol and second protocol entity of routing protocol
WO2015167375A1 (en) Method and tcp proxy for supporting communication between a client device and a server node
US8676993B1 (en) Bundled transmission control protocol connections
WO2015194134A1 (ja) 通信状態推定装置、通信状態推定方法及び通信状態推定プログラムを記憶する記録媒体
JP2016019156A (ja) 通信装置およびその制御方法
CN111107006B (zh) 路由的管理方法及装置
US20240007405A1 (en) Transport protocol selection based on connection state
Liqing et al. TCP optimization implementation of a small embedded system
WO2017041569A1 (zh) 业务数据传输方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17934398

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 20/10/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 17934398

Country of ref document: EP

Kind code of ref document: A1