09-VLAN终结配置
本章节下载: 09-VLAN终结配置 (338.29 KB)
目 录
· 本文中的“SPC单板”指的是单板丝印以“SPC”开头(如SPC-GT48L)的单板,“SPE单板”指的是单板丝印以“SPE”开头(如SPE-1020-E-II)的单板。
· 仅SPE单板支持VLAN终结功能。
VLAN终结的实质就是:
· 对收到的VLAN报文,去除VLAN tag后进行三层转发或其他处理。转发出去的报文是否带有tag由出接口决定。
· 对将发送的报文,将相应的VLAN信息添加到报文中再发送。
根据VLAN报文携带tag的层数可以将VLAN报文分为Dot1q报文(带有一层VLAN tag,即802.1q报文)和QinQ报文(带有两层VLAN tag)。相应的VLAN终结也分为两种:
· Dot1q终结:用来终结Dot1q报文。该方式在收到Dot1q报文时,会将报文里的VLAN tag去掉之后再继续处理。
· QinQ终结:用来终结QinQ报文。该方式在收到QinQ报文时,会将报文里的内、外层VLAN tag都去掉之后再继续处理。
· 当前设备只支持QinQ终结这种VLAN终结方式。
· 主接口本身不能处理VLAN报文,当它收到VLAN报文时,会转给相应的子接口处理,如果找不到相应的子接口,就会丢弃VLAN报文。
· 子接口只能接收VLAN报文,发送的也都是带VLAN tag的报文。
VLAN终结主要应用于以下情况:
(1) 不同VLAN间的互通
VLAN因为能够隔离用户二层报文在网络中得到了广泛的应用。它将一个物理的LAN在逻辑上划分成多个广播域(对应多个VLAN),VLAN内的主机可以直接互相通信,而VLAN间的主机二层不能互相通信。要实现不同VLAN之间报文的互通必须借用三层路由技术,目前应用VLAN终结特性实现VLAN间互通的有下面两种方法:
· 通过VLAN接口来实现,如图1-1所示;
· 通过三层以太网子接口来实现,如图1-2所示。
图中,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之间互通(三层以太网子接口)
(2) 用于实现局域网和广域网的互联。
局域网内的报文大多数都带有VLAN tag,但一些广域网协议并不识别VLAN报文,比如ATM、FR和PPP等,这种情况下,如果要局域网的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终结 |
必选 |
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报文来处理 |
为其它值(不等于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值配置一致,否则可能无法互通。
如果要在三层以太网子接口/三层聚合子接口上使用VLAN终结功能,可以使用以下配置步骤指定子接口接收和发送报文的外层TPID值。如果不指定的话,将使用缺省值0x8100。
表1-4 配置VLAN报文的TPID值
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
进入三层以太网接口视图 |
interface interface-type interface-number |
二者必选其一 在三层以太网接口视图下配置,会对该接口的所有子接口生效 在三层聚合接口视图下配置,会对该接口的所有三层聚合子接口生效 |
进入三层聚合接口视图 |
interface route-aggregation interface-number |
||
配置设备接收和发送报文外层VLAN Tag的TPID值(如果接口接收/发送的是QinQ报文,则报文内层VLAN Tag的TPID值始终为0x8100,不能配置) |
dot1q ethernet-type hex-value |
可选 缺省情况下,设备接收和发送的报文外层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报文,则报文内层VLAN Tag的TPID值始终为0x8100,不能配置) |
qinq ethernet-type [ service-tag ] hex-value |
可选 缺省情况下,设备接收和发送的报文外层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 |
||
配置允许当前子接口/VLAN接口发送广播、组播报文 |
vlan-termination broadcast enable |
可选 缺省情况下,配置了模糊的QinQ终结功能的三层以太网子接口/三层聚合子接口/VLAN接口不发送广播、组播报文 |
根据每个子接口所能终结的VLAN报文的VLAN ID范围的不同,QinQ终结又分为:
· 明确的QinQ终结:只能终结一种QinQ报文。能接收的QinQ报文的内、外层VLAN ID必须是指定值,其它QinQ报文则不允许通过该子接口;发送报文时,会给报文添加两层VLAN Tag,内、外层VLAN ID字段分别填上指定值。
· 模糊的QinQ终结:可以终结多种QinQ报文。能接收的QinQ报文的外层VLAN ID必须是指定值,内层VLAN ID只需要在指定的范围内,不属于该范围的VLAN报文则不允许通过该子接口;发送报文时,会给报文添加两层VLAN Tag,内、外层VLAN ID字段分别填上指定值,内层VLAN ID通过以下方式决定:对于IPv4/MPLS报文,通过查找ARP表项获取相应的VLAN ID;对于PPPoE报文,通过查找PPPoE会话表项获取相应的VLAN ID;对于DHCP Relay报文,通过查找DHCP会话表项获取相应的VLAN ID。
表1-7 为三层以太网子接口/三层聚合子接口/VLAN接口配置明确的QinQ终结
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
三层以太网子接口视图 |
interface interface-type interface-number.subnumber |
三者必选其一 |
三层聚合子接口视图 |
interface route-aggregation interface-number.subnumber |
||
VLAN接口视图 |
interface vlan-interface interface-number |
||
使能子接口/VLAN接口的QinQ终结功能,并指明子接口/VLAN接口可以终结的QinQ报文的内层VLAN ID值(外层VLAN ID等于接口的编号,不能配置) |
second-dot1q vlan-id |
必选 |
在VLAN接口上配置QinQ终结后,与该VLAN接口绑定的二层以太网接口只处理该VLAN接口的QinQ报文,当收到发给该VLAN接口的Dot1q报文,或者非VLAN报文时,都会直接丢弃。
表1-8 为三层以太网子接口/三层聚合子接口/VLAN接口配置模糊的QinQ终结
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
三层以太网子接口视图 |
interface interface-type interface-number.subnumber |
三者必选其一 |
三层聚合子接口视图 |
interface route-aggregation interface-number.subnumber |
||
VLAN接口视图 |
interface vlan-interface interface-number |
||
使能子接口/VLAN接口的QinQ终结功能,并指明子接口/VLAN接口可以终结的VLAN报文的内层VLAN ID值(外层VLAN ID等于接口的编号,不能配置) |
second-dot1q { any | vlan-id-list } |
必选 |
在VLAN接口上配置QinQ终结后,与该VLAN接口绑定的二层以太网接口只处理该VLAN接口的QinQ报文,当收到发给该VLAN接口的Dot1q报文,或者非VLAN报文时,都会直接丢弃。
仅SPE单板支持VLAN终结功能。
如图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
(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端的配置请在实际组网使用时的交换机上进行配置,以下配置仅供参考,请以实际情况为准。
· 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
· Switch B的配置
# 端口Ethernet1/2加入VLAN 20。
<SwitchB> system-view
[SwitchB] vlan 20
[SwitchB-vlan20] port Ethernet 1/2
[SwitchB-vlan20] quit
# 配置端口Ethernet1/1为Trunk口,且允许VLAN 20的报文通过。
[SwitchB] interface Ethernet 1/1
[SwitchB-Ethernet1/1] port link-type trunk
[SwitchB-Ethernet1/1] port trunk permit vlan 20
· Switch C的配置
# 端口Ethernet1/2加入VLAN 10。
<SwitchC> system-view
[SwitchC] vlan 10
[SwitchC-vlan10] port Ethernet 1/2
[SwitchC-vlan10] quit
# 配置端口Ethernet1/1为Trunk口,且允许VLAN 10的报文通过。
[SwitchC] interface Ethernet 1/1
[SwitchC-Ethernet1/1] port link-type trunk
[SwitchC-Ethernet1/1] port trunk permit vlan 10
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!