社区
通信技术
帖子详情
TCP协议是否每发送一个包都要有确认呢?
jitom515
2006-07-21 10:44:29
小鸟贸然一问,敢问tcp协议的确认机制是怎样的?是每个包都要确认吗?
...全文
3305
10
打赏
收藏
TCP协议是否每发送一个包都要有确认呢?
小鸟贸然一问,敢问tcp协议的确认机制是怎样的?是每个包都要确认吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blzgotop
2006-08-11
打赏
举报
回复
tcp 的传输是采用的3 次握手阿,1.发送消息。2.受到消息后,组织SEQ,发送ACK。3.确认ACK
jitom515
2006-08-09
打赏
举报
回复
谢谢各位的回答,使我对这个问题有了进一步的认识!
leon7909
2006-07-31
打赏
举报
回复
2
的确是每个数据包都要得到ACK确认,但并不是每个数据包都有一个ACK确定包,有可能发送方发了几个数据包后才收到一个ACK确认,而这个ACK是对前面所有的包的确认。要是真的发送方每发一个包都要得到一个确认包的话,那效能就会很低了。
zebra007
2006-07-31
打赏
举报
回复
1
接受端每收到一个数据分组都会产生一个ack分组,但是ack中的序号并不是刚接受到的那个分组的序号,而是期望收的下一个分组的序号
比如说发送方发了序号为1~10的10个分组,接收方成功收到了前3个,第4个分组丢了,当它收到第5个分组时,ack分组中的序号为4,收到第6个分组时产生的ack分组序号仍然为4
现在tcp端一般实现的是newReno算法,如果收到相同的3个ack序号,则认为那个分组已经丢失(网络轻度拥塞),需要重传,所以当接受方收到第7个分组并再次发送了序号为4的分组,接受方收到连续的3个序号为4的ack,则确定4已经丢失,于是重传4
当然实际算法要复杂的多,具体的协议可以去看rfc793
pink_tulip
2006-07-31
打赏
举报
回复
不一定把,每个都确认会出现糊涂窗口综合症吧?
SeekTruth
2006-07-31
打赏
举报
回复
比较同意ndy_w(carpe diem)的看法,不过好象跟实现有关
SweetJerry
2006-07-28
打赏
举报
回复
似乎不是的,但是发送方会使用相同的预期序列号发送后续数据.
SweetJerry
2006-07-28
打赏
举报
回复
上面的回答错了.
TCP确实要求对每个数据段进行确认.无确认则会重复发送当前数据段.
ndy_w
2006-07-25
打赏
举报
回复
不用吧?ack指示某seq number之前的都收到了。
zebra007
2006-07-22
打赏
举报
回复
是的,接收方每收到一个分组,就产生一个ACK,其中包含了期望收到的下一个分组的序号
TCP
协议
栈如何决定
是否
发送
ACK的呢?
延迟ACK(Delayed ACK)策略,为了减少网络中的ACK数量,
Tcp
协议
栈收到包后通常会等几十毫秒(典型值为40~200ms),如果这段时间没有要发的数,
TCP
就只会
发送
一个纯ACK报文;:操作系统中的
TCP
协议
栈通过检查收到的数据序号
是否
连续,判断滑动窗口
是否
更新,看当前
是否
有可发数据,使用定时器(Delayed ACK)来决定
是否
发送
ACK、何时
发送
、带不带数据、纯ACK还是ACK+数据。ACK是
TCP
报文头部中的
确认
号,控制位中也有ACK,表示
确认
号ACK
是否
有效。
Wireshark抓包——
TCP
协议
分析
一. 实验目的 通过本次实验,掌握使用Wireshark抓取
TCP
/IP
协议
数据包的技能,能够深入分析
TCP
帧格式及“
TCP
三次握手”。通过抓包和分析数据包来理解
TCP
/IP
协议
,进一步提高理论联系实践的能力。 二. 实验内容 1.本次实验重点:利用Wireshark抓
TCP
包及
TCP
包的分析。 2.本次实验难点:分析抓到的
TCP
包。 3.本次实验环境:Windows 7,Wiresha...
使用Wireshark抓包分析
TCP
协议
wireshark数据包详细栏每个字段对应的分层。 分层介绍 数据链路层 我们点开这个字段,从该字段中可以看到相邻两个设备的MAC地址 网络层 本层主要负责将
TCP
层传输下来的数据加上目标地址和源地址。 传输层 这一层用到了
TCP
协议
tcp
包头 每个字段对应的
TCP
包头
TCP
握手过程分析
TCP
三次握手示意图 第一次握手:客户端向服务器
发送
一个SYN段(表示发起连接请求),并且包含客户端的一个初始序列号seq。 第二次握手:服务端返回一个SYN(表示
【
TCP
协议
】
TCP
为什么要粘包和拆包?
【
TCP
协议
】
TCP
为什么要粘包和拆包? 文章目录【
TCP
协议
】
TCP
为什么要粘包和拆包?
TCP
的拆包和粘包①
TCP
为什么不一次
发送
完所有的数据?② 拆包与粘包③
TCP
Segment(
TCP
段)④ Sequence Number 和 Acknowledgement Number理解 ACK和Seq⑤ MSS(Maximun Segment Size)⑥ 总结:
TCP
协议
是如何恢复数据的顺序的,
TCP
拆包和粘包的作用是什么?
TCP
协议
具有可靠性,从一个终端有序地发出多个数据包,经过一个复
Wireshark抓包-
TCP
协议
包
TCP
首部格式 源端口号、目的端口号:用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个
TCP
连接,在网络编程中,一般一个IP地址和一个端口号组合称为一个套接字(socket)。 序号:用来标识从
TCP
发端向
TCP
收端
发送
的数据字节流,它表示在这个报文段中的的第一个数据字节。在
tcp
中
tcp
用序号对每个字节进行计数
确认
序号:包...
通信技术
4,392
社区成员
28,904
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章