当前位置:网站首页>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 .
边栏推荐
- Running the service with systemctl in the container reports an error: failed to get D-Bus connection: operation not permitted (solution)
- F200——搭载基于模型设计的国产开源飞控系统无人机
- Smart street lamp based on stm32+ Huawei cloud IOT design
- 递归的方式
- FMT开源自驾仪 | FMT中间件:一种高实时的分布式日志模块Mlog
- Transfer data to event object in wechat applet
- sql语句优化,order by desc速度优化
- Excel usage record
- C语言通过指针交换两个数
- Pourquoi Li shufu a - t - il construit son téléphone portable?
猜你喜欢

Summary of Android interview questions of Dachang in 2022 (II) (including answers)

Pourquoi Li shufu a - t - il construit son téléphone portable?

It doesn't make sense without a distributed gateway

10 advanced concepts that must be understood in learning SQL

C语言通过指针交换两个数

Comparative examples of C language pointers *p++, * (p++), * ++p, * (++p), (*p) + +, +(*p)

In terms of byte measurement with an annual salary of 30W, automated testing can be learned in this way

Interview shock 62: what are the precautions for group by?
![Jerry's access to additional information on the dial [article]](/img/a1/28b2a5f7c16cbcde1625a796f0d188.jpg)
Jerry's access to additional information on the dial [article]

Cool Lehman has a variety of AI digital human images to create a vr virtual exhibition hall with a sense of technology
随机推荐
Awk command exercise
Comparative examples of C language pointers *p++, * (p++), * ++p, * (++p), (*p) + +, +(*p)
ADB common commands
Stealing others' vulnerability reports and selling them into sidelines, and the vulnerability reward platform gives rise to "insiders"
Pourquoi Li shufu a - t - il construit son téléphone portable?
ASEMI整流桥DB207的导通时间与参数选择
Cool Lehman has a variety of AI digital human images to create a vr virtual exhibition hall with a sense of technology
Markdown grammar - better blogging
TCP packet sticking problem
Nodejs developer roadmap 2022 zero foundation Learning Guide
酷雷曼多种AI数字人形象,打造科技感VR虚拟展厅
J'aimerais dire quelques mots de plus sur ce problème de communication...
Unity particle special effects series - treasure chest of shining stars
Video fusion cloud platform easycvr adds multi-level grouping, which can flexibly manage access devices
《ASP.NET Core 6框架揭秘》样章发布[200页/5章]
【.NET CORE】 请求长度过长报错解决方案
Interview shock 62: what are the precautions for group by?
On time and parameter selection of asemi rectifier bridge db207
Jielizhi obtains the currently used dial information [chapter]
關於這次通信故障,我想多說幾句…