TCP:传输控制协议
TCP特点:
1)TCP是面向连接的运输层协议。所以,应用程序在使用TCP协议之前,必须先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。
2)每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
3)TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。
4)TCP提供全双工通信。TCP允许通信双方的应用进程在任何时候都能发送数据。
TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。
在发送时,应用程序在把数据传送给TCP的缓存后,就可以做自己的事,而TCP在合适的时候把数据发送出去。
在接收时,TCP把收到的数据放入缓存,上层的应用进程在合适的时候读取缓存中的数据。
5)面向字节流。TCP中的“流”指的是流入到进程或从进程流出的字节序列。
UDP:用户数据报协议
UDP特点:
1)UDP是无连接的。即发送数据之前不需要建立连接,所以发送数据结束时也没有连接可释放,因此减少了开销和发送数据之前的延迟。
2)UDP使用尽最大努力交付,即不保证可靠交付。
3)UDP是面向报文的。
4)UDP没有拥塞控制。
5)UDP支持一对一、一对多、多对一和多对多的交互通信。
6)UDP的首部开销小。