软件定义网络(SDN):数据平面与控制平面深度解析
1. 多表的使用
在网络数据包处理中,多表的使用能够实现流的嵌套,即将单个流分解为多个并行的子流。例如,表 0 中的一个条目可定义一个从特定源 IP 地址到特定目的 IP 地址的数据包流。当在这两个端点之间建立了最低成本的路由后,这两个端点之间的所有流量都可以遵循该路由,并且该路由上从这个交换机出发的下一跳可以记录在表 0 中。
在表 1 中,可以针对不同的传输层协议(如 TCP 和 UDP)为该流定义单独的条目。对于这些子流,可能会保留相同的输出端口,以使子流都遵循相同的路由。然而,由于 TCP 包含 UDP 通常没有的复杂拥塞控制机制,因此在与服务质量(QoS)相关的参数方面,对 TCP 和 UDP 子流进行不同的处理是合理的。表 1 中的任何条目都可以立即将其各自的子流路由到输出端口,但部分或所有条目可能会调用表 2,进一步划分每个子流。例如,TCP 子流可以根据运行在 TCP 之上的协议(如简单邮件传输协议 SMTP 或文件传输协议 FTP)进行划分。同样,UDP 流可以根据运行在 UDP 之上的协议(如简单网络管理协议 SNMP)进行细分。
使用多表简化了软件定义网络(SDN)控制器和 OpenFlow 交换机中的处理过程。控制器可以一次性定义适用于聚合流的操作(如下一跳),交换机也只需检查和执行一次。在任何级别添加新的子流所需的设置工作更少。因此,使用流水线式的多表提高了网络操作的效率,提供了精细的控制,并使网络能够响应应用程序、用户和会话级别的实时变化。
2. 组表
在流水线处理过程中,流表可能会将数据包流导向组表,而不是另一个流表。组表和组操作使 OpenFlow 能够
超级会员免费看
订阅专栏 解锁全文
1053

被折叠的 条评论
为什么被折叠?



