计算、存储和网络是云计算的基础,网络是较复杂的一环;计算存储技术相对成熟稳定,而在网络领域中运营商体系、计算厂商体系和网络厂商体系的不同利益诉求,目前还处于变化之中,比如以运营商为代表的ONOS、网络厂商为代表ODL、计算厂商为代表的NSX和每家深度定制的SDN控制器;OVS、vRouter、openstack
bridge、厂家交换机、白盒交换机、厂家NFV和运营商定制vRouter多种产品形态;网络领域比较繁杂,本文帮助大家从技术角度分门归类,化繁为简,方便大家进一步研究云计算技术;
不管是云计算的网络,还是传统互联网的网络,网络的定位和原理是不变的,只是设备形态、网络协议变化了,所以本文分两部分,一部分介绍不变的网络原理涉及的知识点,一部分介绍各个设备形态和网络协议的变种;
一、不变的网络原理
云计算涉及三方面网络技术:1、L2转发;2、L3路由;3、VPN技术
目前主流的网络协议栈二层是MAC,三层是IP,数据报文是从源主机一跳一跳送到目的主机的,IP的每一跳跨越了一个2层链路的网段、2层的每一跳跨越了的一个1层物理的网段;(严格的定义太繁杂,比如EoverSDH,这里是示意)
L3路由设备根据报文中的目的IP,从路由表中找到目的IP的下一跳的IP,然后从ARP表中再找到下一跳IP对应的二层MAC地址,修改报文的目的MAC,然后将报文发送给下一跳;如果下一跳是路由器,同样方式将报文发送到下下一跳;如果下一跳是主机,那么报文就发送到主机了;
L2交换设备根据报文中的目的MAC,从转发表中找到出端口,将报文发送到下一个设备,下一个设备可以是L2交换设备、L3路由设备或主机,最终相当于完成了3层的IP一跳转发任务
VPN技术:虚拟私有网技术,主要是满足多个租户网络隔离的需要,每个租户感觉自己有一个独有的网络,但实际物理上只有一套物理设备,VPN技术主要有如下几种实现方式,1、传统网络设备厂商采用分布式网络操作系统,每个虚拟设备起一套OS,这种方式一般最多划分10几个虚拟设备,不适合云数据中心大量虚拟网络的需要,2、传统网络设备厂商为每个VPN分配一套转发表实例VNI,这个数量可以满足云数据中心需要,但是转发表的功能比较简单,所以用于虚拟L2交换设备,比如VxLAN的2层网关,3、NFV厂家和近期传统厂商采用的方式,为每个虚机或容量上部署一个网络设备,通过x86应用完成转发处理功能,这种方式比较占计算资源,性能也较硬件方案低,但是功能丰富,定制能力强,一般用着对功能要求较多的L3网关上,比如VxLAN三层网关、负载均衡、NAT;4、Linux内核方式,没画上,这种一般占用内核上面VM的计算资源,一般用于虚拟L2交换设备,比如VLAN虚拟网桥、VxLAN的2层网关
二、各种设备形态和网络协议,
L2交换功能的变种:传统交换机、传统三层交换机,在Linux内核的bridge、linux内核的OVS、x86的OVSvAPP,x86白盒交换机(华为CE1800v、华三VSR)、ASIC白盒交换机等等;
L3路由功能的变种:传统路由器、linux内核VR、linux内核的OVS、x86的OVSvAPP,x86的VR应用(运营商定制开发),x86白盒交换机(华为CE1800v、华三VSR)等等
L2网络协议的变种:FLAT、VLAN、VPLS、TRILL、VxLAN、NvGRE等等
L3网络协议的变种:FLAT路由、MLPS三层VPN、ASIC硬件设备的vRouter、X86的vRouter、基于流表的"vRouter"等等
为什么出现了多种设备形态和网络协议?总的来说,与技术发展历程、团体利益、功能、性能、架构、运维多方面因素有关,而不只技术因素;比如1、openstack中的二层交换机bridge的出现原因是虚拟机与外界网络要互联,另外计算和网络要解耦,架构清晰;那又出现OVSvApp虚拟化交换机,OVS功能更丰富、架构上可以计算和网络解耦;2、openstack自带的vRouter功能非常薄弱为什么还存在,因为openstack团队可以不依赖硬件或NFV这些厂商独立调试openstack的其它模块功能;3、Vxlan为什么替代TRILL作为主流的原因是Vxlan兼容现有网络,云计算可以先部署发展再进行优化,比如后续出现的思科Segment
routing以及华为RR+等技术就可以对Vxlan进行优化;以后出现新的变种也可以通过以上因素对这些变种进行归类;
下面这幅图是典型的某大型云数据中心采用的基本网络架构,VM--bridge(内核)--VxLAN交换机(内核)--vRouter(VM上)--Router--互联网,
VM发送的报文进入内核的网桥,打上这个租户的VLAN,然后进入内核的VxLAN,将VLAN映射成租户的VxLAN,然后转发给vRouter,vRouter解掉VxLAN标签,然后根据目的IP转发Router,Router转发到internet;;当然实际要比这个复杂,比如NAT,防火墙等等处理,这类示意主要转发流程;
热门工具 换一换