TCP/IP 模型

2025年9月8日 | 阅读 13 分钟

TCP/IP 模型简介

TCP/IP 模型是现代网络通信的基石,也是当今互联网使用的实际标准。无论是路由器、交换机、服务器还是终端用户设备,思科、Juniper、华为或诺基亚等供应商的几乎所有网络设备都遵循此结构。

与 OSI 模型不同,TCP/IP 模型主要作为一个理论参考,提供了一个现实世界的、即插即用的结构,说明数据如何在互联网络中传输、路由和获取。

TCP/IP 定义了一套规则和协议,允许各种硬件和软件进行通信,而不管其内部设计如何。这结束了过去不同制造商的网络设备无法协同工作的兼容性问题。通过采用通用标准,TCP/IP 促进了互联网的解释性、可扩展性和全球扩张。

其核心是,该模型依赖于两个基本协议:传输控制协议 (TCP),它确保可靠、有序、面向错误的传输;以及互联网协议 (IP),它负责网络中的寻址和路由。两者共同构成了强大的端到端通信系统的基础。

为了简化网络通信,TCP/IP 模型被划分为四个概念层

  • 网络接口层:负责物理传输和硬件寻址。
  • 互联网层:使用逻辑地址和路由的 IP。
  • 传输层:设备中的可靠或快速(TCP/UDP)确保数据传输。
  • 应用层:它支持终端用户服务和过程,如网页浏览、电子邮件、文件共享、远程访问和网络资源管理。

这种分层方法允许模型的每个组件执行特定任务,同时与其他组件协同工作。它还使得故障排除、协议设计和网络可扩展性更加结构化和易于管理。

简而言之,TCP/IP 模型是全球网络通信的实际基础,它解释了信息如何从一台计算机传输到另一台计算机。

TCP 和 IP 有什么区别?

尽管 TCP(传输控制协议)和 IP(互联网协议)作为 TCP/IP 套件的一部分协同工作,但它们在通信过程中扮演着非常不同的角色。TCP 主要负责确保两个设备之间的可靠数据传输。它工作在传输层,在该层建立连接,将大数据消息分割成小段,确保这些段按正确顺序发送,并恢复任何丢失或损坏的数据包。

另一方面,IP 工作在网络层,专注于数据包在网络中的移动。它为设备提供逻辑地址(IP 地址),并通过路由机制确定最佳路径,以确保数据包从源头发送到目的地。

与 TCP 不同,IP 是无连接的,这意味着它独立发送数据包,不保证它们的到达顺序。简单来说,TCP 确保应用程序之间的通信是准确、可靠和完整的,而 IP 则确保数据包在网络中找到自己的路径并真正到达正确的目的地。

总而言之,TCP 和 IP 相互补充——IP 负责网络通信的“去往何处”,而 TCP 则确保“如何可靠地发送”,这使得两者对于互联网通信都不可或缺。

TCP/IP 模型历史

TCP/IP 模型可以追溯到 20 世纪 70 年代初,当时美国国防部资助了一项研究,旨在创建一个通信结构,即使在网络故障时也能保持连接。

Vint Cerf 和 Bob Kahn 开发了 TCP/IP,它首次在 ARPANET 上实现,ARPANET 是为现代互联网奠定基础的领先研究网络。当时,网络技术分散,无法在各种系统之间可靠地进行通信。

TCP/IP 引入了一套通用的协议,使得不同的计算机和网络能够发起数据传输。它的灵活性来自于分组交换的概念,这使得信息可以采取多种路径到达目的地,从而避免了故障点。

多年来,这种适应性和健壮性使 TCP/IP 成为全球数字通信的支柱。它不仅标准化了网络通信,还提供了一个可以随着技术进步而发展的结构,确保了它从最早的实验网络到当今大规模的互联网基础设施的广泛适用性。

为什么要开发 TCP/IP 模型?

开发 TCP/IP 模型是为了提供一种可靠、标准化的方法,使计算机能够解决网络系统中不一致且常常相互冲突的边界问题。

其分层扭曲架构是一项重大创新,它将网络功能划分为独立的组件,如地址、数据传输和路由。这种划分使得网络实现和管理非常容易,工程师可以专注于单个层,而不会影响整个系统。

