当前位置:网站首页>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
边栏推荐
- cmake
- Yolov6 practice: teach you to use yolov6 for object detection (with data set)
- 2022年T电梯修理操作证考试题库及模拟考试
- Roles of rollup components
- Annex 4: scoring criteria of the attacker docx
- Simple g++ and GDB debugging
- 红队视角下的防御体系突破之第二篇案例分析
- 6-4 vulnerability exploitation SSH banner information acquisition
- 中科磐云—数据分析与取证数据包flag
- [技术发展-25]:广播电视网、互联网、电信网、电网四网融合技术
猜你喜欢
Capturing and sorting out external Fiddler -- Conversation bar and filter
Annex V: briefing on the attack process docx
海力士EMMC5.0及5.1系列对比详解
Utiliser des unités de mesure dans votre code pour une vie meilleure
TCP状态转换图
A summary of the 8544 problem that SolidWorks Standard cannot obtain a license
Zhongke panyun-2022 Guangdong Trojan horse information acquisition and analysis
《Cross-view Transformers for real-time Map-view Semantic Segmentation》论文笔记
Use units of measure in your code for a better life
Headache delayed double deletion
随机推荐
电子元器件商城与数据手册下载网站汇总
KMP匹配字符串
【MATLAB】MATLAB 仿真模拟调制系统 — VSB 系统
[matlab] matlab simulation - low pass Gaussian white noise
2022广东省赛——编码信息获取 解析flag
Secondary vocational group network security - memory Forensics
[untitled]
中科磐云—模块A 基础设施设置与安全加固 评分标准
抓包整理外篇fiddler———— 会话栏与过滤器
Technology Management - learning / practice
2022G2电站锅炉司炉特种作业证考试题库及答案
《Cross-view Transformers for real-time Map-view Semantic Segmentation》论文笔记
附件一:202x年xxx攻防演习授权委托书
Capturing and sorting out external Fiddler -- Conversation bar and filter
中职组网络安全—内存取证
拼夕夕二面:说说布隆过滤器与布谷鸟过滤器?应用场景?我懵了。。
在代码中使用度量单位,从而生活更美好
When using flash to store parameters, the code area of flash is erased, which leads to the interrupt of entering hardware error
6-5 vulnerability exploitation SSH weak password cracking and utilization
【MATLAB】MATLAB 仿真模拟调制系统 — AM 已调信号的功率谱与相干解调