1)网络可编程性是SDN的另一个重要属

网络可编程性最初是指网络管理人员可以通过命令行对设备进行配置,后来有了可编程路由器、NetFPGA等设备,这些设备的可编程性主要是对设备本身硬件电路级的可编程,即开发人员是通过编译代码直接控制这些硬件来实现自己的协议或者功能。这种可编程的能力是对某台设备而言的,是一种处于最底层的编程能力,相当于计算机中汇编等级的低级编程语言,不够灵活便捷。

SDN的网络可编程性是从另外一个角度来看的,传统网络设备需要通过命令行或者直接基于硬件的编译写入来对网络设备进行编程管理。

主动应用(AA)是一个协议的程序代码,它通过主动分组加载到主动节点中,并在主动节点中对分组进行转发和计算来完成某种通信功能。执行环境(EE)是在Node

OS上的一个用户级操作系统,它可以同时支持多个AA的执行,并负责AA之间的互相隔离。EE为AA提供了一个可调用的编程接口,一个主动网络节点可以具有多个执行环境,

每一种执行环境完成一种特定的功能。节点操作系统类似于一般操作系统的内核,它位于主动网络节点最底层的功能层次,管理和控制对主动网络节点硬件资源的使用。因此,EE在Node OS中运行,一个NodeOS可以并发地支持多个EE,协调EE对节点中可利用资源(内存区域、CPU周期、链路带宽等)的使用。一般来说,主动网络包含以下两种主要的数据模型

1)封装模型::节点的可执行代码被封装在数据分组内,为in-band方式。这种模型利用数据分组携带代码从而在网络中添加新的功能,同时使用缓存来改善代码分发的效率,而可编程路由器根据数据分组的分组头由管理员定义一系列的操作行为。

2)
可编程路由器/交换机模型(Programmable Router/Switch Model):

节点的可执行代码与数据分组分离,为out-of-band方式,信包在主动网络节点和传统网络中传输的情况。用户可以在协议栈中添加自己的操作,网络中可以同时有传统的节点和主动网络节点。当数据通过传统的设备时,报文只是被简单地转发不做任何修改;而当数据报文通过主动网络节点时,节点能够根据用户定义的行为对数据报文进行计算与操作。

2)SDN可编程:

它通过为开发者们提供强大的编程接口,从而使网络有了很好的编程能力。对上层应用的开发者来说,SDN的编程接口主要体现在北向接口上,北向接口提供了一系列丰富的API,开发者可以在此基础上设计自己的应用而不必关心底层的硬件细节,就像目前在x86体系的计算机上编程一样,不用关心底层寄存器、驱动等具体的细节。SDN南向接口用于控制器和转发设备建立双向会话,通过不同的南向接口协议, SDN控制器就可以兼容不同的硬件设备,同时可以在设备中实现上层应用的逻辑。SDN的东西向接口主要用于控制器集群内部控制器之间的通信,用于增强整个控制平面的可靠性和可拓展性.

南向接口已有 OpenFlow等诸多标准,但是北向接口方面还缺少一个业界公认的标准,不同的控制器厂商都有各自的北向接口.

  1. SDN南向接口协议是集中式的控制平面和分布式的转发设备之间交互的接口协议,用于实现控制器对底层转发设备的管控。SDN交换机需要与控制平面进行协同后才能工作,而与之相关的消息都是通过南向接口协议传达的。当前,SDN中最为成熟的南向接口协议是ONF组织倡导的OpenFlow协议。OpenFlow使控制平面可以完全控制数据平面的转发行为,同时ONF还提出了OF-CONFIG协议,用于对SDN交换机进行远程配置和管理,其目标都是为了更好地对分散部署的SDN交换机实现集中化管控。OpenFlow协议作为SDN发展的代表性协议,已经获得了业界的广泛支持.

  2. SDN的控制平面可以是分布式的,在这种情况下,就需要一种接口协议来负责控制器之间的通信。SDN东西向接口主要解决了控制器之间物理资源共享、身份认证、授权数据库间协作以及保持控制逻辑一致性等问题,实现多域间控制信息交互,从而实现底层基础设施透明化的多控制器组网策略。

  3. SDN相比于主动网络的优势:

(1)SDN应用多集中在对控制平面的编程上,上层应用通过北向接口与控制器交互,

然后控制器再通过南向接口与底层硬件交互,这样降低了程序与硬件的耦合程度,只需要实现不同的南向协议就可以在不同的硬件环境上执行相同的功能。而主动网络的许多早期应用思路集中在中间件(Middlebox)、防火墙、代理上,这些应用都需要分开部署,每个都有各自的编程模型。主动网络主要是在数据平面上增加可编程性,试图直接控制数据平面来实现这些功能,程序代码与数据平面耦合性较高,同样的应用功能对不同的硬件设备要有不同的实现,缺乏了灵活性,这无疑会影响到主动网络技术的普及.

(2) SDN有一些明确的应用场景,如在数据中心和网络试验床中,这很大程度上体现了SDN的商用能力,使得业界对于SDN的落地持有非常乐观的态度。而主动网络的应用主要在中间件和对数据平面的控制上,总体来说其应用场景相对狭窄.

(3)主动网路的费用昂贵代价较高,而SDN网络性价比较高.

(4) SDN的发展方向更为明确,SDN将目标放在为网络管理者和应用开发者提供强大的编程能力上,真正做到了为开发者提供一整套编程接口,让网络有强大的可编程能力,从而使开发者能在网络中加入自己新的服务,专注于编程与服务。
狭义的SDN是完全的将控制层面和转发层面分离,白盒交换机,只需要支持北向的配置即可,通过openflow协议进行“流”匹配转发。
广义的SDN是在保留原有交换设备的控制功能的同时,通过net config下发配置,支持北向的配置进行远端的控制。只做overlay的工作。
强控指的是:通过openflow直接给硬件设备下发转发表。

(overlay)SDN架构:
1)SNMP-V3的作用:
简介 :
SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。

get-request操作:从代理进程处提取一个或多个参数值。

get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值。

set-request操作:设置代理进程的一个或多个参数值。

get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作。trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。
前面的3种操作是由管理进程向代理进程发出的,后面的2个操作是代理进程发给管理进程的,为了简化起见,前面3个操作今后叫做get、get-next和set操作。图1描述了SNMP的这5种报文操作。请注意,在代理进程端是用熟知端口161俩接收get或set报文,而在管理进程端是用熟知端口162来接收trap报文。
在SDN中SNMP-V3主要是用来发现设备:每个设备首先要将SNMP打通并且开启LLDP协议,LLDP协议会将设备与设备之间的关系(邻居/端口号)写入MIB库里,然后SNMP再把得到的信息传到SDN控制器,就会生成对应拓扑。
2)NETCONF协议(单独开发出来的下方配置):
防火墙中是通过API接口进行NETCONF协议下发配置的
3)OPENFLOW协议:

packet报文是携带数据信息与控制器进行交互,首包首先发送给控制器获取数据信息,在首包packetout没下来之前会先发送flow mode。(TCAM表决定了流变的大小,于是就生成了多张流表流水线式的匹配)

