当前位置:网站首页>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 .
边栏推荐
- Mysqlimport imports data files into the database
- Release of the sample chapter of "uncover the secrets of asp.net core 6 framework" [200 pages /5 chapters]
- 偷窃他人漏洞报告变卖成副业,漏洞赏金平台出“内鬼”
- How to use scroll bars to dynamically adjust parameters in opencv
- Distinguish between basic disk and dynamic disk RAID disk redundant array
- Selected technical experts from China Mobile, ant, SF, and Xingsheng will show you the guarantee of architecture stability
- 推荐好用的后台管理脚手架,人人开源
- MarkDown语法——更好地写博客
- Kivy tutorial: support Chinese in Kivy to build cross platform applications (tutorial includes source code)
- Heavy! Ant open source trusted privacy computing framework "argot", flexible assembly of mainstream technologies, developer friendly layered design
猜你喜欢

Introduction to the usage of model view delegate principal-agent mechanism in QT

编译原理——预测表C语言实现

關於這次通信故障,我想多說幾句…

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

Reppoints: advanced order of deformable convolution

How to use scroll bars to dynamically adjust parameters in opencv

李書福為何要親自掛帥造手機?

sql语句优化,order by desc速度优化

Unity particle special effects series - treasure chest of shining stars

FMT开源自驾仪 | FMT中间件:一种高实时的分布式日志模块Mlog
随机推荐
FMT开源自驾仪 | FMT中间件:一种高实时的分布式日志模块Mlog
Appium automated test scroll and drag_ and_ Drop slides according to element position
The easycvr platform reports an error "ID cannot be empty" through the interface editing channel. What is the reason?
Interview shock 62: what are the precautions for group by?
Open source and safe "song of ice and fire"
Pourquoi Li shufu a - t - il construit son téléphone portable?
FMT open source self driving instrument | FMT middleware: a high real-time distributed log module Mlog
从交互模型中蒸馏知识!中科大&美团提出VIRT,兼具双塔模型的效率和交互模型的性能,在文本匹配上实现性能和效率的平衡!...
Pytest learning ----- pytest operation mode and pre post packaging of interface automation testing
Pytest learning ----- pytest confitest of interface automation test Py file details
On time and parameter selection of asemi rectifier bridge db207
Heavy! Ant open source trusted privacy computing framework "argot", flexible assembly of mainstream technologies, developer friendly layered design
IP, subnet mask, gateway, default gateway
There is a gap in traditional home decoration. VR panoramic home decoration allows you to experience the completion effect of your new house
Shell input a string of numbers to determine whether it is a mobile phone number
Comparative examples of C language pointers *p++, * (p++), * ++p, * (++p), (*p) + +, +(*p)
The easycvr authorization expiration page cannot be logged in. How to solve it?
Getting started with pytest ----- test case rules
Scratch epidemic isolation and nucleic acid detection Analog Electronics Society graphical programming scratch grade examination level 3 true questions and answers analysis June 2022
Growth of operation and maintenance Xiaobai - week 7