此外,TCP/IP 实现了不同硬件和软件平台之间的无缝互操作性,这在组织和研究机构开始扩展其长距离网络时尤为重要。

该模型还强调容错性:通过重传和数据包重新排序等机制,确保数据能够在网络部分拥堵时准确到达目的地。

通过建立这些标准,TCP/IP 不仅解决了实际通信问题,还为可扩展的全球互联网奠定了基础,使研究人员、政府和企业能够高效、安全地交换信息。其设计原则、健壮性和通用性至今仍是网络通信的核心。

TCP/IP 各层的功能

TCP/IP model

网络访问层

  • 网络访问层是 TCP/IP 模型的最底层。
  • 网络访问层是 OSI 参考模型中定义的物理层和数据链路层的组合。
  • 它定义了数据如何通过网络进行物理传输。
  • 此层主要负责在同一网络上的两个设备之间传输数据。
  • 此层执行的功能包括将 IP 数据报封装成网络传输的帧,并将 IP 地址映射到物理地址。
  • 此层使用的协议是以太网、令牌环网、FDDI、X.25、帧中继。

互联网层

  • 互联网层是 TCP/IP 模型的第二层。
  • 互联网层也称为网络层。
  • 互联网层的主要职责是发送来自任何网络的数据包,并确保它们在不考虑所经过的路由的情况下到达目的地。

以下是此层使用的协议:

IP 协议:IP 协议在此层使用,它是整个 TCP/IP 套件中最重要的部分。

以下是此协议的职责:

  • IP 寻址:此协议实现称为 IP 地址的逻辑主机地址。互联网和更高层使用 IP 地址来标识设备并提供互联网络路由。
  • 主机到主机通信:它决定了数据传输的路径。
  • 数据封装和格式化:IP 协议接收来自传输层协议的数据。IP 协议确保数据的安全发送和接收,它将数据封装成称为 IP 数据报的消息。
  • 分片和重组:数据链路层协议对 IP 数据报大小的限制称为最大传输单元 (MTU)。如果 IP 数据报的大小大于 MTU 单位,则 IP 协议将数据报分割成更小的单元,以便它们可以在本地网络上传输。分片可以由发送方或中间路由器完成。在接收端,所有片段都会被重新组装成原始消息。
  • 路由:当 IP 数据报在同一本地网络(如 LAN、MAN、WAN)上传输时,称为直接传递。当源和目的地在不同网络上时,IP 数据报会间接发送。这可以通过路由 IP 数据报通过路由器等各种设备来实现。

ARP 协议

  • ARP 代表地址解析协议
  • ARP 是一种网络层协议,用于从 IP 地址查找物理地址。
  • ARP 协议主要与以下两个术语相关:
    • ARP 请求:当发送方想知道设备的物理地址时,它会向网络广播 ARP 请求。
    • ARP 回复:连接到网络的所有设备都会接收 ARP 请求并处理该请求,但只有接收方识别 IP 地址,然后以 ARP 回复的形式发送回其物理地址。接收方将物理地址添加到其缓存内存和数据报头部。

ICMP协议

  • ICMP 代表互联网控制消息协议。
  • 它是一种主机或路由器用来将数据报问题通知发件人的机制。
  • 数据报从路由器到路由器传输,直到到达目的地。如果路由器由于链路禁用、设备着火或网络拥塞等异常情况而无法路由数据,则使用 ICMP 协议通知发送方该数据报无法送达。
  • ICMP 协议主要使用两个术语:
    • ICMP 测试:ICMP 测试用于测试目的地是否可达。
    • ICMP 回复:ICMP 回复用于检查目的地设备是否响应。
  • ICMP 协议的核心职责是报告问题,而不是纠正它们。纠正的责任在于发送方。
  • ICMP 只能将消息发送到源,而不能发送到中间路由器,因为 IP 数据报携带源和目的地的地址,但不携带经过的路由器的地址。

传输层

传输层负责通过网络发送的数据的可靠性、流量控制和纠错。

