我使用Ryu simple_switch_13.py(稍加修改)和Mininet来模拟软件定义的网络。
如果我ping为例:
h1 ping h2
创建流匹配,但是第一个数据包未在流的数据包计数中注册。
这在Openflow中是正常的吗?交换机/控制器首先必须接收与任何内容不匹配的数据包,创建匹配,然后任何其他数据包将匹配吗?
OpenFlow的正常行为是接收流的第一个数据包,然后使用默认的流条目将其发送到控制器,该条目大多如下所示(取决于控制器类型):
cookie=0x0, duration=10.97s, table=0, n_packets=0, n_bytes=0, priority=0, action=CONTROLLER:65535
当第一个数据包到来时,它将由交换机发送到控制器,然后,控制器决定流条目并通过OpenFlow消息(flowAdd)将其发送到交换机。第一个数据包与创建的流规则不匹配。
这是一个简单的例子,我希望对你有用。