TCP报文中的SYN, ACK, ISN
来源:互联网 发布:如何软件绘制横道图 编辑:程序博客网 时间:2024/05/27 21:10
在网络分析中,读懂TCP序列号和确认号的值,可以帮助我们学习TCP协议以及排查问题,如通过查看序列号和确认号可以确定数据传输是否乱序。
TCP协议工作在传输层,是一种可靠的面向连接的数据流协议。TCP之所以可靠,是因为它保证了传送数据包的顺序。顺序是用一个序列号来保证的。响应包内也包括一个序列号,表示接收方准备好这个序列号的包。在TCP传送一个数据包时,它会把这个数据包放入重发队列中,同时启动计时器,如果收到了关于这个包的确认信息,便将此数据包从队列中删除,如果在计时器超时的时候仍然没有收到确认信息,则需要重新发送该数据包。另外,TCP通过数据分段中的序列号来保证所有传输的数据可以按照正常的顺序进行重组,从而保证数据传输的完整。
TCP通讯中主要有连接的建立、数据的传输、连接的关闭三个过程。每个过程完成不同的工作,而且序列号和确认号在每个过程中的变化都是不同的。
TCP建立连接,也就是三路握手,需要三步完成。发送第一个SYN的一端执行的是主动打开。而接收这个SYN并发回下一个SYN的另一端执行的是被动打开。过程大致如下:
1. 客户端向服务器发送一个同步数据包请求建立连接,该数据包中,初始序列号(ISN)是客户端随机产生的一个值,确认号是0;
2. 服务器收到这个同步请求数据包后,会对客户端进行一个同步确认。这个数据包中,序列号(ISN)是服务器随机产生的一个值,确认号是客户端的初始序列号+1;
3. 客户端收到这个同步确认数据包后,再对服务器进行一个确认。该数据包中,序列号是上一个同步请求数据包中的确认号值,确认号是服务器的初始序列号+1。
- TCP报文中的SYN, ACK, ISN
- TCP报文中的SYN,FIN,ACK,PSH,RST,URG
- TCP SYN,ACK 详解
- TCP SYN,ACK 详解
- TCP报文送达确认ACK
- TCP: SYN ACK FIN RST PSH URG
- TCP报文到达确认(ACK)机制
- TCP报文到达确认(ACK)机制
- Wireshark TCP报文到达ACK确认机制
- tcp协议ack以及乱序报文暂存的实现--立即ack/延迟ack/捎带ack
- TCP报文之-tcp dup ack 、tcp Out-of-Order
- TCP: SYN ACK FIN RST PSH URG 详解
- TCP: SYN ACK FIN RST PSH URG 详解
- TCP: SYN ACK FIN RST PSH URG 详解
- TCP: SYN ACK FIN RST PSH URG 详解【转】
- TCP连接:SYN ACK RST UTG PSH FIN
- TCP—— SYN、ACK 、FIN、RST、PSH、URG 详解
- TCP协议: SYN ACK FIN RST PSH URG 详解
- java读取xml配置文件
- LeetCode OJ - Reverse Linked List II
- Qt编写串口通信程序全程图文讲解
- Not in 改写左连接不需要关注连接列是否重复数据
- 基于Linux的进程调度模拟程序
- TCP报文中的SYN, ACK, ISN
- 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感
- 浏览器CSS Hack
- HDU 2147 (博弈)
- QProgressBar 样式设置
- 2014年第一篇博客
- java中的小知识汇总
- linux下mysql的操作与存储过程
- Linux下的多线程编程