Software-Defined Networking A Comprehensive Survey --阅读_day1
The Internet has led to the creation of a digital society, where (almost) everything is connected and is accessible from anywhere. However, despite their widespread adoption, traditional IP networks are complex and very hard to manage. It is both difficult to configure the network according to predefined policies, and to reconfigure it to respond to faults, load, and changes. To make matters even more difficult, current networks are also vertically integrated: the control and data planes are bundled together. Software-defined networking (SDN) is an emerging paradigm that promises to change this state of affairs, by breaking vertical integration, separating the network’s control logic from the underlying routers and switches, promoting (logical) centralization of network control, and introducing the ability to program the network. The separation of concerns, introduced between the definition of network policies, their implementation in switching hardware, and the forwarding of traffic, is key to the desired flexibility: by breaking the network control problem into tractable pieces, SDNmakes it easier to create and introduce new abstractions in networking, simplifying network management and facilitating network evolution. In this paper, we present a comprehensive survey on SDN. We start by introducing the motivation for SDN, explain its main concepts and how it differs from traditional networking, its roots, and the standardization activities regarding this novel paradigm. Next, we present the key building blocks of an SDN infrastructure using a bottom-up, layered approach. We provide an in-depth analysis of the hardware infrastructure, southbound and northbound application programming interfaces (APIs), network virtualization layers, network operating systems (SDN controllers), network programming languages, and network applications. We also look at cross-layer problems such as debugging and troubleshooting. In an effort to anticipate the future evolution of this new paradigm, we discuss the main ongoing research efforts and challenges of SDN. In particular, we address the design of switches and control platformsVwith a focus on aspects such as resiliency, scalability, performance, security, and dependabilityVas well as new opportunities for carrier transport networks and cloud providers. Last but not least, we analyze the position of SDN as a key enabler of a software-defined environment.
View Abstract
摘要(abstract)
本文作者在摘要中主要列举了一些传统IP网络的缺点:复杂而且难以管理,最重要的一点就是它的控制面和数据面在同一台设备中,紧密耦合。而SDN就是要改变这种状况,它要求转发面与控制面分离。其次介绍了本文的大体内容:1.什么是SDN?它与传统网络有什么不同. 2. SDN:自下而上. 3. 正在进行的研究工作和挑战.
The distributed control and transport network protocols running inside the routers and switches are the key technologies that allow information, in the form of digital packets, to travel around the world. Despite their widespread adoption, traditional IP networks are complex and hard to manage [1]. To express the desired high-level network policies, network operators need to configure each individual network device separately using low-level and often vendor-specific commands. In addition to the configuration complexity, network environments have to endure the dynamics of faults and adapt to load changes. Automatic reconfiguration and response mechanisms are virtually nonexistent in current IP networks. Enforcing the required policies in such a dynamic environment is therefore highly challenging.
To make it even more complicated, current networks are also vertically integrated. The control plane (that decides how to handle network traffic) and the data plane (that forwards traffic according to the decisions made by the control plane) are bundled inside the networking devices, reducing flexibility and hindering innovation and evolution of the networking infrastructure. The transition from IPv4 to IPv6, started more than a decade ago and still largely incomplete, bears witness to this challenge, while in fact IPv6 represented merely a protocol update. Due to the inertia of current IP networks, a new routing protocol can take five to ten years to be fully designed, evaluated, and deployed. Likewise, a clean-slate approach to change the Internet architecture (e.g., replacing IP) is regarded as a daunting taskVsimply not feasible in practice [2], [3]. Ultimately, this situation has inflated the capital and operational expenses of running an IP network.
Software-defined networking (SDN) is an emerging networking paradigm that gives hope to change the limitations of current network infrastructures. First, it breaks the vertical integration by separating the network’s control logic (the control plane) from the underlying routers and switches that forward the traffic (the data plane). Second, with the separation of the control and data planes, network switches become simple forwarding devices and the control logic is implemented in a logically centralized controller (or network operating system1), simplifying policy enforcement and network (re)configuration and evolution. A simplified view of this architecture is shown in Fig. 1. It is important to emphasize that a logically centralized programmatic model does not postulate a physically centralized system [7]. In fact, the need to guarantee adequate levels of performance, scalability, and reliability would preclude such a solution. Instead, production-level SDN network designs resort to physically distributed control planes.
The separation of the control plane and the data plane can be realized by means of a well-defined programming interface between the switches and the SDN controller. The controller exercises direct control over the state in the data plane elements via this well-defined application programming interface (API), as depicted in Fig. 1. The most notable example of such an API is OpenFlow. An OpenFlow switch has one or more tables of packethandling rules (flow table). Each rule matches a subset of the traffic and performs certain actions (dropping, forwarding, modifying, etc.) on the traffic. Depending on the rules installed by a controller application, an OpenFlow switch canVinstructed by the controllerVbehave like a router, switch, firewall, or perform other roles (e.g., load balancer, traffic shaper, and in general those of a middlebox).
An important consequence of the SDN principles is the separation of concerns introduced between the definition of network policies, their implementation in switching hardware, and the forwarding of traffic. This separation is key to the desired flexibility, breaking the network control problem into tractable pieces, and making it easier to create and introduce new abstractions in networking, simplifying network management and facilitating network evolution and innovation.
Although SDN and OpenFlow started as academic experiments [9], they gained significant traction in the industry over the past few years. Most vendors of commercial switches now include support of the OpenFlow API in their equipment. The SDN momentum was strong
enough to make Google, Facebook, Yahoo, Microsoft,
Verizon, and Deutsche Telekom fund Open Networking
Foundation (ONF) [10] with the main goal of promotion
and adoption of SDN through open standards development.
As the initial concerns with SDN scalability were
addressed [11]Vin particular the myth that logical centralization
implied a physically centralized controller, an
issue we will return to later onVSDN ideas have matured
and evolved from an academic exercise to a commercial
success. Google, for example, has deployed an SDN to
interconnect its data centers across the globe. This production
network has been in deployment for three years,
helping the company to improve operational efficiency
and significantly reduce costs [8]. VMware’s network
virtualization platform, NSX [12], is another example.
NSX is a commercial solution that delivers a fully functional
network in software, provisioned independent of the
underlying networking devices, entirely based around
SDN principles. As a final example, the world’s largest IT
companies (from carriers and equipment manufacturers to
cloud providers and financial services companies) have
recently joined SDN consortia such as the ONF and the
OpenDaylight initiative [13], another indication of the
importance of SDN from an industrial perspective.
A few recent papers have surveyed specific architectural
aspects of SDN [14]–[16]. An overview of OpenFlow
and a short literature review can be found in [14] and [15].
These OpenFlow-oriented surveys present a relatively
simplified three-layer stack composed of high-level network
services, controllers, and the controller/switch interface.
In [16], Jarraya et al. go a step further by proposing a
taxonomy for SDN. However, similarly to the previous
works, the survey is limited in terms of scope, and it does
not provide an in-depth treatment of fundamental aspects
of SDN. In essence, existing surveys lack a thorough discussion
of the essential building blocks of an SDN such as
the network operating systems (NOSs), programming languages,
and interfaces. They also fall short on the analysis
of cross-layer issues such as scalability, security, and dependability.
A more complete overview of ongoing research
efforts, challenges, and related standardization
activities is also missing.
In this paper, we present, to the best of our knowledge,
the most comprehensive literature survey on SDN to date.
We organize this survey as depicted in Fig. 2. We start, in
the next two sections, by explaining the context, introducing
the motivation for SDN and explaining the main
concepts of this new paradigm and how it differs from
traditional networking. Our aim in the early part of the
survey is also to explain that SDN is not as novel as a
technological advance. Indeed, its existence is rooted at
the intersection of a series of ‘‘old’’ ideas, technology drivers,
and current and future needs. The concepts underlying
SDNVthe separation of the control and data planes,
the flow abstraction upon which forwarding decisions are
made, the (logical) centralization of network control, and
the ability to program the networkVare not novel by
themselves [17]. However, the integration of already tested
concepts with recent trends in networkingVnamely the
availability of merchant switch silicon and the huge interest in feasible forms of network virtualizationVare
leading to this paradigm shift in networking. As a result of
the high industry interest and the potential to change the
status quo of networking from multiple perspectives, a
number of standardization efforts around SDN are ongoing,
as we also discuss in Section III.
Section IV is the core of this survey, presenting an
extensive and comprehensive analysis of the building
blocks of an SDN infrastructure using a bottom-up, layered
approach. The option for a layered approach is grounded
on the fact that SDN allows thinking of networking along
two fundamental concepts, which are common in other
disciplines of computer science: separation of concerns
(leveraging the concept of abstraction) and recursion. Our
layered, bottom-up approach divides the networking problem
into eight parts: 1) hardware infrastructure; 2) southbound
interfaces; 3) network virtualization (hypervisor
layer between the forwarding devices and the NOSs);
4) NOSs (SDN controllers and control platforms);
5) northbound interfaces (to offer a common programming
abstraction to the upper layers, mainly the network applications);
6) virtualization using slicing techniques provided
by special purpose libraries or programming languages
and compilers; 7) network programming languages; and
finally 8) network applications. In addition, we also look at
cross-layer problems such as debugging and troubleshooting
mechanisms. The discussion in Section V on ongoing
research efforts, challenges, future work, and opportunities
concludes this paper.
View Introduction
引言(introduction)
传统网络的缺点:(1) 复杂且难以管理;
(2) 控制面和数据面在同一台设备中,紧密耦合
SDN优点:(1) 控制面与转发面分离
(2) 简化了策略的执行和网络(Re)的配置和演化。
最著名的南向接口标准:openflow
介绍接下来的内容.
Computer networks can be divided in three planes of functionality:
the data, control, and management planes (see
Fig. 3). The data plane corresponds to the networking devices,
which are responsible for (efficiently) forwarding
data. The control plane represents the protocols used to
populate the forwarding tables of the data plane elements.
The management plane includes the software services,
such as simple network management protocol (SNMP)-
based tools [18], used to remotely monitor and configure the
control functionality. Network policy is defined in the management
plane, the control plane enforces the policy, and
the data plane executes it by forwarding data accordingly.
In traditional IP networks, the control and data planes
are tightly coupled, embedded in the same networking
devices, and the whole structure is highly decentralized.
This was considered important for the design of the Internet
in the early days: it seemed the best way to guarantee
network resilience, which was a crucial design goal. In
fact, this approach has been quite effective in terms of
network performance, with a rapid increase of line rate
and port densities.
However, the outcome is a very complex and relatively
static architecture, as has been often reported in the networking
literature (e.g., [1]–[3], [6], and [19]). It is also
the fundamental reason why traditional networks are rigid,
and complex to manage and control. These two characteristics
are largely responsible for a vertically integrated industry
where innovation is difficult.
Network misconfigurations and related errors are extremely
common in today’s networks. For instance, more
than 1000 configuration errors have been observed in
border gateway protocol (BGP) routers [20]. From a single
misconfigured device, very undesired network behavior
may result (including, among others, packet losses, forwarding
loops, setting up of unintended paths, or service
contract violations). Indeed, while rare, a single misconfigured
router is able to compromise the correct operation
of the whole Internet for hours [21], [22].
To support network management, a small number of
vendors offer proprietary solutions of specialized hardware,
operating systems, and control programs (network
applications). Network operators have to acquire and
maintain different management solutions and the corresponding
specialized teams. The capital and operational
cost of building and maintaining a networking infrastructure
is significant, with long return on investment cycles,
which hamper innovation and addition of new features and
services (for instance, access control, load balancing,
energy efficiency, traffic engineering). To alleviate the lack
of in-path functionalities within the network, a myriad of
specialized components and middleboxes, such as firewalls,
intrusion detection systems, and deep packet inspection
engines, proliferate in current networks. A recent
survey of 57 enterprise networks shows that the number of
middleboxes is already on par with the number of routers
in current networks [23]. Despite helping in-path functionalities,
the net effect of middleboxes has increased
complexity of network design and its operation.
View STATUS QUO in Networking
网络化现状(STATUS QUO in networking)
计算机网络可以分为三个功能层面:数据面、控制面和管理面。
在传统的IP网络中,控制面和数据面是紧密耦合的,嵌入在同一个网络设备中,这在早期的互联网设计中被认为是重要的。然而,其结果是一个非常复杂和相对静态的体系结构,这也是传统网络僵化、管理和控制复杂的根本原因。
Software-Defined Networking A Comprehensive Survey --阅读_day1的更多相关文章
- Software-Defined Networking A Comprehensive Survey --阅读_day2
3. 什么是SDN?(WHAT IS SOFTWARE-DEFINED NETWORKING?) The term SDN was originally coined to represent the ...
- Software Defined Networking(Week 1)
前言 课程名称:软件定义网络 课程地址 Coursera上新的一期还没开课,所以是YouTube. Instructor:Nick Feamster Get Started 对于本次课程,主要的新内容 ...
- Software Defined Networking For Dummies, Cisco Special Edition
从接触SDN开始,不论是硬件还是软件,一直都是从具体的点开始,慢慢的勾勒出自己认为的SDN的样子,相信读完这本思科出的关于SDN的书会对其有新的认识 这本书的名字就是Software Defined ...
- Improving Network Management with Software Defined Networking
Name of article:Improving Network Management with Software Defined Networking Origin of the article ...
- Software-Defined Networking: A Comprehensive Survey
文章名称:Software-Defined Networking: A Comprehensive Survey 文章来源:Proceedings of the IEEE ( Volume: 103 ...
- Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking
A method of transferring data between a software defined network (SDN) and an information-centric ne ...
- A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges
将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...
- Software Defined Networking(Week 2, part 2)
History of SDN 1.3 - 1.4 课程地址 Network Virtualization 网络可虚拟化,可以说是SDN的一项核心内容,同样也源自很多先前的技术和思想.我们先讨论何为网络 ...
- Software Defined Networking(Week 2, part 1)
History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...
随机推荐
- 深度学习:浅谈RNN、LSTM+Kreas实现与应用
主要针对RNN与LSTM的结构及其原理进行详细的介绍,了解什么是RNN,RNN的1对N.N对1的结构,什么是LSTM,以及LSTM中的三门(input.ouput.forget),后续将利用深度学习框 ...
- 06-01 Java 二维数组格式、二维数组内存图解、二维数组操作
二维数组格式1 /* 二维数组:就是元素为一维数组的一个数组. 格式1: 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有多少个一维数组. n:表示每一个一维数组的 ...
- 剑指offer六之求旋转数组的最小数字
一.题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个 ...
- awk将某个字段按照分隔符分割之后统计次数
cat label_movie2|grep BBD252CC0A4FE7D10C990261D5CEACB5|awk -F "," '{for(i=2;i<NF;i++) p ...
- (转)linux用户态和内核态理解
原文:https://blog.csdn.net/buptapple/article/details/21454167 Linux探秘之用户态与内核态-----------https://www.cn ...
- Android 开发服务类 05_ ApkPatchDemo
APP 增量更新服务端[https://github.com/cundong/SmartAppUpdates] import com.cundong.common.Constants; import ...
- JavaScript -- Anchor
-----052-Anchor.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=" ...
- [原创]Entity Framework查询原理
前言 Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架.Ent ...
- 07 - JavaSE之容器
本章宗旨:1136 -- 1个图 1个类 3个知识点 6个接口 容器 J2SDK 所提供的容器 API 位于 java.util 包内. 容器 API 的类图如下: Collection 接口的子接口 ...
- docker网络之overlay
使用docker network的好处是:在同一个网络上的容器之间可以相互通信,而无需使用expose端口特性 本文使用docker-swarm进行overlay网络的分析.使用2个vmware模拟2 ...