微软最新混合云SDN技术分享

6月18日侯老师所做的微信课堂实录,关于微软最新混合云SDN技术分享的主题,欢迎大家阅读。

1 课堂实录

今天聊聊微软的网络虚拟化。说到网络虚拟化,行业内耳熟能详的肯定是以VMWare NSX为代表的纯软件定义和 CISCO ACI为代表的基于硬件芯片实现的网络虚拟化。

这两者孰优孰略,市场形势并不明朗。大家的客户数量都差不多。各自都在鼓吹自己的解决方案多么的牛逼。其实也都没有像服务器虚拟化那样普遍真正在生产环境中进行部署长期验证过。

友商的产品不多谈了,回归主题。

先简单的介绍一个网络虚拟化,普及一下基本常识。

网络虚拟化和服务器虚拟化的定义是基本类似的,都是在物理设施上虚拟出虚拟的资源。服务器虚拟机是虚拟的计算和存储资源。网络虚拟化能基于类似的网络虚拟化管理程序,在软件中重现二到七层的整套网络服务。

这些网络服务可以包括:交换、路由、ACL、防火墙、QoS、负载均衡器等等。

如果这些不太好理解,大家有用过公有云的都知道。在公有云上部署虚拟机的时候,通常都建议首先在公有云上申请一个虚拟网络,你可以在这个虚拟网络内随意定义子网和地址范围,可以通过网络安全组定义访问策略,也可以通过VPN实现虚拟网络和物理网络的互相访问。

这个就是虚拟网络的魅力所在。随心所欲的在配置严格的物理网络上玩弄属于自己的虚拟网络

OK,说了这么多,来看看微软的SDN吧

微软的SDN叫做HNV(Hyper-V 网络虚拟化),在Server 2012就已经有支持。不过当时HNV的产品和功能堆栈都比较简陋。我知道有些兄弟甚至用Powershell硬生生的配置过网络虚拟化。

更关键的是网络虚拟化最基本的封装协议采用了NVGRE。NVGRE在市场上影响力被认为不如VxLAN。(虽然微软公有云里使用的是NVGRE,这可能是全球最大的网络虚拟化平台了)

有图有真相

VMM处于管理和控制平面,能实现CA-PA对应表的维护和网络策略的集中存储和管理。在这个年代,如果VMM坏掉了,网络虚拟化果断弃疗。

Hyper-V vSwitch处于数据平面,包含了VFP模块,实现NVGRE的封装,同时也提供了分布式路由和简单的ACL功能;

HNV Gateway直接使用WindowsServer内置的RRAS,负责虚拟网络和物理网络的通信,支持VPN、NAT和L3 Forward模式,支持多租户,也支持BGP协议进行路由学习;

恩,基本上就是这么简单的架构了。我个人感觉2012R2的网络虚拟机并不能称为SDN,而仅仅就是一个虚拟机网络而已。

Server 2016的结构有了非常巨大的改进,整个堆栈和SDN的特性都丰富了很多。如下图:

大家有了解SDN的肯定知道,SDN的一个思想就是将网络的管理、控制和数据平面进行分离。管理和控制平面均由独立的软件编程来实现。数据平面可以基于NFV或白盒设备或传统的网络设备来实现。

这么做的好处是可以减少企业购置专用网络设备的成本,提高灵活性和扩展性,也方便用一个界面实现底层物理网络和虚拟网络的统一管理。

2016一个显著的变化就是将管理平台和控制平面进行了分离。

管理平台依然采用SCVMM或WAP(AzureStack),控制平面增加了一个非常非常重要的组件-Network Controller

在管理平面: SCVMM 提供IT管理人员进行Underlayer网络的部署和配置,这可能包括管理网络、PA网络、Transit网络、Public VIP地址池等,具体的细节可以参考本群Larry老大整理的SDN配置手册,相当精彩。

Azure Stack提供租户申请创建和使用虚拟网络的界面;

在控制平台:Network Controller和主流的其他解决方案一样,提供了南向和北向接口,北向接口可获取SCVMM、Azure Stack或其他第三方管理平台发来的网络管理需求。北向接口支持RestAPI的调用,为第三方开发提供了无限可能。南向接口负责将网络策略发布到数据平面的各个组件。同时,NC也具备其他能力,一个很重要的功能就是对物理网络和虚拟网络的监控和管理。这个能力目前还在不断完善中。

有图有真相

越看越欢喜

上图展示了NetworkController通过Netconf和OMI对网络设备的管理能力,目前看起来仅支持思科Nexus和Dell S系列的交换和路由配置,不过未来肯定还会持续增加

在数据平台的变化是非常大的。

主要组件是Hyper-V vSwitch,他依旧负责网络协议的封装,不仅支持NVGRE,同时也支持了VxLAN;

而且默认支持的是Vxlan,虽然不知道为什么当初微软选择用NVGRE,不过,现在能同时支持NVGRE 和 VxLAN,不得不说听取了市场主流意见。

