网络协议笔记:UDP

面试题:TCP和UDP的区别?
UDP是面向无连接的,TCP是面向连接的:在互通之前,是否会先建立连接
TCP提供可靠的交付,通过TCP传输的数据,无差错、不丢失、不重复、且按序到达。UDP不保证不丢失,也不保证按序到达。
TCP是面向字节流的,发送的时候发的是一个流,没头没尾;UDP是基于数据包的,一个一个的发/收。
TCP有拥塞控制和流量控制,UDP一直发。
TCP是一个有状态的服务,会精确的记着发送了没有,接收了没有,发送到哪了,接受到哪了;UDP是无状态的服务。
1、所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构维护双方交互的状态,用这样的数据结构来保证所谓的面向连接的特性。
2、UDP的三大特点:
(1)简单,相信网络环境靠谱,不需要大量的数据结构、处理逻辑等;
(2)轻信,谁都可以给这个端口传数据,他也可给任何人传数据;
(3)无论网络情况,该发接着发;
3、UDP使用场景
(1)需要资源少,在网络情况比较好的内网,或对丢包不敏感的应用。DHCP就是基于UDP协议的,一般获取IP地址都是内网请求,取不到IP也没事。
(2)不需要一对一沟通,建立连接,而是可以广播的应用。UDP的不面向连接的功能,可以使得可以承载广播或者多播的协议。DHCP就是一种基于广播的形式。
(3)需要处理速度快、时延低,可以容忍少数丢包,即便网络阻塞,继续一往无前。

如果实现的应用需要有自己的连接策略,可靠保证、时延要求,使用UDP,然后在应用层实现这些最好不过。
4、基于UDP的几个例子
(1)网页或APP的访问:QUIC(全称Quick UDP Internet Connections,快速 UDP 互联网连接)Google提出的一种基于UDP改进的通信协议(应用层);
(2)流媒体协议:直播应用一般都基于UDP实现了自己的视频传输协议;
(3)实时游戏:自定义可靠的UDP协议,自定义重传策略,把丢包产生的延迟降到最低;
(4)物联网
(5)移动通信领域

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值