CAT6000家族中包含了CAT6000和CAT6500系列交换机。CAT6500系列能扩展支持到256Gbps背板和200million pps包处理能力。
Switching Fabric
65系列背板从Switch Bus发展到今天的CrossBar,已经完全解决了背板交换的瓶颈问题。CAT6000系列使用一条32Gbps的switch bus,而Cat6500系列则提供32Gbps Switch Bus和256Gbps的Switch Fabric Module(SFM)。SFM只能插在Slot5(主)和Slot6(备)用来提供高速率路径。需要注意的是CAT6000系列不支持SFM。
Switch Bus是一条总线,所以所有连接在此上面的线卡都能“听到”经过这条总线的数据包,然后根据R-Bus提供的信息来决定是否对这一数据包进行转发或者丢弃。
而SFM则是一个crossbar(交叉矩阵)结构,有多条的channal水平和垂直交错而成,每条channel提供8Gbps交换能力(supervisor720提供每channel 20Gpbs)。Crossbar交换网的扩展能力非常强,交换容量可以做的很大,基本不受硬件条件限制,目前单颗芯片交换容量在256G-700G之间,多颗芯片可以构建T级乃至几T容量的大型交换网络,足以满足当前和未来几年网络对交换容量的需求,并且随着硬件集成技术的进步,单颗Crossbar芯片支持的容量会更大。
CAT6500和SFM提供256Gbps交换能力和100million的包转发能力。720以下引擎每channel提供8Gbps带宽(即RX 8Gbps和TX 8Gbps)。Fabric-enabled模块连接CrossBar中一个channel,支持8Gbps带宽,同时也连接在32Gbps的switch bus上;Fabric-only模块连接CrossBar中2个channel,提供16Gbps带宽。连接线卡本地交换bus和SFM或main 32-Gbps switching bus的关键点叫做medusa,其实是一块ASIC芯片,用来处理双方的数据传输。如下图:
clip_p_w_picpath002
交叉矩阵交换,和它的名字一样,结构像是一个横竖交叉的矩阵,只不过横线(输入端)和竖线(输出端)并不直接相连,而是透过一个场效电晶体 (FET)将每一个横线与竖线连接。如此,只要控制场效电晶体的开关,便可以决定那个输入和那个输出(或那些输出)可以进行交换。矩阵交换的最大优点是允许多个相互不冲突的交换同时进行,并支持点对多点(Multicast)的交换。
Line card
由于有Switch Bus和CrossBar之分,所以配置的线卡也有Fabric-enabled和Non Fabric-enabled。Fabric-enabled说明此线卡能连接到SFM(Switch Fabric Module)上,提供CrossBar的高容量。下表列出了不同线卡与相应交换机的兼容:
clip_p_w_picpath004
Switch Bus Architecture
clip_p_w_picpath006
CAT6000系列交换机由32Gbps串联,所有连接在此Bus上面的端口都能接收到在此Bus上数据帧。Switch Bus包含D-bus(Data bus)、C-bus(Control bus)和R-bus(results bus)。D-bus负责端口之间的数据传输,带宽为32Gbps;C-bus负责端口ASIC和NMP(Network Management Processor)之间信息传递;R-bus负责将引擎上的逻辑信息(比如mac地址,acl匹配和CEF信息等)传递到交换机各个端口。
CrossBar Switching Fabric
CAT6500和SFM提供256Gbps交换能力和100million的包转发能力。720以下引擎每channel提供8Gbps带宽(即RX 8Gbps和TX 8Gbps)。Fabric-enabled模块连接CrossBar中一个channel,支持8Gbps带宽,同时也连接在32Gbps的switch bus上;Fabric-only模块连接CrossBar中2个channel,提供16Gbps带宽。连接线卡本地交换bus和SFM或main 32-Gbps switching bus的关键点叫做medusa,其实是一块ASIC芯片,用来处理双方的数据传输。
Switching Implemtation
Switching Implemtation只要控制平面和数据转发平面两个关键处理功能。控制平面主要维护路由、flow初始化和ACL等。MSFC就是一个控制平面卡,而线卡(包括DFC)主要负责数据转发功能。
Multilayer Switch Feature Card (MSFC)
MSFC是引擎上面的一块子卡,处理所有的控制平面功能,其维护一张路由表。在1代引擎,当数据流的第一个包没有匹配到硬件转发表时就发送给MSFC做路由匹配后转发出去,然后相关硬件会自动学习到此数据流的flow-entry。而2代引擎不直接做数据转发,而是根据路由表建立一张CEF表。CEF表包含详细路由表使用一种最长匹配的高优先级的规则匹配路由表。MSFC将CEF表上载到硬件并保持实时更新,所以所有的数据包都是有相应的硬件来转发而非MSFC。
Policy Feature Card (PFC)
PFC是引擎上面的第二块关键子卡,其集成了几块ASIC交换芯片能提供15million pps的包转发速率。
clip_p_w_picpath008
PFC是一个交换系统的心脏,其通过三个ASIC芯片实现了交换转发的三个重要功能。一是2层MAC转发,一是3层路由转发,另外一个是策略(包括ACL或者QoS)匹配。当实现转发后,系统使用一个flow-cache机制,可以实现数据流的快速硬件转发。Flow-cache可以包含源和目的IP地址,甚至源和目的四层端口等信息。
二代引擎做了一些改动,包含了CEF表,如下图:
clip_p_w_picpath010
注意以下不同之处:
Ø 2层引擎和ACL引擎综合到一起;
Ø 不再使用flow-cache用于数据交换,而用于数据流状态记录;
Ø MSFC将CEF表上载到L3引擎用于数据转发。
Distributed Forwarding Card (DFC)
DFC是显卡上面的一块子卡,用于将PFC上面的信息下载到本地并保持实时更新。有了这些信息,线卡就可以自己直接进行数据匹配转发,而不需要传递到PFC进行操作。如下图为DFC的架构图,类似于PFC架构。
clip_p_w_picpath012
Buffering and Congestion Management for the 10/100 and Gigabit Ethernet Line Cards
缓存和拥塞管理也是交换结构的一个重要因素,拥塞管理有ASIC芯片来实现。针对GE类型和10/100M类型端口,存在2种不同的ASIC。
GE端口涉及到Pinnacle ASIC,一个Pinnacle ASIC控制4个GE端口,并为每个端口维护一个512K的buffer。为了避免头端阻塞(head-of-line blocking)现象,512K buffer设计成TX:RX=7:1,即其中448KB用于TX,而只有64KB用于RX。如下图:
clip_p_w_picpath014
10/100M端口使用另外一种机制来管理拥塞。其使用Coil ASIC和Pinnacle ASIC一起来管理,每个Coil支持12个10/100端口,而每个Pinnacle支持4个Coil。每个端口提供128KB buffer,同样以7:1的比率分担TX和RX。图例如下:
clip_p_w_picpath016

0

收藏

chris_lee

89篇文章,45W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

0

1
分享
chris_lee

推荐专栏更多

带你玩转高可用

前百度高级工程师的架构高可用实战

共15章 | 曹林华

¥51.00 523人订阅
负载均衡高手炼成记

高并发架构之路

共15章 | sery

¥51.00 603人订阅
基于Python的DevOps实战

自动化运维开发新概念

共20章 | 抚琴煮酒

¥51.00 574人订阅
网工2.0晋级攻略 ——零基础入门Python/Ansible

网络工程师2.0进阶指南

共30章 | 姜汁啤酒

¥51.00 2057人订阅
全局视角看大型园区网

路由交换+安全+无线+优化+运维

共40章 | 51CTOsummer

¥51.00 2611人订阅

扫一扫,领取大礼包