1.TCP与UDP的区别?
TCP和UDP都是传输层的协议,对于TCP来说在传输数据前是必须要建立连接的,而UDP在传输数据前不需要建立连接;TCP是可靠传输服务,有三次握手、数据的确认、重传等机制,而UDP是不可靠的,不保证数据不丢失;TCP是有状态的,传送的数据是否发送、是否被接收都有标识,而UDP是无状态的,只考虑数据发送了没有,并不考虑数据是否被安全接收;因为TCP必须确保消息传输更加的可靠,所以传输效率会比UDP低一些;TCP传输是面向字节流的,而UDP传输是面向数据报文段的;TCP只支持点对点通信,不提供广播,而UDP支持一对一、一对多、多对一、多对多,所以支持广播。
TCP | UDP | |
---|---|---|
是否面向连接 | 是 | 否 |
是否可靠 | 是 | 否 |
是否有状态 | 是 | 否 |
传输效率 | 较慢 | 较快 |
传输形式 | 字节流 | 数据报文段 |
首部开销 | 20 ~ 60 bytes | 8 bytes |
是否提供广播或多播服务 | 否 | 是 |