美文网首页计算机网络
TCP序列号(Seq)与确认号(Ack)

TCP序列号(Seq)与确认号(Ack)

作者: 羞涩的老湿鸡 | 来源:发表于2019-04-16 15:19 被阅读0次

上一文章中我们讲到TCP/IP四层模型组分别有传输层,网络层,链路层,应用层。而传输层中存在两大协议分别为TCP协议和UDP协议。

本文介绍一下TCP协议的数据包结构。


在TCP数据包结构中,我们需要了解的主要有以下几个部分:

1、源端口 :上一文章中已经介绍,TCP传输协议层可以接收多个应用程序的数据,需要通过端口区分目标程序。源端口是指发送端的端口号。

2、目标端口:与上相同,目标端口是指接收端的端口号。

3、数据

4、包头长度

5、Seq(序列号)

6、Ack(确认号)

Seq与Ack的交互


假设client开始向server端发送数据,数据结构如下:

Sequence Number:1 (序列号)

Next Sequence Number:3 (下一次序列号)

Acknowledgment Number:1 (应答序列号)

Header length: 20 bytes (包头长度)

以上数据结构表示,本次序列号是1,下一次的序列号为3,希望应答的序列号为1

----------------------------------------------------------

Server端回应数据结果如下:

Sequence Number:1 (序列号)

Next Sequence Number:3 (下一次序列号)

Acknowledgment Number:3 (应答序列号)

Header length: 20 bytes (包头长度)

因为客户端要求应答序列号为1,因此本次序列号为1。同时希望下一次应答序列号为3。此处需要注意,其实这个时候Server要求Client端应答的序列号与客户端即将要发起的下一次序列号3是吻合的。

----------------------------------------------------------

Client端再次应答

Sequence Number:3 (序列号)

Next Sequence Number:6 (下一次序列号)

Acknowledgment Number:3 (应答序列号)

Header length: 20 bytes (包头长度)

Server要求应答序列号为3,因此本次序列号为3。同时要求应答序列号为3,与Server将要发起的下一次序列号也是吻合的。

----------------------------------------------------------

Server端回应:

Sequence Number:3 (序列号)

Next Sequence Number:6 (下一次序列号)

Acknowledgment Number:6 (应答序列号)

Header length: 20 bytes (包头长度)

以上便是Seq序列号与Ack确认号的交互过程。

相关文章

  • TCP协议的三次握手和四次挥手

    seq: "sequance"序列号;ack: "acknowledge"确认号;SYN: "syn...

  • TCP/IP

    tcp 首包 包括 : 源端口,接收端口, 序列号(seq),包括确认号(ACK) ,首部偏移量 标志位包括 sy...

  • TCP序列号(Seq)与确认号(Ack)

    上一文章中我们讲到TCP/IP四层模型组分别有传输层,网络层,链路层,应用层。而传输层中存在两大协议分别为TCP协...

  • TCP的seq和ack号计算方法

    seq和ack号存在于TCP报文段的首部中,seq是序号,ack是确认号,大小均为4字节(注意与大写的ACK不同,...

  • TCP连接

    1. TCP连接过程 SYN 和ACK是报文标识位,前者表示请求建立一个新的连接,后者表示确认序列号有效seq:字...

  • Wireshark-TCP协议+三次握手包

    基本知识 三次握手的包序列号与确认号的解释首先要确认收到对方的包需要seq + ack进行确认确认的内容,1. 是...

  • TCP三次握手,四次挥手、状态图

    1,TCP三次握手 1)ACK确认位、SYN同步位、ack确认号、seq序号。image.png2)三次握手的必要...

  • TCP三次握手四次挥手

    TCP三次握手四次挥手 重要字段 序号(Seq) 确认号(Ack) 32位,只有ACK标志位为1时,Ack序号才有...

  • TCP 可靠性保证

    1、确认应答(ACK)机制 TCP 将每个字节的数据都进行了编号,即为序列号。确认序号 = 序号 + 1 每个 A...

  • TCP握手与挥手过程

    序列号: Seq 序列号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记确认序...

网友评论

    本文标题:TCP序列号(Seq)与确认号(Ack)

    本文链接:https://www.haomeiwen.com/subject/huebwqtx.html