社区
网络及通讯开发
帖子详情
发送tcp数据时的排队问题
赵小东砰砰砰
2015-09-10 10:11:17
两个tcp流
一个正在发数据,sendbuffer开的很大,里面有一堆包(d1, d2,……dn)正在发送中
一个需要回复ACK(a1)
那这个ACK是否是sendbuffer内包被全部发完后再发送,即 d1,d2,……dn,a1的顺序?
此时ACK能否有办法插队,即 d1,a1,d2,……dn
谢谢
...全文
224
2
打赏
收藏
发送tcp数据时的排队问题
两个tcp流 一个正在发数据,sendbuffer开的很大,里面有一堆包(d1, d2,……dn)正在发送中 一个需要回复ACK(a1) 那这个ACK是否是sendbuffer内包被全部发完后再发送,即 d1,d2,……dn,a1的顺序? 此时ACK能否有办法插队,即 d1,a1,d2,……dn 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我不懂电脑
2015-09-11
打赏
举报
回复
数据在sendbuffer后会重新分包发送ack对应新包的顺序
土著巫师
2015-09-11
打赏
举报
回复
TCP协议是基于流的协议,也是无边界的协议,没有包的概念(UDP才有包的说明),在TCP流上传输数据,要自己界定解析数据的起、止标记。TCP上只有带外数据可以插队传输,否则都是顺序发送、顺序接收的。关于什么是带外数据一两句话讲不清楚。
4.4
TCP
Small Queue(TSQ)
TCP
Small Queue(TSQ)是Linux内核3.6.0引入的一种机制,旨在解决因
数据
发送
过快或大流量非
TCP
数据
流导致的队列满和
数据
包丢失
问题
。TSQ通过限制每个
TCP
连接可以
排队
的字节数,当超过限制
时
,
数据
会被放入tasklet并在软中断上下文
发送
,以缓解队列拥堵和减少
TCP
延
时
。
LwIP
TCP
Client 解决长
数据
发送
的困扰
本文详细讲解了在LWIP库中处理
TCP
Client
发送
大量
数据
时
遇到ERR_MEM
问题
的方法,通过理解
tcp
_sndbuf限制并采用分包
发送
和超
时
重试机制,确保高效稳定的
数据
传输。
发送
TCP
数据
包
这篇博客详细介绍了如何
发送
TCP
数据
包,包括实验目的、实验要求、
TCP
的功能、连接建立与终止、提供可靠性的机制,以及
TCP
首部结构。通过创建原始套接字、构造IP和
TCP
头、计算校验和,最终实现
TCP
数据
包的
发送
。实验设计旨在让学生理解
TCP
的工作原理,并实际操作
TCP
数据
包的填充和
发送
。
TCP
滑动窗口详解
TCP
通过滑动窗口实现可靠传输和流量控制,避免
数据
丢失和拥塞。滑动窗口包括
发送
窗口和接收窗口,允许未收到确认的连续
发送
数据
,提高效率。序列号用于标识每个字节,确认应答确保
数据
正确接收。超
时
重传机制在未收到ACK
时
重新
发送
数据
包,而接收窗口则根据接收能力调整接收
数据
。滑动窗口大小受接收窗口限制,保证
数据
有效流动。
排队
理论解释
TCP
/IP网络拥塞是如何影响
TCP
的RTT的波动
本文深入探讨了
TCP
拥塞控制机制及其对RTT波动的影响,通过M/M/1
排队
模型分析网络拥塞
时
RTT变化,揭示了低通滤波器在平滑RTT波动中的作用。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章