Openflow 如何决定使用哪条路径?

网络工程 开放流 专用网
2021-07-20 05:19:43

在目前的网络中,OSPF、RIP等决定了一个数据包所走的路径。在SDN中,OpenFlow协议设置转发单元的流表。有人可以非常清楚 OpenFlow 如何决定为流设置哪条路径?

2个回答

简短版本:它没有。

更长的版本: Openflow 只是一个用于在“转发单元”和控制器之间进行通信的协议。控制器本身决定了如何处理数据包,并且它可以以任何它喜欢的方式来做到这一点。您可以在 OpenFlow 控制器中实现大多数当前的路由协议,例如RouteFlow

所以 OpenFlow 协议不是用来确定走哪条路径的,它只是在流表中安装流的一种手段。从这个意义上说,您可以将其视为类似于 SNMP 和其朋友(尽管更强大一些)。

正如@nik 所说,OpenFlow 只是控制器用来在网络设备上设置流的协议。

由于 SDN 控制器知道所有进入它控制的设备的数据包,它可以在设备开始通信时构建端口/mac/ip 映射。

没有什么可以阻止控制器运行路由协议;它可能正在运行 OSPF,并且让其控制下的所有设备看起来像一个巨大的单个路由器。

示例场景:

  1. SDN 控制器可以将边缘上的任何传入 OSPF 数据包转发给它自己以进行 OSPF 处理并响应它们。
  2. 控制器可以将 OSPF 流量切换到实际的路由器,因此其控制下的设备就像一个大交换机。