发送固定长度的TCP帧
发布时间:2020-12-13 19:22:15 所属栏目:Linux 来源:网络整理
导读:我需要使用TCP通过具有固定非标准MTU(例如,1560)的子网发送一些数据. 如果帧的长度小于MTU,则通过该子网传输的所有以太网帧应手动填充0. 所以,数据大小应该是 (1560 sizeof(IP头) sizeof(TCP头)). 这就是我要这样做的方式: 我设置了TCP_CORK选项以减少数据
我需要使用TCP通过具有固定非标准MTU(例如,1560)的子网发送一些数据. 所以,数据大小应该是 这就是我要这样做的方式: >我设置了TCP_CORK选项以减少数据的分段.它不可靠,因为有200毫秒的天花板,但它的工作原理. 所以,问题是:如何获得TCP头的大小?或者也许有一些方法来发送带有固定长度标头的TCP帧? 最佳答案
从用户应用程序使用TCP时,尝试控制帧的大小是错误的.您正在以错误的抽象级别工作.这也是不可能的.
您应该做的是考虑用其他东西替换TCP(UDP?),或者不太可能,但可能,重写您的以太网驱动程序以设置非标准MTU并执行您需要的填充. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |