目录 第9章软件定义网络 91软件定义网络的起源和发展 91.1软件定义网络的起源 912软件定义网络的发展 92软件定义网络体系结构 921软件定义网络架构 922软件定义网络特点 9.3 Open flow协议 94软件定义网络标准现状和开源项目 941标准现状 942开源项目 9.5软件定义网络应用
I 目 录 第 9 章 软件定义网络 9.1 软件定义网络的起源和发展 9.1.1 软件定义网络的起源 9.1.2 软件定义网络的发展 9.2 软件定义网络体系结构 9.2.1 软件定义网络架构 9.2.2 软件定义网络特点 9.3 Open Flow 协议 9.4 软件定义网络标准现状和开源项目 9.4.1 标准现状 9.4.2 开源项目 9.5 软件定义网络应用
第9章软件定义网络 91软件定义网络的起源和发展 91.1软件定义网络的起源 伴随着物联网、云计算等新技术的发展以及智能手机的普及,互联网以强劲的发展 势头渗透至人们的工作、生产和生活等各个领域,其上所承载的业务类型也日益丰富, 涵盖了社交网络、电子商务、企业信息化系统等多种不同特征的业务。在这种网络环境 下,网络用户的急剧增加、差异化的网络业务需求、用户个性化的服务质量需求等都使 得现有的网络架构难堪重负,以IP为核心的网络架构的局限性逐渐凸显出来。例如 日益突出的网络信息窃取问题,恶意攻击、密码泄露、病毒、木马每年都会造成上亿美 元的损失;网络地址消耗殆尽;臃肿不堪的网络路由无法满足云业务对网络的快速响应 需求等,尽管如此,针对网络中存在的问题,网络工程师们做了大量的改进和创新工作, 提出了一系列方案来解决网络中遇到的问题,如IPSe、MPLS、IPv6等。这种“补丁 式”的措施虽然奇迹般地让网络在各种不同的应用上工作到了今天,但是,这种模式下 发展起来的互联网已经成为一个规模臃肿、结构繁杂、QoS不可靠的系统,进一步加剧 了网络数据层和网络控制层的压力,使得网络控制层愈加复杂,难以适应目前网络业务 的发展。 为了适应今后互联网业务的需求,业内也形成了“现在是创新思考互联网基本体系 结构,采用新的设计理念的时候了”的主流意见,并对未来网络体系架构应具备的性质 和功能提出了要求。首先,未来网络的体系架构应提供多视角的网络操作要求,用户、 网络服务提供商、网络设备制造商等都可以对网络的某些功能进行管理和控制。其次 未来网络应提供信息共享、迅速感知网络状态的功能,保证各个网络主体能快速地调整 网络服务策略。软件定义网络的兴起为未来网络的发展提供了方向。 经过多年的发展,以TCPP为核心的网络架构中存在着越来越多的问题。大家一 致认为传统的修修补补方式并不能从根本上解决网络问题。为此,业界提岀了重新设计 网络架构以解决网络问题的方式,学术界形象地称之为“ Clean Slate”方案,可以尽可 能地考虑当前的各种需求及未来可能的需求。其中,比较有代表性的有:美国的FIND ( future Internet network design,未来互联网网络设计)和GENI( global environment fo network innovations,全球网络创新环境)、中国的CNGI( China next generation Internet
1 第 9 章 软件定义网络 9.1 软件定义网络的起源和发展 9.1.1 软件定义网络的起源 伴随着物联网、云计算等新技术的发展以及智能手机的普及,互联网以强劲的发展 势头渗透至人们的工作、生产和生活等各个领域,其上所承载的业务类型也日益丰富, 涵盖了社交网络、电子商务、企业信息化系统等多种不同特征的业务。在这种网络环境 下,网络用户的急剧增加、差异化的网络业务需求、用户个性化的服务质量需求等都使 得现有的网络架构难堪重负,以 IP 为核心的网络架构的局限性逐渐凸显出来。例如: 日益突出的网络信息窃取问题,恶意攻击、密码泄露、病毒、木马每年都会造成上亿美 元的损失;网络地址消耗殆尽;臃肿不堪的网络路由无法满足云业务对网络的快速响应 需求等,尽管如此,针对网络中存在的问题,网络工程师们做了大量的改进和创新工作, 提出了一系列方案来解决网络中遇到的问题,如 IPSec、MPLS、IPv6 等。这种“补丁 式”的措施虽然奇迹般地让网络在各种不同的应用上工作到了今天,但是,这种模式下 发展起来的互联网已经成为一个规模臃肿、结构繁杂、QoS 不可靠的系统,进一步加剧 了网络数据层和网络控制层的压力,使得网络控制层愈加复杂,难以适应目前网络业务 的发展。 为了适应今后互联网业务的需求,业内也形成了“现在是创新思考互联网基本体系 结构,采用新的设计理念的时候了”的主流意见,并对未来网络体系架构应具备的性质 和功能提出了要求。首先,未来网络的体系架构应提供多视角的网络操作要求,用户、 网络服务提供商、网络设备制造商等都可以对网络的某些功能进行管理和控制。其次, 未来网络应提供信息共享、迅速感知网络状态的功能,保证各个网络主体能快速地调整 网络服务策略。软件定义网络的兴起为未来网络的发展提供了方向。 经过多年的发展,以 TCP/IP 为核心的网络架构中存在着越来越多的问题。大家一 致认为传统的修修补补方式并不能从根本上解决网络问题。为此,业界提出了重新设计 网络架构以解决网络问题的方式,学术界形象地称之为“Clean Slate”方案,可以尽可 能地考虑当前的各种需求及未来可能的需求。其中,比较有代表性的有:美国的 FIND (future Internet network design,未来互联网网络设计)和 GENI(global environment for network innovations,全球网络创新环境)、中国的 CNGI(China next generation Internet
中国下一代互联网)、欧盟的FIRE( future Internet research and experimentation)以及日 本国家信息通信技术所(NICT)资助的 AKARI项目及对应的下一代试验床JGN2+。 同时,在学术界,以斯坦福大学为主导,联合美国国家自然科学基金会(NSF, national science foundation)以及包括工业界合作伙伴,共同启动了 Clean Slate( Clean- Slate design for the internet)项目。在此项目中, Martin casado博士领导了一个关于网络安全与管理 的子项目 Ethane。该项目试图通过一个集中式的控制器,以方便网络管理员自主定义基 于网络流的安全控制策略,并把这些安全策略应用到各种网络设备中,从而实现对整个 网络通信的安全控制。受此项目的启发, Martin和他当时的导师 Nick mcKeown教授发 现,如果将 Ethane的设计更一般化,将传统网络设备的数据转发( data plane)和路由 控制( control plane)两个功能模块相分离,通过集中式的控制器以标准化的接口对各种 网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可能性, 从而更容易推动冈络的革新和发展。于是,他们便提出了 Open Flow的概念,并于2008 年在 ACM SIGCOMM上发表名为《 Open Flow: Enabling Innovation in Campus Networks》 的论文。在这篇论文中,首次详细介绍了 Open Flow的概念,并列举了校园实验性通信 网络协议支持、网络隔离、网络管理和访问控制等 Open Flow的六大应用场景。至此, 奠定了软件定义网络(SDN, Software Defined Network)的雏形 912软件定义网络的发展 在目前的互联网框架下,互联网的发展已经快要接近极致。如何提高互联网的传输 效率、如何更方便的管理网络已经刻不容缓。人们也渐渐开始把眼光瞄向传统网络框架 之外,即重新定义一种网络框架来实现高效的网络传输和控制,软件定义网络(SDN) 在这种背景下应运而生。SDN首创者之一 Martin Casado当时是斯坦福大学的研究生, 其导师是著名的 Nick McKeown教授,两人在创造推动SDN发展上有着巨大贡献, Martin Casado还被称为SDN之父。在2003之前, Casado在美国情报机构工作,情报机构的 计算机网络理所当然是非常安全的,但是在现有网络框架内,越安全的网络伴随着的是 复杂的网络路由策略,各种复杂的路由协议相互交错所以维护起来异常复杂。越复杂的 网络,运维时需要修改的网络设备配置就越多,网络管理中常常有牵一发而动全身的经 历,需要挨个在不同设备上进行配置。所以 Casado对此感触非常大,随着网络安全性 要求的提高,势必导致网络运维起来越来越复杂,他认为在这种网络架构下,网络基本 上搭建以后就没有什么可塑性了。由于网络设备厂商基于自身利益考虑,不会开放源码
2 中国下一代互联网)、欧盟的 FIRE(future Internet research and experimentation)以及日 本国家信息通信技术所(NICT)资助的 AKARI 项目及对应的下一代试验床 JGN2+。 同时,在学术界,以斯坦福大学为主导,联合美国国家自然科学基金会(NSF,national science foundation)以及包括工业界合作伙伴,共同启动了 Clean Slate(Clean-Slate design for the Internet)项目。在此项目中,Martin Casado 博士领导了一个关于网络安全与管理 的子项目 Ethane。该项目试图通过一个集中式的控制器,以方便网络管理员自主定义基 于网络流的安全控制策略,并把这些安全策略应用到各种网络设备中,从而实现对整个 网络通信的安全控制。受此项目的启发,Martin 和他当时的导师 Nick MeKeown 教授发 现,如果将 Ethane 的设计更一般化,将传统网络设备的数据转发(data plane)和路由 控制(control plane)两个功能模块相分离,通过集中式的控制器以标准化的接口对各种 网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可能性, 从而更容易推动网络的革新和发展。于是,他们便提出了 OpenFlow 的概念,并于 2008 年在 ACM SIGCOMM 上发表名为《OpenFlow:Enabling lnnovation in Campus Networks》 的论文。在这篇论文中,首次详细介绍了 OpenFlow 的概念,并列举了校园实验性通信 网络协议支持、网络隔离、网络管理和访问控制等 OpenFlow 的六大应用场景。至此, 奠定了软件定义网络(SDN,Software Defined Network)的雏形。 9.1.2 软件定义网络的发展 在目前的互联网框架下,互联网的发展已经快要接近极致。如何提高互联网的传输 效率、如何更方便的管理网络已经刻不容缓。人们也渐渐开始把眼光瞄向传统网络框架 之外,即重新定义一种网络框架来实现高效的网络传输和控制,软件定义网络(SDN) 在这种背景下应运而生。SDN 首创者之一 Martin Casado 当时是斯坦福大学的研究生, 其导师是著名的Nick McKeown 教授,两人在创造推动SDN发展上有着巨大贡献,Martin Casado 还被称为 SDN 之父。在 2003 之前,Casado 在美国情报机构工作,情报机构的 计算机网络理所当然是非常安全的,但是在现有网络框架内,越安全的网络伴随着的是 复杂的网络路由策略,各种复杂的路由协议相互交错所以维护起来异常复杂。越复杂的 网络,运维时需要修改的网络设备配置就越多,网络管理中常常有牵一发而动全身的经 历,需要挨个在不同设备上进行配置。所以 Casado 对此感触非常大,随着网络安全性 要求的提高,势必导致网络运维起来越来越复杂,他认为在这种网络架构下,网络基本 上搭建以后就没有什么可塑性了。由于网络设备厂商基于自身利益考虑,不会开放源码
与编程接口。于是他来到斯坦福大学、打算寻找一条新的解决方案 SDN被戏称 Stanford Define Network,由此可见SDN的起源于斯坦福大学有很大 的关系。2006年SDN诞生于由美国GENⅠ在斯坦福大学资助的 Clean Slate课题,这个 课题是由美国政府主导的NGN(下一代网络)项目,其宗旨是通过优化或者改变现有 网络体系架构、重新塑造互联网。以 Nick Mckeown教授为首的科研团队则是 Clean state 的核心团队,其中 Martin Casado在RCP和4D论文的基础上,提出了一个逻辑上集中 控制的企业安全解决方案SANE,即利用一个集中控制器来解决集中控制网络安全问题, 打开了一扇解决集中控制安全的大门,为以后SDN的发展铺平道路。 2007年 Casado领导的一个关于网络安全与管理的科研项目 Ethane,并发表了一篇 博士论文《一种名为 Ethane的网络架构》。这篇论文就是SDN的雏形,只是这时SDN 的概念还没有被提出来。在SANE的基础上, Martin博士实现了面向企业网管理的 Ethane 项目,该项目的目的是使网络管理员能够自主的定义网络流的走向和对应安全策略,并 将这些安全策略应用到全网中,从而能够方便的对网络进行控制。到2008年Nick教授 受SANE和 Ethane项目的启发,提出了 Open Flow协议、并于当前在 ACM SIGCOMM 会议上发表了题为《 Open Flow: Enabling Innovation in Campus Networks》的论文,首次 详细地介绍了 Open Flow的概念以及应用场景。在南向接口处使用 Openflow给网络带来 可编程特性。209年 Nick mckeown教授和他的科研团队提出了SDN概念。同年SDN 概念入围 Technology Review年度十大前沿技术,自此SDN在学术界和工业界开始得到 广泛认可。同年,Nick教授和 Martin博士在硅谷一起创办了 Nicira这是SDN历史上第 个初创公司。 2009年底,基于商业化的 Open Flow10版本正式发布,同时Nck团队还发布了 Python版的控制器POX以及开源网络虚拟化软件 Flow Visor,使得SDN的商业化进程 大大加快,也加速推广了SDN的应用。 Vieira发布了 Open vSwitch,至今仍占据开源 SDN软件数据面头把交椅。两位华人 James liao和杜林共同创办了Pica8公司。 2010年,Nick团队发布了 Wininet o同年, Google发布第一个分布式SDN控制器 Onix,Nick的博士 Guido等创办了 BisWitch,这是在 Vieira后第二个最有前景的初创 公司。2011年,开放网络基金会( Open Network Foundation,ONF)诞生,在 Nick McKeown 教授推动下, Google、 Facebook、NTT、 Verizon、德国电信、微软、雅虎等86家企业 加入了ONF。其主要致力于推动SDN架构技术的规范和发展。第一届开放网络峰会ONS
3 与编程接口。于是他来到斯坦福大学、打算寻找一条新的解决方案。 SDN 被戏称 Stanford Define Network,由此可见 SDN 的起源于斯坦福大学有很大 的关系。2006 年 SDN 诞生于由美国 GENI 在斯坦福大学资助的 Clean Slate 课题,这个 课题是由美国政府主导的 NGN(下一代网络)项目,其宗旨是通过优化或者改变现有 网络体系架构、重新塑造互联网。以 Nick McKeown 教授为首的科研团队则是 Clean State 的核心团队,其中 Martin Casado 在 RCP 和 4D 论文的基础上,提出了一个逻辑上集中 控制的企业安全解决方案 SANE,即利用一个集中控制器来解决集中控制网络安全问题, 打开了一扇解决集中控制安全的大门,为以后 SDN 的发展铺平道路。 2007 年 Casado 领导的一个关于网络安全与管理的科研项目 Ethane,并发表了一篇 博士论文《一种名为 Ethane 的网络架构》。这篇论文就是 SDN 的雏形,只是这时 SDN 的概念还没有被提出来。在 SANE 的基础上,Martin 博士实现了面向企业网管理的 Ethane 项目,该项目的目的是使网络管理员能够自主的定义网络流的走向和对应安全策略,并 将这些安全策略应用到全网中,从而能够方便的对网络进行控制。到 2008 年 Nick 教授 受 SANE 和 Ethane 项目的启发,提出了 OpenFlow 协议、并于当前在 ACM SIGCOMM 会议上发表了题为《OpenFlow: Enabling Innovation in Campus Networks》的论文,首次 详细地介绍了 OpenFlow 的概念以及应用场景。在南向接口处使用 Openflow 给网络带来 可编程特性。2009 年 Nick McKeown 教授和他的科研团队提出了 SDN 概念。同年 SDN 概念入围 Technology Review 年度十大前沿技术,自此 SDN 在学术界和工业界开始得到 广泛认可。同年,Nick 教授和 Martin 博士在硅谷一起创办了 Nicira 这是 SDN 历史上第 一个初创公司。 2009 年底,基于商业化的 OpenFlow1.0 版本正式发布,同时 Nick 团队还发布了 Python 版的控制器 POX 以及开源网络虚拟化软件 FlowVisor,使得 SDN 的商业化进程 大大加快,也加速推广了 SDN 的应用。Nicira 发布了 Open vSwitch,至今仍占据开源 SDN 软件数据面头把交椅。两位华人 James Liao 和杜林共同创办了 Pica8 公司。 2010 年,Nick 团队发布了 Mininet。同年,Google 发布第一个分布式 SDN 控制器 Onix,Nick 的博士 Guido 等创办了 BigSwitch,这是在 Nicira 后第二个最有前景的初创 公司。2011 年,开放网络基金会(Open Network Foundation,ONF)诞生,在 Nick McKeown 教授推动下,Google、Facebook、NTT、Verizon、德国电信、微软、雅虎等 86 家企业 加入了 ONF。其主要致力于推动 SDN 架构技术的规范和发展。第一届开放网络峰会 ONS
成功举办。ONF的成立让SDN受到了工业界的广泛关注。 2012年注定是SDN不同寻常的一年。先是 Google宣布其主干网络已经全面运行在 Open Flow上,并且通过10G网络链接分布在全球各地的12个数据中心,使广域线路的 利用率从30%提升到接近饱和。从而证明了 Open Flow不再仅仅是停留在学术界的一个 研究模型,而是已经完全具备了可以在产品环境中应用的技术成熟度。而后 VMware以 12.6亿美金的天价收购 Nicira。同年,爱立信员工 Dominique创办 NoviFlow,盛科发布 V330交换机, BisWitch发布了 Floodlight控制器,日本NTT公司发布了控制器Ryu 计算机网络领域顶级学术会议召开了第一届 HotAN研讨会, 2013年, Open Daylight项目诞生。思科收购 Insieme,发布了ACI产品方案。 VMware 发布了NSX产品。同年,AT&T发布了 Domain20计划。盛科的V350交换机夺得首届 ONS峰会 SDN Idol大奖。2014年,ONOS诞生。 Facebook在OCP项目中开放发布 Wedge 交换机设计细节,白盒交换机成为这一年的主旋律。华为发布了SDN的POF框架。 2015年,ONF发布了一个开源SDN项目社区, SD-WAN成为第二个成熟的SDN 应用市场。SDN与NFV融合成为趋势,这一年是NFV的大热年。2016年,国内SDN 初创公司云杉网络和大河云联分别获得资本的青睐,盛科网络完成3.1亿战略融资。SDN 初创公司 Velocloud、 Plexi、 Cumulus和 Biswitch都获得了新一轮融资。IEE召开 NFV-SDN会议,网络编程语言的研究受到学术圈重点关注。 SDN-IOT学术研讨会召开 92软件定义网络体系结构 921软件定义网络架构 网络设备一般由控制平面和数据平面组成。控制平面为数据平面制定转发策略,规 划转发路径,如路由协议、网关协议等。数据平面则是执行控制平面策略的实体,包括 数据的封装/解封装、查找转发表等。目前,设备的控制面和转发面都是由设备厂商自 行设计和开发,不同厂家实现的方式不尽相同。并且,软件化的网络控制面功能被固化 在设备中,使得设备使用者没有任何控制网络的能力。这种控制平面和数据平面紧耦合 的方式带来了网络管理复杂、网络测试繁杂、网络功能上线周期漫长等问题。因而,软 件定义网络应运而生。 2012年4月,开放网络基金会(ONF)发布白皮书《 Software- defined Network The New norm for Networks》,并对SDN的架构进行定义。SDN是一种将网络控制功 能与转发功能分离、实现控制可编程的新兴网络架构,其核心思想是将传统网络设备紧
4 成功举办。ONF 的成立让 SDN 受到了工业界的广泛关注。 2012 年注定是 SDN 不同寻常的一年。先是 Google 宣布其主干网络已经全面运行在 OpenFlow 上,并且通过 10G 网络链接分布在全球各地的 12 个数据中心,使广域线路的 利用率从 30%提升到接近饱和。从而证明了 OpenFlow 不再仅仅是停留在学术界的一个 研究模型,而是已经完全具备了可以在产品环境中应用的技术成熟度。而后 VMware 以 12.6 亿美金的天价收购 Nicira。同年,爱立信员工 Dominique 创办 NoviFlow,盛科发布 V330 交换机,BigSwitch 发布了 Floodlight 控制器,日本 NTT 公司发布了控制器 Ryu。 计算机网络领域顶级学术会议召开了第一届 HotSDN 研讨会。 2013 年,OpenDaylight 项目诞生。思科收购 Insieme,发布了 ACI 产品方案。VMware 发布了 NSX 产品。同年,AT&T 发布了 Domain2.0 计划。盛科的 V350 交换机夺得首届 ONS 峰会 SDN Idol 大奖。2014 年,ONOS 诞生。Facebook 在 OCP 项目中开放发布 Wedge 交换机设计细节,白盒交换机成为这一年的主旋律。华为发布了 SDN 的 POF 框架。 2015 年,ONF 发布了一个开源 SDN 项目社区,SD-WAN 成为第二个成熟的 SDN 应用市场。SDN 与 NFV 融合成为趋势,这一年是 NFV 的大热年。2016 年,国内 SDN 初创公司云杉网络和大河云联分别获得资本的青睐,盛科网络完成 3.1 亿战略融资。SDN 初创公司 VeloCloud、Plexxi、Cumulus 和 BigSwitch 都获得了新一轮融资。IEEE 召开 NFV-SDN 会议,网络编程语言的研究受到学术圈重点关注。SDN-IoT 学术研讨会召开。 9.2 软件定义网络体系结构 9.2.1 软件定义网络架构 网络设备一般由控制平面和数据平面组成。控制平面为数据平面制定转发策略,规 划转发路径,如路由协议、网关协议等。数据平面则是执行控制平面策略的实体,包括 数据的封装/解封装、查找转发表等。目前,设备的控制面和转发面都是由设备厂商自 行设计和开发,不同厂家实现的方式不尽相同。并且,软件化的网络控制面功能被固化 在设备中,使得设备使用者没有任何控制网络的能力。这种控制平面和数据平面紧耦合 的方式带来了网络管理复杂、网络测试繁杂、网络功能上线周期漫长等问题。因而,软 件定义网络应运而生。 2012 年 4 月,开放网络基金会(ONF)发布白皮书《Software-defined Networking: The New Norm for Networks》,并对 SDN 的架构进行定义。SDN 是一种将网络控制功 能与转发功能分离、实现控制可编程的新兴网络架构,其核心思想是将传统网络设备紧