MLPPP 订阅者计费统计信息概述
对于宽带用户管理边缘路由器点对点协议 (PPP) 用户,记帐统计信息包含两组:
聚合(IPv4 和 IPv6)统计信息组由通过以下 RADIUS 属性
Acct-Input-Octets报告的统计信息组成:、Acct-Output-Octets、Acct-Input-Packets、Acct-Output-Packets和 。聚合统计信息组的 IPv6 部分通过瞻博网络
ERX-VSA到151156报告。
宽带用户管理边缘路由器 PPP 逻辑接口 (IFL) 通过排除 PPP 控制流量并在数据包即将离开路由器的点递增数据包和八位位组,来支持准确的记帐统计数据。数据包不会被 CoS、过滤器或监管器丢弃。
对于 MLPPP 订阅者,系统将针对每个成员链路(目前仅限于一个)执行核算,而非捆绑包。捆绑 IFL 仅支持准确记帐统计,成员链路仅支持传输统计。因此,以下限制适用于成员链路最终聚合统计信息:
仅提供聚合统计信息,没有特定于 IPv6 的统计信息;例如,
ERX-VSA 151to156都是零。通过成员链路发送和接收的数据包包括分段数据包和非分段数据包。
发送和接收的八位位组是分段和非分段数据包中的字节。
聚合统计信息包括路由器中可能丢弃的数据包,如 CoS、过滤器和监管器。
聚合统计信息包括 PPP 控制数据包(LCP、PAP、CHAP 和 NCP)和激活数据包。
以下主题介绍查找引擎中成员链接及其捆绑包的统计信息收集过程。
成员链路和捆绑统计信息收集
使用 MPC2 的 MLPPP 目前仅支持每个捆绑包一个成员链路。但是,在支持记账统计信息时,必须考虑每个捆绑包存在多个成员链路的真实多链路场景。从查找引擎来看,只有捆绑包能够维护第 3 层统计信息。对于单个成员链路,仅计算与协议无关的分段(加上非分段数据包)。
图 1 显示了具有两个活动成员链路和由查找引擎维护的统计信息的 MLPPP 客户端。对于使用 MPC2 的 MLPPP,每个成员链路和束都可以驻留在维护记帐统计信息的不同查找引擎上。
的 MLPPP 客户端
客户端到互联网流量统计信息
当客户端向互联网发送 IP 数据包时,它们可能会被分段。例如,数据包 P1 被分片为 F1 和 F2,属于单个数据包的分片可以在不同的链路上发送(图 1)。
F1 在链路 1 上发送
F2 在链路 2 上发送
当 MX 系列上的链路 1 收到分片 F1 时,该分片会被识别为 MLPPP 封装分片。由于第一个分片上指示了 IPv4 或 IPv6 家族,因此在将分片转发到捆绑包进行重装之前,将使用与协议无关的方法对所有传入分片进行计数。
与协议无关的传入数据包计数将递增 1。
与协议无关的传入字节计数按分片的大小递增。
同样,在链路 2 上,片段 F2 也会使用与协议无关的方法进行计数,然后转发到捆绑包进行重组。
片段 F1 到达捆绑包并与其 MLPPP 报头一起存储,其中包含序列号 begin flag ,设置为 0,设置为 end flag 1。
片段 F2 到达捆绑包并与其 MLPPP 报头一起存储,其中包含序列号 begin flag ,设置为 1,设置为 end flag set 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