是否可以通过单个IP数据包发送多个TCP或UDP数据包?协议中有任何规定禁止这样做吗?
如果该协议允许但通常不由TCP / UDP实现执行,您能否指出证明该点的Linux源代码中的相关部分。
是否有一些操作系统上的TCP / UDP实现可以在单个IP数据包上发送多个数据包(如果允许)。
是否可以通过单个IP数据包发送多个TCP或UDP数据包?协议中有任何规定禁止这样做吗?
如果该协议允许但通常不由TCP / UDP实现执行,您能否指出证明该点的Linux源代码中的相关部分。
是否有一些操作系统上的TCP / UDP实现可以在单个IP数据包上发送多个数据包(如果允许)。
这是不可能的。
TCP段头没有描述它的长度。TCP负载的长度是从IP数据包长度减去IP和TCP头的长度得出的。因此每个IP数据包只有一个TCP段。
然而,通过IP分片,一个TCP段可以在多个IP数据包中进行分段。
这个协议本身不允许这样做。它不会崩溃,只是不会发生。
使用隧道技术的建议是有效的,但警告也同样重要。
你不能将多个TCP数据包打包成一个IP数据包 - 这是规范的限制,如上所述。 TCP是最接近面向应用程序的API。或者你想编写发送原始IP消息的程序?告诉我们,你想解决什么问题。考虑如何组织从一个应用程序到另一个应用程序的消息传递,或者提到你想要钩入TCP/IP堆栈。我可以建议你: