博客园 首页 联系 管理

如果将用户数据报协议(UDP)与TCP做比较,可以认为UDP基本是一个缩小规模的经济化模式,有时也被称为瘦协议。UDP并不像TCP那样叮以提供所有的功能,但它在传送不要求可靠传输的信息方面的确做F很大的贡献,它在完成传输I作时只需要非常少的网络资源(请注意UDP是在RFC768中被定义的)。

最终使用UDP还足TCP的选择取决于应用程序开发者,而不是那些想加快数据传送的用户。UDP不排序所要发送的数据段.不关心这些数据段到达目的方时的顺序。UDP在发送完数据段后,就忘记它们。它不去进行这些后续工作,如去核对它们,或者产生一个安全抵达的确认,它完全放弃了可以保障传送可靠性的操作。

正是冈为这样,UDP被称为是一个不可靠的协议。但这并不意味着UDP就是无效率的,它仅仅表明,UDP是一个不处理传送可靠性的协议。更进一步讲,UDP不去创建虚电路,并且在数据传送前也不联系口的方。正因为这一点,它叉被称为是无连接的协议。由于UDP假定应用程序会保证数据传送的可靠性,因而它不需要对此做任何的△作。这给应用程序开发者在使用因特网协议栈时多提供了一个选择:使用传输可靠的TCP,还是使用传输更快的UDP。

UDP数据段的格式:

源端口号(16) 目的端口号(16)
长度(16) 校验和(16)
数据(若有的话)

源端口号 发送数据主机上应用程序的端口号。
目的端口号 日的主机上请求应用程序的端口号。
长度 UDP报头和UDP数据的长度。
校验和 UDP报头和UDP数据字段两者的校验和。
数据 上层数据。 

posted on 2012-03-27 14:16  CodeBlove  阅读(2116)  评论(0编辑  收藏  举报