SDN解读:网络可编程性

日期: 2014-03-23 作者:Ethan Banks翻译:曾少宁 来源:TechTarget中国 英文

SDN基础:网络可编程性 网络工程师通常会使用命令行接口(CLI)或图形化用户界面(GUI)来配置网络设备。虽然这种工作方式很普遍,但是这里也有一些问题。实现复杂的网络配置可能要求工程师分别配置几个不同的网络设备。这个过程非常耗费时间、繁杂且容易出错。

系统管理员可以使用一些自动化工具(如Puppet )来简化他们的工作。尽管简单网络管理协议(SNMP)远处不在,但是网络工程师从未有一些能够处理任务分配的可预言管理工具。 网络可编程性旨在转变原先的做法:通过提供应用编程接口(API),通过编程语言向网络设备发送强大的编程指令。使用这种API,就意味着网络分配不需要网络工程师通过发送CLI来实现,……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SDN基础:网络可编程性

网络工程师通常会使用命令行接口(CLI)或图形化用户界面(GUI)来配置网络设备。虽然这种工作方式很普遍,但是这里也有一些问题。实现复杂的网络配置可能要求工程师分别配置几个不同的网络设备。这个过程非常耗费时间、繁杂且容易出错。系统管理员可以使用一些自动化工具(如Puppet )来简化他们的工作。尽管简单网络管理协议(SNMP)远处不在,但是网络工程师从未有一些能够处理任务分配的可预言管理工具。

网络可编程性旨在转变原先的做法:通过提供应用编程接口(API),通过编程语言向网络设备发送强大的编程指令。使用这种API,就意味着网络分配不需要网络工程师通过发送CLI来实现,而是通过一些支持网络编程的工具来实现。下面是一些例子:

  • 网络工程师可以使用脚本创建自动化分配任务,或者收集网络统计信息。(虽然网络工程师现在可以使用脚本,但是他们通常只是对CLI或SNMP交互的一种封装而已。)API可以提供更丰富的功能,也可以为工程师创造可以协作的生态系统。
  • 编排工具可以整合网络分配任务和其他用于开发业务应用程序的任务。
  • 网络应用程序可以作为中央控制器的插件,它们可以给网络环境增加功能,概念上很像一个类似于智能手机的应用程序。

许多网络供应商一直在努力开发能够完全利用网络硬件特性的自定义API。思科和瞻博网络就是这样的。虽然思科的onePK在早期提供了一个API库,它允许对运行IOS、IOS-XR和NX-OS的各种思科网络硬件进行编程。瞻博的Junos一直有XML API;甚至它的CLI都会生成XML代码,然后再发送到底层操作系统。

在提及网络可编程性时,不可避免地要涉及OpenFlow。在开放网络联盟成员的稳定支持和开发下,OpenFlow已经成为使用中央控制器实现网络编程的主流方法。OpenFlow是一个不依赖供应商的标题,它描述了如何编程控制一个网络交换机。它使用各种匹配条件(MAC地址、IP目标地址等)来标识特定的流,然后在这些流上执行一些操作(通过端口X转发、丢弃数据包等)。掌握整个网络拓扑信息的OpenFlow中央控制器可以在所有网络交换机上通过编程实现这种行为。

开源的OpenFlow控制器有Beacon和FloodLight。在交换产品中支持OpenFlow的网络供应商有惠普、瞻博、Pica8、思科等。虽然OpenFlow在概念上很庞大,但是它也遇到了规模和兼容性问题,因为OpenFlow操作经常无法与网络芯片相匹配,从而导致不同的供应商在“兼容OpenFlow”时会遇到各不相同的问题。因此,OpenFlow的未来并不明朗。

请阅读SDN解读:中央控制

作者

Ethan Banks
Ethan Banks

数据中心作者

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