当前位置:网站首页>Yyds dry goods inventory TCP & UDP
Yyds dry goods inventory TCP & UDP
2022-07-04 05:06:00 【Soda 233】
difference
TCP Who initiated the connection in , stay UDP Who sent the message in .
TCP stay IP Based on the message , Added such as retransmission 、 confirm 、 Orderly transmission 、 Congestion control and other capabilities , Both sides of the communication work in a certain context .
UDP It is an unreliable communication protocol , No retransmission and confirmation , No orderly control , There's no congestion control , Effective transmission and orderly message are not guaranteed .
TCP The sending and receiving of are always in The same definite context in
UDP Every time you receive or send a Independent context
Socket (socket)
When communication , The endpoint in the respective communication connection
Definition and advantages :
TCP( Stream socket : Connection oriented “ Data flow ” agreement ): Is reliable , Two way connected communication streamUDP( Socket datagram : No connection “ The datagram ” agreement ): Fast
The server receives the connection
1、 establish socket
2、bind Associate socket address and port
3、listen Convert socket to passive receive ( The socket created by default is Initiatively requesting )
4、accept After the connection with the client is established , The operating system kernel notifies the application .
TCP
Connection process
1、 Server initialization2、 Client initialization socket, And the server TCP Three handshakes
3、 Client side and server side Establishing a connection ( Once the connection is established , Data transmission is no longer one-way , It's two-way , This is also TCP One of the salient features of )
4、 client close , send out FIN Package to the server , After the server receives it Perform passive shutdown , The server side will also execute close function , The entire link is completely shut down
The client initiates the connection process
1、 establish socket
2、connect Server side TCP Connection required
TCP Three handshake process
- The protocol stack of the client sends... To the server SYN package , And tell the server the serial number currently sent j, Client access SYNC_SENT state ;
- After the server-side protocol stack receives the packet , Communicate with the client ACK The reply , The value of the response is j+1, Said to SYN package j The confirmation of , At the same time, the server also sends a SYN package , Tell the client that my current sending serial number is k, Server access SYNC_RCVD state ;
- Client protocol stack received ACK after , Make the application from connect Call return , Indicates that the one-way connection from the client to the server is successfully established , The status of the client is ESTABLISHED, At the same time, the client protocol stack will also affect the server SYN Packet response , The response data is k+1;
- After the response packet arrives at the server , The server-side protocol stack makes accept Blocking call return , At this time, the one-way connection from the server to the client is also established successfully , The server also enters ESTABLISHED state .
Send buffer
TCP After the connection is successfully established , The operating system kernel will create for each connection Send buffer . call write Function time , The actual thing to do is to put the data The send buffer copied from the application to the operating system kernel in , It's not necessarily to write data through sockets .
about send Come on , Returning success only means that the data is written to the send buffer successfully , It does not mean that the opposite end has successfully received .
about read Come on , Need to read data circularly , And you need to think about EOF Other abnormal conditions .
UDP
apply
For delay 、 Packet loss is not a particularly sensitive scenario
边栏推荐
- Using jsts in esmodule environment
- MAUI 入门教程系列(5.XAML及页面介绍)
- 【MATLAB】MATLAB 仿真 — 窄带高斯白噪声
- 【MATLAB】MATLAB 仿真 — 模拟调制系统 之 AM 调制过程
- 红队视角下的防御体系突破之第一篇介绍、阶段、方法
- 海力士EMMC5.0及5.1系列对比详解
- 6-5 vulnerability exploitation SSH weak password cracking and utilization
- Annex 2-2 confidentiality commitment docx
- Roles of rollup components
- LeetCode136+128+152+148
猜你喜欢

June 2022 summary

2022 Guangdong provincial competition - code information acquisition and analysis flag

Flutter calls Gaode map app to realize location search, route planning and reverse geocoding

C basic (VII) document operation

Flutter 调用高德地图APP实现位置搜索、路线规划、逆地理编码

关于solidworks standard无法获得许可 8544问题的总结

Public inputs in appliedzkp zkevm (13)

Zhongke Panyun - module a infrastructure setting and safety reinforcement scoring standard

NTFS 安全权限

How to build your own knowledge engine? Community open application
随机推荐
Automated testing selenium foundation -- webdriverapi
网络设备应急响应指南
【MATLAB】MATLAB 仿真模拟调制系统 — FM 系统
Headache delayed double deletion
Fault analysis | mongodb 5.0 reports an error, and the legal instruction solves it
[matlab] matlab simulation modulation system SSB system
【MATLAB】MATLAB 仿真数字带通传输系统 — ASK、 PSK、 FSK 系统
Flutter calls Gaode map app to realize location search, route planning and reverse geocoding
Zkevm (12) state proof of appliedzkp
简单g++和gdb调试
【MATLAB】MATLAB 仿真数字基带传输系统 — 双极性基带信号(第 I 类部分响应波形)的眼图
【MATLAB】通信信号调制通用函数 — 窄带高斯白噪声的生成
拼夕夕二面:说说布隆过滤器与布谷鸟过滤器?应用场景?我懵了。。
Annex III: scoring standard of the defender docx
[matlab] matlab simulation modulation system - DSB system
Rollup各组件作用
Share some of my telecommuting experience
Test cs4344 stereo DA converter
Download kicad on Alibaba cloud image station
Technology Management - learning / practice