CN112073545B - 使用dns来传送服务器设备的mp-tcp能力 - Google Patents
使用dns来传送服务器设备的mp-tcp能力 Download PDFInfo
- Publication number
- CN112073545B CN112073545B CN201910932043.6A CN201910932043A CN112073545B CN 112073545 B CN112073545 B CN 112073545B CN 201910932043 A CN201910932043 A CN 201910932043A CN 112073545 B CN112073545 B CN 112073545B
- Authority
- CN
- China
- Prior art keywords
- tcp
- dns
- network devices
- client device
- network
- 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.)
- Active
Links
- 230000004044 response Effects 0.000 claims abstract description 122
- 230000015654 memory Effects 0.000 claims abstract description 59
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007787 long-term memory Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5061—Pools of addresses
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/663—Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开涉及使用DNS来传送服务器设备的MP‑TCP能力。提供了用于使用域名系统(DNS)服务器来标识能够根据协议操作的一个或多个网络设备的设备、系统和技术。例如,DNS系统设备包括存储器和以电路实现的一个或多个处理器。一个或多个处理器被配置为从客户端设备接收包括对主机名的指定和对MP‑TCP能力的请求的DNS查询,使用存储器确定与主机名相对应并与具有MP‑TCP能力的设备之一相对应的至少一个IP地址,以及向客户端设备发送包括对IP地址中的至少一个IP地址的指示的DNS响应。
Description
技术领域
本公开涉及计算机网络。
背景技术
计算机网络是可以交换数据和共享资源的互连计算设备的集合。在诸如因特网之类的基于分组的网络中,计算设备通过将数据划分成被称为分组的可变长度块来传送数据,所述可变长度块被各个地通过网络从源设备路由到目的地设备。目的地设备从分组中提取数据并将数据组合成其原始形式。
域名系统(DNS)是在诸如因特网之类的网络上的分布式数据库中存储与主机名相关联的信息的系统。特别地,DNS系统将主机名与对应的因特网协议(IP)地址相关联。通过将组织的每个主机名与公共域名相关联,可以将属于组织的主机名集合分组到域中。以这种方式,DNS允许难以记忆的IP地址与易于记忆的主机名和/或域名相关联。
当计算设备执行诸如web浏览器、电子邮件客户端或分布式应用之类的应用、以及应用发出需要DNS查找的请求时,应用将包括主机名的DNS查询发送给DNS服务器。DNS服务器获取与DNS查询中指示的主机名相关联的IP地址。DNS服务器在DNS响应中将IP 地址返回给客户端应用,该客户端应用使用IP地址来例如访问托管服务的服务器。
发明内容
通常,本公开描述了用于使用域名系统(DNS)服务器来标识能够根据协议操作的一个或多个服务器的设备、系统和技术。更具体地,一组客户端设备中的客户端设备可以向DNS服务器发送DNS查询,其中DNS查询包括对与被配置为向客户端设备提供服务的服务提供者相对应的主机名的指示。另外,DNS查询可以包括对被配置为根据协议操作的网络设备的请求的指示。例如,对被配置为根据协议操作的网络设备的请求的指示可以包括对能够根据多径传输控制协议 (MP-TCP)操作的网络设备的请求。具有MP-TCP能力的客户端设备可以被配置为实现在具有MP-TCP能力的客户端设备与具有 MP-TCP能力的网络设备(例如,服务器)之间的传输控制协议(TCP) 连接,以使用两个或更多路径,从而增加可用带宽量,进而改善具有 MP-TCP能力的客户端设备与具有MP-TCP能力的网络设备交换数据的方式。在一些示例中,基于DNS查询,DNS服务器确定优选用于向客户端设备提供服务的服务器,并生成包括与服务器相对应的因特网协议(IP)地址的DNS响应。在客户端设备具有MP-TCP能力的示例中,DNS服务器标识也具有MP-TCP能力的服务器,从而改善客户端设备的用户体验。
在一些示例中,DNS设备包括:存储器,被配置为存储针对一组主机名的IP地址的列表,至少一个主机名具有两个或更多个IP地址,该存储器还存储针对每个IP地址表示对应于所述IP地址的网络设备是否能够执行MP-TCP的数据,网络设备是一组网络设备中的一部分;以及在电路中实现的一个或多个处理器。所述一个或多个处理器被配置为:从客户端设备接收DNS查询,该DNS查询包括对主机名的指定和对MP-TCP能力的请求;使用存储器确定所述IP地址中与所述主机名相对应并且与具有MP-TCP能力的所述网络设备之一相对应的至少一个IP地址;以及向所述客户端设备发送DNS响应,该 DNS响应包括对所述IP地址中的至少一个IP地址的指示。
在一些示例中,一种方法包括:由DNS设备的一个或多个处理器从客户端设备接收DNS查询,该DNS查询包括对主机名的指定和对MP-TCP能力的请求,其中DNS设备包括存储器,存储器被配置为存储针对一组主机名的IP地址的列表,至少一个主机名具有两个或更多个IP地址,该存储器还存储针对每个IP地址表示对应于所述 IP地址的网络设备是否能够执行MP-TCP的数据,该网络设备是一组网络设备中的一部分;使用所述存储器确定IP地址中与所述主机名相对应并且与具有MP-TCP能力的网络设备之一相对应的至少一个 IP地址;由所述一个或多个处理器向所述客户端设备发送DNS响应,所述DNS响应包括对所述IP地址中的至少一个IP地址的指示。
在一些示例中,一种方法包括:由客户端设备向DNS设备的一个或多个处理器发送DNS查询,所述DNS查询包括对主机名的指定和对MP-TCP能力的请求,其中所述DNS设备包括存储器,存储器被配置为存储针对一组主机名的IP地址的列表,至少一个主机名具有两个或更多个IP地址,该存储器还存储针对每个IP地址表示对应于所述IP地址的网络设备是否能够执行MP-TCP的数据,该网络设备是一组网络设备中的一部分;以及由客户端设备接收DNS响应,所述DNS响应包括对IP地址中与所述主机名相对应并且与具有 MP-TCP能力的网络设备之一相对应的至少一个IP地址的指示。
发明内容旨在提供本公开中描述的主题的概述。其并不旨在提供在下面的附图和描述中详细描述的系统、设备和方法的排他性或详尽的解释。在附图和以下描述中阐述了本公开的一个或多个示例的进一步细节。根据说明书和附图以及权利要求,其他特征、目标和优点将是显而易见的。
附图说明
图1是图示出根据本公开的一种或多种技术的具有域名系统 (DNS)服务器的示例网络系统的框图,该DNS服务器从一组网络设备中确定可优选用于向一组客户端设备中的客户端设备提供服务的网络设备。
图2是图示出根据本公开的一种或多种技术的包括DNS解析器和存储器的示例DNS服务器的框图。
图3A是根据本公开的一种或多种技术的用于请求与用于向客户端设备提供服务的网络设备相对应的因特网协议(IP)地址的DNS 查询的示例。
图3B是根据本公开的一种或多种技术的用于提供与用于向客户端设备提供服务的网络设备相对应的IP地址的DNS响应的示例。
图4是图示出用于促进用户与软件即服务(SaaS)服务器之间的连接的示例系统的框图。
图5是图示出用于促进用户与SaaS服务器之间的连接的另一示例系统的框图。
图6是图示出根据本公开的一种或多种技术的用于确定与用于向客户端设备提供服务的网络设备相关联的IP地址的示例操作的流程图。
具体实施方式
图1是图示出根据本公开的一种或多种技术的具有域名系统 (DNS)服务器20的示例网络系统2的框图,该DNS服务器20从一组网络设备30A-30N确定可优选用于向一组客户端设备40A-40N 中的客户端设备提供服务的网络设备。在网络系统2的示例中,广域网(WAN)7将客户网络6连接到DNS服务器20。可以由服务提供者部署WAN 7以实现对于客户端设备40A-40N(统称为“客户端设备40”)的网络访问,使得客户端设备可以与网络系统2的任何网络设备30A-30N(统称为“网络设备30”)交换数据分组。
在图1的示例中,客户网络6与客户端设备40进行接口连接。客户可以包括例如企业、服务提供者的住宅用户或服务提供者的移动用户。客户端设备40可以是例如真实或虚拟服务器、个人计算机、膝上型计算机、智能电话、平板电脑或位于可以提供本地路由和切换功能的网络设备后面的其他类型的计算设备。每个客户端设备40可以运行各种软件应用,诸如分布式应用、文字处理和其他办公支持软件、web浏览软件、支持语音呼叫的软件、视频游戏、视频会议和电子邮件等。客户端设备40还可以是各种支持网络的设备,通常被称为“物联网”(IoT)设备,诸如相机、传感器、电视、电器等。
客户网络6聚合一个或多个客户端设备40的数据业务以便传输到WAN 7或从WAN 7传输。客户网络6包括执行通信协议以传输控制和用户数据的网络节点,以促进客户端设备40和网络设备30之间的通信。客户网络6可以包括企业网络、数据中心网络、家庭网络或其他网络。客户网络6可以包括宽带接入网络、无线LAN、公共交换电话网络(PSTN)、客户前端设备(CPE)网络或其他类型的接入网络,并且可以包括或以其他方式为蜂窝接入网络提供连接性,诸如无线电接入网络(RAN)(未示出)。示例包括符合通用移动电信系统 (UMTS)架构的网络、称为长期演进(LTE)的UMTS的演进、高级LTE(LTE-A)、5G、由因特网工程任务组(IETF)标准化的移动 IP、以及第三代合作伙伴计划(3GPP)、第三代合作伙伴计划2 (3GGP/2)和WiMAX论坛提出的其他标准。
WAN 7向客户端设备40提供用于访问DNS服务器20的基于分组的连接性。另外,WAN7向客户端设备40提供用于访问网络设备 30的基于分组的连接性。WAN 7可以表示公共网络,其由服务提供者拥有和操作来互连可以包括客户网络6和DNS服务器20的数据中心网络的多个网络。WAN 7可以表示层3(L3)网络并且可以包括多个中间路由和切换设备(未示出),该多个中间路由和切换设备通过诸如客户网络6和DNS服务器20之间以及客户网络6和一个或多个网络设备30之间之类的目的地之间的链路传输数据业务。例如,WAN 7可以提供批量数据递送、因特网协议语音(VoIP)、因特网协议电视(IPTV)、短消息服务(SMS)、无线应用协议(WAP)服务或客户特定应用服务。在一些示例中,WAN 7可以表示软件定义的WAN(“SD-WAN”),其利用例如互联网来连接客户网络6和DNS服务器20。SD-WAN是管理广域网的软件定义的方法。尽管根据WAN 7进行了描述,但是本公开的一种或多种技术适用于将客户端设备连接到网络设备的其他类型的网络。
管理网络系统2的至少部分的网络服务提供者通常向与访问网络系统2的设备(例如,客户端设备40)相关联的客户提供网络服务。如上所述,WAN 7可以支持多种类型的访问网络基础设施,该基础设施连接到服务提供者网络访问网关以提供对所提供的网络服务(例如,由网络设备30提供的服务)的访问。在一些实例中,网络系统2 可以包括被附接到具有不同架构的多个不同客户网络6的客户端设备 40。
通常,客户端设备40中的任何一个或多个可以执行应用,诸如分布式应用、客户端应用、web浏览器或电子邮件应用,以访问在每个网络设备30上托管的服务。服务可以包括任何应用服务,诸如网站、web应用、分布式应用、数据库服务或其任何组合。在一些示例中,网络设备30是数据中心的web或应用主机服务器。每个网络设备30可以执行一个或多个虚拟机或容器,该虚拟机或容器执行提供可以由任何客户端设备40请求的服务的应用。每个网络设备30可以是真实或虚拟服务器。托管在网络设备30上的应用或网站可以作为服务(例如,软件即服务(SaaS))而被提供,其中提供者托管应用或网站并且提供通过因特网对应用服务的访问。另外,在一些示例中,网络设备30可以提供基础设施即服务(IaaS)和/或平台即服务 (PaaS)。例如,网络设备30A可以通过向客户端设备40A发送网络业务(例如,分组)来向客户端设备40A提供服务。使用诸如IaaS、 PaaS和SaaS之类的抽象概念的系统可以创建、利用和使用许多服务。这些服务可以被部署在云中,云可以为网络资源的使用添加新的维度。此外,被部署在云中的许多服务都需要大量带宽。许多系统使用 TCP作为传输协议。但是,驻留在云中的更多服务器正在向MP-TCP 转移。
网络业务可以根据一组协议中的任何一个或多个协议在DNS服务器20、网络设备30和客户端设备40的任何组合之间流动。例如,网络设备30可以根据该组协议中的任何一个或多个协议向客户端设备40递送服务。该组协议可以包括传输控制协议(TCP)、多路径TCP、用户数据报协议(UDP)和其他通信协议。TCP促进源主机设备和目的地主机设备之间(例如,客户端设备40A和网络设备30A 之间)的可靠、有序和错误检查的数据流。换句话说,TCP可以使源主机设备使用一组分组将有序的比特串传送到目的地主机设备,其中该组分组可以按照从第一比特到最后比特的顺序从源主机设备到目的地主机设备递送比特串。例如,比特串可以包括100比特。在这样的示例中,源主机设备可以在一组四个分组中递送比特串,该组分组中的第一分组携带第一比特到第25比特,该组分组中的第二分组携带第26比特到第50比特,该组分组中的第三分组携带第51比特到第75比特,并且该组分组中的第四分组携带第76比特到第100比特,从而完成100比特串的传送。本公开的一种或多种技术可以使用TCP 来使用具有任意分组数量的一组分组来传送具有任意比特数量的比特串。
在一些情况下,目的地主机设备(例如,客户端设备40A)以正确的顺序排列比特串的比特可能是重要的。例如,视频数据可以包括比特串,其中必须按顺序排列比特串,以便可以从开始到结束播放视频数据。根据TCP发送的分组可以包括指示在有序的比特串内携带分组的比特的位置的数据。以这种方式,目的地主机设备可以被配置为基于每个分组的报头中包括的相应位置数据来“拼凑”在一系列分组上发射的有序比特串,使得目的地主机设备按正确的顺序排列比特串。因此,TCP可以是用于将有序的比特串从源主机设备传送到目的地主机设备的理想协议。尽管TCP对于使数据能够以快速、有效和准确的方式从源主机设备传送到目的地主机设备非常有效,但在一些情况下,多路径TCP(MP-TCP)可能在促进网络业务的流动方面比“标准”、单路径TCP提供一些优势。
例如,MP-TCP是向现有TCP添加了新特征的协议。它允许TCP 使用多个并行路径并在单个MP-TCP流下创建多个TCP子流,并允许针对负载均衡和冗余目的在多个TCP子流上分配数据。换句话说,虽然TCP允许目的地主机设备和源主机设备通过单个“路径”交换分组,但MP-TCP使目的地主机设备和源主机设备能够建立两个或多个“路径”,在其中分组在目的地主机设备和源主机设备之间被交换。以这种方式,源主机设备根据MP-TCP将一组分组传送到目的地主机设备所花费的时间量可以短于源主机设备根据标准的单路径TCP将该组分组传送到目的地主机设备所花费的时间量,因为可以在使用 MP-TCP时所建立的两个或更多路径的每条路径上同时传送该组分组的分组。另外,MP-TCP可能会增加该组分组中的分组无序地到达目的地主机设备的可能性。由于MP-TCP分组报头标识了相应分组内包含的比特的顺序,因此目的地主机设备可以将该组分组拼凑在一起,使得比特以正确的顺序排列以供消费。
当前,本文未描述的DNS服务器可能不知道SaaS服务器的 MP-TCP能力,因此一旦客户端查询,这样的DNS服务器可以用它们自己的算法来作出响应以向请求客户端提供SaaS位置。在客户端具有MP-TCP能力的情况下,客户端可能无法从MP-TCP中获益,因为服务器可能是具有MP-TCP能力的,也可能不是具有MP-TCP能力的。本公开的至少一些技术包括一种模型,其中DNS服务器(例如, DNS服务器20)可以知道SaaS端点的MP-TCP能力,高速缓存在本地指示MP-TCP能力的信息,并且对具有MP-TCP能力的请求客户端进行响应。另外,本文描述了对DNS的增强以使DNS查询和DNS 响应能够感知MP-TCP。例如,本文描述的方法可以使DNS查询和 DNS响应消息能够感知MP-TCP。
可以实现MP-TCP的情况可以出现在其中智能电话(例如,客户端设备40B)与远程服务器(例如,网络设备30A)交换网络业务的系统中。智能手机可能能够通过3G无线连接和/或WIFI连接来与远程服务器通信。MP-TCP可以使远程服务器和智能手机能够建立两条路径:智能手机和远程服务器之间通过3G连接的第一路径,以及智能手机和远程服务器之间通过WIFI连接的第二路径。远程服务器可以根据MP-TCP同时在第一路径和第二路径上发射一组分组,而根据单路径TCP,远程服务器可能仅被配置为通过第一路径和第二路径之一来发射该组分组。
DNS服务器20可以表示被配置为接收DNS查询并且基于DNS 查询中的信息来标识与一个或多个网络设备(例如,网络设备10)相关联的一个或多个因特网协议(IP)地址的网络设备(例如,服务器)。 DNS查询可以表示具有一组信息字段的分组,其中该组信息字段的至少一些信息字段包括可以由DNS服务器20使用来产生对DNS查询的DNS响应的数据,该DNS响应包括对与一个或多个网络设备相关联的一个或多个IP地址的指示。例如,DNS服务器20可以包括DNS 解析器22和存储器24。DNS解析器22可以接收DNS查询并读取 DNS查询以获得包括在该组信息字段中的信息。基于DNS查询中包括的信息,DNS解析器22可以基于存储在存储器24中的信息来确定 IP地址。
存储器24可以被配置为存储在操作期间在DNS服务器20内的信息。存储器24可以包括计算机可读存储介质或计算机可读存储设备。在一些示例中,存储器24包括短期存储器或长期存储器中的一个或多个。存储器24可以包括例如随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、磁盘、光盘、闪存或电可编程存储器(EPROM)或电可擦除可编程存储器 (EEPROM)的形式。在一些示例中,存储器24被用来存储指示由 DNS服务器20执行的指令的数据。
为了访问托管在网络设备30上的服务,客户端设备40中的任何设备都可以做出需要DNS查找的请求。例如,由客户端设备40A执行的应用可以向DNS服务器20发送DNS查询50以发现托管该服务的网络设备30的IP地址。在一些示例中,DNS查询50是如下DNS 消息,该DNS消息指示与至少一些网络设备30相关联的主机名和/ 或域名,并且还包括对被配置为对于根据MP-TCP操作的网络设备 30中的网络设备的请求的指示。例如,DNS解析器8可以从客户端设备40A接收DNS查询50,该DNS查询50包括对主机名的指示和对被配置为根据MP-TCP操作的网络设备30中的网络设备的请求的指示。主机名是被指派给连接WAN 7的网络设备30中的至少一些网络设备的标签。在一些示例中,DNS查询50中指示的主机名被指派给网络设备30B、网络设备30C和网络设备30D,并且DNS查询50 中指示的主机名未被指派给网络设备30A和网络设备30E-30N。在一些这样的示例中,与由DNS查询50指示的主机名相关联的每个网络设备30B-30D可以被配置为向客户端设备40A提供基本相同的服务。以这种方式,客户端设备40A可以通过向网络设备30B-30D中的任何设备发送服务请求来获得服务。然而,在一些情况下,网络设备 30B-30D中的至少一个设备可以优选用于向客户端设备40A提供服务。例如,网络设备30B-30D中的至少一个网络设备可以被配置为比网络设备30B-30D中的其他网络设备更快、更有效地或以其他更期望的方式向客户端设备40A提供服务。网络设备30中的每个网络设备可以与IP地址相关联。这样,在一些示例中,主机名可以与两个或更多个IP地址相关联(例如,与两个或更多网络设备相关联)。
在一些示例中,可能期望网络设备30根据MP-TCP协议向客户端设备40提供服务。例如,在典型部署中,最终客户端使用与一个或多个服务器相关联的域名来连接到一个或多个服务器。DNS服务器 (例如,DNS服务器20)在向请求客户端提供与相应服务器相关联的IP地址中起关键作用。为了使客户端经由MP-TCP信道获得增强的带宽,客户端和服务器二者都可能需要是具有MP-TCP能力的。换句话说,为了根据MP-TCP协议提供服务,源主机设备(例如,网络设备30)和目的地主机设备(例如,客户端设备40)二者都可以是具有MP-TCP能力的。DNS解析器22可以被配置为基于DNS查询 50中包括的对主机名的指示和对网络设备能力的请求的指示,确定网络设备30中的一个网络设备优选用于向客户端设备40A提供服务。
DNS解析器22可以被配置为标识网络设备30中的第一组网络设备,其中第一组网络设备与主机名相关联。例如,DNS解析器22可以维护网络设备30的列表,以及与网络设备30中的每个网络设备相关联的主机名的列表。以这种方式,DNS解析器22可以被配置为标识第一组网络设备,该第一组网络设备包括被指派给DNS查询50中指示的主机名的网络设备30中的每个网络设备。在一些示例中,第一组网络设备包括网络设备30B、网络设备30C和网络设备30D。另外,DNS解析器22可以被配置为基于对被配置为根据MP-TCP操作的网络设备30中的网络设备的请求的指示来标识第二组网络设备,其中第二组网络设备是第一组网络设备的子集。例如,DNS解析器 22可以被配置为通过将网络设备30B-30D映射到存储在存储器24中的具有MP-TCP能力的网络设备的列表,来标识网络设备30B-30D (即,第一组网络设备)的每个网络设备是否是具有MP-TCP能力的。随后,DNS解析器22可以从第一组网络设备和第二组网络设备中的至少一项确定优选用于向客户端设备40A提供服务的网络设备。
在一些示例中,第二组网络设备包括零网络设备。例如,如果 DNS查询50包括对具有MP-TCP能力的网络设备的请求的指示,则 DNS解析器22可能不将第一组网络设备(例如,网络设备30B-30D) 中的任何网络设备标识为具有MP-TCP能力。在一些这样的示例中, DNS解析器22可以从第一组网络设备确定优选用于向客户端设备 40A提供服务的网络设备。另外,在一些示例中,第二组网络设备包括一个或多个网络设备。例如,第一组网络设备中的至少一个设备是具有MP-TCP能力的。在一些这样的示例中,DNS解析器22从第二组网络设备确定优选用于向客户端设备40A提供服务的网络设备。在一些情况下,被指派给DNS查询50中指示的主机名的第一组网络设备包括网络设备30B、30C和30D。在一些情况下,表示第一组网络设备中的具有MP-TCP能力的所有网络设备的第二组网络设备包括网络设备30D。因此,在这种情况下,网络设备30中的既被指派给主机名又能够根据MP-TCP交换网络业务的唯一网络设备是网络设备30D。
在确定网络设备30中的一个网络设备优选用于向客户端设备 40A提供服务之后,DNS解析器22可以被配置为响应于DNS查询 50生成DNS响应52,DNS响应52包括对与优选用于向客户端设备 40A提供服务的网络设备(例如,网络设备30D)相对应的IP地址的指示。存储器24可以存储与每个网络设备30相对应的IP地址的列表。这样,在DNS解析器22确定网络设备30中的网络设备30D 优选用于向客户端设备40A提供服务之后,DNS解析器22可以在存储器24中查找对应于网络设备30D的IP地址,以便生成包括对IP 地址的指示的DNS响应52。随后,DNS解析器22可以经由WAN 7 和客户网络6向客户端设备40A发送DNS响应52。反过来,客户端设备40A可以向网络设备30D发送服务请求,并且网络设备30D可以经由WAN 7和客户网络6向客户端设备40A提供服务。
在一些示例中,为了接收DNS查询50,DNS解析器22被配置为根据用户数据报协议(UDP)接收DNS查询50。另外,在生成DNS 响应52之后,DNS解析器22被配置为确定DNS响应52的大小并确定DNS响应52的大小是否大于阈值字节数。在一些示例中,DNS 解析器22确定DNS响应52的大小不大于阈值字节数,并且DNS解析器根据UDP将DNS响应52发送到客户端设备40A。另外,在一些示例中,DNS解析器确定DNS响应52大于阈值字节数,并且DNS 解析器22根据TCP将DNS响应52发送到客户端设备。在一些示例中,阈值字节数是512字节。UDP可能是用于交换DNS查询和DNS 响应的优选协议,因为它比TCP更快且开销更低。例如,客户端设备40A可以发送表示UDP请求的DNS查询,该DNS查询之后是表示来自DNS服务器20的UDP回复的DNS响应。如果DNS响应的大小大于阈值字节数,则DNS服务器20可以使用TCP而不是UDP 来发送DNS响应,以便启用TCP协议中包含的数据完整性检查。
在一些示例中,MP-TCP代理(图1中未图示出)可以连接到 WAN 7,其中MP-TCP代理在客户端设备40和DNS服务器20之间中继DNS查询和DNS响应。另外,MP-TCP代理可以在网络设备30 和客户端设备40之间中继网络业务。由于DNS查询50可以包括对与主机名相对应的具有MP-TCP能力的设备的请求的指示,并且DNS 响应52可以包括对与DNS响应52中所包括的一个或多个IP地址相关联的一个或多个网络设备是否具有MP-TCP能力的指示,所以MP-TCP代理可以维护一个或多个网络设备30与一个或多个客户端设备之间的MP-TCP链路。换句话说,对客户端设备和网络设备的 MP-TCP能力的指示可以消除对用以终止网络设备30和客户端设备 40之间的一个或多个MP-TCP连接的MP-TCP代理的需要。因此,包括对客户端设备和网络设备的MP-TCP能力的指示可以通过增加网络设备30和客户端设备40之间的连接中的带宽量来增强用户体验。
在一些示例中,客户端(例如,客户端设备40A)发起具有在消息中启用的MP-TCP选项的DNS查询。DNS解析器(例如,DNS解析器22)接收DNS查询。DNS解析器22维护与域名相关联的服务器列表(例如,网络设备30的列表)。此服务器列表由现有方法创建,并且此处未提出任何改变。DNS解析器在高速缓存中维护每个服务器的MP-TCP能力。在一些示例中,经由配置生成DNS名称到服务器的映射。同时,可以在DNS解析器处配置MP-TCP能力。另外,在一些示例中,在没有配置的情况下,解析器可以选择经由利用TCP 选项中设置的MP_TCP标志发起TCP syn来动态地构建能力数据库。如果服务器利用具有MP-TCP能力的标志进行响应,则DNS解析器可以将此信息与其他数据一起高速缓存。刷新的这个过程可以是条目的周期性/老化。DNS解析器可以检查DNS查询中的MP-TCP选项。如果DNS查询启用了MP-TCP选项,则DNS解析器可查找映射到所请求的域名的具有MP-TCP能力的服务器的列表。基于成功找到具有 MP-TCP能力的服务器IP地址,可以将该IP地址作为DNS响应中的主IP地址发送,并启用MP-TCP选项。如果有多个具有MP-TCP选项的服务器可用,则应遵循从列表中选择服务器的现有策略。如果发现针对域名的所有可用服务器都不是具有MP-TCP能力的,则应选择并发送现有的模型/策略/负载均衡服务器。在收到DNS响应之后,如果需要,则客户端将利用MP-TCP选项发起与主服务器的连接。
图2是图示出根据本公开的一种或多种技术的包括DNS解析器 62和存储器64的示例DNS服务器60的框图。在一些示例中,DNS 服务器60是图1的DNS服务器20的示例。在一些示例中,DNS解析器62是图1的DNS解析器22的示例。在一些示例中,存储器64 是图1的存储器24的示例。如图2中所见,DNS解析器62包括DNS 查询解析单元72、列表查找单元74、DNS响应生成单元76和列表生成单元78。
在一些示例中,DNS服务器60从客户端设备(例如,图1的客户端设备40A)接收DNS查询(例如,图1的DNS查询50),该 DNS查询包括对主机名的指示和对被配置为根据MP-TCP操作的网络设备的请求的指示。在一些情况下,DNS查询解析单元72可以被配置为解析DNS查询50以确定由DNS查询50指示的客户端设备 40A的能力和主机名。例如,DNS查询解析单元72可以被配置为分别标识DNS查询50的一个或多个信息字段,并标识一个或多个信息字段的哪些信息字段包括对主机名的指示和对被配置为根据MP-TCP 操作的网络设备的请求的指示。另外,在一些情况下,DNS查询解析单元72可以被配置为将包括对主机名的指示和对请求的指示的相应信息字段从二进制格式转换到非二进制格式,使DNS服务器60能够标识客户端设备40A的能力和主机名。DNS查询解析单元72可以被配置为标识DNS查询50中包括的一个或多个信息字段的所有信息字段,并将DNS查询50中包括的所有二进制数据转换成二进制格式。例如,DNS查询50可以由客户端设备40A根据UDP发送,并且DNS 查询解析单元72可以基于UDP的一个或多个参数来标识客户端设备 40A的能力和主机名。
在一些示例中,列表查找单元74可以在由存储器64存储的列表中查找与在DNS查询50中标识的主机名相关联的第一组网络设备。例如,列表可以包括图1的网络设备30中的每个网络设备。另外,该列表可以包括对与网络设备30的每个网络设备相关联的主机名的指示。这样,在DNS查询解析单元72确定在DNS查询50中标识的主机名之后,列表查找单元74可以交叉参考该主机名与网络设备30 的列表,该列表包括对与网络设备30中的每个网络设备相关联的主机名的相应指示,以便标识第一组网络设备。以这种方式,列表查找单元74可以标识网络设备30中的与DNS查询50中指示的主机名相关联的每个网络设备。
另外,在一些示例中,列表查找单元74可以在第一组网络设备中基于对网络设备30中被配置为根据MP-TCP操作的网络设备的请求的指示来标识第二组网络设备。如果客户端设备40A能够根据 MP-TCP进行通信,则列表查找单元74标识第一组网络设备中能够根据MP-TCP进行通信的每个网络设备可能是有益的。例如,当客户端设备40A向具有MP-TCP能力的网络设备发送服务请求时,当客户端设备40A也具有MP-TCP能力时,具有MP-TCP能力的网络设备和客户端设备40A可以建立MP-TCP连接,使得具有MP-TCP能力的网络设备能够根据MP-TCP协议向客户端设备40A提供服务。在一些示例中,MP-TCP可能优于单路径TCP,因为MP-TCP可以提供比单路径TCP更大的带宽量,使得能够根据MP-TCP而不是根据单路径TCP以更有效的方式传输网络业务。包括在存储器64中的网络设备30的列表可以包括对网络设备30中的每个网络设备是否能够根据MP-TCP进行通信的指示。以这种方式,列表查找单元74可以基于由存储器64存储的网络设备30的列表来确定第一组网络设备中的每个网络设备是否能够根据MP-TCP进行通信。
在一些情况下,DNS服务器60可以被配置为确定网络设备30的列表中的一个或多个网络设备优选用于向客户端设备40A提供服务。例如,DNS服务器可以从第一组网络设备和第二组网络设备中的至少一项确定网络设备30的列表中的优选用于向客户端设备40A提供服务的一个或多个网络设备。列表查找单元74可以基于存储在存储器 64中的网络设备30的列表(其包括对与网络设备30的每个网络设备相关联的IP地址的指示),确定与DNS服务器60确定的一个或多个网络设备中优选用于向客户端设备40A提供服务的网络设备相关联的IP地址。DNS响应生成单元76可以基于网络设备30的列表中优选用于向客户端设备40A提供服务的一个或多个网络设备生成DNS响应(例如,图1的DNS响应52)。例如,DNS响应生成单元 76可以生成DNS响应52以包括对与DNS服务器60确定的一个或多个网络设备中优选用于向客户端设备40A提供服务的网络设备相关联的IP地址。DNS响应生成单元76可以被配置为生成包括一个或多个信息字段的DNS响应52,该一个或多个信息字段包括表示相应IP 地址的信息字段。在DNS响应生成单元76生成DNS响应52之后, DNS服务器60可以将DNS响应52发送到客户端设备40A。
列表生成单元78可以生成并维护网络设备30的列表,该列表包括与网络设备30中的每个网络设备相关联的IP地址、对与网络设备 30中的每个网络设备相关联的主机名的指示、以及对网络设备30中的每个网络设备是否能够根据MP-TCP进行通信的指示。在一些示例中,列表生成单元78可以向网络设备30中的每个网络设备输出消息,该消息请求指示相应网络设备是否具有MP-TCP能力的回复。在一些示例中,DNS服务器60可以接收对消息的回复,该回复指示相应网络设备是否是具有MP-TCP能力的。随后,列表生成单元78可以在存储在存储器64中的网络设备30的列表中创建记录,以反映被包括在对消息的响应中的指示。另外,在一些情况下,列表生成单元78 可以被配置为输出消息以确定与网络设备30中的每个网络设备相关联的IP地址和/或主机名,使得列表生成单元78可以在存储器64存储的网络设备30的列表中创建记录,以反映与网络设备30中的每个网络设备相关联的主机名和/或IP地址。
存储器64可以被配置为存储在操作期间在DNS服务器60内的信息。存储器64可以包括计算机可读存储介质或计算机可读存储设备。在一些示例中,存储器64包括短期存储器或长期存储器中的一项或多项。存储器64可以包括例如RAM、DRAM、SRAM、磁盘、光盘、闪存或EPROM或EEPROM的形式。在一些示例中,存储器 64被用来存储指示由DNS服务器60执行的指令的数据。
图3A是根据本公开的一种或多种技术的用于请求与用于向客户端设备提供服务的网络设备相对应的IP地址的DNS查询100的示例。在一些示例中,DNS查询100是图1的DNS查询50的示例。另外,在一些示例中,DNS查询100是图1中未示出的另一DNS查询的示例。如图3A中所图示,DNS查询符合UDP和TCP,因为DNS查询 100包括一组行,每行具有16比特(即,比特0-15)。
DNS查询100可以表示用于请求与网络设备相关联的一个或多个 IP地址的DNS消息。例如,客户端设备(例如,客户端设备40A) 可以基于用户输入来生成DNS查询100以访问具有主机名的网站,其中网站由网络设备10的一个或多个网络设备托管。例如,客户端设备40A可以接收指示主机名的用户输入(例如,统一资源定位符 (URL)的手动输入),其中与对应于主机名的一组网络设备相关联的一个或多个IP地址可能未被存储或者以其他方式不可用于客户端设备40A。如此,为了获得与该组网络设备相关联的一个或多个IP 地址,客户端设备40A可以生成DNS查询100并经由客户网络6和 WAN 7将DNS查询100发送到DNS服务器20。在一些情况下,DNS 服务器20可以被配置为查找与该组网络设备相关联的一个或多个IP 地址。
DNS查询100表示一系列比特。该系列比特中的每个比特都是二进制值。例如,每个比特可以是“0”或“1”。以这种方式,DNS 查询100内包含的信息以二进制格式(即,仅0和1)被表示,而不是以使用拼音字符的英语格式被表示。DNS查询100可以包括一组信息字段,包括名称110、类型112、类114、生存时间(TTL)116、选项118、标志120、RDLENGTH 122和RDATA124。该组信息字段中的每个字段包含可以由DNS服务器20使用来处理DNS查询100 的数据。例如,名称110可以包括对要使用DNS查询100来查询的主机名的指示。换句话说,名称110可以包括主机名的二进制表示,使DNS解析器22能够查找与对应于主机名的一组网络设备相关联的一个或多个IP地址。在一些示例中,DNS解析器22可以在包括网络设备30的列表和IP地址的列表的存储器24中查找该一个或多个IP 地址,其中IP地址的列表中的IP地址与网络设备30的列表中的每个网络设备相关联。以这种方式,DNS解析器22可以被配置为将每个网络设备30映射到相应的IP地址。
在一些情况下,类型112可以表示两个八位字节(例如,一行16 比特)代码,其指定由DNS查询100表示的查询的类型。示例查询类型包括类型A(类型ID 1)和类型AAAA(类型ID28),类型A (类型ID 1)返回32比特IPv4地址,类型AAAA(类型ID 28)返回128比特IPv6地址。在一些示例中,与DNS查询100的相应查询类型相对应的类型ID可以以二进制格式被编码在类型112信息字段中。例如,类型ID“28”可以以ASCII二进制格式在16比特类型112 信息字段内被编码为“0011001000111000”,即0和1的16比特串。 DNS服务器20可以基于类型112信息字段中指示的查询类型来处理 DNS查询100。例如,DNS解析器22可以基于在DNS查询100的类型112信息字段中指示的查询类型来确定客户端设备40A请求与名称 110信息字段中指示的主机名相对应的IP地址。类114可以表示两个八比特字节代码,其指定由DNS查询100表示的查询的类。在一些示例中,类114可以包括二进制串“0000000000000001”,其指示DNS 查询属于“因特网地址”类。另外,DNS查询100包括TTL 116信息字段。在一些示例中,TTL 116可以是16比特字段,其指示DNS 查询100保持活动的秒数。例如,在经过TTL 116信息字段指示的秒数之后,可以使DNS查询100无效。
在一些情况下,选项118表示8比特信息字段。选项118可以包括对网络设备30中被配置为根据MP-TCP操作的网络设备的请求的指示。能够根据MP-TCP操作的设备可以被配置为根据MP-TCP输出网络业务并且根据MP-TCP接收网络业务。在一些示例中,对于网络设备30中被配置为根据MP-TCP操作的网络设备的请求的指示可以由单个比特来表示(例如,如果客户端设备40A不具有MP-TCP能力,则表示为“0”,并且如果客户端设备40A具有MP-TCP能力,则为“1”)。以这种方式,当客户端设备40A生成DNS查询100 时,客户端设备40A可以取决于客户端设备40A是否具有MP-TCP 能力而将选项118信息字段的比特0(即,序数第一比特)设置为“0”或“1”。在一些情况下,不包括对MP-TCP能力的指示的选项118 的其余比特可以包括对应于客户端设备40A的其他指示或其他信息。另外,标志120可以包括与客户端设备40A相对应的其他指示或其他信息。RDLENGTH 122可以包括表示RDATA 124的比特长度的数字,其中RDATA 124包括描述对应于名称字段110的资源的附加二进制数据。
图3B是根据本公开的一种或多种技术的用于提供与用于向客户端设备提供服务的网络设备相对应的IP地址的DNS响应130的示例。在一些示例中,DNS响应130是图1的DNS响应52的示例。另外,在一些示例中,DNS响应130是图1中未示出的另一DNS响应的示例。如图3B中所图示,DNS响应符合UDP和TCP,因为DNS查询 100包括一组行,每行具有16比特(即,比特0-15)。
DNS响应130可以表示用于提供与网络设备相关联的一个或多个 IP地址的DNS消息。例如,DNS服务器(例如,DNS服务器20) 可以响应于接收到请求与网络设备相关联的一个或多个IP地址的 DNS查询(例如,DNS查询100)而生成DNS响应130。例如,DNS 查询可以包括对主机名的指示和对网络设备30中被配置为根据 MP-TCP操作的网络设备的请求的指示。基于对主机名的指示和对请求的指示,DNS解析器22可以确定网络设备10中的一个网络设备优选用于向客户端设备提供服务。另外,DNS解析器22可以标识与优选用于向客户端设备提供服务的网络设备相关联的IP地址,并生成包括对该IP地址的指示的DNS响应130。DNS服务器20可以经由客户网络6和WAN 7向如下客户端设备(例如,客户端设备40A) 发送DNS响应130,该客户端设备发送了DNS查询以促使DNS服务器20生成DNS响应130。
DNS响应130表示一系列比特。该系列比特中的每个比特都是二进制值。例如,每个比特可以是“0”或“1”。以这种方式,DNS 响应130内包含的信息以二进制格式(即,仅0和1)被表示,而不是以使用拼音字符的英语格式被表示。DNS响应130可以包括一组信息字段,包括名称140、类型142、类144、生存时间(TTL)146、选项148、标志150、RDLENGTH 152和RDATA154。该组信息字段中的每个字段包含可以由客户端设备40A使用来处理DNS响应130 的数据。例如,名称140信息字段可以包括DNS查询(例如,DNS 查询100)中包括的主机名的二进制表示,该DNS查询促使DNS服务器20生成DNS响应130。名称140可以包括DNS查询100的名称110信息字段中包括的至少一些数据。如此,当客户端设备40A接收到DNS响应130时,名称140信息字段可以使客户端设备40A能够确认DNS响应130包括对与对应于DNS查询100中指示的主机名的网络设备相关联的IP地址的指示(例如,确认DNS解析器22标识出与正确主机名相关联的IP地址)。
在一些情况下,类型142可以表示两个八位字节(例如,一行16 比特)代码,其指定包括在RDATA 154信息字段中的数据的类型。示例数据类型包括表示32比特IPv4地址的类型A(类型ID 1)和表示128比特IPv6地址的类型AAAA(类型ID 28)。在一些示例中,与相应数据类型相对应的类型ID可以以二进制格式被编码在类型 142信息字段中。例如,类型ID“1”可以以ASCII二进制格式在16 位类型112信息字段中被编码为“0000000000000001”,并且类型ID “28”可以以ASCII二进制格式编码在类型112信息字段内被编码为“0011001000111000”。客户端设备40A可以基于类型142信息字段中指示的数据类型来处理DNS响应130。例如,客户端设备40A可以基于类型142信息字段中指示的数据类型确定DNS响应130包括一个或多个IP地址。类144可以表示两个八比特字节代码,其指定被包括在RDATA154信息字段中的数据的类。在一些示例中,类114 可以包括二进制串“0000000000000001”,其指示RDATA 154中包括的数据属于“因特网地址”类。另外,DNS响应130包括TTL 146 信息字段。在一些示例中,TTL 146可以是16比特字段,其指示DNS 响应130保持活动的秒数。例如,在经过TTL 146信息字段指示的秒数之后,可以使DNS响应130无效。
在一些情况下,选项148表示8比特信息字段。选项148可以包括对与RDATA 154中指示的一个或多个IP地址中的每个IP地址相关联的网络设备是否具有MP-TCP能力的指示。例如,如果RDATA 154包括一个IP地址,则选项148信息字段的比特1可以表示与该IP 地址相关联的网络设备是否具有MP-TCP能力的指示。在一些示例中,该指示可以由单个比特表示(例如,如果网络设备不具有MP-TCP 能力,则为“0”,并且如果网络设备具有MP-TCP能力,则为“1”)。以这种方式,客户端设备40A可以处理DNS响应130以确定客户端设备40A是否可以根据MP-TCP协议来与网络设备交换网络业务(例如,接收服务)。在一些示例中,选项148信息字段的比特0可以包括对网络设备30中被配置为根据MP-TCP进行操作的网络设备的请求的指示,该指示被包括在DNS查询100的选项118信息字段中。以这种方式,选项148信息字段可以使客户端设备40A能够确认DNS 响应130包括对请求的指示(例如,基于对请求的正确指示来确认 DNS解析器22标识出IP地址)。在一些情况下,不包括对MP-TCP 能力的指示的选项148的其余比特可以包括与客户端设备40A和/或 DNS服务器20相对应的其他指示或其他信息。另外,标志150可以包括与客户端设备40A和/或DNS服务器20相对应的其他指示或其他信息。
RDLENGTH 152可以表示16比特信息字段,其指示RDATA 154 信息字段的比特长度。RDATA 154可以包括与由DNS解析器22确定的优选用于向客户端设备40A提供服务的一个或多个相应网络设备相对应的一个或多个IP地址。DNS解析器22可以基于DNS查询 100中包括的对主机名的指示和对网络设备30中被配置为根据 MP-TCP进行操作的网络设备的请求的指示来确定一个或多个IP地址。例如,如果DNS查询100的选项118指示客户端设备40A是具有MP-TCP能力的,则DNS解析器22可以查找既与DNS查询100 的名称110中指示的主机名相关联又具有MP-TCP能力的网络设备。存储器24可以存储网络设备30的列表,其中该列表指示与网络设备 30中的每个网络设备相关联的主机名,其中该列表指示网络设备30 中的每个网络设备是否具有MP-TCP能力,并且其中该列表指示与网络设备30中的每个网络设备相对应的IP地址。如此,基于DNS查询100中包括的对主机名的指示和对网络设备30中被配置为根据 MP-TCP进行操作的网络设备的请求的指示,DNS解析器可以生成包括与该网络设备相关联的IP地址的DNS响应130。
图4是图示出用于促进用户与SaaS服务器之间的连接的示例系统400的框图。如图4中所见,系统400包括DNS服务器402、用户 410、具有MP-TCP能力的SaaS服务器420、用作发起器430的MP-TCP 代理、以及用作终结器440的MP-TCP代理。DNS服务器402可以是图1的DNS服务器20的示例。用户410可以是与图1的客户端设备40中的客户端设备相关联的用户。另外,在一些示例中,具有 MP-TCP能力的SaaS服务器420可以是图1的网络设备30中的一个网络设备的示例。
随着MP-TCP使用变得更加常见,充当MP-TCP代理的设备也将被更多地使用。例如,MP-TCP代理可以终止MP-TCP连接并创建单路径TCP连接,并且用作终结器440的MP-TCP代理可以表示促进用户410和具有MP-TCP能力的SaaS服务器之间的连接的MP-TCP 代理。在端点(例如,互联网web服务器)本身具有MP-TCP能力的一些示例中,MP-TCP代理可以终止MP-TCP连接并创建单路径TCP 连接。例如,如果用户410发送的DNS查询不包括用于知晓具有 MP-TCP能力的SaaS服务器420的MP-TCP能力的请求,或者如果由DNS服务器402发送的DNS响应不包括关于SaaS服务器具有 MP-TCP能力的指示420,那么作为终结器440工作的MP-TCP代理可以终止用户410和SaaS服务器420之间的MP-TCP连接。
图5是图示出用于促进用户与SaaS服务器之间的连接的另一示例系统500的框图。如图5中所见,系统500包括DNS服务器502、用户510、具有MP-TCP能力的SaaS服务器520、用作发起器530的MP-TCP代理、以及用作终结器540的MP-TCP代理。DNS服务器 502可以是图1的DNS服务器20的示例。用户510可以是与图1的客户端设备40中的一个客户端设备相关联的用户。另外,在一些示例中,具有MP-TCP能力的SaaS服务器520可以是图1的网络设备 30中的一个网络设备的示例。
在图5的示例中,用户510被配置为向DNS服务器502发送DNS 查询,其中DNS查询包括如下选项信息字段,该选项信息字段包括对与具有MP-TCP能力的服务器相对应的IP地址的请求。另外,由 DNS服务器502发送的DNS响应可以包括如下选项信息字段,该选项信息字段指示与DNS查询中请求的IP地址相关联的服务器的 MP-TCAP能力。以这种方式,基于包括对MP-TCP能力的指示的DNS 响应,作为终结器540工作的MP-TCP代理被配置为终止或不终止用户510和具有MP-TCP能力的SaaS服务器520之间的MP-TCP连接。在一些示例中,MP-TCP代理可以查询DNS服务器502以确定具有 MP-TCP能力的SaaS服务器520。MP-TCP代理可以在执行三方握手用于建立MP-TCP连接的同时查询DNS服务器502以一次确定具有 MP-TCP能力的SaaS服务器520。如果DNS查询和DNS响应中不包括MP-TCP选项(如图4中所见),则可以在应用SaaS服务器520 之前终止MP-TCP代理连接。此外,在能力交换的扩展之后,作为发起器530工作的MP-TCP代理可以使用DNS MP-TCP能力选项来决定是否允许TCP子流或不允许TCP子流,如图5中所示。这可以提高最终用户体验并改善对带宽的利用。
图6是图示出根据本公开的一种或多种技术的用于确定与用于向客户端设备提供服务的网络设备相关联的IP地址的示例操作的流程图。为方便起见,关于图1的DNS服务器20、网络设备30和客户端设备40来描述图6。然而,图6的技术可以由DNS服务器20、网络设备30和客户端设备40的不同组件执行,或者由附加或备选的设备执行。
客户端设备40中的客户端设备(例如,客户端设备40A)可以从网络设备30接收一个或多个服务。例如,网络设备30可以表示存储供客户端设备40和/或图1中未图示出的其他设备消费的数据、应用和服务的网络设备(例如,服务器)。客户端设备40可以通过经由客户网络6和WAN 7向网络设备30发送服务请求来从网络设备 30接收服务。例如,客户端设备40A可以向网络设备30中的一个或多个网络设备发送服务请求,促使一个或多个网络设备向客户端设备 40A提供服务。在一些示例中,为了向一个或多个网络设备发送服务请求,客户端设备40A可以将服务请求发送到与一个或多个网络设备中的每个网络设备相关联的相应IP地址。在一些情况下,客户端设备40A可能不维护与网络设备30中的每个网络设备相对应的IP地址的列表。如此,为了获得用于向网络设备30发送服务请求的一个或多个IP地址,客户端设备40A可以生成并且发送DNS请求给DNS 服务器20。继而,DNS服务器20可以生成并发送指示相应一个或多个IP地址的DNS响应给客户端设备40A。
如图6中所图示,客户端设备40中的客户端设备(例如,客户端设备40A)生成DNS查询(602)(例如,DNS查询50)。在一些示例中,客户端设备40A生成DNS查询50以包括对主机名的指示和对与主机名相对应的具有MP-TCP能力的网络设备的请求的指示。在一些情况下,主机名与网络设备30中的一组网络设备相关联,其中该组网络设备中的每个网络设备由公共主机控制。通过在生成DNS 查询50时包括对主机名的指示,客户端设备40A可以引导DNS服务器20获取使得客户端设备40A能够从与主机名相关联的主机接收服务的IP地址。另外,对与主机名相对应的具有MP-TCP能力的网络设备的请求的指示可以表示对DNS服务器20是否尝试获取与具有 MP-TCP能力的网络设备相对应的IP地址的指示。例如,网络设备 30根据MP-TCP协议向客户端设备40提供服务可能是有益的。为了使网络设备(例如,网络设备30D)根据MP-TCP协议向客户端设备 (例如,客户端设备40A)提供服务,网络设备30D和客户端设备 40A二者都可以被配置为根据MP-TCP协议进行通信。如此,可能有益的是,DNS查询50包括对具有MP-TCP能力的网络设备的请求的指示,使得DNS服务器20可以促进网络设备30中的一个或多个网络设备与客户端设备40A之间的MP-TCP连接。
客户端设备40A经由客户网络6和WAN 7向DNS服务器20发送DNS查询50(604)。DNS服务器20接收DNS查询50(606)。随后,DNS解析器22基于DNS查询50标识主机名(608)。例如,DNS解析器22可以被配置为读取DNS查询50的报头,其中报头包括如下信息字段,该信息字段包括对主机名的指示。在一些示例中,对主机名的指示以二进制格式(例如,0和1的串)被表示,其中DNS 解析器22被配置为从主机名的二进制表示获得主机名。另外,DNS 解析器22被配置为标识对具有MP-TCP能力的网络设备的请求 (610)。DNS查询50的报头可以包括选项信息字段,该选项信息字段包括单个比特,该单个比特表示对与主机名相对应的具有MP-TCP 能力的网络设备的请求的指示。
DNS解析器22可以基于客户端设备40A的主机名和对具有 MP-TCP能力的网络设备(612)的请求的指示来确定网络设备30中的网络设备。例如,DNS解析器22可以在存储器24中维护网络设备 30的列表,其中网络设备30的列表中的每个网络设备与主机名相关联,并且其中网络设备30的列表中的每个网络设备与对相应网络设备是否能够根据MP-TCP进行通信的指示相关联。以这种方式,DNS 解析器22可以被配置为在网络设备30的列表中标识与DNS查询50 指示的主机名相关联的第一组网络设备。换句话说,DNS解析器22 可以被配置为将DNS查询50指示的主机名映射到存储器24中存储的网络设备30的列表,其中该列表包括网络设备30的列表中的每个网络设备与相应主机名之间的关联。以这种方式,由DNS解析器22 标识的第一组网络设备可以包括网络设备30中的与主机名相关联的每个网络设备。另外,DNS解析器22可以被配置为基于对具有 MP-TCP能力的网络设备的请求的指示来标识第二组网络设备。例如,如果DNS查询50指示客户端设备40A具有MP-TCP能力,则DNS 解析器22可以基于存储在存储器24中的网络设备30的列表确定第二组网络设备,其中第二组网络设备表示第一组网络设备中的具有 MP-TCP能力的每个网络设备。这样,在一些示例中,DNS解析器 22被配置为将第二组网络设备标识为包括网络设备30中的与主机名相关联并且具有MP-TCP能力的每个网络设备。
在一些示例中,第二组网络设备包括零网络设备,这意味着与 DNS查询50指示的主机名相关联的第一组网络设备中没有网络设备具有MP-TCP能力。另外,在一些示例中,第二组网络设备包括一个或多个网络设备,这意味着第一组网络设备中的至少一个网络设备是具有MP-TCP能力的。存储在存储器24中的网络设备30的列表中的每个网络设备可以与IP地址相关联,其中网络设备30的列表包括网络设备30中的每个网络设备与相应IP地址之间的关联。基于第一组网络设备和第二组网络设备中的至少一组网络设备,DNS解析器22 被配置为确定与第一组网络设备和第二组网络设备中的至少一组网络设备的每个网络设备相对应的IP地址(614)。在第二组网络设备包括一个或多个网络设备的示例中,DNS解析器22被配置为确定与第二组网络设备中的每个网络设备相对应的IP地址。在第二组网络设备包括零网络设备的示例中,DNS解析器22被配置为确定与第一组网络设备中的至少一个网络设备相对应的IP地址。
DNS解析器22生成DNS响应(616),诸如DNS响应52。DNS 响应52可以包括对在框614处确定的一个或多个IP地址的指示。在第二组网络设备包括一个或多个网络设备的示例中,DNS解析器22 被配置为生成DNS响应52以包括对与第二组网络设备中的至少一个网络设备相关联的至少一个IP地址的指示。在一些这样的示例中, DNS解析器22被配置为生成DNS响应52以包括对与第二组网络设备中的每个网络设备相对应的IP地址的指示。另外,在一些这样的示例中,DNS解析器22被配置为生成DNS响应52以包括对与第二组网络设备中的一个网络设备相对应的IP地址的指示,其中DNS解析器22确定第二组网络设备中的这一个网络设备是第二组网络设备中用于向客户端设备40A提供服务的最理想的网络设备。在第二组网络设备包括零网络设备的示例中,DNS解析器22被配置为生成DNS 响应52以包括对与第一组网络设备中的至少一个网络设备相关联的至少一个IP地址的指示。在一些这样的示例中,DNS解析器22被配置为生成DNS响应52以包括对与第一组网络设备中的每个网络设备相对应的IP地址的指示。另外,在一些这样的示例中,DNS解析器 22被配置为生成DNS响应52以包括对与第一组网络设备中的一个网络设备相对应的IP地址的指示,其中DNS解析器22确定第一组网络设备中的这一个网络设备是第一组网络设备中用于向客户端设备40A提供服务的最理想的网络设备。
DNS服务器20经由客户网络6和WAN 7向客户端设备40A发送DNS响应52(618)。客户端设备40A接收DNS响应52(620)。随后,客户端设备40A读取DNS响应52的报头以确定与由DNS解析器22确定优选用于向客户端设备40A提供服务的一个或多个网络设备相关联的一个或多个IP地址(622)。例如,DNS响应52可以包括对与网络设备30D相关联的IP地址的指示。随后,客户端设备 40A使用由DNS响应52指示的IP地址向网络设备30D发送服务请求(624)。网络设备30D接收服务请求(626)并将服务提供(628) 给客户端设备40A。客户端设备40A接收服务(630)。在客户端设备40A和网络设备30D二者都具有MP-TCP能力的示例中,客户端设备40A可以根据MP-TCP协议接收服务,MP-TCP协议可以优于单路径TCP协议,因为网络设备30D被配置为在根据MP-TCP操作时通过两个或更多路径将网络业务(例如,分组)发送到客户端设备 40A。
本文描述的技术可以用硬件、软件、固件或其任何组合来实现。描述为模块、单元或组件的各种特征可以在集成逻辑设备中一起实现,或者作为离散但可互操作的逻辑设备或其他硬件设备而分开实现。在一些情况下,电子电路的各种特征可以被实现为一个或多个集成电路器件,诸如集成电路芯片或芯片组。
如果以硬件实现,则本发明可以涉及诸如处理器或集成电路设备之类的装置,诸如集成电路芯片或芯片组。备选地或附加地,如果以软件或固件实现,则该技术可以至少部分地由包括指令的计算机可读数据存储介质来实现,所述指令在被执行时使处理器执行上述方法中的一种或多种方法。例如,计算机可读数据存储介质可以存储这样的指令以供处理器执行。
计算机可读介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括计算机数据存储介质,诸如RAM、只读存储器(ROM)、非易失性随机存取存储器 (NVRAM)、EEPROM、闪存、磁或光数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以指示存储介质不被体现在载波或传播信号中。在某些示例中,非暂时性存储介质可以存储随时间变化的数据(例如,在RAM或高速缓存中)。
代码或指令可以是由包括一个或多个处理器的处理电路执行的软件和/或固件,处理电路诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其他等效的集成或分立逻辑电路。因此,本文使用的术语“处理器”可以是指任何前述结构或适合于实现本文所述技术的任何其他结构。另外,在一些方面,可以在软件模块或硬件模块内提供本公开中描述的功能性。
Claims (20)
1.一种域名系统(DNS)设备,包括:
存储器,所述存储器被配置为存储针对一组主机名的因特网协议(IP)地址的列表,所述主机名中的至少一个具有两个或更多个IP地址,所述存储器还存储针对每个IP地址表示对应于所述IP地址的网络设备是否能够执行多径传输控制协议(MP-TCP)的数据,所述网络设备是一组网络设备中的一部分;以及
一个或多个处理器,所述一个或多个处理器在电路中实现并且被配置为:
从客户端设备接收DNS查询,所述DNS查询包括对主机名的指定和对MP-TCP能力的请求;
使用所述存储器确定所述IP地址中与所述主机名相对应并且与具有MP-TCP能力的网络设备之一相对应的至少一个IP地址;以及
向所述客户端设备发送DNS响应,所述DNS响应包括对所述IP地址中的所述至少一个IP地址的指示。
2.根据权利要求1所述的DNS设备,其中为了确定所述IP地址中与所述主机名相对应并且与具有MP-TCP能力的相应网络设备相对应的至少一个IP地址,所述一个或多个处理器被配置为:
解析所述DNS查询以标识一组信息字段中的选项信息字段;以及
基于所述选项信息字段,确定所述选项信息字段指示如下请求:所述DNS响应包括对与所述IP地址中具有MP-TCP能力的相应网络设备相对应的所述至少一个IP地址的指示。
3.根据权利要求1所述的DNS设备,其中所述一个或多个处理器还被配置为:
接收配置数据,所述配置数据指定所述一组网络设备中的具有MP-TCP能力的网络设备子集;以及
在所述存储器中存储指示具有MP-TCP能力的所述网络设备子集的数据。
4.根据权利要求1所述的DNS设备,其中所述一个或多个处理器还被配置为:
将一组传输控制协议(TCP)同步(syn)分组中的每个TCP syn分组发送到所述一组网络设备的相应网络设备,其中所述一组TCP syn分组中的每个TCP syn分组的报头包括请求所述一组网络设备的所述相应网络设备的MP-TCP能力的TCP标志;
从所述一组网络设备中的每个相应网络设备接收一组TCP确认(TCP ack)分组中的TCPack分组,其中所述一组TCP ack分组中的每个TCP ack分组的报头包括指示所述相应网络设备是否具有MP-TCP能力的TCP标志;
基于所述一组TCP ack分组中的每个TCP ack分组的TCP标志,确定与所述一组TCP ack分组中的TCP ack分组相对应的每个相应网络设备是否具有MP-TCP能力;以及
在所述存储器中存储表示与所述一组TCP ack分组中的TCP ack分组相对应的每个相应网络设备是否具有MP-TCP能力的数据。
5.根据权利要求1所述的DNS设备,其中为了确定所述IP地址中与所述主机名相对应并且与具有MP-TCP能力的相应网络设备相对应的至少一个IP地址,所述一个或多个处理器被配置为:
确定与所述主机名相对应并且与具有MP-TCP能力的相应网络设备相对应的两个或更多个IP地址,其中所述一个或多个处理器被配置为:
在所述DNS响应中标识所述两个或更多个IP地址中被发送给所述客户端设备的IP地址,并且其中为了发送所述DNS响应,所述一个或多个处理器被配置为:
向所述客户端设备发送所述DNS响应,所述DNS响应指示所述两个或更多个IP地址中被发送给所述客户端设备的所述IP地址。
6.根据权利要求1所述的DNS设备,其中所述DNS查询包括一组查询信息字段,所述一组查询信息字段包括:
名称信息字段,包括对所述主机名的所述指定,其中所述主机名以二进制格式被编码;
类型信息字段,包括对所述DNS查询的查询类型的指定,其中所述查询类型以二进制格式被编码,并且其中所述查询类型指示所述DNS查询表示返回一个或多个IP地址的请求;
类信息字段,包括对查询类的指定,其中所述查询类以二进制格式被编码;
生存时间(TTL)信息字段,包括对以秒为单位的时间量的指定,其中所述时间量以二进制格式被编码,并且其中所述时间量表示在所述DNS查询被无效之前过去的经过时间;以及
选项信息字段,包括对所述MP-TCP能力的所述请求,其中对所述MP-TCP能力的所述请求以二进制格式被编码,对所述MP-TCP能力的所述请求占用单个比特。
7.根据权利要求1-6中任一项所述的DNS设备,其中所述DNS响应包括一组响应信息字段,所述一组响应信息字段包括:
名称信息字段,包括对所述DNS查询中所包括的所述主机名的所述指定,其中所述主机名以二进制格式被编码;
数据信息字段,包括表示对所述IP地址中与所述主机名相对应并且与具有MP-TCP能力的相应网络设备相对应的至少一个IP地址的指示的数据,其中所述数据以二进制格式被编码;
数据长度信息字段,包括对所述数据信息字段的以比特为单位的长度的指示,其中对以比特为单位的长度的指示以二进制格式被编码;
类型信息字段,包括对所述数据信息字段中所包括的所述数据的数据类型的指定,其中对所述数据类型的所述指定以二进制格式被编码,并且所述数据类型是IP地址数据类型;
类信息字段,包括对所述数据信息字段中所包括的所述数据的数据类的指定,其中对所述数据类的所述指定以二进制格式被编码;以及
选项信息字段,包括对所述数据信息字段中指示的每个IP地址是否具有MP-TCP能力的指定。
8.根据权利要求1所述的DNS设备,其中为了接收所述DNS查询,所述一个或多个处理器被配置为:
根据用户数据报协议(UDP)接收所述DNS查询,并且其中所述一个或多个处理器还被配置为:
确定所述DNS响应的大小是否大于阈值字节数。
9.根据权利要求8所述的DNS设备,其中所述一个或多个处理器确定所述DNS响应的大小不大于所述阈值字节数,并且其中所述一个或多个处理器被配置为:
根据UDP将所述DNS响应发送到所述客户端设备。
10.根据权利要求8-9中任一项所述的DNS设备,其中所述一个或多个处理器确定所述DNS响应的大小大于所述阈值字节数,并且其中所述一个或多个处理器被配置为:
根据传输控制协议(TCP)将所述DNS响应发送到所述客户端设备。
11.一种方法,包括:
由域名系统(DNS)设备的一个或多个处理器接收来自客户端设备的DNS查询,所述DNS查询包括对主机名的指定和对MP-TCP能力的请求,其中所述DNS设备包括:存储器,所述存储器被配置为存储针对一组主机名的因特网协议(IP)地址的列表,其中所述主机名中的至少一个主机名具有两个或更多个IP地址,所述存储器还存储针对每个IP地址表示对应于所述IP地址的网络设备是否能够执行多径传输控制协议(MP-TCP)的数据,所述网络设备是一组网络设备中的一部分;
使用所述存储器,确定所述IP地址中与所述主机名相对应并且与具有MP-TCP能力的网络设备之一相对应的至少一个IP地址;以及
由所述一个或多个处理器向所述客户端设备发送DNS响应,所述DNS响应包括对所述IP地址中的所述至少一个IP地址的指示。
12.根据权利要求11所述的方法,其中确定所述IP地址中与所述主机名相对应并且与具有MP-TCP能力的相应网络设备相对应的至少一个IP地址包括:
解析所述DNS查询以标识一组信息字段的选项信息字段;以及
基于所述选项信息字段,确定所述选项信息字段指示如下请求:所述DNS响应包括对与所述IP地址中具有MP-TCP能力的相应网络设备相对应的所述至少一个IP地址的指示。
13.根据权利要求11所述的方法,还包括:
接收配置数据,所述配置数据指定所述一组网络设备中的具有MP-TCP能力的网络设备子集;以及
在所述存储器中存储指示具有MP-TCP能力的所述网络设备子集的数据。
14.根据权利要求11所述的方法,还包括:
将一组传输控制协议(TCP)同步(syn)分组中的每个TCP syn分组发送到所述一组网络设备中的相应网络设备,其中所述一组TCP syn分组中的每个TCP syn分组的报头包括请求所述一组网络设备中的所述相应网络设备的MP-TCP能力的TCP标志;
从所述一组网络设备中的每个相应网络设备接收一组TCP确认(TCP ack)分组中的TCPack分组,其中所述一组TCP ack分组中的每个TCP ack分组的报头包括指示所述相应网络设备是否具有MP-TCP能力的TCP标志;
基于所述一组TCP ack分组中的每个TCP ack分组的TCP标志,确定与所述一组TCP ack分组中的TCP ack分组相对应的每个相应网络设备是否具有MP-TCP能力;以及
在所述存储器中存储表示与所述一组TCP ack分组中的TCP ack分组相对应的每个相应网络设备是否具有MP-TCP能力的数据。
15.根据权利要求11-14中任一项所述的方法,其中确定所述IP地址中与所述主机名相对应并且与具有MP-TCP能力的相应网络设备相对应的至少一个IP地址包括:
确定与所述主机名相对应并且与具有MP-TCP能力的相应网络设备相对应的两个或更多个IP地址,其中所述方法还包括:
在所述DNS响应中标识所述两个或更多个IP地址中被发送给所述客户端设备的IP地址,并且其中发送所述DNS响应包括:
向所述客户端设备发送所述DNS响应,所述DNS响应指示所述两个或更多个IP地址中被发送给所述客户端设备的所述IP地址。
16.根据权利要求11所述的方法,其中接收所述DNS查询包括:
根据用户数据报协议(UDP)接收所述DNS查询,并且其中所述方法还包括:
确定所述DNS响应的大小是否大于阈值字节数。
17.根据权利要求16所述的方法,其中所述一个或多个处理器确定所述DNS响应的大小不大于所述阈值字节数,并且其中所述方法还包括:
根据UDP将所述DNS响应发送到所述客户端设备。
18.根据权利要求16-17中任一项所述的方法,其中所述一个或多个处理器确定所述DNS响应的大小大于所述阈值字节数,并且其中所述方法还包括:
根据传输控制协议(TCP)将所述DNS响应发送到所述客户端设备。
19.一种方法,包括:
由客户端设备向域名系统(DNS)设备的一个或多个处理器发送DNS查询,所述DNS查询包括对主机名的指定和对多路径传输控制协议(MP-TCP)能力的请求,其中所述DNS设备包括存储器,所述存储器被配置为存储针对一组主机名的因特网协议(IP)地址的列表,所述主机名中的至少一个主机名具有两个或更多个IP地址,所述存储器还存储针对每个IP地址表示对应于所述IP地址的网络设备是否能够执行MP-TCP的数据,所述网络设备是一组网络设备中的一部分;以及
由所述客户端设备接收DNS响应,所述DNS响应包括对所述IP地址中与所述主机名相对应并且与具有MP-TCP能力的网络设备之一相对应的至少一个IP地址的指示。
20.根据权利要求19所述的方法,还包括:
由所述客户端设备向与由所述DNS响应指示的至少一个IP地址相对应的相应网络设备发送服务请求;以及
响应于发送所述服务请求,由所述客户端设备接收服务。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/438,200 | 2019-06-11 | ||
US16/438,200 US11425086B2 (en) | 2019-06-11 | 2019-06-11 | Using DNS to communicate MC-TCP capability of server devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073545A CN112073545A (zh) | 2020-12-11 |
CN112073545B true CN112073545B (zh) | 2023-06-20 |
Family
ID=68066723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910932043.6A Active CN112073545B (zh) | 2019-06-11 | 2019-09-29 | 使用dns来传送服务器设备的mp-tcp能力 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11425086B2 (zh) |
EP (2) | EP4270900A1 (zh) |
CN (1) | CN112073545B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210044678A1 (en) * | 2019-08-09 | 2021-02-11 | Cisco Technology, Inc. | Optimized quic fallback on access networks and endpoints |
US11483281B2 (en) * | 2020-03-27 | 2022-10-25 | Arris Enterprises Llc | Apparatus and method for establishing and maintaining a DS-lite tunnel |
CA3188264A1 (en) * | 2020-08-17 | 2022-02-24 | Arris Enterprises Llc | Client device based solution for handling mac randomization |
CN114826916B (zh) * | 2021-01-28 | 2024-07-12 | 阿里巴巴集团控股有限公司 | 数据传输方法、设备、系统及计算机存储介质 |
CN117223274A (zh) | 2021-04-29 | 2023-12-12 | 三星电子株式会社 | 用于管理多路径通信的方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872423A (zh) * | 2016-09-23 | 2018-04-03 | 中国电信股份有限公司 | 用于实现 cdn 调度的方法、设备和系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454500B1 (en) * | 2000-09-26 | 2008-11-18 | Foundry Networks, Inc. | Global server load balancing |
US8219686B2 (en) * | 2007-09-17 | 2012-07-10 | Mcafee, Inc. | Method and computer program product utilizing multiple UDP data packets to transfer a quantity of data otherwise in excess of a single UDP packet |
CN101340327B (zh) * | 2008-08-21 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 实现网络服务器负载均衡的方法和系统 |
CN101841520B (zh) * | 2010-01-22 | 2013-11-06 | 中国科学院计算机网络信息中心 | 域名系统以及域名系统的信息处理方法、装置 |
CN103503399B (zh) * | 2010-12-22 | 2016-05-18 | 爱立信(中国)通信有限公司 | 通信网络中的移动性处理 |
US8966122B2 (en) * | 2012-04-16 | 2015-02-24 | Opendns, Inc. | Cross-protocol communication in domain name systems |
KR102234979B1 (ko) * | 2013-11-07 | 2021-04-02 | 삼성전자주식회사 | 무선 통신 시스템에서 이동성 관리를 위한 장치 및 방법 |
US20150281367A1 (en) | 2014-03-26 | 2015-10-01 | Akamai Technologies, Inc. | Multipath tcp techniques for distributed computing systems |
WO2015171023A1 (en) | 2014-05-06 | 2015-11-12 | Telefonaktiebolaget L M Ericsson (Publ) | Establishing a multipath tcp (mptcp) connection |
EP3051371B1 (de) | 2015-01-29 | 2018-01-17 | Siemens Aktiengesellschaft | Verfahren zum Aufbau einer unterbrechungsfreien Kommunikationsverbindung und Kommunikationsgerät |
CN108075987B (zh) * | 2016-11-17 | 2020-12-08 | 华为技术有限公司 | 一种多路径数据传输方法及设备 |
-
2019
- 2019-06-11 US US16/438,200 patent/US11425086B2/en active Active
- 2019-09-25 EP EP23185651.9A patent/EP4270900A1/en not_active Withdrawn
- 2019-09-25 EP EP19199444.1A patent/EP3751824A1/en not_active Ceased
- 2019-09-29 CN CN201910932043.6A patent/CN112073545B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872423A (zh) * | 2016-09-23 | 2018-04-03 | 中国电信股份有限公司 | 用于实现 cdn 调度的方法、设备和系统 |
Non-Patent Citations (1)
Title |
---|
MPTCP proxy mechanisms;draft-wei-mptcp-proxy-mechanism-02.txt;X.Wei, et al.;《IETF》;20150701;第4.2章节,附图5 * |
Also Published As
Publication number | Publication date |
---|---|
US11425086B2 (en) | 2022-08-23 |
EP4270900A1 (en) | 2023-11-01 |
CN112073545A (zh) | 2020-12-11 |
EP3751824A1 (en) | 2020-12-16 |
US20200396200A1 (en) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073545B (zh) | 使用dns来传送服务器设备的mp-tcp能力 | |
US6907022B2 (en) | Method and apparatus in a portable subscriber unit for minimizing a connection setup time through a communication network | |
US20130198266A1 (en) | Facilitating communication between web-enabled devices | |
CN111917900B (zh) | 一种域名代理的请求处理方法及装置 | |
US9729663B2 (en) | Dynamic/shared PMTU cache | |
US11202252B2 (en) | Inclusion of a message proxy in a service based architecture | |
US20150373135A1 (en) | Wide area network optimization | |
CN104967613A (zh) | 一种移动网络环境下数据传输的系统和方法 | |
US11799827B2 (en) | Intelligently routing a response packet along a same connection as a request packet | |
JP7531697B2 (ja) | データ処理方法、装置、関連機器及び記憶媒体 | |
CN105357212A (zh) | 一种保证安全和隐私的dns端到端解析方法 | |
CN106507414B (zh) | 报文转发方法及装置 | |
CN103581361A (zh) | 一种域名解析代理方法、设备及系统 | |
US10136375B2 (en) | Method for service data management, apparatus, and system | |
CN103118145A (zh) | 基于DNS的IPv4-over-IPv6多隧道自动建立方法 | |
US20190021065A1 (en) | Reducing Time Required for Location Lookup When Downlink Packets Arrive By Assisting Preloading of a Location of a Wireless Device Into the IP Advertisement Point (IAP) | |
CN115668889A (zh) | 用于可变长度地址(vla)网络的域名系统(dns)服务 | |
US11070513B2 (en) | DNS-based method of transmitting data | |
CN107612831B (zh) | 一种访问源站的数据报文的传输方法及装置 | |
WO2023186109A1 (zh) | 节点访问方法以及数据传输系统 | |
US20100023620A1 (en) | Access controller | |
Hankins et al. | Guidelines for Creating New DHCPv6 Options | |
US20240381455A1 (en) | Communication method and apparatus | |
US20240039762A1 (en) | Combined pfcp session model for network access by residential gateways | |
Khandaker et al. | On-path vs off-path traffic steering, that is the question |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |