networking - 基于流的路由和openflow

标签 networking network-programming network-protocols openflow

这可能不是典型的 stackoverflow 问题。

我的一位同事一直在猜测,基于流的路由将成为网络领域的下一件大事。 Openflow提供在大型应用、IT 数据中心等中使用低成本交换机的技术;替换 Cisco、HP 等交换机和路由器。理论上,您可以通过简单的配置创建这些 openflow 交换机的层次结构,例如。没有生成树。开放流将仅使用交换机层次结构的知识(无路由器)将每个流路由到适当的交换机/交换机端口。该解决方案旨在为企业节省资金并简化网络。

问:他推测这可能会极大地改变企业网络。由于许多原因,我持怀疑态度。我想听听你的想法。

最佳答案

OpenFlow 是一个 research project斯坦福大学教授Nick McKeown .在 original OpenFlow research paper ,OpenFlow 的目标是为研究人员提供一种“在他们每天使用的网络中运行实验协议(protocol)”的方法。多年来,网络研究人员几乎不可能完成在具有真实以太网交换机和 IP 路由器的真实网络上部署和评估他们的想法的任务。困难在于,来自思科、惠普等公司的真正交换机和路由器都是封闭的、专有的盒子,它们执行标准“协议(protocol)”,如以太网生成树和 OSPF。有商业原因为什么思科和惠普不允许你在他们的交换机和路由器上运行软件;没有技术原因。 OpenFlow 的发明是为了解决一个人的问题:如果 Cisco 不愿意让你在他们的交换机上运行代码,也许他们至少可以提供一个非常窄的接口(interface)让你远程配置他们的交换机,这个窄接口(interface)被称为 OpenFlow。

据我所知,目前有十多家公司正在为其交换机实现 OpenFlow 支持。像惠普这样的一些公司只提供用于研究目的的 OpenFlow 软件。 NEC 等其他公司实际上正在提供商业支持。

对于想要在真实网络中评估新路由协议(protocol)的学术研究人员来说,OpenFlow 是一个巨大的胜利。对于交换机供应商来说,从长远来看,OpenFlow 支持是否会有所帮助、伤害或没有影响还不太清楚。毕竟,学术研究市场非常小。

OpenFlow 最常在企业网络背景下讨论的原因是 OpenFlow 源于之前的一个名为 Ethane 的研究项目。它使用 OpenFlow 对企业网络中的交换机进行远程编程的机制来集中安全策略。 Ethane 以及扩展的 OpenFlow 直接导致了两家初创公司:Nicira , 由 Martin Casado 创立, 和 Big Switch Networks , 由 Guido Appenzeller 创立.如果网络中的所有交换机都支持 OpenFlow,那么实现类似 Ethane 的系统会更容易。

与企业网络密切相关的是数据中心网络,这些网络将 Google、Facebook、Microsoft、Amazon.com 和 Yahoo! 等公司的成千上万台服务器互连起来。以太网的一个问题是它无法扩展到同一第 2 层网络上的这么多服务器。我们试图在一个名为 PortLand 的研究项目中解决这个问题。 .我们使用 OpenFlow 来帮助从中央 Controller (我们称为 Fabric Manager)对交换机进行编程。我们发布了PortLand source code作为开源。

但是,我们也发现了 OpenFlow 功能的限制。在另一个名为 Helios 的数据中心网络研究项目中,我们无法使用 OpenFlow,因为它没有提供将多个交换机端口绑定(bind)到链路聚合组 (LAG) 的机制。大概可以无限期地扩展 OpenFlow 规范,直到所有可能的交换机特性都暴露出来。

还有其他网络,例如互联网接入网络、互联网 Backbone 、家庭网络、无线网络、蜂窝网络等。研究人员正试图了解 OpenFlow 适合所有这些市场的位置。真正归结为一个问题,“OpenFlow 解决了什么问题?” Ethane 为企业网络提供了一个案例,但我还没有看到任何其他类型的网络令人信服的案例。 OpenFlow 可能是下一件大事,或者它可能最终成为“不要用技术解决方案解决人员问题”的案例。

关于networking - 基于流的路由和openflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4527836/

相关文章:

flash - HTTPS 服务的 SWF 文件可以请求非安全的 HTTP 内容吗?

soap - TR-069 cwmp客户端实现: open sources comparison

java - 为什么Kafka消费者性能慢?

docker - 无法从容器访问主机服务

c - 为什么同样的负载在三天后会出现略微不同的 IEEE 802.15.4 帧?

linux - 为什么 Ping 间隔会影响 RTT 值?

java.net.BindException : Address already in use: Cannot bind

network-programming - 在子网外发送 udp 消息

objective-c - ios从私网地址读取内容

c - 读取/写入在我的 TCP 代码中不起作用