MLPPP 订阅者计费统计信息概述
对于宽带订阅者管理边缘路由器点对点协议 (PPP) 订阅者,计费统计信息包含两组:
聚合(IPv4 和 IPv6)统计信息组包含通过以下 RADIUS 属性报告的统计信息:
Acct-Input-Octets
、Acct-Output-Octets
、Acct-Input-Packets
和Acct-Output-Packets
。通过瞻博网络
ERX-VSA
151
报告的聚合统计信息组的 IPv6 部分。156
宽带用户管理 边缘路由器 PPP 逻辑接口 (IFL) 通过排除 PPP 控制流量,并在数据包即将离开路由器的位置递增数据包和八位位组,支持准确的核算统计。CoS、过滤器或监管器不会丢弃数据包。
对于 MLPPP 订阅者,将针对每个成员链路(目前限制为一个)而不是捆绑包执行计费。捆绑 IFL 仅支持准确的计费统计信息,而成员链路仅支持传输统计信息。因此,以下限制适用于成员链路最终聚合统计信息:
仅提供汇总统计信息,不提供特定于 IPv6 的统计信息;例如,
ERX-VSA 151
到156
都是零。通过成员链路发送和接收的数据包包括分段数据包和非分段数据包。
发送和接收的八位位组是分段和非分片数据包中的字节。
聚合统计信息包括可在路由器中丢弃的数据包,如 CoS、过滤器和监管器。
聚合统计信息包括 PPP 控制数据包(LCP、PAP、CHAP 和 NCP)和激活数据包。
以下主题介绍在成员链接及其捆绑包的查找引擎中的统计信息收集过程。
成员链路和捆绑统计信息收集
带有 MPC2 的 MLPPP 目前每个捆绑包仅支持一个成员链路。但是,对计费统计的支持必须考虑真正的多链路方案,即每个捆绑包存在多个成员链路。从查找引擎来看,只有捆绑包能够维护第 3 层统计信息。对于单个成员链路,仅计算与协议无关的片段(以及非分段数据包)。
图 1 显示了具有两个活动成员链路的 MLPPP 客户端以及由查找引擎维护的统计信息。对于具有 MPC2 的 MLPPP,每个成员链路和捆绑包可以驻留在不同的查找引擎上,从中维护计费统计信息。

客户端到互联网流量统计
当客户端向互联网发送 IP 数据包时,它们可能会被分段。例如,数据包 P1 分为 F1 和 F2,属于单个数据包的分段可以通过不同的链路发送(图 1)。
F1 在链路 1 上发送
F2 在链路 2 上发送
当 MX 系列上的链路 1 收到片段 F1 时,会将其标识为 MLPPP 封装的片段。由于第一个分片上标明了 IPv4 或 IPv6 族,因此在将分片转发到捆绑包进行重装之前,将使用与协议无关的方法对所有传入分片进行计数。
与协议无关的传入数据包计数递增 1。
与协议无关的传入字节计数会根据片段的大小递增。
类似地,在链路 2 上,片段 F2 也使用与协议无关的方法进行计数,然后转发到捆绑包进行重组。
片段 F1 到达捆绑包,并与其 MLPPP 报头一起存储,其中包含序列号(设置为 0),end flag
且序列号begin flag
设置为 1。
片段 F2 到达捆绑包,并与其 MLPPP 报头一起存储,其中包含序列号(设置为 1),end flag set
序列号begin flag
设置为 0。
单调递增序列号( begin flag
设置为 1 和 end flag
设置为 1)的模式会导致片段 F1 和 F2 重新组合成单个数据包。
数据包重新组合后,将在捆绑包处确定数据包的第 3 层类型(IPv4 或 IPv6)。然后,根据准确的核算统计信息,根据捆绑包中的第 3 层类型对数据包和字节进行计数:
bundleA_ipv4_packets_from_client += 1
bundleA_ipv4_bytes_from_client += packet_size
或
bundleA_ipv6_packets_from_client += 1
bundleA_ipv6_bytes_from_client += packet_size
互联网到客户端流量统计
相反,第 3 层数据包从互联网到达捆绑包。
数据包和字节根据捆绑包中的第 3 层类型进行计数:
bundleA_ipv4_packets_to_client += 1
bundleA_ipv4_bytes_to_client += packet_size
或
bundleA_ipv6_packets_to_client += 1
bundleA_ipv6_bytes_to_client += packet_size
如果数据包是分段的,则属于同一数据包的分段可以发送到不同的链路。由于链路上未标明 IPv4 或 IPv6 家族,因此将使用与协议无关的方法计算所有传出分段。
与协议无关的传出数据包计数递增 1。
传出字节计数与协议无关,随片段大小递增。
RADIUS 最终统计信息输出示例
以下输出示例显示 RADIUS 最终统计信息:
User-Name = "user@example.com" Acct-Status-Type = Stop Acct-Session-Id = "786" Acct-Multi-Session-Id = "787" Acct-Input-Octets = 1068151928 Acct-Output-Octets = 4268692096 Acct-Session-Time = 61965 Acct-Input-Packets = 406636696 Acct-Output-Packets = 357477811 Acct-Terminate-Cause = Lost-Carrier Service-Type = Framed-User Framed-Protocol = PPP Framed-IPv6-Pool = "v6-pool-21" Acct-Authentic = RADIUS Acct-Delay-Time = 0 ERX-Dhcp-Mac-Addr = "0090.1a41.ec2d" Event-Timestamp = "Oct 19 2012 10:31:03 IST" Framed-IP-Address = 10.0.0.3 Framed-IP-Netmask = 255.0.0.0 ERX-Input-Gigapkts = 0 Acct-Input-Gigawords = 6 NAS-Identifier = "kalka" NAS-Port = 306184213 NAS-Port-Id = "ge-1/1/9.21:21" NAS-Port-Type = Ethernet ERX-Output-Gigapkts = 0 Acct-Output-Gigawords = 4 ERX-Attr-151 = 0x00000000 ERX-Attr-152 = 0x00000000 ERX-Attr-153 = 0x00000000 ERX-Attr-154 = 0x00000000 ERX-Attr-155 = 0x00000000 ERX-Attr-156 = 0x00000000 NAS-IP-Address = 10.1.1.2 Acct-Unique-Session-Id = "03eeef735aef3520" Timestamp = 1350604541 Request-Authenticator = Verified