免费的写作网站广州市公司网站建设平台
- 作者: 五速梦信息网
- 时间: 2026年04月20日 10:25
当前位置: 首页 > news >正文
免费的写作网站,广州市公司网站建设平台,网站交易平台怎么注册,国家高新技术企业名录面试计算机网络框架八股文十问十答第七期 作者#xff1a;程序员小白条#xff0c;个人博客 相信看了本文后#xff0c;对你的面试是有一定帮助的#xff01;关注专栏后就能收到持续更新#xff01;
⭐点赞⭐收藏⭐不迷路#xff01;⭐
1#xff09;UDP协议为什么不可…面试计算机网络框架八股文十问十答第七期 作者程序员小白条个人博客 相信看了本文后对你的面试是有一定帮助的关注专栏后就能收到持续更新
⭐点赞⭐收藏⭐不迷路⭐
1UDP协议为什么不可靠
UDP用户数据报协议是一种无连接的、不可靠的传输协议。它的不可靠性主要体现在以下几个方面
无连接性 UDP 不需要在发送数据之前建立连接也不维护连接状态因此不会进行握手和维持连接的开销。这使得 UDP 更加轻量级但也使得它无法保证数据的可靠传输。不保证数据的到达顺序 由于 UDP 不会对数据包进行排序和重组因此发送的数据包的到达顺序不一定与发送顺序一致。在网络中数据包可能会因为不同的路由和网络拥塞情况而以不同的顺序到达目的地。不提供重传机制 UDP 协议本身不提供重传机制。如果一个数据包在传输过程中丢失UDP 协议不会负责重新发送该数据包而是由应用层自行处理丢失的情况。
因此尽管 UDP 在一些对实时性要求高、数据丢失对应用影响不大的场景下表现出色但在对数据完整性和可靠性要求较高的场景下通常会选择使用 TCP 协议。
2TCP的重传机制
TCP传输控制协议是一种面向连接的、可靠的传输协议。TCP 通过以下机制来保证数据的可靠传输
序列号和确认应答 TCP 在发送的数据包中会包含序列号接收方收到数据后会发送确认应答告知发送方已经收到了哪些数据。如果发送方在合理的超时时间内没有收到确认应答就会认为数据丢失进行重传。超时重传 如果发送方在一定时间内没有收到确认应答就会重新发送相同的数据包。TCP 会动态调整重传的超时时间以适应网络的变化。快速重传 如果发送方收到了对同一数据包的三个重复的确认应答就会认为接收方已经丢失了后续的数据立即进行快速重传而不必等待超时时间到期。
3TCP的拥塞控制机制
TCP 的拥塞控制是为了避免过多的数据注入到网络中导致网络拥塞从而影响网络性能。TCP 的拥塞控制主要包括以下几个机制
慢启动 发送方在连接刚建立时会以指数增长的速率增加发送窗口大小以快速填满网络的带宽。拥塞避免 一旦发送方开始遇到丢包就会进入拥塞避免阶段发送窗口大小会线性增长而不是指数增长以降低发送速率。快速重传和快速恢复 当发送方收到对同一数据包的三个重复的确认应答时会触发快速重传和快速恢复机制以快速调整发送窗口大小避免继续注入更多的数据到网络中。
通过这些拥塞控制机制TCP 能够在一定程度上适应网络的拥塞情况保证网络的稳定性和公平性。
4TCP的流量控制机制
TCP 的流量控制是为了防止发送方发送过多的数据导致接收方无法处理。流量控制主要通过滑动窗口Sliding Window机制来实现
接收窗口rwnd 接收方在通信的过程中会通知发送方自己当前的接收窗口大小即能够接收的数据量。发送方根据这个信息来控制发送的数据量保证不会超过接收方的处理能力。滑动窗口 发送方维护一个发送窗口表示可以发送但还未收到确认的数据段的范围。滑动窗口的大小受到接收方通知的接收窗口大小和网络的实际情况的影响。
通过动态调整滑动窗口的大小TCP 实现了流量控制确保在通信过程中不会因为发送方速度过快而导致接收方无法处理。
5TCP的可靠传输机制
TCP 的可靠传输机制主要包括以下几个方面
序列号和确认应答 发送方会为每个数据包分配一个序列号接收方通过确认应答来告知发送方已经正确接收到数据。如果发送方在一定时间内未收到确认应答会进行重传。超时重传 如果发送方在合理的超时时间内未收到确认应答会认为数据包丢失进行超时重传。快速重传和快速恢复 当发送方收到对同一数据包的三个重复的确认应答时会触发快速重传和快速恢复机制以快速调整发送窗口大小。选择性重传 发送方能够选择性地重传丢失的数据包而不是重新传输所有的数据。
这些机制使得 TCP 在不可靠的网络环境中能够保证数据的可靠传输。
6TCP的三次握手和四次挥手
TCP 的连接建立和断开分别通过三次握手和四次挥手来完成
三次握手Connection Establishment
客户端发送 SYN 客户端发送一个带有 SYN同步标志的数据包表示请求建立连接。服务端发送 SYN ACK 服务端收到客户端的请求后回复一个带有 SYN 和 ACK确认标志的数据包表示同意建立连接。客户端发送 ACK 客户端收到服务端的确认后发送一个带有 ACK 标志的数据包表示连接建立完成。
四次挥手Connection Termination
客户端发送 FIN 客户端发送一个带有 FIN结束标志的数据包表示要关闭连接。服务端发送 ACK 服务端收到客户端的关闭请求后发送一个带有 ACK 标志的数据包表示接收到关闭请求。服务端发送 FIN 服务端发送一个带有 FIN 标志的数据包表示服务端也准备关闭连接。客户端发送 ACK 客户端收到服务端的关闭请求后发送一个带有 ACK 标志的数据包表示确认关闭。此时连接彻底关闭。
这样的握手和挥手机制确保了双方在建立和关闭连接时的可靠性和同步性。
7TCP粘包是怎么回事如何处理?
TCP粘包是指发送方发送的若干小数据包到达接收方时接收方可能会将它们合并成一个大的数据包从而导致接收方处理时难以区分原始的数据边界。这可能会引发一些问题比如数据解析错误或应用层处理混乱。
原因
缓冲机制 操作系统或中间网络设备的缓冲机制可能会导致多个小数据包在传输过程中被合并成一个大的数据包。发送速率 发送方连续发送数据包的速率比接收方处理的速率快导致多个数据包在传输过程中组成一个大的数据包。
处理方法
消息长度标识 在传输的数据中增加消息长度的信息接收方通过解析长度信息来拆分数据。特殊字符标识 在消息之间增加特殊字符标识接收方根据特殊字符来切分数据。定长消息 固定长度的消息不足长度时用空格或其他填充。使用消息边界标记 在数据包的开头或结尾添加标记表示消息的开始或结束。应用层协议设计 在应用层设计协议时可以采用更复杂的协议规定来避免粘包问题。
8为什么udp不会粘包
UDP是无连接的、不可靠的协议它对数据包的传输不做任何拆分或合并的处理因此不存在TCP粘包的问题。每个UDP数据包都是独立的不会受到底层协议的影响而被合并接收方能够按照发送方发送的数据包一一接收。
UDP的简单性和无连接性使得它不会进行复杂的缓冲和组包操作也就不会出现TCP粘包的情况。然而正因为UDP不保证可靠传输应用层需要自行处理丢包、重复和顺序等问题。
9对 WebSocket 的理解
WebSocket是一种在单个TCP连接上进行全双工通信的协议它允许客户端和服务器之间进行实时、双向的数据传输。相比于传统的HTTP协议WebSocket的优势在于降低了通信的延迟提高了效率。
特点和优势
全双工通信 可以同时在同一个连接上进行双向通信服务器可以向客户端推送数据而不需要等待客户端的请求。低延迟 由于建立一次连接后可以持久存在避免了HTTP协议中频繁的连接建立和断开降低了通信的延迟。轻量级 WebSocket协议的头部较小通信时的数据帧相对较小减少了网络传输的开销。跨域通信 支持跨域通信通过一定的握手过程建立连接使得客户端和服务器可以跨域进行实时通信。
10即时通讯的实现短轮询、长轮询、SSE 和 WebSocket 间的区别
即时通讯的实现方式有多种其中常见的包括短轮询Short Polling、长轮询Long Polling、SSEServer-Sent Events和WebSocket。
短轮询Short Polling 客户端定期发送HTTP请求询问是否有新消息。服务器响应时返回当前可用的消息。缺点频繁的HTTP请求可能造成不必要的开销延迟高。 长轮询Long Polling 客户端发送HTTP请求到服务器服务器保持连接打开直到有新消息才响应给客户端。客户端收到响应后立即再次发起请求。缺点仍然存在较高的延迟但相较于短轮询减少了请求的频率。 SSEServer-Sent Events 使用单个HTTP连接服务器可以主动推送数据给客户端。基于事件流的机制通过EventSource对象在客户端接收服务器的推送。缺点仅支持单向通信不适合需要双向通信的场景。 WebSocket 建立在单个TCP连接上支持全双工通信。通过握手过程建立连接之后可以双向发送消息。优点低延迟支持双向通信适用于实时性要求高的场景。
总的来说短轮询和长轮询通过HTTP请求存在较高的延迟和开销SSE是基于HTTP的单向通信适用于服务器向客户端推送数据WebSocket是全双工通信延迟低适用于实时性要求高的即时通讯场景。选择哪种方式取决于具体的需求和场景。
开源项目地址https://gitee.com/falle22222n-leaves/vue_-book-manage-system
已 300 Star
⭐点赞⭐收藏⭐不迷路⭐
- 上一篇: 免费的网站推广做建材上哪个网站比较好
- 下一篇: 免费的舆情网站不需下载人工智能营销网站开发
相关文章
-
免费的网站推广做建材上哪个网站比较好
免费的网站推广做建材上哪个网站比较好
- 技术栈
- 2026年04月20日
-
免费的网站模板有哪些私人路由器做网站
免费的网站模板有哪些私人路由器做网站
- 技术栈
- 2026年04月20日
-
免费的网站加速器html做网站项目案例
免费的网站加速器html做网站项目案例
- 技术栈
- 2026年04月20日
-
免费的舆情网站不需下载人工智能营销网站开发
免费的舆情网站不需下载人工智能营销网站开发
- 技术栈
- 2026年04月20日
-
免费的域名网站站群系统源码
免费的域名网站站群系统源码
- 技术栈
- 2026年04月20日
-
免费的招标网站有哪些网页无法打开怎么办
免费的招标网站有哪些网页无法打开怎么办
- 技术栈
- 2026年04月20日
