当前位置:网站首页>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
边栏推荐
- appliedzkp的zkevm(12)State Proof
- 《Cross-view Transformers for real-time Map-view Semantic Segmentation》论文笔记
- 记几个智能手表相关芯片 蓝牙芯片 低功耗
- 【MATLAB】MATLAB 仿真模拟调制系统 — VSB 系统
- Create ASM disk through DD
- 模拟小根堆
- [matlab] matlab simulation modulation system SSB system
- 定制一个自己项目里需要的分页器
- June 2022 summary
- 2022危险化学品经营单位安全管理人员上岗证题库及答案
猜你喜欢
随机推荐
We believe that the development of consumer Internet will still be limited to the Internet industry itself
Headache delayed double deletion
Introduction and application of rampax in unity: optimization of dissolution effect
每日刷题记录 (十二)
KMP匹配字符串
appliedzkp zkevm(13)中的Public Inputs
【MATLAB】MATLAB 仿真模拟调制系统 — FM 系统
如何构建属于自己的知识引擎?社群开放申请
Zhongke panyun-2022 Guangdong Trojan horse information acquisition and analysis
The second case analysis of the breakthrough of defense system from the perspective of the red team
Deep understanding of redis -- bloomfilter
2022G2电站锅炉司炉特种作业证考试题库及答案
Qt QTableView数据列宽度自适应
Zkevm (12) state proof of appliedzkp
QT qtableview data column width adaptation
CRS-4013: This command is not supported in a single-node configuration.
中科磐云—模块A 基础设施设置与安全加固 评分标准
A summary of the 8544 problem that SolidWorks Standard cannot obtain a license
【MATLAB】MATLAB 仿真 — 模拟调制系统 之 AM 调制过程
appliedzkp zkevm(11)中的EVM Proof







