CN111181861A - 策略路由实现方法和装置 - Google Patents

策略路由实现方法和装置 Download PDF

Info

Publication number
CN111181861A
CN111181861A CN202010030137.7A CN202010030137A CN111181861A CN 111181861 A CN111181861 A CN 111181861A CN 202010030137 A CN202010030137 A CN 202010030137A CN 111181861 A CN111181861 A CN 111181861A
Authority
CN
China
Prior art keywords
data packet
policy
target
target data
rule
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.)
Pending
Application number
CN202010030137.7A
Other languages
English (en)
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.)
Shandong Huimao Electronic Port Co Ltd
Original Assignee
Shandong Huimao Electronic Port 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 Shandong Huimao Electronic Port Co Ltd filed Critical Shandong Huimao Electronic Port Co Ltd
Priority to CN202010030137.7A priority Critical patent/CN111181861A/zh
Publication of CN111181861A publication Critical patent/CN111181861A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

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

Abstract

本发明提供了一种策略路由实现方法和装置,涉及通信技术领域,该策略路由实现方法包括:接收来自第一虚拟机的目标数据包;根据所述目标数据包的属性信息,检测预先设定的至少一个策略规则中是否存在与所述目标数据包相匹配的目标策略规则;如果存在与所述目标数据包相匹配的所述目标策略规则,则为所述目标数据包添加与所述目标策略规则相匹配的路径标签;查找与所述路径标签相匹配的路由表,获得记载在所述路由表中的下一跳地址,其中,所述下一跳地址用于标识第二虚拟机;将所述目标数据包转发给所述第二虚拟机。本方案能够提高云环境中路由功能的灵活性。

Description

