分享

CCNP笔记 第2章 交换机的工作原理

 astrotycoon 2016-09-22
第二层交换机的工作原理

以太网交换机运行在osi模型的第2层,它根据帧中的目标mac地址做出转发决策

以太网交换机以如下方式将主机隔离:

  • 严格限制了冲突域的范围
  • 主机连接可在全双工模式下运行,因为不会争用介质
  • 带宽不再是共享的
  • 不会传播帧中的错误
  • 可以将广播流量限制在阈值内
  • 可以执行其他类型的智能过滤或转发
透明桥接
  • 转发完全根据帧中的mac地址进行,除非交换机知道帧的目的地,否则不会转发它
  • 交换机通过侦听入站帧来获悉主机的位置:交换机收到帧后,将检查其源mac地址,如果该地址不在地址表中,就在表中记录它,交换端口和vlan。
  • 入站帧还包含目标mac地址,交换机将会在地址表中查找该地址,,希望找到与其对应的接换机端口和vlan,如果找到,就把帧从该交换机端口转发出去,如果没有找到该地址,交换机将会将帧从源vlan中的除接收端口之外的所有端口转发出去,这种方式称为单播泛洪。
  • 目标mac地址为广播地址、多播地址或组播地址的帧也会被泛洪。
帧转发过程

下图说明了典型的catalyst交换机转发每个帧时执行的决策过程:

帧在入站后,当到达出站队列时,交换机不仅要决定将帧转发到哪里,还要决定是否转发和如何转发,因此必须做出3个基本决策,一个与确定出站端口相关,另外两个与转发策略相关。具体描述如下:

  • L2转发表。将帧的目标mac地址作为索引或关键字,来查询内容可寻址存储器(CAM)表或地址表。如果找到该地址,则从表中读取相应的出站端口和vlan id;如果没有找到,则给帧加上泛洪标记,使其从vlan内的每个交换机端口转发出去。
  • 安全访问控制列表。访问控制列表(ACL)用于根据帧的mac地址,协议类型,ip地址,协议和第4层端口号来识别帧。三重内容可寻址存储器(TCAM)包含访问控制列表,这样只需经过一次查表就可以做出是否转发帧的决策。
  • 服务质量访问控制列表。其他访问控制列表可以根据服务质量参数将入站帧分类,以控制流量以及给出站帧标记服务质量参数。使用tcam可以通过一次查表就做出这些决策。
多层交换类型

根据分组中的第3层和第4层信息来转发帧的交换称为多层交换,MLS

catalyst交换机支持两种基本的MLS:路由缓存MLS(第一代MLS)和基于拓扑的MLS(第二代MLS)

  • 路由缓存MLS。第一代MLS需要路由处理器(RP)和交换机引擎(SE)。RP对流中的第一个分组进行处理以确定目的地,SE侦听第一个分组和确定的目的地,并在其MLS缓存中建立一个快捷项,然后,SE根据缓存中的快捷项来转发流中的后续分组,这种MLS也被称为Netflow Lan交换,或基于流的交换,或按需交换,或"一次路由,多次交换"。
  • 基于拓扑的MLS。使用专用硬件,利用第3层路由选择信息建立并填充一个描述网络拓扑的数据库。这种mls被称为cef(思科快速转发)
第三层交换分组转发过程

在多层交换中,从入站队列中取出分组,并查看其第2层和第3层目标地址,根据两个地址表决定将分组转发到哪里,但仍根据访问列表决定如何转发分组。

  • L2转发表。将目标MAC地址作为索引来查询cam表。如果帧中包含要转发的第3层分组,则目标mac地址为交换机上第3层端口的mac地址
  • L3转发表。使用目标ip地址作为索引来参考fib表。
  • 安全ACL。使用TCAM表项,只需执行一次查表就能决定是否转发分组
  • QoS ACL。对QoS TCAM执行一次查表,执行策略和进行标记。

转发帧时,必须用下一跳的第2层地址来替换帧中原来的目标地址,并更改其第2层源地址址为多层交换机的第2层地址,同时将第3层分组中的TTL值减1,并重新计算第3层和第2层报头校验和。

多层交换异常

CEF能够在主机之间直接转发大部分ip分组,条件是源地址和目标地址(MAC和IP)已知且不需要设置其他ip参数。有些分组不能被cef直接转发,需要交给交换机cpu进行进程交换,具体包含如下:

  • ARP请求和应答
  • 要求路由器做出响应的ip分组(TTL为0,超过MTU,需要分段等)
  • 像单播那样转发的ip广播(DHCP请求,ip辅助地址功能)
  • 路由选择协议更新
  • cisco发现协议分组
  • ipx路由选择协议和服务通告
  • 需要加密的分组
  • 导致网络地址转换的分组
  • 其他非ip和非ipx协议分组(AppleTalk、DECnet等)
交换中使用的表

一、内容可寻址存储器(CAM)

所有catalyst交换机都使用cam表进行第二层交换。帧到达交换机端口后,将读取其源mac地址并将其记录到mac地址表中,到达端口和vlan都被记录到该表,同时加上时间戳。如果一个交换机端口获悉的mac地址已移到另一个端口,则将该mac地址和时间戳记录到最新到达的端口对应的表项中,然后删除原来的表项。如果mac地址已出现在相应到达端口的表项中,则更新时间戳。默认情况下,将空闲cam表项300秒后删除,可以使用命令switch(config)#mac address-table aging-time seconds来设置老化时间。

 

可以使用命令静态配置cam表项:switch(config)#mac address-table static mac-address vlan vlan-id interface type mod/num

二、三重可寻址存储器(TCAM)

使用TCAM,可通过硬件来对ACL进进匹配操作,一次查表就可以同时匹配出入和入站的安全ACL和QoS ACL,速度非常快。

 

1. TCAM表的结构

TCAM也使用查表操作,其支持抽象操作,使用二进制值(0,1)作为关键字,并同时使用掩码值X来确定关键字哪些位是有关系的 ,从而提供了三重(ternary)组合,其查表匹配操作就像一个扩展访问控制列表。通过使用掩码来对表进行精确匹配或模糊匹配。

 

 

TCAM表项由值、掩码和结果(VMR)组头,多层交换机将帧头或分组报头中的字段输入到TCAM,然后将其同值和掩码进行匹配,从而得到结果。

对值,掩码和结果的描述如下:

  1. 值:长134位,由源地址,目标地址和其他相关协议信息组成。

  2. 掩码:长134位,其位顺序同值完全相同,掩码只选择感兴趣的值位,当掩码位被设置时,相应的值必须完全匹配,如果没有设置,则无关紧要。
  3. 结果:为数字值,指出了执行TCAM查询后应采取的行动

2. TCAM举例

3. TCAM中的端口运算

在TCAM中,可使用LOU(逻辑运行单元)对端口运算符(如neq,gt,lt,range)进行运算。

三、 监视交换表

  1. CAM表

    可使用EXEC命令查看cam表的内容

    switch#show mac address-table dynamic [address mac-address | interface type mode/num | vlan vlan-id]

     

    查看CAM表的大小:show mac address-table count

  2. TCAM

    TCAM的可用掩码,值模式和LOU表项是有项的,如果访问列表过大会导致TCAM表溢出。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多