配置BGP Accounting功能
应用环境
通过配置BGP Accounting特性,可以根据BGP属性传播BGP流量索引来对路由进行标识分类,进而根据分类对流量进行计费。
BGP Accounting可以统计本AS域和跨域的流量,并且可以统计进、出该域方向的流量。
配置思路
1. 配置BGP的基本功能
2. 配置BGP发布的本地网络路由
3. 配置建立BGP连接所使用的接口
4. 在BGP路由发送路由器上配置BGP属性
5. 配置路由策略设置流量索引。创建路由策略的节点,并进入路由策略视图,通过配置If-match子句,设定匹配条件,设置流量索引。
6. 应用设置了流量索引的路由策略。启动BGP,进入BGP视图,创建BGP对等体,配置BGP路由的接收策略。
7. 在接口下应用BGP Accounting。缺省情况下,是对目的地址匹配;如果配置参数source,则是对源地址匹配。
配置注意事项
仅在需要查找转发表的情况下,BGP Accounting才生效。例如,始发接口配置出方向计费,则BGP Accounting无效。
配置实例
如下图所示,路由器RouterA和RouterB是BGP邻居,RouterB是BGP路由的发送方,RouterA是接收方,并且RouterB发送给RouterA的BGP路由设置了团体属性,要求通过配置使RouterA可以实现流量统计功能。
配置BGP Accounting功能
适用产品和版本
设备采用使用VRP的一些路由器产品,版本为(VRP5.30)及后续版本
配置步骤
步骤 1 配置各接口的IP地址(略)
步骤 2 在RouterA和RouterB上配置OSPF,实现互通
# 配置RouterA。 [RouterA] router id 1.1.1.1 [RouterA] ospf [RouterA-ospf-1] area 0 [RouterA-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0 [RouterA-ospf-1-area-0.0.0.0] network 100.1.1.0 0.0.0.255 [RouterA-ospf-1-area-0.0.0.0] quit [RouterA-ospf-1] quit # 配置RouterB。 [RouterB] router id 2.2.2.2 [RouterB] ospf [RouterB-ospf-1] area 0 [RouterB-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0 [RouterB-ospf-1-area-0.0.0.0] network 100.1.1.0 0.0.0.255 [RouterB-ospf-1-area-0.0.0.0] quit [RouterB-ospf-1] quit
步骤 3 在RouterA上配置团体属性路由策略,不同的团体属性匹配不同的流量索引。
# 配置ip community-filter。 [RouterA] ip community-filter 10 permit 10:10 [RouterA] ip community-filter 11 permit 11:11 # 配置路由策略,一个路由策略下配置了两个节点,为了用不同的流量索引统计流过不同节点的流量,针对两个不同的团体属性,应用了两个流量索引。 [RouterA] route-policy aa permit node 10 [RouterA-route-policy] if-match community-filter 10 [RouterA-route-policy] apply traffic-index 1 [RouterA-route-policy] quit [RouterA] route-policy aa permit node 11 [RouterA-route-policy] if-match community-filter 11 [RouterA-route-policy] apply traffic-index 3 [RouterA-route-policy] quit
步骤 4 在RouterB上配置团体属性路由策略,使团体属性匹配IP前缀,两个前缀匹配两个不同的Loopback口,针对两个IP前缀,对应两个不同的团体属性。
# 配置ip ip-prefix。 [RouterB] ip ip-prefix aa permit 200.1.1.1 32 [RouterB] ip ip-prefix bb permit 250.1.1.1 32 # 配置路由策略,在同一个策略下,使两个节点分别对应两个团体属性。 [RouterB] route-policy aa permit node 10 [RouterB-route-policy] if-match ip-prefix aa [RouterB-route-policy] apply community 10:10 [RouterB-route-policy] quit [RouterB] route-policy aa permit node 11 [RouterB-route-policy] if-match ip-prefix bb [RouterB-route-policy] apply community 11:11 [RouterB-route-policy] quit
步骤 5 配置EBGP连接,使RouterA和RouterB分别作为路由的引入端和发布端。
# 配置RouterA。 [RouterA] bgp 100 [RouterA-bgp] peer 2.2.2.2 as-number 200 [RouterA-bgp] peer 2.2.2.2 connect-interface loopback 0 [RouterA-bgp] peer 2.2.2.2 ebgp-max-hop 2 [RouterA-bgp] peer 2.2.2.2 route-policy aa import [RouterA-bgp] quit # 配置RouterB。 [RouterB] bgp 200 [RouterB-bgp] peer 1.1.1.1 as-number 100 [RouterB-bgp] peer 1.1.1.1 connect-interface Loopback 0 [RouterB-bgp] peer 1.1.1.1 ebgp-max-hop 2 [RouterB-bgp] peer 1.1.1.1 advertise-community [RouterB-bgp] peer 1.1.1.1 route-policy aa export [RouterB-bgp] import-route direct [RouterB-bgp] quit
步骤 6 在接口上应用BGP Accounting,使流量得到统计。
[RouterA] interface pos 1/0/0 [RouterA-Pos1/0/0] ip bgp-accounting inbound source [RouterA-Pos1/0/0] quit
步骤 7 验证配置结果
# 显示RouterA的查找200.1.1.1和250.1.1.1的FIB信息。
[RouterA] display fib 200.1.1.1 verbose
Route Entry Count: 1
Destination: 200.1.1.1 Mask : 255.255.255.255
Nexthop : 100.1.1.2 OutIf : Pos1/0/0
LocalAddr : 100.1.1.1 LocalMask: 0.0.0.0
Flags : DGHU Age : 143sec
ATIndex : 1 Slot : 1
LspFwdFlag : 0 LspToken : 0x0
InLabel : NULL OriginAs : 200
BGPNextHop : 2.2.2.2 PeerAs : 200
QosInfo : 0x10010000 OriginQos: 0x0
NexthopBak : 0.0.0.0 OutIfBak : [No Intf]
LspTokenBak: 0x0 InLabelBak : 0
LspToken_ForInLabelBak : 0x0
LspTokenBak_ForInLabelBak : 0x0
EntryRefCount : 1
rt_ulVlanId : 0x0
[RouterA] display fib 250.1.1.1 verbose
Route Entry Count: 1
Destination: 250.1.1.1 Mask : 255.255.255.255
Nexthop : 100.1.1.2 OutIf : Pos1/0/0
LocalAddr : 100.1.1.1 LocalMask: 0.0.0.0
Flags : DGHU Age : 44sec
ATIndex : 393217 Slot : 1
LspFwdFlag : 0 LspToken : 0x0
InLabel : NULL OriginAs : 200
BGPNextHop : 2.2.2.2 PeerAs : 200
QosInfo : 0x10030000 OriginQos: 0x0
NexthopBak : 0.0.0.0 OutIfBak : [No Intf]
LspTokenBak: 0x0 InLabelBak : NULL
LspToken_ForInLabelBak : 0x0
LspTokenBak_ForInLabelBak : 0x0
EntryRefCount : 1
rt_ulVlanId : 0x0
# 从RouterA向RouterB的Loopback1和Loopback2发送Ping报文,使两个ping的报文匹配各自的团体属性,被不同的流量索引统计。
[routerA] ping 200.1.1.1
PING 200.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 200.1.1.1: bytes=56 Sequence=1 ttl=255 time=31 ms
Reply from 200.1.1.1: bytes=56 Sequence=2 ttl=255 time=31 ms
Reply from 200.1.1.1: bytes=56 Sequence=3 ttl=255 time=31 ms
Reply from 200.1.1.1: bytes=56 Sequence=4 ttl=255 time=31 ms
Reply from 200.1.1.1: bytes=56 Sequence=5 ttl=255 time=31 ms
--- 200.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/31/31 ms
[routerA]ping 250.1.1.1
PING 150.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 250.1.1.1: bytes=56 Sequence=1 ttl=255 time=50 ms
Reply from 250.1.1.1: bytes=56 Sequence=2 ttl=255 time=20 ms
Reply from 250.1.1.1: bytes=56 Sequence=3 ttl=255 time=20 ms
Reply from 250.1.1.1: bytes=56 Sequence=4 ttl=255 time=10 ms
Reply from 250.1.1.1: bytes=56 Sequence=5 ttl=255 time=10 ms
--- 250.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 10/22/50 ms
#通过命令display ip bgp-accounting interface显示Echo Reply报文到达RouterA的统计信息。到达两个不同目的地址的报文应该被两个不同的流量索引统计。
[RouterA] display ip bgp-accounting interface pos 1/0/0
statistics for interface Pos1/0/0
BGP based Policy accounting on inbound is enabled
Index Bytes Packets
1 420 5
2 0 0
3 420 5
4 0 0
....................





