UDPLite协议是什么

摘要:
UDP-Lite协议相对来说是较新的,和UDP协议有些类似,但是它更加适应于网络的差错率比较大,但是应用对轻微差错不敏感的情况,例如实时视频的播放等。需要注意的是ChecksumCoverage的范围为:当其值为0时,表示对整个UDP-Lite数据包进行校验。当其值˃=8时,表示对UDP-Lite包的前ChecksumCoverage个字节进行校验。其他值是非法的,包括超过了UDP-Lite数据包大小的ChecksumCoverage值。

轻量级用户数据包协议(UDP-Lite) 网友:xiaosuo 发布于: 2006.12.15 21:28 (共有条评论) 查看评论 | 我要评论 从 LWN 获知Linux-2.6.20-rc1已经发布,带来了一些新的驱动和功能,当然还包括一些更新了。这其中就包括了对UDP-Lite的支持,有些好奇,当然要一探其究竟了。 UDP-Lite协议相对来说是较新的,和UDP协议有些类似,但是它更加适应于网络的差错率比较大,但是应用对轻微差错不敏感的情况,例如实时视频的播放等。 那么它与传统的UDP协议有什么不同呢? 传统的UDP协议是对其载荷(Payload)进行完整的校验的,如果其中的一些位(哪怕只有一位)发生了变化,那么整个数据包都有可能被丢弃,在某些情况下,丢掉这个包的代价是非常大的,尤其当包比较大的时候。在UDP-Lite协议中,一个数据包到底需不需要对其载荷进行校验,或者是校验多少位都是由用户控制的,并且UDP-Lite协议就是用UDP协议的Length字段来表示其Checksum Coverage的,所以当UDP-Lite协议的Checksum Coverage字段等于整个UDP数据包(包括UDP头和载荷)的长度时,UDP-Lite产生的包也将和传统的UDP包一模一样。事实上,Linux对UDP-Lite协议的支持也是通过在原来的UDP协议的基础上添加了一个setsockopt选项来实现控制发送和接受的checksum coverage的: int val = 20; setsockopt(s, SOL_UDPLITE, UDPLITE_SEND_CSCOV, &val, sizeof(int)); int min = 20; setsockopt(s, SOL_UDPLITE, UDPLITE_RECV_CSCOV, &min, sizeof(int)); 创建一个UDP-Lite套接字也是很简单的: s = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDPLITE); s = socket(PF_INET6, SOCK_DGRAM, IPPROTO_UDPLITE); 所以将一个UDP程序移植到UDP-Lite是相当得简单。 需要注意的是Checksum Coverage的范围为: 当其值为0时,表示对整个UDP-Lite数据包进行校验。 当其值>=8时,表示对UDP-Lite包的前Checksum Coverage个字节进行校验。 其他值是非法的,包括超过了UDP-Lite数据包大小的Checksum Coverage值。参考链接: http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/ http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/files/UDP-Lite-HOWTO.txt

免责声明:文章转载自《UDPLite协议是什么》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇磁盘阵列的状态与种类 天高地厚c程序的执行过程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

iOS  UDP 广播 AsyncSocket 用法

因为业务需要,需要用广播发送一个字段,在iOS开发中,用到了AsynSocket。 1.定义一个属性,负责发送和接受数据 #define YX_Local_Host @"255.255.255.255" #define YX_Lockl_Port 48899 @property(nonatomic,strong)AsyncUdpSocket *send...

TCP协议与 UDP协议 网络的上网流程

Python 小白,网络集合。 TCP协议与UDP协议 1.TCP协议: 可靠传输,==TCP数据包没有长度限制,理论上可以无限长,==但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。 以太网头 ip 头 tcp头 数据 理论上可以无限长 位于传输层, 提供可靠的字节流服务。所...

网络编程(InetAddress类、UDP、TCP)

1、InetAddress类 (1)IP和端口号: IP(InternetProtocol,IP)互联网协议地址:唯一标识一台计算机。 端口号:用于区分不同的应用程序。取值范围是0~65535,其中0~1023被系统保留。 在计算机A访问计算机B是通过IP地址进行查找的,接着在计算机B上通过应用程序的端口号找到相应的程序。 (2)InetAddress类...

《Python》网络编程之客户端/服务端框架、套接字(socket)初使用

一、软件开发的机构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:QQ、微信、网盘等这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯,而这两个分类又对应了两个软件开发的架构 1、C/S架构 C/S即:Client与Server,...

TCP帧

说一下UDP ( 首先是伪首部:伪首部是计算检验和时临时添加在UDP用户数据报前面伪首部(pseudo header),通常有TCP伪首部和UDP伪首部。在UDP/TCP伪首部中,包含32位源IP地址,32位目的IP地址,8位填充0,8位协议,16位TCP/UDP长度。通过伪首部的校验,UDP可以确定该数据报是不是发给本机的,通过首部协议字段,UDP可以确...

UDP 单播、广播、多播

一、UDP广播 广播UDP与单播UDP的区别就是IP地址不同,广播使用广播地址255.255.255.255,将消息发送到在同一广播网络上的每个主机。值得强调的是:本地广播信息是不会被路由器转发。当然这是十分容易理解的,因为如果路由器转发了广播信息,那么势必会引起网络瘫痪。这也是为什么IP协议的设计者故意没有定义互联网范围的广播机制。 广播地址通常用于在...