如何使用udp协议在网络上发送大数据?

时间:2018-05-09 16:33:23

标签: c++ c networking posix

用户空间可以调用send,只发送MTU大小的数据包。 这将强制发送多个调用,但会避免IP碎片。 但是多次调用send会强制多个用户/内核上下文切换。

另一种方式是用户空间可以发送大数据包(可能是N * MTU大小),这将导致N个IP片段,但会减少用户/内核上下文切换。

另一方面,IP分段也会减慢网络路径,因为所有路由器都需要在路由转发之前累积数据包。

在我的谷歌搜索研究后,我得出结论,使用带有readv / writev的iovec并发送MTU大小可能是一种方法,因为它将解决有关上下文切换和IP碎片的问题。

我将非常感谢对此的深刻见解和意见。

0 个答案:

没有答案