当前位置:网站首页>TCP的三次握手和四次挥手
TCP的三次握手和四次挥手
2022-08-02 14:12:00 【叶子yes】
HTTP请求是在TCP连接的基础上去进行的。
TCP保证通信的三个步骤:三次握手,传输内容,四次挥手。
三次握手是建立连接的过程,四次挥手是关闭连接的过程。
三次握手
三次握手的主要目的是为了确认进行通信的两台主机(客户端和服务端)都具备收消息和发消息的能力。
三次握手实际上就是客户端和服务端之间发送了三条消息,客户端需要确认服务端可以收也可以发,服务端也需要确认客户端可以发也可以收。
第一次握手:
客户端向服务器端发送消息
主要传递两个信息:一是请求建立连接(SYN=1),二是发出一个序列号(seq=n,n为一个数)
第一次握手可以让服务端知道客户端能够发送消息
第二次握手:
服务器端向客户端发送消息
传递三个信息:一是同意建立连接(SYN=1),二是确认收到刚才的消息(ack=刚才的seq+1),三是发出自己的序列号(seq=x,x为一个数)
第二次握手可以让客户端知道服务端能够发消息也能收消息
第三次握手:
客户端向服务端发送消息
传递三个信息:一是表示现在开始发送(SYN=0),二是确认收到刚才的消息(ack=刚才的seq+1),三是消息序列号(seq=最开始发出的序列号+1)
第三次握手可以让服务端知道客户端能够接收消息
四次挥手
四次挥手主要是为了确认客户端已经发完消息,以及服务端已经接收完消息。
所以四次挥手是:发完了,知道发完了,收完了,知道收完了。
第一次挥手:
传递两个信息:一是请求连接终止(FIN=1),二是发出序列号(seq=n)
第一次挥手客户端告诉服务端数据发完了
第二次挥手:
传递三个信息:一是确认收到终止信号(ACK=1),二是确认收到刚才的消息(ack=n+1),三是发送自己的序列号(seq=x)
第二次挥手服务端知道客户端数据发完了
第三次挥手:
传递三个信息:一是已经准备好释放连接(FIN=1,ACK=1),二是确认号(ack=n+1),三是发送自己的序列号(seq=y)
第三次挥手服务端告诉客户端数据收完了
第四次挥手:
传递三个信息:一是接收到服务器准备好终止连接的信号(ACK=1),二是发送确认号(ack=y+1),三是序列号(seq=n+1)
第四次挥手客户端知道服务端数据收完了
边栏推荐
猜你喜欢
TCP三次握手、四次挥手
Redis常见面试题
Detailed explanation of MATLAB drawing function plot
第三十一章:二叉树的概念与性质
Based on the least squares linear regression equation coefficient estimation
MATLAB图形加标注的基本方法入门简介
STM32LL library use - SPI communication
队列与栈
What should I do if Windows 10 cannot connect to the printer?Solutions for not using the printer
6.统一记录日志
随机推荐
IPV4和IPV6是什么?
Exotic curiosity-a solution looking - bit operations
第二十六章:二维数组
Introduction to MATLAB drawing functions ezplot explanation
Codeforces Round #605 (Div. 3)
Unity Line-Renderer
Use libcurl to upload the image of Opencv Mat to the file server, based on two methods of post request and ftp protocol
Detailed introduction to the hierarchical method of binary tree creation
背包问题-动态规划-理论篇
Network Security Packet Capture
Problems related to prime numbers - small notes
golang-reflect-method-callback
Detailed explanation of MATLAB drawing function plot
利用plot_surface命令绘制复杂曲面入门详解
动态数组-vector
Unity-Ads广告插件
企业的电子签名、私钥签名
Golang 垃圾回收机制详解
Open the door to electricity "Circuit" (3): Talk about different resistance and conductance
unity 和C# 一些官方优化资料