Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

TFO传输方法、代理服务器和系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:达闼机器人有限公司

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

主权项:1.一种传输控制协议TCP快速打开TFO传输方法,其特征在于,包括:代理服务器从中央控制器或上一跳代理服务器接收最优路径信息和第一TFO信息,所述最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径,所述第一TFO信息用于指示所述最优转发路径上的服务器是否支持TFO;所述代理服务器根据所述最优路径信息向下一跳服务器发送第一同步SYN请求,其中,如果所述代理服务器与所述下一跳服务器均支持TFO,则所述第一同步SYN请求中包括TFOCookie和有效数据。

全文数据:TFO传输方法、代理服务器和系统技术领域[0001]本申请涉及通信领域,尤其涉及一种TFO传输方法、代理服务器和系统。背景技术[0002]TCP快速打开(TCPFast0pen,TF0是对网络中传输控制协议(TransmissionControlProtocol,TCP连接的一种简化握手手续的拓展,用于提高两端点间连接的打开速度。简言之在TCP建立连接阶段传输有效数据,相对于普通TCP,会节省一个往返时间RoundTripTime,RTT。具体的:TFO通过握手开始时的同步(Synchronous,SYN包中的TFOCookie来验证之前连接过的客户端。如果验证成功,可以在三次握手最终收到确认Acknowledgement,ACK包之前就开始发送数据,这样便跳过绕路的行为,并在传输开始时降低延迟。[0003]集中控制的网络,是一种软件定义网络SoftwareDefinedNetwork,SDN控制和转发分离的系统,可以是静态缓存的内容分发网络ContentDeliveryNetwork,CDN或应用传输加速的ApplicationDeliveryNetwork,ADN。在⑶N或ADN网络中,不是所有的转发代理服务器或者客户源站都支持TFO,如果由于防火墙原因导致TFO被拦截,会导致包含TFOCookie的SYN传输失败,触发SYN包的1秒超时重传,导致传输效率下降。[0004]为了自动探测代理服务器之间是否支持TF0,解决由于手动配置导致的问题,提出了本方案,对TFO自动探测,自动下发。并且兼容已有集中控制ADN的传输方法。同时该方法也适用于通用的⑶N系统。发明内容[0005]本申请实施例提供一种TFO传输方法、代理服务器和系统,用于实现了TFO自动探测和下发。[0006]为达到上述目的,本申请的实施例采用如下技术方案:[0007]第一方面,提供了一种TFO传输方法,该方法包括:[0008]代理服务器从中央控制器或上一跳代理服务器接收最优路径信息和第一TFO信息,所述最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径,所述第一TFO信息用于指示所述最优转发路径上的服务器是否支持TF0;[0009]所述代理服务器根据所述最优路径信息向下一跳服务器发送第一同步SYN请求,其中,如果所述代理服务器与所述下一跳服务器均支持TF0,则所述第一SYN请求中包括TFOCookie。[0010]第二方面,提供了一种代理服务器,包括:[0011]接收单元,用于从中央控制器或上一跳代理服务器接收最优路径信息和第一传输控制协议TCP快速打开TFO信息,所述最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径,所述第一TFO信息用于指示所述最优转发路径上的服务器是否支持TFO;[0012]发送单元,用于根据所述最优路径信息向下一跳服务器发送第一同步SYN请求,其中,如果所述代理服务器与所述下一跳服务器均支持TF0,则所述第一SYN请求中包括TFOCookie0[0013]第三方面,提供了一种代理服务器,包括:存储器、通信接口和处理器,所述存储器用于存储计算机执行代码,所述处理器用于执行所述计算机执行代码控制执行第一方面所述的方法,所述通信接口用于所述服务器与外部设备的数据传输。[0014]第四方面,提供了一种通信系统,包括:中央控制器、源站服务器、客户端以及如第二方面所述的代理服务器,或者如第三方面所述的代理服务器。[0015]第五方面,提供了一种存储一个或多个程序的计算机存储介质,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行如第一方面所述的方法。[0016]第六方面,提供了一种计算机程序产品,可直接加载到计算机的内部存储器中,并含有软件代码,所述计算机程序经由计算机载入并执行后能够实现第一方面所述的方法。[0017]本申请实施例提供的TFO传输方法、代理服务器和系统,通过网内全部代理服务器获取与其他代理服务器或源站服务器之间是否支持TF0,将该信息发送给中央控制器进行汇总,由中央控制器确定最优路径后,将该信息沿最优路径进行转发,路径上各服务器根据该信息确定是否与下一跳采用TFO通信,实现了TFO自动探测和下发。附图说明[0018]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。[0019]图1为本申请实施例提供的一种通信系统的结构示意图;[0020]图2为本申请实施例提供的一种TFO传输方法的流程示意图;[0021]图3为本申请实施例提供的代理服务器1对其他代理服务器和源站服务器进行TFO探测的不意图;[0022]图4为本申请实施例提供的全网的代理服务器向中央控制器上报TFO探测结果的示意图;[0023]图5为本申请实施例提供的中央控制器向入口代理服务器下发最优路径信息和第二TFO信息的示意图;[0024]图6为本申请实施例提供的客户端请求触发的代理服务器转发的示意图;[0025]图7为本申请实施例提供的代理服务器宕机的示意图;[0026]图8为本申请实施例提供的代理服务器的结构示意图一;[0027]图9为本申请实施例提供的代理服务器的结构示意图二;[0028]图10为本申请实施例提供的代理服务器的结构示意图三。具体实施方式[0029]下面结合附图,对本申请的实施例进行描述。[0030]本申请公开了一种通信系统,参照图1中所示,包括:中央控制器11、至少一个代理服务器12、源站服务器13和客户端14。中央控制器11用于对整个代理服务器网络进行控制。代理服务器12中包括入口代理服务器和出口服务器,例如本申请实施例中以代理服务器2作为入口代理服务器,以代理服务器5作为出口代理服务器。客户端14的访问请求通过入口代理服务器进入网内,然后经过各代理服务器转发通过出口代理服务器到达源站服务器13。[0031]本申请公开了一种TFO传输方法,应用于上述系统,参照图2中所示,该方法包括:[0032]TFO自动探测阶段[0033]S101、全网所有代理服务器之间相互进行TFO探测以及全网所有代理服务器对源站进行TFO探测,从而探测得到第一TFO信息。[0034]即每个代理服务器都对其他代理服务器以及源站服务器进行TFO探测。第一TFO信息用于指示代理服务器与其他代理服务器或源站服务器之间是否支持TF0。上述探测可以是周期性进行的。[0035]由于全网代理服务器的TFO探测是定时进行,所以可以准实时的刷新全网代理服务器,包括源站支持TFO的状态,支持或者不支持。在支持TFO的情况下,两点之间会自动协商好TFOcookie,并打开TF0。[0036]示例性的,参照图3中所示,为代理服务器1对其他代理服务器和源站服务器进行TFO探测的示意图。[0037]TFO探测结果上报及全路径计算阶段[0038]Sl02、代理服务器将第一TFO信息发送给中央控制器。[0039]中央控制器便知道彼此之间是否可以适用TF0,因为TFO必须要成对出现。根据TFO的特性,第一个TFO连接是无加速效果的,而周期性的TFO探测已经将支持TFO的成对代理服务器之间的TCP连接打通,所以来自客户端的真正的数据请求已经可以直接适用TFO特性。[0040]示例性的,参照图4中所示,为全网的代理服务器向中央控制器上报TFO探测结果的示意图。[0041]S103、中央控制器获取所有代理服务器的第一TFO信息,根据选路算法生成最优路径信息;并根据第一TFO信息和最优路径信息生成第二TFO信息;并将最优路径信息和第二TFO信息发送给入口代理服务器。[0042]最优路径信息用于指示从入口代理服务器至源站服务器的最优转发路径;第二TFO信息用于指示最优转发路径上的服务器是否支持TF0。[0043]这样入口代理服务器不仅知道最优路径信息,而且知道路径中的每一个代理服务器是否支持TFO。[0044]选路算法可以米用业界通用的最短路径算法,例如基于时延最短的Dijsktra算法。中央控制器最终收集到第二TFO信息可以如表1所示。[0045]表1[0046][0047]表1中NO表示二者之间不支持TF0,TF0表示二者之间支持TFO。[0048]假设中央控制器计算出来的最优路径为:代理2-代理3-代理5-源站,传统仅下发最优路径信息的形式为表2所示:[0049]表2[0050][0051]~本申请同时下发第二TFO信息后的形式如表3中所示:[0052]表3[0053]T〇〇54]^其中,括号内的信息为第二TFO信息,其标注方法为二进制0和1,每一位标注从本端到下一跳是否支持TF0,标注为1,说明在探测阶段已经协商好TFOCookie,则在实际传输过程中可以使用TFO进行传输。例如代理2的TFO标志为100,说明代理2到代理3支持TFO,但是代理2到代理5不支持TF0,代理2到源站也不支持TF0。代理3标注为10,说明代理3到代理5支持TF0,但是代理3到源站不支持TF0。代理5标注为0,说明代理5到源站不支持TF0。[0055]示例性的,参照图5中所示,为中央控制器向入口代理服务器下发最优路径信息和第二TFO信息的示意图。[0056]S104、入口代理服务器从中央控制器接收最优路径信息和第二TFO信息。[0057]传输阶段[0058]S105、入口代理服务器监听有客户端请求时,根据最优路径信息向下一跳服务器发送第一SYN请求。[0059]入口代理服务器通过监听特定端口来确定有客户端请求到来。[0060]如果入口代理服务器与下一跳服务器均支持TF0,则第一SYN请求中包括TFOCookie和有效数据。如果入口代理服务器与下一跳服务器中有一者不支持TF0,则第一SYN请求中不包括所述TFOCookie和有效数据。下一跳服务器可以是其他代理服务器或者源站服务器。有效数据指客户端请求中的有效数据[0061]具体的,入口代理服务器直接向下一跳代理服务器发送TFO请求TCP建连和传输数据),即可节省一次建立TCP连接的时间。同时入口代理服务器将最优路径信息和第二TFO信息以TCP数据的形式实际请求之前增加发送给下一跳服务器。[0062]示例性的,参照图6中所示,为客户端请求触发的代理服务器转发的示意图。客户端请求代理服务器2监听的一个端口,触发代理服务器2查询本地的最优路径信息,发现下一跳是代理服务器3,并且代理服务器2到代理服务器3是支持TFO的,所以代理服务器2向代理服务器3发起带TFOCookie和有效数据的SYN包。需要说明的是,代理服务器2在向代理服务器3转发的时候,将最优路径信息和第二TFO信息在实际数据之前发给代理服务器3。[0063]S106、网内的代理服务器从上一跳代理服务器接收最优路径信息和第二TFO信息,并根据最优路径信息向下一跳服务器发送SYN请求。[0064]类似地,同样需要根据本代理服务器及下一跳服务器是否支持TFO来确定SYN请求中是否包括TFOCookie和有效数据,因此网内的代理服务器的处理方式与入口代理服务器的处理方式相同,在此不再赘述。[0065]需要说明的是,从出口代理服务器的向源站服务器发送SYN请求时,不必携带最优路径信息。示例性的,参照图6中所示,代理服务器3在从代理服务器2接收到请求之后,发现下一跳是代理服务器5,从代理服务器3到代理服务器5也支持TF0,则代理服务器3向代理服务器5发起带TFOCookie和有效数据的SYN包。代理服务器5发现下一跳是源站,且源站不支持TF0,则去掉最优路径信息后,使用正常的TCP连接向源站建立连接。整个过程节省了代理服务器2与代理服务器3之间以及代理服务器3与代理服务器5之间的TCP连接建立时间。[0066]另外,如果代理服务器与下一跳服务器建立TCP连接失败例如对端宕机或者断网导致失去服务能力),则本代理服务器向下下一跳服务器发送第二SYN请求,其中,如果本代理服务器与下下一跳服务器均支持TF0,则第二SYN请求中包括TFOCookie和有效数据。即,本代理服务器会尝试跳过有问题的下一跳代理服务器,直接与下下一跳代理服务器建立连接,由于本代理服务器已经知道下下一跳代理服务器是否支持TF0,所以需要判断与其连接是否也使用TF0。[0067]示例性的,参照图7中所示,一旦最优路径中除了入口代理服务器和源站服务器以外的代理服务器突然出现宕机,TCP连接的发起端会尝试跳过故障点,与故障点的下一跳尝试建立连接,例如如果代理服务器3故障,代理服务器2将与代理服务器5建立连接,通过TFO标志位“0”,说明代理服务器2到代理服务器5不能使用TF0,因此直接使用正常的TCP连接。[0068]本申请实施例提供的TFO使用方法,通过网内全部代理服务器获取与其他代理服务器或源站服务器之间是否支持TF0,将该信息发送给中央控制器进行汇总,由中央控制器确定最优路径后,将该信息沿最优路径进行转发,路径上各服务器根据该信息确定是否与下一跳采用TFO通信,实现了TFO自动探测和下发。[0069]在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的代理服务器的一种可能的结构示意图,代理服务器12包括:接收单元1201、探测单元1202、发送单元1203。接收单元1201用于支持代理服务器执行图2中的过程S104、S106;探测单元1202用于支持代理服务器执行图2中的过程S101;发送单元1203用于支持代理服务器执行图2中的过程3102、5105、5106。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。[0070]在采用集成的单元的情况下,图9示出了上述实施例中所涉及的代理服务器的一种可能的结构示意图。代理服务器12包括:处理模块1212和通信模块1213。处理模块1212用于对代理服务器的动作进行控制管理,例如,处理模块1112用于支持代理服务器执行探测单元1202的功能。通信模块1213用于支持代理服务器与其他网络实体的通信,例如与图1中示出的功能模块或网络实体之间的通信。代理服务器21还可以包括存储模块1211,用于存储代理服务器的程序代码和数据。[0071]其中,处理模块1212可以是处理器或控制器,例如可以是中央处理器(CentralProcessingUnit,CPU,通用处理器,数字信号处理器DigitalSignalProcessor,DSP,专用集成电路Application-SpecificIntegratedCircuit,ASIC,现场可编程门阵列FieldProgrammableGateArray,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1213可以是收发器、收发电路或通信接口等。存储模块1211可以是存储器。[0072]当处理模块1212为处理器,通信模块1213为网络接口,存储模块1211为存储器时,本发明实施例所涉及的代理服务器可以为图10所示的服务器。[0073]参阅图10所示,该代理服务器12包括:处理器1222、通信接口1223、存储器1221以及总线1224。其中,网口1223、处理器1222以及存储器1221通过总线1224相互连接;总线1224可以是外设部件互连标准PeripheralComponentInterconnect,PCI总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。[0074]结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。本发明实施例还提供一种存储介质,该存储介质可以包括存储器1221,用于储存为代理服务器所用的计算机软件指令,其包含执行上述方法所设计的程序代码。具体的,软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(RandomAccessMemory,RAM、闪存、只读存储器(ReadOnlyMemory,R0M、可擦除可编程只读存储器(ErasableProgrammableR0M,EPR0M、电可擦可编程只读存储器ElectricallyEPR0M,EEPR0M或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于代理服务器中。当然,处理器和存储介质也可以作为分立组件存在于代理服务器中。[0075]本申请实施例还提供一种计算机程序,该计算机程序可直接加载到存储器1221中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述的方法。[0076]本申请实施例还提供一种存储一个或多个程序的计算机存储介质,一个或多个程序包括指令,该指令当被计算机执行时,使计算机执行图2中的相关方法。[0077]以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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

百度查询: 达闼机器人有限公司 TFO传输方法、代理服务器和系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。