传输层使用的两个协议是用户数据报协议和传输控制协议

  • 用户数据报协议 (UDP)
    • 它提供无连接服务和传输的端到端交付。
    • 它是一种不可靠的协议,因为它会发现错误,但不会指定错误。
    • 用户数据报协议发现错误,ICMP 协议将错误报告给发送方,告知用户数据报已损坏。
    • UDP 包含以下字段:
      源端口地址:源端口地址是创建消息的应用程序的地址。
      目标端口地址:目标端口地址是接收消息的应用程序的地址。
      总长度:它定义了用户数据报的总字节数。
      校验和:校验和是一个 16 位字段,用于错误检测。
    • UDP 不会指定哪个数据包丢失。UDP 只包含校验和;它不包含任何数据段的 ID。
TCP/IP model
TCP/IP model
  • 传输控制协议 (TCP)
    • 它为应用程序提供完整的传输层服务。
    • 它在发送方和接收方之间创建一个虚拟电路,并在传输期间保持活动状态。
    • TCP 是一种可靠的协议,因为它能检测错误并重新传输损坏的帧。因此,它确保在传输完成并丢弃虚拟电路之前,必须接收并确认所有段。
    • 在发送端,TCP 将整个消息分割成称为段的较小单元,每个段都包含一个序号,用于重新排序帧以形成原始消息。
    • 在接收端,TCP 收集所有段并根据序号重新排序。

应用层

  • 应用层是 TCP/IP 模型中最顶层。
  • 它负责处理高级协议和表示问题。
  • 此层允许用户与应用程序进行交互。
  • 当一个应用层协议想要与另一个应用层协议通信时,它会将数据转发给传输层。
  • 应用层存在一些歧义。除了与通信系统交互的应用程序外,并非所有应用程序都可以包含在应用层中。例如:文本编辑器不能被视为应用层,而网页浏览器使用HTTP协议与网络交互,其中HTTP协议是应用层协议。

以下是应用层使用的主要协议:

TCP/IP 模型应用层提供直接支持用户应用程序的服务,并实现不同设备上运行的软件之间的通信。它定义了允许用户在 Internet 上访问、移动和管理数据的协议。以下是详细介绍的一些最广泛使用的应用层协议:

1. HTTP (超文本传输协议)

HTTP 是万维网数据通信的基础。它使浏览器和服务器能够通信,允许用户访问网页、多媒体内容和其他在线资源。通过 HTTP 可以传输课程、图片、音频和视频等数据。这之所以被称为“超文本”,是因为它支持文档之间的链接,允许用户从一页导航到另一页。现代 Web 用户经常依赖 HTTPS,它是 HTTP 的一个扩展,包含加密以提高安全性。

2. SNMP (简单网络管理协议)

SNMP 是一种用于监视和管理路由器、交换机、服务器和打印机等网络设备的协议。在 TCP/IP 协议套件上工作时,它允许网络管理员收集信息、检测故障以及远程配置设备。SNMP 使用管理器-代理模型,其中管理器查询代理(网络设备)以显示指标和配置详细信息,这些信息对于维护大型网络至关重要。

3. SMTP (简单邮件传输协议)

SMTP 是负责在 Internet 上发送电子邮件的协议。当用户发送电子邮件时,SMTP 确保电子邮件从发件人的邮件服务器发送到收件人的邮件服务器。它与其他协议(如 IMAP(Internet 消息访问协议)和 POP3(邮局协议 3))协同工作,这些协议用于检索邮件。SMTP 主要在 TCP 上运行,并确保邮件系统之间的可靠消息传输。

4. DNS (域名系统)

DNS 就像“互联网电话簿”。虽然计算机使用 IP 地址进行通信,但这些数字对人们来说很难记住。DNS 将人类易于理解的域名(例如 www.example.com)转换为其对应的 IP 地址。这使用户可以通过输入简单的名称而不是复杂的数字 URL 来访问网站,从而使互联网导航对用户更友好。

5. Telnet (终端网络)

Telnet 是最早的应用层协议之一,旨在允许用户在本地计算机上与远程机器建立基于文本的连接。连接后,本地系统就像直接操作远程系统的终端一样工作。尽管 Telnet 过去曾广泛用于远程管理,但它以纯文本传输数据,与 SSH(安全外壳)等现代选项相比,安全性较低。

