13-IPv6 NetStream配置
本章节下载: 13-IPv6 NetStream配置 (290.75 KB)
Internet的高速发展为用户提供了更高的带宽,支持的业务和应用日渐增多,传统流量统计如SNMP、端口镜像等,由于统计流量方式不灵活或是需要投资专用服务器成本高等原因,无法满足对网络进行更细致的管理,需要一种新技术来更好的支持网络流量统计。
NetStream技术是一种基于流的统计技术,可以对网络中的业务流量进行统计和分析。它将具有相同特征的报文作为一条流,对各个流进行统计,记录流的统计信息并输出。也可以把多个具有某些相同特征的流聚合成一条聚合流,记录聚合流的统计信息并输出。
NetStream遵循并兼容RFC5101(IPFIX)。
IPv6 NetStream是一项基于“流”来提供报文统计信息的技术。它根据IPv6报文的目的IP地址、源IP地址、目的端口号、源端口号、协议号、流量分类、流标签、输入接口或输出接口来定义流,具有相同的八元组的报文标识为同一条流。
一个典型的IPv6 NetStream系统由NDE(NetStream Data Exporter,网络流数据输出者)、NSC(NetStream Collector,网络流数据收集者)和NDA(NetStream Data Analyzer,网络流数据分析者)三部分组成。
· NDE
NDE根据八元组对网络流进行分类,提取符合条件的流进行统计,并将统计信息输出给NSC设备。输出前也可对数据进行一些处理,比如聚合。配置了IPv6 NetStream功能的设备在IPv6 NetStream系统中担当NDE角色。
· NSC
NSC通常为运行于Unix或者Windows上的一个应用程序,负责解析来自NDE的报文,把统计数据收集到数据库中,可供NDA进行解析。NSC可以采集多个NDE设备输出的数据。
· NDA
NDA是一个网络流量分析工具,它从NSC中提取统计数据,进行进一步的加工处理,生成报表,为各种业务提供依据(比如流量计费、网络规划,攻击监测)。NDA可以提取多个NSC中的数据。通常,NDA具有图像化用户界面,可以使用户方便地获取、显示和分析收集到的数据。
NSC和NDA可以集成在一台NetStream服务器上。
图1-1 IPv6 NetStream系统中的设备角色
由于设备在NetStream系统中担任NDE角色,所以本文重点介绍NDE的实现以及配置。
NetStream工作机制中有如下几项关键技术:
IPv6 NetStream流老化是设备向NetStream服务器输出流统计信息的一种手段。当设备开启IPv6 NetStream功能后,流统计信息首先会被存储在设备的IPv6 NetStream缓冲区中。当存储在设备上的IPv6 NetStream流统计信息老化后,设备会把缓冲区中的流统计信息通过指定版本的IPv6 NetStream输出报文发送给NetStream服务器,同时清除缓冲区中的对应信息。流老化的三种方式及其配置请参见“1.4.3 配置IPv6 NetStream的流老化”。
(1) 普通流输出
普通流输出是指所有流的统计信息都要被统计。在流老化后,每条流的统计信息都要输出到NetStream服务器。
普通流输出的优点是NetStream服务器可以得到每条流的详细统计信息。但是缺点也是很明显的,这种方式增加了网络带宽和设备的CPU占有率,而且为了存储这些信息,需要大量的存储介质空间,而很多情况下,用户并不需要获取所有流的统计信息。
聚合流输出是指设备对与聚合关键项完全相同的流统计信息进行汇总,从而得到对应的聚合流统计信息,并且将该聚合统计信息发送到相应的接收聚合统计信息的NetStream服务器。聚合的最大好处是可以减少对网络带宽的占用。
目前,聚合流输出支持的聚合方式如表1-1所示。系统根据聚合方式的聚合关键项,将聚合关键项相同的多条流统计信息合并为一条聚合流的统计信息,对应一条聚合记录。每种聚合方式相互独立,可以同时配置。
表1-1 IPv6 NetStream聚合流输出支持的聚合方式
聚合方式 |
聚合关键项 |
协议-端口聚合(protocol-port) |
协议号、源端口、目的端口 |
源前缀聚合(prefix) |
源AS号、源掩码长度(源IP的掩码长度)、源前缀(源IP的网络地址)、输入接口索引 |
目的前缀聚合(destination-prefix) |
目的AS号、目的掩码长度、目的前缀、输出接口索引 |
源和目的前缀聚合(source-prefix) |
源AS号、目的AS号、源掩码长度(源IP的掩码长度)、目的掩码长度、源前缀(源IP的网络地址)、目的前缀、输入接口索引、输出接口索引 |
· 在统计AS域号时,如果流量没有按照BGP的路由表进行转发,则系统无法统计出AS域号。
· 在统计BGP下一跳地址时,如果流量没有按照BGP的路由表进行转发,则系统无法统计出BGP下一跳地址。
目前IPv6 NetStream输出的报文有9和10两个版本。
· 版本9:基于模板方式,模板可在遵循RFC定义的模板格式的前提下自定义。版本9支持聚合流输出,对BGP下一跳信息的统计输出。
· 版本10:基于模板方式,模板可在遵循RFC定义的模板格式的前提下自定义。版本10支持聚合流输出,对BGP下一跳信息的统计输出。版本10输出格式符合IPFIX协议规定。
目前仅SD、EB系列接口板以及LSQ3GV48SC0、LSQ1TGS8SC0接口板支持IPv6 NetStream功能。
在配置IPv6 NetStream过程中,请根据实际需求选择相应的配置步骤:
· 明确需要在网络环境中的哪台设备上开启IPv6 NetStream功能。
· 如果网络上有各种业务流,可以考虑使用ACL筛选出需要统计的特定数据。
· 对IPv6 NetStream统计输出报文的属性进行设置。
· 根据实际网络情况和需求,配置IPv6 NetStream流老化功能。
· 如果统计输出的报文过多,可以配置聚合输出统计信息,避免重复的流输出信息占用网络带宽。
具体配置步骤可以参考图1-2。
图1-2 IPv6 NetStream配置步骤流程图
表1-2 IPv6 NetStream配置任务简介
配置任务 |
说明 |
详细配置 |
|
开启IPv6 NetStream功能 |
必选 |
||
配置IPv6 NetStream输出报文的属性 |
可选 |
||
配置IPv6 NetStream 的流老化 |
可选 |
||
配置IPv6 NetStream统计信息的输出 |
配置IPv6 NetStream普通流的统计信息输出 |
二者至少选其一 |
|
配置IPv6 NetStream聚合流的统计信息输出 |
表1-3 开启接口下IPv6 NetStream功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启接口的IPv6 NetStream功能 |
ipv6 netstream { inbound | outbound } |
缺省情况下,IPv6 NetStream功能处于关闭状态 |
用户可以通过配置IPv6 NetStream输出报文的格式,进一步明确需要统计的选项(如确定记录的自治系统号及是否记录BGP下一跳地址)。
IPv6 NetStream流统计信息中会记录流的源IP地址及其对应的自治系统号、目的IP地址及其对应的自治系统号。设备会根据用户配置的自治系统参数来确定记录的自治系统号。自治系统参数包括origin-as(起始自治系统)和peer-as(邻接自治系统):
· origin-as表示流统计信息中记录的自治系统号为起始自治系统号。
· peer-as表示流统计信息中记录的自治系统号为邻接自治系统号。
如图1-3所示,有一条数据流从AS 20开始,依次经过AS 21、AS 22、AS 23,到达AS 24。如果配置参数origin-as,那么流统计信息中记录该流的源AS为20,目的AS为24。如果配置参数peer-as,那么流统计信息中记录该流的源AS为21,目的AS为23。
IPv6 NetStream统计输出报文还支持BGP下一跳选项,用户可以选择是否在流信息中记录BGP下一跳地址。
表1-4 配置IPv6 NetStream输出报文的属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置IPv6 NetStream统计输出报文版本9以及其自治系统选项、BGP下一跳选项 |
ipv6 netstream export version 9 { origin-as | peer-as } [ bgp-nexthop ] |
二者选其一 缺省情况下,IPv6 NetStream统计输出报文使用版本9,并记录邻接自治系统(peer-as)信息 |
配置IPv6 NetStream统计输出报文版本10以及其自治系统选项、BGP下一跳选项 |
ipv6 netstream export version 10 { origin-as | peer-as } [ bgp-nexthop ] |
版本9和版本10是基于模板方式的、支持自定义格式的输出报文版本(即可以决定输出报文的内容)。由于NetStream服务器不会永久保存模板,所以设备需要定期通知NetStream服务器最新的版本9和版本10模板格式。用户可以根据实际情况,配置版本9和版本10模板的刷新率(包括包刷新率和时间刷新率),及时更新模板。当同时配置包刷新率和时间刷新率时,只要满足任意一个刷新条件,设备就会将激活的模板发送给NetStream服务器。
表1-5 配置IPv6 NetStream输出报文版本9和版本10模板的刷新率
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置IPv6 NetStream统计输出报文模板的刷新率 |
ipv6 netstream export template refresh-rate { packet packets | time minutes } |
缺省情况下,每隔20个包刷新一次版本9和版本10模板;每隔30分钟刷新一次版本9和版本10模板 |
IPv6 NetStream流老化有以下三种机制:
· 按时老化
· 强制老化
(1) 按时老化
按时老化分为以下两种方式:
· 流的不活跃老化:从采集到的最后一个报文开始,该流在ipv6 netstream timeout inactive指定的时间内没有被采集到报文(即在设定的inactive时长内统计到的该流的统计信息没有变化),那么设备会向NetStream服务器输出该流的统计信息,这种老化称为流的不活跃老化。通过这种老化,可以清除设备上IPv6 NetStream缓冲区中的无用表项(此时使用display ipv6 netstream cache命令无法看到这条老化的流),充分利用统计表项资源。
· 流的活跃老化:从采集到的第一个报文开始,该流在ipv6 netstream timeout active指定的时间内能采集到新的报文。活跃时间超过设定的active时长后,需要输出该流的统计信息,这种老化称为流的活跃老化。设备向NetStream服务器输出活跃流的统计信息后,因为该流实际上还存在,所以在设备会继续统计该流(此时使用display ipv6 netstream cache可以看到这条流的统计表项)。这种老化方式是设备定期向NetStream服务器输出活跃流统计信息的一种机制。
(2) 强制老化
用户可以执行reset ipv6 netstream statistics命令强制将IPv6 NetStream缓冲区中所有流老化,并清空IPv6 NetStream缓冲区信息。
表1-6 配置IPv6 NetStream的流老化
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置按时老化 |
(可选)配置流的活跃老化时间 |
ipv6 netstream timeout active minutes |
缺省情况下,流的活跃老化时间为5分钟 |
(可选)配置流的不活跃老化时间 |
ipv6 netstream timeout inactive seconds |
缺省情况下,流的不活跃老化时间为300秒 |
|
配置强制老化 |
(可选)将流缓存区中所有流强制老化,并清除IPv6 NetStream缓冲区的状态信息和输出报文信息 |
reset ipv6 netstream statistics |
- |
表1-7 配置IPv6 NetStream普通流的统计信息输出
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置IPv6 NetStream普通流统计信息输出的目的地址和目的UDP端口号 |
ipv6 netstream export host { ipv4-address | ipv6-address } udp-port [ vpn-instance vpn-instance-name ] |
缺省情况下,系统视图下未配置目的地址和目的UDP端口号 |
(可选)配置IPv6 NetStream统计输出报文的源接口 |
ipv6 netstream export source interface interface-type interface-number |
缺省情况下,采用统计输出报文的出接口(即与服务器相连的接口)作为源接口 建议使用网管口作为源接口与服务器相连,并向服务器输出统计信息 |
(可选)配置输出速率限制 |
ipv6 netstream export rate rate |
缺省情况下,IPv6 NetStream统计输出报文的输出速率不受限制 |
设备支持两种聚合方式:软件聚合和硬件聚合。若未配置硬件流聚合功能,则设备会通过软件对与聚合关键项完全相同的流的统计信息进行汇总;配置采用硬件流聚合功能后,设备会通过硬件直接对与聚合关键项完全相同的流的统计信息进行汇总,从而得到对应的聚合流统计信息。因此通过配置硬件流聚合功能,能够有效降低流聚合对设备资源的消耗。
配置NetStream聚合流的统计信息输出时,需要注意:
· 硬件聚合不能和系统视图下的ipv6 netstream export host命令同时配置。在系统视图下配置ipv6 netstream export host命令后硬件聚合功能失效。
· 硬件聚合流表项的老化与普通流表项的老化相同。
· 在聚合视图下,用户配置的IPv6 NetStream统计输出报文的输出属性,仅对聚合报文生效;而系统视图下的配置对普通报文生效,并且当聚合视图下未配置以上属性时,也会对聚合报文生效。
表1-8 配置IPv6 NetStream聚合流的统计信息输出
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
(可选)开启IPv6 NetStream硬件流聚合功能 |
ipv6 netstream aggregation advanced |
缺省情况下,NetStream硬件流聚合功能处于关闭状态 |
进入IPv6 NetStream聚合视图 |
ipv6 netstream aggregation { destination-prefix | prefix | protocol-port | source-prefix } |
缺省情况下,未配置IPv6 NetStream流聚合方式 |
配置IPv6 NetStream聚合统计信息输出的目的地址和目的UDP端口号 |
ipv6 netstream export host { ipv4-address | ipv6-address } udp-port [ vpn-instance vpn-instance-name ] |
缺省情况下,未配置目的地址和目的UDP端口号 为了减少对网络带宽的占用,可以只在聚合视图下配置本命令,此时设备只会输出聚合流信息 |
(可选)配置IPv6 NetStream聚合统计信息输出的源接口,系统会将IPv6 NetStream统计输出报文的源IPv6地址设置为该接口的IPv6地址 |
ipv6 netstream export source interface interface-type interface-number |
缺省情况下,采用统计输出报文的出接口IPv6地址作为源接口的IPv6地址 需要注意的是: · 不同聚合视图下可以配置不同的源接口 · 聚合视图下若未配置源接口,则使用系统视图下的配置 |
开启聚合视图对应的聚合功能 |
enable |
缺省情况下,当前聚合视图对应的聚合功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后IPv6 NetStream的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除IPv6 NetStream的统计信息。
表1-9 IPv6 NetStream显示和维护
操作 |
命令 |
查看IPv6 NetStream流缓存区的配置和状态信息(独立运行模式) |
display ipv6 netstream cache [ verbose ] [ type { ip | ipl2 | l2 | mpls [ label-position1 label-value1 [ label-position2 label-value2 [ label-position3 label-value3 ] ] ] } ] [ destination destination-ipv6 | interface interface-type interface-number | source source-ipv6 ] * [ slot slot-number ] |
查看IPv6 NetStream流缓存区的配置和状态信息(IRF模式) |
display ipv6 netstream cache [ verbose ] [ type { ip | ipl2 | l2 | mpls [ label-position1 label-value1 [ label-position2 label-value2 [ label-position3 label-value3 ] ] ] } ] [ destination destination-ipv6 | interface interface-type interface-number | source source-ipv6 ] * [ chassis chassis-number slot slot-number ] |
查看IPv6 NetStream统计输出报文信息 |
display ipv6 netstream export |
查看IPv6 NetStream模板的配置和状态信息(独立运行模式) |
display ipv6 netstream template [ slot slot-number ] |
查看IPv6 NetStream模板的配置和状态信息(IRF模式) |
display ipv6 netstream template [ chassis chassis-number slot slot-number ] |
将流缓存区中所有流强制老化,并清除IPv6 NetStream缓冲区的状态信息和输出报文信息 |
reset ipv6 netstream statistics |
如图1-4所示,在Switch A上启动IPv6 NetStream功能。要求在Gigabitethernet1/0/1上配置IPv6 NetStream,对接收的报文进行入、出统计,并将IPv6 NetStream普通流的统计信息输出到NetStream服务器。NetStream服务器的IP地址为40::1/64,UDP端口号为5000。
图1-4 IPv6 NetStream普通流的统计信息输出配置组网图
# 配置GigabitEthernet1/0/1接口工作在三层模式。
<SwitchA> system-view
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-mode route
# 在GigabitEthernet1/0/1上启动IPv6 NetStream的入、出统计功能,配置IP地址步骤略。
[SwitchA-GigabitEthernet1/0/1] ipv6 netstream inbound
[SwitchA-GigabitEthernet1/0/1] ipv6 netstream outbound
[SwitchA-GigabitEthernet1/0/1] quit
# 配置IPv6 NetStream普通流统计信息输出的目的地址为40::1和目的UDP端口号为5000。
[SwitchA] ipv6 netstream export host 40::1 5000
设备运行一段时间后,查看IPv6 NetStream普通流的统计信息。
# 查看IPv6 NetStream流缓冲区信息。
<Sysname> display ipv6 netstream cache slot 1 verbose
IPv6 NetStream cache information:
Active flow timeout : 5 min
Inactive flow timeout : 300 sec
Max number of entries : 8192
IPv6 active flow entries : 2
MPLS active flow entries : 0
IPL2 active flow entries : 0
IPv6 flow entries counted : 10
MPLS flow entries counted : 0
IPL2 flow entries counted : 0
Last statistics resetting time : Never
IPv6 packet size distribution (0 packets in total):
1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480
.000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000
512 544 576 1024 1536 2048 2560 3072 3584 4096 4608 >4608
.000 .000 .000 .000 .027 .000 .000 .000 .000 .000 .000 .000
Protocol Total Packets Flows Packets Active(sec) Idle(sec)
Flows /sec /sec /flow /flow /flow
--------------------------------------------------------------------------
TCP-Telnet 2656855 372 4 86 49 27
TCP-FTP 5900082 86 9 9 11 33
TCP-FTPD 3200453 1006 5 193 45 33
TCP-WWW 546778274 11170 887 12 8 32
TCP-other 49148540 3752 79 47 30 32
UDP-DNS 117240379 570 190 3 7 34
UDP-other 45502422 2272 73 30 8 37
ICMP 14837957 125 24 5 12 34
IP-other 77406 5 0 47 52 27
Type DstIP(Port) SrcIP(Port) Pro TC FlowLbl If(Direct) Pkts
DstMAC(VLAN) SrcMAC(VLAN)
TopLblType(IP/MASK)Lbl-Exp-S-List
--------------------------------------------------------------------------
IP 2001::1(1024) 2002::1(21) 6 0 0x0 GE1/0/1(I) 42996
IP 2001::1(1024) 2002::1(21) 6 0 0x0 GE1/0/1(O) 42996
# 查看IPv6 NetStream统计输出报文的各种信息。
[SwitchA] display ipv6 netstream export
IPv6 export information:
Flow source interface : Not specified
Flow destination VPN instance : Not specified
Flow destination IP address (UDP) : 40::1 (5000)
Version 9 exported flow number : 10
Version 9 exported UDP datagrams number (failed): 10 (0)
在Switch A上配置IPv6 NetStream,具体要求为:
· 普通流的统计信息使用输出到IPv6 NetStream服务器。IPv6 NetStream服务器的IP地址为40::1/64,UDP端口号为5000;
· 4种聚合流(protocol-port、source-prefix、destination-prefix和prefix)的统计信息输出到该NetStream服务器的3000、4000、6000和7000端口。
图1-5 IPv6 NetStream聚合流的统计信息输出配置组网图
网络之间运行EBGP路由协议。相关配置请参见“三层技术-IP路由配置指导”中的“BGP”。
# 配置GigabitEthernet1/0/1接口工作在三层模式。
<SwitchA> system-view
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-mode route
# 在GigabitEthernet1/0/1上启动IPv6 NetStream的入、出统计功能,配置IP地址步骤略。
[SwitchA-GigabitEthernet1/0/1] ipv6 netstream inbound
[SwitchA-GigabitEthernet1/0/1] ipv6 netstream outbound
[SwitchA-GigabitEthernet1/0/1] quit
# 配置普通流统计信息输出的目的地址为40::1和目的UDP端口号为5000。
[SwitchA] ipv6 netstream export host 40::1 5000
# 配置协议-端口聚合模式,以及该聚合流统计信息输出的目的地址为40::1和目的UDP端口号为3000。
[SwitchA] ipv6 netstream aggregation protocol-port
[SwitchA-ns6-aggregation-protport] enable
[SwitchA-ns6-aggregation-protport] ipv6 netstream export host 40::1 3000
[SwitchA-ns6-aggregation-protport] quit
# 配置源前缀聚合模式,以及该聚合流统计信息输出的目的地址为40::1和目的UDP端口号为4000。
[SwitchA] ipv6 netstream aggregation source-prefix
[SwitchA-ns6-aggregation-srcpre] enable
[SwitchA-ns6-aggregation-srcpre] ipv6 netstream export host 40::1 4000
[SwitchA-ns6-aggregation-srcpre] quit
# 配置目的前缀聚合模式,以及该聚合流统计信息输出的目的地址为40::1和目的UDP端口号为6000。
[SwitchA] ipv6 netstream aggregation destination-prefix
[SwitchA-ns6-aggregation-dstpre] enable
[SwitchA-ns6-aggregation-dstpre] ipv6 netstream export host 40::1 6000
[SwitchA-ns6-aggregation-dstpre] quit
# 配置前缀聚合模式,以及该聚合流统计信息输出的目的地址为40::1和目的UDP端口号为7000。
[SwitchA] ipv6 netstream aggregation prefix
[SwitchA-ns6-aggregation-prefix] enable
[SwitchA-ns6-aggregation-prefix] ipv6 netstream export host 40::1 7000
[SwitchA-ns6-aggregation-prefix] quit
# 查看NetStream统计输出报文的各种信息。
[SwitchA] display ipv6 netstream export
protocol-port aggregation export information:
Flow source interface : Not specified
Flow destination VPN instance : Not specified
Flow destination IP address (UDP) : 40::1 (3000)
Version 9 exported flow number : 0
Version 9 exported UDP datagrams number (failed): 0 (0)
source-prefix aggregation export information:
Flow source interface : Not specified
Flow destination VPN instance : Not specified
Flow destination IP address (UDP) : 40::1 (4000)
Version 9 exported flow number : 0
Version 9 exported UDP datagrams number (failed): 0 (0)
destination-prefix aggregation export information:
Flow source interface : Not specified
Flow destination VPN instance : Not specified
Flow destination IP address (UDP) : 40::1 (6000)
Version 9 exported flow number : 0
Version 9 exported UDP datagrams number (failed): 0 (0)
prefix aggregation export information:
Flow source interface : Not specified
Flow destination VPN instance : Not specified
Flow destination IP address (UDP) : 40::1 (7000)
Version 9 exported flow number : 0
Version 9 exported UDP datagrams number (failed): 0 (0)
IPv6 export information:
Flow source interface : Not specified
Flow destination VPN instance : Not specified
Flow destination IP address (UDP) : 40::1 (5000)
Version 9 exported flow number : 0
Version 9 exported UDP datagrams number (failed): 0 (0)
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!