TCP:提供面向连接的可靠传输
要进行三次握手四次挥手、只能端对端的连接、全双工通讯(允许双方同时发送信息,也是四次挥手的原由)、面向字节流、头部开销大(最少20个字节)
优点:可靠、稳定、有确认、窗口、重传、拥塞控制机制,在数据传完之后,还会断开连接用来节约系统资源
缺点:慢、效率低,占用系统资源高,在传递数据之前需要先建立连接,这会消耗时间,在数据传递时,确认机制、重传机制、拥塞机制等都会消耗时间,而且要在每台设备维护所有的传输连接
应用:要求数据准确、对数据没有硬性要求的场景。如:FTP(文件传输)、HTTP/HTTPS(超文本传输)。
UDP:提供面向无连接的不可靠传输
不需要连接、面向报文(每次收发都是一整个报文段)、没有拥塞控制不可控(只管发不管过程和结果)、支持一对一、一对多、多对一、多对多的通讯范式、首部开销很小(8字节)。
优点:快,没有TCP各种机制,少了很多首部信息和重复确认的过程,节省了大量的网络资源。
缺点:不可靠、不稳定、只管数据的发送不管过程和结果,网络不好的时候很容易造成数据丢失。
应用:在网络不好的时候不会影响主机的数据传输速率,因此常用与实时性要求高的应用程序,如:语音通话、视频会议等