HTTP
TCP
TCP和UDP各有什么特点,两者有什么区别
TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。
两者的区别大致如下:
- TCP面向连接,UDP面向非连接即发送数据前不需要建立链接
- 使用 TCP 连接需要经过三次握手,断开连接需要经过四次挥手。相比于 TCP,UDP 则是面向无连接的,它像一个随时可以进行通信的协议,只要接收方创建了 Socket,设置了监听端口,就能接收到到达的 UDP 包,并且能随时建立 Socket 进行发包。
- TCP提供可靠的服务(数据传输),UDP无法保证
- TCP 保证可靠的数据传输,它根据速率控制,重传控制,还有数据校验保证提供可靠的数据传输服务。而 UDP 只是保证尽力而为地传输数据,并不保证数据的可靠性。
- TCP面向字节流,UDP面向报文
- TCP 可以对数据的发送速率作控制,它具有流量控制和拥塞控制机制,通过控制滑动窗口的大小控制数据的发送速率。而 UDP 理论上是可以无限地向网络中发数据包的,它的发送速率取决它的应用程序设置。
- TCP数据传输慢,UDP数据传输快
- TCP 的报文段头部占20各字节,比 UDP 的报文段头部多12个字节。消耗的资源更多。由于建立连接有握手的机制,TCP 的使用效率会比 UDP 要低一些。