计算机网络_UDP和TCP的区别

Posted 一只前端小马甲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络_UDP和TCP的区别相关的知识,希望对你有一定的参考价值。

以铜为镜可以正衣冠,以史为镜可以明得失,以文为镜可以修内功,本系列我们来说说计算机网络,修修内功以识这巨大的“网”。

一、为什么要了解

身处于巨大的万维网中,我们每天通过各种终端与他人保持着联系,可以说现代社会中,没有人会脱离计算机网络而独立存在。我们是怎样与他人保持联系的,我们的终端如何将信息发送到服务器的,这无不关乎计算机网络。

运输层是计算机网络体系结构中非常关键的层次之一,主要有两个协议:用户数据报协议UDP和传输控制协议TCP。协议听起来很抽象,实际上是计算机上运行的协议进程(程序)。因此要了解运输层,必须先了解这两个协议,它有助于我们理解计算机网络的工作原理,也有助于我们理解现代信息社会。

二、UDP的特点

UDP是TCP/IP运输层中一个重要的协议,UDP在传送数据前不需要先建立连接。远端主机的运输层在收到UDP报文后,不需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下却是最有效的工作方式,如:大规模的及时通信,可以参考这篇文章《开发即时通信是选择UDP还是TCP协议》

用户数据报协议UDP只在IP的数据报服务之上增加了很少一点的功能,即复用、分用以及差错检测的功能。UDP的主要特点是:

  1. UDP是无连接的。发送数据之前不需要建立连接,发送数据结束也不需要释放,因此减少了开销和发送数据之前的时延。
  2. UDP尽最大努力交付。不保证可靠交付,因此主机不需要维持复杂的连接状态表。
  3. UDP是面向报文的。发送方的UDP对应用程序叫下来的报文,既不合并,也不拆分,在添加首部就向下交付给IP层。
  4. UDP没有拥塞控制。网络出现拥塞时不会使源主机的发送速率降低,UDP刚好满足实时应用中,要求源主机以恒定的速率发送数据,允许网络拥塞时丢失一些数据,却不允许太大的数据时延。
  5. UDP支持一对一、一对多、多对一和多对多的交互通信
  6. UDP的首部开销小,只有8个字节,比TCP的20个字节的首部短。

三、TCP的特点

TCP是TCP/IP运输层中一个重要的协议,TCP在传送数据前必须先建立连接,数据传送结束后要释放连接。由于TCP要提供可靠的、面向连接的运输服务,因此增加了许多开销。TCP的主要特点是:

  1. TCP是面向连接的运输层协议。应用程序在使用TCP协议之前,必须先先建立TCP连接。在传送数据完毕后,必须释放已经建立的TCP连接。
  2. TCP只支持一对一。每一条TCP连接只能有两个端点,连接只能是点对点的。
  3. TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。
  4. TCP提供全双工通信。TCP允许通信双方的应用进程在任何时候都能发送数据,连接的两端都设有发送缓存和接受缓存。
  5. 面向字节流。TCP把应用程序交下来的数据看成是一连串的无结构的字节流,接收方的应用程序必须有能力识别收到的字节流,把它还原成有意义的应用层数据。

四、总结

本文首先提出了作为信息社会的一份子,了解网络体系结构中的运输协议的必要性,并解释了抽象的协议实际上是计算机上的进程;其次介绍了UDP协议的特点:UDP是不可靠、无连接、面向报文的、支持多对多的、无拥塞控制的运输层协议;最后介绍了TCP协议的特点:TCP是可靠的、面向连接、面向字节流、只支持一对一、提供全双工通信的运输层协议。

以上是关于计算机网络_UDP和TCP的区别的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络_UDP和TCP的区别

计算机网络_UDP和TCP的区别

日常小记_计算机网络

「 计算机网络 」说说TCP和UDP的区别及其应用场景

计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.

计算机网络—— TCP和UDP的区别