SDN

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/du_lun/article/details/89202718

一、产生原因:(主要针对大中型数据网络)

①网络业务发展的趋势。传统的网络难以适应新的需求,如数据中心的合并(意味着更多的设备、更复杂的布线、更多的网络流量)、服务器虚拟化(如何有效管理数量巨大的虚拟机、虚拟网络是一个问题)、新的架构应用(数据中心从传统的基于数据转发模式到基于服务的递交模式,数据中心趋于动态、复杂,传统的网络架构不适用)、云计算、BYOD。网络业务的发展要求管理员能够管理越来越复杂的网络和设备,部署各种各样复杂的应用,应对越来越大的数据流量。

②传统网络遇到瓶颈。传统的网络基于单个设备管理,使得日趋庞大的数据中心管理越来越麻烦。传统网络转发路径基于动态转发协议计算,管理员很难了解、管理转发路径。网络部署新业务历时很长。

③SDN改变了传统网络对数据流的控制方式。将每个设备的控制面玻璃出来,放到统一外部的服务器。

/*

上层应用:规模扩展、服务能力     以云计算为例:IaaS,PaaS,SaaS  按需进行资源分配与调度能力。

传统网络: 明确、稳定。根据预设规定好的,相对静态。只可配置,不可编程。比如已经设定好功能的电饭煲,只能按照他的模式进工作。这样每台网络的部署、配置与管理需要落到每台设备上去手工完成。

配置过程:配置与管理指令 ——》控制平面——》生成相应的控制表

控制表有:数据链路层的MAC表、网络层的路由表、MPLS标签表、ACL访问控制表。

控制表是数据层转发的依据。

*/

二、SDN发展

初创期:架构、设计思想

2009    The McKeown Group 发布首个基于Python语言的SDN控制器POX同时发布了OpenFlow

2010   MG 发布了开源SDN模拟器mininet

2011  开放网络基金会ONF成立

成熟期:

2012   Google、思科、NTT各大企业接受SDN思想、将SDN大规模应用。

2017 VMware宣布NSX带来10亿美元销售额

 

三、应用场景:

1. 数据中心

2. 广域网

四、SDN标准化

组织:

1. ONF : SDN白皮书、Openflow协议、OF-Config

2.IETF (因特网工程任务组)关注点在功能与技术如何在网络中落地与实现

3.ITU-T  国际电信联盟电信标准化部门   关注点主要针对运营商网络

4.ETSI  欧洲电信标准化协会

七家运营商发起成立网络功能虚拟化标准工作组(NFV ISG)

工作室把SDN与NFV进行有机融合

三、SDN架构

设计满足:

1。能够弹性响应上层应用变化的网络可编程

2。引入一个集中统一的 控制管理层

3。解耦网络设备的管理平面、控制平面与数据平面。

- 架构为:由上而下

应用层:

API链接(北向接口)

控制层:SDN集中控制器

控制数据平面接口(南向接口)

基础设施层:网络设备

架构模式和与操作系统类比关系如下图所示:

 

SDN网络架构的优势:

 

ONF在SDN技术白皮书中给出的SDN的基本框架:

p1

 

四个平面:应用平面、控制平面、数据平面、管理平面

两大接口:南向接口、北向接口

 

数据平面:

若干网元,每个网元包含一个或多个SDN数据路径

 

SDN数据路径:逻辑上的网络设备,负责转发和处理数据(没有控制)

包含控制数据平面接口代理、转发引擎表和处理功能

数据平面被抽象成了多级流表驱动的转发模型

p2

 

控制平面:

两个任务:

1.将SDN应用层请求转换到SDN DataPath

2.为SDN应用提供底层网络的抽象模型(状态或事件)

关键技术:控制器,或叫网络操作系统

目前的开源控制器:NOX、POX、FloodLight、RYU、OpenDayLight、ONOS

 

应用平面:

-- SDN应用逻辑与北向接口(NBI)驱动

-- 通过北向接口与SDN控制器交互

p3

 

管理平面:

静态工作:网元初始化配置,指定控制器、定义控制器及应用的控制范围

 

南向接口(OpenFlow):

功能: 转发行为控制、设备性能查询、统计报告、时间通知等。

关键技术:转发面开放协议

 

OpenFlow的消息类型:

  • controller-to-switch消息:
名称 说明 备注
Feature 发送Feature_Request消息请求交换机的特征信息 由控制器发起、可能会要求交换机回复消息
Configuration 设置查询交换机的配置信息 由控制器发起、可能会要求交换机回复消息
Modify-state 管理交换机流表项和端口状态等 由控制器发起、可能会要求交换机回复消息
Read-state 收集交换机的各种信息、包括配置信息、统计信息和功能特性 由控制器发起、可能会要求交换机回复消息
Send-packet 通过packet-out消息像交换机的指定端口发送数据包 由控制器发起、可能会要求交换机回复消息
Barrier 确保动作执行顺序、保持动作一致性 由控制器发起、可能会要求交换机回复消息
  • asynchronous消息
名称 说明
Packet-in

流表中没有匹配项,则发送packet-in消息给控制器。有足够缓存:发送分组头中的控制信息和交换机的缓存标识(buffer_id)

不支持缓存(或缓存不足):发送整个数据包

 

Flow-removed 流表项因为超时或修改等原因被删除时,会触发该消息。
Port-status 端口状态发生变化时(Up/Down),出发该消息

 

  • symmetric消息列表
名称 说明 备注
Hello 双方通过握手消息Hello建立安全连接。 任意一方发送,无需对方的许可或请求
Echo

用于测量延迟、带宽,或用于保持活动连接

echo-request

echo-reply

 
Vendor 为额外的功能预留空间  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

北向接口:

向应用层提供抽象的网络视图,使应用能直接控制网络的行为。

关键技术: SDN北向接口设计:控制器将网络能力封装后开放接口,供上层业务调用。

REST API成为SDN北向接口的主流设计、还有Java API。

 

SDN逻辑击中控制架构与传统网络分布式架构各有什么优缺点:

SDN:

优点:控制层集中到一个平面,便于管理、维护、部署。方便运维人员排障运维。基于整个网络的高级编程方式。

 

缺点:控制平面的服务能力成了网络的瓶颈(可用分布式解决)。控制平面由于在远端,响应出现延迟。

传统:

优点:网络协议本身做到了与设备提供商无关,即协议相同,便可通信。控制数据在同一层,响应快。

缺点:传统网络部署、管理、维护非常麻烦。网络厂商多,配置命令不一致。运维成本高。

 

SDN抽象分为:

转发抽象(流表)、分布状态抽象(抽象设备和链路状态,为上层提供全局网络视图)、配置抽象(编程语言实现)、

 

OF-Config为OpenFlow的伴侣协议,实现OpenFlow的远端配置协议。

NetConf:网管协议,无法指导交换机转发。

 

 

 

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页