3. 数据包的路径

理解数据如何在网络上传输是网络技术的基础。这个旅程,通常被称为数据包路径(packet path),涉及不同协议和硬件之间的协同工作。让我们在两种常见场景中追踪数据包路径:在本地网络内通信和与外部网络通信。

本地网络内的数据包路径

当设备向同一本地网络上的另一个设备发送数据包时,过程相对直接。

  1. 首先,发送主机通过将其与自身的 IP 地址和子网掩码进行比较,检查目标 IP 地址是否在同一子网内。
  2. 要发送数据包,主机需要四个关键信息:源 IP、目标 IP、源 MAC 地址和目标 MAC 地址。最初,主机不知道目标主机的 MAC 地址。
  3. 主机使用地址解析协议(ARP)来查找缺失的信息。它在本地网络上广播一个 ARP 请求,询问哪个设备拥有目标 IP 地址。相应的设备会回复其 MAC 地址。
  4. 知道了目标 MAC 地址后,数据包就完全寻址完毕,可以直接发送到本地网络上的目标主机。

外部网络的数据包路径

当数据包的目标是本地网络外的设备时,该过程涉及路由器来转发数据包。

  1. 发送主机确定目标 IP 地址不在其本地网络上。由于 ARP 广播仅限于本地网络,主机无法直接发现最终目标的 MAC 地址。
  2. 主机查阅其路由表。由于没有针对外部 IP 的特定路由,它使用默认路由,该路由指向默认网关(路由器)。数据包使用原始的源 IP 和目标 IP 地址准备就绪。但是,目标 MAC 地址设置为默认网关的 MAC 地址。如果不知道网关的 MAC 地址,主机使用 ARP 来查找它。
  3. 一旦数据包到达路由器,路由器会检查目标 IP 地址并查阅其自身的路由表,以确定数据包路径上的下一跳。然后,路由器会重写数据包的 MAC 地址:源 MAC 变为路由器的 MAC,目标 MAC 变为下一跳的 MAC。这个过程在路径上的每台路由器上重复。
  4. 当数据包最终到达连接到目标本地网络的路由器时,该路由器使用 ARP 查找最终主机的 MAC 地址并交付数据包。
  5. 在整个旅程中,数据包头中的源和目标 IP 地址保持不变。只有 MAC 地址在每跳时都会更新。

登录以保存您的学习进度

登录

练习

实践造就完美!以下是一些实践实验,以加强您对基本 Linux 文件和目录管理的理解:

  1. Linux 中的基本文件操作 - 在真实的 Linux 环境中练习文件系统导航、文件和目录管理以及命令行快捷键的使用。
  2. 文件和目录操作 - 学习目录结构导航、文件和文件夹管理,以及使用lscdmkdircpmvrm等强大的命令行工具。
  3. 组织文件和目录 - 通过使用cpmvrm命令来组织项目结构、移动文件和清理不必要的目录,来练习基本的 Linux 文件管理技能。

这些实验将帮助您在实际场景中应用概念,并建立对 Linux 文件系统交互的信心。

测验

给定本地网络上主机的 IP 地址,使用哪种协议来查找其 MAC 地址?请用三个大写字母的缩写回答。