网站首页 > 博客文章 正文
TCP 与 UDP(文末动图诠释)
TCP(传输控制协议)
可靠的、面向连接的协议。
把它想象成一个电话——一条专用的沟通渠道,确保你所有的话都能被听到和理解。
所涉及步骤的细分 -
连接建立(3 次握手)
1/ SYN(同步)
这将启动该过程。
客户端(发送方)向服务器(接收方)发送一个 SYN 数据包,说:“嘿,我想谈谈!让我们建立联系。
2/ SYN-ACK(同步确认)
服务器以 SYN-ACK 数据包进行响应,确认客户端的请求并发送自己的序列号以用于数据跟踪。
这就像在说,“好吧,我也准备好了,这是我跟踪事情的部分。
3/ ACK(确认)
客户端发回一个 ACK 数据包,确认服务器的 SYN-ACK。
这就像客户确认,“太好了,我得到了你的信息,我们聊聊吧!
数据传输
建立连接后,客户端可以向服务器发送实际的数据包。
这些数据包包含数据本身以及序列号。
此序列号的作用类似于文档中的行号,确保数据以正确的顺序到达。
服务器确认接收每个数据包,其中包含下一个预期序列号的 ACK 数据包。
如果在超时期限内未收到 ACK,或者服务器检测到数据错误,客户端将重新传输丢失或损坏的数据包。
连接终止是四次握手。你可以通过互联网详细阅读。
UDP ( 用户数据报文协议 )
快速轻量级的协议,无需保证。
这就像在田野上喊出一条信息——它可能会到达另一边,但不能保证它会被清晰或有序地听到。
所涉及步骤的细分 -
UDP 没有像 TCP 那样的正式连接建立和终止过程。
通常,应用程序(例如,视频流服务)将数据格式化为 UDP 数据报文。
这包括添加包含源端口和目标端口等信息的 UDP 标头。
数据报通过网络直接从发送方发送到接收方的 IP 地址和端口。
在此阶段没有握手或确认。
如果数据报文成功到达其目标,则目标应用程序将接收该数据报文。
但是,不能保证它会按顺序到达或到达。
接收应用程序处理数据报的数据有效负载。
由于没有序列号,应用程序可能需要根据需要重新组合来自多个数据报文的数据或处理无序数据。
现在,你可以决定使用哪一个以及何时使用。?
猜你喜欢
- 2024-11-04 SpringBoot系列教程22-整合SpringMVC之HttpMessageConverters
- 2024-11-04 前端部分面试总结(前端面试知识点总结)
- 2024-11-04 学习笔记-身份认证攻击漏洞,文件上传漏洞
- 2024-11-04 java和js实现 RSA+AES接口验签和参数加密 非对称加密非对称加密
- 2024-11-04 工业以太网基础知识介绍—网络体系及标准
- 2024-11-04 「网工必备」网络协议模型和各层作用,带你10分钟get新技能
- 2024-11-04 HTTP协议(http协议的作用)
- 2024-11-04 计算机网络|计算机网络体系结构(计算机网络体系结构知识点)
- 2024-11-04 用于EDI的应用大大提高了效率,减少了纸张的使用
- 2024-11-04 Java安全编码军规(java安全编码规范考试题答案)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)