石头啊石头。一定要坚强

石头啊石头,你一定要坚强。即使胃病让你吃不下饭,即使感冒让你发烧,让你身体不舒服。。但是这些困难都是暂时的,只是你前进路上的拦路虎,你害怕了?畏惧了?oh,shit,滚一边去,石头可能害怕?可能畏惧?不可能..That is impossible。石头是很坚强的。暂时的困难打不倒你。想象一下,大风大雨后美丽的彩虹。它在向你招手。你不是一个人在战斗。有你的爸爸妈妈,还有关心你的兄弟姐妹,相信不久后病魔会滚蛋。你会开始新的幸福生活。。握紧小小的梦想和生活的大风大浪作斗争!

CEF与快速交换的比较

CEF与快速交换的比较

  与快速交换相似,CEF也使用自己建立的数据结构(而不是路由表)来执行交换操作。快速交换通过生成并查找路由高速缓存交换数据包,该路由高速缓存交换数据包,该路收高速缓存的条目(包括目的IP地址,输出接口,MAC地址头信息等)是在第一个数据包到来时,对整个路由表执行最长匹配查找算法获得下一跳IP地址,然后查找ARP缓存获得第二层的MAC地址信息,并写入路由高速缓存,之后的数据包则根据已经生成的高速缓存的条目直接重写MAC头信息完成交换操作。

  CEF通过FIB和邻接表对数据包进行交换,但FIB和邻接表是在数据包到来以前,由CPU根据路由表生成并定时更新的,因此到达路由器的第一个数据包也无须执行查找路由表的过程,直接由FIB和邻接表获得新的MAC头信和卢,就可进行交换了,对于拥有大容量路由表的路由器来说,这种预先建立交换查找条目的方式能够有效地提高交换性能。

多层交换概述[转]

多层交换概述(CEF FIB CAM TCAM等等作用都有~~!)

        多层交换是指交换机使用硬件来交换和路由数据包,通过硬件来支持4-7层的交换。交换机执行硬件交换,第3层引擎(路由处理器)须将有关路由选择、交换、访问列表和QoS的信息下载到硬件中,以对数据包进行处理。

      MLS使用ASIC(Application-Specific Integration Circuit,应用专用集成电路)执行2层的重写操作。2层重写包括重写源与目标MAC地址以及写入重新计算后的CRC(Cyclic Redundancy Check,循环冗余校验)。传统的MLS是基于NetFlow的交换。3层交换引擎(路由处理器)和2层交换ASIC芯片协同工作,建立3层条目。

3层条目包括3种形式:

1.源IP地址(S)

2.源和目标IP地址(S/D)

3.包含4层协议信息的完整流信息(FFI)

例:

工作站A向B发送数据包,首先将包发送给默认网关即RSM(route switch modual),MLS-SE交换机根据数据包所包含的目标IP为B的IP而目标MAC为MLS-RP模块的MAC地址这一特性识别出该包为一个MLS候选包。交换机由此创建流候选条目,接收包,重写2层MAC地址和CRC,转发数据包。交换机将RSM转发的数据包视为enabler数据包。在看到候选数据包和enabler包后,交换机耕硬件中创建一个MLS条目,以便后续包的的转发。

基于CEF的MLS

CEF的MLS是基于控制平面信息和数据平面信息进行多层交换。

控制平面是指第3层引擎(路由处理器),数据平面指交换机用来进行硬件交换的硬件组伯(ASIC,Catalyst6500的Supervisor Engine和PFC模块)。

CEF是基于拓扑的转发模型,预先将路由信息加入Forwarding Information Base中,动态更新邻接表中的第2层重写信息,因此可以快速查找路由选择信息(IP邻接关系,下一跳IP地址,MAC地址)。

CEF的两个组件:

FIB:基于目标IP前缀的交换决策,类似于路由器的路由表,FIB表为路由表中转发信息的镜像。

邻接关系表:如果在两个节点间,数据链路层只有一跳,则称为彼子相邻。用来存储第2层编址信息,维护所有FIB条目的第2层址。3层的交换引擎和硬件交换组件都维护一个邻接关系表。

控制平面(3层信息)用软件建立FIB表和邻接关系表,然后将这些信息下载到数据平面。

Catalyst6500系列交换机中,MSFC子卡负责控制平面的操作,Supervisor Engine和PFC模块负责数据平面的操作。

交换机上第3层交换方式包括集中式和分布式交换:

集中式交换是在一个专用的ASIC上做出转发决策,此ASIC芯片为3层交换中所有接口的枢纽。此时由Supervisor Engine或第3层引擎做出路由选择、ACL、QoS和转发决策。使用集中式交换时,交换机性能取决于中央交换引擎和交换矩阵/总线体系结构。

分布式交换是使用3层交换机的接口或线路模块独立地做出转发决策。中央交换引擎将负责第3层转发、路由选择表和重写表与本地表(位于分布式交换的模块上)进行同步。分布式交换机将CEF FIB和邻接表的副本放在线路模块或接口中,由此各线路卡独立的做出转发决策,数据帧通过交换矩阵直接在端口间传输,而不借助中央交换引擎。(*使用分布式交换,系统性能为所有转发引擎之和)

