随着互联网、云计算、网络存储、物联网为代表的新应用、新运营模式的兴起,不仅带来流量的快速增长,更使得用户在建设多业务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后发往虚机。