目录

简介

先决条件

要求

使用的组件

规则

过程

相关信息

简介

本文档介绍数据包的寿命。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您是在真实网络上操作，请确保您在使用任何命令前已经了解其潜在影响。

规则

有关文档规则的详细信息，请参阅 Cisco 技术提示规则。

过程

思科低端路由器包括1xxx、25xx、26xx、3600、3800、4000、4500和4700系列。使用这些路由器，某人通过电线发送消息，另一个系统中的控制器接收消息。该控制器在大多数系统上直接将数据包存储到缓冲区内存中。当消息被完全接收时，控制器存储一些指针信息以便入口驱动程序可以找到它，然后提供接收中断。

注意：如果控制器没有用于存储消息的缓冲区，则它此时会记录“ignore”，并且不会接收消息。

在将来的某个时刻，驱动程序会变为活动状态，通常以微秒为单位。驱动程序首先检查传输队列，然后检查接收队列。目前，我们将重点介绍接收队列处理。驱动程序检查队列的必要方面，确定有消息，从队列中删除消息，并补充控制器的接收缓冲列表。然后，它决定转发者(如IP或Internet分组交换(IPX))将消息转发给哪些转发者。

对于此解释，假设它是IP消息。驱动程序将希望将IP消息转发给已配置的IP快速路径。它首先从消息中删除链路层报头，然后确定是否在入口接口上配置了快速路径。如果未配置，则将数据包放置（标记）在“输入保持队列”中，并检查计数器。如果计数器为零，则“输入保持队列”将耗尽并丢弃数据包。如果计数器不为零，则会递减该计数器，并将消息列入进程路径。

注意：“输入保持队列”不是文字意义上的队列。它是接口上已接收且未完全处理的一组数据包（通过将消息转发到出口接口或释放缓冲区）。 但是，如果有已配置的快速路径，并且通常有，则消息会被传送到快速路径。

现在，快速路径将验证消息并将一些功能应用到未路由的消息。此步骤包括解密或解压缩，或同时执行（如有必要）网络地址转换(NAT)、应用输入承诺访问速率(CAR)测试、应用策略路由测试等。

策略路由（如果使用）实际选择出口接口。如果未使用策略路由，则下一步是在路由缓存中查找目的地址，即称为“交换数据包”的过程。 根据快速交换模式，该缓存的结构和内容会有所不同。在标准快速交换中，缓存包含最近使用的目标前缀路由或目标主机路由，并且偶尔没有缓存条目。在这种情况下，消息会突发到进程级别，再次标记为处于“输入保持队列”中。 在思科快速转发交换中，缓存（称为转发信息库或FIB）是完整的路由表，因此不会发生该过程。

如果找到路由，路由缓存条目（或“邻接”，在思科快速转发中称为）将指示输出软件和硬件接口以及消息上要放置的报头（下一相关跃点）。 对于多路复用接口，这将是下一个相关的虚电路或虚拟通道。

在该软件接口上，可能存在许多问题。例如，接口可能配置了小于消息大小的最大传输单位(MTU)。由于快速路径中没有分段，因此此特定事件将成为“跳到”进程级别的原因。此外，接口可能已配置为NAT处理、输出CAR等。此时，在消息处理过程中，将应用这些功能。最后，输出接口的链路层报头被固定到消息上，并交给输出驱动程序。

该消息将呈现给执行以下步骤的驱动程序中的快速发送例程。

1. 驱动程序会询问许多问题，例如“Do I me to copy the message to a new buffer before transfire？”

2. 它确定流量整形是否处于活动状态。如果流量整形处于活动状态，它会将消息到达速率与指示的消息类的消息传输速率进行比较。如果子接口上形成整形队列或队列不存在，但速率已超过，则会将消息放入软件接口上的队列。

3. 如果流量整形不处于活动状态、不适用于此消息或速率尚未超过，则驱动程序现在会询问输出控制器的传输队列深度是否低于tx-queue-limit。如果低于限制，驱动程序只需将消息排入队列即可传输。遵循此路径的消息被视为已在输入时快速切换和输出时快速切换。

4. 但是，如果无法快速交换，驱动程序会将消息转移到软件队列，通常称为“输出保持队列”。 此类保持队列的示例包括先进先出(FIFO)队列、优先级队列、自定义队列和加权公平队列(WFQ)。

由于这也是跟随进程路径的消息的目的地，因此此类消息被视为已在输入时快速切换和输出时进程切换。请注意，实际上，它们不是进程交换的。在快速路径中交换数据包时做出交换决策。但是，消息被转移到与进程路径共享的队列。当消息从保持队列中删除并入队到发送控制器时，该消息会被视为在稍后进行进程交换。

当消息无法在快速路径中传输时，会发生进程交换。这意味着消息已发送到此系统，最终（理想情况下）将被路由进程、链路维护进程、网络管理进程等消耗。但是，某些流量确实通过进程路径，例如使用链路分段和交织(LFI)在跳帧的网段之间交织语音的流量、X.25流量、需要分段的流量以及没有快速路径路由条目的流量。进程路径上的处理在概念上与快速路径相同，但由于各种原因在实施上不同。其中一个区别是，在输出中，“输入保持队列”标志被清除，并且输入接口上的计数器递增（从输入保持队列中删除消息），并且消息被入队到输出保持队列中。然后，模拟中断，该中断可触发在输出接口上的消息传输。由于流程开销，它比快速交换要慢；在收到此类消息时，可能会运行一些其他进程，而且还有一些更复杂的数据结构需要处理。

相关信息

- IP 路由协议支持页

- IP 路由 支持页

- 技术支持 - Cisco Systems