当前位置:网站首页>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
边栏推荐
- uniapp开发,打包成H5部署到服务器
- Problems and solutions of converting date into specified string in date class
- [designmode] Decorator Pattern
- 剖面测量之提取剖面数据
- Extension and application of timestamp
- curlpost-php
- 如何利用Flutter框架开发运行小程序
- Data analysis thinking analysis methods and business knowledge -- analysis methods (II)
- Pointer pointer array, array pointer
- An understanding of & array names
猜你喜欢

关于slmgr命令的那些事

Meta AI西雅图研究负责人Luke Zettlemoyer | 万亿参数后,大模型会持续增长吗?

Classical concurrency problem: the dining problem of philosophers

数据分析思维分析方法和业务知识——分析方法(二)

Arduino hexapod robot

MySQL functions

Ffmpeg learning - core module

Idea远程提交spark任务到yarn集群

Calculate sha256 value of data or file based on crypto++
![Atcoder beginer contest 254 [VP record]](/img/13/656468eb76bb8b6ea3b6465a56031d.png)
Atcoder beginer contest 254 [VP record]
随机推荐
Hudi of data Lake (2): Hudi compilation
Uniapp development, packaged as H5 and deployed to the server
Leetcode:20220213 week race (less bugs, top 10% 555)
NLP text processing: lemma [English] [put the deformation of various types of words into one form] [wet- > go; are- > be]
Go learning --- structure to map[string]interface{}
Common API classes and exception systems
curlpost-php
Model analysis of establishment time and holding time
Idea远程提交spark任务到yarn集群
Yolov5、Pycharm、Anaconda环境安装
详细页返回列表保留原来滚动条所在位置
Atcoder beginer contest 258 [competition record]
建立时间和保持时间的模型分析
Notepad + + regular expression replace String
Key structure of ffmpeg - avformatcontext
MYSQL GROUP_ The concat function realizes the content merging of the same ID
[simple implementation of file IO]
OS i/o devices and device controllers
MySQL存储引擎
Basic introduction and source code analysis of webrtc threads