CN111835544A - 一种基于用户态协议栈的虚拟路由器的监控方法及系统 - Google Patents

一种基于用户态协议栈的虚拟路由器的监控方法及系统 Download PDF

Info

Publication number
CN111835544A
CN111835544A CN201910320301.5A CN201910320301A CN111835544A CN 111835544 A CN111835544 A CN 111835544A CN 201910320301 A CN201910320301 A CN 201910320301A CN 111835544 A CN111835544 A CN 111835544A
Authority
CN
China
Prior art keywords
isolation
isolation space
master
network card
space
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
CN201910320301.5A
Other languages
English (en)
Other versions
CN111835544B (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.)
Xiamen Wangsu Co Ltd
Original Assignee
Xiamen Wangsu 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 Xiamen Wangsu Co Ltd filed Critical Xiamen Wangsu Co Ltd
Priority to CN201910320301.5A priority Critical patent/CN111835544B/zh
Publication of CN111835544A publication Critical patent/CN111835544A/zh
Application granted granted Critical
Publication of CN111835544B publication Critical patent/CN111835544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于用户态协议栈的虚拟路由器的监控方法及系统,其中,所述方法应用于具备虚拟路由功能的当前设备中,所述当前设备中包括基于用户态协议栈进行划分的多个隔离空间;所述方法包括:在所述当前设备中启动虚拟路由进程;在所述虚拟路由进程启动过程中,分别创建每个所述隔离空间各自对应的虚拟网卡;其中,所述虚拟网卡所处的运行状态与对应的隔离空间所处的运行状态保持一致;启动keepalived进程,所述keepalived进程通过各个所述虚拟网卡监控对应的隔离空间的运行状态。本申请提供的技术方案,能够减少整体系统所耗费的资源,并可以对各个隔离空间进行统一管理。

Description

