基于OpenFlow的SDN技术
- 格式:docx
- 大小:184.16 KB
- 文档页数:14
面向SDN网络的可编程交换机技术研究随着互联网的快速发展和需求的不断增长,网络带宽的需求也在逐年增长。
特别是在数据中心这一领域,可编程交换机技术的应用越来越广泛。
SDN(软件定义网络)的出现使得这一领域能够更好地进行网络流量管理,并为网络管理员提供更大的灵活性和可控性。
因此,研究面向SDN网络的可编程交换机技术,对于网络行业的发展来说是非常重要的。
一、SDN网络的概念与特点软件定义网络(Software-Defined Networking,SDN)是一种新型的网络模式,它可以实现网络设备控制面与数据面的分离,网络管理员可以通过控制器来管理网络中的数据流。
SDN网络具有以下几个特点:1. 可编程性:SDN网络的数据流可以通过编程来实现。
网络管理员可以使用编程语言来控制设备的功能和数据流的传输方式,从而实现灵活性和可控性。
2. 中心控制:SDN网络的控制器可以管理多个交换机,集中控制整个网络的状态,并根据实时情况对网络进行优化,提高网络的性能和稳定性。
3. 抽象化:SDN网络中,交换机和路由器的实现与应用分离,网络管理员不需要知道底层硬件的构架,只需要关注网络的业务需求和策略,从而帮助网络管理员更灵活地管理网络。
二、可编程交换机技术的发展在SDN网络中,交换机是网络中最基本的设备。
可编程交换机技术的出现让交换机具有了更大的灵活性和可控性,使得网络管理员可以对交换机进行更精确的控制和管理。
1. OpenFlow技术OpenFlow技术是最早用于SDN网络的可编程交换机技术之一。
它通过控制器来管理数据流和交换机的状态,从而实现网络的可编程性和实时性。
2. P4技术P4(Programming Protocol-Independent Packet Processors)是一种新的可编程交换机技术。
它可以实现对数据包的精确控制和处理,从而实现更高的性能和灵活性。
3. FPGA技术FPGA(Field Programmable Gate Array)技术是一种硬件可重构技术。
SDN核心技术概述SDN (Software-Defined Networking) 是一种网络架构和管理方法,通过将控制平面与数据平面分离,可以实现灵活、可编程和可自动化的网络配置。
在传统的网络中,网络控制和数据转发是紧密耦合的,这限制了网络的可扩展性和灵活性。
而SDN通过集中的控制器以及抽象的网络视图来管理整个网络,使得网络的管理和配置变得更加简单,并且可以根据应用的需求进行灵活的网络调整。
1.控制平面和数据平面的分离:传统网络中,路由器和交换机既承担控制平面的任务,也承担数据平面的任务。
而在SDN中,网络设备的数据平面只负责简单的数据转发任务,而控制平面则由集中的控制器来负责,控制器通过和网络设备进行通信,来下发控制指令和策略。
这种分离使网络管理变得更加灵活和可编程。
2. OpenFlow协议:OpenFlow是SDN中的一个重要协议,它定义了控制器和网络设备之间的通信接口。
通过OpenFlow协议,控制器可以向网络设备下发流表中的流转发规则,并实时获取网络设备的状态和统计信息。
OpenFlow协议的出现,使得不同厂商的网络设备可以与同一个控制器进行交互,这大大简化了网络的管理和配置。
3.软件定义网络架构:SDN采用了分层的架构,从下到上分别是:物理基础设施层、网络设备控制层、网络应用层。
物理基础设施层负责物理网络设备的管理,网络设备控制层负责网络设备的控制和管理,网络应用层则是基于网络控制层提供的功能开发各种网络应用,如负载均衡、流量监测等。
这种分层架构使得网络的管理和配置更加模块化和可扩展。
4.网络编程接口和虚拟化技术:SDN提供了丰富的网络编程接口,使得开发人员可以通过编程的方式对网络进行灵活配置和管理。
同时,SDN还利用虚拟化技术,将物理网络资源划分为多个虚拟网络,使得不同租户之间的网络可以互相隔离。
这种虚拟化技术可以提高网络资源的利用率,并且使网络更加灵活和可定制。
5.网络智能和自动化:SDN可以通过集中的控制器来收集和分析网络设备的状态和统计信息,从而实现网络的智能化和自动化。
《基于OpenFlow的SDN技术研究》篇一一、引言随着网络技术的飞速发展,传统的网络架构已经无法满足日益增长的网络需求。
为了解决这一问题,软件定义网络(Software-Defined Networking,SDN)技术应运而生。
SDN技术通过将网络控制层与数据传输层分离,实现了网络的集中控制与灵活配置。
OpenFlow作为SDN的核心协议之一,为SDN的实践提供了重要支持。
本文将基于OpenFlow的SDN技术进行深入研究,探讨其原理、应用及未来发展趋势。
二、SDN技术概述SDN是一种新型网络架构,它将网络控制层与数据传输层分离,通过集中式的控制器实现网络的灵活配置和管理。
SDN的核心思想是将网络设备中的控制平面与数据平面分离,使得网络更加可编程、灵活和智能化。
SDN技术具有以下特点:集中控制、开放接口、灵活配置、网络可编程等。
三、OpenFlow协议OpenFlow是SDN的核心协议之一,它定义了控制器与交换机之间的通信接口。
OpenFlow协议将网络流量的控制权从传统的交换机中解放出来,交由集中的控制器进行管理。
通过OpenFlow 协议,控制器可以获取交换机的流表信息、端口状态等,实现对网络流量的精细控制。
OpenFlow协议具有以下特点:标准化、可扩展、支持多种设备等。
四、基于OpenFlow的SDN技术研究基于OpenFlow的SDN技术的研究主要涉及以下几个方面:1. 控制器研究:控制器是SDN的核心,负责管理整个网络的流量。
研究重点包括控制器的架构、性能、可扩展性等方面。
2. 流表设计:流表是OpenFlow协议中用于管理网络流量的重要组成部分。
研究流表的设计原则、优化方法以及如何在不同场景下应用流表等。
3. 安全研究:SDN网络的安全性问题是一个重要的研究方向。
研究内容包括如何保证控制器与交换机之间的通信安全、如何防止网络攻击等。
4. 编程接口研究:为了实现网络的灵活配置和管理,需要提供开放的编程接口。
软件定义网络综述摘要:现有网络设备支持的协议体系庞大,导致高度复杂,不仅限制了IP网络的技术发展,更无法满足当前云计算、大数据和服务器虚拟化等应用趋势。
软件定义网络(Software Defined Network, SDN ),是一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
介绍了OpenFlow技术的产生背景、特点及发展现状,分析了基于OpenFlow的SDN体系结构和平台设计的关键技术,并探究了SDN技术在网络管理自动化、光网络传输与IP承载的统一控制、无线网络的平滑切换、网络虚拟化和QoS保证等方向的应用。
关键词:软件定义网络;OpenFlow;网络虚拟化;管理自动化;QoS引言:目前,网络已经成为支撑现代社会发展以及技术进步的重要基础设施之一,它深深地改变了人们的生产、生活和学习方式;然而,传统网络架构越来越不能满足当今企业、运营商以及用户的需求。
传统互联网由极其复杂的交换机、路由器、终端以及其他设备组成,这些网络设备使用着封闭、专有的内部接口,并运行着大量的分布式协议。
在这种网络环境中,对于网络管理人员、第三方开发人员(包括研究人员),甚至设备商来说,网络创新都是十分困难的。
例如,研究人员不能够验证他们的新想法;网络运营商难以针对其需求定制并优化网络,难以使得他们的收益最大化;甚至对于设备商来说。
也不能及时地创新以满足用户的需求。
封闭的网络设备所带来的结果是:网络依旧面f临着诸多问题与挑战,如安全性、健壮性、可管理性以及移动性等等;网络维护成本仍然居高不下,网络管理需要大量的人工配置等等。
近年来,逐渐兴起的SDN正试图打破这种僵局,并成为了近年来学术界和工业界讨论的热点。
一.软件定义网络的产生及巨大意义软件定义网络(SDN)是由美国斯坦福大学Cleanslate研究组提出的一种新型网络架构,设计初衷是为了解决无法利用现有网络中的大规模真实流量和丰富应用进行实验,以便研究如何提高网络的速度、可靠性、能效和安全性等问题。
浅谈SDN—软件定义网络与OpenFlow技术SDN(Software Defined Networking)是一种网络架构,其中网络控制平面和数据平面被分离,网络控制变得可编程化,数据平面提供灵活的网络服务。
SDN的出现解决了传统网络在复杂性、创新性和管理方面的局限性,为网络设备提供了更大的灵活性和可编程性。
SDN可以被视为一种分离网络域的方法,它将传统网络中紧密耦合的网络控制功能与数据转发分离开来,并将控制平面中的网络政策转移到集中的控制器中。
本文主要介绍SDN的概念、技术特点及其组成部分OpenFlow的作用。
一、SDN的概念和附加值SDN的概念源于硬件变得更加可编程化和网络变得更加复杂的需要。
软件定义网络(SDN)通过将网络控制和数据转发分离来实现。
SDN提供了许多附加值,包括但不限于:1.更好的网络控制SDN允许网络管理员在控制平面中实现更好的网络控制和定制,这可以让管理员更好地管理其网络。
SDN的控制器可以编写新的控制类别或插件,以添加新的网络控制操作并自动化,简化网络管理。
2.更好的网络管理SDN降低了网络管理成本,通过集中的控制器来全面监控网络和流量,简化了管理。
不仅消除了对每个硬件设备的母鸡控制器的需求,而且还提供了更好的网络可视化和更好的流量控制。
3.更好的性能SDN通过编程协议转发数据平面,可以通过实现更好的负载均衡和流量工程,同时获得更好的网络性能。
控制器可以在多个控制平面上实现负载均衡和流量工程,从而更快地响应发生的网络事件。
4.更好的安全SDN提供了更好的网络安全,因为控制器可以在网络上保护网络的指定岗位。
例如,控制器可以自动防止攻击或不常见的流量模式,防止入侵并建立更强大的网络安全。
二、SDN的技术特点1.中央控制器SDN中的中央控制器是网络的枢纽。
它确保与所有的SDN设备通信并处理网络事件。
控制器可以根据不同的策略和流量工程来修改网络,可以实现更复杂的网络控制。
2.网络流SDN中的网络流是需要交换的数据包,这些数据包可能会按照不同的路径在网络中流动。
SDN技术在数据中心网络中的应用研究一、引言随着云计算、大数据、物联网等新技术的广泛应用,数据中心网络迎来了快速发展的机遇与挑战。
传统的网络结构已经无法满足用户灵活、高效、可靠的需求,并且维护成本日益提高。
为了适应新的需求,软件定义网络(SDN)技术应运而生,在数据中心网络的建设和运维中发挥着越来越重要的作用。
二、SDN技术概述SDN将网络控制平面与数据转发平面分离,控制平面由控制器集中管理,数据转发平面通过OpenFlow协议实现,提高了网络的可编程性、智能化和灵活性。
SDN技术不需要额外的硬件支持,只需在交换机上安装OpenFlow协议,就可以实现网络控制的集中化,并能通过控制器下发指令,对网络端口的转发进行控制。
三、SDN应用于数据中心网络的优势1. 灵活的网络拓扑:SDN具有灵活的网络拓扑,可以快速适应数据中心网络的变化,增加或减少设备,改变网络的构架,实现网络的快速响应。
2. 简化的网络管理:SDN的控制平面可将网络管理集中到控制器中,通过命令行或Web界面进行管理,避免了繁琐的配置和管理操作,缩短了管理时间。
3. 高效的流量控制:SDN可通过控制器下发指令,对网络端口的转发进行控制,实现更灵活的流量控制。
特别是在大数据分析中,SDN能够根据业务需求进行流量切分和流量调度,提高数据中心网络的性能。
4. 高安全性:SDN可以为数据中心网络增加一层安全防护。
通过控制器下发安全策略,实现对网络中的恶意攻击和入侵的检测与流量隔离,提高网络安全的等级。
5. 提高应用性能:SDN能够将应用服务映射到网络中,实现对应用服务的网络流量控制,从而提高应用的数据传输效率和性能。
四、SDN在数据中心网络的具体应用1. 软件定义的网络虚拟化:SDN支持网络虚拟化,将物理网络划分成多个虚拟网络,满足数据中心网络的灵活性需求。
通过网络虚拟化,将多个租户的业务分离,可提高网络的安全性和数据交换的效率。
2. 大数据流量优化:数据中心网络中的应用服务通常会产生大量的数据流量,SDN通过控制器下发指令,根据数据流量的大小,对数据进行流量切分和调度,提供更高效的数据传输。
openflow协议书OpenFlow协议是一种为软件定义网络(SDN)架构设计的开放通信协议。
通过OpenFlow协议,网络管理员可以通过集中控制器对网络设备进行管理和控制,实现网络的灵活性、可编程性和可自动化的特性。
下面将对OpenFlow协议的设计原理、工作流程和应用场景进行详细介绍。
OpenFlow协议的设计原理是将网络设备的控制平面(Control Plane)与数据平面(Data Plane)分离。
在传统网络中,控制平面和数据平面是紧密耦合的,网络设备负责处理数据包的转发和处理,以及控制平面的任务。
而在OpenFlow网络中,网络设备只负责数据转发和处理,所有的控制任务由集中控制器来完成。
这种分离的设计使得网络设备更加简单和高效,并且实现了网络控制的灵活性和可编程性。
OpenFlow协议的工作流程主要包括三个部分:控制器发出控制消息、网络设备进行数据转发和处理、网络设备将数据包转发到指定的端口。
当控制器发出控制消息时,它会根据网络的需求来编写和配置数据转发规则(Flow Rules),并将这些规则发送到网络设备的Flow Table中。
网络设备依照Flow Table中的规则对数据包进行操作,例如转发、丢弃或修改。
最后,网络设备将数据包发送到指定的端口,完成数据传输。
OpenFlow协议的应用场景非常广泛。
首先,它可以用于数据中心网络的管理和控制。
在传统的数据中心网络中,需要手动配置网络设备,而OpenFlow可以实现自动化配置和管理,提高网络的可靠性和可扩展性。
其次,OpenFlow可用于网络安全。
通过集中控制器可以对数据包进行深度检测和策略管理,提供更加灵活和可靠的安全措施。
此外,OpenFlow还可以应用于无线网络、广域网和云计算等领域。
尽管OpenFlow协议在网络技术中有诸多优点,但也存在一些挑战和限制。
首先,协议的安全性是一个关键问题。
由于控制器和网络设备之间的通信是基于网络的,因此需要采取必要的安全措施来防止恶意攻击和非法访问。
SDN实验三:OpenFlow协议分析实践实验三:OpenFlow协议分析实践⼀、实验⽬的能够运⽤ wireshark 对 OpenFlow 协议数据交互过程进⾏抓包;能够借助包解析⼯具,分析与解释 OpenFlow协议的数据包交互过程与机制。
⼆、实验环境下载虚拟机软件Oracle VisualBox;在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;三、实验要求(⼀)、基本要求搭建下图所⽰拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信。
⽤抓包软件获取控制器与交换机之间的通信数据包。
主机IP地址h1192.168.0.101/24h2192.168.0.102/24h3192.168.0.103/24h4192.168.0.104/241. 搭建拓扑配置IP地址2. 运⾏wireshark,选择any模式进⾏抓包,开启另⼀个终端,命令⾏运⾏031902241.py⽂件,运⾏pingall3. 查看抓包结果,分析OpenFlow协议中交换机与控制器的消息交互过程(截图以其中⼀个交换机为例)OFPT_HELLO 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机OFPT_HELLO 源端⼝51212-> ⽬的端⼝6633,从交换机到控制器,此处协议为openflow1.5控制器与交换机建⽴连接,并使⽤OpenFlow 1.0OFPT_FEATURES_REQUEST 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机控制器请求交换器的特征信息OFPT_SET_CONFIG 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机控制器要求交换机按照所给出的信息进⾏配置OFPT_PORT_STATUS 源端⼝51212-> ⽬的端⼝6633,从交换机到控制器当交换机端⼝发⽣变化时,交换机告知控制器相应的端⼝状态OFPT_FEATURES_REPLY 源端⼝51212-> ⽬的端⼝6633,从交换机到控制器交换机告知控制器它的特征信息OFPT_PACKET_IN 源端⼝51212-> ⽬的端⼝6633,从交换机到控制器交换机告知控制器有数据包进来,请求控制器指⽰OFPT_PACKET_OUT 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机控制器要求交换机按照所给出的action进⾏处理OFPT_FLOW_MOD 源端⼝6633 -> ⽬的端⼝51212,从控制器到交换机控制器对交换机进⾏流表的添加、删除、变更等操作4. 交互图5. 交换机与控制器建⽴通信时是使⽤TCP协议还是UDP协议?如图所⽰为TCP协议(⼆)、进阶要求将抓包结果对照OpenFlow源码,了解OpenFlow主要消息类型对应的数据结构定义。
题目(tímù):软件(ruǎn jiàn)定义网络(SDN)的国内外研究与发展现状一、背景(bèijǐng)Software Defined Networking是Kate Greene创造的一个(yīɡè)词,在大约2009年提出的。
它是指网络的控制平面与实际的物理上的拓扑结构(jiégòu)互相分离。
这种分离可以使控制平面用一种不同的方式实现,比如分布式的实现方式;另外,它还可以改变控制平面的运行环境,比如不再运行在传统交换机上的那种低功耗CPU上。
所以SDN的关键所在就是控制层与网络数据层是分离的,并不是传统的嵌入关系。
并且这种关系在物理实现上也是分离的,这意味着控制层与网络数据在不同的服务器与路由器上操作。
而连接两者的“协议”就是OpenFlow,OpenFlow的要点就是相当于给路由器安装一个小软件OpenFlow(后文详细论述),然后研究人员就可以很容易的改变路由器的路由规则等等,从而改善网络质量。
而且这是看似没有新意的主意最大的新意就是大大开放了接口权限,所以面向众很广,门槛也比较低。
近年来,伴随着云计算、大数据的迅速兴起,人们对数据业务的流量要求越来越大。
而相比于互联网日新月异,不断创新多变的应用层,网络层的发展却越来越跟不上步伐,显得愈发死板不够兼容灵活。
而网络层日益落伍的根源则是控制网络运行的软件都是内嵌入路由器或是交换机中,并且交换器或是路由的软件操作标准又是不太一致的,所以就造成了路由器/交换机的复杂度大大提高,造成了很大的流量阻塞和资源浪费。
所以SDN的作用不是由嵌入到路由器和交换机内部的软件来控制网络流量,而是来自设备外部的软件接手了这部分的工作。
网络布局,或者说网络的形态分布,不再是植入在物理端。
它将对实时的系统需求非常灵活且可调节。
如果SDN实行得当的话,这意味着一个运行在云端自身内部的应用程序可以接管引导网络流量的任务。
一种基于OpenFlow的实验室网络动态管理方案
向雄
【期刊名称】《信息技术》
【年(卷),期】2016(000)010
【摘要】网络功能的多样化要求网络路由具有可变性,这对于传统网络管理来说是一个不小的挑战.SDN (software defined networking)技术的兴起给网络管理带来了新的思路.应用程序通过调用SDN控制器的北向接口操作控制器,使控制器通过其南向接口实现对交换设备(主要是流表)进行管理,从而改变网络路由、网络拓扑等,实现对网络的动态管理,文中提出的一种基于OpenFlow的网络流动态规划方案能很好地工作于教室型网络系统,稍加改动即可应用于其它功能型网络.
【总页数】4页(P39-42)
【作者】向雄
【作者单位】广州大学华软软件学院,广州510990
【正文语种】中文
【中图分类】TP391
【相关文献】
1.一种OpenFlow网络策略冲突解决方案 [J], 叶星;罗兴国;李丰
2.基于启发式调度的OpenFlow网络规则一致更新方案 [J], 刘艺;张红旗;杨英杰
3.一种基于OpenFlow的软件定义卫星网络架构设计方案 [J], 王丽冲;姚秀娟;闫毅
4.基于OpenFlow的网络层移动目标防御方案 [J], 胡毅勋;郑康锋;杨义先;钮心忻
5.基于OpenFlow的软件定义网络虚拟化方案 [J], 张衍志;叶小琴;梁刚
因版权原因,仅展示原文概要,查看原文内容请购买。
重庆邮电大学题目:基于OpenFlow的SDN技术学院名称:通信与信息工程学生姓名:周凯恒专业:通信学号:S150101218摘要: 软件定义网络(software-defined networking,简称SDN)技术分离了网络的控制平面和数据平面,为研发网络新应用和未来互联网技术提供了一种新的解决方案。
综述了基于OpenFlow 的SDN 技术发展现状,首先总结了逻辑控制和数据转发分离架构的研究背景,并介绍了其关键组件和研究进展,包括OpenFlow 交换机、控制器和SDN技术,然后从4 个方面分析了基于OpenFlow 的SDN 技术目前面临的问题和解决思路。
结合近年来的发展现状,归纳了在校园网、数据中心以及面向网络管理和网络安全方面的应用,最后探讨了未来研究趋势。
关键字: OpenFlow;未来互联网;控制器;虚拟化;软件定义网络基于Openflow的SDN随着网络规模的急剧膨胀和应用类型的不断丰富,因特网作为社会基础设施至关重要的一部分,结构和功能日趋复杂,管控能力日趋减弱。
尤其作为网络核心的路由器,承载功能不断扩展,如分组过滤、区分服务、多播、服务质量(QoS)、流量工程等,路由器最初定义的“哑的、简单的”数据转发单元已经变得臃肿不堪。
从路由器当前主要厂商的发展趋势来看,性能提升和功能扩展依然是其主要研发目标。
而出于自身技术和市场占有率考虑,路由器只能通过命令行接口(command-line interface,简称CLI)等方式对外开放少量功能,研究人员难以在真实的网络中实验和部署新型网络体系结构和网络技术。
当前网络中所大量部署的网络设备和网络协议,也将在相当长一段时间内延续现有的网络体系结构[1]。
为了解决现有TCP/IP 体系结构面临的诸多难题,世界各国已经大规模开展未来互联网的研究,如美国的GENI[2]、欧盟的FIRE[3]、日本的JGN2plus[4]和我国的SOFIA[5]等。
研究未来互联网体系结构首先考虑的是网络核心设备路由器的重新设计和部署,允许用户自行定义路由器功能模块,实现适应未来互联网发展的新型协议功能。
目前,可编程虚拟化路由器已经受到广泛关注,而设计的开放性和可控性将决定其设计思想是否可以得到长远的发展。
OpenFlow[1]技术概念最早由斯坦福大学的Nick McKeown 教授提出,是斯坦福大学Clean Slate计划资助的一个开放式协议标准,后成为GENI 计划的子项目。
OpenFlow 将控制功能从网络设备中分离出来,在网络设备上维护流表(flow table)结构,数据分组按照流表进行转发,而流表的生成、维护、配置则由中央控制器来管理。
OpenFlow 的流表结构将网络处理层次扁平化,使得网络数据的处理满足细粒度的处理要求。
在这种控制转发分离架构下,网络的逻辑控制功能和高层策略可以通过中央控制器灵活地进行动态管理和配置,可在不影响传统网络正常流量的情况下,在现有的网络中实现和部署新型网络架构。
OpenFlow 最初是为校园网络研究人员设计其创新网络架构提供真实的实验平台,随后,McKeown 等研究者开始推广SDN 概念,并引起学术界和产业界广泛关注。
SDN 将网络配置平面从嵌入式结点中独立出来,以开放软件模式的控制平面替代了传统基于系统嵌入的控制平面,由软件驱动的中央控制结点来自动化控制整个网络。
OpenFlow初步实现了SDN 的原型设计思想,推动了SDN 技术的快速发展,简化了网络的配置模式,增加了网络控制权的开放性,在某种程度上符合未来互联网的发展需求,也是目前SDN 最通用的实现方式。
基于OpenFlow 的SDN 技术,通过软件平台来打造弹性化的可控互联网,在给网络的发展带来巨大冲击的同时,也为未来互联网的发展提供了一种新的解决思路。
1.SDN 研究背景:逻辑控制和数据转发分离传统因特网把控制逻辑和数据转发紧耦合在网络设备上,导致网络控制平面管理的复杂化,也使得网络控制层面新技术的更新和发展很难直接部署在现有网络上,灵活性和扩展性很难适应网络的飞速发展。
网络的控制转发分离架构提出由专有设备来部署高层策略,网络设备在高层策略指导下进行数据转发,减少了网络设备承载的诸多复杂功能,提高了网络新技术和新协议实现和部署的灵活性和可操作性。
逻辑控制和数据转发分离的这种管控思想是SDN 技术的研究基础,前期已经在学术界引起较大关注,典型工作包括ForCES[6]、4D架构[7]、RCP[8]、SANE[9]和Ethane[10]。
IETF 的ForCES(forwarding and control element separation)基于开放可编程思想的网络体系结构,将网络元素分为控制件(control element,简称CE)和转发件(forwarding element,简称FE),用ForCES 协议来实现各部件的协同和交互,以提高网络的可管可控功能,增强网络部署的灵活性和有效性。
ForCES虽然已经提交了多项RFC标准草案,但主要研究工作在于理论创新和功能建模,并没有面向真实网络的部署和实践。
针对当前网络的逻辑决策平面和分布式的硬件设备结合过紧的问题,Greenberg 等人重新设计了互联网控制和管理结构,提出了4D(decision,dissemination,discovery,data)的体系架构。
在4D 架构下,决策平面通过全局网络视图作出网络控制决策,并直接下发到数据平面;分发平面在决策平面和路由器之间建立可靠的通信通道;发现平面负责发现网络中的物理组件,并为决策平面提供构建网络视图的基本信息;数据平面则实现数据转发功能。
这种架构有助于实现健壮、安全的网络,便于对异构网络进行有效管理。
RCP(routing control platform)是Caesar 等人提出的基于AS 结构的逻辑中央平台,它针对内部边界网关协议(internal border gateway protocol,简称iBGP)扩展性不强和容易造成协议不稳定、路由回路等缺点,部署路由控制服务器集中收集路由信息和AS 内部拓扑结构信息,为AS 范围内的路由器做出BGP 路由决策。
RCP 通过实现的原型系统验证了控制转发分离架构的可行性,相比于4D 架构的设计思想,RCP 仅实现了BGP 路由决策的集中管控,它在逻辑控制平面功能上还有很大的扩展空间。
SANE和Ethane是Casado 等主要来自斯坦福大学的研究人员分别于2006 年和2007 年提出的面向企业网的管理架构。
SANE 主要面向企业网的安全管理,它在链路层和IP 层之间定义了一个可以管理所有连接的保护层,所有路由和接入控制决策都通过这个保护层由一台逻辑中央服务器控制。
SANE 以4D 架构为设计原则,由于主要面向企业网,因此其重点在于安全控制,还没有实现复杂的路由决策,同时没有经过大规模测试,实际部署还比较困难。
Ethane 在SANE 的基础上进行了功能扩展,将安全管理策略添加到网络管理当中,扩充了中央控制器的管理功能,实现了更细粒度的流表转发策略。
在Ethane 网络中,中央控制器和Ethane 交换机是两个主要部件。
中央控制器实现网络主机认证、IP 分配和产生交换机流表等基本功能,是整个网络的控制决策层。
Ethane交换机根据控制器部署的流表进行报文转发,是一个简单的、哑的数据转发单元。
Ethane 实现了OpenFlow 交换机和中央控制器的大部分功能,奠定了OpenFlow 的技术基础。
针对目前日益增长的带宽需求,Casado 重新总结了分组交换网络硬件的设计思想。
现有路由器包含了报文转发决策的功能,复杂性太高,导致灵活性和有效性不够。
因此,应当简化硬件转发功能,用软件来实现转发决策。
硬件和软件之间应该相互独立,硬件只需缓存这些决策,而专注于报文的转发。
由此引发的问题是,硬件和软件之间的交互和速度匹配需要考虑实际的硬件性能和网络流量的大小,报文处理在硬件中的匹配率将影响到软件的实际性能。
这种软硬件功能分离的思想,进一步明确了软件层来做决策和硬件层控制分组转发的设计思路。
从以上相关文献可以看出,逻辑控制和数据转发分离架构的设计思想简化了网络管理和配置操作,实现了高层控制逻辑的健壮性,有利于异构网络的融合和创新应用的部署。
但同时我们也必须看出,这种架构目前还将面临一些新的挑战,如逻辑控制平面的功能集中化和可扩展性问题、逻辑决策的实时响应和一致性问题、逻辑控制单元的失效引发的容错和恢复机制问题,都需要进行大量深入研究。
而在实际应用方面,这些控制转发分离架构的相关研究主要集中于理论上,或者通过小范围的实验部署进行测试,缺乏支持复杂网管功能以及较大规模网络的部署经验,因此也缺乏更准确的性能测试数据。
在上述相关工作的基础上,斯坦福大学的研究者于2008 年提出OpenFlow 技术[1],并逐渐推广SDN 概念。
OpenFlow 作为SDN 的原型实现方式,代表了SDN 控制转发分离架构的技术实现。
随着SDN 技术得到认可,从严格定义上来讲,OpenFlow 指的是SDN 控制平面和数据平面之间多种通信协议之一,但实际上,OpenFlow 以其良好的灵活性、规范性已经被看作SDN 通信协议事实上的标准,类似于TCP/IP 协议作为互联网的通信标准。
基于OpenFlow 的SDN 技术推出之后,2009 年被MIT 评为十大前沿技术[12]。
2011 年,McKeown 等研究者组织成立开放式网络基金会(open networking foundation,简称ONF)[13],专门负责相关标准的制定和推广,包括OpenFlow 标准、OpenFlow 配置协议和SDN 白皮书,大大推进了OpenFlow 和SDN 的标准化工作,也使其成为全球开放网络架构和网络虚拟化领域的研究热点。
在学术界,美国GENI、Internet2[14]、欧洲OFELIA[15]和日本的JGN2plus先后展开对SDN 的研究和部署,IETF,ITU,ETSI 等标准组织开始关注SDN,讨论SDN 在各自领域可能的发展场景和架构应用。
在产业界,以Nicira(创始人实际为McKeown 和Casado 等人,已被VMware 收购)和Big Switch为代表的SDN 创业公司不断涌现。
为了在新技术上抢占先机,出于自身市场推广考虑,Juniper,NEC,HP,IBM 等厂商先后发布了支持OpenFlow 的SDN 硬件,目前也在SDN 研究领域进行了相关部署。
Google 宣布其广域网数据中心已经大规模使用基于OpenFlow 的SDN 技术,以实现其数据中心的流量工程和实时管控功能,为OpenFlow 的应用和推广起着示范作用。