当前位置:   article > 正文

使用不可靠的UDP设计可靠的文件传输协议_带确认的udp

带确认的udp

一、了解UDP协议一些具体细节

(可以直接跳到二、三看协议设计部分)
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服务ÿ

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/187153
推荐阅读
相关标签
  

闽ICP备14008679号