TCP与UDP的区别
TCP
TCP 称为 传输控制协议 Transmission Control Protocol
TCP协议的特点:
-
TCP是面向连接的协议
连接方式是 "三次握手" ,建立连接可以为数据传输的可靠性提供保证
-
只支持单播传输
因为 TCP 连接是 点对点的传输, 所以不支持多播和广播 ,就跟打以前的电话一样, 只能两个人打.
-
TCP是面向字节流的传输
-
TCP提供可靠传输
TCP会为每个包都起个编号, 如果丢包或者是误码 ,都会把这个包重传
-
TCP是全双工通信
什么是全双工通信呢? 就像是你家的电话线 ,电话线在同一时间既可以一边打电话又可以一边听电话 . 单工通信就是你这条电话线只可以在同一个时间只听电话,或者只打电话. 电视的电线就是个很好的例子, 电视只接收频道而不去自己发送信号给别人.
-
TCP有拥塞控制
当网络出现拥塞的时候,TCP能够减小向网络注入数据的速率和数量,缓解拥塞
UDP
UDP 称为 用户数据报协议 User Datagram Protocol
UDP协议的特点:
-
UDP是面向无连接的协议
也就是他不需要建立连接 , 想发信息就发给你 , 打电话要两个人同时在线(TCP) ,而无连接的UDP则像是发邮件 ,只是发出去不管你有没有收到.
-
UDP不止支持单播,还支持广播,组播等功能
就是可以同时给多个人发
-
UDP是面向报文的
-
UDP是不可靠的传输
因为不用建立连接所以想法就发,TCP再发之前还会跟你说一声, 所以在网络不好的时候,可能会丢失UDP的包,但是UPD也有它的好处,就是发消息很快.