UDP与TCP的区别
- UDP是无链接的,即发送数据以前不须要创建链接,发送数据结束时也没有链接能够释放,所以减小了开销和发送数据以前的时延。目的主机的运输层在收到UDP报文后,不须要给出任何确认。
- TCP是面向链接的运输层协议,也就是说,应用程序在使用TCP协议以前,必须先创建TCP链接,在传送数据完毕后,必须释放已经创建的TCP链接
- UDP尽最大努力交付,即不保证可靠交付,所以主机不须要维持复杂的链接状态表。
- TCP提供可靠交付的服务。经过TCP链接传送的数据,无差错、不丢失、不重复,而且按序到达。
- UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层,应用层交给UDP多长的报文,UDP就照样发送,既不合并,也不拆分,一次发送一个报文。
- TCP是面向字节流的,即TCP把应用程序交下来的数据仅仅当作是一连串的无结构的字节流
- UDP支持一对1、一对多、多对一和多对多的交互通讯
- 每一条TCP链接只能有两个端点,每一条TCP链接只能是点对点的(一对一)。
- UDP没有拥塞控制,所以网络出现的拥塞不会使源主机的发送速率下降。
- UDP的首部小,只有8个字节,比TCP的20个字节的首部要短
- TCP提供全双工通讯。TCP容许通讯双方的应用进程在任什么时候候都能发送数据。TCP链接的两端都设有发送缓存和接收缓存,用来临时存放双向通讯的数据。在发送时,应用程序在把数据传送给TCP的缓存后,就能够作本身的事情了,而TCP在合适的时候把数据发送出去。在接收时,TCP把收到的数据方法缓存,上层的应用进程在合适的时候读取缓存中的数据。 参考书籍:计算机网络(第7版) 谢希仁
欢迎关注本站公众号,获取更多信息