社区
网络及通讯开发
帖子详情
发送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
谢谢
...全文
235
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
发送
的
数据
经过IP层添加IP包头后,会被
发送
到IP
数据
栈和网卡之间的队列中,当网卡能够
发送
数据
时
会到这个队列中去取skb。当
TCP
发送
数据
过快
时
,或一个带宽很大或者包速率很大的非
TCP
数据
流会把队列里的所有空间占满,造成
数据
包丢失和延
时
的
问题
。更糟的是,这样很可能会使另一个缓存产生,进而产生一个静止队列(standing queue),造成更严重的延
时
并使
TCP
的RTT和拥塞窗口的计算出现问
LwIP
TCP
Client 解决长
数据
发送
的困扰
问题
描述 LWIP 的
TCP
Client
发送
数据
可以调用
tcp
_write() 函数,将
数据
储存在缓冲区里面,然后等待超
时
自动
发送
或者调用
tcp
_output()函数进行
发送
。 然而
tcp
_write() 函数 需要
发送
的
数据
过长
时
,将无法
发送
,并返回 ERR_MEM。
tcp
_write()函数解析
tcp
_write()的函数代码很多,就不细看代码了, 先看
tcp
_write()的完整函数: err_t
tcp
_write(struct
tcp
_pcb *pcb, const void
发送
TCP
数据
包
一、实验目的: 本设计的功能是填充一个
TCP
数据
包,并
发送
给目的主机。 二、实验要求: 1)以命令行形式运行:Send
TCP
source_IP source_port dest_ip dest_port 其中,Send
TCP
为程序名,source_IP为源端IP地址,source_port为源端口,dest_ip 为目的IP地址,dest_port为目的端口 2)其他的
TCP
TCP
滑动窗口详解
TCP
排队
理论解释
TCP
/IP网络拥塞是如何影响
TCP
的RTT的波动
排队
理论解释
TCP
/IP网络拥塞是如何影响
TCP
的RTT的波动
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章