我有一个关于校园网络 OpenFlow 使用示例的问题:Open Flow: Enabling Innovation in Campus Networks。我将首先引用这篇论文来提供一些关于我正在努力解决的例子的背景。之后,我引用了我不明白的具体段落。
- 使用开放流
作为如何使用 OpenFlow 交换机的一个简单示例,假设 Amy(研究人员)发明了 Amy-OSPF 作为替代 OSPF 的新路由协议。
她想在 OpenFlow 交换机网络中尝试她的协议,而无需更改任何终端主机软件。 Amy-OSPF 将在控制器中运行;每次新的应用程序流启动时,AmyOSPF 都会选择一条通过一系列 OpenFlow 交换机的路由,并在沿路径的每个交换机中添加一个流条目。
在她的实验中,Amy 决定对从她自己的台式 PC 进入 OpenFlow 网络的流量使用 Amy-OSPF — 这样她就不会为其他人中断网络。为此,她将一个流定义为通过她的 PC 连接到的交换机端口进入 OpenFlow 交换机的所有流量,并添加一个流条目,其动作为“封装所有数据包并将其转发到控制器”。
以下是我难以理解的摘录:
当她的数据包到达控制器时,她的新协议会选择一条路由,并向沿所选路径的每个交换机添加一个新的流条目 (用于应用流)。当后续数据包到达交换机时,它们会被流表快速(以线速)处理
所以,如果我的理解是正确的:
Amy 将一个流定义为来自路由器 R 上端口 N 的所有流量。
添加带有操作“封装+转发到控制器”的流条目。
数据包使用路径 P_0 路由到控制器 C_1
数据包到达 C_1
Amy-OSPF 将计算从路由器 R 上的端口 N 到 C1 的最佳路由/路径(可能与 P_0 不同),我们称之为 P_1。
它将流条目多播到路径 P_1 上选定的路由器,表示如果数据包被标记为来自路由器 R 上的端口 N,则转发到 P_1 上的下一个路由器。
路径 P_1 上的每个路由器都有最佳路径(下一跳)的本地视图,而 C_1 具有全局视图(从开始到结束的所有跃点)。
进一步的处理将非常快,因为路由器将只执行由控制器 C_1 传达的流条目。
我错过了什么吗?此外,Amy 向哪个路由器/交换机添加了 0 和 1 的规则(定义流,添加流条目“封装 + 转发到控制器”)。
谢谢,