当前位置:网站首页>Understand TCP's three handshakes and four waves with love
Understand TCP's three handshakes and four waves with love
2022-07-07 23:31:00 【Little river god is tangled】
One 、TCP/IP The connection of
When socket Established TCP/IP After the connection , The server will always listen to the connection request of the client , After the connection is successful, it will be a more reliable connection . Reason why TCP Reliable connection , That's because connecting and disconnecting require complex processes .
Just like a pair of lovers . Before they became boyfriend and girlfriend , There must be one side that constantly seeks the other , Or they spent some unforgettable time together , They depend on each other . Then one of them said " Be my daughter ( male ) Friends "( This is it. TCP The first handshake of the connection ), Then the other party agreed ( There is a second handshake ), Low three handshakes is naturally a formal boyfriend and girlfriend .
Two 、 Three handshakes
TCP The third handshake is to confirm the connection , Ensure that the server and client can communicate normally .“ Three handshakes ” It is actively opened by the client , The server is turned on passively . It's not hard to understand , We are learning socket When programming , When programming the server , There is a code to listen to the connection :listen, Then there's another API :accpet Respond to the connection of the client :
Each handshake carries a message :SYN Data packets . Every time you send data, you should confirm the integrity of the data , It's like a token of love ( The first handshake ). In the picture ack Is the reply signal , Received SYN after , hold SYN Here you are, with your own Keepsake ( The second handshake ), Prove that I have received your token of love SYN. The third time I received it was from myself SYN after , Confirm that you can communicate ( The third handshake ), Complete the connection .
3、 ... and 、 Four waves
Long period of division , A long time must be divided. , Since there is a handshake, there is a breakup , Ah No … wave .TCP The four waves are Confirm that the communication is disconnected , The process is initiated by one end disconnect request , The other party responds to the disconnection request .
That is, between boyfriend and girlfriend, one day, someone suddenly felt that both sides were inappropriate , Break up ( Namely TCP Your first wave ); The other party said yes , Can break up ( Produce a second wave ); Break up can , When I get off work , Give you a love token after work (FIN)( This is a Third wave ); Received the changed Keepsake (FIN) Confirm the breakup ,( Fourth wave ).
The second wave , Only the reply signal is sent , Because the receiver may still be dealing with tasks in process , Wait for the task to finish , This is the third wave .
5、 ... and 、 Why only three handshakes and four waves
Because when that girl broke up , I'm still working overtime ( The receiving end is still processing the necessary procedures ), I can only tell her ,“ Okay, I get it ”( The receiving end can only pass ACK Tell the sender , A disconnect request has been received ), Only after the overtime work is over can I return the love keepsake of that year to her ( After the receiving end processes the program , Send again FIN+(ACK+1) It means the third wave ).
Master : Tiktok Shangguan programmable -> Chen lichen
边栏推荐
- Technology at home and abroad people "see" the future of audio and video technology
- LM12丨Rolling Heikin Ashi二重K线滤波器
- Spark 离线开发框架设计与实现
- Matlab SEIR infectious disease model prediction
- 2022第六季完美童模陕西总决赛圆满落幕
- Markdown
- 移动端异构运算技术 - GPU OpenCL 编程(基础篇)
- LDO voltage stabilizing chip - internal block diagram and selection parameters
- The 19th Zhejiang Provincial Collegiate Programming Contest VP记录+补题
- Ros2 topic (03): the difference between ros1 and ros2 [02]
猜你喜欢
![Given an array, such as [7864, 284, 347, 7732, 8498], now you need to splice the numbers in the array to return the](/img/21/2e99dd6173ab4925ec22290cd4a357.png)
Given an array, such as [7864, 284, 347, 7732, 8498], now you need to splice the numbers in the array to return the "largest possible number."

Vulnerability recurrence ----- 49. Apache airflow authentication bypass (cve-2020-17526)
![[microservices SCG] gateway integration Sentinel](/img/f3/410d7228b4b253ebf41015a785099f.png)
[microservices SCG] gateway integration Sentinel

LM12丨Rolling Heikin Ashi二重K线滤波器

ROS2专题(03):ROS1和ROS2的区别【01】

Puce à tension stabilisée LDO - schéma de bloc interne et paramètres de sélection du modèle

Deep understanding of MySQL lock and transaction isolation level

Technology at home and abroad people "see" the future of audio and video technology

建筑建材行业SRM供应商云协同管理平台解决方案,实现业务应用可扩展可配置

UE4_ Ue5 combined with Logitech handle (F710) use record
随机推荐
Digital procurement management system for fresh food industry: help fresh food enterprises solve procurement problems and implement online procurement throughout the process
2022 Season 6 perfect children's model Shaanxi finals came to a successful conclusion
First week of July
PCI-Express接口的PCB布线规则
Mobile heterogeneous computing technology - GPU OpenCL programming (basic)
php 使用阿里云存储
StringUtils工具类
js 获取对象的key和value
RE1 attack and defense world reverse
POJ2392 SpaceElevator [DP]
高效的S2B2C电商系统,是这样帮助电子材料企业提升应变能力的
B_QuRT_User_Guide(40)
B_ QuRT_ User_ Guide(36)
USB (XIV) 2022-04-12
HDU 4747 mex "recommended collection"
Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
List. How to achieve ascending and descending sort() 2020.8.6
Unity3D学习笔记5——创建子Mesh
1. Sum of two numbers
SQL database execution problems