网络革命:软件定义网络与网络虚拟化

发表于2014-08-28 14:49| 5691次阅读| 来源OpenStack中国社区| 13 条评论| 作者郑晨

摘要:虽然现在SDN或网络虚拟化还没有达到预期的高度,但对于IT从业者来说,拥抱这些技术永远都不算早,目前以太网在每一个数据中心中扮演者举足轻重的角色,但SDN厂商们正在摩拳擦掌准备迎接下一场网络革命。

【编者按】网络经过多年的发展,已经来到“后Cisco”时代,软件定义网络、网络虚拟化等名词已经来到大家眼前,本文中着重介绍了传统网络架构与SDN网络的异同,网络虚拟化的发展状况,可以看到,SDN厂商们正在摩拳擦掌,由于“我们通常总是高估在接下来两年中产生的变化,而低估了未来十年将要发生的变化”,传统企业需要积极面对未来网络运营形态的变化,本文作者从网络转型和技术转型两方面深入讨论了网络行业未来的方向。

以下为原文:

网络行业整装待发,亟待改变

目前,以太网已经在每一个数据中心中扮演者举足轻重的角色,它将每一家公司连接到互联网之上。网络世界每一个重大改变都需要大量时间,虽然大众对于标准和新技术的接受能力在提高,新技术的普及也需要花费超过十年时间。 企业在发展过程中需要应对不断增长的对缩减预算的需求,企业员工需要自动化的IT基础设施来简化操作流程,而网络世界的声音主要集中在如何从传统以太网向软件定于网络与网络虚拟化的新架构迁移。既然网络世界已经被Cisco统治多年,现在的问题是:这些新技术对传统网络的影响力有多大?客户是否有足够的意愿更换厂商去采用这些新技术么?

Ethernet Fabrics(以太光网络),作为生成树协议架构网络的替代品,其具有可扩展、高带宽的架构,而SDN与其说是一个产品,不如说是一种架构。Juniper和Arista这些年在其产品线中提供了一些可编程特性。首先我们来看一下SDN是如何与传统网络架构的区别(接下来的两部分通过 Joe Onisick的图表和描述诠释了 具体区别)

传统网络架构

在传统网络架构图中,最重要的一点是控制层与数据层分离。每一层都有不同的任务,层与层在一起提供了整个数据的转发、路由功能。这里,控制层负责了设备的配置和数据流程序化选路。当你管理一台交换机时,你实际上是在和交换机的控制层打交道。像路由表、生成树协议这些东西都是由控制层计算出来的。这些表的构建来源于如BPDU(网桥协议数据单元,用于运行STP的交换机之间交换信息的消息真)、Hello包等消息帧的传递,根据这些消息帧,交换机来决定可用的转发路径。一旦这些数据包的转发路径确定,这些路径信息将向下发送至数据层,通常存储于硬件之上。数据层面通常选用最新的由控制层面传输过来的路径信息进行消息转发。这种模式在传统上来讲是十分高效的,硬件的决策过程是非常快速的,整体的延迟可控并且控制层面可以处理繁重的配置需求。

这种方法是没有任何问题的,我们关注的是可扩展性。为了证明可扩展性的问题,我们以服务质量(QoS)为例。
QoS允许根据帧中的特征,根据调度需求,优先转发特定数据帧。这从某种程度上减轻了特定流量在网络拥堵时所带来的数据传输延迟。举个例子,对延迟敏感的
语音和视频流量通常被定为高优先级转发以保证用户体验。流量优先级通常是基于数据帧中的服务等级(CoS)或区分服务代码点(DSCP)标签来决定的。这
些帧必须在数据帧进入网络时被统一确定,随之相对应的规则也必须在网络中设定一致,这种需求在传统多层交换网络中会变得很笨拙,因为每一台设备都需要有相
同的配置信息。

为了说明当前网络管理上的挑战,我们想想看,在网络中的每个设备节点的每个端口上,管理员都需要单独配置,这样的工作非常耗时,易出错且笨拙。

