Review of A Survey of Software-Defined Networking Past,Present, and Future of Programmable Networks

基于论文浅谈SDN: A Survey of Software-Defined Networking: Past,Present, and Future of Programmable Networks

Introduction:

文章介绍了传统网络面临的复杂性比如网络僵化(“Internet ossification”),所以SDN的可编程网络出现能够从一定程度上解决这些问题.(早起的可编程网络演变到目前的SDN)

EARLY PROGRAMMABLE NETWORKS:

回顾的早期可编程网络提出的一些idea

  1. 1995:Open Signaling,需要将控制层面和真实设备分离,Access to the network hardware via open programmable network interfaces.
  2. 1995:Active Networking 使用可编程的交换机
  3. DCAN 某种程度可以认为是SDN前身:设备的控制和管理功能应该和设备本身分开
  4. 4D Project
  5. NETCONF:通过公开API来操作设备

III. SOFTWARE-DEFINED NETWORKING ARCHITECTURE

过去的网络设备需要执行协议或者算法,同时还需要转发数据报。SDN将转发硬件与控制逻辑的分离以更轻松地部署新协议和应用程序,直接的网络可视化和管理,并将各种中间框整合到软件控制中。网络不是在散装设备上执行政策和运行协议,而是简化为“简单”转发硬件和决策网络控制器。

相当于从高层来统一处理,而不是分开各自处理。现在网络设备将只有匹配转发的功能,

请添加图片描述

OpenFlow 协议:

在这里插入图片描述

介绍了OpenFlow架构:

如图,首先是OpenFlow 交换机(广义的,不局限于二层的交换机),交换机中包含流表用来做数据匹配,通过Client经过OpenFlow与控制层面通信。

FlowTable中:

  1. match fields :作用是匹配到来的数据包,数据包中的信息不局限于某一层,而是很多,比如headers, port, metadata等

请添加图片描述

match fields: 包括header fields 和 pipeline

priority:多个匹配时的优先级策略

  1. counters:记录流的统计数据,比如数量

  2. a set of instructions:应用到匹配项的操作

流匹配操作:原文写的很详细就不多加解释了:

Upon a packet arrival at an OpenFlow switch, packet header fields are extracted and matched against the matching fields portion of the flow table entries. If a matching entry is found, the switch applies the appropriate set of instructions, or actions, associated with the matched flow entry. If the flow table look-up procedure does not result on a match, the action taken by the switch will depend on the instructions defined by the table-miss flow entry. Every flow table must contain a table-miss entry in order to handle table misses. This particular entry specifies a set of actions to be performed when no match is found for an incoming packet, such as dropping the packet, continue the matching process on the next flow table, or forward the packet to the controller over the OpenFlow channel.

遇到流首先匹配,匹配不成功到缺失项,之后执行对应动作,修改counters

Communication:

Using the OpenFlow protocol a remote controller can, for example, add, update, or delete flow entries from the switch’s flow tables.

The Controller

控制器从某种层面可以认为是网络操作系统,OS为网络提供了编程接口,使得SDN,模型能够广泛应用在各种网络及物理媒体中,比如802.11协议等

请添加图片描述

下图显示的是应用如何根据API来进行网络编程。

应用程序可以通过Java API与控制器通信,或者写REST API与控制器通信。控制器可以通过OpenFlow协议与转发设备上的抽象层相互通信,完成流表的修改等一系列操作。

在这里插入图片描述

Abstraction of SDN:

抽象结构:

请添加图片描述

list[D. Kreutz et al. “Software-Defined Networking: A Comprehensive Survey”, Proceedings of the IEEE, Vol. 103, No. 1, January 2015.]

如果想详细了解SDN运作的推荐可以学习一下 P4language

SDN 开发工具

  1. *Emulation and Simulation Tools *: Mininet能够在一台计算机中模拟整个OpenFlow网络
  2. Available Software Switch Platforms
  3. Native SDN Switches
  4. Available Controller Platforms
  5. Code Verification and Debugging

SDN应用

  1. Enterprise Networks
  2. Data Centers
  3. Infrastructure-based Wireless Access Networks
  4. Optical Networks
  5. Home and Small Business

list[https://ieeexplore.ieee.org/document/6739370]

Bruno Astuto et al., “A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks,” IEEE Communications Survey and Tutorials, Vol. 16, Issue 3, August 2014.

由于网上P4 网上教程比较少,最近应该还会更新P4的基础教程

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值