上一篇对网络架构层级和数据中心网络的介绍,再进一步了解了大二层实现的相关技术。这篇继续进一步了解虚拟网络。
网络层级介绍到数据中心网络_XJYSober的博客-CSDN博客
数据中心网络的虚拟化,简单来说就是如何实现大二层组网的理念,进而形成不同的技术发展,演变成适合当下最合适的网络结构。网上有很多相关技术文章,这里不过多赘述。参考:
如何实现大二层:https://segmentfault.com/a/1190000038837707
数据中心网络虚拟化的主流平台产品介绍:https://www.sdnlab.com/12076.html
https://www.sdnlab.com/15885.html网络虚拟化的传统技术之VLAN:https://www.sdnlab.com/15885.html
网络虚拟化的传统技术之VPN:https://www.sdnlab.com/15890.html
大二层技术对比分析:http://www.h3c.com/cn/d_201212/769069_30008_0.htm
大二层技术巡礼之初识大二层:https://www.sdnlab.com/15812.html
大二层技术巡礼之大二层技术小结:https://www.sdnlab.com/16169.html
大二层技术巡礼之数据平面的演化:https://www.sdnlab.com/15818.html
大二层技术巡礼之NVo3技术端到端隧道:https://www.sdnlab.com/15820.html
大二层技术巡礼之L2 Fabric技术传输隧道:https://www.sdnlab.com/15823.html
大二层技术巡礼之NVo3技术DC间隧道:https://www.sdnlab.com/15825.html
网络虚拟化技术看起来五花八门,说到底其实就两个——封装和映射。封装,最典型的就是各种VPN了,比如IPSec、GRE等,还有目前云计算的基石之一VXLAN;映射,常见的就是NAT、代理一类。
先简单介绍下NV(网络虚拟化),后面会详细介绍。NV概念引出,归根结底还是因为云计算的崛起,还是上一篇所说的为了使得虚拟机的迁移更加灵活。NV是通过在流量层面逻辑地划分网络,在现有基础网络中创建逻辑网段,所以NV可以认为是IP地址虚拟化,将虚拟网络的IP与物理网络完全分离,这样做就可以避免IP冲突,跨子网在线迁移虚拟机的问题。
事实上Overlay似乎已经成为NV实现的标准做法,即隧道。不是物理连接网络中的两个域,而是通过现有网络创建一个隧道来连接两个域。一般NV在高性能x86平台上运行,实现了让企业能够独立于现有基础设施来移动虚拟机,而不需要重新配置网络。
在数据中心虚拟化的大背景下,将数据中心网络分为Underlay和Overlay两个部分。
Underlay:底层网络,负责互联互通,即底层承载网,也是物理设备组件的基础网络范畴,包括一切现有的传统网络技术。
Overlay:就是基于底层网络互联互通的基础加上隧道技术去构建一个虚拟的网络,Overlay网络也是一个网络,是建立在Underlay网络之上的网络。Overlay是基于隧道技术实现的,所以核心就是打隧道(tunnel)。
网络Overlay:隧道封装在物理交换机完成。这种Overlay的优势在于物理网络设备的转发性能比较高,可以支持非虚拟化的物理服务器之间的组网互通。通过控制协议对边缘的网络设备进行网络构建和扩展。
主机Overlay:隧道封装在vSwitch完成,不用增加新的网络设备即可完成Overlay部署,可以支持虚拟化的服务器之间的组网互通。
混合 Overlay:是网络Overlay和主机Overlay的混合组网,可以支持物理服务器和虚拟服务器之间的组网互通。
一个Overlay网络主要由三部分组成:边缘设备、控制平面和转发平面。边缘设备是指与虚拟机直接相连的设备,控制平面主要负责虚拟隧道的建立维护以及主机可达性信息的通告,转发平面是承载Overlay报文的物理网络。
通过部署Overlay网络,可以实现物理网络向云和虚拟化的深度延伸,使云资源池化能力可以摆脱物理网络的重重限制,是实现云网融合的关键。Overlay网络的节点通过虚拟的或逻辑的链接进行通信,每一个虚拟的或逻辑的链接对应于Underlay网络的一条路径(Path),由多个前后衔接的链接组成。
Underlay和Overlay的详细介绍和对比可参考原文:
10 Difference Between Underlay And Overlay Networks - Viva Differences
Overlay网络技术多种多样,覆盖网络协议包括虚拟可扩展 LAN (VXLAN)、使用通用封装的网络虚拟化 (NVGRE)、无状态传输隧道 (SST)、通用路由封装 (GRE)、IP 多播和网络虚拟化覆盖 3 (NVO3)。
覆盖网络部署的示例包括虚拟专用网络 (VPN)、对等 (P2P) 网络、大陆交付网络 (CDN)、IP 语音 (VoIP) 服务(例如 Skype)和非本地软件定义网络。
常用的隧道技术:https://www.sdnlab.com/12077.html
到后来的GENEVE(Generic Network Virtualization Encapsulation):https://www.sdnlab.com/20693.html
由于这些也都是新增的协议,均需要升级现有网络设备才能支持。Overlay网络中应用部署的位置将不受限制,网络设备可即插即用、自动配置下发,自动运行,Overlay网络业务变化,基础网络不感知,并对传统网络改造极少,最为重要的是虚拟机和物理服务器都可以接入Overlay网络中。
相关网络新技术理念有Overlay、SDN、NFV。
SDN(Software Defined Network),NFV(Network Function Virtulizaiton),NV(Network Virtulization),三个网络名词是电信界与IT界的热点词汇,它们与运营商网络、云计算,虚拟化密切相关,所以频繁的在不同领域,不同场合出现,这里区分理解一下SDN,NV,NFV。
维基百科
https://zh.wikipedia.org/wiki/%E8%BB%9F%E9%AB%94%E5%AE%9A%E7%BE%A9%E7%B6%B2%E8%B7%AF
SDN不是一种具体的技术或协议,而是一种新的网络设计理念。开放网络基金会(ONF)将软件定义网络定义为三个特征:控制平面与转发平面分离、控制平面集中化、网络可编程。(SDN不是为实现网络虚拟化而设计的,但正式因为SDN架构的先进性,使得网络虚拟化的任务也得以实现,但实际上SDN的概念要大得多,也包括了上面提过的NV)
SDN产生的原因是由于传统网络难以维护,人肉操作太多,变更困难,效率低,尤其是在云计算的环境下,虚拟化带来的高密度、业务的高速增长、对快速响应能力的高要求,以及用户对网络安全隔离和灵活管理的需求,使传统网络的慢和业务发展的快之间的矛盾越来越大,因此,有了SDN,也有了NFV。
SDN网络与传统网络对比:https://www.sdnlab.com/16753.html
上面在介绍Overlay之前,已经简单介绍了NV,Overlay可以说是目前NV实现的标准做法。随着云数据中心里计算虚拟化的趋势,业务快速部署、自动化以及自服务成了必然的需求,这在公有云,大规模私有云里体现的最为明显。对网络提出了以下几个方面新的要求:
1、云平台无法操纵现有网络设备,无法根据应用的要求配置网络。
2、多租户之间要实现隔离。
3、单租户的不同应用之间安全性要保障。
4、虚拟机迁移的要求打破了原有网络的边界,配置的网络策略需要随动迁移。
上述要求使得现有网络无所适从,所以NV应运而生。
NV的方法之一是在现有网络之上构建一个叠加(Overlay)的,虚拟的网络,这个网络直接支持业务,由云平台操控。而现有网络只作为传输通道,只在特定情况下支持业务(如需要虚机与物理机之间互通)。
NV的体系架构大致如下:
1、服务器Hypervisor上安装转发部件,接收Controller下发的转发指令,形成转发表,转发数据报文。
2、Controller控制其下的Hypervisor们,准确的说是控制其上的转发部件,管理整个虚拟网络。
3、Controller提供API接口给云平台,云平台部署业务时只跟Controller打交道。
对于东西向流量,由Controller控制下的Hypervisor之间(以下称虚拟机集群)转发实现,而南北向流量,需要部署专门的虚拟路由器或物理网络设备作为虚拟机集群的出口。
南北向流量处理需要多提一点的是,不论专门的虚拟路由器还是物理设备,上面运行的是传统路由协议,Controller要与其互通,需要支持相同的协议。
叠加网络是这样形成的,Hypervisor之间建立隧道,通用的协议是VXLAN或NVGRE(或其他隧道协议)。虚拟机之间的流量封装在Hypervisor地址内传送。物理网络设备只看到Hypervisor地址,不会看到虚拟机地址。
了解传统网络设备的就会意识到,这个架构似曾相识,虚拟机集群像一台机架式路由器或交换机,Controller就是主控,Hypervisor就是接口卡,每台虚拟机连接到接口卡上。Hypervisor之间通过VXLAN连接,VXLAN相当于机架式设备的背板或交换引擎(当然VXLAN报文不能跑在空气中,由物理网络设备转发)。这里,Controller负责控制平面,Hypervisor们组成转发平面。
在此回答NV是如何解决前面提到的计算虚拟化挑战问题的:
云平台通过Controller控制虚拟网络,满足应用部署要求。
隧道建立时,有隧道标识,VXLAN封装有VNI字段,24位,1千6百万个。每个VXLAN就是一个广播域,VXLAN之间二层隔离。为单个租户建立独有的虚拟路由器,租户VXLAN终结到自己的路由器,自然也实现了三层隔离。
Hypervisor上的转发部件可以为虚拟机配置ACL实现安全控制,也可以与第三方安全模块集成,实现更复杂的安全功能。
云平台在迁移虚拟机时同时调用Controller接口,配置的网络策略实现随动迁移。
NV提供了创建网络隧道的功能,并采用每个流服务的思维,下一个步骤是将服务放在隧道中。NFV主要虚拟化4-7层网络功能,例如防火墙或IDPS,甚至还包括负载均衡(应用交付控制器)。
如果管理员可以通过简单的点击来设置虚拟机,为什么他们不能以相同的方式打开防火墙或IDS/IPS呢?这正是NFV可以实现的功能。NFV使用针对不同网络组件的最佳做法作为基础措施和配置。如果你有一个特定的隧道,你可以添加防火墙或IDS/IPS到这个隧道。这方面很受欢迎的是来自PLUMgrid或Embrane等公司的防火墙或IDS/IPS。
NFV在高性能x86平台上运行,它允许用户在网络中选定的隧道上开启功能。这里的目标是,让人们为虚拟机或流量创建服务配置文件,并利用x86来在网络上构建抽象层,然后在这个特定逻辑环境中构建虚拟服务。在部署后,NFV能够在配置和培训方面节省大量数据。
NFV还减少了过度配置的需要:客户不需要购买大型防火墙或IDSIPS产品来处理整个网络,客户可以为有需要的特定隧道购买功能。这样可以减少初始资本支出,但其实运营收益才是真正的优势。NFV可以被看作是相当于Vmware,几台服务器运行很多虚拟服务器,通过点击配置系统。
客户了解NV和NFV之间的区别,但他们可能不希望从两家不同的供应商来获得它们。这也是为什么Vmware现在在VmwareNSX提供NV和NFV安全功能的原因。
借助 NFV,服务提供商可以在标准硬件(而非专用硬件)上运行网络功能。另外,由于网络功能已虚拟化,因此可以在单个服务器上运行多个功能。这就意味着所需的物理硬件得以减少,故而可以进行资源整合,以降低物理空间占用、功耗和总体成本。
NFV 使提供商可以灵活地在不同服务器上运行 VNF,或在需求发生变化时根据需要移动 VNF。这种灵活性可以加快服务提供商交付服务和应用的速度。
例如,如果客户请求一项新的网络功能,那么他们可以启动新的虚拟机来处理该请求。当不再需要该功能时,可停用此虚拟机。这也是一种低风险测试潜在新服务价值的方法。
NFV 与 SDN 之间并没有依赖关系,但它们确实有相似之处。两者都依赖于虚拟化并使用网络抽象,但在如何分离功能和抽象资源方面却有所不同。
SDN 将网络转发功能与网络控制功能分开,其目标是创建可集中管理和可编程的网络。NFV 则是从硬件中抽象出网络功能。NFV 通过提供可运行 SDN 软件的基础架构来支持 SDN。
根据需要完成的具体工作,NFV 和 SDN 可以协同使用,并且两者都使用商用硬件。借助 NFV 和 SDN,可以打造一个更加灵活、可编程且可以有效利用资源的网络架构。
SDN,NV,NFV分别对应网络的面,角,点。
三者各自提出的背景不同,解决的问题也不同。SDN解决的是加快网络部署的问题,面向的是整张网。而NFV的诉求是通用服务器对专用网元的替代,针对的是单个的网元。形象的说,SDN关注的是面的问题,NFV关注的是点的问题。有电信界专家称SDN注重降低运营成本(OPEX),NFV注重降低和资本支出(CAPEX),不无道理(当然,SDN的推动转发平面通用化成为现实,CAPEX也会大大降低)。
再讲讲SDN与NV的区别,相比SDN,NV解决的只是虚拟化数据中心的网络问题,SDN面向的网络更广泛,只要有网络灵活多变,业务部署复杂,就是SDN的目标所在。NV采用叠加网络解决虚拟化数据中心的方案只能用在数据中心,没法用到园区网,运营商城域网,骨干网等其他网络。所以,NV相比SDN,所针对的只是虚拟机网络,只适用于数据中心内,面向的网络范围要小的多。上一段将SDN与NFV比作面与点的关系,那NV针对的就是整个网络版图里的一块块小角。
NV是虚拟机世界的网络解决方案,我的理解是它采用了SDN的思想,NFV的方式满足数据中心云化的特定网络需求。之前的NV架构中,Controller与Hypervisor转发部件之间就是控制与转发分离,控制平面集中化的体现,Controller又有接口供云平台调用,实现可编程,也符合SDN的三个特征。
在介绍NV时提到的处理南北向流量的虚拟路由器,与物理路由器功能上没有什么不同,只是运行在物理服务器上的一台虚拟机,实现了路由器功能,这不就是NFV的实际应用。
SDN与NFV诉求不同,前者面向面,后者面向点,但它们尽管不同,但有关联,而且关联关系会随着这两项技术的发展会越来越密切。先抛开SDN说NFV,现网中如果拿通用服务器替代专用网络设备,就是NFV的实现。而网络中实现SDN可以通过现有的专用设备,只要满足开篇提到的三特征即可。这么说,好像SDN与NFV无关。那为什么又说SDN与NFV会越来越密切?通用服务器替换专用设备,可能会更便于实现SDN定义的三特征,而且SDN与NFV都是大势所趋,未来会出现在Controller控制下用通用服务器作为网元形成的网络,既实现了SDN,又是NFV。如果发展到这一步,SDN与NFV就是完美的融合了。
NFV与SDN来源于相同的技术基础。NFV与SDN的技术基础都是基于通用服务器、云计算以及虚拟化技术。同时NFV与SDN又是互补关系,二者相互独立,没有依赖关系,SDN不是NFV的前提。SDN的目的是生成网络的抽象,从而快速进行网络创新,重点在集中控制、开放、协同、网络可编程。NFV是运营商为了减少CA⁃PEX、OPEX、场地占用、电力消耗而建立的快速创新和开放的系统,重在高性能转发硬件+虚拟化网络功能软件。NFV和SDN的一些对比:
SDN | NFV |
---|---|
承载和控制分离 | 强调软件和硬件分离 |
强调网络多个设备的集中控制 | 关注单个设备 |
强调南向接口和北向接口的规范 | 强调通用工业标准化的硬件 |
控制平面控制 | 软件控制 |
输出为各种架构、标准、规范 | 输出为运营商需求白皮书 |
3种不同的SDN实现模式 | SDNLAB | 专注网络创新技术
SDN超强解析——一文读懂SDN - 知乎
OpenFlow(OF)被认为是第一个软件定义网络(SDN)标准之一。它最初在SDN环境中定义了通信协议
OpenFlow维基百科:https://zh.wikipedia.org/wiki/OpenFlow
Facebook与Google都在他们的数据中心中使用OpenFlow协议,并成立了开放网络基金会来推动这个技术。Open Networking Foundation
接下一篇:https://blog.csdn.net/XJYSober/article/details/120282995