Catalyst6500交换机使用集成交换矩阵(中央分布式交换引擎)和DFC线路模块的Supervisor Engine720(分布式交换线路模块)。

地址解析协议抑制:可以使得第3层引擎避免过多的ARP处理或基于ARP的DoS攻击。

过程:

1.收到数据包

2.使用glean邻接关系表,查看表中有没有相关目标IP的2层重写信息

3.如果有交换信息,则直接交换数据包。如果没有,则发送ARP请求获取重写信息

4.转发前几个数据包给3层引擎,载入抑制邻接关系表

5.在ARP响应前丢弃所有后续数据包。

6.接到ARP请求回复,清除抑制邻居关系表。添加邻接关系条目。

7.如果2秒内没有ARP回复,清除抑制邻接关系表,允许更多的数据包转发给3层引擎来重新发起ARPP请求。

交换表的体系结构:多层交换机使用高速内存表来建立路由选择表(CEF FIB和邻接关系表),桥接表,QoS表和ACL。

多层交换用专门的内存体系结构:CAM(Content addressable Memory)和TCAM(Ternary Content Addressable Memory)。CAM提供两种结果0和1,TCAM提供三种结果0、1和无关紧要。CAM表可以构建准确查找的表(MAC地址表),TCAM用于构建最长匹配表(根据IP前缀的IP路由选择表)。

CAM表用于存储2层交换表,交换机以2进制方式精确查找CAM表,如果没有就采用默认的Flood行为。步骤:1.将用于查找的关键字传递给哈希算法,哈希算法在CAM中查找匹配的关键字。2.哈希算法返回一个与关键字匹配的指针。3.交换机根据指针找到结果,从而避免了顺序搜索整个表。

CAM表包括:目标VLAN、目标MAC地址和目标端口等信息。交换机在CAM表中不仅查找精确匹配的条目,还查找与掩码值相匹配的IP地址条目。

TCAM表是一种为快速查找而设计的表,用于最长匹配。通过使用TCAM,就用ACL不会影响交换机的性能。TCAM中每个条目由:value(模式值)+Mask(掩码值)+result(结果)组成。这种条目被称VMR条目。

Value(模式值)指的是要匹配的模式,如:IP地址、协议端口、DSCP值

Mask(掩码值 )用于决定前缀

Result(结果值)指的是与模式和掩码匹配时的结果(TCAM中存储IP路由选择表,则结果为返回一个指向硬件邻接关系表中的一个条目的指针,该条目包含下一跳MAC重写信息)或根据ACL匹配时所采取的permit或deny措施(TCAM中存储ACL)。

TCAM定义了三种匹配方式:

1.精确匹配区域:存储第3层条目的区域,如IP邻接关系条目(包含IP地址下一跳信息“MAC地址”),第2层交换表和UDP扩散表。

2.最长匹配区域:包含多个3层地址条目组,按掩码长度降序排列。相同组内所有条目具有相同的掩码值和关键字长度。条目组可以通过从邻接组中借用地址条目的方法,动态的改变条目组的大小。重新启动系统后,重新配置的协议区域大小才会生效。

3.首次匹配区域:找到匹配后立即停止查找的区域,如ACL条目。

常见的TCAM协议区域:

精确匹配区域:in-adjacency(IP邻接关系)32 bit,12-switching(第2层交换)64 bit,udp-flooding(UDP扩散)64 bit。

最长匹配区域:ip-prefix(IP前缀)32 bit,ip-mcast(IP多播)64 bit

首次匹配区域:access-list(访问列表)128 bit

基于CEF的MLS的交换机默认情况下启用CEF,启用基于CEF的MLS和基于目标的负载均衡。

查看第3层引擎的CEF表:show ip cef [detail]

查看第3层引擎的邻接表:show adjacency

CEF将用ARP获得的MAC地址来填充邻接关系表,邻接关系表包含邻接节点的MAC地址重写信息和目标接口。CEF表中所有IP路由选择条目都对应于一个下一跳地址。当交换机收到目标IP非自身,目标MAC为交换机自身时,将在CEF表中查找目标IP所对应的转发MAC地址,然后从接口中传出。

单条CEF条目可能指向多个邻接关系条目。FIB表将维护该子网的前缀。子网前缀指向一个glean邻接关系条目。

如果接口配置了NAT或收到的数据包中包含IP报头选项,则需要对数据包进行特殊处理。邻接关系处理的特殊情况有:

1.Punt(转出)邻接关系条目:需要3层引擎进行处理或硬件交换不支持的特性

2.drop邻接关系条目:用于丢弃入站数据包

3.Null邻接关系条目:用于丢弃前往Null0接口的数据包,Null0接口用于过滤开自特定源的IP数据包

不能被硬件交换方式所支持的常见帧类型:

1.包含IP报头选项的数据包

2.源自/去往隧道接口的数据包

3.使用的以太网封装类型(非APRA)的数据包

4.需要分段的数据包