一种基于用户态协议栈的虚拟路由器的监控方法及系统
技术领域
本发明涉及互联网技术领域,特别涉及一种基于用户态协议栈的虚拟路由器的监控方法及系统。
背景技术
随着互联网技术的不断发展,网络中需要处理的数据也在与日俱增。为了提高网络资源的利用率,以及让网络资源具备灵活的可扩展性和可管理性,可以通过虚拟化的技术,在一台虚拟路由器(vrouter)中部署多个相互隔离的封闭空间。同时,还可以通过keepalived的技术实现这些隔离空间的高可用。
请参阅图1,基于Linux内核的虚拟路由器,可以通过namespace(命名空间)的隔离机制创建多个隔离空间。其中,每个隔离空间均需要对应一个vrouter进程,同时还需要等量的keepalived进程来实现故障的监控与恢复。这样的方式无疑会浪费较多的资源,而且也不便于对各个隔离空间进行统一管理。
发明内容
本申请的目的在于提供一种基于用户态协议栈的虚拟路由器的监控方法及系统,能够减少整体系统所耗费的资源,并可以对各个隔离空间进行统一管理。
为实现上述目的,本申请一方面提供一种基于用户态协议栈的虚拟路由器的监控方法,所述方法应用于具备虚拟路由功能的当前设备中,所述当前设备中包括基于用户态协议栈进行划分的多个隔离空间;所述方法包括:在所述当前设备中启动虚拟路由进程;在所述虚拟路由进程启动过程中,分别创建每个所述隔离空间各自对应的虚拟网卡;其中,所述虚拟网卡所处的运行状态与对应的隔离空间所处的运行状态保持一致;启动keepalived进程,所述keepalived进程通过各个所述虚拟网卡监控对应的隔离空间的运行状态。
为实现上述目的,本申请另一方面还提供一种基于用户态协议栈的虚拟路由器的监控系统,所述系统应用于具备虚拟路由功能的当前设备中,所述当前设备中包括基于用户态协议栈进行划分的多个隔离空间;所述系统包括:虚拟路由进程启动单元,用于在所述当前设备中启动虚拟路由进程;虚拟网卡创建单元,用于在所述虚拟路由进程启动过程中,分别创建每个所述隔离空间各自对应的虚拟网卡;其中,所述虚拟网卡所处的运行状态与对应的隔离空间所处的运行状态保持一致;keepalived进程启动单元,用于启动keepalived进程,所述keepalived进程通过各个所述虚拟网卡监控对应的隔离空间的运行状态。
由上可见,本申请提供的技术方案,可以在当前设备中按照用户态协议栈进行隔离空间的划分。在这种情况下,多个隔离空间可以在一个vrouter进程内部实现,从而极大地减少了vrouter进程的开销。然而由于本申请中多个隔离空间是在一个vrouter进程内部实现的,不依赖于Linux内核的命名空间,从而会导致现有技术中的keepalived的故障监控机制无法适用。鉴于此,在本申请中需要对现有的keepalived的故障监控机制进行改进。具体地,在vrouter进程启动过程中,可以针对每个隔离空间创建对应的虚拟网卡。这样,针对多个隔离空间而言,便可以创建出等量的虚拟网卡。同时,这些虚拟网卡可以与对应的隔离空间的运行状态保持一致。这样,在vrouter中可以仅启动一个keepalived进程,并通过该keepalived进程实时监控各个虚拟网卡的运行状态,从而可以根据虚拟网卡的运行状态来确定出对应的隔离空间的运行状态。后续,如果某个或者某些隔离空间出现故障,对应的虚拟网卡的运行状态也会立即改变,keepalived进程便可以获知哪些隔离空间出现了故障,从而可以按照预设的主从切换机制对具备主从关系的隔离空间进行切换,以保证能够向用户提供稳定的服务。由上可见,本申请提供的技术方案,针对一个vrouter中的多个隔离空间而言,仅需一个vrouter进程和一个keepalived进程,从而极大地减少了系统所消耗的资源,同时还能对各个隔离空间的故障监控和恢复进行统一管理。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中基于Linux内核的系统示意图;
图2是本发明实施方式中多个隔离空间的示意图;
图3是本发明实施方式中基于用户态协议栈的虚拟路由器的监控方法流程图;
图4是本发明实施方式中设备内的结构示意图;
图5是本发明实施方式中主从设备之间多个隔离空间的示意图;
图6是本发明实施方式中基于用户态协议栈的虚拟路由器的监控系统的功能模块示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请提供一种基于用户态协议栈的虚拟路由器的监控方法,所述方法可以应用于具备虚拟路由功能的当前设备中,所述当前设备可以是虚拟路由器,也可以是集成了虚拟路由器功能的节点服务器。所述当前设备中可以包括基于用户态协议栈进行划分的多个隔离空间。请参阅图2,在所述当前设备中,这些隔离空间可以具备各自的名称(vnet1、vnet2等等),并且处于同一设备中的多个隔离空间的名称互不相同。
请参阅图3,上述的基于用户态协议栈的虚拟路由器的监控方法可以包括以下步骤。
S1:在所述当前设备中启动虚拟路由进程。
S3:在所述虚拟路由进程启动过程中,分别创建每个所述隔离空间各自对应的虚拟网卡;其中,所述虚拟网卡所处的运行状态与对应的隔离空间所处的运行状态保持一致。
在本实施方式中,基于用户态协议栈划分的多个隔离空间可以在同一个进程内部实现,而无需依赖于内核的命名空间。在这种情况下,在当前设备中可以仅启动一个vrouter进程。为了监控多个隔离空间各自的运行状态,vrouter进程启动过程中,可以创建多个虚拟网卡,其中,创建的虚拟网卡与所述多个隔离空间可以一一对应,并且所述虚拟网卡所处的运行状态与对应的隔离空间所处的运行状态保持一致。
在本实施方式中,不同的用户态协议栈可以通过不同的方式实现上述的虚拟网卡。举例来说,在基于dpdk(Data Plane Development Kit,数据平台开发工具包)的用户态协议栈中,vrouter进程创建的虚拟网卡可以是kni(Kernel NIC Interface,内核网卡接口)类型的网卡。
具体地,若所述隔离空间正常运转,所述隔离空间与对应的虚拟网卡均处于第一运行状态;若所述隔离空间出现异常,所述隔离空间与对应的虚拟网卡均处于第二运行状态;其中,所述第一运行状态和所述第二运行状态不同。举例来说,如果隔离空间处于正常运行状态,那么对应的虚拟网卡可以处于up状态;而如果隔离空间出现故障,那么对应的虚拟网卡可以处于down状态。
S5:启动keepalived进程,所述keepalived进程通过各个所述虚拟网卡监控对应的隔离空间的运行状态。
在本实施方式中,为了对多个隔离空间的运行状态进行监控,可以仅启动一个keepalived进程。请参阅图4,keepalived进程可以与创建的多个虚拟网卡相连接,而创建的多个虚拟网卡则可以与所述vrouter进程相连。这样,虚拟网卡可以与vrouter进程内部的多个隔离空间一一对应,keepalived进程也可以通过监控各个虚拟网卡当前的状态,从而获知对应的隔离空间的运行状态。
在本实施方式中,为了实现多个隔离空间的高可用,通常会在局域网中部署互为主从关系的多个节点设备。请参阅图5,主设备和从设备中可以基于用户态协议栈划分相同的多个隔离空间。例如,在主设备中可以划分vnet1至vnet4的4个隔离空间,那么在该主设备的从设备中,也可以划分具备相同名称的这4个隔离空间。在主设备和从设备中划分的这些隔离空间可以互为主从关系。其中,互为主从关系的隔离空间可以具备相同的空间名称。例如,主设备中空间名称为vnet1的隔离空间可以与从设备中空间名称为vnet1的隔离空间互为主从关系。其中,主隔离空间的状态可以是master,从隔离空间的状态可以是backup,并且具备相同空间名称的隔离空间中,仅具备一个状态为master的主隔离空间。例如,目前具备三台设备,这三台设备中一共具备三个空间名称为vnet11的隔离空间,那么这三个隔离空间中,仅有一个状态为master的主隔离空间,其它两个隔离空间的状态可以是backup或者fault。
在本实施方式中,主设备和从设备均可以按照步骤S1至S3中所述的方式,各自启动一个vrouter进程和keepalived进程,并可以创建与所述多个隔离空间相对应的多个虚拟网卡。这样,在主设备和从设备中,keepalived进程均可以通过虚拟网卡对各个隔离空间的运行状态进行监控。
在本实施方式中,所述当前设备可以是上述的主设备,也可以是上述的从设备。在所述当前设备中,可以创建keepalived进程的配置文件,所述配置文件中可以包括多个部分的信息。例如,所述配置文件中可以包括全局定义块,该全局定义块可以用于指定当发生故障时,故障信息应当被发送至哪个邮箱地址,还可以用于限定虚拟路由设备的标识。此外,所述配置文件中还可以包括vrrp_sync_group块,在该块中,可以确定失败切换(failover)包含的各个路由实例,并且可以指定切换至主设备或者从设备时所需执行的脚本。再者,所述配置文件中还可以包括vrrp_instance(vrrp实例)的信息。在所述vrrp实例中,可以注明该vrrp实例对应的空间信息、设备状态标识、绑定的网卡、发送多播包的地址、优先级标识、认证信息等一系列数据。在现有技术中,一个vrrp实例中通常只能包含一个隔离空间的空间信息,而在本实施方式中,可以将上述多个隔离空间的空间信息均写入一个目标vrrp实例中。这样,创建的所述配置文件中,便可以包括与所述多个隔离空间相对应的目标vrrp实例。具体地,在该目标vrrp实例中,可以注明该实例对应的虚拟路由标识(virtual_router_id),并且可以注明该实例对应的所述多个隔离空间的空间名。由上可见,与目标vrrp实例相对应的所述多个隔离空间,可以共用所述目标vrrp实例的虚拟路由标识。而在现有技术中,一个虚拟路由标识往往只能对应一个隔离空间,这样,在虚拟路由标识的数量保持不变的情况下,与现有技术相比,本申请对配置文件进行改进之后,使得虚拟路由标识对应的空间数量能够大幅提高。
在本实施方式中,在vrrp实例的虚拟IP地址(virtual_ipaddress)中,可以配置多个IP条目以及多个路由条目。其中,所述IP条目可以包括隔离空间对应的IP地址、隔离空间的空间名称以及隔离空间对应的虚拟网卡名称等信息。所述路由条目可以包括目的IP、目的网关的名称、目的隔离空间的名称以及目的隔离空间的虚拟网卡名称等信息。
在本实施方式中,针对所述目标vrrp实例,keepalived进程可以创建对应的vrrp报文,该vrrp报文中可以包括所述当前设备中状态为master的主隔离空间的组播信息。也就是说,若所述当前设备的多个隔离空间中,包含状态为master的主隔离空间,那么所述当前设备中的keepalived进程便可以创建所述主隔离空间的组播信息。所述组播信息中可以包括主隔离空间的优先级标识、认证信息、源IP等信息。如果所述当前设备的多个隔离空间中包括多个主隔离空间,那么便可以创建对应的多个组播信息。然后,keepalived进程可以基于创建的这些组播信息,构建所述目标vrrp实例的vrrp报文。在所述vrrp报文中,除了包含各个主隔离空间各自的组播信息,还可以具备所述目标vrrp实例的虚拟路由标识。此外,在所述目标vrrp实例中,还可以包括各个所述隔离空间的空间名称以及各个所述隔离空间对应的虚拟网卡的标识。例如,所述目标vrrp实例对应3个隔离空间,那么在该目标vrrp实例中可以注明这3个隔离空间各自的空间名称,同时还可以注明这3个隔离空间对应的虚拟网卡的标识。
如图4所示,在本实施方式中,所述当前设备中还可以包括物理网卡,所述物理网卡可以与局域网中的交换机相连。这样,当keepalived进程构建了目标vrrp实例的vrrp报文后,便可以通过所述物理网卡将所述vrrp报文发送至所述交换机处,并可以通过该交换机,将所述vrrp报文转发给局域网中的其它具备主从关系的设备。
在一个实施方式中,keepalived进程在创建主隔离空间的组播信息时,首先会判断该主隔离空间是否处于正常运行状态,对于出现故障的主隔离空间而言,keepalived进程并不会创建对应的组播信息。具体地,所述keepalived进程可以检测各个所述虚拟网卡当前所处的运行状态,并可以确定出当前状态为up的目标虚拟网卡。这些目标虚拟网卡对应的隔离空间便可以是所述多个隔离空间中处于正常运行状态的目标隔离空间。然后,keepalived进程可以在所述目标隔离空间中识别出状态为master的主隔离空间,并针对识别出的所述主隔离空间创建对应的组播信息。这样,可以避免对状态为down的隔离空间创建组播信息。
需要说明的是,在现有技术中,一个vrrp实例往往只能对应一个隔离空间,而在本实施方式中,可以将基于用户态协议栈进行划分的多个隔离空间对应于一同一个vrrp实例中。keepalived进程在实现高可用时,会针对每个vrrp实例生成对应的vrrp报文,并将生成的vrrp报文在互为主从关系的设备之间进行传输。那么,采用本申请的技术方案后,由于一个vrrp实例可以对应多个隔离空间,那么便可以极大地减少当前设备中vrrp实例的数量,从而可以显著减少网络中传输的vrrp报文的数量。
在一个实施方式中,以当前设备作为主设备为例,该当前设备可以具备对应的从设备。如图5所示,所述从设备中也包括基于用户态协议栈进行划分的所述多个隔离空间,并且位于所述当前设备和所述从设备中的隔离空间互为主从关系;其中,互为主从关系的隔离空间具备相同的空间名称,并且具备相同空间名称的隔离空间中,仅具备一个状态为master的主隔离空间。
在本实施方式中,当前设备和从设备均可以按照以上阐述的方式,针对各自的vrrp实例生成对应的vrrp报文,并可以互相传输生成的vrrp报文。具体地,所述当前设备可以按照指定时间周期向所述从设备发送主vrrp报文,所述主vrrp报文中可以包括所述当前设备中状态为master的主隔离空间的组播信息。同样地,所述从设备也可以按照所述指定时间周期向所述当前设备发送从vrrp报文,所述从vrrp报文中可以包括所述从设备中状态为master的主隔离空间的组播信息。如图5所示,当前设备发送的主vrrp报文中,可以携带vnet1和vnet2的两个隔离空间的组播信息,而从设备发送的从vrrp报文中,可以携带vnet3和vnet4的两个隔离空间的组播信息。
在本实施方式中,互为主从关系的多个设备之间发送vrrp报文的目的是,可以了解到出现故障的主隔离空间,并可以在主隔离空间出现故障时,及时从对应的从隔离空间中选举出新的主隔离空间,从而能够向用户提供稳定的服务。具体地,位于当前设备或者从设备中的状态为backup的从隔离空间,可以从当前设备或者从设备接收到的vrrp报文中,识别出是否包含自身对应的主隔离空间的组播信息。如果主隔离空间处于正常运行状态,那么keepalived进程会生成对应的组播信息,那么对应的从隔离空间便可以从vrrp报文中识别出对应的主隔离空间的组播信息。而一旦主隔离空间出现故障,那么keepalived进程便不会生成对应的组播信息,那么对应的从隔离空间便无法从vrrp报文中识别出对应的主隔离空间的组播信息。如果所述当前设备或者所述从设备中状态为backup的从隔离空间在指定时长内未接收到对应的主隔离空间的组播信息,则可以判定对应的主隔离空间当前无法正常工作,此时,所述当前设备或者所述从设备中的keepalived进程可以将所述从隔离空间的状态切换至master状态,从而通过该从隔离空间继续向用户提供服务。当然,在实际应用中,一个主隔离空间可能会对应多个从隔离空间,那么当该主隔离空间出现故障后,keepalived进程便可以按照现有的竞争机制,从这多个从隔离空间中选举出一个从隔离空间,并将选举出的该从隔离空间的状态切换至master状态。
需要说明的是,以上在阐述主从设备时,均是基于一个从设备来阐述的,但这并不表示本申请的技术方案仅适用于主设备的一个从设备中。其实,在实际应用中,一个主设备可以对应于多个从设备,而本领域技术人员应当知晓,本申请以上阐述的技术方案,可以应用于主设备与各个从设备之间,并非限定于只能应用在主设备与特定的一个从设备之间。
另外,在本申请中,上述的主设备和从设备是指互为主从关系的两个设备,这两个设备在实际应用中可以是对等关系,并不代表一个设备的状态是master,另一个设备的状态是backup。实际上,在本申请中,只对隔离空间的状态进行master或者backup的设置。上述之所以采用主设备和从设备的描述方式,只是为了便于说明本申请的技术方案。相应地,上述的主vrrp报文和从vrrp报文,也只是为了与主设备和从设备的表述方式保持一致,并不意味vrrp报文也存在master状态或者backup状态。实际上,上述的主设备和从设备可以是互为主从关系的第一设备和第二设备,相应地,主vrrp报文可以是第一设备发出的第一vrrp报文,从vrrp报文可以是第二设备发出的第二vrrp报文。其中,第一设备和第二设备在网络中可以是对等的关系,第一vrrp报文和第二vrrp报文中可以分别携带对应设备中状态为master的隔离空间的空间信息。
请参阅图6,本申请还提供一种基于用户态协议栈的虚拟路由器的监控系统,所述系统可以应用于具备虚拟路由功能的当前设备中,所述当前设备中包括基于用户态协议栈进行划分的多个隔离空间;所述系统包括:
虚拟路由进程启动单元,用于在所述当前设备中启动虚拟路由进程;
虚拟网卡创建单元,用于在所述虚拟路由进程启动过程中,分别创建每个所述隔离空间各自对应的虚拟网卡;其中,所述虚拟网卡所处的运行状态与对应的隔离空间所处的运行状态保持一致;
keepalived进程启动单元,用于启动keepalived进程,所述keepalived进程通过各个所述虚拟网卡监控对应的隔离空间的运行状态。
在一个实施方式中,所述当前设备中还包括物理网卡;相应地,所述系统还包括:
配置文件创建单元,用于创建所述keepalived进程的配置文件,在所述配置文件中包括与所述多个隔离空间相对应的目标vrrp实例;其中,若所述多个隔离空间中包含状态为master的主隔离空间,所述keepalived进程创建所述主隔离空间的组播信息;所述keepalived进程基于创建的所述组播信息构建所述目标vrrp实例的vrrp报文,并通过所述物理网卡向其它设备发送所述vrrp报文。
在一个实施方式中,所述配置文件创建单元包括:
状态检测模块,用于通过所述keepalived进程检测各个所述虚拟网卡当前所处的运行状态,以从所述多个隔离空间中确定当前处于正常运行状态的目标隔离空间;
组播信息创建模块,用于在所述目标隔离空间中识别出状态为master的主隔离空间,并针对识别出的所述主隔离空间创建对应的组播信息。
由上可见,本申请提供的技术方案,可以在当前设备中按照用户态协议栈进行隔离空间的划分。在这种情况下,多个隔离空间可以在一个vrouter进程内部实现,从而极大地减少了vrouter进程的开销。然而由于本申请中多个隔离空间是在一个vrouter进程内部实现的,不依赖于Linux内核的命名空间,从而会导致现有技术中的keepalived的故障监控机制无法适用。鉴于此,在本申请中需要对现有的keepalived的故障监控机制进行改进。具体地,在vrouter进程启动过程中,可以针对每个隔离空间创建对应的虚拟网卡。这样,针对多个隔离空间而言,便可以创建出等量的虚拟网卡。同时,这些虚拟网卡可以与对应的隔离空间的运行状态保持一致。这样,在vrouter中可以仅启动一个keepalived进程,并通过该keepalived进程实时监控各个虚拟网卡的运行状态,从而可以根据虚拟网卡的运行状态来确定出对应的隔离空间的运行状态。后续,如果某个或者某些隔离空间出现故障,对应的虚拟网卡的运行状态也会立即改变,keepalived进程便可以获知哪些隔离空间出现了故障,从而可以按照预设的主从切换机制对具备主从关系的隔离空间进行切换,以保证能够向用户提供稳定的服务。由上可见,本申请提供的技术方案,针对一个vrouter中的多个隔离空间而言,仅需一个vrouter进程和一个keepalived进程,从而极大地减少了系统所消耗的资源,同时还能对各个隔离空间的故障监控和恢复进行统一管理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种基于用户态协议栈的虚拟路由器的监控方法,其特征在于,所述方法应用于具备虚拟路由功能的当前设备中,所述当前设备中包括基于用户态协议栈进行划分的多个隔离空间;所述方法包括:
在所述当前设备中启动虚拟路由进程;
在所述虚拟路由进程启动过程中,分别创建每个所述隔离空间各自对应的虚拟网卡;其中,所述虚拟网卡所处的运行状态与对应的隔离空间所处的运行状态保持一致;
启动keepalived进程,所述keepalived进程通过各个所述虚拟网卡监控对应的隔离空间的运行状态。
2.根据权利要求1所述的方法,其特征在于,所述虚拟网卡所处的运行状态与对应的隔离空间所处的运行状态保持一致包括:
若所述隔离空间正常运转,所述隔离空间与对应的虚拟网卡均处于第一运行状态;
若所述隔离空间出现异常,所述隔离空间与对应的虚拟网卡均处于第二运行状态;其中,所述第一运行状态和所述第二运行状态不同。
3.根据权利要求1所述的方法,其特征在于,所述当前设备中还包括物理网卡;相应地,所述方法还包括:
创建所述keepalived进程的配置文件,在所述配置文件中包括与所述多个隔离空间相对应的目标vrrp实例;
其中,若所述多个隔离空间中包含状态为master的主隔离空间,所述keepalived进程创建所述主隔离空间的组播信息;
所述keepalived进程基于创建的所述组播信息构建所述目标vrrp实例的vrrp报文,并通过所述物理网卡向其它设备发送所述vrrp报文。
4.根据权利要求3所述的方法,其特征在于,所述keepalived进程创建所述主隔离空间的组播信息包括:
所述keepalived进程检测各个所述虚拟网卡当前所处的运行状态,以从所述多个隔离空间中确定当前处于正常运行状态的目标隔离空间;
在所述目标隔离空间中识别出状态为master的主隔离空间,并针对识别出的所述主隔离空间创建对应的组播信息。
5.根据权利要求3所述的方法,其特征在于,所述目标vrrp实例中包括各个所述隔离空间的空间名称以及各个所述隔离空间对应的虚拟网卡的标识。
6.根据权利要求1所述的方法,其特征在于,所述当前设备具备对应的从设备,所述从设备中也包括基于用户态协议栈进行划分的所述多个隔离空间,并且位于所述当前设备和所述从设备中的隔离空间互为主从关系;其中,互为主从关系的隔离空间具备相同的空间名称,并且具备相同空间名称的隔离空间中,仅具备一个状态为master的主隔离空间。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述当前设备按照指定时间周期向所述从设备发送主vrrp报文,所述主vrrp报文中包括所述当前设备中状态为master的主隔离空间的组播信息;
所述从设备按照所述指定时间周期向所述当前设备发送从vrrp报文,所述从vrrp报文中包括所述从设备中状态为master的主隔离空间的组播信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述当前设备或者所述从设备中状态为backup的从隔离空间在指定时长内未接收到对应的主隔离空间的组播信息,所述当前设备或者所述从设备中的keepalived进程将所述从隔离空间的状态切换至master状态。
9.一种基于用户态协议栈的虚拟路由器的监控系统,其特征在于,所述系统应用于具备虚拟路由功能的当前设备中,所述当前设备中包括基于用户态协议栈进行划分的多个隔离空间;所述系统包括:
虚拟路由进程启动单元,用于在所述当前设备中启动虚拟路由进程;
虚拟网卡创建单元,用于在所述虚拟路由进程启动过程中,分别创建每个所述隔离空间各自对应的虚拟网卡;其中,所述虚拟网卡所处的运行状态与对应的隔离空间所处的运行状态保持一致;
keepalived进程启动单元,用于启动keepalived进程,所述keepalived进程通过各个所述虚拟网卡监控对应的隔离空间的运行状态。
10.根据权利要求9所述的系统,其特征在于,所述当前设备中还包括物理网卡;相应地,所述系统还包括:
配置文件创建单元,用于创建所述keepalived进程的配置文件,在所述配置文件中包括与所述多个隔离空间相对应的目标vrrp实例;其中,若所述多个隔离空间中包含状态为master的主隔离空间,所述keepalived进程创建所述主隔离空间的组播信息;所述keepalived进程基于创建的所述组播信息构建所述目标vrrp实例的vrrp报文,并通过所述物理网卡向其它设备发送所述vrrp报文。
11.根据权利要求10所述的系统,其特征在于,所述配置文件创建单元包括:
状态检测模块,用于通过所述keepalived进程检测各个所述虚拟网卡当前所处的运行状态,以从所述多个隔离空间中确定当前处于正常运行状态的目标隔离空间;
组播信息创建模块,用于在所述目标隔离空间中识别出状态为master的主隔离空间,并针对识别出的所述主隔离空间创建对应的组播信息。
CN201910320301.5A 2019-04-19 2019-04-19 一种基于用户态协议栈的虚拟路由器的监控方法及系统 Active CN111835544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910320301.5A CN111835544B (zh) 2019-04-19 2019-04-19 一种基于用户态协议栈的虚拟路由器的监控方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910320301.5A CN111835544B (zh) 2019-04-19 2019-04-19 一种基于用户态协议栈的虚拟路由器的监控方法及系统

