一、进程交换技术(process switching):每一个数据包过来都要查找一次路由表,数据包进入顺序就是数据包出来顺序,按照进程的先后进行。降低系统性能,大量占用系统资源,并且不可以中断IOS进程,需要排队。
二、基于缓存的交换(cache-based switching):一种更有效率的交换机制,它利用了从第一个被交换的数据包所获得的信息优势,第一个数据包进行进程交换。基于缓存的交换,当前运行于处理器上的IOS进程可以被中断,来进行数据包的交换。
处理器在进程级别上交换第一个数据包,并在路由缓存中创建一个表项,以便后续、具有相同目的地址的数据包能够基于缓存表项被交换。
几种基于缓存交换的交换方式:
1、快速交换(fast switching):使用二叉树来存储转发信息和MAC头改写字符串,以便快速查找和参考。
2、最优交换(optimum switching):在256-way(8-8-8-8,使用4个八位组的IPv4地址映射到4个8bit的结构中)。的基数树中存储转发信息和MAC头改写信息。只有基于路由交换处理器(RSP)的平台才支持最优交换。
3、分布式最优交换:将路由选择决策转移到接口处理器上,来减少主CPU进行包交换功能的负担。在路由选择平台的每个接口上都有一个专门的CPU即可。
注:最优交换和分布式最优交换从cisco IOS 12.0开始就不再被支持了。
4、网络流交换(netflow switching),通过一种标准的交换机制,处理了流的第一个数据包,然后就创建了网路流缓存。
设计网络流交换的目的是,提供一种高效率的机制,来处理扩展或复杂的访问列表时,不必像其他的交换方式一样丧失同样多的系统性能。在网络流交换方式下,能够为每一个流收集详细的记账信息,对于新发布的IOS软件来说,网络流交换被专门用来实现该目的,而不再用来交换数据包了。
在同时启用CEF和网络流交换的情况下,CEF为IP数据包提供交换路线,并生成流缓存,而网络流交换被用来向流收集器输出统计信息。这些流信息包括基于每个用户、每种协议、每个端口以及每种类型的服务统计信息。这些信息被广泛用于各种目的,例如:网络分析和规划、记账以及计费。
基于缓存交换的缺点:
1、是流量驱动的,依赖于第一个数据包的接收以生成缓存,这个数据包是在慢速交换路线中被交换的,导致了低性能和高CPU消耗。
2、缓存是基于IP地址的,条目众多,消耗大量内存。
3、由于路由抖动导致了无效缓存,促使网络不稳定。