一、DVR描述

分布式路由

二、相关的专业术语

术语名称 术语解释
SNAT

在路由器后(POSTROUTING)将内网的ip地址修改为外网网卡的ip地址,也就是绑定浮动IP和外部通信

DNAT

在路由前(PREROUTING)将来自外网访问网关ip和对应端口的目的ip及端口修改为内部服务器的ip及端口,实现发布内部服务器。也就是不绑定浮动IP,访问外网

三、传统网络节点的处理架构

传统的云平台,部署单网络节点时,架构如下:

此种方式东西向和南北向的流量会集中在网络节点,网络节点有可能会成为瓶颈。此种部署方式采用单个网络节点,如果网络节点故障,会导致平台的虚拟机网络故障,外部无法访问虚机。

四、DVR部署模式原理

基于上面传统的架构,处理的核心是路由器服务。如果计算节点上能实现路由器服务的话,无疑是比较合理的。因此,为了降低网络节点的负载,同时提高可扩展性,从而引入了分布式路由(DVR)服务,让计算节点来处理原先大量的东西向流量和DNAT流量(有浮动IP的VM和外部的通信)。这样的话,网络节点只需要处理占到一部分的SNAT(无浮动IP的VM跟外部的通信),大大降低了负载和整个系统对网络节点的依赖。

DVR部署的优势:

1)东西向流量的吞吐量的增加

2)高东西流量下,VM的平均带宽增加

3)南北向流量和东西向流量不再相互干扰

4)当东西向流量在同一个Hypervisor上,就不会走不必要的路径

适用场景:

网络的访问过程,涉及到路由服务的至少是需要跨子网的访问。包括是否是同一机器,是否涉及外部网络。从网络流量上看,涉及东西向和南北向流量。

东西向流量:

1)同一机器

如下图所示,同一机器的VM1和VM2访问,路由器直接在br-int上转发,不经过外部网桥

2)不同机器

VM1和VM4在不同的机器上,VM1访问VM4时,请求过程是计算节点上的IR1起路由器功能,返程的过程由目的计算节点的IR1路由器起作用。两个路由器的ID和内部接口,功能其实是一样的。

南北向流量:

1)无浮动IP

这种情况下,即VM没有绑定浮动IP时,跟传统的模式比较类似。此时,租户T1在外部,通过默认的SNAT网关访问内部子网的VM2时,网络节点上的T1-SNAT起到了路由器的作用。反过来,如果VM2访问外部的网络,则仍然需要经过网络节点上的T1-SNAT路由器。为什么必须从网络节点上走,因为对于外部网络来说,看到的都是外部接口的地址,这个地址只有一个。

2) 有浮动IP

有浮动IP时,VM2和VM1之间的访问,计算节点上的专门负责的外部路由器将负责进行转发,即计算节点上的IR1

东西向流量:同一租户不同网段的虚拟机间的通信,具体分为同一个物理节点上不同网段内的虚拟机之间的通信和不同物理节点上不同网段虚拟机之间的通信。

南北向流量:虚拟机访问internet的流量通常需要经过SNAT处理和internet访问虚拟机的流量可能需要经过DNAT处理

DVR部署架构:

