Node的UDP模块
UDP简介
- User Datagram Protocol,简称UDP,又称用户数据报协议
- 和TCP一样,位于网络传输层用于处理数据包
- UDP最大的特点是无连接
- UDP传输速度快
- UDP数据传输不可靠
- 不提供数据包分组,组装和不能对数据包进行排序的缺点,也就是说,当报文发送以后,是无法得知其是否完全到达的
- 可靠性由应用层负责
- 支持一对一通信,也支持一对多通信
- 许多关键的互联网应用程序使用UDP
- 如DNS域名系统服务,TFTP简单文件传输协议,DHCP动态主机设置协议 等
- UDP适用于对速度要求比较高,对数据质量要求不严谨的应用
- 例如流媒体、实时多人游戏、实时音视频
UDP和TCP的区别
区别 | UDP | TCP |
---|---|---|
连接 | 无连接 | 面向连接 |
速度 | 无需建立连接,速度较快 | 需要建立连接,速度较慢 |
目的主机 | 一对一,一对多 | 仅能一对一 |
带宽 | UDP报头较短,消耗带宽较少 | 消耗更多的带宽 |
消息边界 | 有 | 无 |
可靠性 | 低 | 高 |
顺序 | 无序 | 有序 |
事实上,UDP协议的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才有可能发生。
通俗来说,TCP和UDP都是数据传输方式的协议,比如说我要给你钱,我是以手把手方式给你(TCP)还是快递大包的方式给你(UDP)
UDP的三种传播方式
UDP单播
- 单播是目的地址是单一目标的一种传播方式
- 地址范围:0.0.0.0~255.255.255.255
UDP广播
- 目的地址为网络中的所有设备
- 地址范围分为两种
- 受限广播:它不会被路由转发,IP地址的网络字段和主机字段全为1就是地址255.255.255.255
- 直接广播:会被路由转发,IP地址的网络字段定义这个网络,主机字段通常全为1,如192.168.10.255
UDP组播
- 多播(Multicast)也叫组播,把信息传递给一组目的地地址
- 地址范围:244.0.0.0~239.255.255.255
- 224.0.0.0~224.0.0.255 为永久地址,224.0.0.0保留不分配,其他供路由协议使用
- 224.0.1.0~224.0.1.255 为公共组播地址,可以用于Internet
- 224.0.2.0~238.255.255.255 为用户可用的组播地址(临时组),全网范围有效,使用需要申请
- 239.0.0.0~239.255.255.255 为本地管理组播地址,仅在特定本地范围有效