当前位置:网站首页>Illustrated network: the principle behind TCP three-time handshake, why can't two-time handshake?
Illustrated network: the principle behind TCP three-time handshake, why can't two-time handshake?
2022-07-06 00:37:00 【InfoQ】
What is? TCP?
- English full name :
Transmission Control Protocol
- Chinese name :Transmission control protocol

TCP Three handshakes
Three handshakes in life

- Xiao Ming : Hello , Is it Xiaomei ?【The first handshake】
- Xiaomei : Yes , I'm Xiaomei .【The second handshake】
- Xiao Ming : well , I know you are Xiaomei .【The third handshake】
Three professional handshakes
- Server side: The server is a physical computer dedicated to running services to meet the needs of other computers

- client: The client is the computer hardware device or software that accesses the services provided by the server
- SYN: Sync serial number (Synchronize Sequence Number), This is the first packet from the client to the server , It can be described as a request to establish a connection , If SYN by 1, It means that the device needs to establish a secure connection , Otherwise not .

- ACK: confirm (Acknowledgement), Can be said to be SYN Response , If ACK by 1, The device has received SYN Message and confirm , Otherwise no .



- First step :TCP The client sends... To the server TCP SYN Packets to start the connection , The packet contains a random serial number n, It represents the serial number of the data that the client should transmitStart.

- The second step : The server receives the packet , And use its serial number (m) To respond , Its response also includes the confirmation number , That is, the serial number of the client plus 1, Here is n+1.

- The third step : The client responds to the server by sending a confirmation number , The confirmation number is the serial number of the server plus 1, Here is m+1.

TCP Analysis of three handshakes

172.16.16.128:2826212.58.226.142:80- First step : host
172.16.16.128:2826Host computer212.58.226.142:80send out [SYN] Seq=0
- The second step : host
212.58.226.142:80Host computer172.16.16.128:2826send out [SYN,ACK] Seq=0,Ack=1
- The third step : host
172.16.16.128:2826Host computer212.58.226.142:80send out [ACK] Seq=1,Ack=1
TCP window
Win=8192
The other parameters
- MSS(Maximum Segment Size), Maximum segment size .
- WS(Windows Scaling), Used to control the maximum TCP Receive window size .
TCP Why can't a second handshake establish a connection
- The server needs to confirm that the server can receive packets from the client
- The client needs to confirm that the client can receive packets from the server
- The client needs to confirm that the server can receive packets from the client
- The server needs to confirm that the client can receive packets from the server

- Xiaoming asked :“ Hello , Excuse me, Shi Xiaomei ?”: After sending successfully , Xiaoming is sure that he can receive information from Xiaomei , The first condition is verified 【The server needs to confirm that the server can receive packets from the client】
- Xiaomeihui :“ Yes , I'm Xiaomei ”: After sending successfully , Xiaomei is sure that she can receive information from Xiaoming , It can also confirm that Xiao Ming can receive information from her , Verified the second 、 The third condition 【The client needs to confirm that the client can receive packets from the server】【The client needs to confirm that the server can receive packets from the client】
- Xiaoming returns :“ well , I know you are Xiaomei ”: After sending successfully , Xiaoming is sure that Xiaomei can receive information from him , Four conditions are verified 【The server needs to confirm that the client can receive packets from the server】
summary
- What is? TCP?
- TCP Three handshakes
- Three handshakes in life
- Three professional handshakes
- TCP Analysis of three handshakes
- TCP window
- The other parameters
- TCP Why can't a second handshake establish a connection
- summary
边栏推荐
- Spark DF adds a column
- 小程序技术优势与产业互联网相结合的分析
- curlpost-php
- Meta AI西雅图研究负责人Luke Zettlemoyer | 万亿参数后,大模型会持续增长吗?
- 小程序容器可以发挥的价值
- LeetCode 1598. Folder operation log collector
- 如何制作自己的機器人
- [groovy] XML serialization (use markupbuilder to generate XML data | set XML tag content | set XML tag attributes)
- Free chat robot API
- 详细页返回列表保留原来滚动条所在位置
猜你喜欢

Common API classes and exception systems

Room cannot create an SQLite connection to verify the queries

Idea远程提交spark任务到yarn集群
![[groovy] compile time meta programming (compile time method interception | method interception in myasttransformation visit method)](/img/e4/a41fe26efe389351780b322917d721.jpg)
[groovy] compile time meta programming (compile time method interception | method interception in myasttransformation visit method)

Classical concurrency problem: the dining problem of philosophers

Ffmpeg captures RTSP images for image analysis

Free chat robot API

FFmpeg抓取RTSP图像进行图像分析

从 1.5 开始搭建一个微服务框架——调用链追踪 traceId

建立时间和保持时间的模型分析
随机推荐
图解网络:TCP三次握手背后的原理,为啥两次握手不可以?
电机的简介
云导DNS和知识科普以及课堂笔记
[groovy] JSON string deserialization (use jsonslurper to deserialize JSON strings | construct related classes according to the map set)
Go learning --- structure to map[string]interface{}
Spark SQL null value, Nan judgment and processing
AtCoder Beginner Contest 254【VP记录】
Set data real-time update during MDK debug
FPGA内部硬件结构与代码的关系
Hudi of data Lake (1): introduction to Hudi
Spark AQE
Classic CTF topic about FTP protocol
Global and Chinese market of valve institutions 2022-2028: Research Report on technology, participants, trends, market size and share
Recognize the small experiment of extracting and displaying Mel spectrum (observe the difference between different y_axis and x_axis)
【文件IO的简单实现】
How to make your own robot
孤勇者
Arduino hexapod robot
[groovy] XML serialization (use markupbuilder to generate XML data | create sub tags under tag closures | use markupbuilderhelper to add XML comments)
Common API classes and exception systems