当前位置: 首页 > 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是面向连接的协议,采用三次握手(建立连接)和四次挥手(断开连接)机制来管理会话,确保通信的可靠性和状态的同步。

相关文章:

  • 前端面试的话术集锦第 25 篇博文——CSS面试题上
  • 数仓面试内容
  • Windows系统安装`face_recognition`
  • 7.vtk坐标系
  • AI 提示词教程:从新手到高手的进阶之路
  • 运筹学之模拟退火
  • Python实例题:神经网络实现人脸识别任务
  • c++题目_P1443 马的遍历
  • [数学] 挑战nbc
  • WinForms开发基础:实现带X按钮的ClearableTextBox控件
  • 【数论】3260. 找出最大的 N 位 K 回文数|2370
  • 老婆是用来爱的,不是用来吼的
  • 探秘Python 工匠:案例、技巧与工程实践:解锁Python进阶的通关秘籍
  • Mixture-of-Experts with Expert Choice Routing:专家混合模型与专家选择路由
  • LeetCode 1365. 有多少小于当前数字的数字 java题解
  • @EnableAsync+@Async源码学习笔记之一
  • C语言格式化输入输出总结 (printf和scanf)
  • ubuntu18.04安装QT问题汇总
  • 【STM32单片机】#10 USART串口通信
  • Kubernetes 多主多从集群部署完整文档
  • 美军一天内对也门发动50余次袭击,胡塞武装称再次击落美军无人机
  • 山西一国道发生塌陷,造成4车追尾2人死亡
  • 义乌女老板对CNN霸气喊话:美国要货就给,不要就分给其他客户
  • 北京理工大学:教师宫某涉嫌师德失范,暂停其一切职务活动
  • 上海自然博物馆下月开启中国恐龙大展,还在筹备中国古人类大展
  • 42岁北京大学科学技术与医学史系副教授陈昊逝世