3.2.3. IP Statistics Tables (IP 统计表)
IP 统计表 (ipSystemStatsTable 和 ipIfStatsTable) 包含用于计数给定实体已处理的数据报和八位字节数量的对象。与之前的尝试不同, 本文档为多种地址类型使用单个表。通常, 只有 IPv4 和 IPv6 这两种类型是感兴趣的, 但是如果需要, 该表可以支持其他类型。
第一个表 ipSystemStatsTable 传达系统范围的信息。(也就是说, 各种计数器适用于所有接口, 而不是特定的接口集。) 其索引由表示统计计数的地址类型的单个子 ID 组成。
第二个表 ipIfStatsTable 传达接口特定的信息。其索引由两个子 ID 组成。第一个表示地址类型 (IPv4 和 IPv6), 该地址类型内的接口由第二个子 ID 表示。
这两个表具有一组类似的对象, 旨在计数相同的事物, 只是粒度不同。对象 ID "ipSystemStatsEntry.2" 被保留, 以便将第一个表中计数器的对象 ID 与第二个表中的对应项对齐。
需要注意的几个对象是 ipSystemStatsDiscontinuityTime, ipIfStatsDiscontinuityTime, ipSystemsStatsRefreshRate 和 ipIfStatsRefreshRate。这些对象提供有关表中行的信息, 而不是关于系统本身的信息。
不连续对象允许管理实体确定是否发生了会使管理实体对计数器的理解失效的不连续事件。系统被重新初始化或接口被循环是不连续事件的可能示例。
刷新对象允许管理实体为其余对象确定适当的轮询间隔。
以下 Case 图表示数据包计数器的一般顺序。为了避免额外的混乱, 已从每个计数器名称中删除了前缀 "ipSystemStats" 和 "ipIfStats"。
from from
interface upper
layers
V V
| |
+ InReceives (1) + OutRequests
| |
| |
+--> InHdrErrors (5) +--> OutNoRoutes
| |
| |
+->-+ InMcastPkts (1) |
| V |
+-<-+ |
| |
+->-+ InBcastPkts (1) |
| V |
+-<-+ |
| |
| |
+--> InTruncatedPkts (5) |
| |
| |
+--> InAddrErrors |
| |
| |
+--> InDiscards (2) |
| |
| |
+--------+------->------+----->-----+----->-----+
| InForwDatagrams (6) | OutForwDatagrams (6)|
| V +->-+ OutFragReqds
| InNoRoutes | | (packets)
/ (local packet (3) | |
| IF is that of the address | +--> OutFragFails
| and may not be the receiving IF) | | (packets)
| | |
| | V OutFragOks
| | | (packets) (7)
| | |
+->-+ ReasmReqds (fragments) +-<-+ OutFragCreates
| | | (fragments)
| | |
| +--> ReasmFails (fragments (4)) +->-+ OutMcastPkts (1)
| | | V
| | +-<-+
+-<-+ ReasmOKs (reassembled packets) |
| +->-+ OutBcastPkts (1)
| | V
+--> InUnknownProtos +-<-+
| |
| |
+--> InDiscards (2) +--> OutDiscards (2)
| |
| |
+ InDelivers + OutTransmits (1)
| |
V V
to to
upper interface
layers
(1) HC 计数器和八位字节计数器也可以在这些点找到, 但为了清晰起见已被省略。
(2) 丢弃计数器可能在处理路径中的任何时间递增。在 InNoRoutes 左侧丢弃的数据包导致 InDiscards 计数器递增, 而在右侧丢弃的数据包则在 OutDiscards 计数器中计数。
(3) 输入侧的本地数据包在与其目标地址关联的接口上计数, 该接口可能不是接收它们的接口。此要求是由于在处理期间可能丢失原始接口, 尤其是重组。
(4) 某些重组算法可能在处理期间丢失对片段数量的跟踪, 因此某些片段可能不会在此对象中计数。
(5) InTruncatedPkts 仅应在帧包含有效报头但在其他方面短于要求的情况下递增。太短而无法包含有效报头的帧应计为 InHdrErrors。
(6) 即使对于本地发起或发往本地主机的数据包, 如果它们的地址使得本地主机需要转发数据包以将其传递到正确的接口, 转发对象也可能会递增。
(7) 当分片数据包时, 实体应递增 OutFragFails 计数器, 而不是 OutDiscards 计数器, 以保持等式 FragOks + FragFails == FragRqds。
这两个表中的对象分布在几个一致性组中, 这些组基于在一小时内包装计数器所需的带宽。基本系统组对所有实体都是强制的。其他系统组是可选的, 取决于带宽。接口特定组是可选的。