任播路由发布系统、方法及电子设备与流程

文档序号:11693143阅读:281来源:国知局
任播路由发布系统、方法及电子设备与流程

本申请涉及计算机技术领域,尤其涉及一种任播路由发布系统、方法及电子设备。



背景技术:

当前的任播(anycast)技术主要应用在dns/ntp等互联网基础服务部署场景上,其核心思想是,通过对一组提供相同服务的服务器配置同一个的服务地址,再结合网络层的路由选路功能,实现在终端用户侧只配置一个服务地址的情况下,就可以获得这组服务器中网络状况最佳(例如距离用户侧跳数最少,带宽最大,延时最小等)的服务器提供的服务,在最优服务器故障的情况下,再由次优服务器提供服务,以此类推,而这一系列动作,在终端用户侧始终是不感知的。

现有技术的缺陷:

目前anycast方案部署主要通过最短路径优先路由协议(openshortestpathfirst,ospf)或者边界网关协议(bordergatewayprotocol,bgp)的路由协议实现,要求部署应用的物理服务器支持动态路由协议的路由器直连,因此虚拟服务器或者linux容器无法满足anycast方案部署的要求。



技术实现要素:

本发明提供了一种任播路由发布系统、方法及电子设备,以实现如虚拟服务器或者linux容器的虚拟服务设备满足anycast方案部署的要求。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,提供了一种任播路由发布系统,包括:

虚拟服务设备、物理服务器、以及与所述物理服务器经物理连接的路由器群;

所述虚拟服务设备与所述物理服务器通过软件路由方式实现网络层连接,所述虚拟服务设备依次通过,与所述物理服务器之间的网络层连接,以及所述物理服务器与所述路由器群之间的物理连接,向网络发布任播路由。

第二方面,提供了一种任播路由发布方法,包括:

虚拟服务设备向物理服务器发布任播路由,所述虚拟服务设备与所述物理服务器通过软件路由方式实现网络层连接;

所述物理服务器将所述任播路由发送至与其物理连接的路由器群。

第三方面,提供了一种电子设备,包括:

存储器,用于存储程序;

处理器,耦合至所述存储器,用于执行所述程序,以实现如下操作:

虚拟服务设备向物理服务器发布任播路由,所述虚拟服务设备与所述物理服务器通过软件路由方式实现网络层连接;

所述物理服务器将所述任播路由发送至与其物理连接的路由器群。

本发明提供的任播路由发布系统、方法及电子设备,通过软件路由的方式在虚拟服务设备与物理服务器之间建立网络层连接,从而借助物理服务器与网络中路由器群之间的物理连接关系,实现虚拟服务设备向网络中发布任播路由。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为现有技术的任播路由发布方案的框架图;

图2为描述现有技术的应用服务器和路由器之间物理直连的截屏样例图;

图3为本发明实施例的idc的层结构示意图;

图4为描述本发明实施例的物理服务器和虚拟服务器之间软件路由连接的截屏样例图;

图5为本发明实施例的任播路由发布方案的框架图;

图6为本发明实施例一的任播路由发布系统的结构示意图;

图7为本发明实施例二的任播路由发布方法的流程示意图;

图8为本申请实施例三的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明改善了现有技术中,设置在物理器上的虚拟服务器或者linux容器等类似虚拟服务设备无法满足anycast方案部署的要求,其核心思想在于,通过软件路由的方式在虚拟服务设备与物理服务器之间建立网络层连接,从而借助物理服务器与网络中路由器群之间的物理连接关系,实现虚拟服务设备向网络中发布任播路由的方案。

首先,结合图1所示的现有技术的任播路由发布方案的框架图,对传统的anycast路由发布方案进行说明。

以传统的anycast部署方案为例,企业的两个互联网数据中心(idc)(idc是包含应用服务器和路由器的)内的路由器分别与运营商通过光纤或者双绞线物理连接。在每个idc内部,因为需要发布共同的anycast路由,应用服务器需要和路由器做物理连接,并与上联的路由器通过ospf或者bgp等路由协议做路由交换。每个idc的服务器宣告相同的ip地址1.1.1.1/24,通过路由器通告给运营商,最终idc1和idc2的应用服务器在互联网上宣告了相同的ip地址1.1.1.1/24。分别处于不同位置的“客户1”和“客户2”在访问1.1.1.1时,各自选择到了离自己最近的“idc1”和“idc2”内的应用服务器。

