一种基于OpenStack云平台转发报文的方法和系统技术方案

技术编号:20394757 阅读:33 留言:0更新日期:2019-02-20 04:53
本发明专利技术公开了一种基于OpenStack云平台转发报文的方法和系统,属于虚拟机技术领域。所述方法包括:所述计算集成网桥在转发指向与其连接的目标RS的请求报文时,根据对应所述目标RS的输入流记录规则,将非所述负载均衡器转发的请求报文的报文信息记录在预设的请求报文记录表中;所述计算集成网桥在转发所述目标RS发出的数据报文时,根据对应所述目标RS的输出流配置规则,将所述请求报文记录表中不存在对应的报文信息的数据报文转发至所述负载均衡器。采用本发明专利技术,可以自动识别来自负载均衡器的报文和非负载均衡器的报文,精准的控制出入后端RS的流量转发路径,有效传输响应报文,保证了OpenStack云平台服务的正常实现。

【技术实现步骤摘要】
一种基于OpenStack云平台转发报文的方法和系统
本专利技术涉及虚拟机
,特别涉及一种基于OpenStack云平台转发报文的方法和系统。
技术介绍
LVS(Linux虚拟服务器,LinuxVirtualServer)技术是运用在OpenStack云平台中,将多台低性能的服务器合成为一台高性能的虚拟服务器的技术,LVS由负载均衡器、RS(真实服务器,RealServer)组和共享存储组成。其中,负载均衡器是LVS的接入点,可以采用IP负载均衡技术和请求分发技术将到达LVS的请求报文均衡地分发给RS组中的每台RS。在LVS的NAT(网络地址转换,NetworkAddressTranslation)模式下,LVS虚拟出一个用于对外访问的IP(即VIP),客户端可以通过VIP向LVS发送请求报文,处理完成后然后返回给客户端数据。当用户请求到达LVS时,负载均衡器可以根据预设的调度规则选择一个RS,并将请求报文中的目的IP地址(即VIP)改成RS的IP地址,同时将请求报文中的目的端口也改成RS的端口,然后可以将请求报文发给RS进行处理。RS处理完用户请求生成响应报文,可以将响应报文发送给负载均衡器,之后负载均衡器可以将响应报文中的源IP地址和源端口改成负载均衡器的IP地址和端口,再把响应报文发送给客户端,上述报文转发机制可以参考图1所示。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:NAT模式下,后端的RS需要将默认网关修改为负载均衡器的VIP,而在修改之后,一方面,如图2所示,当客户端不通过负载均衡器直接访问RS时,RS的响应报文会发送给负载均衡器,负载均衡器接收后会丢弃该响应报文,另一方面,如图3所示,当客户端与RS处于相同网段时,客户端通过负载均衡器访问RS,RS的响应报文会直接发送给客户端,客户端接收后也会丢弃该响应报文,故而,响应报文无法有效传输,OpenStack云平台服务因此无法正常实现。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种基于OpenStack云平台转发报文的方法和系统。所述技术方案如下:第一方面,提供了一种基于OpenStack云平台转发报文的方法,所述方法运用于OpenStack云平台,所述OpenStack云平台包括至少一个计算节点和网络节点,所述计算节点包括计算集成网桥和至少一台RS,所述网络节点包括负载均衡器,所述方法包括:所述计算集成网桥在转发指向与其连接的目标RS的请求报文时,根据对应所述目标RS的输入流记录规则,将非所述负载均衡器转发的请求报文的报文信息记录在预设的请求报文记录表中;所述计算集成网桥在转发所述目标RS发出的数据报文时,根据对应所述目标RS的输出流配置规则,将所述请求报文记录表中不存在对应的报文信息的数据报文转发至所述负载均衡器。可选的,所述OpenStack云平台还包括控制节点,所述方法还包括:所述控制节点接收目标RS的添加/删除请求,确定所述目标RS的导流配置数据;所述控制节点基于所述目标RS的导流配置数据,通过neutronml2插件调用计算节点上的neutron-openvswitch-agent,在所述计算集成网桥上添加/删除对应所述目标RS的输入流记录规则和输出流配置规则。可选的,所述计算集成网桥在转发指向与其连接的目标RS的请求报文时,根据对应所述目标RS的输入流记录规则,将非所述负载均衡器转发的请求报文的报文信息记录在预设的请求报文记录表中,包括:所述计算集成网桥接收指向与其连接的目标RS的请求报文,确定所述请求报文的源MAC地址;如果所述源MAC地址不是所述负载均衡器的MAC地址,所述计算集成网桥则在预设的请求报文记录表中记录所述请求报文的五元组信息;所述计算集成网桥向所述目标RS发送所述请求报文。可选的,所述如果所述源MAC地址不是所述负载均衡器的MAC地址,所述计算集成网桥则在预设的请求报文记录表中记录所述请求报文的五元组信息,包括:如果所述源MAC地址不是所述负载均衡器的MAC地址,且所述请求报文的传输层协议为TCP协议,所述计算集成网桥则在预设的请求报文记录表中记录所述请求报文的五元组信息。可选的,所述计算集成网桥在转发所述目标RS发出的数据报文时,根据对应所述目标RS的输出流配置规则,将所述请求数据流记录表中不存在对应的报文信息的数据报文转发至所述负载均衡器,包括:所述计算集成网桥接收所述目标RS发出的数据报文,获取所述请求报文记录表;如果所述数据报文不是所述请求报文记录表中任一报文信息对应的响应报文,所述计算集成网桥则将所述数据报文的目的MAC地址设置为负载均衡器的MAC地址;所述计算集成网桥根据所述数据报文的目的MAC地址继续发送所述数据报文。可选的,所述如果所述数据报文不是所述请求报文记录表中任一报文信息对应的响应报文,所述计算集成网桥则将所述数据报文的目的MAC地址设置为负载均衡器的MAC地址,包括:如果所述数据报文不是所述请求报文记录表中任一报文信息对应的响应报文,且所述数据报文的源端口为预设的待监听端口,所述计算集成网桥则将所述数据报文的目的MAC地址设置为负载均衡器的MAC地址。可选的,所述计算集成网桥接收所述目标RS发出的数据报文之后,还包括:如果所述数据报文的目的MAC地址为所述负载均衡器的MAC地址,所述计算集成网桥直接向所述负载均衡器发送所述数据报文。第二方面,提供了一种基于OpenStack云平台转发报文的系统,所述系统包括至少一个计算节点和网络节点,所述计算节点包括计算集成网桥和至少一台RS,所述网络节点包括负载均衡器,其中,所述计算集成网桥,用于:在转发指向与其连接的目标RS的请求报文时,根据对应所述目标RS的输入流记录规则,将非所述负载均衡器转发的请求报文的报文信息记录在预设的请求报文记录表中;在转发所述目标RS发出的数据报文时,根据对应所述目标RS的输出流配置规则,将所述请求报文记录表中不存在对应的报文信息的数据报文转发至所述负载均衡器。可选的,所述系统还包括控制节点,所述控制节点,用于:接收目标RS的添加/删除请求,确定所述目标RS的导流配置数据;基于所述目标RS的导流配置数据,通过neutronml2插件调用计算节点上的neutron-openvswitch-agent,在所述计算集成网桥上添加/删除对应所述目标RS的输入流记录规则和输出流配置规则。可选的,所述计算集成网桥,具体用于:接收指向与其连接的目标RS的请求报文,确定所述请求报文的源MAC地址;如果所述源MAC地址不是所述负载均衡器的MAC地址,则在预设的请求报文记录表中记录所述请求报文的五元组信息;向所述目标RS发送所述请求报文。可选的,所述计算集成网桥,具体用于:如果所述源MAC地址不是所述负载均衡器的MAC地址,且所述请求报文的传输层协议为TCP协议,则在预设的请求报文记录表中记录所述请求报文的五元组信息。可选的,所述计算集成网桥,具体用于:接收所述目标RS发出的数据报文,获取所述请求报文记录表;如果所述数据报文不是所述请求报文记录表中任一报文信息对应的响应报文,则将所述数据报文的目的MAC地址设置为负载均衡器的MAC地址;根据所述数据报文的目的MAC地址继续发送所述数据报文。可选的,本文档来自技高网
...

