Cisco路由和交换平台中的NetFlow服务可提供内置在快速、最优和CEF交换路径之中的网络数据流统计功能。NetFlow服务可利用网络中数据流创造价值,并可在最大限度减小对路由器/交换机性能的影响的前提下提供详细的数据流统计信息。特别是作为其交换功能的一部分,它能够为企业提供网络的容量规划、趋势分析以及数据优先级等方面的信息,这些统计信息包括用户、协议、端口和服务类型等。NetFlow交换可以部署在网络中的任何位置,作为对现有寻径基础设施的扩展。NetFlow还可对访问列表进行有效的处理,进而实现数据包过滤和安全性服务。NetFlow数据可被用于多种多样的用途,如网络管理与规划、企业财务、基于利用率的计费以及针对市场营销目的的数据仓库和数据采集等。
一、NetFlow交换及其特点
NetFlow交换在网络层实现高性能的交换,它提供一个高效的机制,可以用来处理安全访问列表,从而不必像其他交换方式那样,为完成同样的任务而付出很高的性能代价。NetFlow交换识别主机之间的网络流量,并在提供相关服务的同时,对网络流量中的分组进行交换。在传统的网络交换中,每一个输入分组是单独处理的,路由器为每个分组进行一系列独立的查询,利用一系列函数去检查访问列表、获取记账数据、交换该分组。然后将它发送(即交换)到目的地。这些查询包括确定是否采用安全访问过滤,以及更新网络统计计账记录。而在NetFlow交换中,查询过程仅对分组流中的第一个分组进行,当一个网络流被识别并确定了与其相关的服务后,那么后面所有的分组都作为该信息流的一部分,在面向连接的基础上进行处理,这样就绕过了访问列表的检查,进而依次对分组进行交换和获取统计信息。
NetFlow交换中要创建一个信息流高速缓存,里面包含对所有活动信息流进行交换和访问列表检查所需要的信息,利用标准的快速交换路径先处理信息流中的第一个分组,这样就生成了NetFlow高速缓存,这样每个信息流都与一个即将到来的接口端口号和要发出的接口端口号相关联,并且有一个特定的安全访问权限和加密策略。高速缓存中还包含用于数据流统计的条目。随着后面分组的交换,这些条目也不断地更新。NetFlow高速缓存被创建后,那些被标识为属于现有的一个信息流的分组即可以依据高速缓存信息被交换,从而绕过了安全访问列表检查。对于所有活动信息流,在NetFlow高速缓存中保留相应的信息。
对分组进行交换,并且一个任务接一个任务地按顺序为分组提供服务。这种流线型处理分组的方式提高了网络服务的能力,提高了Cisco IOS有关安全性、服务质量(QoS)和网络流量计账的服务性能。同时,NetFlow交换提供了以每个用户和每个应用(即会话)为基础的更有效的服务。
二、NetFlow的数据格式
NetFlow以UDP数据报文的形式输出信息流,它有2种格式: (1)版本1格式。这是最初发布的格式; (2)版本5格式。这是后来发布的一种加强格式,它增加了边界网关协议(BGP)的自治系统(AS)信息和信息流的序列号。
在版本1和版本5 格式中,数据报文由一个头标信息、一个或多个信息流记录构成。通常情况下,接收程序不管接收哪种格式,它都会分配一个足够大的缓冲区,以便数据报文到来时,可以容纳下最大的数据。此外,它使用头标信息中的版本信息来决定如何理解这些数据报文。头标信息中的第二个字段是数据报文中记录的个数,可以用它来对记录进行索引。
因为NetFlow输出采用UDP协议来发送输出的数据报文,所以可能会丢失数据。为了确定信息流输出信息是否丢失,版本5的头标信息格式中包含了一个信息流序列号。这个序列号等于前一个序列号加上刚刚过去的数据报文中信息流的个数。当接收到一个新的数据报文后,接收程序可以从头标信息中的序列号中提取出预期的序列号,这样即可以获取丢失信息流的数目。
三、配置NetFlow交换
在一个路由器中,NetFlow交换涉及到标识分组信息流、执行交换和处理访问列表。它不涉及路由器之间的任何连接设置协议,也不涉及对其他任何网络设备或端点工作站的连接设置协议。它也不要求对分组本身或其他任何网络设备进行任何外部修改。所以,NetFlow交换对现有的网络,包括端点工作站、应用软件和网络设备(如局域网交换机)是完全透明的。此外,因为NetFlow交换在每个互联的网络设备中独立地进行,所以并不需要在网络中的每个路由器中都操作它,网络规划人员可以在路由器/接口的基础上有选择地激活NetFlow交换(和NetFlow数据输出),这样就可以在特定的网络位置上进行数据流交换、控制和记账。
在一个接口上配置NetFlow时,这个接口就不再使用其他交换模式了。为了配置NetFlow交换,在接口配置模式下,利用以下面命令为IP路由启用NetFlow交换:
ip route-cache flow
该命令的no格式可以禁用NetFlow交换,具体命令如下:
no ip route-cache flow
通常,NetFlow高速缓存的默认值可以满足需求。然而网络管理员也可以通过增加或减少高速缓存中保留的条目数,来满足信息流比率的需要。系统的默认值是64KB个流动高速缓存条目,每个高速缓存条目大约占用64B的存储空间。为了在NetFlow高速缓存中自定义条目的个数,在全局配置模式下,使用下面的命令即可改变NetFlow高速缓存中保留的条目的个数:
ip flow-cache entries number
其中number为条目的个数,范围是1024~524288,默认值是65536。
Cisco公司的部分路由器带有路由/交换处理器(RSP)和VIP控制器。对VIP控制器可以这样配置:通过VIP交换接收分组,而不必每个分组都要RSP参与,这种处理称为分散式交换,可以降低对RSP的需求。可以通过配置VIP硬件,使之进行NetFlow交换。
为了在VIP上配置分散式交换,首先要根据所使用的协议为IP路由配置路由器,然后就可以使用下面的命令,在全局配置模式下,开始配置IP分散式交换和NetFlow交换了。
interface type slot/port-adapter/port;指定接口,并且进入接口配置模式
ip route-cache distributed;在该接口中启用IP分组的VIP分散式交换
ip route-cache flow; 指定信息流交换
当RSP或VIP进行信息流交换时,它们使用信息流高速缓存取代目的地网络高速缓存来交换IP分组。信息流高速缓存使用源头和目的地的网络地址、协议以及源头和目的地的端口号来区分各条目。
Router# show ip cache flow IP packet size distribution ( 12718M total packets) : 1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 .000 .554 .042 .017 .015 .009 .009 .009.013 .030 .006.007 .005 .004 .004 512 544 576 1024 1536 2048 2560 3072 3584 4096 4608 .003 .007 .139 .019 .098 .000 .000 .000 .000 .000 .000 IP Flow Switching Cache, 4456448 bytes 65509 active, 27 inactive, 820628747 added 955454490 ager polls, 0 flow alloc failures Exporting flow to 1.1.15.1 (2057) 820563238 flow exported in 34485239 udp datagrams, 0 failed last Clearing of statistics 00:00:03 Protocol TotalFlows Flow /Sec Packets /Flow Bytes /Pkt Packets /Sec Active(Sec) /Flow Idle(Sec) /Flow TCP-Telent 2656855 4.3 86 78 372.3 49.6 27.6 TCP-FTP 5900082 9.5 9 71 86.8 11.4 33.1 TCP-FTPD 3200453 5.1 193 461 1006.3 45.8 33.4 TCP-WWW 546778274 887.3 12 325 11170.8 8.0 32.3 TCP-SMTP 25536863 41.4 21 283 876.5 10.9 31.3 TCP-X 116391 0.1 231 269 43.8 68.2 27.3 TCP-BGP 24520 0.0 28 216 1.1 26.2 39.0 TCP-Frag 56847 0.0 24 952 2.2 13.1 33.2 TCP-other 49148540 79.7 47 338 3752.6 30.7 32.2 UDP-DNS 117240379 190.2 3 112 570.8 7.534.7 UDP-NTP 9378269 15.2 1 76 16.2 2.2 38.7 UDP-TFTP 8077 0.0 3 62 0.0 9.7 33.2 UDP-Frag 51161 0.0 14 322 1.2 11.0 39.4 UDP-other 45502422 73.8 30 174 2272.7 8.5 37.8 ICMP 14837957 24.0 5 224 125.8 12.1 34.3 IGMP 40916 0.0 170 207 11.3 197.3 13.5 IPINIP 3988 0.0 48713 393 315.2 644.2 19.6 GRE 3838 0.0 79 101 0.4 47.3 25.9 IP-other 77406 0.1 47 259 5.9 52.4 27.0 Total 820563238 1331.7 15 304 20633.0 9.8 33.0 SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts b/Pk Active Fd0/0 80.0.0.3 Hs1/0 200.1.9.1 06 0621 0052 7 87 5.9 Fd0/0 80.0.0.3 Hs1/0 200.1.8.1 06 0620 0052 7 87 1.8 Hs1/0 200.0.0.3 Fd0/0 80.1.10.1 06 0052 0621 6 58 1.8 Hs1/0 200.0.0.3 Fd0/0 80.1.1.1 06 0052 0620 5 62 5.9 Fd0/0 80.0.0.3 Hs1/0 200.1.3.1 06 0723 0052 16 68 0.3 HS1/0 200.0.0.3 Fd0/0 80.1.2.1 06 0052 0726 6 58 11.8 Fd0/0 80.0.0.3 Hs1/0 200.1.5.1 06 0726 0052 6 96 0.3 Hs1/0 200.0.0.3 Fd0/0 80.1.4.1 06 0052 0442 3 76 0.3 Hs1/0 200.0.0.3 Fd0/0 80.1.7.1 06 0052 0381 11 1171 0.6 |
四、管理和使用NetFlow交换的统计信息
通过NetFlow交换,还可以获取丰富的统计信息,这些统计信息包括IP分组大小的分布、IP信息流交换的高速缓存信息,以及信息流信息,例如协议、总的信息流数量和每秒的信息流数量等。上述信息可以帮助网络管理员分析路由器的运行情况。为了管理NetFlow交换的统计信息,可以在授权的可执行模式下,利用“show ip cache flow”命令显示NetFlow交换的综合统计信息,以便网络管理人员了解当前网络的流量以及各种应用的数据流情况。附图是使用该命令的输出信息范例。 IP packet size distribution给出分组大小分布的情况(百分比),如这里的.554表明55.4%的分组数在33~64B之间;接下来的数字描述了Netflow高速缓冲区的使用情况; 后面的2个表中详细地给出了使用各种协议的分组和当前信息流的统计信息。 NetFlow交换的信息还可以输出到网络管理应用程序中。为了在信息流到期时,将NetFlow高速缓存中保留的NetFlow交换的统计信息输出到一个工作站中,在全局配置模式下,利用下面的命令即可: ip flow-export ip-address udp-port version 5 [origin-as |peer-as] 在版本5中,用这条命令来配置路由器,把NetFlow高速缓存条目输出到工作站,可以选择指定最初的AS或同等的AS,默认值是2种AS都不输出,这样可以提高性能。为了保证数据来自有效的NetFlow源头,Cisco公司建议接收程序检查数据报文,首先检查数据报文的大小,确定它至少可以容纳版本字段和计数字段。然后,应该证实版本是有效的版本1或5,而且接收到的字节数足以容纳头标信息和对信息流记录进行计数。 NetFlow交换的这些信息用途很广,可以用来为企业网络管理与分析提供依据,为网络管理员合理规划企业的网络结构、均衡网络负载和优化网络性能提供参考等,为ISP提供计费根据、为诊断网络入侵和查找网络攻击提供线索以及帮助企业实现进行数据采集等等。
show controller e1内容详解
首先我想先说一下关于E1和CE1的基本概念,E1最本来的用法是在用作语音交换机的数字中继时,是把一条E1作为32个64K来用,但是时隙0和时隙15是传输控制信令用,所以一条E1可以传30路话音。这是在接入服务器上(如华为8010,北电的CVX1800等)说的E1,而和通常在路由器上说的E1概念有些不一样。在路由器上的E1是不能划分时隙的,只能做2M线使用。
CE1的传输线路的带宽是2048K,它和E1的区别主要在于:E1不能划分时隙,CE1能划分时隙。CE1的每个时隙是64K,一共有32个时隙,在使用的时候,可以划分为n*64K,例如:128K,256K等等。CE1的0和15时隙是不用来传输用户的数据流量,0时隙是传送同步号,15时隙传送控制信令,这样实际能用的只有30个时隙,所以在具体配置CE1划分时隙时,要注意些了。CE1 和E1 也可以互联,但是CE1必须当E1来使用,即不可分时隙使用。 因为CE1比较灵活,所以我们能常常碰到CE1。
在路由器配置E1和CE1过程中,我们遇见线路问题的时候会常常会使用show controller e1命令,下面就是show controller e1的详解,希望对各位有些帮助。在说明show controller e1命令后面附上cisco解决E1和CE1故障的流程图!
注意问题:在配置CE1的两端路由器上,下面几个参数必须保持一致。它们是:时隙,framing ,linecode ,CRC等,另外还有注意时钟保持同步。
{[csc:pagelist]}
show controller e1命令的作用:
· 查看关于E1链路的状态。如果你具体指定了slot和port ( 如:show controller e1 5/6),那么显示的是每15分钟的link状态。
· 能显示用来troubleshoot物理层和数据链路层的信息
· 本地和远端的告警信息
下面是命令输出的参数描述,先看一下show controller e1的命令输出,下面是两个不同的路由器输出的结果:
7026#show controller e1 E1 5/1 is up. Applique type is Channelized E1 - balanced No alarms detected. Framing is NO-CRC4, Line Code is HDB3, Clock Source is Line. International Bit: 1, National Bits: 11111 Data in current interval (648 seconds elapsed): 0 Line Code Violations, 0 Path Code Violations 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs Total Data (last 24 hours) 0 Line Code Violations, 0 Path Code Violations, 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins, 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs 2600#show controller e1 E1 1/0 is up. Applique type is Channelized E1 - balanced No alarms detected. Framing is CRC4, Line Code is HDB3, Clock Source is Line. Data in current interval (457 seconds elapsed): 0 Line Code Violations, 0 Path Code Violations 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs Total Data (last 25 15 minute intervals): 1123 Line Code Violations, 53 Path Code Violations, 2 Slip Secs, 708 Fr Loss Secs, 25 Line Err Secs, 0 Degraded Mins, 1 Errored Secs, 0 Bursty Err Secs, 2 Severely Err Secs, 709 Unavail Secs |
来看看这些参数的解释:
域 描述
E1 5/1 is up
显示E1 controller 5/1 正在运行. E1 controller‘可能是这三种情况:up, down, administratively down. 另外,如果打环,可以分为本地环和远端环。
Applique Type
指示E1是平衡还是非平衡的,平衡的阻抗是120欧姆,非平衡的是75欧姆
Framing
当前帧类型,缺省的是CRC4,还有 NO-CRC4。
Line Code
当前的线路编码,缺省是:HDB3. 还有ami。
No alarms detected
警告显示. 可能的警告有:
传输者发送远端告警
传输者正发送高警指示信息.
接收者有信号丢失
接收者得到AIS.
接收者有帧丢失.
接收者有远端告警
接收者没有告警
Data in current interval
(251 seconds elapsed)
显示当前的累积时间,每隔15分钟刷新一次.
Line Code Violations
指示发生 Bipolar Violation (BPV) 或者Excessive Zeros (EXZ) 错误事件.
Path Code Violations
指示有一个帧同步错误位在D4和E1-no CRC 格式, 或者一个 CRC 错误在扩展的超级帧 Extended Superframe (ESF)和 E1-CRC 格式.
Slip secs
指示DS1帧有效负荷位的复制和删除. 当相连收发两端的路由器不一致的情况,会出现Slip secs
Fr loss secs
一个丢失帧发现的积累时间.
Line Err secs
当一个或多个 Line Code Violation errors发现积累的时间
Degraded mins
一个退化的时间(degraded minute)是被评估的错误率在1E-6和 1E-3之间 的时间
Errored secs
在 ESF 和E1 CRC 链路, 它是指下面之一的错误被探测到的时间:
一个或多个Path Code Violations.
一个或多个Controlled Slip events.
对 SF and E1 no-CRC链路, Bipolar Violations 存在的时间.
Bursty Err secs
多于一个但是小于320个 Path Coding Violation错误, 不是 Severely Errored Frame 发现以及没有发现进来的AIS. Controlled slips 不包括在这个参数里面
Severly Err secs
对ESF 信号, 它是指下面之一的错误被探测到的时间:
320 或者更多的 Path Code Violation 错误
发现一个或者多个帧丢失.
一个AIS 发现.
对 E1-CRC 信号, 它是指下面之一的错误被探测到的时间:
832 或者更多的Path Code Violation 错误
发现一个或者更多的帧丢失.
对 E1-nonCRC 信号, 这是2048 个Line Code Violations 或者更多存在的时间
对 D4 信号, 是 发现分帧错误(Framing Errors), 或者帧丢失, 或者1544 Line Code Violations 的时间
Unavail Secs
接口不用的总时间,单位为秒.