本文主要是介绍ITU-T Rec. G.988 Amendment 3翻译——9.3 Layer 2 data services,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
9.3.12 VLAN tagging operation configuration data
此ME管理与VLAN标记有关的数据,它的实例由OLT创建和删除。
注意1——新实现更建议使用9.3.13节描述的“extended VLAN tagging operation configuration data”
关系
任何一个能够终结或者修改以太网流的ME实例都可关联此ME的0个或者1个实例。
当此ME关联一个UNI侧TP,上行时,对上行流进行过滤、桥接或者交换之前,它实现对上行流进行分类和标记。下行时,在发送下行流给UNI侧终结点之前,它实现的对下行流相反的操作,此操作是对下行流的最后一个操作。
当此ME关联一个ANI侧TP,上行时,在收到来自过滤、桥接或者交换的上行流之后,它实现对上行流进行分类和标记,此操作是上行流入队准备发向OLT前的最后一个操作。下行时,在对下行流进行过滤、桥接或者交换之前,它实现的对下行流进行相反的操作,此操作是对下行流的第一个操作。
属性
Managed entity ID:此属性唯一标记此ME的实例。如果"Association type"为0或者未定义,此属性值与"VLAN tagging operation
configuration data"实例关联的ME实例ID相同,关联的ME可以是"PPTP Ethernet UNI"、"IP host config data"或者"IPv6 host config data"。否则ME实例ID只要保证唯一即可。 (R, set-by-create) (强制) (2字节)
Upstream VLAN tagging operation mode:此属性定义上行流的VLAN标记,可选值如下:
0 不论原始报文是否有tag,上行流都直接透传。
1 不论原始报文是否有tag,上行流都打上tag。如果原始报文带tag,则TCI被改写。如果原始报文不带tag,则把TCI值设置为"upstream VLAN tag TCI value"属性定义的值。
2 不论原始报文是否有tag,上行流都会加上"upstream VLAN tag TCI value"属性定义的TCI值。如果原始报文带tag,则加一层tag。如果原始报文不带tag,则加上tag。
(R, W, set-by-create) (强制) (1字节)
Upstream VLAN tag TCI value:此属性定义给上行流打tag的TCI值,当"upstream VLAN tagging operation mode"为1或者2时,此属性有用。(R, W, set-by-create) (强制) (2字节)
Downstream VLAN tagging operation mode:此属性定义下行流的VLAN标记,可选值如下:
0 不论原始报文是否有tag,下行流都直接透传。
1 如果原始报文带tag,则外层tag被剥掉。如果原始报文不带tag,则直接透传。
(R, W, set-by-create) (强制) (1字节)
Association type:此属性定义关联到"VLAN tagging operation configuration data"的ME类型。可选值如下:
0 (默认值)Physical path termination point Ethernet UNI(为了向前兼容,也可以是"IP host config data",此时"VLAN tagging operation configuration data"的ID可以和"IP host config data"的ID不同)。隐含地"Physical path termination point Ethernet UNI"的ID与"VLAN tagging operation configuration data"的ID相同。
1 IP host config data.
2 802.1p mapper service profile.
3 MAC bridge port configuration data.
4 Physical path termination point xDSL UNI.
5 GEM interworking termination point.
6 Multicast GEM interworking termination point.
7 Physical path termination point MoCA UNI.
8 Physical path termination point 802.11 UNI.
9 Ethernet flow termination point.
10 Physical path termination point Ethernet UNI.
关联的ME ID由"associated ME pointer"指定。
(R, W, set-by-create) (可选) (1字节)
Associated ME pointer:当"association type"属性不是0时,此属性指向"VLAN tagging operation configuration data"关联的ME实例。当"association type"属性为0时,此属性无意义,并且关联关系由ME ID隐含表示。(R, W, set-by-create) (可选) (2 bytes)
注意2-保留隐含的关联是为了与旧标准兼容,新的实现建议使用显性指针。
注意3-当关联的ME是xDSL时,高2位用来标识一个承载信道。
动作
Create, delete, get, set
通知
无
9.3.13 Extended VLAN tagging operation configuration data
此实体管理与VLAN分类和标记操作有关的数据,且定义的标记操作只关联上行方向。此实体的实例由OLT创建和删除。
通过不同的属性,此ME支持向后兼容"Received frame VLAN tagging operation table"属性,也支持增强的流分类和处理能力。OLT通过ONU3-G的"Enhanced mode"属性来决定ONU是否支持此增强能力。
关系
任何一个能够终结或者修改以太网流的ME实例都可关联此ME的0个或者1个实例。
当此ME关联一个UNI侧TP,上行时,对上行流进行过滤、桥接或者交换之前,它实现对上行流进行分类和标记。下行时,在发送下行流给UNI侧终结点之前,它实现的对下行流相反的操作,此操作是对下行流的最后一个操作。
当此ME关联一个ANI侧TP,上行时,在收到来自过滤、桥接或者交换的上行流之后,它实现对上行流进行分类和标记,此操作是上行流入队准备发向OLT前的最后一个操作。下行时,在对下行流进行过滤、桥接或者交换之前,它实现的对下行流进行相反的操作,此操作是对下行流的第一个操作。
属性
Managed entity ID:此属性唯一标记此ME的实例。 (R, set-by-create) (强制) (2字节)
Association type:此属性定义关联到"Extended VLAN tagging operation configuration data"的实体类型。可选值如下:
0 MAC bridge port configuration data
1 IEEE 802.1p mapper service profile
2 Physical path termination point Ethernet UNI
3 IP host config data or IPv6 host config data
4 Physical path termination point xDSL UNI
5 GEM IW termination point
6 Multicast GEM IW termination point
7 Physical path termination point MoCA UNI
8 Reserved
9 Ethernet flow termination point
10 Virtual Ethernet interface point
11 MPLS pseudowire termination point
12 EFM bonding group
(R, W, set-by-create) (可选) (1字节)
注意1-如果配置了MAC桥,则类型1,5,6和11关联MAC桥的ANI侧。类型0关联到ANI或者UNI侧,取决于MAC桥端口的位置。其他类型关系到UNI侧。
当extended VLAN tagging实体关联ANI时,定义了上行流的出规则和下行流的入规则(如果"downstream mode"属性为0)。当extended VLAN tagging实体关联UNI时,定义了上行流的入规则和下行流的出规则(如果"downstream mode"属性为0)。
Received frame VLAN tagging operation table max size:此属性定义"received frame VLAN tagging operation table"的最大条目数。(R) (强制) (2字节)
Input TPID:此属性定义表项的输入端(filtering)操作使用的TPID值。典型值包括0x88A8和0x9100。(R, W) (强制) (2字节)
Output TPID:此属性定义表项的输出端(tagging)操作使用的TPID值。典型值包括0x88A8和0x9100。(R, W) (强制) (2字节)
Downstream mode:不论extended VLAN tagging关联到什么实体,"received frame VLAN tagging operation table"定义的规则都关联到上行流。"Downstream mode"属性定义下行报文的tagging操作。
"received frame VLAN tagging operation table"定义默认的上行规则。上行默认规则不会应用到下行方向。需要注意,下行流的处理由"Downstream mode"属性确定,而不受上行默认规则的影响。
"received frame VLAN tagging operation table"能产生两种映射:
- 1对1映射:一个包含一个或者多个规则的表项,在输入流和输出流之间产生唯一的映射。
- 多对1映射:一个包含多个规则的表项,产生相同的ANI侧tag配置。
对1对1映射,作用于下行流(如果是双向流)的操作是与上行规则相反的操作。
然而,多对1映射是有可能的,其规则如下:
- 如果产生相同ANI侧tag配置的多条规则,生成一个上行的多对1映射,那么规则列表中第一条匹配的规则定义相反的操作。匹配的含义依赖于"downstream mode"属性的值。
- 如果ANI侧tag预分配的字段代替filter的"don't care"字段,由此生成一个多对1映射,那么相反的操作是设置ANI侧相应的字段为最小合法值。
如果上行规则只是拷贝(即过滤字段没有定义显性值)入口tag到出口tag,那么相应的下行就应用所有的tag。此应用分为VID和P-bit域。举个栗子,当"downstream mode"为2,并且上行规则在继承P-bit同时转化VID,此时匹配指定WAN侧VID的下行流将匹配任何一个P-bit值并且转化VID。
0 下行流的操作与上行流的操作相反。对下行流的处理、用于下行流过滤的filter域和非匹配报文的处理,都由ONU实现。
1 不论过滤规则如何,都不操作下行流。所有下行报文原封不动被转发。
2 根据VID和P-bit过滤。如果匹配,对VID和P-bit都进行相反的操作。如果没有匹配,则原封不动地转发。
3 只根据VID过滤。如果匹配,对VID进行相反的操作,透传P比特位。如果没有匹配,则原封不动地转发。
4 只根据P-bit过滤。如果匹配,对P-bit进行相反的操作,透传VID。如果没有匹配,则原封不动地转发。
5 根据VID和P-bit过滤。如果匹配,对VID和P-bit都进行相反的操作。如果没有匹配,则丢弃报文。
6 只根据VID过滤。如果匹配,对VID进行相反的操作,透传P比特位。如果没有匹配,则丢弃报文。
7 只根据P-bit过滤。如果匹配,对P-bit进行相反的操作,透传VID。如果没有匹配,则丢弃报文。
8 忽略过滤规则,丢弃所有下行报文。
请参考表9.3.13-2了解"downstream mode"的用法
除0到8的其他值都预留(R, W) (强制) (1字节)
Received frame VLAN tagging operation table:此属性定义一个过滤和标记上行流的表。表的每一个条目代表一个标记规则,包括过滤部分(前8位)和处理部分(后7位)。每个进来的上行报文都按"列表顺序"与每一个规则进行匹配。第一个匹配的规则被认为是有效规则,然后报文按此规则处理。
规则分为三类:无tag规则,单tag规则,双tag规则。逻辑上,三种分类是独立的,分别应用于对应的入口报文类型。也就是说,即使单tag规则与双tag报文的外层tag是匹配的,单tag规则也不应该作用于双tag的报文。
单tag规则外层优先级过滤字段为15(表明无外层tag),无tag规则两个优先级过滤字段都是15(表明无tag),而双tag规则的两个优先级过滤字段都设置为非15(表明为双tag)。
每一条tag规则都有删除和增加操作,用于删除和增加两个tag。修改操作由删除和增加组合实现。
按照惯例,当增加单tag时,使用内层tag字段处理。此操作同样适用于向已经有一个tag的报文增加单tag,即增加第二个tag。只有当双tag使用相同规则增加时,外层tag字段才被使用。
只有谈到过滤或者增加tag时,内层和外层的概念才有意义。
每个表项的前8个字节必须唯一,用于标识表项(上面说的"列表顺序",指按前8字节排序)。OLT通过将后8字节设置为0xFF来删除一个表项。
当列表被创建时,ONU应该预定义三个条目,对应无tag、单tag和双tag报文的默认处理。作为按顺序处理规则的例外,当帧与其他可用规则均不匹配时,采用这3条默认规则来处理。实践表明,OLT最好不删除这3个条目,当然,可以修改默认条目来达到期望的默认行为。
需要注意的是,下行报文的处理由"downstream mode"属性定义,不受上行默认规则的影响。
15, 4096, x, 15, 4096, x, 0, (0, 15, x, x, 15, x, x) – 无tag
15, 4096, x, 14, 4096, x, 0, (0, 15, x, x, 15, x, x) – 单tag
14, 4096, x, 14, 4096, x, 0, (0, 15, x, x, 15, x, x) – 双tag
注意2-x表示"don't care"字段,需要设置为0。
查看图片9.3.13-1
(R, W) (强制) (16*N字节, 其中N是VLAN标记规则的数量)
Filter outer priority:(4bits) 定义外部VLAN优先级过滤操作。可选值如下:
0..7 按"Filter outer priority"字段过滤收到的报文;
8 不根据外层优先级过滤;
14 当无其他双层标签规则可用时的缺省过滤规则;
15 该表项不是双层标签规则,忽略其他所有的外层标签过滤字段;
其他值:预留
Filter outer VID: (13 bits) 定义外部VLAN VID过滤操作。可选值如下:
0..4094 按"Filter outer VID"字段过滤收到的报文;
4096 不根据外层VID过滤;
其他值:预留
Filter outer TPID/DEI: (3 bits) 定义外部VLAN TPID/DEI过滤操作。可选值如下:
000 不根据外层TPID过滤;
100 外层TPID=0x8100,过滤外层TPID为0x8100的报文;
101 外层TPID="input TPID",不关心DEI位,过滤外层TPID匹配"Extended VLAN tagging operation configuration data"中" Input TPID"属性的报文,并且忽略DEI位。
110 外层TPID="input TPID, DEI=0",过滤外层TPID匹配"Extended VLAN tagging operation configuration data"中" Input TPID"属性的报文,并且DEI位设置为0。
111 外层TPID="input TPID, DEI=1",过滤外层TPID匹配"Extended VLAN tagging operation configuration data"中" Input TPID"属性的报文,并且DEI位设置为1。
Padding:(12 bits)
Filter inner priority:(4bits) 定义内层VLAN优先级过滤操作。可选值如下:
0..7 按"Filter inner priority"字段过滤收到的报文;
8 不根据内层优先级过滤;
14 当无其他单标签规则可用时的缺省过滤规则;
15 该表项为无标签规则,忽略其他所有的内层标签过滤字段;
其他值:预留
Filter inner VID: (13 bits) 定义外部VLAN VID过滤操作。可选值如下:
0..4094 按"Filter inner VID"字段过滤收到的报文;
4096 不根据内层VID过滤;
其他值:预留
Filter inner TPID/DEI: (3 bits) 定义内部VLAN TPID/DEI过滤操作。可选值如下:
000 不根据内层TPID过滤;
100 内层TPID=0x8100,过滤内层TPID为0x8100的报文;
101 内层TPID="input TPID",不关心DEI位,过滤内层TPID匹配"Extended VLAN tagging operation configuration data"中" Input TPID"属性的报文,并忽略DEI位。
110 内层TPID="input TPID, DEI=0",过滤内层TPID匹配"Extended VLAN tagging operation configuration data"中" Input TPID"属性的报文,并且DEI位设置为0。
111 内层TPID="input TPID, DEI=1",过滤内层TPID匹配"Extended VLAN tagging operation configuration data"中" Input TPID"属性的报文,并且DEI位设置为1。
Padding:(8 bits)
Filter Ethertype: (4 bits) 可选值如下:
注意3-此过滤器建议应用于无tag报文或者只有优先级的报文。
0 不根据Ethertype过滤
1 Ethertype = 0x0800 (过滤IPoE报文)
2 Ethertype = 0x8863或者0x8864 (过滤PPPoE报文)
3 Ethertype = 0x0806 (过滤ARP报文)
4 Ethertype = 0x86DD (过滤IPv6 IPoE报文)
5 Ethertype = 0x888E (过滤EAPOL报文)
其他值:预留
Filter on extended criteria: (8 bits) 根据上层协议过滤
0 不根据"extended criteria"过滤
1 DHCPv4-过滤DHCPv4报文
2 DHCPv6-过滤DHCPv6报文
注意4 - 此过滤器建议应用于无tag报文或者只有优先级的报文。
Treatment tags to remove: (2 bits) 定义tag处理,可选值如下:
0..2 分别删除0,1或者2个tag。如果值为1,则双tag报文的外层tag被删除
3 丢弃报文。下行没有对应的操作,即下行方向忽略此规则。
Padding: (10 bits)
Treatment outer priority: (4 bits) 定义外层VLAN优先级的处理,可选值如下:
0..7 增加外层tag,并把此值插入新增的外层tag中。
8 增加外层tag,并把收到报文的内层优先级拷贝到外层优先级。
9 增加外层tag,并把收到报文的外层优先级拷贝到外层优先级。
10 增加外层tag,并根据"Extended VLAN tagging operation configuration data"的"DSCP to P-bit mapping"属性,从收到报文的DSCP字段获取P bits。
15 不增加外层tag
其他值:预留
Treatment outer VID: (13 bits) 定义外层VID处理,可选值如下:
0..4094 将此值作为外层tag的VID
4096 把收到报文的内层VID拷贝到外层VID。
4097 把收到报文的外层VID拷贝到外层VID。
其他值:预留
Treatment outer TPID/DEI: (3 bits) 定义外层TPID/DEI的处理,可选值如下:
000 从收包的内层tag中拷贝TPID(如果有DEI一并拷贝)
001 从收包的外层tag中拷贝TPID(如果有DEI一并拷贝)
010 TPID = "Extended VLAN tagging operation configuration data"实体的"output TPID"属性,并且拷贝从收包的内层tag拷贝DEI位
011 TPID = "Extended VLAN tagging operation configuration data"实体的"output TPID"属性,并且拷贝从收包的外层tag拷贝DEI位
100 TPID = 0x8100
101 预留
110 TPID = "Extended VLAN tagging operation configuration data"实体的"output TPID"属性,DEI = 0
111 TPID = "Extended VLAN tagging operation configuration data"实体的"output TPID"属性,DEI = 1
Padding: (12 bits)
Treatment inner priority: (4 bits) 定义内层VLAN优先级的处理,可选值如下:
0..7 增加内层tag,并把此值插入新增的内层tag中。
8 增加内层tag,并把收到报文的内层优先级拷贝到内层优先级。
9 增加内层tag,并把收到报文的外层优先级拷贝到内层优先级。
10 增加内层tag,并根据"Extended VLAN tagging operation configuration data"的"DSCP to P-bit mapping"属性,从收到报文的DSCP字段获取P bits。
15 不增加内层tag
其他值:预留
Treatment inner VID: (13 bits) 定义外层VID处理,可选值如下:
0..4094 将此值作为内层tag的VID
4096 把收到报文的内层VID拷贝到内层VID。
4097 把收到报文的外层VID拷贝到内层VID。
其他值:预留
Treatment inner TPID/DEI: (3 bits) 定义外层TPID/DEI的处理,可选值如下:
000 从收包的内层tag中拷贝TPID(如果有DEI一并拷贝)
001 从收包的外层tag中拷贝TPID(如果有DEI一并拷贝)
010 TPID = "Extended VLAN tagging operation configuration data"实体的"output TPID"属性,并且拷贝从收包的内层tag拷贝DEI位
011 TPID = "Extended VLAN tagging operation configuration data"实体的"output TPID"属性,并且拷贝从收包的外层tag拷贝DEI位
100 TPID = 0x8100
101 预留
110 TPID = "Extended VLAN tagging operation configuration data"实体的"output TPID"属性,DEI = 0
111 TPID = "Extended VLAN tagging operation configuration data"实体的"output TPID"属性,DEI = 1
Associated ME pointer:此属性指向"extended VLAN tagging operation configuration data"关联的ME。(R, W, set-by-create) (强制) (2字节)
注意5 - 如果关联类型是xDSL,则最高2位应该标识一个承载通道。
DSCP to P-bit mapping:此属性定义从DSCP到P bits的映射。该属性可以看成是64个3比特组构成的比特串序列。其中64代表6比特的DSCP字段所有可能的取值。每个3比特表示对应的DSCP值映射的P-bit值。 (R, W) (可选) (24字节)
注意6 - 如果映射时DSCP字段的特定位需要被忽略,那么此属性应该被预分配,这样被忽略位对应的DSCP值都映射成相同的P-bit值。这种映射适用于不需要完整DSCP字段的场景,比如运营商希望采用基于IP优先级的优先级机制,此时只需要DSCP字段的高3位。
Enhanced mode:如果此布尔值为true,则使用增强的收包分类和处理,同时忽略"Received frame VLAN tagging operation table"。如此此布尔值为false,则不使用强的收包分类和处理。强烈建议OLT同一个ONU上所有的"Extended VLAN tagging operation configuration data"实例,此属性使用相同值。(R, Set-by-create) (可选) (1字节)
Enhanced received frame classification and processing table:此属性是一张增强的报文分类和处理的表。在"Received frame VLAN tagging operation table"基础上,扩展了"set control field"、"row key"和"direction"三个字段。每个收包都匹配一个按"row key"排序(row key越小,优先级越高)的规则。第一个匹配的规则被认为是有效规则,然后报文按此规则处理。
当此表为空时,ONU丢弃所有收包。OLT可以针对无tag、单tag和双tag报文,创建三个默认处理(通常是无条件转发)的表项,表项中"direction"字段设置为0。
注意7 - 对于没有提及的修改,"Received frame VLAN tagging operation table"属性中的定义仍然有效。
(R, W) (可选) (28*N字节, 其中N是表项的数目).
Set ctrl: (2 bits)
此字段定义set操作的含义,"get next"操作时,返回00.
1 将此表项写入表中。如果存在相同row key的表项,则覆盖。
2 从表中删除此表项。剩下字段无意义。
注意8 - 与"Received frame VLAN tagging operation table" 的删除操作不同,OLT不需要将Word 4和Word 5中的8个字节都设置为0xFF。
3 将表中所有表项清除。剩下字段无意义。
其他值:预留
Dir: (2 bits)
此字段决定了分类和和处理规则的方向。
0 上行规则。下行方向根据"downstream mode"定义相反的分类和操作。当dir=0时,所有"downstream mode"值都是有效的(包含"downstream mode"为8)。
1 仅上行规则,下行忽略此规则。
2 仅下行规则,上行忽略此规则。
其他值:预留
Row key: (16 bits)
"row key"用来区分表中的表项。OLT负责分配和跟踪row keys及内容,确保所有分类规则不重复而且排序正确。
其中Filter outer priority, Filter outer VID, Filter outer TPID/DEI, Filter inner priority, Filter inner VID, Filter inner TPID/DEI, Filter on Extended Criteria, Filter Ethertype, Treatment outer priority, Treatment outer VID, Treatment outer TPID/DEI, Treatment inner priority, Treatment inner VID, and Treatment inner TPID/DEI,请参考"Received frame VLAN tagging operation table"属性的值。
动作
Create, delete, get, get next, set
Set table (可选)
通知
无
表9.3.13-1列举了常用的VLAN标记操作。简化起见,表中省略了TPID/DEI列,运营商用TPID/DEI来为特定的服务模型自定义操作。
"action type"列的缩写如下:
F 代表二层Ethernet帧
→ 表示上行方向的期望动作。比如F → X-F表示在报文中增加VID为X的802.1q头。
P<x|y> 表示关联VID X或者Y的P-bit
X, Y 代表VID X或Y
S 代表IEEE 802.1ad中定义的S-tag或者最外层tag,并且Ethertype为典型值0x88a8
C 代表IEEE 802.1ad中定义的C-tag或者最内层tag,并且Ethertype为典型值0x8100。通常,S-VLAN将业务分发给所有用户,而C-VLAN向单个用户提供多个业务。两者经常同时使用,单一的S-VLAN向所有用户传递特定的业务流,专用的C-VLANs向单个用户传递多个业务流。
表9.3.13-2列举了基于"downstream mode"和上行规则的常用场景中的下行行为。简化起见,表中省略了"P-bit only"列,但是其对应的下行动作可以从"VID only"列推断出来。
如果内层tag信息不可用(即"VID-only"和"Both P and VID"中不止一个VID或者VID+PBIT,比如"X和C"及"Px、Py、X和Y"),下行过滤规则只用外层tag信息。
表9.3.13-2和Table 9.3.13-1使用相同的缩写。
这篇关于ITU-T Rec. G.988 Amendment 3翻译——9.3 Layer 2 data services的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!