11-VLAN终结配置
本章节下载: 11-VLAN终结配置 (341.26 KB)
· VLAN终结功能与QinQ功能互斥,不能同时启用。有关QinQ的相关配置,请参见“二层技术-以太网交换配置指导”中的“QinQ”。
· 本文中的“业务处理板”指的是单板丝印为“CR-SPE-3020-E-I”的单板,“普通型接口板”指的是单板丝印为“CR-SPC-XP8LEF-I/CR-SPC-XP4LEF-I/CR-SPC-GP48LEF/CR-SPC-GT48LEF”的单板。
VLAN终结是指对接收到的报文,按照报文携带的VLAN Tag信息匹配对应的接口后,去除报文VLAN Tag,再将报文进行三层转发或交由其它业务处理。转发出去的报文是否带有VLAN Tag由出接口决定,对从配置了VLAN终结的接口发送的报文,按照该接口上的终结配置,将相应的VLAN Tag添加到报文中后发送该报文。
根据对所终结的报文的不同处理方式,VLAN终结分为以下两种:
· Dot1q终结:用来终结带有一层及以上VLAN Tag的报文(要求最外层VLAN ID必须匹配配置值),从配置了Dot1q终结的接口发送的报文,都添加一层VLAN Tag。
· QinQ终结:用来终结带有两层及以上VLAN Tag的报文(要求最外两层VLAN ID必须匹配配置值),从配置了QinQ终结的接口发送的报文,都添加两层VLAN Tag。
· 为便于描述,本特性部分内容对带有两层及以上VLAN Tag的报文,将其最外两层VLAN Tag按从外层到内层的方向,分别用第一层VLAN Tag、第二层VLAN Tag表示,对VLAN ID的描述类似。
· 当前设备只支持QinQ终结这种VLAN终结方式。
划分VLAN后,不同VLAN间的主机不能直接通信,使用三层路由技术可以实现所有VLAN间报文的互通。此时如果要对互通的VLAN范围做限制,即要求只有指定的部分VLAN间可以互通,可以借助VLAN终结功能来实现。目前可以通过VLAN接口/三层以太网子接口实现指定VLAN间的互通。
下图中,Host A属于VLAN 2,Host B属于VLAN 3,将Host A的网关地址指定为1.1.1.1/24,Host B的网关地址指定为1.1.2.1/24,就可以通过VLAN接口或者三层以太网子接口来实现Host A和Host B的三层报文互通了。
图1-1 VLAN终结用于不同VLAN之间互通(VLAN接口)
图1-2 VLAN终结用于不同VLAN之间互通(三层以太网子接口)
局域网内的报文大多数都带有VLAN Tag,但一些广域网协议并不能识别VLAN报文,比如ATM、FR和PPP等,这种情况下,如果局域网的VLAN报文要转发到广域网,需要在本地记录并去掉报文的VLAN信息后再转发,可以借助VLAN终结功能来实现。目前可以通过VLAN接口/子接口实现局域网和广域网的互联。
如图1-3所示,用户网络的私网VLAN为Customer VLAN。运营商为用户网络分配的公网VLAN为Service VLAN。当用户网内Customer VLAN的报文进入运营商网络时,报文外面就会被封装上Service VLAN的VLAN Tag。在运营商网基于Service VLAN进行转发。如果报文要发往外部WAN,则需要在出口网关(Device)上对该报文进行VLAN终结处理,去掉两层VLAN Tag,再发送到WAN。
图1-3 VLAN终结用于LAN和WAN的互联
表1-1 VLAN终结配置任务简介
配置任务 |
说明 |
详细配置 |
配置报文的TPID |
可选 |
|
配置VLAN终结支持广播/组播 |
可选 |
|
配置QinQ终结 |
必选 |
· 主接口本身不能对VLAN报文做终结处理,在主接口创建子接口后,由子接口来处理。
· 子接口只能接收和发送携带VLAN Tag的报文。
· VLAN接口和三层以太网子接口都可以终结最外层VLAN ID匹配和最外两层VLAN ID匹配的报文,并且都只能终结最外层VLAN ID与接口编号相同的VLAN报文,不能通过命令行修改。
IEEE 802.1Q协议规定在以太网报文的目的MAC地址和源MAC地址之后封装了4个字节的VLAN Tag,用以标识VLAN的相关信息,如图1-4所示(这里的帧格式以Ethernet II型封装为例,以太网还支持802.2 LLC、802.2 SNAP和802.3 raw封装格式。对于这些封装格式的报文,也会添加VLAN Tag字段)。如果封装一个VLAN Tag则形成Dot1q报文,如果封装两个VLAN Tag则形成QinQ报文,如图1-5所示。
图1-4 VLAN Tag的组成字段
图1-5 Dot1q报文和QinQ报文结构图
VLAN Tag包含了四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。其中TPID用来判断以太网报文是否带有VLAN Tag(即是否为VLAN报文),长度为16bit,一般取值为0x8100,但在实际应用中,各个厂商可以自定义该字段的值。
为了能够识别TPID值不是0x8100的VLAN报文,与其它厂商的设备实现互通,设备提供了TPID值配置功能。配置TPID值之后,
· 接口收到报文时,处理方式请参见表1-2。
外层Tag中的TPID值 |
内层Tag中的TPID值 |
处理方式 |
为0x8100或用户指定值 |
为0x8100 |
当成QinQ报文来处理 (对于普通型接口板,只有外层Tag中的TPID值为用户指定值时,才当成QinQ报文来处理) |
为其它值(不等于0x8100或用户指定值的值) |
- |
当成不带VLAN Tag的以太网报文来处理 |
· 接口发送报文时,处理方式请参见表1-3。
用户是否指定TPID值 |
对外层Tag中TPID值的处理 |
对内层Tag中TPID值的处理 |
指定了TPID值 |
设置为用户指定值 |
· 若报文包含内层Tag,则设置该Tag中的TPID值为0x8100 · 若报文不包含内层Tag,则不作处理 |
未指定TPID值 |
设置为0x8100 |
· 如果当前接口的状态为up,配置TPID值后,接口会被禁用一次(down),再迅速恢复到up状态。
· 不管是否使用dot1q ethernet-type命令指定别的TPID值,当设备收到TPID值为0X8100的报文时,始终会把它当VLAN报文来处理(普通型接口板除外),但发送的报文的TPID值会填入命令指定的值。
· 本端的TPID值必须和对端的TPID值配置一致,否则可能无法互通。
如果要在三层以太网子接口/三层聚合子接口/VE-L3VPN-Access子接口上使用VLAN终结功能,可以使用以下配置步骤指定子接口接收和发送报文的外层TPID值。如果不指定的话,将使用缺省值0x8100。
表1-4 配置VLAN报文的TPID值
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
进入三层以太网接口视图 |
interface interface-type interface-number |
三者必选其一 在接口视图下配置,命令会对该接口的所有子接口生效 |
进入三层聚合接口视图 |
interface route-aggregation interface-number |
||
进入VE-L3VPN-Access接口视图 |
Interface ve-l3vpn-access interface-number |
||
配置设备接收和发送报文外层VLAN Tag的TPID值 |
dot1q ethernet-type hex-value |
可选 缺省情况下,设备接收和发送的报文外层VLAN Tag的TPID值均为0X8100 如果接口接收/发送的是QinQ报文,则报文内层VLAN Tag的TPID值始终为0x8100,不能配置 |
如果要在VLAN接口上使用VLAN终结功能,可以使用以下配置步骤指定VLAN接口绑定的二层物理接口接收和发送报文的外层TPID值。如果不指定的话,将使用缺省值0x8100。
表1-5 配置VLAN报文的TPID值
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
进入二层以太网接口视图 |
interface interface-type interface-number |
必选 在二层聚合接口视图下配置,会对该接口的所有成员端口生效 |
进入二层聚合接口视图 |
interface bridge-aggregation interface-number |
||
配置设备接收和发送报文外层VLAN Tag的TPID值 |
qinq ethernet-type hex-value |
可选 缺省情况下,设备接收和发送的报文外层VLAN Tag的TPID值均为0x8100 如果接口接收/发送的是QinQ报文,则报文内层VLAN Tag的TPID值始终为0x8100,不能配置 |
qinq ethernet-type命令的详细介绍请参见“二层技术-以太网交换命令参考”中的“QinQ”。
当子接口/VLAN接口下配置了模糊的QinQ终结功能后,不允许发送广播、组播报文。当这些子接口/VLAN接口收到广播、组播报文时,会自动丢弃。必须在这些接口下再配置VLAN终结支持广播/组播功能,它们才会将收到的广播、组播报文进行正常的转发。
表1-6 配置VLAN终结支持广播/组播
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
进入三层以太网子接口视图 |
interface interface-type interface-number.subnumber |
四者必选其一 |
进入三层聚合子接口视图 |
interface route-aggregation interface-number.subnumber |
||
进入VLAN接口视图 |
interface vlan-interface interface-number |
||
VE-L3VPN-Access子接口视图 |
interface ve-l3vpn-access interface-number.subnumber |
||
配置允许当前子接口/VLAN接口发送广播、组播报文 |
vlan-termination broadcast enable |
可选 缺省情况下,配置了模糊的QinQ终结功能的三层以太网子接口/三层聚合子接口/VLAN接口/VE-L3VPN-Access子接口不发送广播、组播报文 |
根据每个子接口所能终结的VLAN报文的VLAN ID范围的不同,QinQ终结又分为:
· 明确的QinQ终结:只能终结一种QinQ报文。能接收的QinQ报文的外层VLAN ID必须是指定值,其它QinQ报文则不允许通过该子接口;发送报文时,会给报文添加两层VLAN Tag,内、外层VLAN ID字段分别填上指定值。
· 模糊的QinQ终结:可以终结多种QinQ报文。能接收的QinQ报文的外层VLAN ID必须是指定值,否则不允许通过该子接口;发送报文时,会给报文添加两层VLAN Tag,内、外层VLAN ID字段分别填上指定值,内层VLAN ID通过以下方式决定:对于IPv4报文,通过查找ARP表项获取相应的VLAN ID;对于PPPoE报文,通过查找PPPoE会话表项获取相应的VLAN ID;对于DHCP Relay报文,通过查找DHCP会话表项获取相应的VLAN ID。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
三层以太网子接口视图 |
interface interface-type interface-number.subnumber |
四者必选其一 |
三层聚合子接口视图 |
interface route-aggregation interface-number.subnumber |
||
VLAN接口视图 |
interface vlan-interface interface-number |
||
进入VE-L3VPN-Access子接口视图 |
interface ve-l3vpn-access interface-number.subnumber |
||
使能子接口/VLAN接口的QinQ终结功能,并指明子接口/VLAN接口可以终结的QinQ报文的内层VLAN ID值 |
second-dot1q vlan-id |
必选 外层VLAN ID等于接口的编号,不能配置 |
表1-8 配置模糊的QinQ终结
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
三层以太网子接口视图 |
interface interface-type interface-number.subnumber |
四者必选其一 |
三层聚合子接口视图 |
interface route-aggregation interface-number.subnumber |
||
VLAN接口视图 |
interface vlan-interface interface-number |
||
进入VE-L3VPN-Access子接口视图 |
interface ve-l3vpn-access interface-number.subnumber |
||
使能子接口/VLAN接口的QinQ终结功能,并指明子接口/VLAN接口可以终结的VLAN报文的内层VLAN ID值 |
second-dot1q { any | vlan-list } |
必选 外层VLAN ID等于接口的编号,不能配置 |
如图1-6所示,Host A和Switch A相连,属于VLAN 11;Host B和Switch C相连,Switch C只支持一层VLAN标签;Switch B上使能了QinQ功能,它会给收到的内层VLAN ID为11的Dot1q报文外面添加一层VLAN ID为100的VLAN Tag后再转发出去。现需要实现Host A与Host B之间能够互相通信。
图1-6 明确的QinQ终结配置组网图
(1) Host A、Host B的配置
将Host A的IP地址指定为1.1.1.1/24,网关地址指定为1.1.1.11/24;Host B的IP地址为1.1.2.1/24,网关地址指定为1.1.2.11/24。
(2) Switch A的配置
<SwitchA> system-view
[SwitchA] vlan 11
[SwitchA-vlan11] port Ethernet 1/2
[SwitchA-vlan11] quit
[SwitchA] interface Ethernet 1/1
[SwitchA-Ethernet1/1] port link-type trunk
[SwitchA-Ethernet1/1] port trunk permit vlan 11
Please wait... Done.
(3) Switch B的配置
<SwitchB> system-view
[SwitchB] interface Ethernet 1/2
[SwitchB-Ethernet1/2] port link-type trunk
[SwitchB-Ethernet1/2] port trunk permit vlan 11 100
Please wait... Done.
[SwitchB-Ethernet1/2] qinq enable
[SwitchB-Ethernet1/2] qinq vid 100
[SwitchB-Ethernet1/2-vid-100] raw-vlan-id inbound 11
[SwitchB-Ethernet1/2-vid-100] quit
[SwitchB-Ethernet1/2] quit
[SwitchB] interface Ethernet 1/1
[SwitchB-Ethernet1/1] port link-type trunk
[SwitchB-Ethernet1/1] port trunk permit vlan 100
(4) Router的配置
# 创建并进入以太网子接口(如图所示为GigabitEthernet2/1/7.100),为其配置IP地址,指定所能终结的QinQ报文的VLAN范围。
<Router> system-view
[Router] interface GigabitEthernet2/1/7.100
[Router-GigabitEthernet2/1/7.100] ip address 1.1.1.11 255.255.255.0
[Router-GigabitEthernet2/1/7.100] second-dot1q 11
[Router-GigabitEthernet2/1/7.100] quit
[Router] interface GigabitEthernet 2/1/6
[Router-GigabitEthernet2/1/6] ip address 1.1.2.11 255.255.255.0
· Switch C的配置
Switch C用出厂配置即可。
如图1-7所示,Host A、Host B、Host C和Switch A相连,分别属于VLAN 11、VLAN12和VLAN 13;Server群和Switch C相连;Switch B上使能了QinQ功能。Host A、Host B、Host C需要与Server群互相通信。
图1-7 模糊的QinQ终结组网图
(1) Host A、Host B、Host C的配置
将Host A的IP地址指定为1.1.1.1/24,Host B的IP地址为1.1.1.2/24,Host C的IP地址为1.1.1.3/24,网关地址均指定为1.1.1.11/24。
(2) Switch A的配置
<SwitchA> system-view
[SwitchA] vlan 11
[SwitchA-vlan11] port Ethernet 1/1
[SwitchA-vlan11] quit
[SwitchA] vlan 12
[SwitchA-vlan12] port Ethernet 1/2
[SwitchA-vlan12] quit
[SwitchA] vlan 13
[SwitchA-vlan13] port Ethernet 1/3
[SwitchA-vlan13] quit
[SwitchA] interface Ethernet 1/7
[SwitchA-Ethernet1/7] port link-type trunk
[SwitchA-Ethernet1/7] port trunk permit vlan 11 to 13
Please wait... Done.
(3) Switch B的配置
<SwitchB> system-view
[SwitchB] interface Ethernet 1/2
[SwitchB-Ethernet1/2] port link-type trunk
[SwitchB-Ethernet1/2] port trunk permit vlan 11 to 13 100
Please wait... Done.
[SwitchB-Ethernet1/2] qinq enable
[SwitchB-Ethernet1/2] qinq vid 100
[SwitchB-Ethernet1/2-vid-100] raw-vlan-id inbound 11 to 13
[SwitchB-Ethernet1/2-vid-100] quit
[SwitchB-Ethernet1/2] quit
[SwitchB] interface Ethernet 1/1
[SwitchB-Ethernet1/1] port link-type trunk
[SwitchB-Ethernet1/1] port trunk permit vlan 100
(4) Router 的配置
# 创建并进入以太网子接口(如图所示为GigabitEthernet2/1/7.100),为其配置IP地址,当他收到内层VLAN ID为11、12或13,外层VLAN ID为100的QinQ报文时,对该报文进行终结处理。
<Router> system-view
[Router] interface GigabitEthernet2/1/7.100
[Router-GigabitEthernet2/1/7.100] ip address 1.1.1.11 255.255.255.0
[Router-GigabitEthernet2/1/7.100] second-dot1q 11 to 13
[Router-GigabitEthernet2/1/7.100] quit
[Router] interface GigabitEthernet 2/1/6
[Router-GigabitEthernet2/1/6] ip address 1.1.2.11 255.255.255.0
(5) Switch C的配置
Switch C采用出厂配置即可。
(6) Server group的配置
将Server group里所有设备的IP地址配置在1.1.2.0/24网段,网关地址指定为1.1.2.11/24即可。
· Provider A、Provider B作为运营商网络设备。
· DHCP client A和DHCP client B作为用户网络设备。
· Provider A作为DHCP中继,Provider B作为DHCP server。
· Provider A和Provider B之间通过三层接口连接。
希望配置完成后达到下列要求:
· DHCP中继接收到的客户端发送的报文包括两层Tag,在DHCP中继上实现QinQ终结,即去掉报文中的两层Tag后,通过运营商网络将报文转发给DHCP server。
· DHCP client A和DHCP client B可以经过运营商网络从DHCP server申请到IP地址和网络配置参数。
图1-8 QinQ终结支持DHCP中继组网图
(1) DHCP中继Provider A的配置
# 使能DHCP服务。
<ProviderA> system-view
[ProviderA] dhcp enable
# 创建DHCP服务器组。
[ProviderA] dhcp relay server-group 1 ip 10.2.1.1
# 创建路由子接口。
[ProviderA] interface GigabitEthernet2/1/7.100
# 配置子接口允许终结的内层VLAN范围为10和20。
[ProviderA-GigabitEthernet2/1/7.100] second-dot1q 10 20
# 配置子接口使能DHCP中继,并选择服务器组。
[ProviderA-GigabitEthernet2/1/7.100] dhcp select relay
[ProviderA-GigabitEthernet2/1/7.100] dhcp relay server-select 1
# 配置子接口的IP地址。
[ProviderA-GigabitEthernet2/1/7.100] ip address 192.168.1.1 24
# 配置子接口支持广播功能。
[ProviderA-GigabitEthernet2/1/7.100] vlan-termination broadcast enable
[ProviderA-GigabitEthernet2/1/7.100] quit
# 配置与DHCP服务器连接接口的IP地址。
[ProviderA] interface Serial 4/1/9/1:0
[ProviderA-Serial4/1/9/1:0] ip address 10.1.1.1 24
[ProviderA-Serial4/1/9/1:0] quit
# 配置到DHCP服务器的静态路由。
[ProviderA] ip route-static 10.2.1.1 24 10.1.1.1
(2) DHCP服务器Provider B的配置
# 配置DHCP服务器的IP地址。
<ProviderB> system-view
[ProviderB] interface Serial 4/1/9/1:0
[ProviderB-Serial4/1/9/1:0] ip address 10.2.1.1 24
[ProviderB-Serial4/1/9/1:0] quit
# 使能DHCP服务。
[ProviderB] dhcp enable
# 配置DHCP服务器地址池。
[ProviderB] dhcp server ip-pool 1
[ProviderB-dhcp-pool-1] network 192.168.1.0 24
[ProviderB-dhcp-pool-1] gateway-list 192.168.1.1
[ProviderB-dhcp-pool-1] quit
# 配置到DHCP中继路由子接口的静态路由。
[ProviderB] ip route-static 192.168.1.1 24 10.1.1.1
Switch端的配置请在实际组网使用时的交换机上进行配置,以下配置仅供参考,请以实际情况为准。
(3) Switch A的配置
# 配置QinQ上行口。
<SwitchA> system-view
[SwitchA] interface Ethernet 1/1
[SwitchA-Ethernet1/1] port link-type trunk
# 配置Trunk口,允许VLAN 100的报文通过。
[SwitchA-Ethernet1/1] port trunk permit vlan 100
[SwitchA-Ethernet1/1] quit
# 配置QinQ下行口Ethernet1/2。
[SwitchA] interface Ethernet 1/2
[SwitchA-Ethernet1/2] qinq enable
[SwitchA-Ethernet1/2] quit
# 配置QinQ下行口Ethernet1/3。
[SwitchA] interface Ethernet 1/3
[SwitchA-Ethernet1/3] qinq enable
[SwitchA-Ethernet1/3] quit
# 下行端口Ethernet1/2和Ethernet1/3加入VLAN 100。
[SwitchA] vlan 100
[SwitchA-vlan100] port Ethernet 1/2
[SwitchA-vlan100] port Ethernet 1/3
(4) Switch B的配置
# 端口Ethernet1/2加入VLAN 10。
<SwitchB> system-view
[SwitchB] vlan 10
[SwitchB-vlan10] port Ethernet 1/2
[SwitchB-vlan10] quit
# 配置端口Ethernet1/1为Trunk口,且允许VLAN 10的报文通过。
[SwitchB] interface Ethernet 1/1
[SwitchB-Ethernet1/1] port link-type trunk
[SwitchB-Ethernet1/1] port trunk permit vlan 10
(5) Switch C的配置
# 端口Ethernet1/2加入VLAN 20。
<SwitchC> system-view
[SwitchC] vlan 20
[SwitchC-vlan20] port Ethernet 1/2
[SwitchC-vlan20] quit
# 配置端口Ethernet1/1为Trunk口,且允许VLAN 20的报文通过。
[SwitchC] interface Ethernet 1/1
[SwitchC-Ethernet1/1] port link-type trunk
[SwitchC-Ethernet1/1] port trunk permit vlan 20
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!