40-VLAN-VPN操作
本章节下载: 40-VLAN-VPN操作 (574.9 KB)
目 录
1.2.3 配置端口的VLAN-VPN报文TPID值可调功能
1.2.4 配置VLAN-VPN内外层标签优先级复制/映射功能
1.2.5 配置VLAN-VPN端口的IGMP协议报文透传功能
1.4.1 利用VLAN-VPN功能实现用户报文在公网中的隧道传输
2.3.1 使用灵活QinQ功能对不同类型的私网数据进行分类处理
3.4.1 使用BPDU Tunnel功能对用户的STP协议报文进行隧道传输
VPN(Virtual Private Network,虚拟私有网络)是近年来随着Internet的广泛应用而迅速发展起来的一种新技术,用以实现在公用网络上构建私人专用网络。通过在客户端或运营商接入端对用户报文进行特殊处理,使公网设备可以为用户报文建立专用的传输隧道,保证数据的安全。
VLAN-VPN是一种简单、灵活的二层VPN隧道技术,它通过在运营商接入端为用户的私网报文封装外层VLAN Tag,使报文携带两层VLAN Tag穿越运营商的骨干网络(公网)。在公网中,报文只根据外层VLAN Tag(即公网VLAN Tag)进行传输,用户的私网VLAN Tag则当作报文中的数据部分来进行传输。
如图1-1所示,VLAN-VPN功能使报文在运营商网络中传输时带有双层VLAN Tag:
l 内层VLAN Tag:为用户的私网VLAN Tag;
l 外层VLAN Tag:为运营商分配给用户的公网VLAN Tag。
图1-1 VLAN-VPN功能对报文的修改
相对于基于MPLS的二层VPN,VLAN-VPN具有如下特点:
l 为用户提供了一种更为简单的二层VPN隧道。
l 不需要在公网上配置自动学习的信令协议,可以通过简单的手工配置实现。
VLAN-VPN主要可以解决以下问题:
l 缓解日益紧缺的公网VLAN ID资源问题。
l 用户可以规划自己的私网VLAN ID,不会导致和公网VLAN ID冲突。
l 为小型城域网或企业网提供一种较为简单的二层VPN解决方案。
在开启端口的VLAN-VPN功能后,当该端口接收报文时,无论报文是否带有VLAN Tag,交换机都会为该报文封装本端口缺省VLAN的VLAN Tag,并将源MAC地址学习到缺省VLAN的MAC地址表中。因此,在接收报文时:
l 如果原报文是已经带有VLAN Tag的报文,在进入交换机后将成为带有双层Tag的报文
l 如果原报文是不带VLAN Tag的报文,在进入交换机后将成为带有端口缺省VLAN Tag的报文
TPID(Tag Protocol Identifier,标签协议标识)是VLAN Tag中的一个字段,IEEE 802.1Q协议中规定该字段的取值为0x8100。
IEEE 802.1Q协议定义的以太网帧的Tag报文结构如图1-2所示:
图1-2 以太网帧的Tag报文结构
S3600系列交换机可以根据TPID值来识别报文中是否携带VLAN Tag,当端口收到报文时,根据配置的TPID值与报文中相应的字段进行比较,如果二者一致,则表示报文中携带相应的VLAN Tag。
S3600系列以太网交换机缺省采用协议规定的TPID值(0x8100),某些厂商将设备可识别的TPID值设置为0x9100或其他数值。为了和这些设备兼容,S3600系列交换机提供了基于端口的VLAN-VPN报文TPID值可调功能,用户可以在接收私网报文的端口配置添加外层Tag时使用的TPID值,从而使发送到公网中的VLAN-VPN报文可以被其他厂商的设备识别;同时在连接公网的端口配置相同的TPID,使该端口能够正常识别公网报文的VLAN Tag。
由于TPID字段在以太网报文中所处位置与不带VLAN Tag的报文中上层协议类型字段所处位置相同,为避免网络中报文转发和接收造成混乱,交换机不允许用户在配置VLAN-VPN的TPID时取值为表1-1中列举的常用协议类型值。
协议类型 |
对应取值 |
ARP |
0x0806 |
IP |
0x0800 |
MPLS |
0x8847/0x8848 |
IPX |
0x8137 |
IS-IS |
0x8000 |
LACP |
0x8809 |
802.1x |
0x888E |
在图1-2中,Priority即该标签的802.1p优先级,长度为3bits,取值范围为0~7。
在开启了VLAN-VPN功能的端口上,可以通过配置内外层优先级复制或映射关系,将内层标签优先级复制到外层标签;或根据报文内层优先级的不同,为报文封装具有不同优先级的外层标签。
有关802.1p优先级的使用,请参见“QoS-QoS Profile”部分的介绍。
有关IGMP协议报文和交换机对各种IGMP协议报文的具体处理方式,请参见本手册“组播协议”部分的介绍。
在没有配置VLAN-VPN功能的情况下,交换机对于接收到的IGMP协议报文将在该报文所在的VLAN内进行透传。如果用户在接收IGMP协议报文的端口上配置了VLAN-VPN功能,且需要将IGMP协议报文在外层标签对应的VLAN内进行透传,则需要配置VLAN-VPN端口的IGMP协议报文透传功能。
表1-2 VLAN-VPN配置任务简介
配置任务 |
说明 |
详细配置 |
配置端口的VLAN-VPN功能 |
必选 |
|
配置端口的VLAN-VPN报文TPID值可调功能 |
可选 |
|
配置VLAN-VPN内外层标签优先级复制/映射功能 |
可选 |
|
配置VLAN-VPN端口的IGMP协议报文透传功能 |
可选 |
在配置VLAN-VPN的各项功能之前,请关闭交换机的IRF Fabric功能,否则将不能在任何端口配置以下任一VLAN-VPN功能。有关IRF Fabric功能的介绍,请参见“IRF Fabric”部分。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
开启端口的VLAN-VPN功能 |
vlan-vpn enable |
必选 缺省情况下,端口VLAN-VPN功能处于关闭状态 |
在配置TPID值之前,请确认对端公网设备的TPID值与本设备配置的值保持一致,以保证本设备能够正确识别公网报文的VLAN Tag。
表1-4 配置VLAN-VPN报文的TPID值可调功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
设置端口采用的TPID值 |
vlan-vpn tpid value |
必选 请不要设置可能引起冲突的TPID值,例如表1-1中列举的常用协议类型值 缺省情况下,H3C系列交换机采用的TPID值为0x8100 |
l S3600系列交换机只能配置一个除缺省值之外的其他TPID值,即如果在不同的端口都配置了非0x8100的TPID值,则这些TPID值必须相同。
l 用户需要在连接私网和连接公网的端口上都配置相同的TPID值,使S3600交换机能够正常与公网设备进行报文传输。
在配置VLAN-VPN内外层标签优先级复制/映射功能前,请开启端口的VLAN-VPN功能。
表1-5 配置VLAN-VPN内层标签优先级复制/映射功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
启用内外层标签优先级复制功能 |
vlan-vpn inner-cos-trust enable |
二者必选其一 缺省情况下,内外层标签优先级复制及映射功能关闭 |
配置内外层标签优先级映射关系 |
vlan-vpn priority old-priority remark new-priority |
l 如果端口已经配置了端口优先级(请参见“QoS-QoS Profile”部分的介绍),在开启VLAN-VPN内外层标签优先级复制功能之后,交换机会提示用户当前端口的端口优先级配置将失效。
l VLAN-VPN内外层标签优先级复制与映射功能不能同时配置。
表1-6 配置VLAN-VPN端口的IGMP协议报文透传功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
开启VLAN-VPN端口的IGMP协议报文透传功能 |
igmp transparent enable |
必选 缺省情况下,VLAN-VPN端口的IGMP协议报文透传功能是关闭的 |
l 如果本设备需要处理从该端口接收的IGMP协议报文(例如在设备上开启了IGMP或IGMP Snooping功能),请不要在此端口上配置IGMP协议报文透传功能,否则设备对该端口接收的IGMP协议报文将不能进行正常处理。
l 如果端口上没有配置VLAN-VPN功能,请不要配置IGMP协议报文透传功能。
完成上述配置后,在任意视图下执行display命令,可以显示配置VLAN-VPN后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表1-7 VLAN-VPN配置显示
操作 |
命令 |
说明 |
显示系统中所有端口的VLAN-VPN配置信息 |
display port vlan-vpn |
display命令可以在任意视图下执行 |
如图1-3所示,Switch A和Switch B为S3600交换机,通过公共网络将用户的工作站与服务器相连。
l 用户的PC工作站和服务器划分在私有VLAN100,终端工作站和服务器划分在私有VLAN200。现要求运营商利用公共网络的VLAN1040,使用户网络之间通过VPN方式进行连接。
l 公共网络中使用其他厂商的设备,TPID值为0x9200。
l 要求配置Switch A和Switch B的VLAN-VPN功能,使用户的PC工作站/服务器和终端工作站/服务器能通过VPN连接,并进行正常通信。
图1-3 VLAN-VPN典型配置举例组网图
l 配置Switch A
# 配置SwitchA的端口Ethernet1/0/11为VLAN-VPN端口,为进入该端口的报文封装VLAN1040的外层VLAN Tag,并配置外层Tag中的TPID值为0x9200。
<SwitchA> system-view
[SwitchA] vlan 1040
[SwitchA-vlan1040] port Ethernet 1/0/11
[SwitchA-vlan1040] quit
[SwitchA] interface Ethernet 1/0/11
[SwitchA-Ethernet1/0/11] vlan-vpn enable
[SwitchA-Ethernet1/0/11] vlan-vpn tpid 9200
[SwitchA-Ethernet1/0/11] quit
# 配置端口Ethernet1/0/12的端口类型为Trunk,允许VLAN 1040的报文通过。
[SwitchA] interface Ethernet1/0/12
[SwitchA-Ethernet1/0/12] port link-type trunk
[SwitchA-Ethernet1/0/12] port trunk permit vlan 1040
# 配置端口Ethernet1/0/12的TPID值为0x9200,使该端口可以正常识别公网报文中的外层VLAN Tag。
[SwitchA-Ethernet1/0/12] vlan-vpn tpid 9200
l 配置Switch B
# 配置SwitchB的端口Ethernet1/0/21为VLAN-VPN端口,为进入该端口的报文封装VLAN1040的外层VLAN Tag,并配置外层Tag中的TPID值为0x9200。
<SwitchB> system-view
[SwitchB] vlan 1040
[SwitchB-vlan1040] port Ethernet 1/0/21
[SwitchB-vlan1040] quit
[SwitchB] interface Ethernet 1/0/21
[SwitchB-Ethernet1/0/21] vlan-vpn enable
[SwitchB-Ethernet1/0/21] vlan-vpn tpid 9200
[SwitchB-Ethernet1/0/21] quit
# 配置端口Ethernet1/0/22的端口类型为Trunk,允许VLAN 1040的报文通过。
[SwitchB] interface Ethernet 1/0/22
[SwitchB-Ethernet1/0/22] port link-type trunk
[SwitchB-Ethernet1/0/22] port trunk permit vlan 1040
# 配置端口Ethernet1/0/22的TPID值为0x9200,使该端口可以正常识别公网报文中的外层VLAN Tag。
[SwitchA-Ethernet1/0/22] vlan-vpn tpid 9200
l 请勿配置VLAN1040为SwitchA的Ethernet1/0/12端口和SwitchB的Ethernet1/0/22端口的缺省VLAN,以免外层Tag在发送时被去除。
l 此例中介绍了在SwitchA的Ethernet1/0/11端口和SwitchB的Ethernet1/0/21端口均为Access端口时的配置。当两个端口为Trunk和Hybrid端口时,请通过命令配置这两个端口的缺省VLAN为1040,且在发送VLAN1040的报文时去除外层Tag,具体操作请参考本手册“VLAN”部分。
l 配置公共网络设备
# 由于公共网络使用的设备可能来自于其他厂商,这里只介绍基本原理。配置公共网络中与SwitchA的Ethernet1/0/12端口和SwitchB的Ethernet1/0/22端口连接的设备,使其相应的端口允许VLAN1040的报文携带VLAN Tag进行发送即可。
报文从SwitchA转发至SwitchB的过程如下:
(1) 来自用户私网侧的报文进入SwitchA的端口Ethernet1/0/11后,由于此端口为VLAN-VPN端口,在用户私有VLAN100和VLAN200的报文外层封装端口缺省的VLAN Tag(VLAN ID为1040),同时将外层Tag中的TPID修改为0x9200。
(2) 报文通过端口Ethernet1/0/12发送到公网网络,发送时保留外层VLAN Tag。
(3) 公共网络中的设备将报文发送到SwitchB的Ethernet1/0/22端口。
(4) SwitchB接收报文后,转发至Ethernet1/0/21端口,由于该端口是Access端口,因此在转发时会去除外层VLAN1040的VLAN Tag,从而将报文恢复为带有用户私有VLAN Tag的报文,并转发到相应的用户网络。
(5) 反方向的转发过程相同。
灵活QinQ是VLAN-VPN功能的一种增强应用,使用灵活QinQ,用户可以配置内外层Tag映射规则,为具有不同内层Tag的报文按映射规则封装不同的外层Tag。
灵活QinQ功能可以使运营商的网络构架更为灵活,在连接接入层设备的端口上可以根据VLAN Tag对不同的终端用户进行分类,为各类用户封装不同的外层Tag,并在公网中按外层Tag配置QoS策略,灵活配置数据的传输优先级,使各类用户获得相应的服务。以图2-1为例。
图2-1 灵活QinQ典型应用
SwitchA为运营商的接入设备,接入用户分为普通用户(VLAN8~100)、大客户(VLAN101~200)及IP电话用户(VLAN201~300)。这三类用户的报文全部由Switch A转发到公共网络。
在SwitchA连接用户的端口上配置了灵活QinQ及相应的内外层标签映射规则后,该端口将根据内层VLAN Tag为报文封装外层Tag。例如,在IP电话用户(内层Tag为201~300)的数据外层封装VLAN1002的Tag,并传送到负责IP电话业务的VoIP设备进行处理。
为保证语音报文的传输质量,可以在公共网络配置QoS策略,对VLAN1002的报文采取保留带宽、优先发送的规则。
该方法可以对不同类型用户的数据配置转发策略,提高网络管理灵活性;而且能够节省公网VLAN资源,又使同类用户之间因内层VLAN Tag的不同而保持隔离状态,保证了一定的安全性。
缺省情况下,与VLAN-VPN功能相同,开启灵活QinQ的端口将用户数据的源MAC地址学习到本端口缺省VLAN的MAC地址表中。由于灵活QinQ端口可以为报文添加缺省VLAN之外的外层VLAN Tag,因此,在转发由运营商发往用户的数据时,会出现由于在外层VLAN的MAC表中无法找到用户的源MAC地址而形成的报文广播现象。
图2-2 灵活QinQ报文的MAC地址学习示意图
如图2-2所示,在设备接收用户私网报文时,接收端口的缺省VLAN为VLAN2,在接收端口配置灵活QinQ功能,为接收的VLAN3的报文添加VLAN4的外层Tag。在接收报文的同时,设备将源MAC地址MAC-A学习到接收端口缺省VLAN(VLAN2)的MAC地址表中。
当回应报文从运营商网络的VLAN4返回到设备时,设备将从VLAN4的MAC地址表中查找MAC-A的发送端口,但由于对应表项没有被学习到VLAN4的MAC地址表中,该报文会被认为是目的MAC地址未知的单播报文,系统将在VLAN4内的所有端口进行广播。不但浪费网络资源,而且造成一定的安全隐患。
S3600系列以太网交换机提供了VLAN间MAC地址表项复制功能,可以将接收端口缺省VLAN内的MAC地址表项复制到外层Tag对应VLAN的MAC地址表内。此后设备只需要在首次转发来自运营商网络的报文时通过广播查找用户设备的MAC地址,在之后的报文交互过程中即可通过查找外层Tag对应VLAN的MAC地址表找到转发路径从而单播转发,避免在灵活QinQ应用中产生过多的广播报文。
同样,也可以将外层Tag对应VLAN的MAC地址表项复制到接收端口的缺省VLAN的MAC地址表,此后设备在转发从用户发往运营商网络的报文时,从入端口缺省VLAN的MAC地址表内即可查找到连接运营商网络的发送端口,实现单播转发。
表2-1 灵活QinQ配置任务简介
配置任务 |
说明 |
详细配置 |
配置端口的灵活QinQ功能 |
必选 |
|
配置灵活QinQ的VLAN间MAC地址复制功能 |
可选 |
如果设备已经启动IRF Fabric功能,则不能在任何端口上配置VLAN-VPN及灵活QinQ功能。
在配置端口的灵活QinQ功能之前,需要先完成以下的配置:
l 开启当前端口的VLAN-VPN功能
l 设置当前端口允许特定VLAN的报文通过,至少应包括添加的外层标签对应的VLAN
表2-2 灵活QinQ配置过程
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置需要封装的外层Tag值,并进入QinQ视图 |
vlan-vpn vid vlan-id |
必选 |
配置对指定内层标签的报文添加外层VLAN Tag |
raw-vlan-id inbound vlan-id-list |
必选 缺省情况下,没有配置对指定内层标签的报文添加外层VLAN Tag |
建议用户不要在交换机上同时配置灵活QinQ功能和DHCP Snooping功能,否则可能导致DHCP-Snooping功能无法正常使用。
表2-3 配置灵活QinQ的VLAN间MAC地址复制功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置灵活QinQ的VLAN间MAC地址复制功能 |
mac-address-mapping index source-vlan source-vlan-list destination-vlan dest-vlan-id |
必选 缺省情况下,灵活QinQ的VLAN间MAC地址复制功能关闭 |
l 灵活QinQ的VLAN间MAC地址复制功能在一个端口下对某个目的VLAN只能配置一次。如果需要修改,必须先删除之前的配置,然后再重新进行配置。
l 关闭VLAN间MAC地址复制功能后,系统将删除目的VLAN中通过该功能学到的其他VLAN的所有MAC地址表项。
l 用户不能手工删除通过VLAN间MAC地址复制功能获得的MAC地址表项,如果确实需要删除该表项,可以通过关闭VLAN间MAC地址复制功能实现。
l VLAN4093是设备为IRF Fabric功能保留的特殊VLAN,不支持作为MAC地址复制功能的目的VLAN接收来自其他VLAN的MAC地址表项。
l SwitchA的端口Ethernet1/0/3连接了PC用户和IP电话用户。其中PC用户位于VLAN100~VLAN108范围内,IP电话用户位于VLAN200~VLAN230范围内。SwitchA的端口Ethernet1/0/5连接到公共网络,对端为SwitchB。
l SwitchB的Ethernet1/0/11端口接入公共网络,Ethernet1/0/12和Ethernet1/0/13端口分别接入PC用户服务器所在VLAN100~VLAN108和IP电话用户语音网关所在VLAN200~VLAN230。
l 公共网络中允许VLAN1000和VLAN1200的报文通过,并配置了QoS策略,对VLAN1200的报文配置有带宽保留等优先传输策略,而VLAN1000的报文传输优先级较低。
l 在SwitchA和SwitchB上配置灵活QinQ功能,将PC用户和IP电话用户的流量分别在公网的VLAN1000和VLAN1200内传输,以利用QoS策略保证语音数据的传输优先级。
l 为避免大量的广播报文,配置灵活QinQ的VLAN间MAC地址复制功能。
图2-3 灵活QinQ组网示意图
l 配置SwitchA
# 在SwitchA上创建VLAN1000、VLAN1200和Ethernet1/0/3的缺省VLAN5。
<SwitchA> system-view
[SwitchA] vlan 1000
[SwitchA-vlan1000] quit
[SwitchA] vlan 1200
[SwitchA-vlan1200] quit
[SwitchA] vlan 5
[SwitchA-vlan5] quit
# 配置端口Ethernet1/0/5为Hybrid端口,并在转发VLAN5、VLAN1000和VLAN1200的报文时保留VLAN Tag。
[SwitchA] interface Ethernet 1/0/5
[SwitchA-Ethernet1/0/5] port link-type hybrid
[SwitchA-Ethernet1/0/5] port hybrid vlan 5 1000 1200 tagged
[SwitchA-Ethernet1/0/5] quit
# 配置端口Ethernet1/0/3为Hybrid端口,缺省VLAN为VLAN5,并在转发VLAN5、VLAN1000和VLAN1200的报文时去除VLAN Tag。
[SwitchA] interface Ethernet 1/0/3
[SwitchA-Ethernet1/0/3] port link-type hybrid
[SwitchA-Ethernet1/0/3] port hybrid pvid vlan 5
[SwitchA-Ethernet1/0/3] port hybrid vlan 5 1000 1200 untagged
# 开启端口Ethernet1/0/3的VLAN-VPN功能。
[SwitchA-Ethernet1/0/3] vlan-vpn enable
# 配置该端口的灵活QinQ功能,为内层VLAN是100至108的报文封装VLAN1000的外层Tag;为内层VLAN是200至230的报文封装VLAN1200的外层Tag。
[SwitchA-Ethernet1/0/3] vlan-vpn vid 1000
[SwitchA-Ethernet1/0/3-vid-1000] raw-vlan-id inbound 100 to 108
[SwitchA-Ethernet1/0/3-vid-1000] quit
[SwitchA-Ethernet1/0/3] vlan-vpn vid 1200
[SwitchA-Ethernet1/0/3-vid-1200] raw-vlan-id inbound 200 to 230
# 配置VLAN间MAC地址复制功能,将外层VLAN与缺省VLAN的MAC地址表项进行复制。
[SwitchA-Ethernet1/0/3-vid-1200] quit
[SwitchA-Ethernet1/0/3] mac-address-mapping 0 source-vlan 5 destination-vlan 1000
[SwitchA-Ethernet1/0/3] mac-address-mapping 1 source-vlan 5 destination-vlan 1200
[SwitchA-Ethernet1/0/3] quit
[SwitchA] interface Ethernet 1/0/5
[SwitchA-Ethernet1/0/5] mac-address-mapping 0 source-vlan 1000 1200 destination-vlan 5
经过上述配置,在SwitchA向公共网络转发报文时,会自动将VLAN100~VLAN108(PC用户)的报文封装外层Tag为VLAN1000,将VLAN200~VLAN230(IP电话用户)的报文封装外层Tag为VLAN1200。
l 配置SwitchB
# 创建VLAN1000、VLAN1200以及Ethernet1/0/12和Ethernet1/0/13端口的缺省VLAN12和VLAN13。
<SwitchB> system-view
[SwitchB] vlan 1000
[SwitchB-vlan1000] quit
[SwitchB] vlan 1200
[SwitchB-vlan1200] quit
[SwitchB] vlan 12 to 13
# 配置端口Ethernet1/0/11为Hybrid端口,并在发送VLAN12、VLAN13、VLAN1000和VLAN1200的报文时保留VLAN Tag。
<SwitchB> system-view
[SwitchB] interface Ethernet 1/0/11
[SwitchB-Ethernet1/0/11] port link-type hybrid
[SwitchB-Ethernet1/0/11] port hybrid vlan 12 13 1000 1200 tagged
# 配置端口Ethernet1/0/12为Hybrid端口,缺省VLAN为VLAN12,在发送VLAN12和VLAN1000的报文时去掉VLAN Tag。
[SwitchB] interface Ethernet 1/0/12
[SwitchB-Ethernet1/0/12] port link-type hybrid
[SwitchB-Ethernet1/0/12] port hybrid pvid vlan 12
[SwitchB-Ethernet1/0/12] port hybrid vlan 12 1000 untagged
[SwitchB-Ethernet1/0/12] quit
# 配置端口Ethernet1/0/13为Hybrid端口,缺省VLAN为VLAN13,在发送VLAN13和VLAN1200的报文时去掉VLAN Tag。
[SwitchB] interface Ethernet 1/0/13
[SwitchB-Ethernet1/0/13] port link-type hybrid
[SwitchB-Ethernet1/0/13] port hybrid pvid vlan 13
[SwitchB-Ethernet1/0/13] port hybrid vlan 13 1200 untagged
经过上述配置,SwitchB可以将公网中VLAN1000和VLAN1200的数据分别通过Ethernet1/0/12和Ethernet1/0/13端口发送到相应的服务器。
为使服务器端返回的数据能够使用同样的传输方式返回客户端,需要在SwitchB的Ethernet1/0/12和Ethernet1/0/13端口也配置相应的灵活QinQ功能和MAC地址复制功能,配置方法与SwitchA类似,这里不再赘述。
l 由于开启灵活QinQ的设备会为用户报文封装其他VLAN的外层Tag,不会按报文中原始的Tag进行转发,因此不需要在设备上配置用户的VLAN。
l 在启动了灵活QinQ的端口必须允许本端口的缺省VLAN通过,同时,接入公网的端口也必须允许该VLAN通过。
通常情况下,局域网用户需要使用一些二层协议对网络拓扑进行管理和维护。例如,使用STP协议维护生成树、控制环路;使用HGMP协议对网络拓扑和设备进行管理。这些协议使用BPDU(Bridge Protocol Data Unit,桥协议数据单元)进行通信和协商。
当用户的多个分支机构通过公共网络进行互连时,为方便管理,要求将多个网络节点结合起来,作为一个整体的局域网络进行统一计算和维护。因此,运营商需要将用户的某些二层协议的报文通过公共网络进行传输,而且这些用户信息不能参与到公共网络的计算之中。
基于以上需求,S3600系列以太网交换机提供了BPDU Tunnel功能,可以使用户的部分二层协议报文以隧道的形式在公共网络中进行传输。
网络设备对于二层协议报文的处理和数据报文不同,设备首先要对二层协议报文进行识别。IEEE定义的二层协议报文都有一个特殊的目的MAC地址(例如STP协议报文的目的MAC地址为0180-C200-0000),并且报文有一个“类型”字段。一些厂商定义的私有协议也会遵循这个规则,用一个私有的MAC地址来识别私有协议,用“类型”字段识别具体的协议类型。
如图3-1所示,上部为运营商网络,下部为用户网络。其中,运营商网络包括边缘设备(连接用户网络和运营商网络的设备);用户网络分为用户网络A和用户网络B两个部分。通过在运营商网络的边缘设备上启用BPDU Tunnel功能,可以实现用户网络的BPDU报文在运营商网络中透明传输。
图3-1 BPDU Tunnel网络层次示意图
l 在报文输入端,边缘设备将来自用户网络的BPDU报文的目的MAC地址由协议特定的MAC地址修改为私有组播MAC地址(该组播地址可通过命令由用户进行配置),目的地址为该组播地址的报文称为隧道报文。在运营商网络中,隧道报文将以正常数据报文的方式进行转发。
l 在报文输出端,边缘设备识别出隧道报文,并根据报文中的协议类型字段判断该报文的类型,将其目的MAC地址恢复为原始的协议特定MAC地址,然后发送给用户侧的接入设备。对于用户侧设备来说,二层协议报文在进入隧道前和离开隧道后没有改变,这样用户设备会认为“隧道”就是一条本地链路。通过这种方法,二层协议就可以运行在一个虚拟的“本地”网络上。
用户网络的BPDU报文在进入运营商网络前后的报文格式如图3-2、图3-3所示。
图3-2 进入运营商网络前的BPDU报文的格式
为避免隧道报文被运营商网络内的设备当作其他应用的报文处理,隧道报文所使用的目的地址必须是组播地址,且在运营商网络内是唯一的BPDU Tunnel专用地址。
S3600系列以太网交换机支持对以下协议使用的报文进行BPDU Tunnel传输。
l LACP(Link Aggregation Control Protocol,链路汇聚控制协议)。
l STP(Spanning Tree Protocol,生成树协议)。
l HGMP相关协议,包括:NDP(Neighbor Discovery Protocol,邻居发现协议)、NTDP(Neighbor Topology Discovery Protocol,邻居拓扑发现协议)、Cluster MRC(Cluster Member Remote Control,集群成员远程控制)、HABP(Huawei Authentication Bypass Protocol,华为认证旁路协议)。
l 其它厂商的私有协议,包括:CDP、PAGP、PVST、VTP、UDLD。
边缘设备与用户设备之间可以正常传输数据。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置在BPDU Tunnel中传输报文采用的私有组播MAC地址 |
bpdu-tunnel tunnel-dmac mac-address |
可选 缺省情况下,使用010f-e200-0003作为协议报文在BPDU Tunnel中传输时使用的目的MAC地址 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
开启某种协议报文使用BPDU Tunnel传输的功能 |
bpdu-tunnel protocol-type |
必选 缺省情况下,没有配置任何协议的报文通过BPDU Tunnel进行传输 |
l 如果设备上存在已经开启Fabric功能的端口,将不能在该端口或其他任何端口上启动BPDU Tunnel功能。
l 如果在端口上配置了对某种协议报文进行BPDU Tunnel传输功能,则不能在该端口上配置这种协议。例如,如果配置了bpdu-tunnel lacp,则不能在此端口下执行命令lacp enable。
l bpdu-tunnel stp命令与vlan-vpn tunnel命令配置的STP协议报文隧道功能不能同时配置。相关内容请参见“MSTP”部分的介绍。
l 当配置运营商网络对用户的PAGP、LACP、UDLD协议报文进行隧道传输时,需要保证运营商网络为用户提供的是点到点链路,否则这些协议将不能正常工作。
l 由于设备不支持在聚合端口组内的端口之间对NDP和NTDP功能的配置进行同步,因此当配置运营商网络使用聚合端口组对用户的HGMP协议报文进行隧道传输时,需要保证该聚合组中的所有端口均没有启动NDP和NTDP协议。
l bpdu-tunnel cdp命令与voice vlan legacy命令不能同时配置,相关内容请参见“Voice VLAN”部分的介绍。
l 如果需要在开启了BPDU Tunnel功能的端口上配置TPID值,则必须在隧道报文的上行端口也配置相同的TPID值,以保证隧道报文正常传输。
l 开启BPDU Tunnel功能的端口如果从用户网络收到隧道报文,表示组网出现错误,将直接丢弃该报文。
完成上述配置后,在任意视图下执行display命令,可以显示隧道报文使用的私有组播MAC地址。通过查看显示信息,用户可以验证配置的效果。
表3-2 BPDU Tunnel配置显示
操作 |
命令 |
说明 |
显示隧道报文使用的私有组播MAC地址 |
display bpdu-tunnel |
display命令可以在任意视图下执行 |
l Customer1、Customer2为用户网络设备;Provider1和Provider2为运营商网络边缘设备,分别通过Ethernet1/0/1和Ethernet1/0/4端口接收用户端的数据。
l Provider1和Provider2之间使用Trunk链路进行连接,并允许所有VLAN的报文通过。
l 配置运营商网络可以使用BPDU Tunnel对用户网络的STP协议报文进行隧道传输,使用组播地址010f-e233-8b22作为隧道报文的目的MAC地址。
l 启用运营商网络的VLAN-VPN功能,使用VLAN100来对用户网络的数据报文进行传输。
(1) Provider1的配置
# 在Ethernet1/0/1端口关闭STP功能。
<Sysname> system-view
[Sysname] interface Ethernet 1/0/1
[Sysname-Ethernet1/0/1] stp disable
# 在Ethernet1/0/1端口配置BPDU Tunnel功能,对STP协议的BPDU进行透明传输。
[Sysname-Ethernet1/0/1] bpdu-tunnel stp
# 配置Ethernet1/0/1端口的VLAN-VPN功能,使用VLAN100对用户的数据报文进行隧道传输。
[Sysname-Ethernet1/0/1] port access vlan 100
[Sysname-Ethernet1/0/1] vlan-vpn enable
# 配置协议报文在BPDU Tunnel中传输的目的MAC地址。
[Sysname-Ethernet1/0/1] quit
[Sysname] bpdu-tunnel tunnel-dmac 010f-e233-8b22
# 配置端口Ethernet1/0/2为Trunk端口,且允许所有VLAN报文通过。
[Sysname] interface Ethernet 1/0/2
[Sysname-Ethernet1/0/2] port link-type trunk
[Sysname-Ethernet1/0/2] port trunk permit vlan all
(2) Provider2的配置
# 在Ethernet1/0/4端口关闭STP功能。
<Sysname> system-view
[Sysname] interface Ethernet 1/0/4
[Sysname-Ethernet1/0/4] stp disable
# 在Ethernet1/0/4端口配置STP协议的BPDU Tunnel功能。
[Sysname-Ethernet1/0/4] bpdu-tunnel stp
# 配置Ethernet1/0/4端口的VLAN-VPN功能,使用VLAN100对用户的数据报文进行隧道传输。
[Sysname-Ethernet1/0/4] port access vlan 100
[Sysname-Ethernet1/0/4] vlan-vpn enable
# 配置协议报文在BPDU Tunnel中传输的目的MAC地址。
[Sysname-Ethernet1/0/4] quit
[Sysname] bpdu-tunnel tunnel-dmac 010f-e233-8b22
# 配置端口Ethernet1/0/3为Trunk端口,且允许所有VLAN报文通过。
[Sysname] interface Ethernet 1/0/3
[Sysname-Ethernet1/0/3] port link-type trunk
[Sysname-Ethernet1/0/3] port trunk permit vlan all
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!