因为动态路由协议的需求,可以看到传统的anycast部署服务的最小单位为与路由器做“物理连接”的“物理服务器”,不能是虚拟服务器或者虚拟容器。

在实际应用场景中,应用服务器和路由器的物理直连可如图2所示,即服务器与上联路由器通过光纤“物理直连”。

本发明实施例中,为了在物理服务器上层的虚拟服务器或容器上发布anycast路由,将在物理服务器与虚拟服务器或容器之间建立软件路由。如图3所示,可以通过在物理服务器上建立多组专用虚拟的网卡,一端留在物理服务器上供物理服务器上的软件路由使用,另外一端连接在虚拟机(虚拟服务器或容器)内,供虚拟机上的软件路由使用,从而将单个物理服务器(宿主服务器),在整体结构上抽象为三层,上联网络设备层、宿主服务器层和虚拟服务器层。不同虚拟服务器(容器)可以独立发布anycast路由,并经过宿主服务器上的软件路由器重分发到上联的物理路由器上。这样不同的虚拟服务设备可以提供不同服务,相互不影响。

具体地,可以通过在虚拟服务器(容器)与宿主服务器之间建立网络邻居关系,形成网络层的连接。图4示出了在实验室环境下,虚拟服务器与宿主服务器建立网络邻居的截图。

基于上述在物理服务器和其上设置的虚拟服务器(容器)之间建立的软件路由连接,使得在虚拟服务器(容器)内发布anycast路由成为可能。

如图5所示,为本发明实施例提供的在虚拟服务器或容器内发布anycast路由的方案框架图。

整体的方案参考上述内容,具体地,如图5所示,在单个宿主服务器内:在物理服务器和虚拟服务器间建立专用的虚拟网卡(如veth网卡),一端连接在物理服务器上,另外一端连接在虚拟服务器内。同时在宿主服务器和虚拟服务器上运行路由软件。

在虚拟服务器层,当宿主服务器和虚拟服务器之间建立网络邻居后,各个虚拟服务器内的发布anycast路由随机被宿主服务器上的软件路由学习到。

在物理服务器层,通过光纤或者双绞线连接上联硬件路由器。宿主服务器上运行的路由软件与上联路由器通信,将虚拟服务器发布到自身的anycast路由再转发送到物理路由上。

在硬件路由层面,每个idc内的路由器在收到宿主服务器发送的anycast路由后,继续将路由发布给自身接入的运营商。最终从虚拟服务器上宣告的anycast地址进入互联网,可为互联网上的客户提供相应的服务。

基于以上说明,本发明实施例在传统的anycast路由发布方案基础上,提出了一种在虚拟服务器或者容器内发布anycast路由的方案,可以达到在一个宿主机上的多个虚拟服务器或者容器部署不同的anycast服务的效果。

实施例一

基于上述在虚拟服务器或容器中发布任播路由的方案思想,如图6所示,其为本发明实施例一示出的任播路由发布系统的结构示意图,该系统包括:

虚拟服务设备610、物理服务器620、以及与物理服务器经物理连接的路由器群630;其中,虚拟服务设备610可以是以物理服务器为宿主机的虚拟服务器或容器,路由器群630可以为由多个物理路由器连接构成的路由器群,用于在网络中传播路由。

虚拟服务设备610与物理服务器620通过软件路由方式实现网络层连接,虚拟服务设备610依次通过,与物理服务器620之间的网络层连接,以及物理服务器620与路由器群630之间的物理连接,向网络发布任播路由。

通常情况下,虚拟服务设备包括如虚拟服务器、容器与物理服务器之间是存在数据链路层的连接的,只是仅具有数据链路层的连接,不足以满足虚拟服务器或容器发布anycast路由的需要的,因此本方案在现有技术的基础上,将虚拟服务设备610与物理服务器620之间通过软件路由方式实现网络层连接,而网络层连接是通过路由协议交互信息的,因此可以满足虚拟服务设备610发布anycast路由的需要。虚拟服务设备610依次通过,与物理服务器620之间的网络层连接(路由协议连接),以及物理服务器620与路由器群630之间的物理连接(路由协议连接),向网络发布任播路由。

