声明:本文为笔者复习计算机网络相关知识时的摘录,文章中的图片及语句均出自《鸟哥的Linux私房菜》,这里仅作为整理自用。
喜欢鸟哥文章的朋友可以到鸟哥的主页查看:http://linux.vbird.org/
非连接导向的 UDP 协议
UDP 的全名是:『User Datagram Protocol, 用户数据流协议』,UDP 与 TCP 不
一样, UDP 不提供可靠的传输模式,因为他不是面向连接的一个机制,这是因为在 UDP
的传送过程中,接受端在接受到封包之后,不会回复响应封包 (ACK) 给发送端,所以
封包并没有像 TCP 封包有较为严密的检查机制。至于 UDP 的表头资料如下表所示:
TCP 封包确实是比较可靠的,因为通过三向交握嘛!不过,
也由于三向交握的缘故,
TCP 封包的传输速度会较慢。 至于 UDP 封包由于不需要确认对方是否有正确的收到数
据,故表头数据较少,所以 UDP 就可以在 Data 处填入更多的数据了。同时 UDP 比较
适合需要实时反应的一些数据流,例如影像实时传送软件等, 就可以使用这类的封包
传送。也就是说, UDP 传输协议并不考虑联机要求、联机终止与流量控制等特性, 所
以使用的时机是当数据的正确性不很重要的情况,例如网络摄影机!
另外,很多的软件其实是同时提供 TCP 与 UDP 的传输协议的,举例来说,查询主
机名的 DNS 服务就同时提供了 UDP/TCP 协议。由于 UDP 较为快速,所以我们 client
端可以先使用 UDP 来与服务器联机。 但是当使用 UDP 联机却还是无法取得正确的数
据时,便转换为较为可靠的 TCP 传输协议来进行数据的传输啰。 这样可以同时兼顾快
速与可靠的传输!
Tips:
那么上课时怎么介绍 UDP 呢?很简单喔!鸟哥就会说:
『现在老师就是在进行 UDP 的传送,因为老师一直讲一直讲, 俺也没有注意到你有没有听到,也不需要等待你的响应封包!就这样一直讲!当然,你没有听到鸟哥讲啥,我也不会知道...』