此外,在数据恰当分类和路由的网络中还存在着挑战。例如,现在我们有两种完全不同的数据流量,一种是iSCSI流量,一种是语音流量。iSCSI作为存储流量,通常数据包都是全尺寸大小的,甚至有时会出现巨型数据帧;而语音流量则通常是以一个个的小型的数据包传输的。此外,两种流量还有不同的传输需求:语音流量对延迟非常敏感,这是为了保证语音的通信质量,而iSCSI则对延迟低敏感,但是需要更多带宽。传统网络中几乎没有任何工具能够区分这两种流量并且根据流量类型不同选择不同数据通路以满足两种流量的特定需求。这些问题都是SDN希望去解决的。

SDN中的三大元素

  • 管理数据帧、包转发和应用策略的能力
  • 动态应用策略和管理网络的能力
  • 可编程能力

注意:为了实现SDN,网络架构不需要必须开放,标准化,与其他网络可交互等特性。一个合适的SDN可以仅满足定义和需求即可。

一个SDN架构必须有能力大规模编程操作数据帧或数据包流量。通常,SDN中的硬件通常被设计为汇聚的(设备有能力承载所有数据类型,包括一些希望存在的存储流量)、大型的、低延迟的数据传输管道,通常这些硬件被叫做fabric。SDN架构本身将从网络层视角,提供网络和网络流的集中管理能力。

这种架构是由将控制与数据层设备分离,并为控制层提供可编程接口这种方式实现的。数据层设备由控制层接受转发规则,并将规则应用在ASIC硬件之上。这些ASIC可以是传统ASIC,也可以是根据功能和性能需求自定义的转发芯片。下图诠释了这些元素之间的关系:

在图中,SDN控制器提供控制层功能,数据层则有物理交换设备提供。这些设备可以是新的也可以是装载特定固件的现存设备,这取决于特定供应商和物理架构模型。图中架构一个最主要的优势在于,对于控制层面,全局的可见性更大。除了每一个数据层设备依赖于其他邻居设备获取网络拓扑情况,一个单独的控制层将具有全网的连接状态。这种架构提供了对全网的路由,安全和QoS等配置,但同时也需要可编程特性。另外一个主要的特点在于集中控制,集中控制器获取实时应用数据流更加容易,并且可以集中针对数据进行决策。

图中仅仅展示了SDN架构的一小部分,其主要关注在物理架构与服务器位置。此外,这种架构可以将虚拟机环境整合进SDN网络中。这样,无论物理还是虚拟设备都可以统一进行控制策略管理,这种整合可以通过虚拟机管理器中可被SDN控制器管理的虚拟以太网桥来实现。下图具体说明了这种解决方案的逻辑架构。

图中清晰地描述了虚拟网络系统与物理网络系统整合的解决方案。这种架构异常重要,因为无论是物理数据层还是虚拟数据层都被控制层统一管理,当一台虚拟机进行迁移时,他可以不管下层网络架构。这种特性对于策略虚拟化环境非常重要,因为如果实现更细粒度的控制,控制策略可以放在虚机端口上,并在虚拟机出外网之前一直生效。

注意:上面两个图均为SDN架构的概念图。除了单独控制节点的解决方案,还有很多其他架构,本文中描述的是最普遍应用情况。

在架构中,控制层中的集中控制、可编程接口可以由更加复杂的智能控制进程取代,以满足流量优化、安全、维护等复杂需求。流量可以根据网络变化进行彼此独立转发。

SDN厂商崛起

正如很多人所说的,随着微软的陨落,“后PC”时代到来。那么随着“后Cisco”时代的到来,SDN势将撑起一片天。

Cisco——最近其针对自身开放网络环境(ONE)做出一个重大的战略决策——详见“
Mike Fratto 谈论计算机网络

