首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

关于UDP协议的懂得

2012-09-25 
关于UDP协议的理解之前一直基本都是在关注TCP协议,写的程序都是基于TCP协议的。今天想来谈谈对另一种传输协

关于UDP协议的理解

之前一直基本都是在关注TCP协议,写的程序都是基于TCP协议的。今天想来谈谈对另一种传输协议-UDP(User Data Protocol)的理解。

相对于TCP,UDP只提供了一种保证,那就是:收到的数据会是完整的。但它不能保证数据是不是真的按照期望能被收到,也不能保证数据是不是只接收一次,更不能保证收到的信息顺序和发出的时候的次序是一致的。

这是UDP的缺点,但也刚刚好造就了它的一个优点。因为它基本不提供什么保证,在打开数据连接和关闭连接方面的时间消耗几乎可以忽略,比较适合用于那些对连接开销很在意的情景,同时也适合简单对安全传输要求不高的数据交互场合。

通常UDP会用在客户端向服务端申请一个比特的信息,如果服务器没有回复请求则会继续申请。用得最为广泛的UDP软件是我们最为熟悉的DNS系统。因为客户端一般只要发送一个很简端的请求,并收到一个很简短的回答,UDP就很适合这种情景。另外,流式音频和视频中要求尽快的传输数据,对于少量的信息包的丢失尚可容忍,而不能容忍由于严格处理丢包而带来的开销,所以这种情况用UDP会更加合适。

下面是总结一下TCP和UDP的适用场合,作为一个参考。


TCP协议更适用于下面的场合,如果:

(1)需要一个可靠地数据传输,以保证数据完整无缺的到达目的地。

(2)协议中需要多个请求和服务器的答复。

(3)需要发送比较多的数据。

(4)能够容忍由于建立或关闭连接带来的性能开销。


UDP协议更适用于下面的场合,如果:

(1)不大关心信息包是否被收到或者不大在乎信息包的被接收的次序。

(2)协议中的内容只包括简短的基本请求和回答。

(3)希望尽快建立网络链接。

(4)传输的数据量少。UDP的信息包的大小限制为64KB以内。



热点排行