交换机
园区网交换机
数据中心与云计算交换机
行业精选交换系列
工业交换机
意图网络指挥官
无线
放装型无线接入点
墙面型无线接入点
智分无线接入点
室外无线接入点
场景化无线
无线控制器
行业精选无线系列
统一运维
身份管理
服务产品
运营商
政府
金融
互联网
制造业
高教/职教
医疗卫生
交通
公共安全
互联网服务中心 田小杨
前言
各位读者在部署数据中心项目时,是否也遇到过类似情况:
在部署数据中心交换机的ACL相关业务时,ACL条目仅部署几条,但交换机还是提示TCAM资源不足配置无法生效;
数据中心交换机的TCAM模式有很多种,不清楚到底应该使用哪种模式,才适合当前的部署环境;
在规划设备业务时,不清楚应该考虑哪些因素,才能保障不会出现TCAM资源不足的情况。
本文希望能够帮助各位解决以上问题,同时也希望助力各位深入理解设备在给ACl分配TCAM资源时的底层逻辑,从而规划好自己数据中心网络的业务,避免出现TCAM资源不足的情况。
TCAM简介
TCAM是数据中心交换机产品上用于存在ACL表项的存储器。根据ACL应用的位置不同通常将TCAM资源分VFP ACL TCAM资源、IFP ACL TCAM资源、EFP ACL TCAM资源三种。TCAM上存放ACL表项的最小单位是Slice,每个Slice根据容量存放若干的ACL条目。
Single Slice(单宽)与Double Slice(双宽)
一台数据中心交换机每个Slice的位宽长度是固定的(不同型号交换机Slice位宽略有差异,比如S6510-48VS8CQ每个Slice位宽为160bit)。如果一个业务的位宽没有超过单宽Slice的位宽,那么该业务使用一个Slice进行存储即可,即说该业务使用Single Slice(单宽);如果一个业务的位宽超过Slice的位宽,那么该业务需要通过将两个相邻Slice(偶数开始)拼接形成位宽更大的Double Slice(双宽)使用,即说该业务使用Double Slice(双宽)。
业务的位宽依据ACL中ACE涉及到匹配域之和进行计算,所有ACE中涉及的匹配域之和与Slice的位宽进行比较,如果该业务的位宽没有超过单宽Slice的位宽,则该业务使用Single Slice(单宽),反之则使用Double Slice(双宽)。
其中Etype、Port、PortGroup匹配域根据业务应用需要下发,ACL没有显示感知。
盒式交换机和框式交换机TCAM特点介绍
不同型号数据中心交换机TCAM资源特性略有不同,大致分为两类:
盒式交换机TCAM资源分为VFP ACL TCAM资源、IFP ACL TCAM资源、EFP ACL TCAM资源三种,这三种资源是独立分配的不能共享使用。在盒式交换的IFP ACL TCAM资源中,Slice从使用上不同分为普通Slice和预留Slice两种。普通Slice可以通过两个相邻Slice(偶数开始)拼接形成Double Slice使用,满足更长匹配域的业务;预留Slice不支持拼接,只能以Single Slice方式存在,并且只能提供给部分业务或部分TCAM模式下有进行规划的业务使用,使用预留Slice的业务只能支持Single Slice(单宽)。对于盒式交换机一般前N个Slice为预留Slice,N等于Slice总数除以3(例如盒式交换机RG-S6510-48VS8CQ交换机的IFP ACL一共12个Slice,预留Slice则一共4个,Slice0-Slice3)。VFP ACL TCAM资源和EFP ACL TCAM资源当前没有预留Slice,全部为普通Slice。
框式交换机TCAM资源分为IFP ACL TCAM资源、EFP ACL TCAM资源两种,与盒式交换机存在不同的是框式交换机的IFP ACL TCAM资源、EFP ACL TCAM资源两种资源是共享分配的。在框式交换机中,存在两个小Slice(前两个Slice)为预留Slice,与盒式交换机不同,该预留Slice可以进行拼接,即该预留Slice可以支持Single Slice(单宽)和Double Slice(双宽)业务,但同样存在使用限制,该预留Slice只能给特定的业务使用。
使用TCAM资源的业务介绍
数据中心交换机支持许多使用ACL的业务,这些使用ACL的业务并不是都使用TCAM资源,比如VTY下调用的ACL实现设备登录控制功能就不会使用TCAM资源,下表列出了使用TCAM资源的常用业务供各位读者参考。
不同的业务在使用TCAM资源时是以Slice为维度的。相同业务可以使用同一Slice资源,大部分不同业务不可使用同一Slice资源,即大多数情况下同一个Slice只能存放一个类型的业务,比如一个Slice已经存放SECURITY业务(接口下使用ACL)的资源,那么它就不能在存放PBR业务(策略路由业务)的资源,PBR业务必须存放在另一个Slice之中,即使存放SECURITY业务的Slice还有空余空间。(部分业务在特定的TCAM模式下进行了整合,整合后的业务可以占用相同的Slice资源,但业务上存在一定的优先级限制)
以上业务除了CPP业务外其余都是在配置该业务后才会使用TCAM资源。CPP业务通过标准的QOS差分服务模型实现设备CPU的保护,在设备启动后默认开启且不支持关闭。故在空配置情况下设备启动后,默认CPP业务已使用TCAM资源。
TCAM运维方法
数据中心交换机TCAM使用情况查看与分析
在数据中心交换机上可以通过“show acl res”命令查看Slice资源使用情况汇总,包括Slice的数量,每个Slice的容量,每个Slice的使用情况及剩余情况等;通过“show acl res detail”命令可查看Slice资源的详细使用情况,包括每个Slice资源是哪个业务使用的、使用的是Single Slice还是Double Slice、业务优先级等信息。
举例:查看盒式交换机(RG-S6510-48VS8CQ)TCAM资源使用情况
通过“show acl res”命令查看盒式交换机RG-S6510-48VS8CQ TCAM资源情况如下:其中VFP ACL TCAM资源上共包含4个Slice(Slice 0-Slice 3),每个Slice共256容量,总容量1024;IFP ACL TCAM资源上共包含12个Slice(Slice 0-Slice 11),其中4个预留Slice(Slice 0-Slice 3)和8个普通Slice(Slice 4-Slice 11),每个Slice共768容量,总容量共9216;EFP ACL TCAM资源上共包含4个Slice(Slice 0-Slice 3),每个Slice共512容量,总容量2048。
通过“show acl res detail”命令查看盒式交换机RG-S6510-48VS8CQ TCAM资源详细使用情况如下:其中IFP ACL TCAM资源上,CPP业务占用一个Double Slice资源,使用Slice 10和Slice 11,SECURITY业务占用一个Single资源,使用Slice 4;在EFP ACL TCAM资源上,SECURITY业务占用一个Single资源,使用Slice 0。
举例:查看框式交换机(RG-N18000-X)TCAM情况
通过“show acl res”命令查看框式交换机RG-N18000-X TCAM资源情况如下:每板卡IFP ACL TCAM和EFP ACL TCAM资源共用,共包含14个Slice(Slice 0-Slice 13),其中2个预留Slice(Slice 0-Slice 1),每个Slice共128容量,12个普通Slice(Slice 2-Slice 13),每个Slice共2048容量,总容量共24832。
通过“show acl res detail”命令查看框式交换机RG-N18000-X TCAM资源详细使用情况如下:CPP业务占用一个Double Slice资源,使用预留Slice空间Slice 0和Slice 1,CPP(v6)业务占用一个Double Slice资源,使用Slice 10和Slice 11,SECURITY(v6)业务占用一个Double Slice资源,使用Slice 12和Slice 13。
数据中心交换机TCAM模式查看与调整
上文中提到大部分不同业务不可使用同一Slice资源,数据中心交换机出厂TCAM模式为默认模式,在该模式下TCAM业务一般不会进行整合,不同业务不可使用在同一Slice资源,该模式下一个业务最少使用1个到2个Slice资源。TCAM模式提供了一种机制可以根据不同场景选择相应的TCAM工作模式来让该场景下的部分业务可以使用同一Slice资源或者使用预留Slice资源,减少部分功能的Slice使用,从而增加可用的Slice资源。比如部分型号交换机ACL-MAX模式下,SECURITY业务和SECURITY-COUNT业务进行了整合,可使用同一Slice资源。
在数据中心交换机上可以通过“show tcam-mode status”命令查看设备运行的TCAM工作模式,查看包括当前设备运行的TCAM模式及设备重启后下一次运行时TCAM模式。如果需要调整设备的TCAM模式,可以通过“tcam-mode acl-max/acl-slices-all/vxlan/vxlan-hash/acl-default-vxlan-hash”命令调整,需要注意调整TCAM模式后需要保存配置整机重启后才会生效。
TCAM应用与实践
TCAM资源评估建议
数据中心交换机TCAM资源评估因素:
Slice资源评估:在评估Slice资源时,除了需要评估Slice容量是否满足ACL条目,更需要关注的是Slice的数量能否满足业务的数量。上文提到大多数情况下同一个Slice只能存放一个类型的业务,实际使用过程中Slice容量还有空余但没有新的完整的Slice给新的业务使用,这种情况是最容易造成TCAM资源不足的情况,请各位读者重点关注。
KEY资源评估:KEY是设备内部的一个处理引擎,用于给需要TCAM资源的业务分配TCAM资源。盒式交换机无需单独评估KEY资源,只需要评估Slice资源即可,Slice资源满足KEY资源也满足。框式交换机在评估Slice资源后,需要单独评估KEY资源。(DUNE系列芯片的交换机需要评估KEY资源,12.X存在DUNE系列芯片的盒式交换机)
数据中心交换机TCAM资源评估方法:
评估Slice容量是否满足ACL条目数:
因ACL中ACE配置的多样性,不同ACE所使用的Slice容量不同,无法通过计算得出,如果使用的ACL的ACE数量较多,建议将部署的业务配置到实际使用的数据中心交换机型号中进行验证,判断Slice容量是否满足ACL条目数。
评估Slice的数量能否满足业务所需的数量:
首先通过上小节所述业务的位宽与Slice的位宽进行对比的方法,评估使用的每项业务需要使用Single Slice还是Double Slice;其次将所有业务使用的Slice相加得到“业务需要使用的Slice总数量”;最后按照如下表格评估Slice的数量能否满足业务所需的数量。
在计算“业务需要使用的总Slice数量”时需要注意,IPv4场景下设备默认CPP业务使用Slice资源需要计算进去;IPv4和IPv6双栈场景下,设备默认CPP业务和CPP(v6)业务使用Slice资源需要计算进去。
评估KEY资源是否满足需求:
盒式交换机无需单独评估KEY资源,只需要评估Slice资源即可。本小节只针对框式交换机,在评估KEY资源时,参照下表KEY资源数量,将一个KEY资源看成一个Slice按照上小节“评估Slice的数量能否满足业务所需的数量”的方法进行评估。一般在IPv4/IPv6双栈的场景,如果出现KEY资源不足的情况,可调整TCAM模式为ACL-MAX模式,ACL-MAX模式下IPv4 KEY资源和IPv6 KEY资源单独分配,可增大可用KEY资源。
TCAM资源不足案例分享
本小节将结合以上的内容给大家分享两个“TCAM资源不足的真实案例”帮助大家更好的理解设备在给ACL分配TCAM资源时的底层逻辑。在出现TCAM资源不足时,建议读者先根据业务场景尝试调整TCAM模式,调整TCAM模式后设备将自动整合该场景下常用业务的TCAM资源,调整后观察能否满足新业务TCAM资源的需求。如果调整TCAM模式后仍然存在TCAM资源不足的情况,建议整合目前使用的TCAM业务,进行一定的调整或者删除。
举例:盒式交换机(RG-S6510-48VS8CQ)Slice资源不足案例
在IPv4场景下的一台RG-S6510-48VS8CQ上部署了如下图所示的TCAM业务:
业务部署完成后在设备上查看TCAM资源的使用情况如下,IFP ACL TCAM资源共12个Slice包括4个预留Slice和8个普通Slice,目前已使用1个预留Slice和6个普通Slice。EFP ACL TCAM资源共4个Slice,目前已使用3个Slice。
业务使用Slice详细情况如下图所示,对于IFP ACL TCAM资源:QOS业务、PBR业务、PBM业务、SECURITY-COUNT业务均为Single Slice分别使用一个Slice;SECURITY业务和SECURITY-GBL业务共用一个Slice一共使用一个Slice;CPP业务为Double Slice使用两个Slice。对于EFP ACL TCAM资源:SECURITY业务、SECURITY-COUNT业务、QOS-CAR业务均为Single Slice分别使用一个Slice。
在以上业务基础上,因业务需要该设备需要开启IPv6功能并部署IPv6的接口ACL功能,具体部署功能如下:
在开启IPv6功能后默认CPP(v6)业务将使用Double Slice IFP ACL TCAM资源,预计将使用普通Slice 8和Slice 9,接下来配置IPv6接口ACL业务,在接口下调用IN方向和OUT方向的ACL时,设备都将出现TCAM资源不足情况。因为此时IFP ACL TCAM还剩余3个预留Slice资源,SECURITY(v6)业务为Double Slice无法使用预留Slice资源;EFP ACL TCAM目前剩余1个Slice资源,SECURITY(v6)业务为Double Slice需要使用2个Slice资源,所以IFP ACL TCAM和EFP ACL TCAM都将Slice资源不足。
本设备原本使用IPv4单栈,在开启IPv6功能部署双栈后出现TCAM资源不足的情况,查看上文中整理的各场景推荐部署的TCAM模式,在IPv4/IPv6双栈场景下推荐使用ACL-MAX模式,修改设备TCAM模式后进行重启。重启后设备已运行在ACL-MAX模式下,此时再次开启IPv6功能并部署IPv6的接口ACL功能,未在出现TCAM资源不足的情况,此时查看设备的TCAM资源情况如图所示,CPP(v6)业务和SECURITY(v6)业务已正常使用TCAM资源。
此时业务使用Slice详细情况如下图所示,对于IFP ACL TCAM资源:QOS业务、CPP(v6)业务、PBM业务、PBR业务均为Single Slice分别使用一个Slice;SECURITY业务、SECURITY-GBL业务和SECURITY-COUNT业务共用一个Slice一共使用一个Slice;SECURITY(v6)业务和CPP业务为Double Slice分别使用两个Slice。对于EFP ACL TCAM资源:QOS-CAR业务为Single Slice使用一个Slice;SECURITY业务和SECURITY-COUNT业务共用一个Slice一共使用一个Slice;SECURITY(v6)业务为Double Slice使用两个Slice。
举例:框式交换机(RG-N18000-X)KEY资源不足案例
在IPv4/IPv6双栈场景下的一台RG-N18000-X上部署了如下TCAM业务:
业务部署完成后在设备上查看TCAM资源的使用情况如下,IFP ACL TCAM和EFP ACL TCAM资源共用14个Slice资源,包括2个预留Slice和12个普通Slice,目前已使用2个预留Slice和5个普通Slice。框式交换机除了评估Slice资源还需要评估KEY资源使用情况,此时IFP ACL TCAM KEY资源共7个,已使用7个;EFP ACL TCAM KEY资源共2个,已使用0个。
在以上业务基础上,该设备新增IPv4的ERSPAN的功能,具体部署功能如下:
在配置IPv4的ERSPAN的功能时,设备将出现TCAM资源不足的情况。因为此时设备的Slice资源是充足的,但在DEFAULT模式下IFP ACL TCAM的KEY一共7个,在新增ERSPAN配置时无多余的KEY资源可用,所以IFP ACL TCAM出现KEY资源不足的情况。
一般在IPv4/IPv6双栈的场景,如果出现KEY资源不足的情况,可调整TCAM模式为ACL-MAX模式,ACL-MAX模式下IFP ACL TCAM的KEY资源IPv4 和IPv6是单独分配,可增大可用KEY资源。修改TCAM模式并重启后设备已运行在ACL-MAX模式下,此时在开启IPv4的ERSPAN的业务后,未在出现TCAM不足的情况,此时查看设备的TCAM资源情况如下图所示,PBM业务已正常使用TCAM资源。
总结
本文共三篇章七个小节,从TCAM简介、TCAM运维方法和TCAM应用与实践三个方面为读者介绍了锐捷数据中心交换机ACL业务TCAM资源的评估方法。本文介绍理论适用于大部分数据中心交换机,不同型号设备存在一定差异,因篇幅原因不能面面俱到请各位读者谅解。故在评估TCAM资源使用情况时,作者强烈建议一定要将部署的业务配置到实际使用的数据中心交换机型号中进行验证,以最终验证结果为准。