思科的转发方式
1.process
2.fast switch
3.cef
cam和tcam表
内存可寻址存储器(cam)是一种专用于进行查表操作的硬件芯片
cam工作在二进制情况下0/1
tcam工作在三进制情况下0/1/x
这两者都是多层交换的硬件组件,另通常还包括asic(application-specific integrated circuit应用专用集成电路)
cam表的查找
交换机以2进制方式精确查找cam表,如果没有就采用默认的flood行为.
步骤:
1.将用于查找的目的mac传送给cam表,在cam中查找匹配的关键字.
2.返回一个与目的mac匹配的指针.
3.交换机根据指针找到出接口,从而避免了顺序搜索整个表.
tcam的查找和特点
内容可寻址存储器(cam)是一种专用于进行查表的硬件芯片,与其他基于算法的解决方案相比,cam具有十分卓越性能,也更具可扩展性.告诉的三进制cam(tcam)允许对位域进行0、1或x(忽略)三种方式的屏蔽,因此可以用来确定最长前缀匹配tcam的告诉性能也使得他们可以用于ip包的线速转发,而且与基于软件的方式不同,tcam的查找性能与路由表的大小和内容无关
tcam具有查表速度快、存储灵活的优点,其缺点是价格贵、功能大且表项的更新速度慢.为了减少功耗,采用可分段式的tcam.这种tcam的优点是可以分为多个独立地分区cblock,每个分区都可独立完成查表任务,仅当该分区工作时才需要为其供电,这大大减少了tcam的功率损耗.
1.进程转发(关闭ip cef,同时接口下no ip route-cache fast router 一次路由多次交换)每次都查路由表
第一步,bit从左边流进来,数据包放进buffer--input/output memory,判断目标mac,下面从内存中调入到处理器(这是常用的计算机的过程),这其中会判断数据类型,如果是ip数据那么转入上层,这是进程就做ip-inpu-process,放入rib表(route intformation base),查找最重要的内容----出接口.同时会改写2层的头部交给出接口,等待出接口调用.进程转发基于每个包负载,perpacker
2.fast switch快速转发---一次路由多次交换
数据进入路由器,不再放进输入输出memory,而是直接调用route-cache路由缓存,关键点在于直接关联出接口、二层封装,所以步骤简单很多,此时没有查找路由表.关键点在于route-cache的产生:需要第一次的进程转发才能缓存.比如第一次路由从f0/0出去,那么,将会出现route缓存,然后数据将会沿着这条cache传送,所以只能给予目标来转发,给予位的查找方式一个32bit的路由最多查找32就会hit
实际工作中一般都给予目标负载而不是给予包因为给予包的负载对tcp来说很可能无法建立连接
实验演示
1)r1用静态实现到2.2.2.0/24网络的负载
show ip route 2.2.2.0.注解:*代表路由指针
2)
用r3去ping 2.2.2.2,
r2 debug ip packet detail+acl
在没有关闭cef时,直走一跳陆,该*只代表查找路由表示才生效,有cef时给予内容的转发
比如关闭cef后是进程转发才会出现,
每次ping一个包
观察show ip route 2.2.2.0会发现指针会停留在一个设备上
清空路由缓存,clear ip cache,此时路由指针才会变化
原则是只有在查找路由表时才会改变指针
r2上有三个环回口,每次ping一次指针改变一次,ping相同地址指针不会变,因为已经有了缓存注意**验证是否给予主机路由,既不同的源ping相同的地址时cache是否变化
3.cef cisco快速交换---现在默认的交换方式,mpls label,netflow等于都给予cef使用cpu创建的表格信息(比如路由表和arp表)来创建给予硬件的转发信息库(fib,forward information base)和邻接表(adj)由arp表封装类型等产生,对比fast switch,fast switch只有在有数据包通过时才有缓存,而cef在没有数据包时就产生了表项,也不会产生cache.邻接表关联出接口等信息给予字节(256way multiway tree)的查找最多查找思科就会hit
引入cam表查找mac地址
引入tcam查找3层前缀
实验:
r2:
show ip cef(验证ip cef是否开启)
show ip cef detail(fib表转发信息数据库)
show adjacency(邻接表)
no ip cef
现在就是fast switch转发模式.
r3:
debug ip packet detal 100(acl)
ip access-list extended 100
permit ip host 12.1.1.1 host 33.1.1.1
show ip cache
clear ip cache
clear access-list counters
r2:
int s2/0
ip route-cache
int s2/1
ip route-cache
show ip cache verbose(查看ip快速交换路由缓存)
标签:CEF,12,cef,ip,cache,查找,转发,tcam From: https://www.cnblogs.com/smoke520/p/18366324