首先从特点出发
TCP的特点:
- 面向连接
- 可靠传输
- 面向字节流
UDP的特点:
- 面向无连接
- 不可靠传输
- 面向数据报
根据两者的特点进行具体的分析
1.TCP的面向连接体现在,使用TCP协议之前,需要先经过三次握手操作建立连接,连接成功之后双方才能进行通信,当通信完之后还需断开连接;但是UDP就不需要,只需要知道对方的IP和端口号就可以直接进行传输数据,不管数据有没有安全到达
2.UDP协议支持一对一、一对多、多对一和多对多的交互通信。 而 TCP协议仅支持一对一的交互通信.
3.TCP提供可靠的服务。TCP通过重传机制,确认应答,滑动窗口实现可靠传输,连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
4.TCP协议的面向字节流说的是TCP协议将所发送的数据块看成是一连串无结构的字节流,然后根据当前情况将数据进行分组发送
UDP是采取的面向数据报的方式,传输数据就没有TCP这么灵活了,你要发送多大的数据必需一次性按原样发出,不能分多次发送,所以UDP所传输的数据是有限的,最大长度是64K(包含UDP首部),如果发送的数据超过了64K,就需要在应运层手动的进行分包,多次发送。