Marvell DSA(分布式交换架构)by  韩大卫@吉林师范大学***************

请参见  Marvell Prestera/Cheetah/xcat/lion 系列交换芯片手册获取更详细的说明

Marvell DSA(分布式交换架构)技术使得设备之间通过级联的方式, 组成一个大型交换网络, 最大程度上加速报文的转发和处理. 在此系统中, 最多允许31个设备相连, 相连设备间的端口需要配置为级联端口, 这样端口间传输的报文会被芯片打上一个DSA 的标记(类似于VLAN), DSA Tag中主要信息有:
Vlan-ID , Souce ID(用于标记报文原始出处), TrgDev(目的设备), TrgPort(目的端口), SrcDev(源设备), SrcPort(源端口)等.所以首先要将级联系统中的每一个设备配置一个唯一的级联设备号(Hardware Device ID).0-31. 将指定端口配置为级联端口, 此时该端口同时应该关闭Ingess PCL, Bridge Engine, Policer engine, TTI lookups 和Route等功能. 设备对报文的处理, 仅根据报文中DSA Tag 的相关信息. 进而最大程度上加快报文的转发速度.关于DSA Tag 的产生:  在一个设备中, 一个网络接口接收到报文, 并将其转发到其他端口, 如果某端口配置为DSA mode(级联接口). 在报文进入此级联接口时会被设备打印上DSA标记, DSA Tag 里的内容根据该设备的各种配置而定, 此后会一直携带此DSA Tag转发到所有可能进入的级联设备. 当报文由级联接口转发到网络接口时,  DSA Tag会自动转换为IEEE 802.1Q格式的报文. NOTE:DSA Tag 可以分为DSA Extend mode和 DSA Regular mode. DSA Extend mode  为8个字节, Marvell定义为两个word, Word 0 和word 1. DSA  Regular mode 为4个字节, 只有一个word. DSA Extend mode会携带更多的信息. 现大多数Marvell Prestera/Cheetah/xcat/lion 系列交换芯片均支持 DSA Extend mode. 如果一个配置为  DSA Extend mode的级联接口与一个配置为DSA  Regular mode的级联接口相连,  在传输报文时, 报文中DSA Tag会在两者间自动转换.在级联系统中, 对于报文的转发, 根据报文有无已知出口路径而分两种情况, 一, 如在设备中存在有直接转发该报文的路径, 比如有该报文中目的MAC与出接口的对应关系的FDB表, 或者有PCL来指定报文的出接口, 那么此时报文根据设备中 “ Dev Map Table” 中目的设备与指定出接口的对应关系来转发至该出接口. 此报文可以当作在级联系统中的单播报文.单播的报文中示例如下:13:51:27.575755 00:16:31:fe:e7:e8 > 12:13:18:cc:dd:ff, ethertype Unknown (0xc100), length 68: 0x0000:  1213 18cc ddff 0016 31fe e7e8 c100 3001  ........1.....0.0x0010:  1010 0101 0800 4500 0028 2b75 0000 4006  ......E..(+u..@.0x0020:  b9f0 c0a1 0a0a c0a1 0a1e 0014 04b0 1cbe  ................0x0030:  45aa 07a7 22fe 5000 0200 86a8 0000 0000  E...".P.........0x0040:  0000 0000  DSA Tag 为:  c100 3001 1010 0101 含义如下:Word 0: c100 3001 :[31:30]TagCommand          :  forwarding[28:24]SrcDev                  :   00001            -------> 报文来自设备1[23:19]SrcPort                  :    0000    -------> 来自设备1 的Port 0[15:13]UP              :   001     -------> User Priority 1[12]                     :   1       -------> DSA Extend 类型[11:0]                 :   1       -------> VLAN-ID 为 1Word 1: 1010 0101 [28]EgressFilter           1:          ------->     报文为已知路径的单播报文.[24:20]Source ID               00001:      ------->     1   :   Souce ID 为 1[10:5]TrgPort                   0010000:            ------->     8   :   目的port 为 8[4:0]TrgDev               00001:      ------->     1   :   目的dev   为 1这样,  在dev 0的级联接口接收到此报文后, 根据dev 0 内部的Dev Map Table配置找到对应出接口, 转发报文.NOTE:Source ID Source ID 为一个 5bit的数字, 用于在级联系统中标识一个设备, 建议与Hardware Device ID配置一致, 这样可以通过此Source ID 来看出报文来自哪个设备从而加以处理.默认值为0.如果将ge 0 的”端口默认Source ID” 使能, 报文中的Source ID 为ge 0的默认Source ID配置. 对于级联系统中的单播报文, 可通过配置Dev Map Table来决定报文的走向, 例如, 对于上面的报文, 在设备中配置DEV MAP Table,--------------> 配置连接 Dev1 的接口为 8这样, 上面的报文会被转发到ge 8.二, 如果在设备中, 对此报文没有直接的出口路径, 那么便在级联系统中广播, 广播的报文示例如下:14:19:12.911557 00:16:31:fe:e7:e8 > 12:13:18:cc:dd:ff, ethertype Unknown (0xd000), length 76: 0x0000:  1213 18cc ddff 0016 31fe e7e8 d000 3001  ........1.....0.0x0010:  0010 1fff c100 3001 1010 0101 0800 4500  ......0.......E.0x0020:  0028 e032 0000 4006 0533 c0a1 0a0a c0a1  .(.2..@..3......0x0030:  0a1e 0014 04b0 19f8 d415 66eb f4b8 5000  ..........f...P.0x0040:  0200 ca03 0000 0000 0000 0000Word 0 : d000 3001[31:30]TagCommand         :  forwarding[28:24]SrcDev                  :   10000   -------> 报文来自设备16[23:19]SrcPort                  :   0000    -------> 来自设备1 的Port 0[15:13]UP              :   001     -------> User Priority 1[12]                     :   1       -------> DSA Extend 类型[11:0]                 :   1       -------> VLAN-ID 为 1Word 1 : 0010 1fff[28]EgressFilter           0:          ------->     报文为知路径的多播报文.[24:20]Source ID                00001:      ------->     1   :   Souce ID 为 1[10:5]TrgPort                    1111111:   ------->     8   :   目的端口为所有端口[4:0]TrgDev                11111:      ------->     1   :   目的dev   为所有设备对于级联系统中的多播报文, 可使用Source ID Group 来决定报文的出口,比如, 对于上述报文, 做如下配置:一, 将接口 16 添加到 Soure ID group 1 中 二,  将接口 25 在 Soure ID group 1 中删除这样, 同在 VLAN 1 下的ge 16和xe 25, 只有ge 16可以收到报文, 进而在级联系统中进行广播.另外, Marvell 定义了一种 Fast Failover(快速故障处理) 的机制. 当级联系统中某一个设备出现故障时, 为保证链路畅通, Marvell允许用户定义弟二个出接口, 当设备默认出接口有问题时, 会自动切换到弟二个出接口.NOTE:Dev Map Table , Source ID Group , Vlan 几个表的作用范围:作用范围依次变大:Dev Map Table  ---->  Source ID Group --------> Vlan首先, 要保证级联接口在报文的Vlan中.对于要在级联系统中没有已知路径(广播)的报文, 使用Source ID Group来决定报文出口.对于在级联系统中有已知路径(单播)的报文, 在满足Source ID Group情况下, 由Dev Map Table决定报文出口. 根据Marvell 提供的配置, 可以决定是否Source ID可以决定过滤DSA单播报文, 默认功能是使能的(因为单播的范围在广播范围中), 所以DSA单播报文, 需要先满足Source ID Group, 再根据Dev Map Table进行转发.NOTE:当两个设备作为级联时, 整个级联系统作为一个设备来学习目的设备/目的接口 与报文中MAC的对应关系.例如如果dev 0 的ge 0 进入报文经过ge 8发出, 最后由dev 11 的 ge 18转发到目的地, 之后该地址发送回应报文.  那么dev 0 自动学习的结果是:VID     MAC                   Interface     Type        DstDev1     00:16:31:ff:31:11       18              dynamic 11VID       MAC                   Interface     Type        DstDev1     30:16:31:ff:3a:ee       0               dynamic 0如果不是作为级联系统, 那么dev 0 的学习结果仅为自身的出接口:VID      MAC                   Interface     Type        DstDev1     00:16:31:ff:31:11       8               dynamic 0********* ********************Thanks for review
******************************

Marvell 交换芯片DSA(分布式交换架构)功能介绍相关推荐

  1. 基于交换芯片的五元组过滤功能

    基于交换芯片的五元组的PCL规则过滤功能作者: 韩大卫@吉林师范大学2012.12.10Not Approved by Document Control Review Copy Only基于Marve ...

  2. 风生水起才知天高云淡 - 浮云贴 - 百万商业圈云平台之分布式集群功能介绍

    风生水起才知天高云淡 - 浮云贴 - 百万商业圈云平台之分布式集群功能介绍 百万商业圈云平台之分布式集群(BDC)即将开发完毕 目标: 百万商业圈云平台之分布式集群 简称:BDC 全称:Bwsyq.D ...

  3. Marvell交换芯片88E6390驱动开发

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 Marvell交换芯片8 ...

  4. 基于交换芯片的五元组的PCL规则过滤功能

    2019独角兽企业重金招聘Python工程师标准>>> 基于交换芯片的五元组的PCL规则过滤功能作者: 韩大卫@吉林师范大学2012.12.10Not Approved by Doc ...

  5. Marvell交换芯片88E6321/88E6320驱动总结-硬件篇

    芯片特性 Marvell 88E6321/88E6320 是一个7-Port千兆以太网交换芯片.支持最新的IEEEE802.1 Audio Video Bridging标准. 芯片包含两个10.100 ...

  6. Marvell宣战博通网络交换芯片,一大波饿狼扑食而来

    origin: http://www.esmchina.com/news/article/201704051517 一大批饿狼扑食而来,基础芯片领域--网络交换芯片江湖将掀起血雨腥风. 此前,网络交换 ...

  7. 数据中心网络架构的问题与演进 — 传统路由交换技术与三层网络架构

    戳蓝字"CSDN云计算"关注我们哦! 文章目录 目录传统路由交换技术路由和交换交换技术传统的 2 层交换技术具有路由功能的 3 层交换技术具有网络服务功能的 7 层交换技术路由技术 ...

  8. 交换芯片相关(Broadcom)

    交换芯片 交换芯片为交换机核心芯片之一,决定了交换机的性能,属于交换机的心脏.交换机主要功能是提供子网内的高性能和低延时交换,而高性能交换的功能主要由交换芯片完成.同时由于交换机的部署节点多.规模大, ...

  9. BCM交换芯片之L4分析

    1 ContentAware processor 1.1 各厂家的L4功能 交换芯片ACL功能在不同的厂家中有不同的叫法,BCM称为ContentAware processor,Marvell称为Po ...

最新文章

  1. BERT-Pytorch demo初探
  2. 【ES6】ES6编程规范 编程风格
  3. 编写程序计算交错序列_外文翻译 | FlyMC:高度可扩展地测试分布式系统中的复杂交错...
  4. 笔记-信息化与系统集成技术-信息系统的特点
  5. java集合类详解和使用_Java 集合类详解
  6. 求数组中元素为另外两个元素和的最大元素
  7. 设计模式之 里氏替换原则
  8. 信息学奥赛一本通 1358:中缀表达式值(expr)
  9. C程序设计语言现代方法08:数组
  10. python sep参数_Python 3.3:分离参数(sep)给出
  11. openoffice 64_科学网—四棱的核桃:卡片机傻拍2020(64)
  12. 通向架构师的道路(第八天)之weblogic与apache的整合与调优 转
  13. (HDU)1089 --A+B for Input-Output Practice (I)(输入输出练习(I))
  14. bt协议详解 DHT篇(上)
  15. 硬盘老是显示正在计算机,电脑开机总是提示正在扫描和修复驱动器解决措施
  16. 启鸿蒙什么意思,鸿蒙是什么?大多数人可能都理解错了
  17. arcgis弧段怎么加很多点_关于ArcGIS的这62个常用技巧,你造吗?
  18. 龙应台:历史对於价值判断的影响—沙漠玫瑰的故事
  19. Unity游戏打包以后无法获取配置文件信息
  20. js纯原声实现贪吃蛇小游戏

热门文章

  1. 微软想做apple和google的的混合体
  2. 深入了解人工智能的主要缺点
  3. 【无标题】Map的使用方式
  4. 火狐浏览器如何设置默认打开网页
  5. beyond compare 用法
  6. 在Linux下掌握arm和操作系统(0)--开篇闲聊
  7. 互斥事件的概念和公式_互斥事件
  8. 网站建设难度大吗?效果好吗?
  9. 成熟男人与未成熟男人
  10. 基于微信小程序的乐团团购系统设计与实现-计算机毕业设计源码+LW文档