User Datagram Protocol(UDP)详解
2015-10-24 21:12
579 查看
UDP协议
UDP是User Datagram Protocol(用户数据报协议)的英文缩写。UDP只提供一种基本的、低延迟的被称为数据报的通讯。所谓数据报,就是一种[/u]自带寻址信息,从发送端走到接收端的数据包。UDP协议经常用于路由表数据交换转发和系统信息、网络监控数据等的交换。UDP协没有TCP那样的三次握手并且基于数据报,因此UDP不基于连接,也没有TCP那样丰富的头信息以实现诸多功能。
UDP数据报的头只包含了类似于TCP中包含的UDP源端口、UDP目的端口号、两个字节的校验和域、两个字节的信息长度域(用来告诉接收端信息的大小,让接收端判断信息是否有效)。
由于UDP协议是如此简单,所以不要指望UDP连接会像TCP连接那样可靠,它一点都不可靠,UDP只负责尽力的转发数据包,但是却不会把错误的数据报重新发送,它会丢弃掉所有被破坏或者损坏的数据报,并且继续后面的传送,至于被丢弃的部分,发送端不知道,也不会被接收端要求重新发送;除此之外,UDP不具备把乱序到达的数据报重新排列的功能(因为没有TCP头中包含的TCP序列号),这样一来,UDP便是完全不可靠的,因为你根本就无法保证你收到的数据是完整的。但是,UDP协议的不可靠并不代表UDP是毫无用处的,恰恰相反,没有了和TCP一样的复杂头信息,各种设备处理UDP数据报的时间将会大大缩短,效率比TCP要高得多,你可以想象,你看13页书比看4页书需要用的时间谁会更多。由于UDP处理的这种高效性,UDP往往被用于那些数据报不断出现的应用,比如IP电话或者实时视频会议,也被用于在路由器之间传输路由表更新信息、传送网络管理和监控数据等,DNS也是使用UDP协议进行域名转换。
UDP是User Datagram Protocol(用户数据报协议)的英文缩写。UDP只提供一种基本的、低延迟的被称为数据报的通讯。所谓数据报,就是一种[/u]自带寻址信息,从发送端走到接收端的数据包。UDP协议经常用于路由表数据交换转发和系统信息、网络监控数据等的交换。UDP协没有TCP那样的三次握手并且基于数据报,因此UDP不基于连接,也没有TCP那样丰富的头信息以实现诸多功能。
UDP数据报的头只包含了类似于TCP中包含的UDP源端口、UDP目的端口号、两个字节的校验和域、两个字节的信息长度域(用来告诉接收端信息的大小,让接收端判断信息是否有效)。
由于UDP协议是如此简单,所以不要指望UDP连接会像TCP连接那样可靠,它一点都不可靠,UDP只负责尽力的转发数据包,但是却不会把错误的数据报重新发送,它会丢弃掉所有被破坏或者损坏的数据报,并且继续后面的传送,至于被丢弃的部分,发送端不知道,也不会被接收端要求重新发送;除此之外,UDP不具备把乱序到达的数据报重新排列的功能(因为没有TCP头中包含的TCP序列号),这样一来,UDP便是完全不可靠的,因为你根本就无法保证你收到的数据是完整的。但是,UDP协议的不可靠并不代表UDP是毫无用处的,恰恰相反,没有了和TCP一样的复杂头信息,各种设备处理UDP数据报的时间将会大大缩短,效率比TCP要高得多,你可以想象,你看13页书比看4页书需要用的时间谁会更多。由于UDP处理的这种高效性,UDP往往被用于那些数据报不断出现的应用,比如IP电话或者实时视频会议,也被用于在路由器之间传输路由表更新信息、传送网络管理和监控数据等,DNS也是使用UDP协议进行域名转换。
相关文章推荐
- 修改Ubuntu默认运行级别,启动字符界面
- python学习笔记(一)变量和数据类型
- Windwos2008 R2 域控制器重命名
- Linux下安装docker
- 判定两条线段是否相交
- Login
- C语言生成随机数
- 宽带猫拨号报错651,虚惊一场
- MySQL主从配置
- 宽带猫拨号报错651,虚惊一场
- 程序员需要具备的基本技能
- Oracle 创建序列自增
- rtsp协议
- 面向对象基础3:多态.虚方法
- 谷歌公布惊人股票回购计划,股价一小时疯涨10%
- Ubuntu 12.04下修改host name 和终端显示
- git使用方法
- hdu2029
- 《设计模式》之代理模式
- CodeForces 477B-E - Dreamoon and Sets-构造规律题