sdn网络与传统网络区别(聚焦网络虚拟化)(1)

本文为SDN系列第二篇,关注蛋蛋团,有更多精彩!

后台回复“报告”,获取最新报告推送!

文章目录

一、网络基础

1、网络组成三要素

2、网络通信三要素

3、网络设备介绍

4、家用/企业网络架构介绍

5、名词解释

二、SDN介绍

1、传统网络存在的问题

2、SDN定义

3、SDN vs 传统网络

4、SDN案例----谷歌B4

三、拓展:NVF、NV和SDN的关系

四、参考资料

二、SDN介绍

1、传统网络存在的问题

1.1 硬件升级难题

纵观网络设备的诞生,传统网络行业按需发展,即根据暴露的问题然后去研发解决这个问题。同时,网络硬件研发周期长,迭代和升级也远远跟不上软件。

在传统网络行业中,话语权是掌控在网络设备商手上的,如思科、华为、新华三等。底层对于用户来说,是完全封闭的,如同黑盒子般,无法去掌控。

1.2 网管系统的不足

传统的主流网络方案中,一般是配置网管服务器,网络设备(路由器、交换机、防火墙)和网管系统部署SNMP协议,通过网管系统对全网进行可视化拓扑发现、配置管理、链路质量检测。

然而,SNMP作为简单网络管理协议,更多侧重于网络设备的监控。而不是部署和配置。一般仅仅对IDC机房的故障进行告警,无法通过网管服务器去自动配置。

1.3 流量分配不均衡

同时,针对互联网公司的链路流量分配不均衡,也没有一个很好的解决方案,可分配均衡的一大难点,又在于流量的可视化。

  1. 常规流控产品只能实现部分带宽分配可视化,常规网管系统只能实现链路故障检测,无法带宽可视化
  2. 全网流量可视化是带宽智能调配的基础

1.4 网络设备本身问题

网络设备通过“网路协议”进行对话,如OSPF、BGP、MPLS、MSTP等,建立连接会通过三个步骤:邻居建立、信息共享、路径选择。

而由于大部分的网络设备采用“分布式架构”,每次交互都会根据“路径算法(如SPF算法)”选择最优的路径。

sdn网络与传统网络区别(聚焦网络虚拟化)(2)

但是选择路径时,只能选择最短,不能根据流量等因素加以区分。同时,由于每个交换机都会有自己的控制器,也会消耗一部分的转发性能。

2、SDN定义

sdn网络与传统网络区别(聚焦网络虚拟化)(3)

SDN:即软件定义网络,是一种网络设计理念

网络设备可以集中式管理,可编程,控制和转发分离。即可定义为SDN

SDN框架由应用层、控制层、转发层(基础设施层)组成,其中应用层提供应用和服务(网管、安全、流控等),控制层统一管理和控制(协议计算、策略下发、链路信息等)、转发层提供硬件设备(交换机、路由器、防火墙)进行数据转发

基于REST API的北向接口负责面向应用,提供网络抽象,使得网络具备软件编程的能力。南向接口主要负责面向基础设施层,主要提供Openflow流。

sdn网络与传统网络区别(聚焦网络虚拟化)(4)

注意:控制层接口也属于北向接口

3、SDN vs 传统网络

sdn网络与传统网络区别(聚焦网络虚拟化)(5)

第一条就不阐述了,SDN的基础。

第二条如下图。

sdn网络与传统网络区别(聚焦网络虚拟化)(6)

第三条主要是SDN可以通过代码写脚本实现转发策略,如C/JAVA/Python。

第四条开放接口也很好理解,基于开放协议的方案是当前SDN实现的主流方案。

第五条网络虚拟化,即虚拟化平台是介于数据网络拓扑和租户控制器之间的中间层,为了实现虚拟化,虚拟化平台需要对物理网络资源进行抽象虚拟化,其中包括拓扑虚拟化,节点资源虚拟化和链路资源虚拟化。

sdn网络与传统网络区别(聚焦网络虚拟化)(7)

4、SDN案例----谷歌B4

sdn网络与传统网络区别(聚焦网络虚拟化)(8)

sdn网络与传统网络区别(聚焦网络虚拟化)(9)

sdn网络与传统网络区别(聚焦网络虚拟化)(10)

目的:区分高优先级和低优先级流量然后分配带宽

说明:控制该网络的系统分为三个层次:物理设备层(Switch Hardware)、局部网络控制层(Site Controller)和全局控制层(global)。一个Site就是一各数据中心。第一层的硬件交换机和第二层的Controller在每个数据中心的内部出口的地方都有部署,而第三层的SDN网关和TE服务器则是在一个全局统一的控制器。

详解:

  1. 第一层的硬件交换机是Google自己设计的。交换机里面运行了OpenFlow协议,但是它并非仅仅使用了一般的OpenFlow交换机最常使用的ACL表,而是用了TTP(Table Typing Patterns)方式,包括ACL表、路由表、Tunnel表等。但是向上提供的是OpenFlow接口。这些交换机会把BGP/IS-IS协议报文发送到Controller供Controller处理。
  2. 第二层最为复杂,该层在每个数据中心出口并不是只有一台服务器,而是有一个服务器集群,每个服务器上都运行一个Controller,Google用的Controller是基于分布式的Onix Controller来改造的。一台交换机可以连接到多个Controller,但是只有其中一个处于工作状态(Master),一个控制器控制多台交换机,一个名叫Paxos的程序用来进行leader选举(即选举Master)
  3. 第三层中,全局的TE服务器通过SDN Gateway从各个数据中心的控制器收集链路信息,从而掌握路径信息,这些路径被以IP-In-IP Tunnel的方式创建而不是TE最经常使用的MPLS Tunnel,通过Gateway到Onix Controller,最终下发到交换机中。当一个新业务数据要开始传输的时候,应用程序会评估该应用所需要耗用的带宽,为它选择一条最优路径(比如负载最轻的但非最短路径即不丢包但时延大),然后把这个应用对应的流通过Controller下发到交换机,从而整体上使链路带宽利用率到达最优。
三、拓展:NVF、NV和SDN的关系

先了解三个概念之间的释义。

  • NVF:网络设备虚拟化
  • NV:网络虚拟化
  • SDN:软件定义网络

NFV是ETSI(即欧洲电信标准化协会)旨在通过采用通用硬件及在其上流行的虚拟化技术,来取代目前由电信设备厂商给运营商提供的专用硬件设备,从而降低网络建设的昂贵成本支出。NFV的目标就是通用服务器替代专用电信设备(路由器、交换机等)。

NV是云计算发展所必然产生的技术,即针对公有云中快速部署、自动化以及自服务成了必然的需求:

  • 多租户隔离
  • 单租户的不同应用之间安全性要保障
  • 根据云平台的应用要求配置网络策略,同时迁移时自动转移策略。

SDN中即虚拟化平台是介于数据网络拓扑和租户控制器之间的中间层,为了实现虚拟化,虚拟化平台需要对物理网络资源进行抽象虚拟化,其中包括拓扑虚拟化,节点资源虚拟化和链路资源虚拟化。

总结:SDN = NV > NVF

即云计算的虚拟网络利用SDN的思想,同时,SDN针对是面,而NVF针对的是点,在未来,SDN与NFV都是大势所趋,可能会出现在Controller控制下用通用服务器作为网元形成的网络,既实现了SDN,又是NFV。

四、参考资源

1、51CTO课程————《SDN从入门到精通》

2、《Google数据中心B4网络具体实现》

3、漫谈SDN,NFV与NV

,