智汇华云 | ArSDN 之分布式路由及浮动 IP 简介
随着互联网、云计算、网络存储、物联网为代表的新应用、新运营模式的兴起,不仅带来流量的快速增长,更使得用户在建设多业务 IP 网络的同时,面临更加复杂的运维挑战以及对业务进行快速导入与部署的要求。本期智汇华云,为大家带来分布式路由及浮动 IP 简介,帮助更多用户简化运维、挖掘网络潜能、释放网络价值。
虚拟路由器是 SDN 中的跨网络通信的解决方案。分布式路由(DVR,distributed virtual router)是相对于集中式路由而言。集中式路由是将虚拟路由器部署在网络节点,分布式路由器是将虚拟路由器部署在计算节点。分布式路由提供了一种高可靠,低时延,无性能瓶颈的部署方式。
浮动 IP 是 SDN 中 overlay 网络和外部网络互通的一种方式。通过给虚拟机端口绑定一个外网 IP,实现内外双向互访。浮动 IP 可以与虚拟机端口可以绑定和解绑,实现资源重复利用。
分布式路由
分布式路由的好处
每一个节点都可以进出流量,如果单一节点故障,不影响其它节点流量转发。当故障节点恢复时,流量可以自动恢复。自愈性较强。
易扩展,新加入的节点流量也是从本节点即可进出,不会增加整个集群的负担。
SDN 控制器
分布式路由的转发面是在各自计算节点来实现,但为了减轻计算节点的负担,需要 SDN 控制器进行统一的路由计算,对路由进行集中式管理,并将计算结果下发路由到各个计算节点。此外,SDN 其它高级功能都通过 SDN 控制器将控制平面相关数据转换成 vRouter 可理解的数据面模型,下发到所有的计算节点。
每个计算节点内部都有相应的 vRouter 模块处理相关的路由信息,维护相关的二三层转发表项。这样就极大程度抑制了 ARP 广播报文对网络的影响。
vRouter 转发模块
转发模块承担了接收控制器发来的路由信息,并根据路由信息维护本节点的相关转发表项。提供对数据报文的转发功能,并可以提供安全组,防火墙等一些基本的安全相关功能。
报文转发流程
跨节点:Black 网络中的虚机,在进行跨网络访问 Red 网络虚机时,流量直接从本节点发出,经过物理的 IP 网络到达另一端的物理节点,并上送到虚机。
同节点:Black 网络中的虚机,在访问同节点 Red 网络的虚机时,流量不会从本节点发出,而是直接在本节点内部转发到目的虚机。
浮动 IP
应用场景
SDN 解决方案中,将网络分为了 Overlay 和 Underlay 网络。Overlay 的网络采用封装的方式用以同 Underlay 的网络区分。Underlay 网络只负责提供 IP Backbone 的基本功能。
外部用户如果想要访问 Overlay 的虚机,需要通过给虚拟机端口关联浮动 IP 的方式才能进行对内部的访问。
另外,在使用负载均衡器服务的时候,由于业务大多是对外提供,也需要将 LB 的 VIP 绑定到一个 Floating IP 上,才能让外部用户访问到内部的服务。
实现方式
在 OpenStack 的实现中,Floating IP 需要将外网和私网关联到同一个路由器中才能实现。即需要先创建外网,内网,并创建路由器,然后将内网关联到路由器中,然后在将外网作为网关加入路由器。此时从外网分配出来的浮动 IP 关联到虚机后才能真正从外部访问虚拟机。
而 SDN 的实现并不需要这样。只要创建外部网络后,分配出浮动 IP 并关联到虚拟机端口即可。
此方式更为灵活,节省用户 IP 占用。
由于采用 Overlay 网络,用户的数据报文采用的是封装模式,所以需要一个 SDN gateway 来对数据报文进行解封装,这样才能跟外部网络进行直接通信。我们采用软件 gateway 的方式来解耦对硬件的依赖。每一个计算节点都可以作为一个 Gateway 节点。
网络流量从虚机流出后,直接在本地进行转发,经过 SNAT 转换为浮动 IP,然后在经由软件 gateway 节点进行解封装后发出。
外部流量在访问浮动 IP 时,也会先经过软件 gateway 节点,将流量进行封装,在经过 DNAT 后发往虚机。
评论