S6500启用灵活QinQ时,在某些业务应用场景时可能存在流量在端口间广播复制的情况说明 在灵活QinQ的实现中,QinQ报文在转发过程中是经过外层Tag修改的,这样就造成报文上下行所依据的vlan不对称,所以灵活QinQ的报文转发不是传统的方式,而是一种通道式的处理,是根据PVID和报文外层VID决定的虚拟通道来转发。上行流量根据PVID,下行流量根据报文外层VID。如果下行端口配置相同的PVID,会导致上行流量扩散到其他下行端口上;如果不同端口上的灵活QinQ实例配置了相同的外层VID,则会导致下行流量在多个下行端口上复制。 1.1 灵活QinQ的典型应用场景:直接从S6500分别上行至SR或BRAS 需求描述: 在通常的组网中,S6500只有一个上行口连接至BRAS时,是无需启用灵活QinQ的,只需配置QinQ即可满足要求。 但在有些业务场景中,S6500有两个上行口,一个上行口连接到BRAS,终结PPPoE流量(双TAG),;另一个上行口连接到SR,终结企业专线用户(因现网中SR大多不支持处理QinQ报文,故为单TAG);下行口上来的PPPoE流量需要做内外层VLAN映射,而且不同的下行口映射到不同的外层VLAN TAG;下行口上来的企业专线用户不需要打外层VLAN TAG(处理方式是先在下行口打上PVID形成双层TAG,再在连SR的上行口剥离外层TAG转成单TAG发送); 在这种业务场景中,必须确保各个下行口的pvid不重复,且端口下各企业专线用户使用的vlan不重复,否则就会产生流量复制的问题。 组网: 图1 配置描述: 全局视图下: vlan 2001 Vlan 2002 Vlan 2101 Vlan 2102 Vlan 3001 Vlan 3002 /*创建端口 pvid、vid所属 vlan,以及企业专线 vlan*/ PortA(上行口to SR)端口视图下: port link-type hybrid port hybrid vlan 2001 untagged port hybrid vlan 2002 untagged /*企业专线业务的上行流量去掉外层 tag上行至SR*/ port hybrid vlan 3001 tagged port hybrid vlan 3002 tagged /*配置允许企业专线业务的回程流量进入交换机*/ PortB(上行口to BRAS)端口视图下: port link-type hybrid port hybrid vlan 2101 tagged port hybrid vlan 2102 tagged /*PPPOE拨号业务的上行流量带双 tag上行至 BRAS, 并允许带双 tag的PPPOE回程流量进入交换机*/ Port1(下行口)端口视图下: port link-type hybrid port hybrid pvid vlan 2001 /*设置端口 pvid为2001,企业专线业务被打上 vlan 2001的外层 tag上行*/ port hybrid vlan 3001 tagged /*配置把企业专线业务Vlan 3001的回程流量带一层 tag下送至Dslam */ port hybrid vlan 2001 2101 untagged /*配置把PPPOE拨号业务的回程流量去掉外层 tag后下送至Dslam*/ vlan-vpn vid 2101 uplink PortB raw-vlan-id inbound 1001 to 1999 /*配置 vlan 1001到 1999的PPPOE拨号业务进入交换机后打上 vlan 2101的外层 tag,(根据报文内层标签打上外层标签)并从上行口 PortB带 tag上行*/ undo ntdp enable vlan-vpn enable /*使能端口的 vlan-vpn功能*/ Port2(下行口)端口视图下: port link-type hybrid port hybrid pvid vlan 2002 /*设置端口 pvid为2002,企业专线业务被打上 vlan 2002的外层 tag上行*/ port hybrid vlan 3002 tagged /*配置把企业专线业务Vlan 3002的回程流量带一层 tag下送至Dslam*/ port hybrid vlan 2002 2102 untagged /*配置把PPPOE拨号业务的回程流量去掉外层 tag后下送至Dslam*/ vlan-vpn vid 2102 uplink PortB raw-vlan-id inbound 1001 to 1999 /*配置 vlan 1001到 1999的PPPOE拨号业务进入交换机后打上 vlan 2102的外层 tag, 并从上行口 PortB带 tag上行*/ undo ntdp enable vlan-vpn enable /*使能端口的 vlan-vpn功能*/ 报文转发流程: 上行流程 1、 某企业用户的主机mac为A,接入vlan 为3001。其报文上送至port1时,根据端口配置会加上pvid的外层vlan,形成QinQ报文(外层tag为2001,内层tag为3001)。同时,mac A会被学习在vlan 2001的mac表中,对应端口port1。 2、QinQ的外层tag为2001,报文转发时,在vlan 2001中查找目的mac,如查不到则会选择在vlan 2001中广播,如上配置中vlan 2001只包含port A,故仅通过port A上行。根据端口配置,会剥离vlan 2001,还原成单层tag继续上行。 下行流程 1、 报文下行过程中,从端口port A进入,根据端口配置,对单层tag为3001的报文直接透传。 2、 报文在vlan 3001中查找目的mac(下行报文的目的mac为上行报文的源mac A),而mac A是被学习在vlan 2001中的,在vlan 3001查找不到。所以下行流量就会在vlan 3001中广播,如上配置中vlan 3001只包含一个下行端口port 1,则流量只通过port 1下行。如果有port 2也配置允许vlan 3001通过,则下行流量会在port 2中也复制一份。 必须提到的是,在现网应用中,往往因为数据规划的问题,无法使每个端口下接入的企业用户都使用不同的vlan上行,所以无法避免在转发中存在的流量复制问题。当多个下行端口都允许同一个企业用户vlan通过时,这种流量复制的情况将会比较严重,对带宽造成浪费。 1.2 针对以上的问题,华为公司给出的建议是: 1、 尽可能地通过数据规划,避免多个下行端口允许同一企业用户通过的情况;无法完全避免时,也尽量使同一个vlan包含尽量少的下行vlan; 2、 流量复制的根本原因,是在QinQ转发过程中,下行报文在vlan 3001中无法找到目的mac,可以通过在vlan 3001手工配置静态mac的方式来解决此问题,避免流量的广播。但由于大量的手工添加静态mac工作量非常大,故建议只选择一些收发流量特别大的mac进行添加。 3、 选用支持QinQ功能的SR设备,彻底规避上述的业务应用场景。目前,市场上还是有许多支持QinQ功能的SR设备可选的,华为的NE40E即是其中之一。 文档下载:http://mail.foxmail.com/cgi-bin/exs_download?uin=1056355&svrid=201&fid=7c56b8a2e555589f28766c4098888f61212853661081e3e4&code=7588483a

评论