在基于Q-in-Q网络中,运营商为每个VLAN服务实例分配一个P-VLAN ID,然后把用户的C-VLAN ID实例映射到这些P-VLAN ID上。因此,用户的C-VLAN ID就被保护起来。例如,假定一个用户希望使用C-VLAN ID 50,51和52通过E-Line Service服务,穿透运营商的网络连接另一物理位置的用户网络。运营商为承担这种穿透服务,分配了P-VLAN ID 100来完成此项接入工作。如图3所示,运营商会把用户的C-VLAN ID 50、51和52通过UNI接口映射到P-VLAN ID 100。
Q-in-Q技术不支持在运营商网络和用户网络之间进行MAC地址隔离。当把Q-in-Q作为E-LAN Service 服务使用时,运营商的交换机必须要学习网络中所有的MAC地址,无论他们是否来自运营商网络还是用户网络。当一台新的主机被增加到用户的网络时,这个新的MAC地址必定被运营商网络的交换机学习得到。这将使得运营商网络和用户网络被连通,使得运营商网络看起来如同一台巨大的交换机。
用户/运营商网络控制协议的透传性
用户网络开启使用的大部分以太网控制协议,不能够与运营商的网络设备相互作用。例如,用于用户网络的生成树协议(Spanning Tree Protocol,STP)实例不能与被用于运营商网络的 STP 实例相互作用。因此,运营商网络需要提供“隧道”让用户的STP BPDU(Bridge Protocol Data Unit)得以通过。BPDUs可以被看作能被目的MAC地址识别,但不能被VLAN Tag标签关联的数据包。例如,生成树协议(STP)能被目的 MAC 地址1-80-C2-00-00-00识别。 Q-in-Q协议不提供区别用户网络和运营商网络的BPDUs,因为每个实体的BPDUs可能包含有相同的MAC地址,并且相同的MAC地址是不被支持的。这样,将会引起不可预知的网络行为,因为运营商的网络设备不能够区分用户网络和运营商自己的(BPDUs)。目前,IEEE工作组正在寻找取消这种限制的解决办法,使得运营商网络的BPDUs,能够使用放置不同位置的目的(用户)MAC地址。
运营商网络使用P-VLAN ID 3000映射用户网络端聚集的C-VLAN组,即是C-VLAN ID 50号-69号,并透传这些用户VLAN到运营商网络另一端;P-VLAN ID 3001映射用户网络端聚集的C-VLAN组,即是C-VLAN ID 70号-79号,并透传到广域网的另一端;最后,使用P-VLAN ID 4000映射用户网络端C-VLAN,即是C-VLAN IDs 100号,并透传到运营商网络的因特网网络接口,提供因特网接入服务。
M-in-M网络中服务的识别分为两部分:一部分是在用户网络接口(UNI)处被Service ID识别,一个或多个用户的C-VLAN IDs被一个特别的服务映射;另一部分是P-VLAN ID 识别,是在前面的服务实例识别结束后,由运营商的P-VLAN来识别并负责传输用户以太帧。基于M-in-M技术的网络分别能支持4096个P-VLAN实例和1600万个服务实例。如图6所示。