CN109936641A - 域名解析的方法、虚拟交换机和分布式dns系统 - Google Patents

域名解析的方法、虚拟交换机和分布式dns系统 Download PDF

Info

Publication number
CN109936641A
CN109936641A CN201910070573.4A CN201910070573A CN109936641A CN 109936641 A CN109936641 A CN 109936641A CN 201910070573 A CN201910070573 A CN 201910070573A CN 109936641 A CN109936641 A CN 109936641A
Authority
CN
China
Prior art keywords
virtual
message
port
virtual port
dns
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
CN201910070573.4A
Other languages
English (en)
Other versions
CN109936641B (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910070573.4A priority Critical patent/CN109936641B/zh
Publication of CN109936641A publication Critical patent/CN109936641A/zh
Application granted granted Critical
Publication of CN109936641B publication Critical patent/CN109936641B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种域名解析方法,该方法应用于第一虚拟交换机,包括:从第二虚拟端口接收与其连接的第一虚拟机发送的携带有所述第一域名的第一DNS请求报文,根据第一流表项将第一DNS请求报文从第二虚拟端口转发至所述第一虚拟端口,再从第一虚拟端口获取第一虚拟机发送的第一DNS应答报文,将第一DNS应答报文发送至第二虚拟端口,该第一DNS应答报文携带所述第一域名的第一IP地址。本申请提供的技术方案可以根据流表控制DNS协议走向,使得虚拟机可以在本主机上实现域名解析服务。

Description

域名解析的方法、虚拟交换机和分布式DNS系统
技术领域
本申请涉及网络通信技术领域,并且更具体地,涉及一种域名解析的方法、虚拟交换机和分布式DNS系统。
背景技术
互联网中的计算机是通过互联网协议(Internet protocol,IP)地址进行计算机之间的通信。随着数据中心的规模越来越大,互联网中的计算机越来越多,使用域名(domain name)来代替IP地址作为计算机之间服务访问的入口已经成为主流的访问方式。域名解析服务器(domain name server,DNS)是为了方便记忆而专门建立的一套地址转换系统,是域名和与之相对应的IP地址之间进行的转换的一种服务器,可以将域名重新转换为IP地址以解析消息的域名。
传统的域名解析方案中,虚拟化的DNS服务通常集中部署在独立的物理主机上。主机上的虚拟机(virtual machine,VM)需要通过该主机上的虚拟交换机以及物理交换机将DNS请求报文发送至DNS所在主机,并经过DNS所在主机中的虚拟路由器、虚拟交换机将DNS请求报文发送至DNS服务所在的VM进行域名解析。
上述方案中由于DNS与发送DNS请求报文的VM之间的交互报文需要通过两个虚拟交换机和至少一个物理交换机。一方面,其路径较长,任意一点的故障都会导致DNS的服务不可用,从而导致VM无法进行域名解析。另一方面,由于DNS集中部署在一个主机上,所有VM的DNS请求报文均发送至DNS所在的主机。不仅会造成多个VM进行域名解析的高时延,而且如果DNS所在的主机故障或者不可用,则会导致多个VM无法进行域名解析。
因此,如何可以提高域名解析的效率,降低域名解析的时延成为业界亟需要解决的问题。
发明内容
本申请提供一种域名解析的方法、虚拟交换机和分布式DNS系统,可以根据流表控制DNS协议走向,使得虚拟机可以在本主机上实现域名解析服务。
第一方面,提供了一种域名解析的方法,该方法应用于第一虚拟交换机,第一虚拟交换机的第一虚拟端口与第一虚拟机连接,第一虚拟机记录有第一域名与第一IP地址之间的第一对应关系,第一虚拟交换机的第二虚拟端口与第二虚拟机连接,该方法包括:
第一虚拟交换机从该第二虚拟端口接收该第二虚拟机发送的携带有该第一域名的第一DNS请求报文。
该第一虚拟交换机根据第一流表项将该第一DNS请求报文从该第二虚拟端口转发至该第一虚拟端口,该第一流表项用于指示该第一虚拟交换机将从该第二虚拟端口接收到的类型为DNS请求报文的报文转发至该第一虚拟端口。
该第一虚拟交换机从该第一虚拟端口获取该第一虚拟机发送的第一DNS应答报文,将该第一DNS应答报文发送至该第二虚拟端口,该第一DNS应答报文携带该第一域名的第一IP地址。
上述技术方案中,各个主机上的VM均可以为其上运行的VM提供域名解析服务,多个主机之间可以并行运行,从而可以提高域名解析的效率,降低域名解析的时延。
在第一方面的第一种可能的实现方式中,该第一虚拟交换机根据第二流表项将该第一DNS应答报文发送至该第二虚拟端口,该第二流表项用于指示该第一虚拟交换机将从该第一虚拟端口接收到的类型为DNS应答报文的报文转发至该第二虚拟端口。
根据第一方面或第一方面的第一种可能的实现方式中,该方法还包括:
第一虚拟交换机从第二虚拟端口接收第二虚拟机发送的携带有第二域名的第二DNS请求报文,第一虚拟交换机还记录有第三流表项和第六流表项,第三流表项用于指示第一虚拟交换机将从第二虚拟端口接收到的类型为DNS请求报文的报文发送至第五虚拟端口,第六流表项用于指示第一虚拟交换机将从第五虚拟端口接收到的类型为DNS应答报文的报文转发至第二虚拟端口。
该第一虚拟交换机将该第一流表项更新为该第三流表项。
该第一虚拟交换机根据该第三流表项将该第二DNS请求报文发送至该第五虚拟端口,该第五虚拟端口与第二报文传输模块连接,该第二报文传输模块用于将第二DNS请求报文封装到第一覆盖overlay报文,并将第一overlay报文从第五虚拟端口发送至第一报文传输模块。
上述技术方案中,在主机上的VM不能为该主机上运行的VM提供域名解析的情况下,本申请还可以通过其他主机上的VM为本主机上的VM提供域名解析服务,可以提高域名解析的效率。
在根据第一方面或第一方面的第一种可能的第一种实现方式中,该方法还包括:
该第一虚拟交换机从该第五虚拟端口接收该第二报文传输模块发送的第二overlay报文,该第二overlay报文中封装有携带该第二IP地址的第二DNS应答报文,第二DNS应答报文为第三虚拟机通过第三虚拟端口发送至第二报文传输模块,第三虚拟机记录有第二域名与第二IP地址之间的第二对应关系。
第一虚拟交换机从第二overlay报文解封装出第二DNS应答报文,将第二DNS应答报文发送至第五虚拟端口。
第一虚拟交换机根据第六流表项将第二DNS应答报文从第五虚拟端口发送至第二虚拟端口。
在根据第一方面至在根据第一方面或第一方面的第一种可能的第一种实现方式中,在该第一虚拟交换机从该第二虚拟端口接收该第一DNS请求报文之前,该方法还包括:
该第一虚拟交换机从该第二虚拟端口接收携带有该第一虚拟机的IP地址的地址解析ARP请求报文,该ARP请求报文用于请求该第一虚拟机的MAC地址。
该第一虚拟交换机根据第七流表项将该ARP请求报文从该第二虚拟端口转发至该第一虚拟端口,其中,该第七流表项用于指示该第一虚拟交换机将从该第二虚拟端口接收到类型为ARP请求报文的报文发送至该第一虚拟端口。
该第一虚拟交换机从第一虚拟端口接收该第一虚拟机发送的ARP应答报文,该ARP应答报文携带有该第一虚拟机的MAC地址。
该第一虚拟交换机根据第八流表项将从该第一虚拟端口接收到的该ARP应答报文发送至该第二虚拟端口,其中,该第八流表项用于指示该第一虚拟交换机将从该第一虚拟端口接收到的类型为ARP应答报文的报文发送至该第二虚拟端口。
第二方面,本申请提供一种第一虚拟交换机,该第一虚拟交换机的第一虚拟端口与第一虚拟机连接,该第一虚拟机记录有第一域名与第一IP地址之间的第一对应关系,该第一虚拟交换机的第二虚拟端口与第二虚拟机连接,该第一虚拟交换机包括:
接收模块,用于从该第二虚拟端口接收该第二虚拟机发送的携带有该第一域名的第一DNS请求报文。
发送模块,用于根据第一流表项将该第一DNS请求报文从该第二虚拟端口转发至该第一虚拟端口,该第一流表项用于指示该第一虚拟交换机将从该第二虚拟端口接收到的类型为DNS请求报文的报文转发至该第一虚拟端口。
该接收模块,用于从该第一虚拟端口获取该第一虚拟机发送的第一DNS应答报文,将该第一DNS应答报文发送至该第二虚拟端口,该第一DNS应答报文携带该第一域名的第一IP地址。
在第二方面的第一种可能的实现方式中,该发送模块用于根据第二流表项将该第一DNS应答报文发送至该第二虚拟端口,该第二流表项用于指示该第一虚拟交换机将从该第一虚拟端口接收到的类型为DNS应答报文的报文转发至该第二虚拟端口。
根据第二方面或第二方面的第一种可能的实现方式中,该第一虚拟交换机还包括更新模块,封装模块。
该接收模块,用于从第二虚拟端口接收第二虚拟机发送的携带有第二域名的第二DNS请求报文,第一虚拟交换机还记录有第三流表项和第六流表项,第三流表项用于指示第一虚拟交换机将从第二虚拟端口接收到的类型为DNS请求报文的报文发送至第五虚拟端口,第六流表项用于指示第一虚拟交换机将从第五虚拟端口接收到的类型为DNS应答报文的报文转发至第二虚拟端口。
该更新模块,用于将该第一流表项更新为该第三流表项,该第三流表项用于指示该第一虚拟交换机将从该第二虚拟端口接收到的类型为DNS请求报文的报文发送至该第五虚拟端口。
该发送模块,用于根据该第三流表项将该第二DNS请求报文发送至该第五虚拟端口,该第五虚拟端口与第二报文传输模块连接,该第二报文传输模块用于将从该第五虚拟端口接收到的报文发送至第一报文传输模块。
在根据第二方面或第二方面的第一种可能的第一种实现方式中,第一虚拟交换机还包括解封装模块。
该接收模块用于从该第五虚拟端口接收该第二报文传输模块发送的第二overlay报文,第二overlay报文中封装有携带第二IP地址的第二DNS应答报文,第二DNS应答报文为第三虚拟机通过第三虚拟端口发送至第二报文传输模块,第三虚拟机记录有第二域名与第二IP地址之间的第二对应关系。
解封装模块用于从第二overlay报文解封装出第二DNS应答报文。
发送模块用于将第二DNS应答报文发送至第五虚拟端口。
发送模块用于根据第六流表项将该第二DNS应答报文发送至该第二虚拟端口。
在根据第二方面至在根据第二方面或第一方面的第一种可能的第一种实现方式中,该接收模块,用于从该第二虚拟端口接收携带有该第一虚拟机的IP地址的地址解析ARP请求报文,该ARP请求报文用于请求该第一虚拟机的MAC地址。
该发送模块,用于根据第七流表项将该ARP请求报文从该第二虚拟端口转发至该第一虚拟端口,其中,该第七流表项用于指示该第一虚拟交换机将从该第二虚拟端口接收到类型为ARP请求报文的报文发送至该第一虚拟端口。
该接收模块,用于从第一虚拟端口接收该第一虚拟机发送的ARP应答报文,该ARP应答报文携带有该第一虚拟机的MAC地址。
该发送模块,用于根据第八流表项将从该第一虚拟端口接收到的该ARP应答报文发送至该第二虚拟端口,其中,该第八流表项用于指示该第一虚拟交换机将从该第一虚拟端口接收到的类型为ARP应答报文的报文发送至该第二虚拟端口。
第三方面,提供了一种第一虚拟交换机,其特征在于,包括处理器、存储器和通信接口,该存储器中用于存储计算机执行指令,该第一虚拟交换机运行时,该处理器运行该存储器中的计算机执行指令以执行如第一方面或第一方面任一种可能实现方式中该方法的操作步骤。
第四方面,提供了一种分布式域名解析服务器DNS系统,包括:第一主机。
其中,第一主机,包括:第一虚拟机、第二虚拟机、第一虚拟交换机。
该第一虚拟机与第一虚拟交换机的第一虚拟端口连接,该第一虚拟机记录有第一域名与第一IP地址之间的第一对应关系。
该第二虚拟机与该第一虚拟交换机的第二虚拟端口连接,向该第二虚拟端口发送携带有该第一域名的第一DNS请求报文。
该第一虚拟交换机用于根据第一流表项将该第一DNS请求报文从该第二虚拟端口转发至该第一虚拟端口,该第一流表项用于指示该第一虚拟交换机将从该第二虚拟端口接收到的类型为DNS请求报文的报文转发至该第一虚拟端口。
该第一虚拟机用于从该第一虚拟端口获取该第一DNS请求报文,根据该第一DNS请求报文携带的该第一域名从该第一对应关系获取该第一IP地址,发送携带该第一IP地址的第一DNS应答报文至该第一虚拟端口。
该第一虚拟交换机从该第一虚拟端口获取该第一DNS应答报文,将该第一DNS应答报文发送至该第二虚拟端口。
在第三方面的第一种可能的实现方式中,该第一虚拟交换机,用于从该第一虚拟端口获取该第一DNS应答报文,根据第二流表项将该第一DNS应答报文发送至该第二虚拟端口,该第二流表项用于指示该第一虚拟交换机将从该第一虚拟端口接收到的类型为DNS应答报文的报文转发至该第二虚拟端口。
根据第三方面或第三方面的第一种可能的实现方式中,该第一虚拟机记录有第二域名与第二IP地址之间的第二对应关系,该系统还包括:第二主机。
其中,第二主机包括:第三虚拟机、第二虚拟交换机、第一报文传输模块。
该第三虚拟机记录有该第二对应关系。
该第二虚拟交换机设置有第三虚拟端口,该第三虚拟机与该第三虚拟端口连接。
该第一报文传输模块与该第二虚拟交换机的第四虚拟端口连接。
该第一主机还包括:第二报文传输模块、控制平台。
第二报文传输模块,与第一虚拟交换机的第五虚拟端口连接。
控制平台,用于检测第一虚拟机发生故障,并发送第三流表项和第六流表项至第一虚拟交换机,发送第四流表项和第五流表项至第二虚拟交换机。
其中,第三流表项用于指示第一虚拟交换机将从第二虚拟端口接收到的类型为DNS请求报文的报文发送至第五虚拟端口,第二报文传输模块用于将从第五虚拟端口接收到的报文发送至第一报文传输模块,第四流表项用于指示第二虚拟交换机将从第四虚拟端口接收到的类型为DNS请求报文的报文发送至第三虚拟端口,第五流表项用于指示第二虚拟交换机将从第三虚拟端口接收到的类型为DNS应答报文的报文转发至第四虚拟端口,第六流表项用于指示第一虚拟交换机将从第五虚拟端口接收到的类型为DNS应答报文的报文转发至第二虚拟端口。
在根据第三方面或第三方面的第一种可能的第一种实现方式中,该第一虚拟交换机,用于将该第一流表项更新为该第三流表项,从该第二虚拟端口接收该第二虚拟机发送的携带有该第二域名的第二DNS请求报文,根据该第三流表项将该第二DNS请求报文发送至该第五虚拟端口。
该第二报文传输模块,用于从该第五虚拟端口获取该第二DNS请求报文,将该第二DNS请求报文封装到第一覆盖overlay报文,并发送第一overlay报文至该第一报文传输模块。
该第一报文传输模块,用于接收第一overlay报文,从第一overlay报文解封装第二DNS请求报文,将该第二DNS请求报文发送至该第四虚拟端口。
该第二虚拟交换机,用于根据该第四流表项将该第二DNS请求报文发送至该第三虚拟端口。
该第三虚拟机,用于从该第三虚拟端口获取该第二DNS请求报文,根据该第二DNS请求报文携带的该第二域名从该第二对应关系获取该第二IP地址,产生携带该第二IP地址的第二DNS应答报文。
在根据第三方面至在根据第三方面或第一方面的第一种可能的第一种实现方式中,该第三虚拟机,用于将该第二DNS应答报文发送至该第三虚拟端口。
该第二虚拟交换机,用于根据第五流表项将该第二DNS应答报文发送至该第四虚拟端口。
该第一报文传输模块,用于从该第四虚拟端口获取该第二DNS应答报文,并将第二DNS应答报文封装至第二overlay报文,并发送第二overlay报文至第二报文传输模块。
该第二报文传输模块,用于从第二overlay报文解封装出该第二DNS应答报文,将该第二DNS应答报文发送至该第五虚拟端口。
该第一虚拟交换机,用于从该第五虚拟端口接收该第二DNS应答报文,根据第六流表项将该第二DNS应答报文发送至该第二虚拟端口,该第六流表项用于指示该第一虚拟交换机将从该第五虚拟端口接收到的类型为DNS应答报文的报文转发至该第二虚拟端口。
该第二虚拟机,用于从该第二虚拟端口接收该第二DNS应答报文,并从该第二DNS应答报文获取该第二IP地址。
在根据第三方面至在根据第三方面或第一方面的第一种可能的第一种实现方式中,该第二虚拟机在向该第二虚拟端口发送携带有该第一域名的第一DNS请求报文之前,还用于发送携带有该第一虚拟机的IP地址的地址解析ARP请求报文至该第二虚拟端口,该ARP请求报文用于请求该第一虚拟机的MAC地址。
该第一虚拟交换机,用于根据第七流表项将该ARP请求报文从该第二虚拟端口转发至该第一虚拟端口,其中,该第七流表项用于指示该第一虚拟交换机将从该第二虚拟端口接收到类型为ARP请求报文的报文发送至该第一虚拟端口。
该第一虚拟机,用于从该第一虚拟端口获取该APR请求报文,根据该ARP请求报文产生携带有该第一虚拟机的MAC地址的ARP应答报文,并发送该ARP应答报文至该第一虚拟端口。
该第一虚拟交换机,用于根据第八流表项将从该第一虚拟端口接收到的该ARP应答报文发送至该第二虚拟端口,其中,该第八流表项用于指示该第一虚拟交换机将从该第一虚拟端口接收到的类型为ARP应答报文的报文发送至该第二虚拟端口。
该第二虚拟机,用于从该第二虚拟端口接收该ARP应答报文,获取该ARP应答报文携带的该第一虚拟机的MAC地址,根据该第一虚拟机的MAC地址构造该第一DNS请求报文。
第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面该的方法。
第六方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面该的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是本申请实施例的分布式域名解析服务器DNS系统100的结构示意图。
图2是本申请实施例提供的一种域名解析方法的示意性流程图。
图3是本申请实施例提供的一种VM 111上运行的DNS服务故障情况下的域名解析方法的示意性流程图。
图4是本申请实施例提供的一种DNS系统100的报文传输路径的示意图。
图5是本申请实施例提供的一种第一虚拟交换机500的结构性示意性图。
图6是本申请实施例提供的一种第一虚拟交换机600的结构性示意性图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
互联网中的计算机是通过互联网协议(Internet protocol,IP)地址进行计算机之间的通信。随着数据中心的规模越来越大,互联网中的计算机越来越多,使用域名(domain name)来代替IP地址作为计算机之间服务访问的入口已经成为主流的访问方式。但是,通过域名并不能直接找到要访问的主机,要访问一台互联网上的服务器,最终还需要通过IP地址来实现。域名解析服务器DNS是为了方便记忆而专门建立的一套地址转换系统,可以将域名重新转换为IP地址。一个域名可以对应一个IP地址,一个IP地址可以对应多个域名。
DNS是域名和与之相对应的IP地址之间进行的转换的一种服务器。DNS中保存了域名和与其相对应的IP地址的映射关系,以解析消息的域名。
随着虚拟化,云计算技术的高速发展,物理的DNS相应的也实现了虚拟化和自动化部署。下面结合图1,对适用于本申请实施例的数据中心的系统架构进行详细描述。
图1是本申请实施例的分布式域名解析服务器DNS系统100的结构示意图。系统100中可以包括主机110、主机120、物理交换机130、控制平台140。
主机110和主机120与物理交换机130连接,从而实现与物理网络的连接。
需要说明的是,分布式域名解析服务器DNS系统100中可以包括至少一个主机,为了便于描述,图1中以主机110以及主机120为例进行说明。
参见图1,主机110和主机120可以为其上运行的虚拟机提供域名解析服务。例如,主机110上运行有虚拟机VM 111、VM 112,其中,VM 111上运行有DNS服务,VM 111可以为主机110中部署的VM111以及VM 112提供域名解析服务。又如,主机120上运行有VM121、VM122,其中,VM 121上运行有DNS服务,VM 121可以为主机110中部署的VM121以及VM 122提供域名解析服务。
需要说明的是,在主机110中,DNS服务可以运行在VM 111中,也可以运行在VM 112中。也就是说,可以是VM 111为VM 111、VM 112提供域名解析服务,也可以是VM 112为VM111、VM 112提供域名解析服务。为了便于描述,下文中以主机110中的VM 111为其上运行的虚拟机VM提供域名解析服务、主机120中的VM 121为其上运行的虚拟机VM提供域名解析服务为例进行描述。
具体的,以主机110为例,对主机110上运行的VM 111为VM111以及VM 112提供域名解析服务的具体过程进行详细描述。
主机110中可以包括:VM 111、VM 112、虚拟交换机113、报文传输模块114,下面对主机110中包括的上述几种模块进行说明。
(1)VM 111:
与虚拟交换机113的虚拟端口1连接。由于VM 111上可以运行有DNS服务,因此,该VM 111记录有域名和与其相对应的IP地址之间的对应关系,并可以为VM 111以及VM 112提供域名解析服务。
VM 111可以接收其自身或VM 112发送的携带有域名的DNS请求报文,根据记录的域名和与其相对应的IP地址之间的对应关系,确定该DNS请求报文中携带的域名所对应的IP地址。并可以将携带IP地址的DNS应答报文发送至VM 111或VM 112。
应理解,VM 111上运行的DNS服务是一个软件程序,本申请实施例对实现DNS服务的方式不做具体限定。作为一个示例,可以通过DNS masq实现,DNS masq是一个小巧且方便地用于配置DNS的工具。作为另一个示例,还可以通过伯克利因特网名称域(berkeleyinternet name domain,BIND)实现,BIND服务是一种域名解析服务程序。
(2)VM 112:
与虚拟交换机113的虚拟端口2连接。VM 112可以向VM 111发送携带有域名的DNS请求报文,还可以接收VM 111反馈的DNS应答报文,并从DNS应答报文中获取携带的该域名相对应的IP地址。
可选的,在一些实施例中,在VM 112向VM 111发送携带有域名的DNS请求报文之前,VM 112还可以向VM 111发送携带VM 111的IP地址的地址解析协议(addressresolution protocol,ARP)请求报文。该ARP请求报文用于请求VM 111的源媒体访问控制地址(media access control address,MAC)地址。VM 112可以在获取到VM 111的MAC地址之后,可以根据VM 111的MAC地址向VM 111发送携带有域名的DNS请求报文。
(3)虚拟交换机113:
包括虚拟端口1、虚拟端口2、虚拟端口5,其中,虚拟交换机113的虚拟端口1与VM111的虚拟网卡连接,虚拟端口2与VM 112的虚拟网卡连接,虚拟端口5与报文传输模块114连接。
虚拟交换机113可以接收控制平台140发送的流表,该流表可以包括多个流表项。虚拟交换机113可以根据流表项实现VM 112与VM 111之间DNS协议的交互。
具体的,虚拟交换机113可以根据流表项中的内容信息,将从虚拟端口2获取到的DNS请求报文或ARP请求报文转发至虚拟端口1。虚拟交换机113还可以通过流表项中的内容信息,将从第一虚拟端获取倒的DNS应答报文或ARP应答报文转发至虚拟端口2。下面会结合图2对上述流表项进行详细描述,此处不再赘述。
可选的,在一些实施例中,在VM 111上运行的DNS服务发生故障的情况下,虚拟交换机113还可以将从虚拟端口1或虚拟端口2发送的DNS请求报文转发至虚拟端口5,并可以通过与虚拟端口5连接的报文传输模块114转发至其他主机,并由其他主机上部署的虚拟机VM提供域名解析服务。下面会结合图3对上述流表项进行详细描述,此处不再赘述。
(4)报文传输模块114:
与虚拟交换机113的虚拟端口5连接。在VM 111不能为主机110上的VM 111、VM 112提供域名解析服务的情况下,报文传输模块114将VM 111或VM 112发送的DNS请求报文发送至主机120上的报文传输模块124(假设主机120上的VM121可以代替VM 111为主机110上的VM 111、VM 112提供域名解析服务)。
具体的,报文传输模块114可以从虚拟交换机113的虚拟端口5获取VM 111或VM112发送的DNS请求报文,并可以将VM 111或VM 112发送的DNS请求报文封装到第一覆盖(overlay)报文。报文传输模块114可以将该第一overlay报文发送至报文传输模块124。
应理解,本申请实施例对第一overlay报文不作具体限定。作为一个示例,第一overlay报文可以是虚拟可扩展局域网(virtual extensible local area network,VxLAN)报文。作为另一个示例,第一overlay报文还可以是通用路由封装(generic routingencapsulation,GRE)报文。作为另一个示例,第一overlay报文还可以是无状态运输隧道(stateless transport tunneling,STT)报文。
报文传输模块114还可以接收到报文传输模块124发送的DNS应答报文。具体的,报文传输模块114接收报文传输模块124发送的第二overlay报文,该第二overlay报文封装有第二DNS应答报文。报文传输模块114从所述第二overlay报文解封装出第二DNS应答报文,并将封装出的第二DNS应答报文通过虚拟交换机113的虚拟端口5发送至VM 111或VM 112。
应理解,报文传输模块114可以是VxLAN隧道端点(VxLAN tunnel endpoints,VTEP),可以是VXLAN隧道的起点和终点,VXLAN报文的相关封装处理均在这上面进行。
下面对与主机110以及主机120连接的控制平台140进行描述。
控制平台140可以包括云管理平台141、DNS管理器(DNS manager)142、软件定义网络(software defined network,SDN)控制器143。
云管理平台141:用于统一管理云计算网络的虚拟机的平台,云计算网络的虚拟机分布设置于多个计算节点中,每个计算节点分别设置有云管理平台客户端,云管理平台客户端用于收集所在的计算节点上的虚拟机的状态信息,并上报至云管理平台141。云管理平台141设置有用户交互界面,用户可通过用户交互界面在主机上创建虚拟机VM,并获知虚拟机VM的状态。用户还可以通过用户交换界面配置针对虚拟机的管理操作,云管理平台141可发送与管理操作对应的命令至云管理平台客户端,云管理平台客户端可执行该命令以管理虚拟机。
DNS管理器142:负责全局的域名管理。DNS管理器142可以对其上层的部件或用户提供应用程序编程接口API,用于对域名进行设置。例如,用户可以通过API接口对域名进行修改、删除、查询等。DNS管理器142还可以通过API接口将用户设置的域名设定到SDN控制器143,并由SDN控制器143下发至VM 111中运行的DNS服务器的运行文件中。
SDN控制器143:可以负责实现在主机110的VM 111中创建DNS服务。本申请实施例VM 111中运行的DNS服务可以为一个网络(network)内的VM提供域名解析服务,还可以为一个客户端的VM提供域名解析服务,还可以为一个虚拟私有云(virtual private cloud,VPC)内的VM提供域名解析服务,本申请实施例对此不作具体限定,可以根据实际的场景需求进行部署。
为了便于描述,下文中以DNS服务为一个network内的VM提供域名解析服务为例进行说明。
SDN控制器143还可以根据DNS管理器250下发的域名来配置VM 111上DNS服务的运行文件。具体的,SDN控制器143可以根据DNS管理器250下发的域名与其相对应的IP地址之间的对应关系,将该对应关系写入VM 111上DNS服务的运行文件中。
SDN控制器143还可以生成流表,并可以将该流表发送至虚拟交换机113。虚拟交换机113可以根据流表实现VM 112与VM 111之间DNS协议的交互,具体的请参考上文中对虚拟交换机113的描述,此处不再赘述。
需要说明的是,SDN控制器143可以是集中式的,也可以是分布式的,本申请实施例对此也不作具体限定。
本申请实施例提供的分布式域名解析服务器DNS系统100,各个主机可以为其上运行的虚拟机提供域名解析服务,可以避免现有技术的集中式DNS系统中所有VM的DNS请求报文均发送至DNS所在的主机所造成的域名解析的高实验,还可以避免现有技术的集中式DNS系统中DNS故障所造成的多个主机中的多个VM无法进行域名解析的问题。
下面以主机110为例,结合图2中的流程图,对主机110中的VM 111为VM 111以及VM112提供域名服务的具体实现过程进行详细描述。
应注意,图2的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图2的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
图2是本申请实施例提供的一种域名解析方法的示意性流程图。图2所示的方法可以包括步骤210-275,下面分别对步骤210-275进行详细描述。
步骤210:客户端通过控制平台140创建VM 111。
客户端可以通过API接口向控制平台140中的云管理平台141下发请求信息,用于请求在主机110上为某个子网(例如,第一子网)创建VM 111。
需要说明的是,本申请实施例对客户端不作具体限定,可以是手机、电脑,还可以是租户的可操作客户端。
应理解,云管理平台141在创建VM 111时,VM 111所在的主机110以及第一网络可以是客户端自己选择的,也可以是云管理平台141自己确定的,本申请实施例对此不作具体限定。
步骤215:控制平台140在主机110上创建VM 111。
控制平台140中的云管理平台141可以根据客户端发送的请求信息,在主机110上创建VM 111。云管理平台141还可以为该VM 111分配IP地址。
步骤220:控制平台140在VM 111上创建DNS服务,并下发域名配置。
控制平台140中的SDN控制器142可以通过查询云管理平台141,判断创建的VM 111是否为主机110上为第一子网部署的第一个VM。如果VM 111为主机110上为第一子网部署的第一个VM,SDN控制器142需要在VM 111上创建DNS服务,并下发域名配置。
具体的,SDN控制器142可以通过上文中描述的DNS masq或BIND实现在VM 111上创建DNS服务。SDN控制器142还可以将DNS管理器250下发的域名来配置VM 111上DNS服务的运行文件,以便于VM 111可以为主机110上的VM 111以及VM 112提供域名解析服务。
步骤225:客户端通过控制平台140创建VM 112。
与步骤210对应,具体的请参考步骤210中的描述,此处不再赘述。
步骤230:控制平台140在主机110上创建VM 112。
与步骤215对应,具体的请参考步骤215中的描述,此处不再赘述。
步骤235:控制平台140下发流表至主机110中的虚拟交换机113。
控制平台140中的SDN控制器142生成流表,该流表中可以包括流表项1-流表项5。并可以将该流表下发至虚拟交换机113,以便于虚拟交换机113根据流表对报文的发送路径进行控制,从而可以实现在主机110内实现VM的域名解析。下面就结合步骤对流表项1-流表项5的内容进行详细描述,此处不再赘述。
步骤240:VM 112向虚拟交换机113发送ARP请求报文。
可选的,在一些实施例中,VM 112在向虚拟交换机113发送携带域名的DNS请求报文之前,可以向虚拟交换机113发送ARP请求报文。
具体的,VM 112通过虚拟交换机113向VM 111发送DNS请求报文之前,需要获取VM111的MAC地址。VM 112可以在ARP请求报文中携带VM 112的IP地址、VM 112的源MAC地址、VM111的IP地址,并通过虚拟端口2将ARP请求报文广播至虚拟交换机113。
步骤245:虚拟交换机113根据流表项1将ARP请求报文转发至虚拟端口1。
可选的,在一些实施例中,在目的VM 111的IP地址和第一子网中的其他VM的IP地址相同的情况下,为了避免不同主机之间VM的IP地址冲突的问题,虚拟交换机113可以根据步骤235中接收到SDN控制器142下发的流表项1,将从虚拟端口2接收到的类型为ARP请求报文的报文转发至虚拟端口1。
流表项1的一种可能的伪码如下所示:
dl-vlan=net1,arp,arp-tap=vdns,output:1
应理解,dl-vlan=net1可以理解为第一子网,arp可以理解为报文的类型为ARP请求报文,output:1可以理解为将该ARP请求报文转发至虚拟端口1。
虚拟交换机113可以根据上述流表项1中的内容,可以将从虚拟端口2接收到的VM112发送的用于请求VM 111的MAC地址的ARP请求报文转发至虚拟端口1。
虚拟交换机113根据流表项1进行报文转发的路径请参考图4中的虚线部分。
可选的,在目的VM 111的IP地址和第一子网中的其他VM的IP地址相同的情况下,虚拟交换机113还可以根据步骤235中接收到SDN控制器142下发的流表项2,避免将VM 112发送的ARP请求报文转发至其他主机上部署的VM上。
流表项2的一种可能的伪码如下所示:
in-port=5,arp-tap=vdns,action:drop
应理解,arp-tap=vdns,action:drop可以用于表示禁止虚拟交换机113将请求VM111的MAC地址的ARP请求报文丢弃,也就是说,流表项2禁止虚拟交换机113将请求VM 111的MAC地址的ARP请求报文从虚拟端口5转发至其他主机上部署的VM上,从而可以保证VM 112发送的请求VM 111的MAC地址的ARP请求报文仅在主机110中转发,避免不同主机之间VM上运行的DNS服务的IP地址冲突的问题。
步骤250:VM 111向虚拟交换机113发送ARP应答报文。
VM 111可以从虚拟交换机113的虚拟端口1接收到VM 112发送的ARP请求报文之后,可以根据ARP请求报文中携带的VM 112的IP地址,确定该ARP请求报文请求获取其自身的MAC地址。VM 111可以将携带有其MAC地址的ARP应答报文发送至虚拟交换机113的虚拟端口1。
步骤255:虚拟交换机113流表项3将ARP应答报文发送至VM 112。
虚拟交换机113可以在步骤235中接收到SDN控制器142下发的流表项3,该流表项3可以用于指示虚拟交换机113将从虚拟端口1接收到的类型为ARP应答报文的报文转发至虚拟端口2。
需要说明的是,本申请实施例中虚拟交换机113可以通过流表项3将VM 111发送的ARP应答报文发送至VM 112。也可以根据ARP应答报文中携带的VM 112的IP地址,将VM 111发送的ARP应答报文发送至VM 112。
虚拟交换机113根据流表项2进行报文转发的路径请参考图4中的虚线部分。
步骤260:VM 112向虚拟交换机113发送DNS请求报文。
VM 112可以通过虚拟交换机113上的虚拟端口1向虚拟交换机113发送DNS请求报文。该DNS请求报文可以携带域名,用于向VM 111请求该域名相对应的第一IP地址。
VM 112还可以在步骤255中获取到VM 111发送的ARP应答报文之后,可以将ARP应答报文中携带的VM 111的MAC地址携带在上述DNS请求报文中。
步骤265:虚拟交换机113根据流表项4将DNS请求报文发送至VM 111。
虚拟交换机113可以在步骤235中接收到SDN控制器142下发的流表项4,该流表项4可以用于指示虚拟交换机113将从虚拟端口2接收到的类型为DNS请求报文的报文转发至虚拟端口1。
流表项4的一种可能的伪码如下所示:
in-port=2,ip,dst-port=53,output:1
应理解,in-port=2可以理解为虚拟交换机113从虚拟端口2接收报文。dst-port=53可以表示为该报文的发送目的是53端口,53端口是VM 111中运行的DNS服务的端口,因此,可以理解为从虚拟端口2接收到的报文的发送目的为53端口,即可以认为该报文的类型为DNS请求报文。output:1可以理解为虚拟交换机113将从虚拟端口2接收到的类型为DNS请求报文的报文转发至虚拟端口1。
虚拟交换机113可以根据流表项4,将VM 112从虚拟端口2发送的DNS请求报文转发至虚拟端口1。
虚拟交换机113根据流表项4进行报文转发的路径请参考图4中的虚线部分。
需要说明的是,本申请实施例中虚拟交换机113可以通过上述流表项4将VM 112发送的DNS请求报文转发至VM 111,也可以通过VM 112发送的DNS请求报文中携带的VM 111的MAC地址,将VM 112发送的DNS请求报文转发至VM 111。
步骤270:VM 111向虚拟交换机113发送DNS应答报文。
VM 111可以从虚拟交换机113的虚拟端口1接收到VM 112发送的DNS请求报文之后,可以根据DNS请求报文携带的域名,从保存的对应关系中获取到该域名相对应的IP地址。并可以将携带该IP地址的DNS应答报文发送至虚拟交换机113的虚拟端口1。
步骤275:虚拟交换机113根据流表项5将DNS应答报文发送至VM 112。
虚拟交换机113可以在步骤235中接收到SDN控制器142下发的流表项5,该流表项5可以用于指示虚拟交换机113将从虚拟端口1接收到的类型为DNS应答报文的报文转发至虚拟端口2。
流表项5的一种可能的伪码如下所示:
in-port=1,ip,udp-dst-port=53,output:2
流表项5与流表项4的内容相对应,具体的请参考流表项4中的描述,此处不再赘述。
虚拟交换机113可以根据流表项5,将VM 111从虚拟端口1发送的DNS应答报文转发至虚拟端口2。
虚拟交换机113根据流表项5进行报文转发的路径请参考图4中的虚线部分。
需要说明的是,本申请实施例中虚拟交换机113可以通过上述流表项5将VM 111发送的DNS应答报文转发至VM 111,也可以通过VM 111发送的DNS应答报文中携带的VM 112的MAC地址,将VM 111发送的DNS应答报文转发至VM 112。
可以理解的,本申请实施例中,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。
本申请实施例中,各个主机上的VM均可以为其上运行的VM提供域名解析服务,多个主机之间可以并行运行,从而可以提高域名解析的效率,降低域名解析的时延。
可选的,在一些实施例中,当在主机中创建的VM需要被删除时,可以将VM所占用的存储空间释放。如果需要删除的是子网(例如,第一网络)中的最后一个VM,还需要将VM中运行的DNS服务的域名配置信息所占用的存储空间释放。最后还需要释放DNS服务所占用的存储空间。
需要说明的是,删除主机中的VM的请求可以是操作系统根据运维人员指示生成,也可以是控制平台140向主机发送该请求。
可选的,在一些实施例中,在VM上运行的DNS服务故障,不能为其所在主机上的VM提供域名解析服务的情况下,本申请实施例中控制平台140可以为VM查找到其他主机上正常运行的DNS服务,并可以通过流表实现其他主机上的VM为本主机上的VM提供域名解析服务。
下面结合图3,以图1中的VM 111上运行的DNS服务故障为例进行详细描述。
应注意,图3的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图3的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
图3是本申请实施例提供的一种VM 111上运行的DNS服务故障情况下的域名解析方法的示意性流程图。图3所示的方法可以包括步骤310-365,下面分别对步骤310-365进行详细描述。
步骤310:控制平台140确定VM 111上运行的DNS服务故障。
控制平台140中的SDN控制器142刷新主机中提供域名解析服务的VM的状态。作为一个示例,SDN控制器142检测到VM 111上运行的DNS服务故障。作为另一个示例,SDN控制器142检测到VM 111上运行的DNS服务需要进行升级。作为另一个示例,SDN控制器142接收到上层发送的禁止使用VM 111上运行的DNS服务的指令。
需要说明的是,本申请实施例中提及的VM 111上运行的DNS服务故障不包括主机210发生故障或下电等情况。
步骤315:控制平台140确定代替VM 111提供域名解析服务的VM。
控制平台140中的SDN控制器142可以在VM 111不能为主机110中的虚拟机VM提供域名解析服务的情况下,可以通过查询控制平台140中的云管理平台411,在其他主机上查找代替VM 111为主机110中的虚拟机VM提供域名解析服务的VM。
为了便于描述,下文以主机120中的VM 121代替VM 111提供域名解析服务为例进行描述。
步骤320:控制平台140下发第一流表至主机110中的虚拟交换机113。
控制平台140中的SDN控制器142生成第一流表,并可以将该第一流表下发至虚拟交换机113,以便于虚拟交换机113根据第一流表对报文的发送路径进行控制,从而可以实现在VM 111不能为VM 111或VM 112提供域名解析服务的情况下,可以将VM 111或VM 112发送的携带域名的DNS请求报文转发至VM 121进行域名解析。SDN控制器142生成的流表还可以控制虚拟交换机123将VM 121发送的携带该域名对应的IP地址的DNS应答报文转发至VM111或VM 112,使得VM 111或VM 112可以获取到VM 121发送的携带该域名对应的IP地址的DNS应答报文。
具体的,控制平台140下发至虚拟交换机113的第一流表可以包括流表项6、流表项10、流表项11。其中,流表项6可以用于指示虚拟交换机113将从虚拟端口2接收到的类型为DNS请求报文的报文转发至虚拟端口5。流表项11可以用于指示虚拟交换机113将从虚拟端口5接收到的类型为DNS应答报文的报文转发至虚拟端口2。流表项10可以用于指示虚拟交换机113从虚拟端口5接收报文传输模块114发送的类型为DNS应答报文的报文。
步骤325:控制平台140下发第二流表至主机120中的虚拟交换机123。
控制平台140中的SDN控制器142生成流表,并可以将该流表下发至虚拟交换机123,以便于虚拟交换机123根据流表获取主机110中VM 111或VM 112发送的携带域名的DNS请求报文,从而实现VM 121为VM 111或VM 112提供域名解析服务。SDN控制器142生成的流表还可以控制虚拟交换机123将携带该域名对应的IP地址的DNS应答报文转发至VM 111或VM 112,使得VM 111或VM 112可以获取到VM 121发送的携带该域名对应的IP地址的DNS应答报文。下面对流表的内容进行详细描述,此处不再赘述。
具体的,控制平台140下发至虚拟交换机123的第二流表可以包括流表项7、流表项8和流表项9。其中,流表项7可以用于指示虚拟交换机123从虚拟端口4接收报文传输模块124发送的类型为DNS请求报文的报文。流表项8可以用于指示虚拟交换机123将从虚拟端口4接收到的类型为DNS请求报文的报文转发至虚拟端口3。流表项9可以用于指示虚拟交换机123将从虚拟端口3接收到的类型为DNS请求报文的报文转发至虚拟端口4。
步骤330:VM 112向虚拟交换机113发送DNS请求报文。
VM 112可以通过虚拟交换机113上的虚拟端口1向虚拟交换机113发送DNS请求报文。该DNS请求报文可以携带域名,用于向VM 111请求该域名相对应的第一IP地址。
步骤335:虚拟交换机113根据流表项6将DNS请求报文发送至报文传输模块114。
虚拟交换机113可以根据步骤320中控制平台140下发的流表项6将从虚拟端口2获取到的VM 112发送的类型为DNS请求报文的报文转发至虚拟端口5。
虚拟交换机113根据流表项6进行报文转发的路径请参考图4中实线部分。
步骤336:报文传输模块114将DNS请求报文封装成第一overlay报文。
报文传输模块114可以通过虚拟交换机113的虚拟端口5接收DNS请求报文,并可以将DNS请求报文封装成第一overlay报文
步骤337:报文传输模块114第一overlay报文传输至报文传输模块124。
报文传输模块114可以将第一overlay报文发送至报文传输模块124。
步骤338:报文传输模块124解封装第一overlay报文。
报文传输模块124从报文传输模块114获取到第一overlay报文,并可以从第一overlay报文中解封装出DNS请求报文。
步骤340:虚拟交换机123根据流表项7从报文传输模块124处接收DNS请求报文。
虚拟交换机123可以根据步骤325中接收到SDN控制器142下发的流表项7,从虚拟端口4获取报文传输模块124解封装的DNS请求报文。
虚拟交换机123根据流表项7进行报文转发的路径请参考图4中实线部分。
步骤345:虚拟交换机123根据流表项8将VM 112发送的DNS请求报文转发至VM121。
虚拟交换机113可以根据步骤325中SDN控制器142下发的流表项8将从虚拟端口4接收到的类型为DNS请求报文的报文转发至虚拟端口3。
虚拟交换机123根据流表项8进行报文转发的路径请参考图4中实线部分。
步骤350:VM 121向虚拟交换机123发送DNS应答报文。
VM 121可以从虚拟交换机123的虚拟端口3接收到VM 112发送的DNS请求报文之后,可以根据DNS请求报文携带的域名,从保存的对应关系中获取到该域名相对应的IP地址。并可以将携带该IP地址的DNS应答报文发送至虚拟交换机123的虚拟端口3。
步骤355:虚拟交换机123根据流表项9将DNS应答报文发送至报文传输模块124。
虚拟交换机123可以根据步骤325中SDN控制器142下发的流表项9将从虚拟端口3接收到的类型为DNS应答报文的报文转发至虚拟端口4。
虚拟交换机113根据流表项9进行报文转发的路径请参考图4中实线部分。
步骤356:报文传输模块124将DNS应答报文封装成第二overlay报文。
报文传输模块124可以通过虚拟交换机123的虚拟端口4接收DNS应答报文,并可以将DNS应答报文封装成第二overlay报文。
步骤357:报文传输模块124转发第二overlay报文至报文传输模块114。
报文传输模块124将第二overlay报文之后转发至报文传输模块114。
步骤358:报文传输模块114解封装第二overlay报文中的DNS应答报文
与虚拟交换机113的虚拟端口5连接的报文传输模块114从报文传输模块114获取到报文传输模块124转发的第二overlay报文之后,可以从第二overlay报文中解封装出DNS应答报文。
步骤360:虚拟交换机113根据流表项10接收VM 121发送的DNS应答报文。
虚拟交换机113可以根据步骤320中接收到SDN控制器142下发的流表项10,从虚拟端口5接收报文传输模块114解封装出的DNS应答报文。
虚拟交换机113根据流表项10进行报文转发的路径请参考图4中实线部分。
步骤365:虚拟交换机113根据流表项11将DNS应答报文转发至VM 112。
虚拟交换机113可以根据步骤320中SDN控制器142下发的流表项11将从虚拟端口5接收到的类型为DNS应答报文的报文转发至虚拟端口2。也就是说,虚拟交换机113可以根据流表项11将DNS应答报文转发至VM 112。VM 112可以获取DNS应答报文中携带的与IP地址,从而为VM 112提供域名解析服务。
虚拟交换机113根据流表项11进行报文转发的路径请参考图4中实线部分。
可以理解的,本申请实施例中,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。
本申请实施例中,在主机上的VM不能为该主机上运行的VM提供域名解析的情况下,本申请实施例还可以通过其他主机上的VM为本主机上的VM提供域名解析服务,可以提高域名解析的效率。
上文结合图1至图4,详细描述了本申请实施例提供的域名解析方法,下面将结合图5-图6,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图5是本申请实施例提供的一种第一虚拟交换机500的结构性示意性图。该第一虚拟交换机500的第一虚拟端口与第一虚拟机连接,该第一虚拟机记录有第一域名与第一IP地址之间的第一对应关系,该第一虚拟交换机的第二虚拟端口与第二虚拟机连接。
参见图5,第一虚拟交换机500包括:
接收模块510:用于从该第二虚拟端口接收该第二虚拟机发送的携带有该第一域名的第一DNS请求报文。
发送模块520,用于根据第一流表项将该第一DNS请求报文从该第二虚拟端口转发至该第一虚拟端口,该第一流表项用于指示该第一虚拟交换机将从该第二虚拟端口接收到的类型为DNS请求报文的报文转发至该第一虚拟端口。
该接收模块510,用于从该第一虚拟端口获取该第一虚拟机发送的第一DNS应答报文,将该第一DNS应答报文发送至该第二虚拟端口,该第一DNS应答报文携带该第一域名的第一IP地址。
应理解的是,本申请实施例的第一虚拟交换机500可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图2至图3所示的域名解析方法时,第一虚拟交换机500及其各个模块也可以为软件模块。
各功能模块的具体功能,在上述图1至图3所示实施例中亦有相关描述,在此不再赘述。
图6是本申请实施例提供的一种第一虚拟交换机600的结构性示意性图。第一虚拟交换机600包括处理单元611和通信接口612,处理单元611用于执行各种软件程序所定义的功能,例如,用于实现虚拟交换机的功能。通信接口612用于与其他计算节点进行通信交互,其他设备可以是其它物理服务器,具体地,通信接口612可以是网络适配卡。
可选地,该第一虚拟交换机600还可以包括输入/输出接口613,输入/输出接口613连接有输入/输出设备,用于接收输入的信息,输出操作结果。输入/输出接口613可以为鼠标、键盘、显示器、或者光驱等。可选地,该第一虚拟交换机600还可以包括辅助存储器614,一般也称为外存,辅助存储器614的存储介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如固态硬盘)等。
可选的,第一虚拟交换机600还可以包括总线615。其中,处理单元611、通信接口612、输入/输出接口613、辅助存储器614可以通过总线615连接。总线615可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。总线615可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
处理单元611可以有多种具体实现形式,例如处理单元611可以包括处理器6112和存储器6111,处理器6112根据存储器6111中存储的程序指令执行图1至图3所示的实施例的相关操作。处理器6112可以为中央处理单元(central processing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器610采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
第一虚拟交换机600中的各个单元的上述和其它操作和/或功能分别为了实现图2至图3中的方法的相应流程,为了简洁,在此不再赘述。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (18)

1.一种分布式域名解析服务器DNS系统,其特征在于,包括:
第一主机,包括:
第一虚拟机,与第一虚拟交换机的第一虚拟端口连接,所述第一虚拟机记录有第一域名与第一IP地址之间的第一对应关系;
第二虚拟机,与所述第一虚拟交换机的第二虚拟端口连接,向所述第二虚拟端口发送携带有所述第一域名的第一DNS请求报文;
所述第一虚拟交换机,用于根据第一流表项将所述第一DNS请求报文从所述第二虚拟端口转发至所述第一虚拟端口,所述第一流表项用于指示所述第一虚拟交换机将从所述第二虚拟端口接收到的类型为DNS请求报文的报文转发至所述第一虚拟端口;
所述第一虚拟机,用于从所述第一虚拟端口获取所述第一DNS请求报文,根据所述第一DNS请求报文携带的所述第一域名从所述第一对应关系获取所述第一IP地址,发送携带所述第一IP地址的第一DNS应答报文至所述第一虚拟端口;
所述第一虚拟交换机,从所述第一虚拟端口获取所述第一DNS应答报文,将所述第一DNS应答报文发送至所述第二虚拟端口。
2.根据权利要求1所述的系统,其特征在于,
所述第一虚拟交换机,用于从所述第一虚拟端口获取所述第一DNS应答报文,根据第二流表项将所述第一DNS应答报文发送至所述第二虚拟端口,所述第二流表项用于指示所述第一虚拟交换机将从所述第一虚拟端口接收到的类型为DNS应答报文的报文转发至所述第二虚拟端口。
3.根据权利要求1或2所述的系统,其特征在于,所述第一虚拟机还记录有第二域名与第二IP地址之间的第二对应关系,所述系统还包括:
第二主机,包括:
第三虚拟机,所述第三虚拟机记录有所述第二对应关系;
第二虚拟交换机,设置有第三虚拟端口,所述第三虚拟机与所述第三虚拟端口连接;
第一报文传输模块,与所述第二虚拟交换机的第四虚拟端口连接;
所述第一主机,还包括:
第二报文传输模块,与所述第一虚拟交换机的第五虚拟端口连接;
控制平台,用于检测所述第一虚拟机发生故障,并发送第三流表项和第六流表项至所述第一虚拟交换机,发送第四流表项和第五流表项至所述第二虚拟交换机;
其中,所述第三流表项用于指示所述第一虚拟交换机将从所述第二虚拟端口接收到的类型为DNS请求报文的报文发送至所述第五虚拟端口,所述第二报文传输模块用于将从所述第五虚拟端口接收到的报文发送至第一报文传输模块,所述第四流表项用于指示所述第二虚拟交换机将从所述第四虚拟端口接收到的类型为DNS请求报文的报文发送至所述第三虚拟端口,所述第五流表项用于指示所述第二虚拟交换机将从所述第三虚拟端口接收到的类型为DNS应答报文的报文转发至所述第四虚拟端口,所述第六流表项用于指示所述第一虚拟交换机将从所述第五虚拟端口接收到的类型为DNS应答报文的报文转发至所述第二虚拟端口。
4.根据权利要求3所述的系统,其特征在于,
所述第一虚拟交换机,用于将所述第一流表项更新为所述第三流表项,从所述第二虚拟端口接收所述第二虚拟机发送的携带有所述第二域名的第二DNS请求报文,根据所述第三流表项将所述第二DNS请求报文发送至所述第五虚拟端口;
所述第二报文传输模块,用于从所述第五虚拟端口获取所述第二DNS请求报文,将所述第二DNS请求报文封装到第一覆盖overlay报文,并发送所述第一overlay报文至所述第一报文传输模块;
所述第一报文传输模块,用于接收所述第一overlay报文,从所述第一overlay报文解封装所述第二DNS请求报文,将所述第二DNS请求报文发送至所述第四虚拟端口;
所述第二虚拟交换机,用于根据所述第四流表项将所述第二DNS请求报文发送至所述第三虚拟端口;
所述第三虚拟机,用于从所述第三虚拟端口获取所述第二DNS请求报文,根据所述第二DNS请求报文携带的所述第二域名从所述第二对应关系获取所述第二IP地址,产生携带所述第二IP地址的第二DNS应答报文。
5.根据权利要求4所述的系统,其特征在于,
所述第三虚拟机,用于将所述第二DNS应答报文发送至所述第三虚拟端口;
所述第二虚拟交换机,用于根据所述第五流表项将所述第二DNS应答报文发送至所述第四虚拟端口;
所述第一报文传输模块,用于从所述第四虚拟端口获取所述第二DNS应答报文,将所述第二DNS应答报文封装至第二overlay报文,并发送所述第二overlay报文至所述第二报文传输模块;
所述第二报文传输模块,用于从所述第二overlay报文解封装出所述第二DNS应答报文,将所述第二DNS应答报文发送至所述第五虚拟端口;
所述第一虚拟交换机,用于从所述第五虚拟端口接收所述第二DNS应答报文,根据所述第六流表项将所述第二DNS应答报文发送至所述第二虚拟端口;
所述第二虚拟机,用于从所述第二虚拟端口接收所述第二DNS应答报文,并从所述第二DNS应答报文获取所述第二IP地址。
6.根据权利要求1至5中任一项所述的系统,其特征在于,
所述第二虚拟机,在向所述第二虚拟端口发送携带有所述第一域名的第一DNS请求报文之前,还用于发送携带有所述第一虚拟机的IP地址的地址解析ARP请求报文至所述第二虚拟端口,所述ARP请求报文用于请求所述第一虚拟机的MAC地址;
所述第一虚拟交换机,用于根据第七流表项将所述ARP请求报文从所述第二虚拟端口转发至所述第一虚拟端口,其中,所述第七流表项用于指示所述第一虚拟交换机将从所述第二虚拟端口接收到类型为ARP请求报文的报文发送至所述第一虚拟端口;
所述第一虚拟机,用于从所述第一虚拟端口获取所述APR请求报文,根据所述ARP请求报文产生携带有所述第一虚拟机的MAC地址的ARP应答报文,并发送所述ARP应答报文至所述第一虚拟端口,
所述第一虚拟交换机,用于根据第八流表项将从所述第一虚拟端口接收到的所述ARP应答报文发送至所述第二虚拟端口,其中,所述第八流表项用于指示所述第一虚拟交换机将从所述第一虚拟端口接收到的类型为ARP应答报文的报文发送至所述第二虚拟端口;
所述第二虚拟机,用于从所述第二虚拟端口接收所述ARP应答报文,获取所述ARP应答报文携带的所述第一虚拟机的MAC地址,根据所述第一虚拟机的MAC地址构造所述第一DNS请求报文。
7.一种域名解析方法,其特征在于,所述方法应用于第一虚拟交换机,所述第一虚拟交换机的第一虚拟端口与第一虚拟机连接,所述第一虚拟机记录有第一域名与第一IP地址之间的第一对应关系,所述第一虚拟交换机的第二虚拟端口与第二虚拟机连接,所述方法包括:
所述第一虚拟交换机从所述第二虚拟端口接收所述第二虚拟机发送的携带有所述第一域名的第一DNS请求报文;
所述第一虚拟交换机根据第一流表项将所述第一DNS请求报文从所述第二虚拟端口转发至所述第一虚拟端口,所述第一流表项用于指示所述第一虚拟交换机将从所述第二虚拟端口接收到的类型为DNS请求报文的报文转发至所述第一虚拟端口;
所述第一虚拟交换机从所述第一虚拟端口获取所述第一虚拟机发送的第一DNS应答报文,将所述第一DNS应答报文发送至所述第二虚拟端口,所述第一DNS应答报文携带所述第一域名的第一IP地址。
8.根据权利要求7所述的方法,其特征在于,所述第一虚拟交换机将所述第一DNS应答报文发送至所述第二虚拟端口,包括:
所述第一虚拟交换机根据第二流表项将所述第一DNS应答报文发送至所述第二虚拟端口,所述第二流表项用于指示所述第一虚拟交换机将从所述第一虚拟端口接收到的类型为DNS应答报文的报文转发至所述第二虚拟端口。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
所述第一虚拟交换机从所述第二虚拟端口接收所述第二虚拟机发送的携带有所述第二域名的第二DNS请求报文,所述第一虚拟交换机还记录有第三流表项和第六流表项,所述第三流表项用于指示所述第一虚拟交换机将从所述第二虚拟端口接收到的类型为DNS请求报文的报文发送至所述第五虚拟端口,所述第六流表项用于指示所述第一虚拟交换机将从所述第五虚拟端口接收到的类型为DNS应答报文的报文转发至所述第二虚拟端口;
所述第一虚拟交换机将所述第一流表项更新为所述第三流表项;
所述第一虚拟交换机根据所述第三流表项将所述第二DNS请求报文发送至所述第五虚拟端口,所述第五虚拟端口与第二报文传输模块连接,所述第二报文传输模块用于将所述第二DNS请求报文封装到第一覆盖overlay报文,并将所述第一overlay报文从所述第五虚拟端口发送至所述第一报文传输模块。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述第一虚拟交换机从所述第五虚拟端口接收所述第二报文传输模块发送的第二overlay报文,所述第二overlay报文中封装有携带所述第二IP地址的第二DNS应答报文,所述第二DNS应答报文为所述第三虚拟机通过第三虚拟端口发送至所述第二报文传输模块,所述第三虚拟机记录有所述第二域名与所述第二IP地址之间的第二对应关系;
所述第一虚拟交换机从所述第二overlay报文解封装出所述第二DNS应答报文,将所述第二DNS应答报文发送至所述第五虚拟端口;
所述第一虚拟交换机根据所述第六流表项将所述第二DNS应答报文从所述第五虚拟端口发送至所述第二虚拟端口。
11.根据权利要求7至10中任一项所述的方法,其特征在于,在所述第一虚拟交换机从所述第二虚拟端口接收所述第一DNS请求报文之前,所述方法还包括:
所述第一虚拟交换机从所述第二虚拟端口接收携带有所述第一虚拟机的IP地址的地址解析ARP请求报文,所述ARP请求报文用于请求所述第一虚拟机的MAC地址;
所述第一虚拟交换机根据第七流表项将所述ARP请求报文从所述第二虚拟端口转发至所述第一虚拟端口,其中,所述第七流表项用于指示所述第一虚拟交换机将从所述第二虚拟端口接收到类型为ARP请求报文的报文发送至所述第一虚拟端口;
所述第一虚拟交换机从第一虚拟端口接收所述第一虚拟机发送的ARP应答报文,所述ARP应答报文携带有所述第一虚拟机的MAC地址;
所述第一虚拟交换机根据第八流表项将从所述第一虚拟端口接收到的所述ARP应答报文发送至所述第二虚拟端口,其中,所述第八流表项用于指示所述第一虚拟交换机将从所述第一虚拟端口接收到的类型为ARP应答报文的报文发送至所述第二虚拟端口。
12.一种第一虚拟交换机,其特征在于,所述第一虚拟交换机的第一虚拟端口与第一虚拟机连接,所述第一虚拟机记录有第一域名与第一IP地址之间的第一对应关系,所述第一虚拟交换机的第二虚拟端口与第二虚拟机连接,所述第一虚拟交换机包括:
接收模块,用于从所述第二虚拟端口接收所述第二虚拟机发送的携带有所述第一域名的第一DNS请求报文;
发送模块,用于根据第一流表项将所述第一DNS请求报文从所述第二虚拟端口转发至所述第一虚拟端口,所述第一流表项用于指示所述第一虚拟交换机将从所述第二虚拟端口接收到的类型为DNS请求报文的报文转发至所述第一虚拟端口;
所述接收模块,用于从所述第一虚拟端口获取所述第一虚拟机发送的第一DNS应答报文,将所述第一DNS应答报文发送至所述第二虚拟端口,所述第一DNS应答报文携带所述第一域名的第一IP地址。
13.根据权利要求12所述的第一虚拟交换机,其特征在于,
所述发送模块,用于根据第二流表项将所述第一DNS应答报文发送至所述第二虚拟端口,所述第二流表项用于指示所述第一虚拟交换机将从所述第一虚拟端口接收到的类型为DNS应答报文的报文转发至所述第二虚拟端口。
14.根据权利要求12或13所述的第一虚拟交换机,其特征在于,所述第一虚拟交换机还包括更新模块,封装模块,
所述接收模块,用于从所述第二虚拟端口接收所述第二虚拟机发送的携带有所述第二域名的第二DNS请求报文,所述第一虚拟交换机还记录有第三流表项和第六流表项,所述第三流表项用于指示所述第一虚拟交换机将从所述第二虚拟端口接收到的类型为DNS请求报文的报文发送至所述第五虚拟端口,所述第六流表项用于指示所述第一虚拟交换机将从所述第五虚拟端口接收到的类型为DNS应答报文的报文转发至所述第二虚拟端口;
所述更新模块,用于将所述第一流表项更新为所述第三流表项;
所述发送模块,用于根据所述第三流表项将所述第二DNS请求报文发送至所述第五虚拟端口,所述第五虚拟端口与第二报文传输模块连接,
所述封装模块,用于将所述第二DNS请求报文封装到第一覆盖overlay报文;
所述发送模块,还用于将所述第一overlay报文从所述第五虚拟端口发送至所述第一报文传输模块。
15.根据权利要求14所述的第一虚拟交换机,其特征在于,第一虚拟交换机还包括解封装模块,
所述接收模块,用于从所述第五虚拟端口接收所述第二报文传输模块发送的第二overlay报文,所述第二overlay报文中封装有携带所述第二IP地址的第二DNS应答报文,所述第二DNS应答报文为所述第三虚拟机通过第三虚拟端口发送至所述第二报文传输模块,所述第三虚拟机记录有所述第二域名与所述第二IP地址之间的第二对应关系;
所述解封装模块,用于从所述第二overlay报文解封装出所述第二DNS应答报文;
所述发送模块,用于将所述第二DNS应答报文发送至所述第五虚拟端口;
所述发送模块,还用于根据所述第六流表项将所述第二DNS应答报文发送至所述第二虚拟端口。
16.根据权利要求12至15中任一项所述的第一虚拟交换机,其特征在于,
所述接收模块,用于从所述第二虚拟端口接收携带有所述第一虚拟机的IP地址的地址解析ARP请求报文,所述ARP请求报文用于请求所述第一虚拟机的MAC地址;
所述发送模块,用于根据第七流表项将所述ARP请求报文从所述第二虚拟端口转发至所述第一虚拟端口,其中,所述第七流表项用于指示所述第一虚拟交换机将从所述第二虚拟端口接收到类型为ARP请求报文的报文发送至所述第一虚拟端口;
所述接收模块,用于从第一虚拟端口接收所述第一虚拟机发送的ARP应答报文,所述ARP应答报文携带有所述第一虚拟机的MAC地址;
所述发送模块,用于根据第八流表项将从所述第一虚拟端口接收到的所述ARP应答报文发送至所述第二虚拟端口,其中,所述第八流表项用于指示所述第一虚拟交换机将从所述第一虚拟端口接收到的类型为ARP应答报文的报文发送至所述第二虚拟端口。
17.一种第一虚拟交换机,其特征在于,包括处理器、存储器和通信接口,所述存储器中用于存储计算机执行指令,所述第一虚拟交换机运行时,所述处理器运行所述存储器中的计算机执行指令以执行如权利要求7至11中任一项中所述的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行如权利要求7至11中任一项所述的方法。
CN201910070573.4A 2019-01-25 2019-01-25 域名解析的方法、虚拟交换机和分布式dns系统 Active CN109936641B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910070573.4A CN109936641B (zh) 2019-01-25 2019-01-25 域名解析的方法、虚拟交换机和分布式dns系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910070573.4A CN109936641B (zh) 2019-01-25 2019-01-25 域名解析的方法、虚拟交换机和分布式dns系统

Publications (2)

Publication Number Publication Date
CN109936641A true CN109936641A (zh) 2019-06-25
CN109936641B CN109936641B (zh) 2020-12-04

Family

ID=66985259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910070573.4A Active CN109936641B (zh) 2019-01-25 2019-01-25 域名解析的方法、虚拟交换机和分布式dns系统

Country Status (1)

Country Link
CN (1) CN109936641B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112261086A (zh) * 2020-09-24 2021-01-22 北京天融信网络安全技术有限公司 负载均衡配置信息的同步方法、装置、设备和存储介质
CN112398960A (zh) * 2019-08-16 2021-02-23 中移(苏州)软件技术有限公司 一种网络创建方法、设备、装置和计算机存储介质
CN112600947A (zh) * 2020-12-07 2021-04-02 新华三技术有限公司 一种地址管理方法及装置
CN114124890A (zh) * 2021-09-03 2022-03-01 Oppo广东移动通信有限公司 一种确定方法、虚拟路由器、控制设备及域名解析系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112176A1 (en) * 2000-07-19 2006-05-25 Liu Zaide E Domain name resolution using a distributed DNS network
US20150058463A1 (en) * 2013-08-26 2015-02-26 Vmware, Inc. Proxy methods for suppressing broadcast traffic in a network
CN104580024A (zh) * 2013-10-28 2015-04-29 博科通讯系统有限公司 扩展的以太网互联结构交换机
CN105207873A (zh) * 2015-08-31 2015-12-30 华为技术有限公司 一种报文处理方法和装置
CN106506722A (zh) * 2016-11-17 2017-03-15 中国移动通信集团江苏有限公司 数据转发装置
CN107682465A (zh) * 2017-06-24 2018-02-09 平安科技(深圳)有限公司 域名解析装置、方法及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112176A1 (en) * 2000-07-19 2006-05-25 Liu Zaide E Domain name resolution using a distributed DNS network
US20150058463A1 (en) * 2013-08-26 2015-02-26 Vmware, Inc. Proxy methods for suppressing broadcast traffic in a network
CN104580024A (zh) * 2013-10-28 2015-04-29 博科通讯系统有限公司 扩展的以太网互联结构交换机
CN105207873A (zh) * 2015-08-31 2015-12-30 华为技术有限公司 一种报文处理方法和装置
CN106506722A (zh) * 2016-11-17 2017-03-15 中国移动通信集团江苏有限公司 数据转发装置
CN107682465A (zh) * 2017-06-24 2018-02-09 平安科技(深圳)有限公司 域名解析装置、方法及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
董传杰: ""基于VNF forwarding graph"", 《无线互联科技》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112398960A (zh) * 2019-08-16 2021-02-23 中移(苏州)软件技术有限公司 一种网络创建方法、设备、装置和计算机存储介质
CN112261086A (zh) * 2020-09-24 2021-01-22 北京天融信网络安全技术有限公司 负载均衡配置信息的同步方法、装置、设备和存储介质
CN112600947A (zh) * 2020-12-07 2021-04-02 新华三技术有限公司 一种地址管理方法及装置
CN112600947B (zh) * 2020-12-07 2022-08-23 新华三技术有限公司 一种地址管理方法及装置
CN114124890A (zh) * 2021-09-03 2022-03-01 Oppo广东移动通信有限公司 一种确定方法、虚拟路由器、控制设备及域名解析系统

Also Published As

Publication number Publication date
CN109936641B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
US11563602B2 (en) Method and apparatus for providing a point-to-point connection over a network
CN109936641A (zh) 域名解析的方法、虚拟交换机和分布式dns系统
CN109561171B (zh) 虚拟私有云服务的配置方法和装置
US8959185B2 (en) Multitenant server for virtual networks within datacenter
JP5883946B2 (ja) ネットワーク転送状態の算出ならびに伝播のためのトランザクションの使用
CN114172802B (zh) 容器网络配置方法、装置、计算节点、主节点及存储介质
CN103814554B (zh) 一种虚拟可扩展局域网的通信方法、装置和系统
CN106533890B (zh) 一种报文处理方法、装置及系统
CN103917967A (zh) 用于配置中间盒的网络控制系统
US20210135967A1 (en) Intelligent in-band telemetry auto-configuration for ip networks
CN111345008B (zh) 移动边缘主机服务通知方法和装置
US10516544B2 (en) Extranet connectivity in LISP networks
CN107819615B (zh) 一种设备自适应接入方法、装置及主控设备
CN108141384B (zh) Lisp移动性网络的自动配设
US11121969B2 (en) Routing between software defined networks and physical networks
CN113141405A (zh) 服务访问方法、中间件系统、电子设备和存储介质
CN104426816B (zh) 一种虚拟机通信方法及装置
US20210221642A1 (en) Device management for hybrid elevator environments
CN108512811A (zh) 一种基于sdn的虚拟网络隔离方法及sdn控制器
CN107800628B (zh) 用在软件定义网络中的数据转发装置及数据转发方法
CN114553707B (zh) 网络的拓扑信息的生成和网络故障的定界方法、装置
CN114928589B (zh) 数据传输方法、数据传输装置、计算机可读介质及设备
CN116016034B (zh) 一种基于sdn的业务路径调度方法及装置
CN110266597B (zh) 流量控制方法、装置、设备及存储介质
EP4149062A1 (en) Deployment method and apparatus for virtualized network service

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
TR01 Transfer of patent right

Effective date of registration: 20220209

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right