TCP 和 UDP 的区别

TCP 和 UDP 的区别
是否面向连接传输可靠性传输形式传输效率所需资源应用场景首部字节
TCP面向连接可靠字节流要求通讯数据可靠20 ~ 60
UDP无连接不可靠数据报文段要求通讯速度高8个字节
  • UDP 特点
    • UDP 在传送数据之前不需要先建立连接,远地主机在收到 UDP 报文后,不需要给出任何确认
    • 虽然 UDP 不提供可靠交付,但在某些情况下 UDP 确是一种最有效的工作方式(一般用于即时通信)
    • 适用场景:QQ 语音、 QQ 视频 、直播等等

  • TCP 特点
    • 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接
    • TCP 不提供广播或多播服务
    • 由于 TCP 要提供可靠的,面向连接的传输服务,TCP 的可靠体现在 TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源
    • 这样一来增加了许多开销,如确认,流量控制,计时器以及连接管理等。这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源
    • 适用场景:文件传输、发送和接收邮件、远程登录等等

  • TCP 协议如何保证可靠传输
    • 应用数据被分割成 TCP 认为最适合发送的数据块
    • TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层
    • 校验和:TCP 将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化,如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段
    • TCP 的接收端会丢弃重复的数据
    • 流量控制:TCP 连接的每一方都有固定大小的缓冲空间,TCP 的接收端只允许发送端发送接收端缓冲区能接纳的数据,当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失,TCP 使用的流量控制协议是可变大小的滑动窗口协议 ( TCP 利用滑动窗口实现流量控制)
    • 拥塞控制:当网络拥塞时,减少数据的发送
    • ARQ协议:也是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认,在收到确认后再发下一个分组
    • 超时重传: 当 TCP 发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段,如果不能及时收到一个确认,将重发这个报文段

  • 使用 TCP 和 UDP 的协议有哪些
    • 运行在 TCP 协议上的协议
      • HTTP 协议:超文本传输协议 (HTTP,HyperText Transfer Protocol)主要是为 Web 浏览器与 Web 服务器之间的通信而设计的,当我们使用浏览器浏览网页的时候,我们网页就是通过 HTTP 请求进行加载的
      • HTTPS 协议:更安全的超文本传输协议(HTTPS,Hypertext Transfer Protocol Secure),身披 SSL 外衣的 HTTP 协议
      • FTP 协议:文件传输协议 FTP(File Transfer Protocol),提供文件传输服务,基于 TCP 实现可靠的传输,使用 FTP 传输文件的好处是可以屏蔽操作系统和文件存储方式
      • SMTP 协议:简单邮件传输协议(SMTP,Simple Mail Transfer Protocol)的缩写,基于 TCP 协议,用来发送电子邮件 (接受邮件的协议不是 SMTP 而是 POP3 协议)
      • POP3/IMAP 协议:POP3 和 IMAP 两者都是负责邮件接收的协议
      • Telent 协议:远程登陆协议,通过一个终端登陆到其他服务器,被一种称为 SSH 的非常安全的协议所取代
      • SSH 协议:SSH(Secure Shell) 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题,SSH 建立在可靠的传输协议 TCP 之上

    • 运行于 UDP 协议之上的协议
      • DHCP 协议:动态主机配置协议,动态配置 IP 地址
      • DNS:域名系统 (DNS,Domain Name System) 将人类可读的域名 (例如,www.baidu.com) 转换为机器可读的 IP 地址 (例如,220.181.38.148),我们可以将其理解为专为互联网设计的电话薄,实际上 DNS 同时支持 UDP 和 TCP 协议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tytler

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值