网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

现实生活中,TCP和UDP的应用实例

更新时间:2026年03月27日   作者:spoto   标签(Tag):

今天,我们将了解计算机网络中TCP和UDP的实际应用案例。

在了解TCP和UDP的实际应用案例之前,我们先来看看……

什么是计算机网络?

计算机网络是由一系列设备(节点)组成的网络,这些设备通过通信链路相互连接,从而实现数字信息的共享。
这些通信方式可以是无线方式,也可以是有线方式。在当今时代,很难想象没有计算机网络的世界。从与朋友聊天到进行视频通话,由于有了计算机网络的存在,一切皆有可能了。
计算机网络大致可以分为三种类型。

它们分别是:

  • 局域网(LAN)
    这是一个私有网络,通常涵盖办公室、建筑物或校园区域。网络速度范围在100到1000Mbps之间。
  • 广域网络(WAN)
    这涉及到将数据传输到广阔的地理区域,比如整个国家、整个大陆,甚至整个世界。
  • 城域网(MAN)
    它指的是在城市或城镇内及周围传输数据,因此被称为“ Metropolitan Area Network”。其规模介于局域网和广域网之间。

网络模型:

  • 网络是由硬件和软件共同构成的整体。
  • 网络的硬件部分由各种物理设备组成,比如交换机、集线器以及路由器等。这些设备负责将数据信号从一台网络传输到另一台网络。
  • 软件部分包含了网络正常运行所需的各种协议/规则。
  • 因此,根据上述要点,网络模型可以被分为两种类型。
    OSI参考模型
    2. TCP/IP参考模型

OSI参考模型:
开放系统互连模型(OSI模型)最早在20世纪70年代末被提出。它是一种用于设计具有强大且灵活性的网络架构的参考模型。该模型被全球广泛认可,用于描述各种应用程序在互联网上的通信方式。

OSI模型被划分为7个层次:

  • 为了降低设计的复杂性,网络被组织成多层结构。
  • 每一层都有其自己的一系列功能,这些功能有助于数据的成功传输。
  • 每一层都会将数据传递给其下方或上方的层。

这些层的结构如下:

  1. 应用层 –
    它包含的是应用层协议,这些协议使得网络应用程序能够在网络中正常运作。
     
  2. 表示层 -
    它负责接收来自应用层的数据,并承担数据的翻译、压缩以及加密/解密工作。
     
  3. 会话层 –
    它负责建立和管理连接。其功能包括身份验证、授权以及会话恢复。
     
  4. 传输层 -
    它负责接收来自会话层的数据。它还负责将消息从一个进程传递到另一个进程。它通过流量控制、错误控制和分段等方式来确保通信的可靠性。它支持两种协议:TCP和UDP。
     
  5. 网络层 -
    它负责将数据段从位于不同网络中的一台计算机传输到另一台计算机。
     
  6. 数据链路层 –
    负责将帧从一处传输到另一处。
     
  7. 物理层 –
    它的职责是将二进制位转换为信号,并通过本地介质进行传输。

TCP/IP参考模型:
TCP/IP协议中的各层与OSI模型中的层次并不完全对应。最初的TCP/IP协议被定义为包含四层:从主机到网络、互联网传输层,以及应用层。而TCP/IP参考模型则是对OSI模型理论结构的实际实现。


传输层:
在会话层之下的一层被称为传输层。 这一层中的数据被称为“段”。 它负责将一个进程中的消息传递给另一个进程。 它还负责通过流量控制、错误控制和分段处理来确保通信的可靠性。 其中一些非常重要的协议包括传输控制协议(TCP)和用户数据报协议(UDP)。 它包含两种传输方式:面向连接的传输和无连接传输。这两种传输方式分别由 TCP 和 UDP 来实现。

运输层的一些职责如下:

  • 端到端交付
  • 可靠性
  • 错误控制
  • 流量控制
  • 多路复用与解多路复用

传输控制协议(TCP):
这是一种面向连接的协议,用于实现数据在多个进程之间的可靠传输。该协议利用端口号来进行数据传输。在传输层面,它采用了流量控制和错误控制机制。TCP在发送方和接收方之间传输数据的过程分为三个阶段。

  • 连接建立 – 
    在建立连接的过程中,需要借助三路握手机制。这一机制涉及到SYN、ACK以及窗口大小的交换。
  • 数据传输—— 
    在这一步中,数据的传输过程就发生了。
  • 连接终止 – 
    在这种情况下,数据的传输是通过向接收方发送一个FIN数据包来终止的。

TCP所提供的服务包括以下内容:

  • 使用端口号进行点对点或端到端通信的过程
  • 将数据以字节流的形式从源端传输到目标端。
  • 它将来自应用程序的数据分组到称为“Segment”的数据包中。同时,它还会为每个数据段添加头部信息,然后将这些数据包发送到网络层。
  • 它提供了全双工通信功能。
  • 可靠的服務:TCP采用了一种确认机制,这使得其服务具有高度的可靠性。
  • 它还提供了流量控制、错误控制和拥塞控制功能。

