20、TCP与UDP的概念,相互的区别及优劣
2014-04-27 22:17
387 查看
1、TCP(Transmission Control Protocol)的概念
TCP是一种面向连接的,提供可靠交付服务和全双工通信的,基于字节流的端到端的传输层通信协议。TCP在传输数据之前必须先建立连接,数据传输结束后要释放连接。
每一条TCP连接只能有2个端点,故TCP不提供广播或多播服务。
TCP提供可靠交付,通过TCP连接传输的数据,无差错、不丢失、不重复、并且按序到达。
TCP是面向字节流的。虽然应用进程和TCP的交互是一次一个数据块(大小不等),但TCP把英语程序交下来的数据看成仅仅是一连串的无结构的字节流。TCP并不知道所传输的字节流的含义。
2、UDP(User Datagram Protocol)的概念
UDP是一种无连接的,尽最大努力交付的,基于报文的端到端的传输层通信协议。UDP,在发送数据之前不需要建立连接
UDP不保证可靠交付,主机不需要位置复杂的连接状态
UDP是面向报文的。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的的边界,即应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。在接收端,UDP一次交付一个完整的报文。
UDP没有拥塞控制,网络出现的拥塞不会使源主机的发送速率降低。
UDP支持一对一、一对多、多对一和多对多的交互通信。
UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。
3、区别
TCP协议面向连接,UDP协议面向非连接TCP协议传输速度慢,UDP协议传输速度快
TCP协议保证数据顺序,UDP协议不保证
TCP协议保证数据正确性,UDP协议可能丢包
TCP协议对系统资源要求多,UDP协议要求少
4、使用情况
TCP协议适用于对效率要求相对低,但对准确性要求相对高的场景下,或者是有一种连接概念的场景下;而UDP协议适用于对效率要求相对高,对准确性要求相对低的场景。相关文章推荐
- TCP和UDP的区别,拥塞窗口的概念,如何建立一个TCP连接
- TCP打洞和UDP打洞的区别 (相互直接访问)
- TCP和UDP概念和区别
- APP开发实战20-TCP和UDP区别
- 以QQ举例 说明计算机网络中的一些概念区别(TCP与UDP,广播与单播)
- TCP与UDP在概念上的区别
- TCP和UDP概念和区别
- TCP与 UDP的区别
- TCP和UDP的区别
- socket TCP和UDP的区别对比http://www.cnblogs.com/zengqinglei/archive/2013/04/27/3046119.html
- tcp与udp的区别
- TCP、UDP、RTP(RTCP)异同与区别
- TCP和UDP的最完整的区别
- 浅谈TCP和UDP的区别
- TCP与UDP区别
- TCP、UDP、ICMP、IGMP的解释和区别
- UDP和TCP的区别
- TCP和UDP协议的区别
- udp和tcp的区别
- TCP与UDP区别