openstack网络DVR的更多相关文章

  1. 深入理解 Neutron -- OpenStack 网络实现(3):VXLAN 模式

    问题导读1.VXLAN 模式下,网络的架构跟 GRE 模式类似,他们的不同点在什么地方?2.网络节点的作用是什么?3.tap-xxx.qr-xxx是指什么? 接上篇:深入理解 Neutron -- O ...

  2. 深入理解 Neutron -- OpenStack 网络实现(1):GRE 模式

    问题导读1.什么是VETH.qvb.qvo?2.qbr的存在的作用是什么?3.router服务的作用是什么? 如果不具有Linux网络基础,比如防火墙如何过滤ip.端口或则对openstack ovs ...

  3. 绝不能错过的10款最新OpenStack网络运维 & 监控工具

    摘要 今天我们要推荐给大家的是关于奥斯汀OpenStack Summit的OpenStack网络方面功能与工具相关的技术演讲. 希望可以帮助国内的开发者.架构师和用户更好地了解OpenStack在SD ...

  4. OpenStack网络新项目Dragonflow研究

    https://www.ustack.com/blog/openstack-dragonflow/ 本文由2015年5月30日举行的OpenStack Meetup北京上的演讲整理而成,演讲者为Uni ...

  5. 一文理解OpenStack网络

    摘要:如果你能理解OpenStack的网络,那么对于其他云平台的网络,应该也可以通过分析后理解掌握了. 本文分享自华为云社区<<跟唐老师学习云网络> - OpenStack网络实现& ...

  6. 开发人员必读openstack网络基础

    云计算中的网络非常复杂,需要对网络的基础理论有一定的认识和了解,转载网上针对openstack中涉及到网络概念的文章 开发人员必读openstack网络基础1:什么是L2.L3 开发人员必读opens ...

  7. 深入理解openstack网络架构(4)-----连接到public network

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture3 译文转自:http://b ...

  8. 深入理解openstack网络架构(3)-----路由

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture2 译文转自:http://b ...

  9. 深入理解openstack网络架构(1)

    原文地址: https://blogs.oracle.com/ronen/entry/diving_into_openstack_network_architecture 译文转载自:http://b ...

随机推荐

  1. English Voice of <<Just Give Me A Reason>>

    Right from the start, you were a thief,打从一开始,你就是个偷心贼You stole my heart and你偷走了我的心I your willing vict ...

  2. OnSen UI结合AngularJs打造”美团"APP底部导航栏 --Hybrid App

    1.页面效果图:(点击底部导航按钮,可切换到不同的页面) 演示地址:http://www.nxl123.cn/bokeyuan/2018080301/meiTuanDemo/ 2.项目目录结构 3.核 ...

  3. Confluence 6 从一个模板中创建一个空间

    Confluence 已经存储了一系列的模板,这些模板被称为 空间蓝图(space blueprints),这模板具有一些自定义的主页,边栏或者可能有蓝图页面或一些示例内容来帮助你开始使用 Confl ...

  4. 正睿 2018 提高组十连测 Day2 T2 B

    题目链接 http://www.zhengruioi.com/contest/84/problem/318 题解写的比较清楚,直接扒过来了. B 算法 1 直接按题意枚举,动态规划或是记忆化搜索. 时 ...

  5. Maxim and Array CodeForces - 721D (贪心)

    大意: 给定序列, 每次操作选择一个数+x或-x, 最多k次操作, 求操作后所有元素积的最小值 贪心先选出绝对值最小的调整为负数, 再不断选出绝对值最小的增大它的绝对值 #include <io ...

  6. HDU - 4780费用流

    题意:M台机器要生产n个糖果,糖果i的生产区间在(si, ti),花费是k(pi-si),pi是实际开始生产的时间机器,j从初始化到生产糖果i所需的时间Cij,花费是Dij,任意机器从生产糖果i到生产 ...

  7. spring boot(二十)使用spring-boot-admin对服务进行监控

    上一篇文章<springboot(十九):使用Spring Boot Actuator监控应用>介绍了Spring Boot Actuator的使用,Spring Boot Actuato ...

  8. php导出大数据scv

    1.我系统要导出30w的数据,刚开始我使用的是: ini_set('memory_limit', '1024M');set_time_limit(0); header("Content-ty ...

  9. SQL Server跨服务器建立视图

    create view View_AppCus as select dwmch,zjm from ksoa.dbo.mchk SQL Server跨服务器操作经常需要用到,下面就为你介绍的是SQL S ...

  10. 数据结构与算法之PHP实现队列、栈

    一.队列 1)队列(Queue)是一种先进先出(FIFO)的线性表,它只允许在表的前端进行删除操作,在表的后端进行插入操作,进行插入操作的端称为队尾,进行删除操作的端称为队头.即入队只能从队尾入,出队 ...