当前位置:网站首页>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
边栏推荐
- Encryption and decryption
- Zhongke Panyun - 2022 Guangxi reverse analysis ideas
- Flutter calls Gaode map app to realize location search, route planning and reverse geocoding
- appliedzkp zkevm(11)中的EVM Proof
- Flutter ‘/usr/lib/libswiftCore.dylib‘ (no such file)
- 附件六:防守工作简报.docx
- laravel 中获取刚刚插入的记录的id
- Annex II: confidentiality agreement for offensive and defensive drills docx
- 网络设备应急响应指南
- Zhongke panyun-d module analysis and scoring standard
猜你喜欢

电子元器件商城与数据手册下载网站汇总

June 2022 summary

2022 Guangdong provincial competition - code information acquisition and analysis flag

NTFS 安全权限

TCP状态转换图

Flutter ‘/usr/lib/libswiftCore. dylib‘ (no such file)

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

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

appliedzkp zkevm(13)中的Public Inputs

小程序毕业设计---美食、菜谱小程序
随机推荐
2022危险化学品经营单位安全管理人员上岗证题库及答案
6-4 vulnerability exploitation SSH banner information acquisition
关于solidworks standard无法获得许可 8544问题的总结
中职组网络安全—内存取证
Exercise bubble sort
附件六:防守工作简报.docx
在代码中使用度量单位,从而生活更美好
Capturing and sorting out external Fiddler -- Conversation bar and filter
海力士EMMC5.0及5.1系列对比详解
Useful plug-ins for vscode
Annex I: power of attorney for 202x XXX attack and defense drill
附件三:防守方评分标准.docx
Automated testing selenium foundation -- webdriverapi
Utiliser des unités de mesure dans votre code pour une vie meilleure
YoloV6实战:手把手教你使用Yolov6进行物体检测(附数据集)
2022年T电梯修理操作证考试题库及模拟考试
[matlab] general function of communication signal modulation - generation of narrow-band Gaussian white noise
Deep understanding of redis -- bloomfilter
Headache delayed double deletion
Flutter ‘/usr/lib/libswiftCore. dylib‘ (no such file)