优点:

  • 流量控制
  • 错误控制
  • 拥塞控制
  • 点对点沟通方式
  • 按顺序传递数据段

缺点:

  • 这些数据段并不会立即被传输出去。
  • 更多的开销信息(20-60字节)
  • 它有一个很大的TCP头部。

用户数据报协议(UDP):
它是一种传输层协议。这种协议并不可靠,也没有连接机制。不过,它的传输速度比TCP快得多,且更为简单高效。不过,由于该协议不检查错误,因此能够节省带宽资源。因此,它被广泛应用于视频游戏、语音或视频通信等实时服务中。
通过UDP发送的这些数据包被称为用户数据报。

UDP提供的服务包括以下内容:

  • 段之间的点对点传输过程
  • 无连接且开销极低的协议
  • 快速且简单的传输方式
  • 没有流量和错误控制机制。使用UDP服务的应用程序需要自行负责这些功能。
  • UDP负责将消息进行封装和解封装处理。

优点:
 

  • 由UDP协议所创建的数据包,其大小通常比TCP协议所创建的数据包要小一些(UDP头部:8字节)。
  • 无连接传输
  • 它更快、更简单且效率更高。

缺点:

  • 无法保证发送者能够收到这些数据。
  • 缺乏有效的错误检查机制
  • 那些丢失的数据包将不会被重新传输。
  • 有可能收到损坏或无法正常传输的数据包。

TCP的实际应用示例:

  1. 文本交流 –
    我们都知道,在当今时代,文本通信的重要性不言而喻。发送者和接收者之间的任何沟通失误都是不可容忍的。因此,在文本通信中,人们通常会使用TCP协议,因为TCP具有可靠的传输机制、错误控制功能,并且能够确保数据的准确接收。
    例如:WhatsApp、Instagram、Google Chat、iMessage。
     
  2. 文件传输或FTP——
    在文件传输过程中,当我们无法容忍数据丢失的情况时,那么确保数据的正确接收就变得至关重要。FTP使用两个TCP连接来实现数据传输:一个是控制连接,另一个是数据连接。
    控制连接:FTP用于传输诸如用户身份信息和密码之类的数据。
    数据连接:在这方面,文件是通过网络进行传输的。
    例如:FileZilla客户端和服务器
     
  3. 超文本传输协议(HTTP)
    它用于访问万维网上存在的数据。由于TCP协议能够确保数据的有序传输、实现错误控制与流量控制,同时还能对数据段进行重新传输,因此TCP协议被广泛应用于互联网上的网页访问。
     
  4. 简单邮件传输协议(SMTP)
    这是一种应用层协议,用于在不同系统之间发送电子邮件。SMTP利用TCP协议来与SMTP服务器建立连接。当SMTP服务器接受了连接请求后,它就会允许发件人发送邮件。
    例如:Yahoo、Gmail、Outlook等。

UDP在实际应用中的例子:

  1. 在线游戏 –
    我们玩的大多数在线游戏都使用了用户数据报协议这一技术。因为在在线游戏中,任何程度的延迟都是无法容忍的,所以UDP被广泛用于替代速度较慢的TCP协议。与TCP相比,UDP不会重新传输丢失的数据,它是一种无连接的协议,因此它的传输速度要快得多。
    例如:所有在线游戏
     
  2. 视频会议 –
    像 Skype、Gmeet、Zoom这样的视频会议应用程序,都使用了 UDP服务。因为这些应用程序都是实时运行的,所以任何数据传输的延迟都是不可接受的。
    例如:Skype、Google Meet、Zoom以及Facetime。
     
  3. 基于IP的语音通信技术 –
    它类似于视频会议。像Viber、WhatsApp、Google Hangouts这样的应用程序,都使用UDP协议来将我们的语音转换为数字数据,然后通过网络进行传输。因此,这种技术被称为VoIP。
    例如:Viber、WhatsApp语音通话功能,以及基于Wi-Fi的网络通话功能。
     
  4. 域名系统(DNS) –
    这是一种用于将域名与其对应的IP地址进行映射的服务。它由应用层使用。从某种意义上说,DNS也可以被看作是一个分布式数据库,其中包含一个分层式的名称服务器系统。由于以下原因,DNS使用UDP协议来获取相应的IP地址:
    a) UDP的传输速度比TCP快得多。毕竟,在加载网页时,速度是非常重要的因素。
    b) DNS请求通常属于小型请求,因此可以将其包含在UDP数据包的头部中处理。
    c) 尽管UDP是不可靠的传输方式,但在应用层实现时仍然可以取得成功。

因此,这些就是TCP和UDP在实际应用中的例子。

为什么DNS使用UDP而不是TCP呢?

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料