利用ip route-cache
flow这个接口配置命令,可以为IP路由启用NetFlow交换,为了禁用NetFlow交换,可以利用该命令的“no”格式进行。
ip route-cache flow
no ip route-cache flow
句法描述
该命令没有变量或关键词
默认情况
禁用
命令模式
接口配置模式
操作要点
该命令第一次出现时是在Cisco IOS 11.1版中。
NetFlow交换是一个高性能的网络层交换路径。作为其交换功能的一部分,它还可以获取丰富的统计信息。这些统计信息包括:用户、协议、端口和服务类型等数据,这些信息用途很广,可以用来进行网络分析和规划,还可以进行记费、结帐等。为了输出NetFlow数据,可以利用ip
flow-export这个全局配置命令进行。
对于所有的接口类型,IP数据或IP封装的数据都支持NetFlow交换,但ATM
LANE封装不支持NetFlow交换。当在接口上使用多个输入访问控制列表时,ISL/VLAN、ATM、帧中继封装不支持NetFlow交换。
网络层上的常规交换中,每个进入的数据包都要单独处理,利用一系列函数去检查访问列表、获取记帐数据、交换该数据包。而在NetFlow交换中,如果已经标识了信息流,而且对信息流中第一个数据包已进行了访问列表处理,那么后面所有的数据包都作为信息流的一部分,在面向连接的基础上进行处理,这样就绕过了访问列表的检查,进而依次对数据包进行交换和获取统计信息。
NetFlow
被标识为源头和目的地之间的一个单向的数据包流,而源头和目的地都定义了网络层的IP地址和传输层的端口号。特别地,一个信息流(flow)被标识成下列字段的组合:
·源头IP地址
·目的地IP地址
·源头端口号
·目的地端口号
·协议类型
·服务类型
·输入接口
NetFlow交换中要创建一个信息流高速缓存,里面包含对所有活动信息流进行交换和访问列表检查所需要的信息。利用标准的快速交换路径先处理信息流中的第一个数据包,这样就生成了NetFlow高速缓存。结果是,每个信息流都与一个即将到来的接口端口号和要发出的接口端口号相关联,并且有一个特定的安全访问权限和加密策略。高速缓存中还包含用于数据流统计的条目。随着后面数据包的交换,这些条目也不断地更新。NetFlow高速缓存被创建后,那些被标识为属于现有的一个信息流的数据包即可以依据高速缓存信息被交换,从而绕过了安全访问列表检查。对于所有活动信息流,在NetFlow高速缓存中保留相应的信息流信息。
NetFlow交换是可用的交换模式之一。当你在一个接口上配置NetFlow时,这个接口就不再使用其它的交换模式了。还有,利用NetFlow交换,你可以把数据(数据流统计信息)输出到一个远端工作站,以便进一步处理它们。
在一个路由器中,NetFlow交换涉及到标识数据包信息流、执行交换和处理访问列表。它不涉及路由器之间的任何连接设置协议,也不涉及对其它任何网络设备或端点工作站的连接设置协议。它也不要求对数据包本身或其它任何网络设备进行任何外部修改。所以,NetFlow交换对现有的网络(包括端点工作站、应用软件和网络设备,比如LAN交换机)是完全透明的。还有,因为NetFlow交换在每个互联的网络设备中独立地进行,所以并不需要在网络中的
每个路由器中都操作它,网络规划人员可以在路由器/接口的基础上有选择地激活NetFlow交换(和NetFlow数据输出),这样就可以在特定的网络位置上进行数据流交换、控制和记帐。
注意:比起其它的交换模式,NetFlow要消耗更多的内存和CPU资源,所以在启用NetFlow之前,理解路由器所需的资源非常重要。
示例
下面的例子在接口上启用NetFlow交换:
interface ethernet 0/5/0
ip address 17.252.245.2 255.255.255.0
ip route-cache flow
下面的例子使接口回到默认状态(启用快速交换,禁用自主交换):
interface ethernet 0/5/0
ip route-cache
相关命令
你可以联机搜索这些相关命令的说明操作要点,Internet网址是www.cisco.com。
ip flow-export
show ip cache
---------------------------------------------------------------------
以下是关于cisco五种交换模式的辨析
---------------------------------------------------------------------
1、Process Switching(进程交换)
这是一种最基本的交换模式,在这种模式下,一条数据流(flow)中的第一个包(packet)将被置入系统缓存(system
buffer)。其目的地址将会拿到路由表中去查询比对,路由器的处理器(CPU or
Processer)同时将进行CRC校验,检查包是否正确。然后数据包的二层MAC地址将会被重写,替换为下一跳接口的MAC地址。
这样的过程将会继续,对这条数据流(flow)中的第2个、第3个数据包……相同的操作,包括查询路由表、重写MAC地址,CRC校验等。这种方式无疑是延迟最大的,因为它要利用system
buffer以及processor去处理每个收到的包。
提了这么多,但是如何打开process switching?因为默认情况下,思科路由器会启用fast switching或optimum
switching又或是cef switching,而不是process
switching,所以我们只能通过:no ip route-cache来禁用fast
switching,这在另一种意义上正是开启process switching.
2、Fash Switching (快速交换)
快速交换要优于process switching,它采用了route
cache(路由缓存)来存储关于某条数据流(flow)的特定信息,当然会包括诸如目的MAC地址,目的接口等内容。这时我们只需要对一条数据流(flow)中的第一个包做process
switching,并把信息存入cache,所有后续数据包,可以不必再中断system
processor去执行查询等操作,直接从cache中提取目的接口,目的MAC地址等,这样大大加速了包转发速度。
fast
switching在某些资料上可能被称为route-cache
switching正是这个原因。
思科1600、1700、2500、2600系列路由器的ethernet、fast
ethernet、serial接口默认采用的就是fast switching.我们可以用ip
route-cache命令,在接口上启用fast switching,用show ip
cache来检查fast switching的相关信息。
3、Optimum and Distributed
Switching(经过优化的交换缓存)
这两种交换模式,从原理上来讲都与fast switching极为相似,比如optimum
switching其实采用了一种经过优化的交换缓存(optimumed switching
cache),它的速度要较平常cache要快。
distributed
switching mode需要使用Versatile Interface Card这种硬件卡,又称VIP
card.它会自已保存一份route
cache,这样在查询时就不必要等待使用共享的系统缓存了(shared system
buffer),无论相对于fast switching还是optimum
switching来讲,都是比较快的。
这两种模式一般只在思科高端设备上有所应用,比如7200系列路由器。或者12000系列路由器。
相关命令:ip
route-cache optimum show ip cache optimum
4、Netflow switching (流量交换)
这种模式是最值得参考的,它完全基于其它switching
mode,重点在于对流经的数据包进行计费、监控、网管。但不得不提的是,这种模式因为也要存储相关信息,经过统计,大致65536条数据流(flow)会耗费4MB的system
buffer.
相关命令:
ip
route-cache flow
show ip
cache flow
ip
flow-export //将NETFLOW审计的数据包转发到指定设备。
5、Cisco Express Forwarding (思科CEF)
思科CEF是最为高效的一种三层协议,很多人容易对CEF产生误解,所以我们仍然要说明它的来原。
CE采用了基于硬件的平台,数据,但它不仅仅是将数据都存入system
buffer,而是将整个路由表、拓扑表,以及所有的下一跳地址、MAC地址全部进行“预存”,只要路由表、拓扑表中存在的条目,无论是否有数据请求发往其目的地址,都会提前预读取,预设置缓存。这样,当有新的数据请求发送时,就不需要CPU去查询目的接口,目的MAC地址等等信息,而是直接从缓存中读取,从而使转发速度得以大大提高。
相关命令:
ip
route-cache cef
show ip
cef
show ip cef
detail