【问题标题】:In Opendaylight, we send openflow's multipart request and why wireshark can see accumulate multipart request in a single packet?在 Opendaylight 中,我们发送 openflow 的多部分请求,为什么wireshark 可以看到在单个数据包中累积多部分请求?
【发布时间】:2020-12-12 18:34:15
【问题描述】:

像这个图,enter image description here 我可以在这个数据包中找到许多openflow1.3,它们是多部分请求,但我不知道为什么会在这里发生? 其实这里不是只有一个openflow1.3吗? 跟openflowjava做序列化、wireshark、网卡、tcp nagle的算法有关吗? 谢谢!

【问题讨论】:

    标签: tcp wireshark opendaylight openflow


    【解决方案1】:

    TCP 是字节流,即从应用层(即 OpenFlow)的角度来看,数据包没有语义。在传输级别,单个 TCP 数据包中可以有多个应用层“消息”,消息跨越数据包边界等 - 这对应用程序无关紧要。虽然由于应用程序中的时间安排以及可能禁用 NAGLE 算法,TCP 数据包边界通常也是消息边界,但 TCP 数据包边界始终是消息边界的假设是错误的,任何对此的依赖通常会导致零星且难以重现的问题。

    基于此,您看到的也不是“多部分请求”。这些只是多个 OpenFlow 消息(应用程序级)同时或彼此紧随其后发送,它们被放在同一个传输级实体(数据包)中,因为这样传输每条消息的开销较小。

    【讨论】:

    • 感谢您的指正和阅读我蹩脚的英语!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 2022-12-05
    • 2016-11-11
    • 2018-03-05
    相关资源
    最近更新 更多