SDN

直接理解

SDN是在2009年左右出现的一种新型网络结构,它将数据层面与控制层面分离,使用中央控制器完成网络的操作和管理,并通常采用OpenFlow协议作为其核心通信协议,拥有着集中式控制、可编程、部署灵活性和数据层面与控制层面相互分离等多种优势。并且作为一种新型的网络结构,其通信协议、三层体系结构和仿真实验都非常有意思。

SDN体系结构

典型的SDN架构定义如下图所示。
在这里插入图片描述
SDN体系结构由下到上分别为转发层(又称为基础设施层)、控制层和业务层(又称为应用层)。其中转发层表示网络底层的物理转发设备,维护着流表结构,数据流中的分组则按照流表中的规则进行转发;中间的控制层集中维护和控制网络的各种状态,并负责流表的生成、配置和维护,同时需要为业务层提供易用的北向接口;最上面的业务层根据不同的应用需求来实现不同功能的应用程序。控制层通过南向接口(例如OpenFlow协议)与转发层进行通信,并获取转发层的网络设备的信息;控制层与业务层之间由可扩展的北向接口完成交互,北向接口由各个控制器的Rest API提供,并允许开发者根据实际网络需求开发。

在SDN体系结构中,开发者能够获取转发层中网路设备的实时状态信息,通过调用控制层的北向Rest API接口,编程实现不同功能的应用程序;最后通过控制器和南向接口(OpenFlow)以流表的形式下发到网络设备中,从而完成网络的配置。

OpenFlow协议介绍

OpenFlow协议是SDN架构中第一个定义在控制层和转发层之间的标准通信接口,基于OpenFlow的SDN技术可以使开发者动态管理网络拓扑结构。

最常见的OpenFlow流表主要由三个部分组成:匹配域(Match Fields)、计数器域(Counters)和指令域(Instructions),如下图所示。
在这里插入图片描述
(1)匹配域,如下图所示:一共包含12个域,每个域内包含一个值,分别对应TCP/IP体系结构中:在这里插入图片描述

  • 一层物理层中入端口(Ingress Port);
  • 二层数据链路层中源MAC地址(Ether source)、目的MAC地址(Ether dst)、以太网类型(EtherType)、VLAN标签(VLAN id)、VLAN优先级(VLAN priority);
  • 三层网络层中源IP(IP src)、目的IP(IP dst)、IP协议字段(IP proto)、IP服务类型IP ToS bits);
  • 四层传输层中TCP/UDP源端口号(TCP/UDP src port)、 TCP/UDP目的端口号(TCP/UDP dst port)。

(2)计数器域,可以用来统计每个端口、每条流、每张表和每个队列上的流量信息。

(3)指令域,为每条流表项对应的行动,表示对匹配该流表项处理方法,其中可以有0或者多个行动。若一条流表项的指令域为空,则默认操作是丢弃数据包。若一个流表项的指令域内有多个行动,则按照行动的优先级顺序执行。行动分为必选行动和可选行动,必选行动中包括转发或者丢弃,可选行动中则包括按照传统交换机处理、泛洪(除去入端口)、入队和修改匹配域等。
在这里插入图片描述
如上图所示数据包匹配流程:当数据包到达后,从流表中的第一个流表项开始匹配,若有匹配域相符合的流表项,接着更新该条流表项对应的统计数据,然后根据流表项对应指令域内的指令进行相应操作;若没有流表项被成功匹配,则转发给控制器请求进一步处理。

基于OpenFlow的SDN工作流程

上图为基于OpenFlow的SDN工作流程:
在这里插入图片描述
1 终端PC机向网络中发送一系列数据包;
2 数据包到达OpenFlow交换机,若交换机中无匹配的流表,则通过第2步向控制器发送Packet-In消息,请求控制器下发处理流表,若交换机中有匹配的流表,则直接执行第4步;
3 控制器下发流表(或Packet-Out消息)到交换机中;
4 交换机根据流表的信息将数据包转发到下一个交换机中;
5 交换机若有匹配流表,执行第7步,若无匹配流表,执行类似第2步;
6 类似第3步;
7 交换机转发数据包到另一个终端PC机。
在这里插入图片描述

对比理解

https://www.zhihu.com/question/20279620

参考链接:
http://archive.openflow.org/documents/openflow-spec-v1.1.0.pdf
http://www.opendaylight.org/
https://www.opennetworking.org/sdn-resources/sdn-definition/
本文部分转自http://blog.nsfocus.net/software-defined-network-sdn/
如果您需要了解更多内容,可以加入QQ群:570982169;直接询问:010-68438880

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP地址分类(A类 B类 C类 D类 E类)

IP地址类型 公有地址 公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。 私有地址 私有地址&am…

android 开发 短信,Android开发之短信发送

今天要讲的是使用Android开发发送短信程序。我们先来看下运行效果图(1) 图(2)图(3)图(1):当我们运行项目时,出现在屏幕的效果;图(2):当我们输…

ISP (互联网服务提供商)

ISP:全称为Internet Service Provider,即因特网服务提供商,能提供拨号上网服务、网上浏览、下载文件、收发电子邮件等服务,是网络最终用户进入Internet的入口和桥梁。它包括Internet接入服务和Internet内容提供服务。这里主要是In…

应用层组播、IP组播

通常说的组播一般指IP组播,IGMP协议等 什么是应用层组播? 应用层组播通过在应用层复制和缓存数据包而不是在路由器上复制数据包来避免IP组播的部署问题。应用层组播无须对路由器作任何修改,因此在 Internet 上非常容易部署 为了改善网络效率&#xff0…

