HiGig概述
HiGig既是一种系统接口(端口),也是一种协议。它是指10/12/13G速率的的系统接口,也是一种多芯片互通工作的协议。HiGig的应用一般在芯片之间的互联,通过线缆的互联堆叠,或者是通过背板的互联。
HiGig2是HiGig协议的升级,它携带的HG头灵活性更强一些,对流控和流量的均衡等功能做了更好的支持,可扩展性也更强一些。
HiGig/HiGig+的差别在于速度的不同。HiGig是10G速率,HiGig+是指12G速率。HiGig2代
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
的是协议,不是速率。它可以配置不同的速率。如10/12/13/16/25G 均可配置。
HiGig/HiGig2报文格式比较
以太包和经过HiGig封装的报文格式比较
1.如堆叠端口的模式是使用Higig协议:
12字节的Higig头替换了8个字节的前导码字段(Peamble),并且占用了4字节的帧间隔字段(IFG)。
当以太端口收到64字节的Untag报文,并且通过HiGig接口转发时,成为一个76字节的报文。报文的VLAN的信息作为HiGig头的一个字段携带,在2字节的标签控制信息字段(TCI)中使用。在目的端口转发这个报文时,还原为以太包,从HG头部取出VLAN信息,将VLAN插入报文内容中还原。报文长度为以太报文长度加12。
当以太端口收到64字节的带TAG的报文时,报文的VLAN的信息作为HiGig头的一个字段已经携带,因此,4字节的VLAN信息会从报文内容中删去,经过HiGig口转发会成为72字节的报文。报文长度为以太报文长度加8。
2. 如堆叠端口的模式是使用Higig2协议:
HiGig2头是16字节,替换了8字节的前导码字段,占用了8字节点帧间隔字段。当以太网端口收到64字节的Untag报文,会封装成80字节的报文,报文长度为以太报文长度加16;如果收到64字节的带Tag的报文,则会封装成76字节。报文长度为以太报文长度加12。
HiGig/HiGig2头部各字段比较
HiGig协议的头部字段和HiGig2差异除了字节数不同,HiGig头部12字节,HiGig2头部16字节。
依据字节号,位序差异列表如下。第7字节内有字段对后续字节的意义做复用。根据类型赋予不同的含义。
以下是列表比较:
字节
位
HIGIG
HIGIG2
0
7
SOF
起始符
0xFB
SOF
起始符
0xFB
6
5
4
3
2
1
0
1
7
DST_MODID[6]
6
SRC_MODID[6]
5
HDR_EXT_LENGTH
头部扩展长度:目前设备未使用,为HiGig+添加的字段。
4
MCST指示单/组播
3
TC: Traffic Class.
通过堆叠转发包时指示堆叠口明确的QOS队列。
2
CNG[1] 入方向设备FFP设置的拥塞位
1
HGI格式标识。3表示头部长度为12+ HDR_EXT_LENGTH
0
2
7
VID_HIGH
Vlan tag的高位字节,包含3位的优先级,1位的CF1和VLAN值的高4位
DST_MODID[7:0]
MGID[15:8]
如MST为0,指示报文送往的明确目标mod号,如MST为1,该字段代表组播组ID的高8位。
6
5
4
3
2
1
0
3
7
VID_LOW
Vlan tag的低位字节,包含VLAN值的低8位
DST_PID[7:0]
MGID[7:0] 如MST为0,指示报文送往的明确目标端口号,如MST为1,该字段代表组播组ID的低8位。
6
5
4
3
2
1
0
4
7
OPCODE
报文类型,标识CPU控制帧,单播,广播,2/3层组播等
SRC_MODID最初报文进入设备的源mod号。
6
5
4
SRC_MODID[4:0]
源MOD号的低5位
3
2
1
0
5
7
SRC_PORT_TGID[5:0]
源端口号。如最初收到报文的端口在一个Trunk内,表示源Trunk组号。
SRC_PID[7:0]
源端口号。和源mod号一起表示报文通过何端口进入系统。
6
5
4
3
2
1
PFM 端口过滤模式,用于处理二层组播和IP组播
0
6
7
IPRI 内部优先级。
LBID[7:0]
Load balancing ID
流量均衡ID号。
6
5
4
DST_PORT[4:0]目标端口号。对MC和IPMC包该字段表示L2MC或IPMC的组序号的低5位。
3
2
1
0
7
7
DST_MODID[4:0]目标mod号的低5位。对MC和IPMC包该字段表示L2MC或IPMC组序号的高5位。
DP[1:0]双速颜色标Drop precedence.
6
5
EHV:扩展头部在位信息
4
3
2
CNG0入方向设备FFP设置的拥塞位
PPD_TYPE:
包处理描述符类型
1
HDR_TYPE:头部类型,指示接下来的4字节意义
0
接下来的字节根据HDR_TYPE值或者PPD_TYPE值表示意义不同。
字节
位
HIGIG
HIGIG2
HDR_TYPE
PPD_TYPE
0
1
0
1
2
3
4
8
7
Mirror
Classification_tag_high
DST_T
Classification_tag_high
Multi
point
容
器
类
型
6
Mirror_done
DST_TGID
Fwd_
type
5
Mirror_only
4
Ingress_tagged
3
Dst_tgid
INGRSS_TAGGED
2
MIRROR_ONLY
1
MIRROR_DONE
Vni_
mid
0
Dst_t
MIRROR
9
7
VC_LABLE[19:16]
Classification_tag_low
保留
Classification_tag_low
Vni_
low
6
5
L3
4
LABEL PRESENT
3
LABEL PRESENT
VC_
LABLE
[19:16]
2
L3
1
Dst_modid[5]
0
Src_modid[5]
10
7
VC_LABLE[15:8]
保
留
VC_
LABLE
[15:8]
保留
Dest_
Vp_
High
Or mc_
Index_
high
6
5
4
3
2
1
0
11
7
VC_LABLE[7:0]
保
留
VC_
LABLE
[7:0]
保留
Dest_
Vp_
low
Or mc_
Index_
low
6
5
4
3
2
1
0
12
7
无
VID_HIGH
VID_HIGH
源
vp
高
8
位
源
vp
高
8
位
6
5
4
3
2
1
0
13
7
VID_LOW
VID_LOW
源
VP
低
8
位
源
VP
低
8
位
6
5
4
3
2
1
0
14
7
PFM
PFM
Mirror
DSCP
6
不更改
DOT1P
5
SRC_T
SRC_T
不学习
不学习
4
DSCP
保留
LAG
保留
3
DOT1P
保留
源类型
2
OPCODE
OPCODE
OPCODE
OPCODE
1
0
15
7
HDR_EXT_LENGTH
保留
保留
6
HDR_EXT_LENGTH
5
VNI-
HIGH
4
3
保留
保留
Dscp
PPD
容器
类型
3
Dot1p
2
Dest_type
0
源类型
HiGig2各字段在高端交换机项目上的应用及在HiGig的可替代性
1. 组播功能
利用HiGig2头来实现功能的原理:组播报文索引号MGID在higig头部中由DST_MODID和DST_PORT所表示的域共同构成。HIGIG+中携带的MGID由12bit构成,L2MC报文(MH.OPCODE=3)根据MGID索引L2MC表项,IPMC报文(MH.OPCODE=4)根据MGID索引L3_IPMC表项;HIGIG2中携带的MGID由16bit构成,L2MC报文索引L2MC表项的索引号L2MC_ID=MGID-L2MC Base Offset+HiGiG2_L2MC_BASE_OFFSET,IPMC报文索引L3_IPMC表项的索引号IPMC_ID=MGID-IPMC Base Offset+HiGiG2_IPMC_BASE_OFFSET,L2MC Base Offset从寄存器MC_CONTROL_2中获取,IPMC Base Offset从寄存器MC_CONTROL_3中获取, HiGiG2_L2MC_BASE_OFFSET从寄存器EGR_MC_CONTROL_1中获取,HiGiG2_IPMC_BASE_OFFSET从寄存器EGR_MC_CONTROL_2中获取。
组播报文跨芯片转发需要用到HIGIG/HIGIG+/HIGIG2头部的一些字段,
HIGIG2头部中与转发组播报文有关的字段:
HIGIG(HIGIG+)头部中与转发组播报文有关的字段:
组播中的MCST字段在HIGIG2中存在并使用,而在HIGIG(HIGIG+)中是不存在的,该字段用于标识报文是否为单播包,可由HIGIG+中的OPCODE代替。目前,高端交换机项目用到了这个域。
2.镜像功能
镜像报文跨芯片转发需要用到HIGIG/HIGIG+/HIGIG2头部的一些字段。
HiGig2头部中与镜像相关的字段,如下图所示:
HiGig头部中与镜像相关的字段,如下图所示:
HiGig2和HiGig/HiGig+头部中与镜像相关的字段是一样的,所以可以通用。目前,高端交换机项目用到了这个域。
3. ACL功能
ACL模块需要用到HIGIG/HIGIG+/HIGIG2头部的一些字段。
HiGig2头部中与ACL相关的字段,如下图所示:
HiGig头部中与ACL相关的字段,如下图所示:
HiGig2和HiGig/HiGig+头部中与镜像相关的字段是一样的,所以可以通用。目前,高端交换机项目还没有用到这个域。
4. Trunk功能
HG trunk分流应用在所有包,不管类型。正常包流程如下:
1)、Known unicast (L2 switched or L2 routed) packets:
会精确的指出dst_modid 和 dst_port.
2)、Broadcast and unknown unicast packets:
洪泛到VLAN。
3)、Multicast (L2MC or IPMC) packets:
会在合适的多播表里查询。
在HG端口的BITMAP被决定后,会有另一个步骤来检查包的目的HG端口是否是一个在TRUNK GROUP 中的成员端口。如果是,则HG trunk逻辑使用RTAG值来决定哪个成员port来发送包。
HG端口的BITMAP可以基于trunk分发决定来被改写。可以选择忽略这个决定,这时trunk分发被忽略,包被发送依据原来的HG端口的BITMAP。 HG override功能可以基于这些表使能:VLAN, L2MC, L3 IPMC, MODPORT_MAP.
下面分别列出HG trunk转发在HIGIG(HIGIG+)和HIGIG2中使用的字段:
HIGIG2头部中与HG trunk的转发有关的字段:
标识是单播还是非单播分流;
下行转发决定的dst mod、port;
目的端口是否为trunk,以及trunk id;
源端口是否为trunk;
标识包的种类(单播还是非单播、L2包还是IP包),每种包走对应的增强
模板
个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载
BMAP;
HIGIG(HIGIG+)头部中与转发组播报文有关的字段:
SRC_T字段,MCST字段在HIGIG2中存在并在使用,但在HIGIG(HIGIG+)中不存在, 该字段用于标识源端口是否为trunk,可由HIGIG+中的SRC_PORT_TGID[5:0]和HIGIG+中的OPCODE代替。
5. 三层路由功能
L3报文跨芯片转发需要用到HIGIG/HIGIG+/HIGIG2头部的一些字段。
HIGIG2头部中与转发L3报文有关的字段:
HIGIG(HIGIG+)头部中与转发L3报文有关的字段:
HIGIG(HIGIG+)已有的字段都可以替代HIGIG2的L3转发的字段
6. VLAN翻译功能
N:1的VLAN翻译不能跨卡
普通的VLAN翻译,是在翻译后的VLAN内洪泛的,因此需要用到HIGIG/HIGIG+/HIGIG2头部的一些字段
HIGIG2头部中与VLAN 翻译有关的字段:
OPCODE = 2 (DLF)
HIGIG头部中与VLAN 翻译有关的字段:
HIGIG字段可以替换HIGIG2的字段
7.MPLS功能
MPLS L3 VPN用的是基本的三层的功能,因此跨卡的方式和普通的三层流一样,不再概述。
对于VPLS的跨卡,因为VPLS是一对多的MPLS模型,因此需要L3_IPMC中的L2_BITMAP的表项,在HIGIG2中需要的字段
OPCODE = 4
对于VPWS,需要的HIGIG2的字段有
OPCODE=1
对于在HIGIG中的字段,没有SOURCE_VP和DVP字段,而VPLS,和VPWS的在出口卡上都是依靠SOURCE_VP和DVP来转发, 因此HIGIG不支持二层的MPLS转发。
分析结果
除了MPLS功能外,其他功能在HIGIG2上的字段上的使用在HIGIG上都有替代。但是如果设备要支持二层MPLS,就不可用HIGIG协议,需要用HIGIG2协议才行。
Switch Fabric转发逻辑需要的字段:
DST_MODID/MGID 单播的目标端口的MOD号或者组播的索引高位
DST_PORT/MGID 单播的目标端口号或者组播的索引低位
SCR_MODID 源端口的MOD号
SRC_PID 源端口号
PFM 洪泛模式
DST_T 目标端口TRUNK标志
SRC_T 源端口TRUNK标志
DST_TGID 目标端口的TRUNK ID号
INGRESS_TAGGED 源报文是tag报文的标志
MIRROR_ONLY 镜像
MIRROR_DONW 镜像
MIRROR 镜像
L3 三层报文
VID 报文的VLAN
OPCODE 指示报文类型
SOURCE_VP
源虚端口
DST_VP 目的虚端口
DEST_TYPE 指示目标是普通端口还是虚端口
SOURCE_TYPE 源端口是普通端口还是虚端口
设计的兼容HIGIG的私有头实现HIGIG2功能的可行性
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
一:用HIGIG头携带SVP和DVP
设计兼容的HIGIG私有头必须携带转发逻辑需要的所有字段。SOURCE_VP和DST_VP想要在私有头中实现携带,而L2 VPN > 32k,也就是最少需要的长度是30位,HIGIG2这两个的总长度是32位。VP表条目是32k,每字段占15位,一共需要30位长度。另外需要1位DEST_TYPE来指示目标是普通端口还是虚端口,1位SOURCE_TYPE指示源端口是普通端口还是虚端口。所以需要私有设计的话占用32位的长度。
HIGIG头中目前转发没有用到的字段VC_LABLE 有20位长,可以复用为20位的长度,另外根据端口类型,可以复用源和目的端口所在的字段来表示虚拟端口。
初步设计如下:
HIGIG头中字节序号1的字段DST_MODID[6]用做DST_TYPE,当为1时,表示头部中的目的端口和VC_LABLE字段携带VP信息。
SRC_MODID[6]用做SRC_TYPE,当为1时,表示头部中的源端口和VC_LABLE字段携带VP信息。
当源和目的端口类型是普通类型端口,使用方式没变化。当源端口类型是虚端口时,VC_LABLE的低10位用做源VP的低10位,SRC_PORT的5位用做源VP的高5位;当目的端口类型是虚端口时,VC_LABLE的高10位用做目的VP的低10位,DST_PORT用做目的VP的高5位。
或者复用其他目前转发不需要使用的字段来实现需要携带的信息。
方案二:HIGIG头不携带SVP,DVP,同步线卡的表项完成MPLS流程
VPWS是二层的单播MPLS协议,在BCM的体系中,如果需要跨卡,在HIGIG2中携带的SVP,DVP的信息,SVP是在出线卡中进行二层学习使用,而DVP则是用来找寻出端口。在现有的集中式的二层学习环境中,不需要在出线卡上进行二层学习,因为在入线卡进行二层地址学习的同时,已经由主控同步到出线卡上,所以SVP信息可以不需要携带在HIGIG报文中。同时,只需要在入线卡上完成所有的标签的处理工作,那么到HIGIG上就是普通的单播包,只需要DST_MOD和DST_PORT的信息就可以将MPLS报文发送到出线卡上。
如果用上述的方式跨卡,需要HIGIG信息
DST_MODID/MGID 单播的目标端口的MOD号
DST_PORT/MGID 单播的目标端口号
SCR_MODID 源端口的MOD号
SRC_PID 源端口号
VPLS是二层MPLS中一对多的协议,在跨卡中需要用到的是组播的工作模式,在入线卡中进行了二层学习之后就进入二层组播的流程,将所有的HIGIG2口加入到组播表中,HIGIG2头中包含IPMC_INDEX和SVP的信息,在出线卡中。同样基于现有的二层学习的机制,SVP的信息不需要在HIGIG头中,而HIGIG头中也有组播的索引值的表项,因此可以用HIGIG头代替HIGIG2。对于一对一的VPLS的跨卡,处理方式和VPWS一样。
HIGIG头中需要采用HIGIG组播的方式来跨卡
也就是
DST_MODID/MGID 组播的索引高位
DST_PORT/MGID 组播的索引低位
同样的,要在出线卡上创建相应的VPLS组播的表项,这样才能继续VPLS报文的流程,如添加LABEL等行为。
总结:
基于
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
的HIGIG协议,如果设备要支持二层MPLS,不可行,需要用HIGIG2协议才行。
但是根据私有头设计HIGIG头,可以用以上的两种方案来替代现有的HIGIG头。