Publications (2)

Publication Number Publication Date
CN111835544A true CN111835544A (zh) 2020-10-27
CN111835544B CN111835544B (zh) 2022-10-25

Family

ID=72912334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910320301.5A Active CN111835544B (zh) 2019-04-19 2019-04-19 一种基于用户态协议栈的虚拟路由器的监控方法及系统

Country Status (1)

Country Link
CN (1) CN111835544B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697391A (zh) * 2022-04-08 2022-07-01 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1905488A (zh) * 2006-08-15 2007-01-31 华为技术有限公司 采用虚拟路由器冗余协议接入用户的方法和系统
US20150244811A1 (en) * 2012-09-17 2015-08-27 Tencent Technology (Shenzhen) Company Limited Method, device and system for logging in unix-like virtual container
CN105099706A (zh) * 2015-08-25 2015-11-25 华为技术有限公司 一种数据通信方法、用户设备和服务器
CN106411589A (zh) * 2016-09-29 2017-02-15 北京神州绿盟信息安全科技股份有限公司 一种实现高可用的方法和装置
CN107579898A (zh) * 2017-09-14 2018-01-12 快云信息科技有限公司 一种多种容器间互联通信的方法及其装置
CN107608757A (zh) * 2017-08-29 2018-01-19 华为技术有限公司 一种基于容器的隔离处理方法及相关设备
CN108984195A (zh) * 2018-06-27 2018-12-11 新华三技术有限公司 一种软件升级方法及装置
CN109032806A (zh) * 2018-07-30 2018-12-18 华为技术有限公司 容器的服务调度方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1905488A (zh) * 2006-08-15 2007-01-31 华为技术有限公司 采用虚拟路由器冗余协议接入用户的方法和系统
US20150244811A1 (en) * 2012-09-17 2015-08-27 Tencent Technology (Shenzhen) Company Limited Method, device and system for logging in unix-like virtual container
CN105099706A (zh) * 2015-08-25 2015-11-25 华为技术有限公司 一种数据通信方法、用户设备和服务器
CN106411589A (zh) * 2016-09-29 2017-02-15 北京神州绿盟信息安全科技股份有限公司 一种实现高可用的方法和装置
CN107608757A (zh) * 2017-08-29 2018-01-19 华为技术有限公司 一种基于容器的隔离处理方法及相关设备
CN107579898A (zh) * 2017-09-14 2018-01-12 快云信息科技有限公司 一种多种容器间互联通信的方法及其装置
CN108984195A (zh) * 2018-06-27 2018-12-11 新华三技术有限公司 一种软件升级方法及装置
CN109032806A (zh) * 2018-07-30 2018-12-18 华为技术有限公司 容器的服务调度方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697391A (zh) * 2022-04-08 2022-07-01 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质
CN114697391B (zh) * 2022-04-08 2023-08-18 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN111835544B (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
CN110535766B (zh) 一种生成路由的方法和设备
CN110912780B (zh) 一种高可用集群检测方法、系统及受控终端
CN106878166B (zh) 路由通告方法及装置
CN107454155B (zh) 一种基于负载均衡集群的故障处理方法、装置以及系统
EP2993838B1 (en) Methods for setting a member identity of gateway device and corresponding management gateway devices
EP3300298B1 (en) Method and apparatus for switching vnf
CN109672619B (zh) 一种处理报文的方法、设备及系统
CN110061912B (zh) 仲裁虚拟节点的冗余控制平面之间的主控权
CN111835685B (zh) 一种监控Nginx网络隔离空间的运行状态的方法和服务器
CN113328916B (zh) Bfd检测模式的切换方法、装置及设备
CN104506372A (zh) 一种实现主备服务器切换的方法及系统
US10530634B1 (en) Two-channel-based high-availability
EP3038296B1 (en) Pool element status information synchronization method, pool register and pool element
CN112291116A (zh) 链路故障检测方法、装置及网络设备
CN109698767A (zh) 一种主备切换方法及装置
CN113709220B (zh) 虚拟负载均衡器的高可用实现方法、系统及电子设备
CN111835684B (zh) 一种haproxy设备的网络隔离监控方法及系统
CN111835544B (zh) 一种基于用户态协议栈的虚拟路由器的监控方法及系统
EP3817306B1 (en) Method, apparatus, and device for transmitting message, and storage medium
Lee et al. SAFE: A scalable autonomous fault-tolerant ethernet scheme for large-scale star networks
JP2012209625A (ja) クラスタシステムの結線作業の煩雑さを軽減するシステム及び方法
CN114124803B (zh) 设备管理方法、装置、电子设备及存储介质
CN114301763A (zh) 分布式集群故障的处理方法及系统、电子设备及存储介质
CN114268581A (zh) 一种实现网络设备高可用和负载分担的方法
JP2011254293A (ja) ネットワークスイッチ装置

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