android 酷炫倒计时,android 好用的倒计时

android倒计时 是在原有TextView的基础上进行二次开发的自定义View效果图这个主要是结合了android的CountDownTimer,这个一般就是发送短信的倒计时。包含功能倒计时时间超过一个小时显示 时:分:秒时间小于一小时显示:分 &#xff…

音视频常见问题分析和解决:延迟(时延 delay)和抖动

延迟和抖动 延迟:是网络传输中的一个重要指标,测量了数据从一个端点到另外一个端点所需的时间。一般我们用毫秒作为其单位。通常我们也把延迟叫做延时,但是延时有时还会表示数据包发送端到接受端的往返时间。这个往返时间我们可以通过网络监…

forkjoin_应用ForkJoin –从最佳到快速

forkjoin到目前为止,JDK 7已很好地掌握在开发人员手中,并且大多数人都听说过ForkJoin,但是没有多少人有时间或机会去尝试它。 它引起了并且可能仍然引起一些混乱,与普通线程池有什么不同。 [1] 我在本文中的目标是通过一个代码示…

android usb触摸屏驱动 win10,Win10手机居然这样兼容安卓:直接运行apk!

摘要:“应用太少是硬伤!”这是WP粉吐槽微软简洁而有力的一句话。最新的Win10Mobile预览版中首次引入了微软的安卓子系统,这也是微软推行的ProjectAstoria的一部分。那么Win10手机究竟要如何兼容安卓应用呢?微软最新一份招聘启事似…

Java应用程序中的验证

我经常看到的项目几乎没有任何有意识的数据验证策略。 他们的团队在截止日期,明确要求的巨大压力下工作,只是没有足够的时间以适当且一致的方式进行验证。 因此,数据验证代码随处可见:JavaScript片段,Java屏幕控制器&a…

升级鸿蒙系统如何退出,华为鸿蒙2.0系统升级了怎么退回EMUI11系统-操作教程详解...

华为鸿蒙2.0系统升级了怎么退回EMUI11系统?很多用户升级了又不知道如何才能退回到原来的系统,下面就让老铁下载小编为大家带来,2.0系统升级退回EMUI11系统操作教程详解。这次开启华为鸿蒙2.0系统手机开发者beta版公测招募的机型有华为P40 、P…

OpenFlow和SDN的历史和原理介绍

OpenFlow相关的历史、新闻:http://blog.csdn.net/jincm13/article/details/7825754 起源与发展 【https://36kr.com/p/5035985】   OpenFlow起源于斯坦福大学的Clean Slate项目组 [1] 。CleanSlate项目的最终目的是要重新发明英特网,旨在改变设计已略…

小米miuiVS华为鸿蒙,华为鸿蒙2.0 vs 小米MIUI 12.5

原标题:华为鸿蒙2.0 vs 小米MIUI 12.5不久前有媒体在视频中展示了鸿蒙2.0和苹果IOS14两个操作系统下App的启动速度,结果是鸿蒙2.0完胜IOS14。此后不久,该媒体发布了华为鸿蒙2.0和小米MIUI 12.5对比视频。同上次一样,这次依然是选择…

具有MicroProfile配置的可配置JAX-RS ExceptionMapper

当您使用JAX-RS创建REST服务时,通常要么不返回任何内容(例如HTTP 201/2/4等),要么返回某些数据(可能采用JSON格式(因此HTTP 200),或者返回某些异常/错误(例如HTTP 4xx或5…

Ad-hoc

Ad-hoc这个词来源于拉丁语,在百度上解释为“for this purpose only”,在wiki上解释为“for this”,其中文在wiki上被解释成包含特设的、特定目的的(地)、即席的、临时的、将就的、专案的”这么多种含义。在wireless ne…

android5.0 v4a,【图】多图讲解V4A提高G5音效详细步骤(G5音效可以更棒的)

首先感谢论坛前辈,看着你们介绍的方法,我把G5应有的音效搞出来了,效果提升非常明显。(看清了,如果不是非常明显,我也不会费这么大劲在这儿做讲解)。特记录和总结过程如下:1. 安装一键ROOT。2. 安装虚拟按…

Multi-commodity Flow Problem

多物网络流问题(Multi-commodity Flow Problem)是多种物品(或货物)在网络中从不同的源点流向不同的汇点的网络流问题。 定义

信干噪比、信噪比

信干噪比 名词定义 信干噪比SINR(Signal to Interference plus Noise Ratio),指的是系统中信号与干扰和噪声之和的比。 信号是指来自设备外部需要通过设备进行处理的电子信号。 干扰是指系统本身以及异系统带来的干扰,如同频干扰…

矢量图标库如何引入html,Iconfont矢量图标库在网站中的使用方法

原标题:Iconfont矢量图标库在网站中的使用方法大家都知道现在移动端网站设计比较热门,由于移动端的网站页面的收缩性要求很高,必然在网页设计中,一些小点的图标,使用图片收缩性,以及美观上并不是很理想&…

弗林斯传输公式、天线温度

这是被称为弗林斯传输公式。这个等式关系 自由空间路径损耗,天线增益和波长 接收和发射功率。这是一个基本 在天线理论方程,应该记住的(以及 上述推导)。 弗林斯传输方程的另一种有用的形式是给定的公式[2]。自 波长和频率&#…

马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)

引言 在概率论及统计学中,马尔可夫过程(英语:Markov process)是一个具备了马尔可夫性质的随机过程,因为俄国数学家安德雷马尔可夫得名。马尔可夫过程是不具备记忆特质的(memorylessness)。换言…