Broadcom——SDN也放大了自定义厂商与传统芯片厂商的竞争。Cisco当然主要应用自主生产的芯片,而其他以太网交换机厂商则偏向于应用Broadcom或其他厂商的芯片。在最近的Dell
存储论坛会议上,Broadcom 架构与网络 CTO,Nick Ilyadis 主要讨论了网络软件化(包括SDN)在现在IT系统架构中的地位。
阅读详情

Brocade——其发布了自身在
SDN的发展蓝图,同时包括
支持OpenFlow和以太Fabrics网络的地位

HP——宣布支持OpenFlow,HP网络CTO,Saar Gillar讨论了SDN的生态系统,并透露出HP正在计划开发OpenFlow控制器,
阅读详情

Dell——正在通过收购扩大自身在网络市场的竞争力。Dell 网络GM Dario Zamarian解释了Dell如何与SDN接轨,
阅读详情

Juniper 网络——发布
最新SDN计划

Arista 网络——发布
最新SDN计划

IBM——发布
SDN白皮书,着重增强IBM网络竞争力

网络虚拟化

在讨论网络未来形态的过程中,绝大多数厂商都将终点放在了SDN。协议将不再是用户所真正需要的;企业IT需求的提高需要技术,培训和组织架构的变革。Wikibon
从Nicira得到这样一个颇受瞩目的答案:Nicira通常被视为SDN初创企业,源于其创始人在OpenFlow的发展中扮演了重要角色,但是Nicira的解决方案主要集中在控制层面,其更像是服务器虚拟化而非网络虚拟化,它提供了应用与物理层间的虚拟化层。而随着VMware的VMotion,微软的动态迁移技术的提出,这些特性也允许创建的虚拟机池可以动态部署和迁移。网络虚拟化则实现了在多种虚拟机管理平台间保持了这种灵活度,可以将任何虚拟机迁移至任何地方。这种特性将对传统网络厂商带来巨大冲击,这不仅仅是技术将脱离硬件,其更能够充分利用新的物理架构(如刀片服务器集群一样)。Nicira的网络虚拟化的三个目标在某种程度上,是对SDN的一种互补:

  • 1. 软件与硬件解耦,二三层数据转发将分离
  • 2. 重新定义物理与虚拟
  • 3. 网络自动化,允许操作灵活化

然而,话说回来,大多数SDN的解决方案还处于研发阶段,Nicira的24个客户中包括了一些大型网络,电信和云服务提供商(AT&T、eBay、Fidelity、NTT
和 Rackspace)。Nicira的解决方案主要面向大规模网络部署环境,这也是与OpenFlow应用场景最大的区别。Nicira的DVNI(
分布式虚拟化网络架构)构建了
网络虚拟化平台(NVP),通过
Open vSwitch 将虚拟机与网络解耦。网络虚拟化技术同时还应用了如
VXLAN,NVGRE 或
 STT(
无状态传输隧道协议,Nicira正在使用,处于IETF起草阶段)等隧道协议。当SDN业内正在讨论网络转型时,Nicira的视角已经向超大规模下一代网络系统方向看去。

为未来网络做准备

虽然现在SDN或网络虚拟化还没有达到预期的高度,企业的CIO们仍需要把这些变化放到企业发展未来的蓝图中。在未来的几年里,这些技术将从经营模式角度帮助企业顺利转型。所以,对于IT从业者来说,拥抱这些技术永远都不算早,这能使他们在这些技术到来的时候帮助自身转型而不是被他们淘汰。对于网络管理人员,可以通过“
工程师将拖后网络转型么?”这篇文章从运维角度了解网络转型。正如Bill Gates对技术变化的理解:我们通常总是高估在接下来两年中产生的变化,而低估了未来十年将要发生的变化。

原文链接:

网络革命:软件定义网络与网络虚拟化 (责编/魏伟)

时间: 2024-10-02 00:14:39

网络革命:软件定义网络与网络虚拟化的相关文章

OpenStack网络指导手册 -基本网络概念