策略路由实现方法和装置
技术领域
本发明涉及通信技术领域,特别涉及策略路由实现方法和装置。
背景技术
随着计算机技术的不断发展与进步,云计算已经成为获得了广泛应用,比如OpenStack就是其中一种被广泛应用的云计算管理平台项目。在云计算所处的云环境中存在有多个虚拟机,各个虚拟机之间的通信需要通过路由功能实现。
目前虚拟机之间的通信基于静态路由实现,即云环境中的虚拟路由器在接收到一个虚拟机所发送的数据包后,根据该数据包中所包括的目的地址,将该数据包转发到与目的地址相对应的下一跳虚拟路由器。
针对目前云环境中所使用的静态路由,虚拟路由器根据数据包中的目的地址转发数据包,用户无法根据实际需求使数据包按照特定的路径传输,导致云环境中路由功能的灵活性较差。
发明内容
本发明实施例提供了策略路由实现方法和装置,能够提高云环境中路由功能的灵活性。
第一方面,本发明实施例提供了一种策略路由实现方法,包括:
接收来自第一虚拟机的目标数据包;
根据所述目标数据包的属性信息,检测预先设定的至少一个策略规则中是否存在与所述目标数据包相匹配的目标策略规则;
如果存在与所述目标数据包相匹配的所述目标策略规则,则为所述目标数据包添加与所述目标策略规则相匹配的路径标签;
查找与所述路径标签相匹配的路由表,获得记载在所述路由表中的下一跳地址,其中,所述下一跳地址用于标识第二虚拟机;
将所述目标数据包转发给所述第二虚拟机。
可选地,在所述检测预先设定的至少一个策略规则中是否存在与所述目标数据包相匹配的目标策略规则之后,进一步包括:
如果不存在与所述目标数据包相匹配的所述目标策略规则,则执行:
获取所述目标数据包所包括的目的地址;
根据所述目的地址将所述目标数据包发送给与所述目的地址相对应的第三虚拟机。
可选地,在所述接收来自第一虚拟机的目标数据包之前,进一步包括:
关闭反向路由校验功能。
可选地,该策略路由实现方法进一步包括:
接收来自用户的策略配置指令,并根据所述策略配置指令进行策略配置,其中,所述策略配置包括对所述至少一个策略规则进行删除、修改、查看以及添加新策略规则中的至少一项操作。
可选地,所述属性信息包括所述目标数据包的源IP地址、目的IP地址、源端口、目的端口和协议类型中的至少一个。
第二方面,本发明实施例还提供了一种策略路由实现装置,包括:
一个数据接收模块,用于接收来自第一虚拟机的目标数据包;
一个规则匹配模块,根据所述数据接收模块接收到的所述目标数据包的属性信息,检测预先设定的至少一个策略规则中是否存在与所述目标数据包相匹配的目标策略规则;
一个打标签模块,用于在所述规则匹配模块确定存在与所述目标数据包相匹配的所述目标策略规则时,为所述目标数据包添加与所述目标策略规则相匹配的路径标签;
一个地址查找模块,用于查找与所述打标签模块添加的所述路径标签相匹配的路由表,获得记载在所述路由表中的下一跳地址,其中,所述下一跳地址用于标识第二虚拟机;
一个第一数据转发模块,用于将所述目标数据包转发给所述地址查找模块获得的所述下一跳地址所标识的所述第二虚拟机。
可选地,该策略路由实现装置进一步包括:
一个第二数据转发模块,用于在所述规则匹配模块确定不存在与所述目标数据包相匹配的所述目标策略规则时,获取所述目标数据包所包括的目的地址,并根据所述目的地址将所述目标数据包发送给与所述目的地址相对应的第二虚拟机。
可选地,该策略路由实现装置进一步包括:
一个校验关闭模块,用于关闭反向路由校验功能。
可选地,该策略路由实现装置进一步包括:
一个策略配置模块,用于接收来自用户的策略配置指令,并根据所述策略配置指令进行策略配置,其中,所述策略配置包括对所述至少一个策略规则进行删除、修改、查看以及添加新策略规则中的至少一项操作。
可选地,所述属性信息包括所述目标数据包的源IP地址、目的IP地址、源端口、目的端口和协议类型中的至少一个。
由上述技术方案可知,当接收到来自第一虚拟机的目标数据包后,首先根据该目标数据包的属性信息判断是否存在与该目标数据包相匹配的目标策略规则,如果存在与该目标数据包相匹配的目标策略规则,则该目标数据包添加与目标策略规则相匹配的路径标签,之后根据路径标签查询与该路径标签相对应的路由表而获得下一跳地址,进而将目标数据包转发给下一跳地址所标识的第二虚拟机。由此可见,用户通过设定策略规则,可以将符合相应策略规则的数据包转发给指定的虚拟机,实现策略路由功能,使得用户可以根据实际需求使数据包按照特定的路径传输,从而能够提高云环境中路由功能的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种策略路由实现方法的流程图;
图2是本发明一个实施例提供的一种利用策略路由功能转发数据包的示意图;
图3是本发明一个实施例提供的一种策略路由实现装置所在设备的示意图;
图4是本发明一个实施例提供的一种策略路由实现装置的示意图;
图5是本发明一个实施例提供的另一种策略路由实现装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种策略路由实现方法,该方法可以包括以下步骤:
步骤101:接收来自第一虚拟机的目标数据包;
步骤102:根据目标数据包的属性信息,检测预先设定的至少一个策略规则中是否存在与目标数据包相匹配的目标策略规则;
步骤103:如果存在与目标数据包相匹配的目标策略规则,则为目标数据包添加与目标策略规则相匹配的路径标签;
步骤104:查找与路径标签相匹配的路由表,获得记载在路由表中的下一跳地址,其中,下一跳地址用于标识第二虚拟机;
步骤105:将目标数据包转发给第二虚拟机。
在本发明实施例中,当接收到来自第一虚拟机的目标数据包后,首先根据该目标数据包的属性信息判断是否存在与该目标数据包相匹配的目标策略规则,如果存在与该目标数据包相匹配的目标策略规则,则该目标数据包添加与目标策略规则相匹配的路径标签,之后根据路径标签查询与该路径标签相对应的路由表而获得下一跳地址,进而将目标数据包转发给下一跳地址所标识的第二虚拟机。由此可见,用户通过设定策略规则,可以将符合相应策略规则的数据包转发给指定的虚拟机,实现策略路由功能,使得用户可以根据实际需求使数据包按照特定的路径传输,从而能够提高云环境中路由功能的灵活性。
在本发明实施例中,用户预先设定有多个策略规则,每一个策略规则包括有匹配项和下一跳地址。针对任意一个策略规则,该策略规则所包括的匹配项用于与数据包的属性信息进行匹配,以检测相应数据包是否与该策略规则相匹配,下一跳地址用于指示当一个数据包与该策略规则相匹配时需要将该数据包转发至的虚拟机。
在本发明实施例中,用户通过设定策略规则,可以使不同类型的数据包通过不同的链路进行转发,这样可以更加合理地对数据包的转发路径进行规划,使不同的数据流通过不同的链路进行转发,进而提高链路的利用率,使得不同虚拟机之间传输数据的速度更快。
可选地,在图1所示策略路由实现方法的基础上,步骤102检测是否存在与目标数据包相匹配的目标策略规则之后,如果检测结果为不存在与目标数据包相匹配的目标策略规则,则获取目标数据包所包括的目的地址,并将目标数据包发送给与目的地址相对应的第三虚拟机。
在本发明实施例中,如果目标数据包与各个策略规则均不匹配,则说明用户未制定针对该类型数据包的路由规则,相应的按照静态路由的方式根据目的地址来转发该数据包。因此,通过该方法不仅可以实现静态路由功能,还能过实现策略路由功能,进一步提升了路由功能的灵活性和可控性。
可选地,在图1所述策略路由实现方法的基础上,在接收来自虚拟机的数据包之前,可以关闭反向路由校验功能。
在本发明实施例中,本发明实施例所提供的策略路由实现方法可以应用于云环境中的虚拟路由器,正常情况下虚拟路由器具有反向路由校验功能,即当虚拟路由器接收到一个虚拟机所发送的数据包后,虚拟路由器会检测能够向该虚拟机发送数据包,即检测与该虚拟机之间的反向链路是否连通,如果检测结果为不能向该虚拟机发送数据包,虚拟路由器将不会继续将该虚拟机所发送的数据包转发给其他虚拟机。为了实现策略路由功能,将虚拟路由器的反向路由校验功能关闭,使得虚拟路由器不再去校验反向路由的连通状态,保证虚拟路由器在接收到一个虚拟机的数据包后能够正常将数据包转发给其他虚拟机,进而保证策略路由功能可以正常实现。
可选地,在图1所示策略路由实现方法的基础上,还可以接收来自用户的策略配置指令,并根据所接收到的策略配置指令进行策略配置,而策略配置操作包括对存在的至少一个策略规则进行删除、修改或者查看,还可以包括添加新的策略规则。
在本发明实施例中,用户预先设定有一个或多个策略规则,在使用策略路由功能的过程中,用户可以根据实际需求添加新的策略规则,也可以对现有的策略规则进行删除、修改和查看,从而可以按照用户的实际需求调整对不同类型数据包进行路由的规则,从而满足不同用户的个性化需求,提升用户的使用满意度。
可选地,在上述各个实施例所提供策略路由实现方法的基础上,属性信息可以包括目标数据包的源IP地址、目的IP地址、源端口、目的端口和协议类型中的任意一个或多个,其中,源IP地址用于指示发出目标数据包的虚拟机的IP地址,目的IP地址用于指示最终接收目标数据包的虚拟机的IP地址,源端口用于指示发出目标数据包的端口,目的端口用于指示接收目标数据包的端口,协议类型用于传输目标数据包的协议类型,比如协议类型可以为TCP或UDP。
在本发明实施例中,数据包的属性信息包括源IP地址、目的IP地址、源端口、目的端口和协议类型中的部分或全部,这些信息可以用于确定数据包是否与相应的策略规则相匹配,用户基于这些信息来指定策略规则,可以准确地将不同类型的数据包分类,进而可以准确地分配数据包至不同的链路进行转发,在保证链路具有较高利用率的同时,保证不同虚拟机之间传输数据包时具有较快的速度。
需要说明的是,本发明实施例所提供的策略路由实现方法可以应用于OpenStack,由OpenStack中的虚拟路由器(router)执行,具体策略路由的实现过程可以通过扩展的neutron插件实现。下面对在OpenStack中实现策略路由的方法进行详细说明。
在OpenStack中实现策略路由的基本思想为:在neutron给router创建的namespace中,通过iptables进行数据包的匹配,匹配项包括数据包的源IP地址、目的IP地址、源端口、目的端口、协议类型等,匹配成功的数据包将会被打上标记(路径标签),之后再通过ip rule规则(策略规则),让具有对应标记的数据包使用相对应的路由表进行路由,最后读取路由表信息,将数据包送出网关。
在OpenStack中实现策略路时,基于如下五个组件实现:1)PBR策略管理模块;2)PBR消息通知模块;3)PBR功能实现模块;4)PBR数据库模块。其中,PBR是Policy BasedRoute的简写,即为策略路由功能。
1)PBR策略管理模块
PBR策略管理模块负责用户PBR策略数据的配置管理,接收来自用户的PBR配置请求(如添加、删除、修改、查看PBR配置等),并将用户PBR配置数据记入PBR策略数据库中。该模块通过neutron的serviceplugin形式实现。
2)PBR消息通知模块
PBR消息通知模块主要包括两个功能:1)在接收到用户的PBR配置请求后,将PBR信息通知给PBR功能实现模块;2)接收PBR功能实现模块的请求,调用PBR策略管理模块来查询PBR信息。该模块通过RPC远程调用实现。
3)PBR功能实现模块
PBR功能实现模块是neutron-l3-agent的extension,负责管理数据平面节点(计算节点)的routernamespace,根据用户配置的PBR策略添加、删除或修改对应router的namespace中的策略规则,具体功能有:1)在mangle表的neutron-l3-agent-PREROUTING链添加rule,将相应的数据包通过MARK设置标签;2)添加iprule规则,让对应的mark值的包查找对应的路由表;3)通过iproute添加路由表,并根据PBR策略添加一条默认路由。因为mangle表的处理是优先与nat表和filter表的,所以相应的数据包到达之后先打上标记,之后再通过iprule规则,对应的数据包使用相应的路由表进行路由,最后读取路由表中的默认路由,将数据包送到下一条地址。该模块通过neutron-l3-agent的extension插件实现。
4)PBR数据库模块
PBR策略数据库负责记录用户的PBR策略配置信息,为PBR策略管理模块和PBR功能实现模块提供数据来源。
在OpenStack中实现策略路由具体可以通过如下步骤进行:
(1)启用PBR策略管理模块,即neutron的service_plugin插件,提供REST接口给用户,用户调用创建PBR策略相关接口,下发规则(包匹配项和下一条地址)。
(2)PBR策略管理模块将规则信息写入数据库模块,并通过消息通知模块将规则信息发给PBR功能实现模块。将规则信息写入数据库模块,并通过消息通知模块将规则信息发给PBR功能实现模块。
(3)PBR功能实现模块运行在各个计算节点,接收从管理模块发来的规则信息,进去router的namespace中进行iptables、rule和route的配置:
1)读取PBR规则中的匹配项,添加iptables:iptables -t mangle -A neutron-l3-agent-PREROUTING -i qr-6ea75570-a3 -s 20.0.1.4 -j MARK --set-mark 10;
2)根据MARK值添加iprule:ip rule add fwmark 10 table 10 pref 10;
3)在路由表中添加默认路由,下一条地址为PBR规则中的下一条地址:ip routeadd table 10 default via 10.0.0.2;
4)修改namespace中的Linux内核参数rp_filter为0,关闭反向路由校验功能。
(4)PBR功能模块配置好规则后,经过router的流量将优先使用配置的策略路由。如图2所示,router中配置了两条PBR策略:匹配源地址是1.1.1.1,协议是TCP的流量包的下一条地址是3.3.3.2;匹配源地址是2.2.2.3,协议是UDP,源端口是100的流量包的下一条地址是1.1.1.1。因此从IP地址为1.1.1.1的虚拟机发出的TCP包将会被转发到IP地址为3.3.3.2的虚拟机,再从IP地址为3.3.3.2的虚拟机转发出去;从IP地址为2.2.2.3的虚拟机发出的源端口是100的UDP包,会被转发到IP地址为1.1.1.1的虚拟机,再从IP地址为1.1.1.1的虚拟机转发出去。
如图3、图4所示,本发明实施例提供了一种策略路由实现装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的策略路由实现装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的策略路由实现装置,包括:
一个数据接收模块401,用于接收来自第一虚拟机的目标数据包;
一个规则匹配模块402,根据数据接收模块401接收到的目标数据包的属性信息,检测预先设定的至少一个策略规则中是否存在与目标数据包相匹配的目标策略规则;
一个打标签模块403,用于在规则匹配模块402确定存在与目标数据包相匹配的目标策略规则时,为目标数据包添加与目标策略规则相匹配的路径标签;
一个地址查找模块404,用于查找与打标签模块403添加的路径标签相匹配的路由表,获得记载在路由表中的下一跳地址,其中,下一跳地址用于标识第二虚拟机;
一个第一数据转发模块405,用于将目标数据包转发给地址查找模块404获得的下一跳地址所标识的第二虚拟机。
在本发明实施例中,数据接收模块401可用于执行上述方法实施例中的步骤101,规则匹配模块402可用于执行上述方法实施例中的步骤102,打标签模块403可用于执行上述方法实施例中的步骤103,地址查找模块404可用于执行上述方法实施例中的步骤104,第一数据转发模块405可用于执行上述方法实施例中的步骤105。
可选地,在图4所示策略路由实现装置的基础上,如图5所示,该策略路由实现装置进一步包括:
一个第二数据转发模块406,用于在规则匹配模块402确定不存在与目标数据包相匹配的目标策略规则时,获取目标数据包所包括的目的地址,并根据目的地址将目标数据包发送给与目的地址相对应的第二虚拟机。
可选地,在图4所示策略路由实现装置的基础上,该策略路由实现装置进一步包括:
一个校验关闭模块,用于关闭反向路由校验功能。
可选地,在图4所示策略路由实现装置的基础上,该策略路由实现装置进一步包括:
一个策略配置模块,用于接收来自用户的策略配置指令,并根据策略配置指令进行策略配置,其中,策略配置包括对至少一个策略规则进行删除、修改、查看以及添加新策略规则中的至少一项操作。
可选地,在图4或图5所示策略路由实现装置的基础上,属性信息包括目标数据包的源IP地址、目的IP地址、源端口、目的端口和协议类型中的至少一个。
需要说明的是,上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述各个实施例所提供的策略路由实现方法。
本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述各个实施例所提供的策略路由实现方法。
综上所述,本发明各个所述所提供的策略路由实现方法和装置,至少具有如下有益效果:
1、在本发明实施例中,当接收到来自第一虚拟机的目标数据包后,首先根据该目标数据包的属性信息判断是否存在与该目标数据包相匹配的目标策略规则,如果存在与该目标数据包相匹配的目标策略规则,则该目标数据包添加与目标策略规则相匹配的路径标签,之后根据路径标签查询与该路径标签相对应的路由表而获得下一跳地址,进而将目标数据包转发给下一跳地址所标识的第二虚拟机。由此可见,用户通过设定策略规则,可以将符合相应策略规则的数据包转发给指定的虚拟机,实现策略路由功能,使得用户可以根据实际需求使数据包按照特定的路径传输,从而能够提高云环境中路由功能的灵活性。
2、在本发明实施例中,用户通过设定策略规则,可以使不同类型的数据包通过不同的链路进行转发,这样可以更加合理地对数据包的转发路径进行规划,使不同的数据流通过不同的链路进行转发,进而提高链路的利用率,使得不同虚拟机之间传输数据的速度更快。
3、在本发明实施例中,如果目标数据包与各个策略规则均不匹配,则说明用户未制定针对该类型数据包的路由规则,相应的按照静态路由的方式根据目的地址来转发该数据包。因此,通过该方法不仅可以实现静态路由功能,还能过实现策略路由功能,进一步提升了路由功能的灵活性和可控性。
4、在本发明实施例中,为了实现策略路由功能,将虚拟路由器的反向路由校验功能关闭,使得虚拟路由器不再去校验反向路由的连通状态,保证虚拟路由器在接收到一个虚拟机的数据包后能够正常将数据包转发给其他虚拟机,进而保证策略路由功能可以正常实现。
5、在本发明实施例中,用户预先设定有一个或多个策略规则,在使用策略路由功能的过程中,用户可以根据实际需求添加新的策略规则,也可以对现有的策略规则进行删除、修改和查看,从而可以按照用户的实际需求调整对不同类型数据包进行路由的规则,从而满足不同用户的个性化需求,提升用户的使用满意度。
6、在本发明实施例中,数据包的属性信息包括源IP地址、目的IP地址、源端口、目的端口和协议类型中的部分或全部,这些信息可以用于确定数据包是否与相应的策略规则相匹配,用户基于这些信息来指定策略规则,可以准确地将不同类型的数据包分类,进而可以准确地分配数据包至不同的链路进行转发,在保证链路具有较高利用率的同时,保证不同虚拟机之间传输数据包时具有较快的速度。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.策略路由实现方法,其特征在于,包括:
接收来自第一虚拟机的目标数据包;
根据所述目标数据包的属性信息,检测预先设定的至少一个策略规则中是否存在与所述目标数据包相匹配的目标策略规则;
如果存在与所述目标数据包相匹配的所述目标策略规则,则为所述目标数据包添加与所述目标策略规则相匹配的路径标签;
查找与所述路径标签相匹配的路由表,获得记载在所述路由表中的下一跳地址,其中,所述下一跳地址用于标识第二虚拟机;
将所述目标数据包转发给所述第二虚拟机。
2.根据权利要求1所述的方法,其特征在于,在所述检测预先设定的至少一个策略规则中是否存在与所述目标数据包相匹配的目标策略规则之后,进一步包括:
如果不存在与所述目标数据包相匹配的所述目标策略规则,则执行:
获取所述目标数据包所包括的目的地址;
根据所述目的地址将所述目标数据包发送给与所述目的地址相对应的第三虚拟机。
3.根据权利要求1所述的方法,其特征在于,在所述接收来自第一虚拟机的目标数据包之前,进一步包括:
关闭反向路由校验功能。
4.根据权利要求1所述的方法,其特征在于,进一步包括:
接收来自用户的策略配置指令,并根据所述策略配置指令进行策略配置,其中,所述策略配置包括对所述至少一个策略规则进行删除、修改、查看以及添加新策略规则中的至少一项操作。
5.根据权利要求1至4中任一所述的方法,其特征在于,
所述属性信息包括所述目标数据包的源IP地址、目的IP地址、源端口、目的端口和协议类型中的至少一个。
6.策略路由实现装置,其特征在于,包括:
一个数据接收模块,用于接收来自第一虚拟机的目标数据包;
一个规则匹配模块,根据所述数据接收模块接收到的所述目标数据包的属性信息,检测预先设定的至少一个策略规则中是否存在与所述目标数据包相匹配的目标策略规则;
一个打标签模块,用于在所述规则匹配模块确定存在与所述目标数据包相匹配的所述目标策略规则时,为所述目标数据包添加与所述目标策略规则相匹配的路径标签;
一个地址查找模块,用于查找与所述打标签模块添加的所述路径标签相匹配的路由表,获得记载在所述路由表中的下一跳地址,其中,所述下一跳地址用于标识第二虚拟机;
一个第一数据转发模块,用于将所述目标数据包转发给所述地址查找模块获得的所述下一跳地址所标识的所述第二虚拟机。
7.根据权利要求6所述的装置,其特征在于,进一步包括:
一个第二数据转发模块,用于在所述规则匹配模块确定不存在与所述目标数据包相匹配的所述目标策略规则时,获取所述目标数据包所包括的目的地址,并根据所述目的地址将所述目标数据包发送给与所述目的地址相对应的第二虚拟机。
8.根据权利要求6所述的装置,其特征在于,进一步包括:
一个校验关闭模块,用于关闭反向路由校验功能。
9.根据权利要求6所述的装置,其特征在于,进一步包括:
一个策略配置模块,用于接收来自用户的策略配置指令,并根据所述策略配置指令进行策略配置,其中,所述策略配置包括对所述至少一个策略规则进行删除、修改、查看以及添加新策略规则中的至少一项操作。
10.根据权利要求6至9中任一所述的装置,其特征在于,
所述属性信息包括所述目标数据包的源IP地址、目的IP地址、源端口、目的端口和协议类型中的至少一个。
CN202010030137.7A 2020-01-13 2020-01-13 策略路由实现方法和装置 Pending CN111181861A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010030137.7A CN111181861A (zh) 2020-01-13 2020-01-13 策略路由实现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010030137.7A CN111181861A (zh) 2020-01-13 2020-01-13 策略路由实现方法和装置

