TCP与UDP的区别

1、TCP是面向连接的可靠协议,在发送数据前需要先建立连接,UDP是无连接且不可靠的协议

   TCP是面向连接的协议,在收发数据前必须和对方建立可靠的连接,建立连接的3次握手、断开连接的4次挥手,增加了TCP协议的可靠性,TCP的检验和、序列号、确认应答、超时重传、快速重传、连接管理、流量控制、窗口控制、拥塞控制、ARQ协议这些特点都保证了TCP的可靠传输;

    而UDP协议在发送数据前不需要建立连接,接收方收到UDP报文后不需要给出确认,UDP不提供对数据包的分组、组装和排序,当报文发送后,无法知道报文是否安全完整到达接收端

2、TCP是一对一的协议,UDP可以一对一、一对多、多对一、多对多进行通信

  TCP连接时只能有两个端点(服务器、客户端),每条TCP连接是点对点的(一个发一个收);

  UDP无连接,支持一对一、一对多、多对一和多对多的交互通信

3.TCP首部长度为20~60字节,额外开销大;UDP首部字段有8个字节,标题短,开销小

   TCP首部包括20个字节固定首部+长度可变的其他选项,其中固定首部的20个字节分为5个部分,每部分占4个字节(32位)

    UDP首部有8个字节,分为4部分,每部分占2个字节

 

 4.TCP面向字节流,而UDP面向报文进行传输

   TCP协议进行传输时把应用层传下来的报文看成字节流,把字节流组织成大小不等的报文段;

   UDP以数据报文段的形式进行传输

5.TCP传输效率比UDP传输效率高

   根据UDP无连接,不可靠等特点,UDP协议相较TCP协议而言简单、资源要求少、传输速度快、实时性高,所以UDP效率更高

6.TCP适合要求通信数据可靠的应用场景,UDP适合要求通信速度快的应用场景

   TCP适合对传输效率要求低,但准确率要求高的应用场景,比如:万维网(HTTP)、文件传输(FTP)、电子邮件(SMTP)等;

   UDP是无连接的不可靠传输,发送端尽最大努力交付数据,协议简单、适用于对传输效率要求高,但准确率要求低的应用场景,比如:语音、视频等

总结:

TCPUDP
是否面向连接面向连接无连接
是否可靠可靠不可靠
传输形式字节流数据报文段
资源开销
传输效率
应用场景要求通信数据可靠要求通信速度快
首部字节20~60个字节8个字节
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值