Tshark - 两种类型的OpenFlow FLOW_MOD数据包

时间:2017-01-26 18:30:03

标签: tcpdump sdn mininet tshark openflow

我正在端口#6633上运行SDN控制器,然后使用 tshark 捕获发送给它的数据包,这会给我以下输出:

*18 0.029550379 127.0.0.1 ?~F~R 127.0.0.1 OpenFlow 138 Type: OFPT_FLOW_MOD* 19 0.031562043 127.0.0.1 ?~F~R 127.0.0.1 TCP 88 8984?~F~R56292 [PSH, ACK] Seq=1 Ack=86 Win=86 Len=22 TSval=7474079 TSecr=7474075 20 0.031591119 127.0.0.1 ?~F~R 127.0.0.1 TCP 66 56292?~F~R8984 [ACK] Seq=86 Ack=23 Win=86 Len=0 TSval=7474079 TSecr=7474079 21 0.031786109 127.0.0.1 ?~F~R 127.0.0.1 TCP 163 56292?~F~R8984 [PSH, ACK] Seq=86 Ack=23 Win=86 Len=97 TSval=7474079 TSecr=7474079 *22 0.031958834 127.0.0.1 ?~F~R 127.0.0.1 OpenFlow 146 Type: OFPT_FLOW_MOD* 23 0.032035439 127.0.0.1 ?~F~R 127.0.0.1 TCP 66 47418?~F~R6633 [ACK] Seq=341 Ack=169 Win=44032 Len=0 TSval=7474079 TSecr=7474079 24 0.032732179 127.0.0.1 ?~F~R 127.0.0.1 TCP 88 8984?~F~R56292 [PSH, ACK] Seq=23 Ack=183 Win=86 Len=22 TSval=7474080 TSecr=7474079 25 0.038687398 36:68:ff:8e:d1:9c ?~F~R Broadcast OpenFlow 126 Type: OFPT_PACKET_IN

根据我的应用程序,交换机中只应安装一个流规则。当我在mininet中使用 dpctl dump-flows 时,它也只返回了一个流规则。现在我有疑问,因为有两个flow mod数据包。

在数据包#18和22中,两者都是OFPT_FLOW_MOD数据包,但是如果您看到两个数据包在 OpenFlow 关键字后具有不同的数字,请参阅第三列。有人能解释一下吗?

1 个答案:

答案 0 :(得分:0)

每个 协议后面都有一个数字,而不仅仅是OpenFlow数据包。看看其他人,例如#19" TCP 88"。

很有可能,Length列后面有一个Wireshark Protocol列,该值只是数据包中的字节数。检查Wireshark列; tshark默认使用相同的。