UDP和TCP都是建立在TCP/IP四层模型中的传输层协议,但是它们代表两种截然不同的传输方式。
UDP和TCP的不同点
1.TCP是需要建立连接(全双工),并且只能一对一。UDP是无连接以数据包的形式发送数据,可以一对一,一对多,多对多,具有广播的功能。
2.TCP有复杂的首部格式并且占20-60字节,UDP首部格式简单占8字节。
3.TCP相比UDP来说效率低,因为TCP有复杂的建立和释放连接的操作(三次握手四次挥手)和复杂的首部格式。
4.TCP是可靠的传输协议,UDP是不可靠的传输协议。三次握手四次挥手,重传机制,流量控制,拥塞避免,这些都保证的了TCP的可靠性。
补充
重传机制:依靠快速重传,超时重传,SACK方法来实现重传机制;
快速重传:三次同样的ACK会导致浏览器进行重传
拥塞控制:慢开始,拥塞避免,快重传,快恢复。
慢开始:发送方一开始只能发送一个报文段,随后指数增长
拥塞避免:报文段指数增加到达门限值后每次只增加一个报文段,如果出现超时会将门限降至现有的一半然后每次只增加一个报文段(执行快恢复)
快重传:发送放接到三个连续的确认后就会发送对方尚未收到报文段
快恢复:当发送方收到三个相同的确认字后进行将门限值除以二,从新的门限开始累加发送报文数