Chinaunix首页 | 论坛 | 博客
  • 博客访问: 901455
  • 博文数量: 113
  • 博客积分: 3160
  • 博客等级: 少校
  • 技术积分: 1801
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-19 10:09
文章分类

全部博文(113)

分类:

2012-07-10 22:50:59

   

    如今,网络已经成为企业,家庭和学校中基础设施的关键部分之一。这一巨大成功对于网络研究人员来说是一把双刃剑:一方面,更加普及的网络基础设施和他们的工作联系的更加紧密;然而另一方面,他们能够取得巨大进展的机会则越来越少。 任何一项网络技术的创新在现实世界中的影响都在不断下降,这是因为已经存在了巨量的安装设备和大量的协议,以及生产商不愿对生产出的大量产品作相应的测试,从而使得创新技术的进入壁垒越来越高。今天,几乎没有任何切实可行的办法来实验新的网络协议(例如,新的路由协议,或替代的网络协议)于高效的现实应用中(例如,在实际网络中进行大规模测试)来使人们获得广泛部署的信心。 这样造成的结果是,大多数新技术无法通过大规模的测试来检测其性能。因此,在众人眼里,网络基础设施已逐渐“僵化”。

 

    当意识这些问题之后,网络社区致力于发展可编程网络,比如GENI就是通过一个全国性的研究设施来试验新的网络架构和分布式系统。这些可编程网络需要具有可以处理多个分离实验网络数据包功能的程控交换机和路由器(虚拟化)。例如,在GENI的设想中,研究人员可以在整个网络中分配一块资源,它包括网络连接,数据包的处理元件(如路由器)和终端主机;研究人员可以通过这些资源来测试和实验他们的新技术。同时,它还可以通过骨干系统接入网络,进入大学校园和工业研究实验室,这其中包括布线,无线网络和传感器网络。

 

    下面是一张OpenFlow的概览图

 

    其基本思想非常简单:大多数现代以太网交换机和路由器包含flow-tables(通常由TCAMs标准生产),它通过运行端口限速来实现防火墙,网络地址转换,服务质量和信息的统计。虽然每个供应商的flow-table是不同的,但我们发现在许多交换机和路由器上,它们都有一系列共同的指令集。Openflow就是利用这一套共同的指令集来实现其功能的。

   

    在不同的交换机和路由器上,openflow提供了一个开放协议的flowtable程序。网络管理员可以将数据流划分日常应用流和研究流。研究人员通过选择路线,跟踪和处理他们收到的数据包来控制他们自己的数据流。这样,研究人员就可以尝试新的路由协议,安全模型,解决方案,甚至替代的网络协议。在同一网络,其隔离和处理方式和如今几无改变。

   

    OpenFlow交换机的datapath包括一个流动的表以及每一个流接入的动作记录。这套由OpenFlow交换机提供的指令是可扩展的,但下面我们为所有的交换机提供一个最低限度的要求。高性能和低成本的datapath必须有一个高度的灵活性。

 

    这意味着OpenFlow必须放弃任意处理每个数据包的功能,并将寻求更为有限的但能在一定的范围内适用的新型指令集。因此,在后面的论述中,我们将会定义一套适用所有openflow交换机的指令。

 

(节选)

阅读(2843) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~