Tcp ack 及seq

TCP协议中,ACK包可以合并发送并携带数据。在三次握手和四次挥手过程中,seq和ack值的确定规则至关重要。握手时,seq和ack根据对方的seq+1进行设置,数据传输时seq=ack,ack=seq+len。挥手时,seq和ack根据前一次接收包的seq和ack调整,确保连接的稳定关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、ACK包可以和其他包合在一起,比如ACK包可以携带数据

2、可以接收多个数据包后,一次性给一个应答,不用每个数据包一一对应给应答

3、在通信过程中,通过接收到的包的ack值可以判断是否是上一个本机发送包的应答包(ack值与上一个本机发送包的seq有关),seq值和ack值的确定规则如下:

  三次握手:

    第一次握手(发送):seq为x(x为任意值),无视ack(因为是第一个包,不需要给其他包应答)并进入syn_send状态,等待服务器确认。

    第二次握手(发送):seq为y(y为任意值),ack等于接收包seq+1(即x+1),发送了SYN+ACK包,服务器进入SYN_RECV状态。

    第三次握手(发送):seq等于上一个本机发送包seq+1(即x+1),也就是1,ack等于接收包seq+1(即y+1),向服务器发送确认包ACK, 此包发送完毕后,客户端和服务器进入established状态。

 

  数据传输:

    某主机发送的seq和ack是根据上一个接收包的seq、ack和len得到&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值