标签:
TCP是面向连接的,可靠的,传输协议
UDP是无连接的,不可靠的,传输协议
两者的比较
1....是否需要建立连接...
使用UDP时,每个数据报文都包含完整的源地址以及目的地址,因此发送数据之前不需要建立发送方和接收方的连接。
TCP协议是一个面向连接的协议,发送方和接收方的成对的两个socket之间必须首先建立连接才能进行数据传输。
2....能够传输的数据的大小...
使用UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。
TCP没有这方面的限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大量的数据。
3....接受数据的正确性...
UDP使用尽最大努力交付,不保证可靠数据传输,而且到达的顺序与发送的顺序也不一定一样。TCP提供可靠交付的服务,接收方得到的是一个顺序的,无差错的数据流.
4....UDP是面向报文的,UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,在添加首部之后就向下交付给IP层。Tcp是面向字节流的,TCP中的流指的是流入到进程或者从进程流出的字节序列。TCP把应用程序交下来的数据块看成是一连串的无结构的字节流
5....效率。。
UDP的效率比TCP高.
6....UDP没有流量控制和拥塞控制,而TCP有。
既然有了保证可靠传输的TCP协议,为什么还要非可靠传输的UDP协议呢?
主要的原因有两个。
一是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间.和网络的带宽,因此TCP传输的效率不如UDP高
– 二是在许多应用中并不需要保证严格的传输可靠性,比如视频会议系统,并不要求音频视频数据绝对的正确,只要保证连贯性就可以了,这种情况下显然使用UDP会更合理一些.
标签:
原文地址:http://www.cnblogs.com/winner-0715/p/5032995.html