【技术实现步骤摘要】
一种openstack中基于流表的l3
‑
agent实现方法
[0001]本专利技术涉及云计算
,尤其涉及一种openstack中基于流表的l3
‑
agent实现方法。
技术介绍
[0002]在当前的openstack l3
‑
agent实现中,大量使用了linux网络命名空间,linux bridge,iptables,tap/tun/veth接口等技术.在使用分布式路由的场景下,执行创建路由器命令后会在网络节点和计算节点上创建相关的网络设备和网络命名空间,用来实现路由转发等功能.这种方案已经被openstack中大量使用,但是存在明显的性能问题:经过多个虚拟网络设备的处理后,网络性能损耗巨大.特别需要提及的是,在使用ovs+dpdk的场景下,使用tap和veth接口,性能远低于预期值.因此本专利提出了一种新的使用全流表方式实现l3
‑
agent的方法,用来解决上述背景下网络性能低的问题。
[0003]全流表方案实际上存在多种解决方案.OVN是其中一个比较热门的技术.使用OVN的情况下,很容易和CMS(Cloud Management System)集成,对于openstack的各种网络功能而言,实际上只需要调用OVN的接口即可,可以省略各种agent,而且不再对消息队列有严重依赖.但从实际使用的角度看,也存在很多问题,如低版本不支持OVN功能,数据库节点存在瓶颈问题,已经部署OVS环境迁移到OVN环境需要很多额外的工作,对于网络
【技术保护点】
【技术特征摘要】
1.一种openstack中基于流表的l3
‑
agent实现方法,其特征在于,包括:1)使用流表实现网关arp代答2)使用流表实现网关ICMPv4代答3)使用流表实现虚机间的三层路由4)使用流表控制器实现FIP触发远端arp请求5)使用流表实现FIP功能6)使用流表实现FIP端口转发功能7)本地更新内容缓存机制8)通过配置实现功能开关。2.根据权利要求1所述的方法,其特征在于,具体包括以下步骤:(1)server端给router添加网络时,通过消息队列发送消息到agent,触发router网关创建.agent收到信息,使用全流表的方式实现虚拟网关arp代答;(2)server端给router添加网络时,通过消息队列发送消息到agent,触发router网关创建.agent收到信息,使用全流表的方式实现虚拟网关icmp代答;(3)server端给router添加网络时,通过消息队列发送消息到agent,触发router网关创建.agent收到信息,使用全流表的方式实现路由转发功能;(4)server端给port绑定fip时,通过消息队列发送消息至agent端,agent端使用全流表的方式实现FIP/FIP端口转发功能;(5)不再使用其他虚拟网络设备;(6)引入更新内容缓存机制,缓存更新信息到本地,解决控制层面数据库的访问瓶颈问题;(7)引入配置开关,实现原有方案和现有方案的顺利切换和迁移。3.根据权利要求书2中所述的方法,其特征在于,网关arp代答当server端成功创建router并将网络添加到router,server端将通过消息队列将网络已经添加到router的消息发送给agent端,这个时候agent端将处理这个消息,即创建对应网络的网关;原有实现中由于存在实体网关,即qrouter网络命名空间中的接口,可以响应arp请求;现有的流表化实现中,由于不存在实体网关,要求虚机在发送arp请求后,可直接在本地(计算节点)流表处理过程中响应arp。4.根据权利要求书2中所述的方法,其特征在于,网关ICMP代答当server端成功创建router并将网络添加到router,server端将通过消息队列将网络已经添加到router的消息发送给agent端,这个时候agent端将处理这个消息,即创建对应网络的网关;原有实现中由于存在实体网关,即qrouter网络命名空间中的接口,可以...
【专利技术属性】
技术研发人员:陈玉林,高传集,谢涛涛,宋伟,杨燚,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。