带你读《软件定义网络之旅:构建更智能、更快速、更灵活的未来网络》第三章网络功能虚拟化3.4(二)-阿里云开发者社区

开发者社区> 人民邮电出版社> 正文

带你读《软件定义网络之旅:构建更智能、更快速、更灵活的未来网络》第三章网络功能虚拟化3.4(二)

简介: 《软件定义网络之旅:构建更智能、更快速、更灵活的未来网络》第三章网络功能虚拟化3.4
+关注继续查看

3.4.2   与 VNF弹性设计相关的 vPE实例

vPE是一种复合 VNF,它由至少两类被集成到协调系统中的多个 VNF实例构成。可以将vPE转发和控制平面功能划分为两类截然不同的VNF。单个 vPE实例将由多个转发平面 VNF和至少两个控制平面 VNF构成。转发平面 VNF实例通过在多台虚拟机(VM)之间分配客户接口和流量来实现可扩展性。这种设计通过属于整个业务流的小子集在独立转发VNF实例上实现, 从而支持向外扩展。当更多客户被添加到 vPE时,我们可以添加新的转发VNF实例以适应客户 数量增长。通过在服务器发生故障时缩小“爆炸半径”3也可以提供更好的弹性。为了实现这一点,需要将各种转发 VNF实例分配给城域集群的多台服务器。客户可以使用单宿主或多宿主访问链路连接入网。大多数客户使用单宿主访问,因为访问通常是客户网络总成本的主要因素。为了高 可用性而购买第二条访问链路的成本是很高的,对正常运行时间要求高的大型场所来说,客户只 能选择双宿访问模式。


图 3.13给出 3种用于在多个转发 VNF实例上分配转发平面功能的不同设计方案。

对于拥有双宿主访问链路的客户来说,使用多个转发 VNF实例非常简单。每条访问链路将连接到转发 VNF的独立实例,将在客户路由器和每个 VNF实例之间建立 BGP会话,从而支持负载均衡设计。如果转发VNF实例 1失败,则流量将以无中断方式迁移到转发 VNF实例 2上, 如图 3.13a)所示。

对于仅拥有连通网络的单条访问链路客户来说,使用多个转发实例更加困难。存在两种设计方案,如图 3.13b和图 3.13c所示。第一种方案是一种针对两个转发VNF实例的主—备设计。网络云数据中心结构将终止接入线路并管理两条连接,每条连接对应两个转发VNF实例中的一个。CE路由器与转发 VNF实例 1之间只存在 1路 BGP会话。如果转发 VNF实例 1失败,则流量将会停止。需要建立新的 BGP会话来转发 VNF实例 2,且在短暂中断后恢复流量。第二种方案是负载均衡设计,其中,CE路由器将在单接入链路上使用 VLAN,并为两个转发 VNF实例维护两路独立 BGP会话,如图3.13c)所示。该方案支持负载均衡设计,允许在两个转发VNF实例中的任何一个发生故障时实现流量无中断故障恢复。此方案要求客户实现能够利用云中负载均 衡流量转发的新设计。主—备转发器 VNF实例设计也存在缺点。第一,服务行为与单宿主设计中的服务行为并不完全相同。第二,使用静态路由的客户将无法利用主—备设计方案。第三,主— 备设计方案的成本更高,因为它需要为备用转发 VNF实例预留 vPE容量。


由于需要对路由规模进行控制,因而 vPE实例的控制平面要保持相对集中。控制平面VNF需要具有 1∶ 1冗余备份,以避免在导致整个控制平面失效的单台服务器发生故障时,整台 vPE无法正常工作。主—备设计是解决此类问题的一种方法。主—备控制平面VNF实例需要部署在城域集群内地理位置分散的服务器上。这将要求主—备同步逻辑在主、备控制平面 VNF之间的低时延城域连接上工作。由于传统路由器软件设计采用了存在于背板上的主、备用部件,因而预期时延非常低(<100µs。通常,城域距离链路的时延变化范围为15ms。因此,需要重新设计控制平面冗余软件逻辑,以应对增加的时延。

image.png

 

图3.13分布式转发VNF实例

配置管理自动化以及 vPE的激活、停用和移动将与 VNF相关。即使采用与 VNF相关的逻辑,转发平面 VNF实例的移动也会导致服务不连续(中断)。解决方案之一是在多宿主设计中为中间盒VNF提供连续(不间断)的转发能力,其中,单个客户端点与两个不同转发VNF实例建立连接。3.4.1节中描述的服务质量管理功能(速率整形)问题迫使人们采用两个转发 VNF实例的主—备设计方案,而不是负载均衡设计方案。这是由于每个vPE转发 VNF实例与最终客户之间存在着BGP会话。转发 VNF实例的移动将会造成 BGP会话重置,从而导致短时间中断。我们能做的最佳工作就是对BGP定时器进行管理,将中断持续时间维持在10s。如果电路故障时间非常短, 则将BGP定时器设置过低会导致不必要的 BGP重置 4


总之,中间盒VNF设计非常复杂,需要与 VNF有关的逻辑,以使设计具有弹性。当将网络虚拟化与在传统云运行的 Web服务进行比较时,这一点经常会被忽略。Web服务使用主机 VNF,因而完全可以依赖云平台功能来实现弹性。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Windows系统迁移上云后如何激活?
使用整机迁移方式(Re-Host)将Windows迁移至云平台后,由于底层的硬件发生改变,导致Windows序列号失效,需要重新进行激活。对于企业用户,如何保护既有投资,使用合理的方式对系统激活而不产生额外费用呢?本文基于项目中的最佳实践,为您详细进行解读。
6 0
ESC体验感受
云服务器使用感受
7 0
Mac OS 下安装 Vagrant
Vagrant是一款用来构建虚拟开发环境的工具,它其实算是一个跨平台的虚拟机管理工具
3 0
SAP标准培训课程C4C10学习笔记(三)第三单元
SAP标准培训课程C4C10学习笔记(三)第三单元
4 0
zookeeper实现动态感知服务器上下线
在实际的生产环境中我们一般都是集群环境部署的,同一个程序我们会部署在相同的几台服务器中,这时我们可以通过负载均衡服务器去调度,但是我们并不能很快速的获知哪台服务器挂掉了,这时我们就可以使用zookeeper来解决这个问题。
4 0
雇佣劳工冒充AI?校园外卖机器人竟是远程人工操纵,时薪2美元
活跃在美国著名学府加州大学伯克利分校(UC Berkeley)校园的「明星」外卖机器人 Kiwibot,尽管看起来像是自动驾驶,实际上却是雇佣了远在哥伦比亚的真人进行远程人工操纵。最近,创业公司 Kiwibot 也陷入了用真人冒充 AI 的舆论漩涡。
4 0
21秒看尽ImageNet屠榜模型,60+模型架构同台献艺
60+模型架构,历年十几个 SOTA 模型,这 21 秒带你纵览图像识别的演进历史。
5 0
教妹学Java(一):什么是Java?
教妹学Java(一):什么是Java?
3 0
如何正确使用RestTemplate【一】
这次我们来一起学习一下在Java开发中如何正确的使用RestTemplate,并且展开描述一下RestTemplate中的各个不同功能的方法。
4 0
【愚公系列】2021年11月 C#版 数据结构与算法解析(哈希)
【愚公系列】2021年11月 C#版 数据结构与算法解析(哈希)
6 0
472
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载