穿过客户端侧nat防火墙的基于udp的传输协议的低时延服务器侧重定向的制作方法_4

文档序号:9383409阅读:来源:国知局
的连接信息将数据资源提供给客户端。客户端可受到阻挡无标记数据朝着客户端穿过的防火墙(例如,图2的120)保护。第二服务器可缺少所请求的数据资源或者用于提供所请求的数据资源的资源。
[0052]图6是示出依据本主题技术的一个方面的穿过客户端侧NAT防火墙的基于UDP的传输协议的低时延服务器侧重定向的方法600的示例的流程图。方法600可由图2客户端应用115在客户端装置110处执行,并且开始于操作块610:客户端可向第一服务器(例如,图1的130)发送对数据资源的请求(例如,图1的112)。在操作块620,可从先前尚未连接到客户端的第二服务器(例如,图1的1630)接收数据资源。从第二服务器接收数据资源可由第一服务器通过将所述请求重定向至第二服务器并且准备好第二服务器连接到客户端并直接响应所述请求来促成。第一服务器可缺少所请求的数据资源或者用于提供所请求的数据资源的资源。
[0053]将理解,本公开不限于所公开的实施例,而是相反,旨在涵盖各种修改和等同布置方式。本领域技术人员将理解,本文所述的各种例示性方框、模块、元件、组件、方法和算法可被实现为电子硬件、计算机软件或者二者的组合。技术人员可针对各个具体应用按照变化的方式来实现所描述的功能。在不脱离本主题技术的范围的情况下,各种组件和方框可不同地布置(例如,按照不同的顺序布置、或者按照不同的方式分割)。
[0054]所公开的方法中的步骤的特定顺序或层次是方法的示例的例示。方法中的步骤的特定顺序或层次可例如基于设计偏好来重新布置。一些步骤可同时执行或者按照替选顺序执行。其它实施例也在所附权利要求书的范围内。
【主权项】
1.一种计算机实现的方法,包括: 在第一服务器处接收用于将数据资源定向至客户端的请求; 确定用于响应所述请求的第二服务器; 将所述请求重定向至所述第二服务器;以及 准备好所述第二服务器连接到所述客户端并且直接响应所述请求,其中所述第二服务器先前尚未连接到所述客户端。2.根据权利要求1所述的计算机实现的方法,其中: 接收所述请求包括从所述客户端或者后端服务器接收所述请求, 所述客户端受到防火墙的保护,所述防火墙包括阻挡无标记数据朝着所述客户端穿过的网络地址转换(NAT)防火墙, 所述无标记数据包括缺少可识别的源地址和目的地地址的数据分组, 所述数据分组包括用户数据报协议(UDP)数据分组或传输控制协议(TCP)数据分组, 所述可识别的源地址包括所述第一服务器的互联网协议(IP)地址, 所述目的地地址包括所述客户端的IP地址和端口地址,所述IP地址包括NAT生成的IP地址,以及 所述可识别的源地址进一步包括与所述第一服务器相关联的端口地址。3.根据权利要求1所述的计算机实现的方法,其中: 所述客户端包括浏览器, 所述请求包括超文本传输协议(HTTP)请求,以及 所述数据资源包括网页、包含一个或多个音频或视频文件的媒体内容、或者包含一个或多个文本和/或图像文件的文档中的至少一个。4.根据权利要求1所述的计算机实现的方法,其中: 所述第一服务器缺少所请求的数据资源或者用于提供所请求的数据资源的资源中的至少一个,以及 确定所述第二服务器包括确定所述第二服务器能够以与所述第一服务器直接响应所述请求的情况下所述第一服务器的时延相比相当或者更低的时延来响应所述请求。5.根据权利要求1所述的计算机实现的方法,进一步包括: 请求所述第二服务器以与所述第一服务器向所述客户端提供所述数据资源的情况下基本上相似的安全性来向所述客户端提供所述数据资源;以及 通过所述客户端向所述第一服务器发送所述请求所使用的第一连接来向所述客户端发送消息; 指引所述客户端形成与所述第二服务器的第二连接并且获取所述数据资源,其中:准备好所述第二服务器连接到所述客户端包括向所述第二服务器提供连接信息,所述连接信息包括由所述客户端提供给所述第一服务器的密钥,以及所述第一服务器和所述第二服务器是由同一实体维护的或者是单个数据中心的部分中的至少一个。6.根据权利要求1所述的计算机实现的方法,进一步包括: 在将所述请求重定向至所述第二服务器之前从所述客户端接收准备数据,其中: 所述准备数据包括密码材料,所述密码材料用于对代表所述客户端发送给所述第二服务器的消息进行加密, 所述密码材料包括客户端选择的全局唯一标识符(GUID),以及所述密码材料包括公共密钥,所述公共密钥包括迪菲-赫尔曼公共密钥、或者用于构造会话对称密钥的主密钥。7.根据权利要求6所述的计算机实现的方法,进一步包括: 作为将所述请求重定向至所述第二服务器的部分,将所述密码材料发送给所述第二服务器;以及 直接向所述第二服务器发送一个或多个服务器-服务器消息,其中,所述一个或多个服务器-服务器消息包括与所述客户端用来建立与所述第二服务器的第二连接必须使用的消息相似的内容,并且其中,所述一个或多个服务器-服务器消息包括所述准备数据。8.根据权利要求6所述的计算机实现的方法,进一步包括: 使用所述密码数据来构造在所述客户端直接向所述第二服务器发送所述请求的情况下所述第二服务器预期从所述客户端接收的分组;以及将所构造的分组发送给所述第二服务器,其中: 所构造的分组包括基于所述准备数据的快速UDP互联网连接(QUIC)密码HELLO分组, 所构造的分组包括匹配客户端NAT出站IP和端口地址的伪造源IP和端口地址,以及 所构造的分组被提供以足以穿过所述防火墙。9.根据权利要求7所述的计算机实现的方法,其中: 所述一个或多个服务器-服务器消息包括所述第一服务器关于所述源IP和端口地址的所有权的证明, 所述一个或多个服务器-服务器消息包括至所述客户端的初始第二服务器消息使用伪造源IP地址或伪造源端口地址中的至少一个的请求,以及 发送所述一个或多个服务器-服务器消息包括使用替选协议,所述替选协议包括TCP、安全套接字层(SSL)、传输层安全(TLS)、QUIC和SPDY。10.根据权利要求8所述的计算机实现的方法,进一步包括向所述客户端发送情报消息,其中: 所述情报消息指示所述第一服务器经由所述一个或多个服务器-服务器消息进行的连接发起的细节, 所述连接发起的细节包括能由所述客户端用来到达所述第二服务器的实际IP和端口地址,以及 所述连接发起的细节包括所构造的分组的实际内容或者所构造的分组中所使用的分组序列号,或者用于认证或验证所述客户端要在所述第二连接上发送给所述第二服务器的未来消息的消息的校验和或者基于哈希的消息认证码(HMAC)的至少部分。11.一种计算机实现的方法,包括: 从客户端向第一服务器发送对数据资源的请求;以及 从先前尚未连接到所述客户端的第二服务器接收所述数据资源,其中, 从所述第二服务器接收所述数据资源由所述第一服务器通过将所述请求重定向至所述第二服务器并且准备好所述第二服务器连接到所述客户端并直接响应所述请求来促成,以及 所述第一服务器缺少所请求的数据资源或者用于提供所请求的数据资源的资源中的至少一个。12.根据权利要求11所述的计算机实现的方法,其中: 所述客户端受到防火墙的保护,所述防火墙包括网络地址转换(MT)防火墙,其中所述防火墙阻挡无标记数据朝着所述客户端穿过, 所述无标记数据包括缺少可识别的源地址和目的地地址的数据分组, 所述客户端包括浏览器, 所述数据资源包括超文本传输协议(HTTP)请求,并且 所述数据资源包括网页、包含一个或多个音频或视频文件的媒体内容、或者包含一个或多个文本和/或图像文件的文档中的至少一个。13.根据权利要求11所述的计算机实现的方法,进一步包括: 从所述第一服务器接收情报消息; 在从所述第一服务器接收情报消息之前从所述第二服务器接收包括分组的第二连接消息; 使所述第二连接消息的处理排队等待并延迟;以及 通过向所述第二服务器发送分组代替与所述第二连接相关联的分组的初始源IP和端口地址来响应所述第二连接消息。14.一种计算机实现的方法,包括: 在第一服务器处从第二服务器接收向先前尚未与所述第一服务器连接的客户端提供数据资源的请求; 从所述第二服务器接收用于连接到所述客户端的连接信息;以及基于所接收的连接信息来向所述客户端提供所述数据资源,其中,所述客户端受到阻挡无标记数据朝着所述客户端穿过的防火墙保护,并且其中,所述第二服务器缺少所请求的数据资源或者用于提供所请求的数据资源的资源中的至少一个。15.根据权利要求14所述的计算机实现的方法,其中,向所述客户端提供所述数据资源包括以与所述第二服务器向所述客户端提供所述数据资源的情况下基本上相似的安全性来提供所述数据资源;并且所述方法进一步包括从所述第二服务器接收一个或多个服务器-服务器消息,其中: 所述一个或多个服务器-服务器消息包括与所述客户端用来建立与所述第一服务器的连接必须使用的消息相似的内容, 所述一个或多个服务器-服务器消息包括由所述第二服务器从所述客户端接收的准备数据, 所述一个或多个服务器-服务器消息包括所述第二服务器关于所述源IP和端口地址的所有权的证明, 所述一个或多个服务器-服务器消息包括从所述第一服务器至所述客户端的初始消息使用伪造源IP地址或伪造源端口地址中的至少一个的请求, 使用替选协议来接收所述一个或多个服务器-服务器消息,所述替选协议包括TCP、安全套接字层(SSL)、传输层安全(TLS)、QUIC和SPDY, 所述准备数据包括密码材料,所述密码材料用于对由所述第二服务器代表所述客户端发送的消息进行加密, 所述密码
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1