TCP序列号和确认号介绍

TCP是一种可靠的面向连接的数据流协议,TCP之所以可靠,是因为它保证了数据的传输有序,这是通过一个序列号和确认号来保证的。

序列号的作用:

TCP将应用层数据和管理数据的每一字节进行顺序编号,序列号用于指出本报文段携带数据的第一个字节的序列号,(SYN,FIN等算作一个字节数据)

确认号的作用:

通信双方采用确认号来对收到的数据进行确认,该确认号之前(不包括该确认号)的所有数据均已正确收到,希望下次接收序列号为该确认号的数据。

TCP建立过程:


NO


Direction


Type


Sequence NO.


ACK NO.


1.


C-->S


SYN


Random1


0


2


S-->C


SYN,ACK


Random2


SN1+1


3


C-->S


ACK


SN1+1


SN2+1

TCP数据传输:


NO


Direction


Type


Sequence NO.


ACK NO.


4


C-->S


PSH,ACK


SN3


ACK3


5


S-->C


ACK


SN2+1


SN4+Data_length

TCP断开连接:


NO


Direction


Type


Sequence NO.


ACK NO.


6


C-->S


FIN,ACK


SN4+ Data_length


SN5


7


S-->C


ACK


SN5


SN6+1


8


S-->C


FIN,ACK


SN6


ACK7


9


C-->S


ACK


SN6+1


SN6+1

时间: 2024-08-30 05:40:16

TCP序列号和确认号介绍的相关文章

理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)

原文见:http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/ from:https://blog.csdn.net/a19881029/article/details/38091243 如果你正在读这篇文章,很可能你对TCP“非著名”的“三次握手”或者说“SYN,SYN/ACK,ACK”已经很熟悉了.不幸的是,对很多人来说,对TCP的学习就仅限于此了.尽管年代久远,TCP仍

转 TCP中的序号和确认号

在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱 序.但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了.近段时间 由于工作的原因,需要对TCP的序列号和确认号进行深入学习,下面便是我学习后的一些知识点总结,希望对TCP序列号和确认号感兴趣的朋友有一定帮助. [b]1.  序列号和确认号的简介及作用[/b] TCP协议工作在

TCP头部分析与确认号的理解

1.TCP的特点: 基于字节流面向连接可靠传输缓冲传输全双工流量控制 2.头部格式和说明 图源百度.如下图示,就是TCP包的头部结构.可以看到这个头部最少有4x5=20个字节. 另外还需要理解TCP协议是承载在IP协议中的.关于IP协议可以参考:http://www.cnblogs.com/xcywt/p/8067521.html 源端口号和目的端口号:再加上Ip首部的源IP地址和目的IP地址可以唯一确定一个TCP连接数据序号:表示在这个报文段中的第一个数据字节序号确认序号:仅当ACK标志为1时

Wireshark TCP报文到达确认(ACK)机制

TCP数据包中的序列号(Sequence Number)不是以报文段来进行编号的,而是将连接生存周期内传输的所有数据当作一个字节流,序列号就是整个字节流中每个字节的编号.一个TCP数据包中包含多个字节流的数据(即数据段),而且每个TCP数据包中的数据大小不一定相同.在建立TCP连接的三次握手过程中,通信双方各自已确定了初始的序号x和y,TCP每次传送的报文段中的序号字段值表示所要传送本报文中的第一个字节的序号.        TCP的报文到达确认(ACK),是对接收到的数据的最高序列号的确认,并

TCP/IP协议原理与介绍

一.什么是TCP/IP? 顾名思义 TCP/IP(Transmission Control Protocol/Internet Protocol),传输控制协议/网际协议,TCP/IP是现代Internet的核心技术,由IETF定义.所有的系统.终端.线路.用户.开发者,都必须遵守TCP/IP协议族所规定的法则!IP世界的根本法就是TCP/IP协议族.这里我又扯到协议族了,就像快乐家族,不仅仅我们很熟悉的何炅.谢娜.不仅包括主持人,还有导演.摄像等等其他工作人员.TCP/IP也就像一个组,协议族

TCP协议的确认重传机制

TCP协议是面向连接的传输层协议,TCP的传输特点具有可靠性,它具有面向连接服务来确保可靠稳定传输,而确认重传机制是TCP协议保证可靠稳定传输最重要的机制,他包括累计确认.超时时间计算.快速重传等几个方面. 确认重传机制 在发送一个数据之后,就开启一个定时器,若是在这个时间内没有收到发送数据的ACK确认报文,则对该报文进行重传,在达到一定次数还没有成功时放弃并发送一个复位信号. 1.累计确认 累计确认就是TCP协议的确认方法,TCP使用可变长度报文段来发送数据,重传时,报文段数据可能会比原报文段

OSI七层模型和TCP/IP协议簇的介绍

一.OSI模型的理解 ?国际标准化组织(International Standard Organization,ISO)于1984年颁布了开放系统互连(Open System Interconnection,OSI)参考模型 ?OSI参考模型是一个开放式体系结构,它规定将网络分为七层,从下往上依次是:物理层.数据链路层.网络层.传输层.会话层.表示层和应用层 ·每一层的功能如下: 1.物理层 主要功能是建立.维护.断开物理连接. 利用传输介质为数据链路层提供物理连接,实现比特流的透明传输.尽可能

TCP的ACK确认系列 — 快速确认

主要内容:TCP的快速确认.TCP_QUICKACK选项的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 快速确认模式 (1) 进入快速确认模式 设置快速确认模式标志,设置在快速确认模式中可以发送的ACK数量. static void tcp_enter_quickack_mode (struct sock *sk) { struct inet_connection_sock *icsk = inet_csk(sk); tcp_incr_qu

TCP的ACK确认系列 — 延迟确认

主要内容:TCP的延迟确认.延迟确认定时器的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 延迟确认模式 发送方在发送数据包时,如果发送的数据包有负载,则会检测拥塞窗口是否超时. 如果超时,则会使拥塞窗口失效并重新计算拥塞窗口. 如果此时距离最近接收到数据包的时间间隔足够短,说明双方处于你来我往的双向数据传输中, 就进入延迟确认模式. /* Congestion state accounting after a packet has been