TCP 与 UDP 的区别
一、TCP面向连接,UDP面向无连接
TCP 是位于传输层的可靠传输协议为用户提供面向连接的可靠传输,如何建立连接?,UDP则是为用户提供尽最大可能交付的无连接服务
二、传播特性
由于TCP面向连接,一条TCP连接只能有两个端点,即为***点对点***的数据传播,而且***TCP支持全双工通信***。而UDP***面向无连接,可提供点对点,点对多***,
三、传输单位
TCP的传输单位为***数据段,面向字节流***,没有固有的”报文”或”报文边界”的概念。TCP单次传输数据大小受到很多方面的影响,如发送窗口大小(即接收方的接受能力)、网络拥塞程度、最大传输单元大小、输出缓冲区数据等,因此TCP每次发送数据的量的决定方式导致了TCP面向字节流,即一个大的数据可能被拆分为多个,多个小数据可能会合并为一个,可能会导致粘包的问题
UDP的传输单元为***数据报,面向报文***,由于UDP提供进行最大可能交付的无连接服务,所以UDP并无需理会网络的状况以及接收方的情况,设计比较简单,因此,UDP每次发送都会完成发送一个报文,不会合并也不会拆分,因此数据报的大小可能会导致传输是否成功(不可靠)