目录
预备知识
1.UDP协议概述
UDP是User Datagram Protocol(用户数据协议)的简称,是一种无连接的协议,该协议工作在OSI模型中的第四层(传输层),处于IP协议的上一层。传输层的功能就是建立“端口到端口”的通信,UDP提供面向事务的简单的不可靠信息传送服务。
2.什么是UDP协议
UDP协议是一种无连接的协议,该协议用来支撑那些需要在计算机之间传输数据的网络应用,包括网络视频会议系统在内的众多客户/服务器模式的网络应用。
UDP协议的主要工作就是将网络数据流量压缩成数据包的形式。一个经典的数据包就是一个二进制数据的传输单位。每一个数据包的前8字节用来包含包头信息,剩余字节则用来包含具体的传输数据。
3.UDP协议的特点
UDP使用底层的互联网协议来传送报文,同IP一样提供不可靠的无连接传输服务。它也不提供报文到达确认、排序及流量控制等功能。下面详细介绍UDP协议的特点,如下所示:
1.UDP是一个无连接的协议,也就是传输数据之前,源端口和目标端口不能建立连接。当它想传输时,就简单地抓取来自应用程序的数据,并尽可能快的把它扔到网络上。在发送端,UDP传输数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽限制。在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
2.由于传输数据不建立连接,因此也就不需要维护连接状态。所以,一台服务器可同时向多个客户机传输相同的消息。
3.UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。
4.吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端口和目标端口主机性能的限制。
5.UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表。
6.UDP是面向报文的。发送方的UDP对应用程序传输下来的报文,添加首部后就向下传送给IP层。既不拆分,也不合并,而是保留这些报文的边界。因此,应用程序需要选择合适的报文大小。
虽然UDP是一个不可靠的协议,但它是分发信息的一个理想协议。例如,在屏幕上报告股票市场,在屏幕上显示航天信息等等。UDP也用在路由信息协议RIP(Routing Information Protocol)中修改路由表。在这些应用场合下,如果有一个消息丢失,几秒之后另一个新的消息就会替换它。UDP广泛用在多媒体应用中,例如,Progressive Networks公司开发的RealAudio软件,它是在因特网上把预先录制的或者现场音乐实时传送给客户机的一种软件。该软件使用的RealAudio audio-on-demand protocol协议就是运行在UDP之上的协议。大多数因特网电话软件产品也都运行在UDP之上,如QQ聊天、视频、网络电话、迅雷等。