【技术保护点】
1.一种基于OpenStack云平台转发报文的方法,其特征在于,所述方法运用于OpenStack云平台,所述OpenStack云平台包括至少一个计算节点和网络节点,所述计算节点包括计算集成网桥和至少一台RS,所述网络节点包括负载均衡器,所述方法包括:所述计算集成网桥在转发指向与其连接的目标RS的请求报文时,根据对应所述目标RS的输入流记录规则,将非所述负载均衡器转发的请求报文的报文信息记录在预设的请求报文记录表中;所述计算集成网桥在转发所述目标RS发出的数据报文时,根据对应所述目标RS的输出流配置规则,将所述请求报文记录表中不存在对应的报文信息的数据报文转发至所述负载均衡器。

【技术特征摘要】
1.一种基于OpenStack云平台转发报文的方法,其特征在于,所述方法运用于OpenStack云平台,所述OpenStack云平台包括至少一个计算节点和网络节点,所述计算节点包括计算集成网桥和至少一台RS,所述网络节点包括负载均衡器,所述方法包括:所述计算集成网桥在转发指向与其连接的目标RS的请求报文时,根据对应所述目标RS的输入流记录规则,将非所述负载均衡器转发的请求报文的报文信息记录在预设的请求报文记录表中;所述计算集成网桥在转发所述目标RS发出的数据报文时,根据对应所述目标RS的输出流配置规则,将所述请求报文记录表中不存在对应的报文信息的数据报文转发至所述负载均衡器。2.根据权利要求1所述的方法,其特征在于,所述OpenStack云平台还包括控制节点,所述方法还包括:所述控制节点接收目标RS的添加/删除请求,确定所述目标RS的导流配置数据;所述控制节点基于所述目标RS的导流配置数据,通过neutronml2插件调用计算节点上的neutron-openvswitch-agent,在所述计算集成网桥上添加/删除对应所述目标RS的输入流记录规则和输出流配置规则。3.根据权利要求1所述的方法,其特征在于,所述计算集成网桥在转发指向与其连接的目标RS的请求报文时,根据对应所述目标RS的输入流记录规则,将非所述负载均衡器转发的请求报文的报文信息记录在预设的请求报文记录表中,包括:所述计算集成网桥接收指向与其连接的目标RS的请求报文,确定所述请求报文的源MAC地址;如果所述源MAC地址不是所述负载均衡器的MAC地址,所述计算集成网桥则在预设的请求报文记录表中记录所述请求报文的五元组信息;所述计算集成网桥向所述目标RS发送所述请求报文。4.根据权利要求3所述的方法,其特征在于,所述如果所述源MAC地址不是所述负载均衡器的MAC地址,所述计算集成网桥则在预设的请求报文记录表中记录所述请求报文的五元组信息,包括:如果所述源MAC地址不是所述负载均衡器的MAC地址,且所述请求报文的传输层协议为TCP协议,所述计算集成网桥则在预设的请求报文记录表中记录所述请求报文的五元组信息。5.根据权利要求1所述的方法,其特征在于,所述计算集成网桥在转发所述目标RS发出的数据报文时,根据对应所述目标RS的输出流配置规则,将所述请求数据流记录表中不存在对应的报文信息的数据报文转发至所述负载均衡器,包括:所述计算集成网桥接收所述目标RS发出的数据报文,获取所述请求报文记录表;如果所述数据报文不是所述请求报文记录表中任一报文信息对应的响应报文,所述计算集成网桥则将所述数据报文的目的MAC地址设置为负载均衡器的MAC地址;所述计算集成网桥根据所述数据报文的目的MAC地址继续发送所述数据报文。6.根据权利要求5所述的方法,其特征在于,所述如果所述数据报文不是所述请求报文记录表中任一报文信息对应的响应报文,所述计算集成网桥则将所述数据报文的目的MAC地址设置为负载均衡器的MAC地址,包括:如果所述数据报文不是所述...

【专利技术属性】
技术研发人员:陈楼林观康
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1