Publications (1)

Publication Number Publication Date
CN111181861A true CN111181861A (zh) 2020-05-19

Family

ID=70623695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010030137.7A Pending CN111181861A (zh) 2020-01-13 2020-01-13 策略路由实现方法和装置

Country Status (1)

Country Link
CN (1) CN111181861A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817689A (zh) * 2021-01-08 2021-05-18 北京金山云网络技术有限公司 对虚拟机进行分类排序的方法、装置和电子设备
CN112866008A (zh) * 2020-12-30 2021-05-28 北京天融信网络安全技术有限公司 Nat规则的使能属性配置方法、装置、电子设备及存储介质
CN112910877A (zh) * 2021-01-27 2021-06-04 浪潮云信息技术股份公司 基于openstack实现安全组黑名单的方法及***
CN112968841A (zh) * 2021-03-04 2021-06-15 杭州迪普信息技术有限公司 报文汇聚分流方法、装置和电子设备
CN113810283A (zh) * 2021-09-16 2021-12-17 中国联合网络通信集团有限公司 网络安全配置方法、装置、服务器及存储介质
CN113992580A (zh) * 2021-09-23 2022-01-28 新华三信息安全技术有限公司 一种修改策略路由的方法及设备
CN114285779A (zh) * 2021-12-21 2022-04-05 度小满科技(北京)有限公司 测试请求的处理方法、装置和***
WO2022127714A1 (zh) * 2020-12-14 2022-06-23 苏州盛科通信股份有限公司 一种默认策略路由的芯片实现方法、数据报文的芯片处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846358A (zh) * 2016-09-19 2018-03-27 北京金山云网络技术有限公司 一种数据传输方法、装置及网络***
CN108123819A (zh) * 2016-11-30 2018-06-05 江南大学 一种虚实网络无缝融合的仿真方法
CN108737272A (zh) * 2017-04-19 2018-11-02 江南大学 一种云计算中高性能路由转发方法
CN110061921A (zh) * 2019-04-17 2019-07-26 北京云杉世纪网络科技有限公司 一种云平台数据包分发方法及***
CN110650092A (zh) * 2019-09-24 2020-01-03 网易(杭州)网络有限公司 一种数据处理的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846358A (zh) * 2016-09-19 2018-03-27 北京金山云网络技术有限公司 一种数据传输方法、装置及网络***
CN108123819A (zh) * 2016-11-30 2018-06-05 江南大学 一种虚实网络无缝融合的仿真方法
CN108737272A (zh) * 2017-04-19 2018-11-02 江南大学 一种云计算中高性能路由转发方法
CN110061921A (zh) * 2019-04-17 2019-07-26 北京云杉世纪网络科技有限公司 一种云平台数据包分发方法及***
CN110650092A (zh) * 2019-09-24 2020-01-03 网易(杭州)网络有限公司 一种数据处理的方法和装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022127714A1 (zh) * 2020-12-14 2022-06-23 苏州盛科通信股份有限公司 一种默认策略路由的芯片实现方法、数据报文的芯片处理方法及装置
CN112866008A (zh) * 2020-12-30 2021-05-28 北京天融信网络安全技术有限公司 Nat规则的使能属性配置方法、装置、电子设备及存储介质
CN112866008B (zh) * 2020-12-30 2023-09-01 北京天融信网络安全技术有限公司 Nat规则的使能属性配置方法、装置、电子设备及存储介质
CN112817689A (zh) * 2021-01-08 2021-05-18 北京金山云网络技术有限公司 对虚拟机进行分类排序的方法、装置和电子设备
CN112910877A (zh) * 2021-01-27 2021-06-04 浪潮云信息技术股份公司 基于openstack实现安全组黑名单的方法及***
CN112968841A (zh) * 2021-03-04 2021-06-15 杭州迪普信息技术有限公司 报文汇聚分流方法、装置和电子设备
CN113810283A (zh) * 2021-09-16 2021-12-17 中国联合网络通信集团有限公司 网络安全配置方法、装置、服务器及存储介质
CN113992580A (zh) * 2021-09-23 2022-01-28 新华三信息安全技术有限公司 一种修改策略路由的方法及设备
CN114285779A (zh) * 2021-12-21 2022-04-05 度小满科技(北京)有限公司 测试请求的处理方法、装置和***
CN114285779B (zh) * 2021-12-21 2024-05-14 度小满科技(北京)有限公司 测试请求的处理方法、装置和***

