当前位置:网站首页>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)
第四次挥手客户端知道服务端数据收完了

边栏推荐
- 基于矩阵计算的线性回归分析方程中系数的估计
- shader入门精要1
- C语言函数参数传递模式入门详解
- MATLAB图形加标注的基本方法入门简介
- [System Design and Implementation] Flink-based distracted driving prediction and data analysis system
- Knapsack Problem - Dynamic Programming - Theory
- MATLAB drawing command fimplicit detailed introduction to drawing implicit function graphics
- MMD->Unity一站式解决方案
- Flink + sklearn - use JPMML implement flink deployment on machine learning model
- 开心一下,9/28名场面合集
猜你喜欢

基于最小二乘法的线性回归分析方程中系数的估计

2. Log out, log in state examination, verification code

Based on the matrix calculation in the linear regression equation of the coefficient estimates

Introduction to MATLAB drawing functions ezplot explanation

MATLAB绘图命令fimplicit绘制隐函数图形入门详解

剑指offer:数值的整数次方

Installation and configuration of Spark and related ecological components - quick recall

Codeforces Round #605 (Div. 3)

Yolov5 official code reading - prior to transmission

word方框怎么打勾?
随机推荐
计算机导论——数据库
Unity插件-NGUI
奇技淫巧-位运算
5. Transaction management
求解斐波那契数列的若干方法
7. Redis
IPV4和IPV6是什么?
In-depth understanding of Golang's Map
测试用例练习
unity-shader(入门)
第二十六章:二维数组
TCP三次握手、四次挥手
二叉树的遍历:递归法/ 迭代法/ 统一迭代法(强QAQ)
Unity Line-Renderer
Yolov5 official code reading - prior to transmission
Redis的线程模型
6.统一记录日志
第二十九章:树的基本概念和性质
线性结构,顺序结构
STM32LL library use - SPI communication