思科路由器设备转发数据包的常用方式

网络 路由交换
CEF采用了基于硬件的平台,它不仅仅是将数据都存入system buffer,而是将整个思科路由器、拓扑表,以及所有的下一跳地址、MAC地址全部进行"预存"。

思科路由器的市场表现非常不错,这里我们主要分析了思科路由器设备转发数据包的常用方式。switching mode 有很多种,每种模式都有其特别的针对性,理解它们的不同对于我们合理的应用有着非常重要的意义另外还有些QOS和Security技术需要特定的Switching mode具体分析如下:

1 Process Switching(进程交换)

这是一种最基本的交换模式,在这种模式下,一条数据流(flow)中的第一个包(packet)将被置入系统缓存(system buffer)其目的地址将会拿到路由表中去查询比对,思科路由器的处理器(CPU or Processer)同时将进行CRC校验,检查包是否正确然后数据包的二层MAC地址将会被重写,替换为下一跳接口的MAC地址这样的过程将会继续,对这条数据流(flow)中的第2个、第3个数据包……相同的操作,包括查询路由表、重写MAC地址,CRC校验等。

这种方式无疑是延迟最大的,因为它要利用system buffer以及processor去处理每个收到的包但是我们仍然有机会使用这种交换方式,比如在进行基于每个包的负载分担时,或是debug ip packet时。提了这么多,如何打开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,思科路由器的ethernet、fast ethernet、serial接口默认采用的就是fast switching。我们可以用ip route-cache命令,在接口上启用fast switchingshow 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系列路由器或者思科路由器。命令: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采用了基于硬件的平台,它不仅仅是将数据都存入system buffer,而是将整个思科路由器、拓扑表,以及所有的下一跳地址、MAC地址全部进行"预存",只要路由表、拓扑表中存在的条目,无论是否有数据请求发往其目的地址,都会提前预读取,预设置缓存这样,当有新的数据请求发送时,就不需要CPU去查询目的接口,目的MAC地址等等信息,而是直接从缓存中读取,从而使转发速度得以大大提高
 

责任编辑:王晓东 来源: NET130
相关推荐

2012-12-04 09:54:33

路由器数据包TCP

2013-01-21 15:11:39

路由器数据包路由技术

2010-08-26 10:41:32

路由器

2009-07-15 11:21:46

路由器功能数据包

2013-01-28 13:32:52

路由器网络设置数据传输

2010-08-17 09:31:14

思科配置

2010-07-30 13:49:22

2009-06-24 16:27:09

路由器定义集成服务路由

2009-11-10 15:18:03

思科路由器常用配置命令

2013-01-17 15:24:39

路由器路由技术

2010-08-03 14:31:17

路由器密码

2009-11-16 16:36:10

思科路由器设置

2011-08-11 15:24:51

2011-04-15 13:30:07

Tracert路由

2009-12-14 17:15:12

AS边界路由器

2010-07-30 14:53:35

路由器设置

2010-07-30 15:23:34

路由器配置

2010-01-12 09:28:48

思科路由器交换机

2009-12-07 13:02:26

思科路由器密码恢复

2010-08-05 09:26:37

路由器配置
点赞
收藏

51CTO技术栈公众号