进一步地,虚拟服务设备610与物理服务器620中相对应的成对设置有虚拟网卡veth,构成虚拟网卡对vethpeer,虚拟服务设备610与物理服务器620通过vethpeer,实现虚拟链路连接。在实际应用中,还可以通过其他类型的网卡,来实现虚拟服务设备610与物理服务器620的数据链路层的连接。本方案中,使用veth可以很方面并且隐秘地将数据包从物理服务器发送到位于宿主机上的虚拟服务器,并且不被嗅探到(这veth发送数据包的一个特点)。

进一步地,上述虚拟服务设备610可以物理服务器620为宿主机,物理服务器620上可以虚拟化有多个虚拟服务设备610,且每个虚拟服务设备610与物理服务器620之间均通过虚拟网卡对vethpeer,实现虚拟链路连接。

进一步地,虚拟服务设备610与物理服务器620之间可以通过建立网络邻居的方式,实现网络层连接。

进一步地,上述虚拟服务设备610可为寄宿在物理服务器620上的虚拟服务器或linux容器。

本实施例提供的任播路由发布系统,通过软件路由的方式在虚拟服务设备与物理服务器之间建立网络层连接,从而借助物理服务器与网络中路由器群之间的物理连接关系,实现虚拟服务设备向网络中发布任播路由。

实施例二

如图7所示,其为本发明实施例二的任播路由发布方法的流程示意图,本方法可应用在如图6所示的任播路由发布系统中,该方法包括:

s710,虚拟服务设备向物理服务器发布任播路由,该虚拟服务设备与物理服务器通过软件路由方式实现网络层连接;

基于如图6中所示的任播路由发布系统,虚拟服务设备与物理服务器通过软件路由方式实现网络层连接,即虚拟服务设备与物理服务器之间可通过路由协议进行通信。虚拟服务设备通过与物理服务器之间的路由通信向物理服务器发布任播路由。

s720,物理服务器将任播路由发送至与其物理连接的路由器群。该步骤与现有的任播路由发布方案中,应用服务器想物理路由器发布任播路由的步骤相同。这里可将物理服务器视为现有的应用服务器。

物理服务器将任播路由发送至与其物理连接的路由器群后,就可以传递给需要任播服务的运营商,然后再由运营商提供相应服务至客户端。

进一步地,虚拟服务设备可以物理服务器为宿主机,相应的,在虚拟服务设备与物理服务器中相对应的成对设置虚拟网卡veth,构成虚拟网卡对vethpeer,实现虚拟链路连接。虚拟服务设备与物理服务器可在该虚拟链路层之上,建立软件路由的通信连接,以实现虚拟服务设备将任播路由发送给物理服务器。

进一步地,在虚拟服务设备与物理服务器之间可通过建立网络邻居的方式,实现网络层连接(路由协议连接)。

进一步地,上述虚拟服务设备为寄宿在物理服务器上的虚拟服务器或linux容器。

本实施例提供的任播路由发布方法,虚拟服务设备通过软件路由的方式向与其具有软件路由连接关系的物理服务器发送任播路由,然后借助物理服务器与网络中路由器群之间的物理连接关系,实现虚拟服务设备向网络中发布任播路由。

实施例三

前面描述了任播路由发布系统的整体架构,该系统的功能可借助一种电子设备实现完成,如图8所示,其为本发明实施例三的电子设备的结构示意图,具体包括:存储器810和处理器820。

存储器810,用于存储程序。

除上述程序之外,存储器810还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器810可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器820,耦合至存储器810,用于执行存储器810中的程序,以实现如下操作:

虚拟服务设备向物理服务器发布任播路由,所述虚拟服务设备与所述物理服务器通过软件路由方式实现网络层连接;

所述物理服务器将所述任播路由发送至与其物理连接的路由器群。

上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。

进一步,如图8所示,电子设备还可以包括:通信组件830、电源组件840、音频组件850、显示器860等其它组件。图8中仅示意性给出部分组件,并不意味着电子设备只包括图8所示组件。

通信组件830被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件830经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件830还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

电源组件840,为电子设备的各种组件提供电力。电源组件840可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件850被配置为输出和/或输入音频信号。例如,音频组件850包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器810或经由通信组件830发送。在一些实施例中,音频组件850还包括一个扬声器,用于输出音频信号。

显示器860包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1