为什么我的OpenFlow匹配项与第一个数据包不匹配?

时间:2019-02-03 17:38:09

标签: sdn openflow

我正在使用Ryu simple_switch_13.py(稍作修改)和Mininet来模拟软件定义的网络。

例如,如果我ping通

h1 ping h2

创建了流匹配项,但是第一个数据包未在流的数据包计数中注册。

在Openflow中这是正常现象吗?交换机/控制器是否必须首先接收不匹配的数据包,创建匹配项,然后再匹配其他数据包?

1 个答案:

答案 0 :(得分:1)

OpenFlow的正常行为是接收流的第一个数据包,然后使用默认流条目将其发送到控制器,该条目通常看起来像以下内容(取决于控制器类型):

cookie=0x0, duration=10.97s, table=0, n_packets=0, n_bytes=0, priority=0, action=CONTROLLER:65535

当第一个数据包到达时,它将由交换机发送到控制器,然后,控制器决定流条目,并通过OpenFlow消息( flowAdd )将其发送到交换机。第一个数据包与创建的流规则不匹配。

那是一个简单的例子,希望对您有用。