TCP VS UDP

来源:互联网 发布:中华联合保险公司知乎 编辑:程序博客网 时间:2024/05/02 11:49

http://blog.csdn.net/zjf280441589/article/details/44940475


TCP VS UDP

1)TCP

    TCP是一种面向连接的(一对一),提供可靠交付全双工通信的,基于字节流的端到端传输层通信协议。

    面向连接: TCP在传输数据之前必须先建立连接,数据传输结束后要释放连接。

    一对一: 每一条TCP连接只能有2个端点,故TCP不提供广播或多播服务。

    可靠交付: TCP提供可靠交付,通过TCP连接传输的数据,无差错、不丢失、不重复、并且按序到达。

    基于字节流: TCP是面向字节流的。虽然应用进程和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流, 而并不知道所传输的字节流的含义。

 

2)UDP

    UDP是一种无连接的,尽最大努力交付的全双工通信的,基于报文的端到端传输层通信协议。

    无连接: UDP在发送数据之前不需要建立连接

    尽最大努力交付: UDP不保证可靠交付,主机不需要维持复杂的连接状态

    面向报文: UDP是面向报文的。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的的边界,即应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。在接收端,UDP一次交付一个完整的报文, 因此应用程序需要选择合适的报文大小。

其他:

    UDP没有拥塞控制,网络出现的拥塞不会使源主机的发送速率降低。

    UDP支持一对一、一对多、多对一和多对多的交互通信。

    UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。


1 0
原创粉丝点击