转自:http://blog.csdn.net/zztflyer/article/details/50441200 目录(?)[-] 以太网Ethernet 虚拟局域网VLANs 子网和地址解析协议Subnets and ARP DHCP IP TCPUDPICMP [前言] 无论学习OpenStack或CloudStack,或是其他的云平台产品,网络都是举足轻重的概念和技术.但是网络知识本身就很庞大和复杂,学习起来非常困难,甚至不知道从何处下手.前段时间翻看OpenStack的文档,发现里面的

网络编程01---计算机网络基础

1.为什么要学习网络编程 1.在移动互联网时代,移动应用的特征有 几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 只有通过网络跟外界进行数据交互.数据更新,应用才能保持新鲜.活力 如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水 2.移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据 新闻:网易新闻.新浪新闻.搜狐新闻.腾讯新闻 视频:优酷.百度视频.搜狐视频.爱奇艺视频 音乐:QQ音乐.百度音乐.酷狗音乐.酷我音乐 LBS:百度地图

无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)

1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

Linux网络管理2---(网络环境查看命令、网络测试命令)

1.网络环境查看命令 ifconfig命令 查看或临时修改网络状态的命令 可以看到IP.子网掩码……信息 关闭和启动网卡 ifdown 网卡设备名(比如: ifdown eth0):禁用该网卡设备 ifup 网卡设备名:启用该网卡设备 查询网络状态:netstat 选项: -t:列出TCP 协议端口 -u:列出UDP协议端口 -n:不使用域名与服务名,而使用IP地址和端口号 -l:仅列出在监听状态网络服务(所有UDP服务都没有监听状态,因为TCP是三次握手,需要等待反馈信息,而UDP就不需要)

PGM:贝叶斯网络与朴素贝叶斯网络

http://blog.csdn.net/pipisorry/article/details/51471222 贝叶斯与频率派思想 频率派思想 长久以来,人们对一件事情发生或不发生,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且事情发生或不发生的概率虽然未知,但最起码是一个确定的值. 比如如果问那时的人们一个问题:"有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概率是多少?"他们会立马告诉你,取出白球的概率就是

Android编程 获取网络连接状态 及调用网络配置界面

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager 类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager的作用: Class that answers queries about the state of network connectivity. It also notifies applic

连接SQLServer2005失败--[Microsoft][ODBC SQL Server Driver][DBNETLIB]一般性网络错误。请检查网络文档

连接SQLServer2005失败,错误信息: 错误类型:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC SQL Server Driver][DBNETLIB]一般性网络错误.请检查网络文档. 我的连接字符串是:driver={SQL Server};Server=192.168.10.139;database=TestFax;Uid=sa;pwd=xxxx; 奇怪的是,我将Server处写(loc

新辰:关于“网络推广不能仅仅依靠网络”的详解

新辰上一篇文章<新辰:网络推广不能仅仅依靠网络!>收到了非常多朋友的评论,有些朋友对此感到非常是不解:你都说是做网络推广了,怎么还说不能依靠网络?你不利用网络还叫做网络推广吗?你写的文章有点乱.看不懂--呵呵,对于这些朋友的问题,新辰也是感到非常抱歉,所以特发此文来解释各位朋友们的疑问. 问题一:既然是网络推广.为什么还叫做不能仅仅依靠网络? 新辰答:首先,我们应该知道啊,推广的方法有非常多,网络推广仅仅是这些推广中的一种而已.只是也是如今最为流行的方法:既然我们做网络推广,当然首选的就是网络

Raknet是一个基于UDP网络传输协议的C++网络库(还有一些其它库,比如nanomsg,fastsocket等等)

Raknet是一个基于UDP网络传输协议的C++网络库,允许程序员在他们自己的程序中实现高效的网络传输服务.通常情况下用于游戏,但也可以用于其它项目. Raknet有以下好处: 高性能 在同一台计算机上,Radnet可以实现在两个程序之间每秒传输25,000条信息: 容易使用 Raknet有在线用户手册,视频教程.每一个函数和类都有详细的讲解,每一个功能都有自己的例程 跨平台,当前Raknet支持Windows, Linux, Macs,可以建立在Visual Studio, GCC, Code