6. FTP (文件传输协议)

FTP 是一种标准协议,用于在网络上的两台计算机之间移动文件。它允许用户从服务器上载和下载文件,支持文本和二进制文件格式。可以通过命令行界面或图形客户端软件访问 FTP。然而,由于传统的 FTP 不加密数据,因此通常首选 FTPS(安全 FTP)或 SFTP(SSH 文件传输协议)等安全变体来进行安全文件传输。

TCP 3 步握手过程

TCP(传输控制协议)通过一个称为 3 步握手的过程来确保两个设备之间的可靠通信。此过程在实际数据传输开始之前同步双方,确保客户端和服务器就初始序列号达成一致,并准备好进行全双工连接。

该过程包括三个基本阶段:SYN、SYN-ACK 和 ACK。

步骤 1 - SYN(同步)

当客户端想要建立通信时,它会发送一个设置了 SYN 标志的 TCP 段。此数据包包含客户端的初始序列号 (ISN),并表示它希望与服务器建立连接。

步骤 2 - SYN-ACK(同步+确认)

在收到客户端的 SYN 后,服务器会回复一个设置了 SYN 和 ACK 标志的段。ACK 通过确认接收到客户端的序列号来接受客户端的请求,而服务器的 SYN 则承载服务器的 ISN,以从其一侧开始通信。

步骤 3 - ACK(确认)

最后,客户端会发送一个 ACK 段进行响应,接受服务器的 ISN。此时,双方已交换并确认了序列号。双方的连接状态都已更新,数据传输可以开始。

此握手过程确保客户端和服务器都

  • 就初始序列号达成一致。
  • 确认就绪状态。
  • 建立可靠的全双工通信通道。

由于每次新连接的 ISN 都是随机选择的,因此该过程还可以通过防止近似序列号被利用来提高安全性。

TCP/IP 模型的好处

TCP/IP 模型提供了许多优点,这些优点促使其被全球广泛采用为标准的网络协议套件。

  • 其主要优势在于能够建立不同类型的计算机、操作系统和硬件平台之间的可靠通信,这实现了即插即用。
  • 分层架构简化了网络设计、实现和故障排除,因为每一层都专注于特定的任务,如寻址、路由或数据传输。
  • TCP/IP 路由支持广泛的协议,适用于各种规模的网络,从小型局域网到全球互联网。
  • 该模型高度可扩展,可以在无需重大重新设计的情况下适应网络增长。其客户端-服务器架构支持高效的分布式通信,而其协议则通过标准化工具和应用程序确保稳定、可靠和互操作性。
  • TCP/IP 支持检测和重传,提高了数据传输的可靠性。此外,它还允许与灵活的寻址、动态路由以及 VPN、云服务和无线网络等现代网络技术集成,使其能够灵活地满足不断发展的网络需求。

TCP/IP 模型存在哪些缺点。

虽然 TCP/IP 提供了强大的功能,但它也有一些缺点,可能给网络管理带来挑战。对于大型网络而言,该模型可能难以配置和管理,需要专门的知识和技术专长。

  • 其分层架构会引入开销,与 IPX 等简单协议相比,这会降低性能。尽管 TCP 提供了可靠性机制,但在未正确配置的情况下,整个模型并不能保证无差错地传输数据包。
  • TCP/IP 套件中的协议可能难以更改或修改,并且服务、接口和协议之间缺乏清晰的分离会使故障排除复杂化。
  • 此外,该套件缺乏某些协议(如 Telnet)内置的安全功能,这使得它们在没有加密的情况下会显得薄弱。
  • 为了防止拥塞和延迟,高速网络的可扩展性可能需要仔细调整。最后,TCP/IP 在网络设备上可能非常消耗资源,需要足够的处理能力和内存,这可能会限制其在资源极度有限的环境或旧硬件上的使用。
  • 尽管存在这些挑战,TCP/IP 凭借其可信赖性、标准化和灵活性,仍然是全球网络通信的基础。

下一个主题数字传输