1、Bcm53314笔记构造1、 模块化、管道2、3、 Intelligent parser:检查来自Gbe 和 CMIC包,头128bit4、 L2互换:选取VLAN type、查找VLAN、L2单播、L2组播5、 CAP(FP):可用于Qos、ACL、DOS防御6、 Buffer Management:Mirror、trunk、Admission Control7、 Traffic Management:Queuing、Scheduling、Shaping8、 Modification:可以由tunneling产生9、 Gigabit Ethernet Port Interface Contr
2、oller (GPIC) block:可连接SGMII、SerDes10、 MMU:有一种512KB Cell Buffer Pool (CBP),支持IBP、HOL、pauseIBP:背压,输入流量过大发pause帧HOL:输出超过limit时丢包Shaping:输入流量超过limit则发pause帧11、 look up table:内存表,在on chip memory,不在cpu内存空间12、 搜索引擎:两种搜索引擎:Hash Search Engine和CAM Seacher Engine,Hash Search Engine用于L2表和VLAN表,CAM Search Engine
3、用于方略路由、ACL,可查找包字段13、 每端口MAC限制:防止MAC地址袭击,每端口学习MAC地址数达到限制后丢包or发到CPU。14、 可以通过软件手动增长/删除MAC地址,遵循地址限制,除非是静态地址或者组播地址。LAG按照实际成员端口来学习15、 端口被加进trunk组前腰删除所有L2 entry16、 CAP:17、 53314FP(CAP)有4个slice,每个512条规则18、 物理slice被映射到虚拟slice,虚拟slice在虚拟slice 组里19、 有某些计数器用来支持MIB20、 53314支持内部cpu和CMIC21、22、Packet Flow1、2、超大帧!13
4、K!3、先通过parser抽取输入逻辑和CAP所需字段,再检查tag4、double tag:Stacked VLAN也称QinQ 或Double VLAN。其实现为在802.1q合同标签前再次封装802.1q合同 标签,其中一层标记顾客系统网络(customer network),一层标记网络运营网络(service provider network),将其扩展实现顾客线路标记。5、VLAN解析-源地址学习-目地址查找-如果是组播包,查找L2MC表6、通过PCI接口连接外部CPU7、可以从CPU端口收发包,收发过程与其她Gbe端口同样,也许发往逻辑端口、stacking端口、丢包、或者发回c
5、pu端口L2 特性和操作1、 地址学习:学习未知SA2、 包老化:丢弃MMU里存在超过指定期间包3、 地址老化:支持软硬件老化,软件可以增长、删除、搜索和增长静态地址4、 地址状态移动:同一种SA转移到另一种port,需relearn5、 L2MC:线速,如果在L2表找到相应项,该表项有一种指针指向L2MC表,L2MC表返回port bitmap用作DA6、 L2_USER_ENTRY:通过软件设立,静态地址7、 802.1Q:给不带标记包或VID=0包加标记、变化标记、选取性丢包、可以辨认GVRP组播地址01-80-C2-00-00-21并把它转发到cpu、去掉untag端口发出去包tag8
6、、 GVRP:一种通过组播向其她端口传递端口VLAN信息合同9、 STP:根桥、根端口、计算途径开销、裁剪途径,如果拓扑构造变化则重新计算10、 BPDU:携带STP信息包11、 每个VLAN指定一种生成树组表,表里条目记载端口状态。2b00 = disable 2b01 = blocking 2b10 = learning/listening 2b11 = forwarding VLAN1、 support IEEE 802.1Q tagged,MAC-based,IP subnet-based,protocol-based,and port-based VLANs2、 TPID(Tag P
7、rotocol Identifier,标签合同标记)VLAN Tag中一种字段,IEEE 802.1q合同规定该字段取值为0x8100。 用来表达本数据帧是带有VLAN Tag数据。该字段长度为16bit。3、 如果包TPID与设立不一致(PORT_TAB/IPORT_TAB.OUTER_TPID),则以为是untagged包,如果一致,检查VID与否为0,0则加上riority tag4、 VLAN顺序:PORT表:VLAN_PRECEDENCED 0 = MAC-based VLAN has precedence over subnet-based VLANS 1 = Subnet-bas
8、ed VLANS has precedence over MCA-based VLANS5、 MAC-based VLAN:依照源MAC地址分派VID6、 Protocol Based VLAN:依照以太网合同(frame type/ethertype)来分派VID7、 Port-Based VLAN:依照端口分派VID(默认)8、9、 双标签:如上图,双标签分别是S-TAG(服务标记)和C-TAG(客户标记)。客户标记是顾客自身VLAN标记,服务标记是ISP在传播中使用标记10、 bcm53314为ISP提供两种办法来区别顾客:一种是透明局域网服务:用S-TAG封装带C-TAG顾客数据;另一
9、种是映射服务(VLAN转换):依照输入端口和VID来决定SPVLAN,可以带双TAG或者用S-TAG代替C-TAG11、12、 Double-tag下,有两种也许地址学习方式:一是依照C-TAG广播域学习,那样就会有诸多重叠地址(bcm53314不支持这个),另一种办法是依照S-TAG广播域来学习,忽视顾客VLAN13、 VLAN转换:在VLAN转换模式下,对输入包用VID和端标语作为索引查VLAN_XLATE表,如果找到相应项,依照VLAN_XLATE.ADD_VID位来增长VLAN tag或代替原有tag。对输出包则查EGR_VLAN_XLATE表,把SPVID替代成CVID和优先级14、
10、包进入输入端口untaggedPORT_TABLE.NNI_PORT=0?TPID=VLAN_CTRL.INNER.TPID?是UNIyesCVID=0?YesnoPriority taggedtagged分派S-TAG信息分派S-TAG信息分派S-TAG信息YesnoUNI向NNI输入:NNI端口15、包从输入端口获得S_TAG信息,进入输出端口后,依照这些信息加S-TAG,S-TAG各字段值从如下办法得到: TPID: S-TAGTPID依照EGR_VLAN_CONTROL_1egress port.OUTER_TPID_SEL,从EGR_VLAN_CONTROL_1egress port
11、.OUTER_TPID_INDEX 或EGR_VLANS-VID.OUTER_TPID_INDEX获得,2-bit OUTER_TPID_INDEX用来索引EGR_OUTER_TPID表来获取TPID值 S-VID:来自输入端口 S-PRI and S-DE:来自输入端口包优先级和CNG被映射为3位S-PRI和1位S-DE,通过EGR_PRI_CNG_MAP表。如果EGR_VLAN_CONTROL_1egress port.CFI_AS_CNGouter TPID index = 1,使用来自EGR_PRI_CNG_MAP 表S-DE。否则,来自输入端口外层CFI 值用作S-DE。 Outer
12、 CFI=0,由于没有外层CFIyesCVID=0?YesPriority tagged双标签分派S-TAG信息Yesno包进入输入端口PORT_TABLE.NNI_PORT=1?外TPID= ING_OUTER_TPID?是UNI内TPID= VLAN_CTRL.INNER_TPID?no单标签Yes不带标签NoPORT_TABLE.PORT_DIS_UNTAG=1?扔掉NoYes分派S-TAG信息发到输出端口NNI向UNI输入:NNI发往UNI,输出(1):来自输入端口包EGR_VLAN_CONTROL_1egress port.REMOVE_INNER_TAG = 1?有C-TAG?EG
13、R_SRC_PORTlocal ingress port.ADD_INNER_TAG = 1加C-TAGYes不加C-TAGNoYes去掉C-TAG保存C-TAGEGR_VLANS-VID.UT_PORT_BITMAPegress port = 1?去掉S-TAGYesYesNoNo下一步NNI发往UNI,输出(2):上一步EGR_VLANS-VID.UT_PORT_BITMAPegress port = 0 and EGR_VLAN_CONTROL_1egress port.VT_ENABLE = 1查表EGR_VLAN_XLATE找到匹配项?更改最外层TAG下列字段:VID、PRI、CFI
14、、TPID扔掉或去掉最外层TAG或改TPID (视寄存器配备而定)NoYesUNI发往UNI,输入过程 与UNI发往NNI输入过程相似UNI发往UNI,输出过程与NNI发往UNI输出过程相似NNI发往UNI,输入过程 与NNI发往UNI输入过程相似UNI发往UNI,输出过程与UNI发往NNI输出过程相似VLAN MirroringUNI 输入镜像输入:包输入UNI端口转发向MTP输出:向MTP输出,不修改包NNI 输入镜像输入:包输入UNI端口转发向MTP输出:向MTP输出,不修改包Management VLAN(管理VLAN)网友3:native vlan本质来说,就是不带vlan IDvl
15、an,无论是802.1q或者isl。由于不带vlan ID,如何互换机都可以接受和传递它包,无论是不支持3层还是一种hub。 而在此基本上提出了managerment vlan。这个概念其实是源于此前有isl和802.1q共存环境,由于这时候,由于某些vlanprune修剪。所有互换机都可以传播就是native vlan,这个vlan就变成了管理vlan。NNI:把管理包当作单S-TAGUNI:用S-VID代替管理VLANVID 在UNI输入端口:管理VLANTPID需要配备成芯片内部TPID。使得管理包到达UNI时候被当作C-tagged包 VLAN FP 或 ingress VLAN tr
16、anslation必要被配备为把管理VID转换成S-VID。 在NNI输入端口:管理VLAN tagTPID需要配备成容许外层TPID之一使得管理包到达NNI端口时被当作S-tagged包解决。 在UNI输出端口:对于管理VID,EGR_VLAN.UT_PORT_BITMAP应当被配备为零,来保护管理VLANtag不被去掉。并且,基于每个端口EGR_VLAN_CONTROL_1.VT_MISS_DROP位和VT_MISS_UNTAG都应当为0,避免万一VLAN转换失败时丢弃管理包和去掉管理包tag。然而,这样做会导致其她在输出VLAN转换表里查找不到非管理包不被扔掉和不被去掉tag。这不是想要
17、效果。因而咱们需要保证非管理包在输出VLAN转换表里能查找到。因而输出VLAN转换表必要配备成如下其中一种: -管理包在表里总是能找到 -管理包VID被转换成相似值 在NNI输出端口:对于管理VID, EGR_VLAN.UT_PORT_BITMAP应当被配备为零,来保护管理VLANtag不被去掉。EGR_VLAN_CONTROL_1.OUTER_TPID_SEL 应当设立成1,这样外层TPID就以EGR_VLAN.OUTER_TPID_INDEX为索引,从管理VLANEGR_OUTER_TPID寄存器获得。缓存管理(Buffer Management Mechanisms)Ingress Ba
18、ckpressure1、 输入背压,用作流控2、 IBPPKTCOUNT和IBPCELLCOUNT记录输入数量(包或cell)3、 IBPBKSTATUS表达背压状态4、 IBPCELLSETLIMIT or IBPPKTSETLIMIT设立限制值5、 当超过限制值,端口进入背压状态。6、 端口进入背压状态,发送值为0xFFFFpause帧。当解除背压状态,发送值为0x00pause帧7、PAUSE 测量(Pause Metering)1、 用来做输入限速2、 有一种漏桶构造,如图3、4、 每个包到达时,相应个数标记会增长到桶里,每个标记代表0.5bit。每7.8125微秒自动减去REFRES
19、HCOUNT个标记。因而,假设REFRESHCOUNT=0x61A,每秒减去0x61A (10000007.8125)= 个标记,由于每个标记0.5bit,约等于1Mbps。也就是说带宽100M。5、 每发出一种cell,桶更新一次,MMU检测到有一定数据流,告知输入端口进行更新。6、 当BUCKET_COUNT到达DISCARD_THD后,丢包,直至低于RESUME_THD。HOL保护线头阻塞(Head-of-line blocking,HOL)是一种出当前缓存式通信网络互换中一种现象。互换普通由缓存式输入端口、一种互换架构(Switch Fabric)以及缓存式输出端口构成。当在不同输入端
20、口上到达包被指向相似输出端口时候就会浮现线头阻塞。由于输入缓存以及互换设计FIFO特性,互换架构在每一种周期中只能互换缓存头部包。如果某一缓存头部包由于拥塞而不能互换到一种输出端口,那么该缓存中余下包也会被线头包所阻塞,虽然这些包目端口并没有拥塞。1、 支持基于cell和packet保护机制,两种机制同步生效,都可以配备。2、 Cell基于每个队列总缓存空间,packet基于每个队列指定包数量3、 这种机制目是:支持有损缓存管理、管理Cos粒度和输出端口缓存资源4、 通过丢包实现这一功能,当输入端发生拥塞时,新到包丢包。5、 通过MISCCONFIG寄存器DYNAMIC_MEMORY_EN字段
21、,设立与否打开动态内存分派。6、 静态分派:COSLCCOUNT.LCCOUNT为当前队列cells数,超过LWMCOSCELLSETLIMIT.寄存器CELLSETLIMIT时进入HOL状态,低于CELLRESETLIMIT解除HOL状态7、 动态分派:LWMCOSCELLSETLIMIT.寄存器CELLSETLIMIT指定每个队列静态分派cell数目,这个值必要比cell总数(4096)少,然后剩余某些作为所有队列共享动态分派数目。每个cell代表128字节8、 TOTALDYNOVERLIMIT表达动态内存与否可分派,若超过TOTALDYNCELLLIMIT,变成true;若低于TOTA
22、LDYNCELLRESETLIMITSEL,变false拥塞位(congestion Bits)1、 拥塞位通过DSCP表或者CAP计量引擎设立2、 拥塞位用来表达红绿黄三种颜色。3、 CNGCOSPKTLIMIT寄存器提供一种阈值限制每个输出端口或队列速率。4、 CNGCOSPKTSETLIMIT0用来比较红色包,CNGCOSPKTSETLIMIT1用来比较黄色包。当COSPKTCOUNT超过限制,丢包。sRED (SIMPLE RANDOM EARLY DETECTION)1、 通过随机丢包来保护TCP同步2、 通过概率性丢弃有颜色包实现活跃队列管理,实现sRED3、 活跃队列管理是一种算
23、法,这种算法尝试预先丢包或标记某些帧。目是发现严重拥塞状况并提前采用办法,使TCP源有助于拥塞后退4、 实现颜色辨认、概率性丢包,提前丢弃指定颜色包避免缓存满。5、 每次包到达都检测队列深度,如果不大于某个较低值,队列没有或有较小拥塞。如果超过某个较大值,队列很拥塞,丢包。如果在两个值之间,队列拥塞适中,通过计算得出一种丢包概率DIFFERENTIATED SERVICES QOS(区别服务Qos) 区别服务模型是一种可以区别QoS需求多业务模型(一种计算机联网体系构造)。它指定了一种简朴、可伸缩、粗粒度机制来分类、管理网络业务流,并在当代IP网络上提供了服务质量保证。例如,DiffServ可
24、以用于为核心网络流量(例如语音和视频)提供低延时、保证型业务,同步又为非核心业务(例如web流量和文献传播)提供了竭力而为业务保证。然而,与综合服务模型不同,使用区别服务应用在发送数据之前不需要显式地告知路由器。对于区别服务,网络依照每一种报文指定QoS来提供一种特定类型服务。这种指定可以使用各种方式实现,例如,使用IP报文中IP优先级比特或者源和目地址。网络使用QoS规范来分类、标记、整形、监管流量,并执行智能化排队。1、 IEEE 802.1D定义了8个级别优先级,优先级7为最高优先级,优先级信息被携带在一种3botVLAV tag字段里并应用于所有端口。2、 Bcm53314有4个队列。
25、对于tagged包,优先级也许来自VLAN tag或过滤机制。对于untagged包,优先级来自ARL(VLAN地址表)或过滤机制。3、 包在输入端口被映射到优先级队列,在输出端口依照各种调度方式来调度队列4、5、 最大、最小带宽测量,保证最大、最小带宽6、 这种机制其中一种用途就是把队列提成不同调度组。有如下几组:MinNotMet、MaxNotMet、MaxExceeded7、 队列最小带宽测量:8、 实现原理:这是一种漏桶构造,包到达时加标记(token),每7.8125微秒减去一种refreshcount标记9、 每个队列最小带宽设立范畴为64 Kbps到16 Gbps。10、 最大突
26、发大小(MIN_HI_THD_SEL) 在4KB到16MB之间11、 如果当前桶装载量超过MIN_LO_THD_SEL,则 IN_PROFILE_FLAG为true,表达满足最小带宽。否则为false,不满足。12、 MIN_LO_THD_SEL影响最小带宽测量操作时间表,如果MIN_LO_THD_SEL设立很小,队列不久被标记达到最小带宽,减少队列在MinNotMet时间。减少调度方略分派给队列优先时间13、 队列最大带宽测量:14、 实现原理:这是一种漏桶构造,包到达时加标记(token),每7.8125微秒减去一种refreshcount标记15、 每个队列最大带宽设立范畴为64 Kbp
27、s到16 Gbps。16、 MAX_THD_SEL值在4K到16MB之间17、 如果当前桶装载量超过MAX_THD_SEL,队列服务停止18、 基于队列最大输出带宽机制同样合用在整个输出端口19、 优先级队列调度方式有四种SP、RR、WRR、WDRR。20、 SP是严格优先级调度,即总是优先转发队列3数据包,直到队列3数据包转发完毕,才开始转发队列2数据包,队列2数据包转发完毕才转发队列1数据包,最后转发队列0数据包。21、 RR是轮询调度方式,互换机在转发数据包时,从高优先级队列到低优先级队列依次轮询转发数据包,每个队列转发一种数据包。22、 WRR是指带权优先级轮询,互换机在转发数据包时,
28、依照权配备从高优先级队列到低优先级队列轮询转发数据包,先从高优先级转发权个数数据包,在转发次高优先级权个数数据包,直到最低优先级队列转发完,又从高优先级开始转发,以此推类。23、 WDRR是带权欠账轮询调度方式,即队列3权值为4,那么在某一轮,它可以转发5个数据包,而下一轮,它只有转发3个数据包额度。24、 SP+WRR:在WRR模式中,权重为0队列被严格优先解决,所有权重为0队列解决完后,才按WRR方式解决其她队列。单速率三色标记(SrTCM)和双速率三色标记(TrTCM)单速率三色标记(Single Rate Three Color Marker) 摘要 本文重要描述单速率三色标记(Sin
29、gle Rate Three Color Marker,srTCM),它可被用于Diffserv流量调节器(traffic conditioner)中。SrTCM测量信息流,并依照三种流量参数(提交信息速率,Committed Information Rate,CIR;提交组量大小Committed Burst Size,CBS;超量组量大小Excess Burst Size,EBS)对包进行标记,这三个参数咱们分别称为绿,黄和红标记。如果包没有超过CBS就是绿,如果超过CBS但未超过EBS就是黄,如果超过EBS就是红。 1. 简介 SrTCM测量信息流,并依照三种流量参数(提交信息速率,Co
30、mmitted Information Rate,CIR;提交组量大小Committed Burst Size,CBS;超量组量大小Excess Burst Size,EBS)对包进行标记,这三个参数咱们分别称为绿,黄和红标记。如果包没有超过CBS就是绿,如果超过CBS但未超过EBS就是黄,如果超过EBS就是红。 Meter工作在两种模式下:在色盲模式下,它假设包是无色;而在非色盲模式下,它假设包是被标记过颜色。至于包是如何被标记上颜色,不是本文讨论范畴。Maker依照Meter成果对IP包进行着色,颜色被标记在DS域中。在其他文章中还描述了双速率颜色标记法,在这种办法下,包依照双速率和双组大
31、小进行标记。 2. 配备 srTCM配备是通过设立模式和设立CIR,CBS和EBS三个参数完毕。CIR是用于表达每秒IP包字节数,字节数涉及IP包头。CBS和EBS也以字节为单位,CBS和EBS必要被设立,它们之一必要不不大于0,如果CBS或EBS值不不大于0,它值最佳不不大于等于流中也许IP包MTU。/ 本文转自 C+Builder研究 - 3. Meter工作 Meter动作由模型和两个标记桶(C和E)表达,这两个标记共享通用速率CIR。C最大值是CBS,而E最大值是EBS。起始时(T=0)C和E值为最大值。Tc(0) = CBS, Te(0) = EBS,后来每秒钟Tc和Te每秒钟如下面
32、规则更新CIR次: if (TcCBS) Tc+;else if (Te= 0) 包为绿色,if (Tc= 0) 包为黄色,if (Te= 0) 包为绿色,if (Tc= 0) 包为黄色,if (TeB) Te = 0;else Te = Te-B; else 包为红色时不对Tc和Tc进行操作。 在实际实现中也许会对上面过程有所更改。Mark工作重要是反映了meter成果。此服务可以对不同颜色包进行不同解决,例如可以抛弃红色包,由于它已经超过了规定参数值。1、 ContentAware测量引擎对带宽进行监测和控制。2、 每个数据流有一种profile,如果数据流特性与profile吻合,则为n
33、-profile。否则out-of-profile。3、 Bcm53314支持单速率三色标记(SrTCM)和和双速率三色标记(TrTCM)(上面一大段文字有简介)4、 测量引擎对数据流进行颜色标记后由方略引擎对已标记包进行带宽控制广播风暴1、 支持每个端口基于字节或包个数限制,防止网络中形成广播风暴2、 可以限制三种包:广播包、组播包、DLF包3、 每种包类型分别有计数器对接受包进行计数,如果超过限制则丢包增强功能和操作链路聚合1、 支持最多32个trunk组,每个trunk组最多8个成员端口2、 成员端口在TRUNK_BITMAP表里设立,trunk组在TRUNK_GROUP表里设立3、 进
34、入GbE端口包返回一种MODID和PORTID,MODID用来与目芯片MODID比较,PORTID用来分队列。如果PORTID高位被置位,那么MODID和PORTID被当作TGID4、 TRUNK_GROUP表有8个条目,每个条目均有MODID和PORTID,用来选取一种作为发包端口。5、 TRUNK_GROUP表又一种3位RTAG字段,用来选取选路方略,通过选路方略计算出一种哈希值,这个哈希值再找到详细端口,实现选路6、7、 有如下这些选路方略:8、9、 如果不是一种IP包,会自动选取SA、DA这种哈希算法10、 如果是非单播包,哈希值索引到16个NONUCAST_TRUNK_ BLOCK_
35、MASK寄存器之一。这个寄存器用来选出trunk组里一种端口。通过这个寄存器生成掩码,与转刊登mask出一种新转刊登。11、端口镜像(Mirror)1、 支持如下mirror:输入mirror、输出mirror、输入和输出mirror、基于MACmirror、通过stackmirror2、 在以上所有状况下,在NONUCAST_TRUNK_ BLOCK_MASK基本上支持4个输入MTP(Mirror-to-port)和4个输出MTP3、 Mirror_Control registerM_ENABLE位置位,打开mirror功能。Mirror支持如下功能4、 输入MTPs和输出MTPs 可以是不
36、同或同一种端口5、 最多8个MTPs6、 MTP端口可以是逻辑端口(聚合端口)7、 不检查VLAV成员,必要是所有VLAN成员8、 输入包不修改直接转发9、 输出包打上VLAN标记再转发10、 在单端口上容许互换和镜像同步进行,接受到互换和镜像拷贝。11、 如果包是被输入和输出镜像,那么输入和输出拷贝将发送到MTP端口12、 发送到输入端口包未经修改13、 发送到输出端口包被修改(如果有话)打开输入镜像相应输入端口PORTingress.MIRROR = 1. 相应端口MIRROR_CONTROL registerIM_MTP_INDEX指针指向MTP端口IM_MTP_INDEX表IM_MTP
37、_INDEX表记录MODULE_ID和PORT_TGID(聚合组ID)打开输出镜像EMIRROR_CONTROL寄存器里相应输出被镜像端口置位。镜像端口在 Mirror_Control Register里EM_MTP_INDEX设立。顾客通过设立EM_MTP_INDEX 表里MODULE_ID和PORT_TGID字段设立MTP端口安全支持如下端口安全应用:1、 端口堵塞(port blocking):虽然是相似VLAN,也可以制止指定端口向其她端口发包。通过Egress_Mask寄存器设立2、 MAC堵塞(MAC blocking):制止指定MAC地址向端口发数据,最多可以指定32个MAC地址
38、3、 每个流堵塞:CAP动作可以依照指定数据类型制止包从指定端口发送4、 广播、组播、DLF控制:每个输入端口可以制止广播、组播和DLF包向指定端口发送。在端口安全应用上,可以防止包发往VLAN内端口,涉及CPU端口,例如防止DLF包上CPU硬件合同检查可以通过硬件对合同进行检查,以提供安全应用,例如防止DOS袭击,硬件检查容许顾客扔掉如下状况包: SIP = DIP for IPv4/IPv6 packets TCP_SYN Flag = 0 TCP packets with control flags = 0,and sequence number = 0. TCP packets wit
39、h FIN,URG and PSH bits set,and sequence number = 0. TCP packets with SYN and FIN bits are set. TCP source port number = TCP destination port number. First TCP fragment does not have the full TCP header (less than 20 bytes). TCP header has fragment offset value as 1. UDP Source Port number = UDP Dest
40、ination Port number. CMP ping packets payload is larger than the programmed value of ICMP maximum size. Fragmented ICMP packets.以上设立通过DOS_Control寄存器设立CMIC packet DMA1、 DMA引擎:容许顾客从CPU(PCI缓存)传送数据到端口,反之亦然。2、 CPU发数据时,设备进行DMA读取。CPU收数据时,进行DMA写3、 在CPU发送途径里包被写入输入管道(IP),在CPU接受途径,包从输出管道(EP)读取4、 Bcm53314支持4个DM
41、A通道,她们可以各自同步读写5、 DMA控制器以32bit为边界传播数据,不论cell字节个数,DMA控制器以32bit操作PCI内存空间。6、 DMA控制器总是以128字节大小为一种cell向IP(ingress pipeline)发送包7、 包以128字节为一种cell大小从CMIC发往IP,由于数据传播以32bit为边界,传播一种cell要32个beats。8、 包以32字节为一种cell大小从EP(egress pipeline)发往CMIC,由于数据传播以32bit为边界,传播一种cell要8个beats。第一种cell可以多发8个beats来传送状态信息9、 本地或外部CPU可以向
42、53314插入包,芯片把它当做普通从端口收到包解决。也许会对它解封装、转发、封装、加tag、丢弃、发回CPU等操作sFlow流监测1、 除了支持原则MIB(RMON、SMON、SNMP)S外,还支持RFC3176 SFlow流监测2、 sFlow采用达到一定精确度随机包采样办法来描述数据流特性3、 sFlow由代理器和分析器构成,bcm53314有一种内建代理器,分析器在软件应用层实现。Bcm53314代理器采用基于时间随机采样办法对数据流采样。样本包以sFloe数据包格式发往软件分析器。4、 独立监测输入和输出数据流,在SFLOW_ING_THRESHOLD和SFLOW_EGR_THRESH
43、OLD寄存器分别有16bit阈值位5、 每个端口有24bit随机数,也有随机数种子字段,可配备。6、 当enable,16位阈值加上8位0后与24位随机数比较,如果随机数不大于或等于阈值,则对这个包采样。7、 样本包有优先级。基于CPU_CONTROL_2.CPU_SFLOW_PRI 。 DMA Control Block Descriptor 里REASON字段指明包是由于sFlow而发往CPU。CPU_SFLOW_SRC(bit 5) for ingress sFlow and/or CPU_SFLOW_DST (bit 6) for egress sFlow8、 包采样速率从0%到0.4
44、%(依照阈值)Note:DMA Control Block Descriptor:硬件上设计了一种合同,这个合同规定了怎么控制DMA传播数据。软件要按照这个合同向这个东西写数据。然后硬件就会自己解决自动DOS防护1、 BCM53314支持检测如下类型Denial of Service (DoS) 袭击类型,并且可以通过配备忽视这些袭击包2、3、4、 MIN_TCP_Header_Size可配备为0到255字节,默认20字节(TCP头不带选项)5、 MAX_ICMPv4_Size可配备为0到9.6 KB,默认515字节。6、 Smurf/Fraggle类型DOS包可以被FP规则检测并丢弃,通过匹配直接IP广播地址和相应ICMP类型或UDP类型。 7、 Ping冲击或SYN/ACK冲击类型DOS袭击可以被FP规则检测并限制,通过匹配相应ICMP类型或相应TCP控制位8、 当一种包被视为DOS袭击类型后必要被丢弃,不论ARL转发决策。(但基于mirror转发不受影响),,并且不学习源地址。ETHERNET AV(以太网音频视频)1、 自动检测对端与否有Ethernet AV能力2、 通过LLDP合同发广告3、 通过TS合同进行链路延时测量 硬件规定