网络编程语言Frenetic和Pyretic如何简化OpenFlow SDN编程(上)

日期: 2013-12-08 作者:David Jacobs翻译:曾少宁 来源:TechTarget中国 英文

网络配置非常复杂,所以很容易出错。SDN和OpenFlow协议通过使用一种统一语言来替换各个供应商的私有配置语法,以简化网络配置任务。 在一个OpenFlow SDN环境中,工程师不再需要用生成树等协议去管理各个设备,而是将网络的控制面板解耦,将它转移到一个中央SDN控制器上。然后,这个控制器能够为网络上的所有设备作出数据包转发决策。

但是,OpenFlow接口也非常复杂,所以研究人员开发了一些网络编程语言,如Frenetic和Pyretic,它们可以简化OpenFlow SDN编程。 OpenFlow SDN背后的复杂过程 虽然OpenFlow控制器使管理员不需要再逐个配置和管理数量庞大的设……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

网络配置非常复杂,所以很容易出错。SDN和OpenFlow协议通过使用一种统一语言来替换各个供应商的私有配置语法,以简化网络配置任务。

在一个OpenFlow SDN环境中,工程师不再需要用生成树等协议去管理各个设备,而是将网络的控制面板解耦,将它转移到一个中央SDN控制器上。然后,这个控制器能够为网络上的所有设备作出数据包转发决策。

但是,OpenFlow接口也非常复杂,所以研究人员开发了一些网络编程语言,如Frenetic和Pyretic,它们可以简化OpenFlow SDN编程。

OpenFlow SDN背后的复杂过程

虽然OpenFlow控制器使管理员不需要再逐个配置和管理数量庞大的设备,但是这个系统所使用的路由选择决策过程仍然非常复杂。

在一个基于控制器的SDN环境中,如果有一个数据包的来源和目标从未见过,当它到达一个网络设备时,这个设备就会把数据包发送到控制器上。这个控制器负责决定如何转发这个数据包。然后,它会在设备上配置转发规则,有相同来源和目标的后续数据包就可以根据这个规则转发。

来源与目标信息对就称为流(Flow)。控制器会为每一个流创建一条转发规则,然后在每一个设备上为路径配置这一条规则。转发规则可能基于各种因素,如流量负载、安全性或延迟要求。

流规则可能指定一个来源和目标信息对,也可能包含一些通配符地址。每一个设备都会保存一组按优先级排列的流规则。当一个数据包到达设备时,它会对比流规则列表,然后根据最高优先级的规则进行转发。

通配符规则一定要小心定义,避免那些本应该发送到控制器上单独处理的数据包被通配符规则提前转发出去。如果一个流基于多个条件转发数据包,那么必须有一条规则包含所有的条件。否则,这个流将会基于列表中第一条规则来转发数据包,而后续规则将会被忽略。这些都是需要简化的复杂因素。

请继续阅读网络编程语言Frenetic和Pyretic如何简化OpenFlow SDN编程(下

翻译

曾少宁
曾少宁

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