当前位置: 首页 > news >正文

【刷题Day20】TCP和UDP(浅)

TCP 和 UDP 有什么区别?

TCP提供了可靠、面向连接的传输,适用于需要数据完整性和顺序的场景。

UDP提供了更轻量、面向报文的传输,适用于实时性要求高的场景。

特性TCPUDP
连接方式面向连接无连接
可靠性提供可靠性,保证数据按顺序到达不可靠,不保证顺序或完整性
流量控制/拥塞控制提供流量控制和拥塞控制没有流量控制和拥塞控制
顺序保证保证数据顺序不保证数据顺序
头部大小较大(20字节及以上)较小(8字节)
性能较低,延迟大较高,延迟小
数据传输模式字节流传输模式数据报传输模式
适用场景文件传输、Web、邮件等需要可靠性的应用实时通讯、语音、视频、游戏等高性能要求应用

说说 TCP 的三次握手?

  1. 客户首先发送一个SYN(同步序列编号)消息给服务器
  2. 服务器收到后回复一个SYN-ACK(同步序列编号-确认)消息
  3. 最后客户端再发送一个ACK(确认)消息确认服务器已经收到SYN-ACK消息
  4. 完成三次握手,建立可靠的TCP连接。

TCP 是用来解决什么问题?

TCP(Transmission Control Protocol)通过提供可靠传输、流量控制、拥塞控制和连接管理,解决了数据在不可靠的IP网络上的传输问题:

  1. 可靠性传输: TCP确保数据包在网络传输过程中不丢失、不重复,并且按顺序到达。通过确认(ACK)、重传机制以及序列号,TCP能够保证数据在不可靠的IP网络上可靠传输。
  2. 流量控制: TCP通过滑动窗口机制调节发送方的数据发送速率,防止接收方因为处理能力有限而被数据流淹没。
  3. 拥塞控制: TCP通过拥塞避免算法(如慢启动、拥塞避免、快速重传和快速恢复)来防止网络过载,确保网络资源的公平使用和稳定性。
  4. 连接管理: TCP是面向连接的协议,采用三次握手(建立连接)和四次挥手(断开连接)机制来管理会话,确保通信的可靠性和状态的同步。

http://www.mrgr.cn/news/99058.html

相关文章:

  • Ubuntu20.04下Docker方案实现多平台SDK编译
  • 信创开发:开启信息自主创新、国产替代新时代
  • pgsql中使用jsonb的mybatis-plus和Spring Data JPA的配置
  • MLA(多头潜在注意力)原理概述
  • js day3
  • Redis命令——list
  • 将 DeepSeek 集成到 Spring Boot 项目实现通过 AI 对话方式操作后台数据
  • ospf实验
  • 山东科技大学人工智能原理考试回忆复习资料
  • [密码学实战]基于Python的国密算法与通用密码学工具箱
  • 命令update-alternatives
  • 剑指Offer(数据结构与算法面试题精讲)C++版——day15
  • Github 2FA(Two-Factor Authentication/两因素认证)
  • Linux驱动开发--阻塞、非阻塞I/O
  • 【面试向】点积与注意力机制,逐步编码理解自注意力机制
  • 如何对docker镜像存在的gosu安全漏洞进行修复——筑梦之路
  • 【笔记】网路安全管理-实操
  • 【OpenGL】OpenGL学习笔记-1:VS2019配置OpenGL开发环境
  • Workflow轻量级工作流引擎实现
  • c++ 类的语法1