很多地方说+1是为了确定对方收到了本机发送的数据包,但我个人认为,不+1,直接返回Seq也可以告诉对方我收到了数据包,那为何要多此一举来+1?应该是有其他什么作用吧?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
为什么三次握手中Ack=Seq+1?
收起
- 写回答
- 好问题 1 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
编程爱撞墙的铁头娃 2022-01-25 05:54关注首先在携带有数据时我们的ack=seq+lenth(数据),这样他表示了期待的下一个包的第一个序列号和收到的这个包的数据量,你如果确认号和序列号不发生变化,都一样,你咋知道你收到的是当前包还是之前的包呢,黑书rdt协议到tcp的转化讲的很清楚,你可以看看
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2021-08-14 11:42anlian523的博客 简而言之,接收方反馈的ACK之所以加1,是因为发送方包含了SYN标志位或FIN标志位。 也就是说,只要发送方包含了 SYN标志...另外,带有 SYN标志位或FIN标志位的报文段(在三次握手和四次挥手中),也是不允许携带数据的。
- 2020-03-27 13:40oldfish_C的博客 估计很多人都知道三次握手和四次挥手的过程,但这其中有一个问题困扰了我一会(其实是TM很久) ...那么为什么三次握手过程中,比如第一次握手,A向B发了seq=x,B给A回的ack是=x+1呢?如果有数据的话,那理应等于x+LE...
- 2025-02-28 10:22{⌐■_■}的博客 三次握手让双方确认通信能力:所谓确认通信能力就是双方都确认。
- 2018-04-12 09:53jet_wong的博客 第二次消息B使用ack对A的数据包进行确认,因为已经收到了序列号为x的数据包,准备接收序列号为x+1的包,所以ack=x+1,同时B告诉A自己的初始序列号,就是seq=y;第三条消息A告诉B收到了B的确认消息并准备建立连接,A....
- 2024-03-29 08:41旧城梦空的博客 3、客户端收到服务端的响应,会发送一个ACK确定号,同时会再生成一个seq,这个seq是之前的客户端seq+1,再生成一个ack = 服务端seq+1,这俩相等说明正常。1、客户端先发送一个SYN报文,想要和服务端进行连接,同时会...
- 2020-08-27 08:36InVic_Tus的博客 TCP的三次握手每个字段(ack,seq,ACK,SYN)是什么意思?(人话版) 什么是TCP的三次握手? 关于TCP的三次握手,很多博客回答上都已经说的比较明白了,往简单的说,就是互相建立连接,并且保证数据准确传输。 TCP三次...
- 2024-03-15 08:47金士顿的博客 是的,在TCP/IP协议中,三次握手过程确实涉及到序列号(Sequence Number, 简称Seq)和确认号(Acknowledgment Number, 简称Ack)的交换。这个过程是为了建立可靠的连接,确保数据能够按顺序、完整无误地在网络中传输...
- 2021-05-03 23:13Gabriel8304的博客 TCP三次握手中SYN,ACK,seq ack的含义 1.TCP为什么三次握手而不是两次握手 1.防止已失效的连接请求又传送到服务器端,因而产生错误。 不幸的是, 这种解释是不准确的,TCP 采用三次握手的原因其实非常简单, ...
- 2021-06-24 13:05编程梦境导航的博客 TCP在数据通信之前,通过TCP首部发送一个SYN包作为建立连接的请求等待确认应答(TCP中发送第一个SYN包的一方叫做客户端,接收这个的一方叫做服务端)。如果对端发来确认应答,则认为可以进行数据通信。如果对端的确认...
- 2021-10-15 12:45有梦想有行动的博客 这样设计肯定有他的道理,但是也不一定都是+1,若发送方没有接收到数据则确认号+1,但如果收到了数据,则下一次发送的确认号就不是+1,而是加上收到的数据量。
- 2021-10-05 02:14期待777的博客 文章目录三次握手过程数据传输过程四次挥手过程总结ackseq 三次握手过程 ...1.在握手和挥手阶段,seq为上次seq+1(对方发来的ack大小) 2.在传输数据阶段,seq为上次seq+数据长度(对方发来的ack大小) ...
- 2021-10-09 10:582. **第二次握手**:Server收到Client的SYN报文后,会回应一个SYN+ACK报文,其中SYN=1表示同步序列号,SEQ=Y表示Server的初始序列号,同时ACK=SEQ+1=X+1,确认号表明Server已经接收到了Client的序列号,并准备发送...
- 2017-11-15 03:20weixin_30564785的博客 TCP连接的三次握手:第一次(A--->B),SYN=1,seq=x第二次(B--->A),SYN=1,ACK=1,seq=y,ack=x+1第三次(A--->B),ACK=1,seq=x+1,ack=y+1 seq是序列号,这是为了连接以后传送数据用的,ack是对收到的...
- 2023-04-29 17:14御灵Skiaro的博客 - seq是序号,seq的值为本方最近一次传送的报文段的seq+1(除首次握手外),例如首次握手时客户端seq值为x,则第三次握手时也就是客户端第二次发送报文段的seq值为x+1 - ack是确认号,本方发送的当前报文段的ack的...
- 2022-04-20 03:51我叫狸匪的博客 ack=seq+1:表示收到发送的数据,并且希望他发送下一个序号的数据包 以下我实际中的例证(抓包工具为科来,服务端为QQ): 打开抓包软件后在启动QQ 可以看到本地与QQ之间建立的三次握手 第一步(我发送给QQ的数据...
- 2021-08-18 12:00扬帆丶起航的博客 本人做了tcp连接测试,但是结果和网络中其他人的说法有点不一致!...结果显示三次握手里面第三次的ack并不是第二次的seq加1,而是1,测试多次均是1,那位大神能解释一下?是我错了还是那些文章有问题 ...
- 2022-02-28 07:52zhangjin1120的博客 TCP连接过程,三次握手具体过程是什么? 第一次握手 客户端向服务端发送连接请求报文段。该报文段中包含自身的数据通讯初始序号。请求发送后,客户端便进入 SYN-SENT 状态。 传递内容:SYN=1,seq=x 第二次握手 ...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司