Hyper-V vSwitch同时也支持了分布式防火墙,提供南北向和东西向的流量管控。可基于IP地址、端口和协议(五元组)进行过滤。分布式防火墙的配置是作用在vSwitch的vPort上的,所以不管虚拟机怎么迁移策略都是生效的。

上图能看出来,分布式防火墙是作用在网卡或子网上的。也就是说,可以为每个虚拟机的网卡均设置不同的防火墙策略,极大的提高了灵活性。

我们曾经就有个客户要求同一个子网内的虚拟机之间默认不能互相访问,他们在传统物理网络上用PVLAN进行了隔离。在虚拟网络内,也可以使用分布式防火墙实现。

数据平面另外一个组件SLB是2016中新增加的功能,他是一个4层负载均衡器,提供简单的随机(哈希)负载均衡能力,同时也可以基于TCP或URL方式检测后端负载均衡池内虚拟机的运行状态。
SLB也提供了SNAT和DNAT的功能。

SLB的功能有点类似Azure上免费的那个负载均衡器

其他还有一些增加功能,时间关系我就无法一一去描述了。

最后再谈一下2016 的另外一个功能

在2012 R2时代网络虚拟化网关就已经存在了。不过,2016有了一些新的特性。一个重大的变化是GRE Tunnel的支持。

我的个人理解 GRE Tunnel 是一种非加密的隧道,可以提供虚拟网络和物理网络的联通。这点和VPN有些类似

不过,由于GRE Tunnel采用的非加密机制,更多的应用在托管在IDC虚拟网络和IDC物理网络之间的联通

我们可以简单的理解一下Azure 专线的机制。

用户在自己的数据中心和电信拉一根专线,这个专线是用户接入电信机房的私密线路。

电信机房的MPLS路由器会通过GRETunnel 和 部署在Azure上的虚拟网络之间打通非加密隧道。这个隧道的带宽是非常高的。最大能到10Gb。

最后提一点,2016 SDN方案中的组件均是采用多活的机制,比如说虚拟网络、负载均衡器,这样可以有效的对负载进行均衡,也能提供故障切换的能力。我们叫做M:N冗余机制。M个活的节点,和N个StandBy节点。

2 在线答疑

Q1:SDN能完全替代现有的路由交换技术吗 有什么瓶颈 限制?
A1:理论上不能替代啊。毕竟底层的PA网络之间的通信还是要依赖传统的交换和路由的

Q2:Larry老师的博客文章
A2:https://blogs.technet.microsoft.com/larryexchange/2016/05/30/step-be-step-for-deploying-a-sdnv2-using-vmm-tp5-part-1/

Q3:侯老师,南向接口和北向接口如何理解。
A3:NC的北向接口主要是用来接收用户管理命令的。比如说通过SCVMM创建了一个SLB VIP策略,这个VIP策略会通过北向接口被NC获取到。然后NC的南向接口是面向Hyper-V vSwitch或SLB MUX服务器的,南向接口把用户通过SCVMM创建的策略发给SLB MUX

Q4:SLB也提供了SNAT和DNAT的功能,请问是否有池的概念。
A4:有的。VIP都是从池分配出来的

Q5:分布式防火墙和slb,是不是还是只能powershell管理,没有图形化管理界面
A5:分布式防火墙目前仅能用Powershell,SLB一部分需要在VMM图形化界面,分配VIP那块就只能用Powershell,希望未来有改善啊

Q6:对于虚拟交换机,是否有相关管理界面,在vmm里?
A6:有一部分图形界面了。SCVMM TP5里面有一些可以通过图形界面配置的。特别是Overlay那块。

Q7:VMM2012R2对网络策略的集中存储和管理,VMM管理员是否可以手动配置和配置方法?
A7:貌似不行,没看到此类界面,VMM 2016 很多内容都是通过服务模板的方式部署的,手动调整的地方比较少。估计很多还要是用Network Controller的Powershell命令手动配置了。

Q8:VMM挂了,VMMDB没事的话,重装VMM是否可以?
A8:我记得需要安装VMM时导出一个安装密钥就能重装

Q9:VMM坏了,网络虚拟化果断弃疗?不知是否可以理解为通过VMM管理和控制的网络内容,不受VMM坏掉,影响?
A9:多个角度理解,一方面VMM有高可用机制,另一方面就算出现问题,底层不会受影响,例如服务器虚拟化,VMM崩溃,对底层的Hyper-V Cluster不会有影响。烦请侯老师补充。
VMM down了,PA地址和CA地址都分配不了
而且,在2012 R2 有中央存储和Hyper-VVFP存储两类,中央存储会去刷新Hyper-V VFP中存储的对应关系。
如果VMM坏了,理论上如果虚拟机没有进行实时迁移、重启等操作,估计HNV还是能正常工作的。


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/17190.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于16-06-23
0