美文网首页网络
网络知识体系(六) —— UDP 协议

网络知识体系(六) —— UDP 协议

作者: Vic_wkx | 来源:发表于2021-05-27 10:13 被阅读0次

转自 HuanBlog:这一篇 TCP 总结请收下

UDP 协议是最精简的网络协议,他只实现了运输层的基本功能:进程间通信。对于应用层传过来的数据,UDP 为其附加一个首部之后,就直接交给网络层了。UDP 的首部非常简单,只有三个部分:

  • 源端口、目标端口:端口号用来区分主机的不同进程
  • 校验码:用于校验数据包在传输的过程中没有出现错误,例如某个 1 变成了 0
  • 长度:报文的长度

所以 UDP 协议的功能也只有两个:区分不同的进程、校验数据包是否发生错误。

1.优点

  • 效率高:不需要建立连接、断开连接,不需要拥塞控制等等
  • 可以连接更多的客户端:没有连接状态,不需要为每个客户端创建缓存等信息
  • 首部字节少,开销小:TCP 固定首部是 20 字节,而 UDP 只有 8 字节,更少的首部意味着更大比例的数据部分
  • 可以进行广播:UDP 不是面向连接的,所以可以同时对多个进程发送报文,实现广播功能

2.缺点

  • 无法保证消息完整、正确到达,UDP 是一个不可靠的传输协议
  • 缺少拥塞控制,容易互相竞争资源,导致网络瘫痪

3.适用场景

在一些需要高效率传输,并且允许有限误差的场景下可以使用 UDP 协议。如视频直播,并不需要保证每个数据包都完整到达,允许一定的丢包率,此时使用 UDP 可以使数据包传输更快。

在广播通信时使用 UDP 协议,例如路由选择协议(Routing Information Protocol,RIP)就是采用的 UDP 协议。

在网络请求的 DNS (domain name server)解析过程中,既使用了 TCP 协议,又使用了 UDP 协议。

DNS 规范规定了两种类型的 DNS 服务器,一种叫主 DNS 服务器,一种叫辅助 DNS 服务器主 DNS 服务器从自己本机的数据文件中读取 DNS 信息,辅助 DNS 服务器主 DNS 服务器中读取 DNS 信息。当一个辅助 DNS 服务器启动时,他需要与主 DNS 服务器通信,这叫做 区传送。区传送对准确性要求比较高,因此采用 TCP 协议。

当客户端向 DNS 服务器查询域名时,一般返回的内容都不超过 512 字节,因数据量较小,因此用 UDP 协议传输即可。这样可以保证 DNS 服务器负载更低,响应更快。如果发生了丢包,重传整个数据包即可。

相关文章

  • 网络知识体系(六) —— UDP 协议

    转自 HuanBlog:这一篇 TCP 总结请收下[https://qwerhuan.gitee.io/2021/...

  • 计算机网络技术(三)——网络协议和体系结构

    摘要 网络协议和体系结构概述 OSI参考模型 TCP/IP参考模型 TCP和UDP 一、网络协议和体系结构概述 网...

  • 网络编程面试题总结

    网络编程知识→ tcp、udp、http、https 等常用协议tcp协议:传输控制协议(TCP,Transmis...

  • UDP

    网络协议是每个前端工程师都必须要掌握的知识,我们将先来学习传输层中的两个协议:UDP 和TCP。 UDP UDP ...

  • TCP和UDP

    TCP协议为TCP/IP协议;UDP为UDP/IP协议。TCP和UDP都是对应网络七层协议上的传输层。IP属于网络...

  • 2016年8月21日学习笔记

    socket实时聊天技术 知识点: 网络协议:TCP、UDP、TLS、DCCP、SCTP、RSVP、OSPF 等网...

  • java Socket编程(udp篇)

    概述 关于网络的基础知识,请自行google,这里通过socket(udp)来实现一个简单的对话。 Udp协议的S...

  • TCP

    聊聊iOS中网络编程长连接的那些事 网络编程基础知识: 简述传输层协议TCP和UDP的区别总结:TCP协议在传送数...

  • 网络

    网络 1.TCP / UDP 协议 TCP (Transmission Control Protocol)和UDP...

  • 回首网络知识之 UDP 协议

    最近开始在恶补网络知识,算是一个复习,在学习了很多上层建筑之后回来看看之前的基础确实又有一个新的认识。一开始准备看...

网友评论

    本文标题:网络知识体系(六) —— UDP 协议

    本文链接:https://www.haomeiwen.com/subject/khhcsltx.html