UDP和TCP

TCP和UDP是传输层的两个主要协议。TCP提供可靠的、面向连接的服务,包括流量控制和拥塞控制,适合对准确性要求高的应用。而UDP则简单快速,不保证数据完整,适用于效率优先、容错能力较强的应用。两者在连接性、可靠性、效率和流量控制等方面有显著区别。TCP常用于网页浏览、文件传输等,而UDP常用于实时视频、在线游戏等场景。
摘要由CSDN通过智能技术生成

首先,在说这两个的区别之前,我们先了解一下这两个是干什么的?

UDP和TCP都是位于传输层的协议,用来提供端对端的接口

一、UDP

用户数据包协议,面向数据报的通信协议:对应用层交下来的报文,不合并,不拆分,只是在上面加上首部就交给网络层。

首部包括:源端口,目的端口,长度,校验和 4个字段,每个字段占用2个字节

特点:

  • 不提供复杂的控制机制,利用IP提供面向无连接的通信服务
  • 传输过程中丢失任何数据不负责重发
  • 包的到达顺序出现乱序没有纠正功能
  • 无法进行流量控制等行为避免网络拥堵
  • 不保证接收方收到完整数据,只拥有一个校验和功能保证报文是否完整,如果校验失败,直接丢弃不作任何处理

二、TCP

传输控制协议,面向字节流的通信协议:将上层交下来的数据看做无结构的字节流发送

特点:

  • 充分实现传输时的各种控制功能,可进行丢包时的重发控制,对顺序乱掉的包进行顺序控制、
  • 只有确认通信对端存在才会发送数据,从而控制通信流量的浪费
  • 在IP无连接的网络上也能实现可靠性高的通信

三、区别

TCPUDP
可靠性可靠不可靠
连接性面向连接无连接
报文面向字节流面向报文
效率传输效率低传输效率高
双共性全双工一对一,一对多,多对一,多对多
流量控制滑动窗口
拥塞控制慢开始,拥塞避免,快重传,快恢复
传输效率
  • TCP面向连接,建立连接3次握手,断开连接4次挥手;UDP面向无连接,传输前后不建立连接,发送端发送到网络,接收端从消息队列接受
  • TCP提供可靠的服务,传输过程采用流量控制,标号和确认,计时器等手段确保数据无差错;UDP尽可能传递数据,但不保证完好的传到对方手里
  • TCP面向字节流,将字节流分解为多个TCP报文段传输,在目的站重新装配。UDP面向报文,不拆分应用层报文,保留报文边界,一次发送一个报文,接收方去掉首部后直接交给上层

应用场景如下:

 

TCP应用场景:对效率要求低,准确率要求高,UDP正好相反

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值