赞
踩
(可以直接跳到二、三看协议设计部分)
UDP协议的工作是将待发送的网络数据流量压缩成数据报的形式,然后由服务器端发送给客户端。但是UDP协议是面向无连接的,它只提供最大努力的服务,也就是说UDP协议不带有在发送端进行数据报分组,在接收端再对收到的报文进行重新 排序和组装的功能。这样一来,当一个数据报从发送端出发后,系统是不对报文进行顺序编号和检查的,在接收端也就无法感知各个报文间的先后顺序和是否存在丢包。
这是UDP的报文首部的结构,其中前两行表 示为UDP协议规定的每一个UDP数据报必须带有的报头信息,UDP数据报头共由8个字节构成,报头的后面则是传输中的数据部分。UDP数据报的报头由4个域组成,分别为:源端口号、目的端口号、数据报长度以及校验和,其中每个域各占用2个字节。
UDP协议的主要特点有:
1、UDP 是面向无连接的
2、UDP是面向无连接的。
3、UDP报文首部只有8个字节。
4、传输的吞吐量不受传输速率调节算法的影响,这样就排除了对传输速度的限制瓶颈。
5、UDP 是用的是尽最大努力交付,它不关心数据传输双方的连接状态,所以主机也就不用维护复杂的链接状态表。
6、UDP 是面向报文的。对于应用程序交予传输层的报文,UDP协议不做报文的拆分或合并的操作,只是简单的在报文前添加首部并保留这些报文的原始边界,并选择合适的报文大小交给应用层处理。
由于UDP协议不需要进行确认的连接,所以编写基于 UDP 协议的文件传输应用程序比较简单。当然这也是UDP传输程序最大的缺点,那就是它不提供可靠地数据传输。使用UDP协议的数据传输中,发送端只是不停地像接收方发送数据,而接收方也只是简单的尽最大努力收集发来的数据,而不做数据完整性的检测。在这种机制下,如果数据传输过程中产生丢包,收发双方都是感知不到的。尤其在网络拥塞或线路噪声较大时,丢包、错包或是收到的报文不按顺序到达的情况会更加严重,影响传输效果。所以 UDP 协议在一些重要数据的传输场景下是被摒弃的。
综上所述,对于相对重要的数据传输,UDP 协议是不合适的,但对于一些不那么重要的数据,也就是即使偶尔出现丢包也不会有太大影响的,而且对传输速率要求较高的,如音频、视频数据等,UDP传输协议还是最好的选择。
具体要求:
1)下层使用不可靠的UDP服务ÿ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。