SDN-网络可编程-1(详述)相关推荐

  1. 技术沙龙 | TeaTalk 带你深度探索 SDN 网络技术再创新

    越来越多的企业.行业和政府机关顺应企业数字化转型.云服务和国家政策等趋势将业务迁移上云.随着移动云的快速发展,对网络提供差异化的服务能力也提出了很多新的考验.大规模数据中心.虚拟化 SDN 网络技术及 ...

  2. SDN 网络技术创新探索 | 移动云 TeaTalk 线上直播 倒计时启动中

    在企业数字化转型.云服务和国家政策等多种因素驱动下,越来越多的企业.行业和政府机关将业务迁移到云上,随着移动云的快速发展,在"多系统.多场景.多业务"需求下,对网络提供差异化的服务 ...

  3. HCIA- Datacom认证增加了SDN跟自动化编程

    HCIA-Datacom新版数通认证都考什么内容?https://blog.csdn.net/XMWS_IT/article/details/121784448?spm=1001.2014.3001. ...

  4. 基于SDN网络的优化技术和QoS研究分析(二)

    编者按 随着网络技术的发展,越来越多的分布式应用和不同类型的网络技术被部署到网络上,基于传统IP的网络体系结构正面临越来越多的问题,传统的优势正逐渐成为制约网络技术发展的瓶颈. 由于篇幅较长,文章将分 ...

  5. SDN网络下有哪些SDN交换机选择?

    随着SDN技术的发展,SDN网络架构迎来了历史性的变革,SDN被认为是下一代网络变革的重要方向.而SDN交换机作为一款高性能,高密度的下一代交换机,为SDN大规模的商用部署和下一代网络技术的创新应用, ...

  6. 你知道SDN网络抗DDoS动态纵深防御体系设计是怎样的吗

    现在如今网络安全问题一直是大家非常关注的,防御手段也有很多种,今天要说的SDN网络,SDN网络抗DDoS动态纵深防御体系设计是怎样的?一起来了解一下吧. SDN技术 由于其开放性.转发与控制分离.可编 ...

  7. 【扫盲】SDN网络与传统网络对比分析

    IP网络从1982年TCP/IP 成为互联网前身的ARPANET标配以来,随着互联网的发展而迅猛扩展.在数据网络方面基本已经一统天下,做到了 everything over IP.IP网络作为承载互联 ...

  8. JAVA网络IO编程

    2019独角兽企业重金招聘Python工程师标准>>> JAVA网络IO编程(BIO NIO AIO) 一.传统的BIO编程 1.网络编程的基本模型是C/S模型,即两个进程间的通信. ...

  9. 数据中心网络架构 — 云数据中心网络 — SDN 网络技术

    目录 文章目录 目录 SDN 网络技术 Overlay Controller Underlay Network 如何大一统的全域 SDN 管控? SDN 网络技术 通过 SDN 网络技术,可以将数据中 ...

  10. python3 socketserver模块 网络服务编程框架

    socket编程过于底层,编程虽然有套路,但是想要写出健壮的代码还是比较困难的,所以很多语言都对socket底层 API进行封装,Python的封装就是--socketserver模块.它是网络服务编 ...

最新文章

  1. linux I/O--五种I/O模型(一)
  2. 【数据平台】基于pyhs2库Python作为client driver连接HiveServer
  3. java多线程(同步和死锁,生产者和消费者问题)
  4. Learning ROS: Service and Client (C++)
  5. oracle 存储过程挂起,library cache pin与PROCEDURE的重建
  6. CA的ITSM产品Unicenter介绍
  7. Python Tricks(十三)—— 欧几里得算法
  8. SQL中truncate 、delete与drop区别 (Rollback Segment)
  9. 【工业机器人】全球工业机器人详细产业链梳理!
  10. ISO27001信息安全管理体系
  11. android o car模块,CarPlay for Android: Bonjour 及 插件源码移植问题分析
  12. 杂谈:人工智能发展的哲学研究
  13. html标签选择器只认最后一个,选择某类的最后一个元素——CSS3伪类选择器走过的坑...
  14. 分享三个前端学习方法和十项前端面试笔记:为想去的公司努力一把
  15. Mybatis Plus代码生产器实战篇
  16. PIC单片机printf()函数重定向
  17. 怎么划分领域、子域、核心域、通用域和支撑域
  18. Python爬虫入门教程:博客园首页推荐博客排行的秘密
  19. 学生学籍信息管理系统(Java + SQL)
  20. 测试眉形的有哪个软件_拍照测眉毛_有没有一种软件可以通过拍照帮人设计眉毛_彩妆阁...

热门文章

  1. 打车小程序开发功能及解决方案
  2. C#指定时区时间转为本地时间
  3. 华为数通笔记-网络参考模型及数据通信过程
  4. 判断浏览器类型的js,附带自己画的超人2021-11-08
  5. vue中的请求拦截器与响应拦截器的使用
  6. 马斯克讽刺疫情恐慌“愚蠢”遭怒怼!苹果、谷歌、微软等硅谷巨头近10万名员工已回家工作...
  7. MFC界面库之BCGControlers使用
  8. axios token过期刷新
  9. C++进阶教程 - 委托构造函数和继承构造函数
  10. 禁止所有搜索引擎访问网站的任何部分