Similar Documents

Publication Publication Date Title
CN111181861A (zh) 策略路由实现方法和装置
US10063475B2 (en) Segment routing extension headers
US9559954B2 (en) Indexed segment ID
US9246799B2 (en) Data plane learning of bi-directional service chains
JP6112165B2 (ja) 通信システム、制御装置、通信方法およびプログラム
CN105872008B (zh) 用于信息中心网络中的基于自适应命名的点播内容交换的***和方法
WO2020073685A1 (zh) 转发路径确定方法、装置、***、计算机设备及存储介质
CN108702326A (zh) 检测软件定义网络(sdn)中的控制平面循环的机制
US10616175B2 (en) Forwarding information to forward data to proxy devices
CN113296869B (zh) 一种虚拟机vm的迁移方法及装置
CN109495320B (zh) 一种数据报文的传输方法和装置
CN109756521B (zh) 一种nsh报文处理方法、装置及***
CN112035216A (zh) 一种Kubernetes集群网络和OpenStack网络的打通方法
WO2021143610A1 (zh) 流表项的控制方法、装置及***
CN110035006A (zh) 转发平面重置的单独网络设备
CN110430116A (zh) 数据转发方法及装置、边缘设备及可读存储介质
CN113438329A (zh) Mac地址发送方法、装置和***
CN108322393A (zh) 路由链路管理方法和***、虚拟路由网关和宿主机网关
CN101132374B (zh) 一种发送报文的方法及装置
CN106789664B (zh) 一种路由聚合方法及装置
CN112511438B (zh) 一种利用流表转发报文的方法、装置及计算机设备
CN110661713B (zh) 一种报文转发方法及装置
US11811901B2 (en) Platform agnostic abstraction for forwarding equivalence classes with hierarchy
CN116545665A (zh) 一种安全引流方法、***、设备及介质
CN106059810B (zh) 一种消息通知方法及***

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200519

RJ01 Rejection of invention patent application after publication