SDN数据中心基础知识
Unerday&Overlay
名词解释 SDN
软件定义网络SDN(Software Defined Network)是由美国斯坦福大学CLean State研究组提出的一种新型网络创新架构,可通过软件编程的形式定义和控制网络,其控制平面和转发平面分离及开放性可编程的特点,被认为是网络领域的一场革命,为新型互联网体系结构研究提供了新的实验途径,也极大地推动了下一代互联网的发展 [2] 。
传统网络世界是水平标准和开放的,每个网元可以和周边网元进行完美互联。而在计算机的世界里,不仅水平是标准和开放的,同时垂直也是标准和开放的,从下到上有硬件、驱动、操作系统、编程平台、应用软件等等,编程者可以很容易地创造各种应用。从某个角度和计算机对比,在垂直方向上,网络是“相对封闭”和“没有框架”的,在垂直方向创造应用、部署业务是相对困难的。但SDN将在整个网络(不仅仅是网元)的垂直方向变得开放、标准化、可编程,从而让人们更容易、更有效地使用网络资源。
SDN的整体架构由下到上(由南到北)分为数据平面、控制平面和应用平面。
其中,数据平面由交换机等网络通用硬件组成,各个网络设备之间通过不同规则形成的SDN数据通路连接;控制平面包含了逻辑上为中心的SDN控制器,它掌握着全局网络信息,负责各种转发规则的控制;应用平面包含着各种基于SDN的网络应用,用户无需关心底层细节就可以编程、部署新应用。
控制平面与数据平面之间通过SDN控制数据平面接口(control-data-plane interface,简称CDPI)进行通信,它具有统一的通信标准,主要负责将控制器中的转发规则下发至转发设备,最主要应用的是OpenFlow协议。控制平面与应用平面之间通过SDN北向接口(northbound interface,简称NBI)进行通信,而NBI并非统一标准,它允许用户根据自身需求定制开发各种网络管理应用。
SDN中的接口具有开放性,以控制器为逻辑中心 [1] ,南向接口负责与数据平面进行通信,北向接口负责与应用平面进行通信,东西向接口负责多控制器之间的通信。最主流的南向接口CDPI采用的是OpenFlow协议。OpenFlow最基本的特点是基于流(Flow)的概念来匹配转发规则,每一个交换机都维护一个流表(Flow Table),依据流表中的转发规则进行转发,而流表的建立、维护和下发都是由控制器完成的。针对北向接口,应用程序通过北向接口编程来调用所需的各种网络资源,实现对网络的快速配置和部署。东西向接口使控制器具有可扩展性,为负载均衡和性能提升提供了技术保障。
Underlay就是当前数据中心网路基础转发架构的网络,只要数据中心网络上任意两点路由可达即可,指的是物理基础层。我们可以通过物理网络设备本身的技术改良、扩大设备数量、带宽规模等完善Underlay网络,其包含了一切现有的传统网络技术。
Overlay 在网络技术领域,指的是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主。
Overlay 技术是在现有的物理网络之上构建一个虚拟网络,上层应用只与虚拟网络相关。一个Overlay网络主要由三部分组成:
- 边缘设备:是指与虚拟机直接相连的设备
- 控制平面:主要负责虚拟隧道的建立维护以及主机可达性信息的通告
- 转发平面:承载 Overlay 报文的物理网络
通过部署Overlay网络,可以实现物理网络向云和虚拟化的深度延伸,使云资源池化能力可以摆脱物理网络的重重限制,是实现云网融合的关键。Overlay网络也是一个网络,不过是建立在Underlay网络之上的网络。Overlay网络的节点通过虚拟的或逻辑的链接进行通信,每一个虚拟的或逻辑的链接对应于Underlay网络的一条路径(Path),由多个前后衔接的链接组成。
Overlay技术可以分为网络Overlay,主机Overlay和混合式Overlay三大类。
网络Overlay是指通过控制协议对边缘的网络设备进行网络构建和扩展,也就是本文所讲的Overlay网络技术。
Overlay网络技术多种多样,一般采用TRILL、VxLan、GRE、NVGRE等隧道技术。
TRILL(Transparent Interconnection of Lots of Links)技术是电信设备厂商主推的新型环网技术;
NVGRE(Network Virtualization using Generic Routing Encapsulation)
STT(Stateless Transport Tunneling Protocol)是IT厂商主推的Overlay技术;
VXLAN(Virtual eXtensible LAN)等基于隧道的封装技术。
流行的OverLay技术:
VXLAN: VXLAN是将以太网报文封装成UDP报文进行隧道传输,UDP目的端口为4798(可修改),标准5元组方式有利于在IP网络转发过程中进行负载分担;隔离标识VNI采用24比特来表示;所有的流量均被封装为payload转发。
NVGRE :NVGRE采用的是RFC 2784和RFC 2890所定义的GRE隧道协议。将以太网报文封装在GRE内进行隧道传输。隔离标识采用24比特来表示;与VXLAN的主要区别在对流量的负载分担上,因为使用了GRE隧道封装,NVGRE使用了GRE扩展字段flow ID进行流量负载分担,这就要求物理网络能够识别GRE隧道的扩展信息。
STT :STT是无状态传输协议,通过将以太网报文封装成TCP报文进行隧道传输,隔离标识采用64比特来表示。与VXLAN和NVGRE的主要区别是在隧道封装格式使用了无状态TCP,需要对传统TCP协议进行修改以适应NVGRE的传输。
VXLAN、NVGRE等Overlay技术都是通过将MAC封装在IP之上,实现对物理网络的屏蔽,解决了物理网络VLAN数量限制、接入交换机MAC表项有限等问题。同时通过提供统一的逻辑网络管理工具,方便的实现了虚拟机HA迁移时网络策略跟随的问题,大大降低了虚拟化对网络的依赖,成为了目前网络虚拟化的主要发展方向。
链接阅读:http://net.zol.com.cn/459/4598330.html
传统数据中心以千兆接入为主。随着CPU计算能力的不断提高,目前主流的服务器处理性能,已经超出了千兆网卡的输出能力。同时,FC存储网络与IP网络的融合,也要求IP网络的接入速率达到FC的性能要求。当仅仅通过链路聚合、增加等价路径等技术手段已经无法满足业务对网络性能的需求时,提高网络端口速率成为必然之选。
万兆以太网从起步到目前逐渐成为应用主流,延续了以太网技术发展的主基调,凭借其技术优势,替代其他网络接入技术,成为高性能网络的不二选择。目前新的数据中心,万兆网络接入已成为事实上的标准。
名词解释SAN(Storage Area Network,存储区域网络)
SAN(Storage Area Network,存储区域网络)的诞生,使存储空间得到更加充分的利用以及安装和管理更加有效。SAN是一种将存储设备、连接设备和接口集成在一个高速网络中的技术。SAN本身就是一个存储网络,承担了数据存储任务,SAN网络与LAN业务网络相隔离,存储数据流不会占用业务网络带宽。
名词解释FC网络
FC 网络中每个设备有两个地址
WWN地址(world wide name),好比TCP/IP网络结构中的MAC地址,physcially identify a port,在设备出厂时就已经烙在端口上了
Port ID, 好比TCP/IP网络中的IP地址,节点间用它来通信
网络结构
Loop: 类似令牌环,设备间用Hub相连共享I/O资源,同一时刻只有一个设备使用I/O资源
Switch:设备间用Switch相连,独享I/O资源。
地址分配策略:Loop结构的网络采用self assign; Switch结构的网络采用centralized authority. FC网络中有个叫Name 的东西,大概就类似于TCP/IP网络中的DHCP服务器,专门分配地址。
VAS&SFC服务链
名词解释:访问控制列表(Access Control Lists,ACL)
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
访问控制列表具有许多作用,如限制网络流量、提高网络性能;通信流量的控制,例如ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量;提供网络安全访问的基本手段;在路由器端口处决定哪种类型的通信流量被转发或被阻塞,例如,用户可以允许E-mail通信流量被路由,拒绝所有的 Telnet通信流量等。
名词解释:QoS(Quality of Service,服务质量)
QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来说是十分重要的,特别是对于流多媒体应用,例如VoIP和IPTV等,因为这些应用常常需要固定的传输率,对延时也比较敏感。
名词解释:NAT
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。
- 静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
- 动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
- 端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
网络地址端口转换 NAPT(Network Address Port Translation)(Port-Level NAT)( 多对一 )。改变外出数据包的源端口并进行端口转换,采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部 IP 地址实现对 Internet 的访问,可以最大限度地节约 IP 地址资源。同时,也可以隐藏网络内部的所有主机,有效避免来自 Internet 的攻击。因此,目前网络中应用最多的就是 PAT 规则。这是最常用的 NAT 技术,也是 IPv4 能够维持到今天的最重要的原因之一,它提供了一种多对一的方式,对多个内网 IP 地址,边界路由可以给他们分配一个外网 IP,利用这个外网 IP 的不同端口和外部进行通信。NAPT 与 动态NAT 不同,它将内部连接映射到外部网络中的一个单独的 IP 地址上,同时在该地址上加上一个由 NAT 设备选定的端口号。
NAPT 是使用最普遍的一种转换方式,在 HomeGW 中也主要使用该方式。它又包含两种转换方式:SNAT和DNAT。
- (1) 源NAT(Source NAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。
- (2) 目的NAT(Destination NAT,DNAT):修改数据包的目的地址。Destination NAT刚好与SNAT相反,它是改变第一个数据懈的目的地地址,如平衡负载、端口转发和透明代理就是属于DNAT。
SDN接口对接
通用模式:
目前维护的开源产品:https://gitee.com/475660