当前位置:网站首页>UDP protocol: simple because of good nature, it is inevitable to encounter "city can play"
UDP protocol: simple because of good nature, it is inevitable to encounter "city can play"
2022-07-06 18:11:00 【Zhang quandan, Foxconn quality inspector】
TCP and UDP What are the differences ?
I usually ask the difference between the two agreements during the interview , Most people will answer ,TCP It's connection-oriented ,UDP It's for connectionless .
What is connection oriented , What is connectionless ? Before intercommunication , The connection oriented protocol establishes the connection first . for example ,TCP Will shake hands three times , and UDP Can't . Why establish a connection ? you TCP Three handshakes , I UDP You can also send three bags to play , What's the difference ?
The so-called establishing a connection , To maintain the connection between the client and the server , And establish a certain data structure to maintain the state of interaction between the two sides , Use this data structure to guarantee the so-called connection oriented features .
for example ,TCP Provide reliable delivery . adopt TCP Connect the transmitted data , No mistakes 、 No loss 、 No repetition 、 And arrive in order . We all know IP There is no reliability guarantee for the package , Once sent out , It's like learning from the West , Lost it 、 Eaten by monsters , Can only let it go . however TCP It claims to be able to do what the connection maintenance program does , and UDP Inherited IP Package features , There is no guarantee that it will not be lost , There is no guarantee of arrival in order .
Again ,TCP Is oriented to a byte stream . When sending, you send a stream , No head, no tail .IP A package is not a stream , But one by one IP package . The reason why it becomes a stream , This is also TCP Your own state maintenance . and UDP Inherited IP Characteristics of , Datagram based , One by one , One by one .
also TCP There can be congestion control . It realizes that the packet is discarded or the network environment is bad , Will adjust their behavior according to the situation , See if it's fast , Would you like to slow down .UDP Won't , The app let me send , I'll send it , Despite the flood .
thus TCP It's actually a stateful service , Generally speaking, it's a brain , It accurately remembers whether it has been sent , Received no , To which , Which should be accepted , No mistake at all . and UDP Stateless service . Generally speaking, it's mindless , Innocent , Just send it out .
UDP What is Baotou like ?
When I send UDP When the package reaches the target machine , Find out MAC Address matching , So he took it down , Pass the rest of the packets to the processor IP Layer code . hold IP Take off your head , Finding goals IP matching , The next? ? Who is the packet in here for ?
At the time of sending , I know I sent a UDP My bag , How did you know about the machine you received ? So in IP There's a... In the head 8 Bit agreement , It will store , What's in the data TCP still UDP, Of course, here it is UDP. therefore , If we knew UDP The format of the head , From the data , Parse it out . After analyzing it ? Who will process the data ?
After dealing with the transport layer , The kernel is basically done , The data inside should be handled by the application itself , But there are so many applications running on one machine , Who should I give it to ?
Regardless of application write usage TCP The data transfer , still UDP The data transfer , Listen to a port . It is this port , Used to distinguish applications , Let's say that ports cannot conflict . Two applications listen on one port , Who will you give it to then ? therefore , Logically speaking , Whether it's TCP still UDP There should be a port number in the header , According to the port number , Give the data to the corresponding application .
When we see UDP When Baotou , It is found that there is indeed a port number , Active port number and target port number . Because it's communication between two ends , That makes sense . But you will also find ,UDP Except for the port number , There is nothing else . and TCP Head to head , This is simply a mess !
UDP Three characteristics of
UDP Just like a child , It has the following characteristics :
- First of all , Simple communication , You don't need a belly of fancy intestines ( A lot of data structures 、 Processing logic 、 Header field ). The premise is that it believes that the online world is beautiful , Uphold the theory of good nature , I believe that the default of network channel is easy to deliver , Not easily discarded .
- second , Credulity . It doesn't make connections , Although there is a port number , But monitoring is in this place , Anyone can send him data , He can also send data to anyone , It can even be transmitted to multiple personal data at the same time .
- Third , I'm so stupid , Don't know how to change things . I don't know when to insist , When should we give way . It will not control the congestion of the contract according to the situation of the network , No matter what happens to network packet loss , How it should be sent back .
边栏推荐
- Markdown grammar - better blogging
- Jerry's watch deletes the existing dial file [chapter]
- Cool Lehman has a variety of AI digital human images to create a vr virtual exhibition hall with a sense of technology
- 李书福为何要亲自挂帅造手机?
- Kill -9 system call used by PID to kill process
- Jerry is the custom background specified by the currently used dial enable [chapter]
- TCP packet sticking problem
- Introduction to the usage of model view delegate principal-agent mechanism in QT
- Today in history: the mother of Google was born; Two Turing Award pioneers born on the same day
- 8位MCU跑RTOS有没有意义?
猜你喜欢
STM32 key state machine 2 - state simplification and long press function addition
传统家装有落差,VR全景家装让你体验新房落成效果
8位MCU跑RTOS有没有意义?
Summary of Android interview questions of Dachang in 2022 (II) (including answers)
F200 - UAV equipped with domestic open source flight control system based on Model Design
On time and parameter selection of asemi rectifier bridge db207
The easycvr authorization expiration page cannot be logged in. How to solve it?
關於這次通信故障,我想多說幾句…
Easy introduction to SQL (1): addition, deletion, modification and simple query
趣-关于undefined的问题
随机推荐
Pytest learning ----- pytest confitest of interface automation test Py file details
一体化实时 HTAP 数据库 StoneDB,如何替换 MySQL 并实现近百倍性能提升
Alibaba brand data bank: introduction to the most complete data bank
This article discusses the memory layout of objects in the JVM, as well as the principle and application of memory alignment and compression pointer
Running the service with systemctl in the container reports an error: failed to get D-Bus connection: operation not permitted (solution)
HMS Core 机器学习服务打造同传翻译新“声”态,AI让国际交流更顺畅
There is a gap in traditional home decoration. VR panoramic home decoration allows you to experience the completion effect of your new house
Smart street lamp based on stm32+ Huawei cloud IOT design
D binding function
面向程序员的精品开源字体
8位MCU跑RTOS有没有意义?
C language exchanges two numbers through pointers
RB157-ASEMI整流桥RB157
Reppoints: advanced order of deformable convolution
scratch疫情隔离和核酸检测模拟 电子学会图形化编程scratch等级考试三级真题和答案解析2022年6月
Declval of template in generic programming
VR panoramic wedding helps couples record romantic and beautiful scenes
虚拟机VirtualBox和Vagrant安装
Transfer data to event object in wechat applet
Summary of Android interview questions of Dachang in 2022 (I) (including answers)