一.tag:
VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点: 网络设备的移动、添加和修改的管理开销减少;可以控制广播活动。
传统的数据包转发,交换机查看数包的mac地址,根据mac地址表转发。在配置了Vlan的以太网环境中,当交换机从pc处接收了一个原始的数据包,会在源MAC地址与type字段汇中插入4Byte的802.1Q字段用来标识Vlan-tag。
- 802.1Q报文:
① Tag Protocol:2字节,tag标签规范,用来定义tag标签标准,华为默认使用0x8100
② User Priority:3bit,用户优先级,用来表明数据包优先级值,QOS使用
③ CFI:1bit,规范格式指示,0表示规范格式,应用于以太网;1表示非规范格式,应用于Token Ring(令牌环网)
④ Vlan ID: Vlan tag标识号,12bit,可以标识0-4095的Vlan id
802.1Q抓包:
- Vlan有效值:
在802.1Q报文中,使用12bit可以标识4096个Vlan-id,其中:
①Vlan0:当接口启用了Eth-Trunk,则此接口属于Vlan0
②Vlan1:缺省Vlan,默认所有端口位于此Vlan中
③Vlan4095:全FFF位,作为预留值
④Vlan2—4094:可用作Vlan-id
二.Vlan端口:
在Vlan划分中,可以将端口划分为三种方式,分别为access接入端口;trunk中继端口;hybrid混合端口。不同的端口处理数据各不相同。
接口类型 对接收到不带tag的报文处理 对接收到带tag的报文处理 发送帧处理过程
Access接口 接收该报文,并打上缺省Vlan的tag 当Vlan-ID与缺
省报文缺省Vlan-ID相同时,接收该报
文
当Vlan-ID与缺省Vlan-ID不同时,丢弃该报文 送出交换机时,剥离帧
的PVID tag,然后在发送
送入交换机,携带PVID tag
Trunk端口 打上缺省的Vlan-ID,当缺省Vlan-ID在允许通过的Vlan-ID列表时,接收该报文;
打上缺省的Vlan—ID,当缺省Vlan-ID不再允许通过的Vlan—ID列表里时,丢弃该报文 当Vlan-ID在接口允许接收通过的Vlan-ID列表里时,接收该报文
当Vlan-ID在接口允许接收通过的Vlan-ID列表里时,接收该报文 当Vlan-ID与缺省Vlan-ID相同,且是该接口允许通过的Vlan-ID时,去掉Tag,
发送报文
当Vlan-ID与缺省Vlan-ID不同,且是该接口允许通过的Vlan-ID时,保持原有
的tag,发送报文
当Vlan-ID与缺省Vlan-ID不同,且是该接口不允许通过的Vlan-ID时,丢弃报
文
Hybrid接口 打上缺省的Vlan-ID,当缺省Vlan-ID在允许通过的Vlan-ID列表时,接收该报文;
打上缺省的Vlan—ID,当缺省Vlan-ID不再允许通过的Vlan—ID列表里时,丢弃该报文 当Vlan-ID在接口允许接收通过的Vlan-ID列表里时,接收该报文;
当Vlan-ID在接口允许接收通过的Vlan-ID列表里时,接收该报文 当Vlan-ID是该接口允许通过的Vlan-ID时,发送该报文。可以通过命令设置发送时(发送给PC时
为Untage)
是否携带tag
三. 本征Vlan:
本征Vlan,是指交换机与交换机之间的trunk端口或Hybrid端口配置相同的缺省Vlan,当trunk端口接收到一个从access接口发送过来的数据包,并且access的Vlan id和trunk端口的缺省Vlan一致时,会直接发送数据包,当对端收到一个没有tag的数据包,会打上端口缺省的tag送往端口,提高了效率,默认缺省Vlan为1,使用命令port trunk pvid Vlan xx修改。
抓包:
四. VLAN的划分类型:
VLAN可以基于多种方式划分:
① 基于接口
② 基于MAC
③ 基于IP
④ 基于协议
⑤ 基于策略
(1)基于接口:
基于接口是目前最广泛的方式,配置省略。
(2)基于MAC:
VLAN可以基于客户端的MAC地址进行划分,当接收到一个没有TAG的数据包,交换机会查看源MAC地址表,根据源MAC地址表打上相应的tag。
配置命令:
配置命令:
将LSW1和LSW2的G0/0/1端口设置为trunk,允许Vlan10和Vlan20通过
LSW1:
[Huawei]Vlan 10
[Huawei-Vlan10]mac-Vlan mac-address 0000-0000-0001
[Huawei]Vlan 20
[Huawei-Vlan20]mac-Vlan mac-address 0000-0000-0002
[Huawei]inter g0/0/2
[Huawei-GigabitEthernet0/0/2]mac-Vlan enable
[Huawei-GigabitEthernet0/0/2]port hybrid untagged Vlan 10–不打标签出去(由
于mac-Vlan只会对不打标签的数据包进行打标,所以不配置PVID)
[Huawei]inter g0/0/3
[Huawei-GigabitEthernet0/0/3]mac-Vlan enable
[Huawei-GigabitEthernet0/0/3]port hybrid untagged Vlan 20
根据发送数据包的源MAC地址封装标签,当收到一个数据包时,查看tag,如果tag和映射表中去往mac的tag相同,删除标签,发送给主机,如果不同,直接丢弃。
(3)基于IP:
VLAN可以基于客户端的MAC地址进行划分,当接收到一个没有TAG的数据包,交换机会查看源IP地址,根据源IP地址打上相应的tag。
配置命令:
LSW5:
[Huawei]Vlan 10
[Huawei-Vlan10]ip-subnet-Vlan ip 192.168.1.0 24
[Huawei]Vlan 20
[Huawei-Vlan20]ip-subnet-Vlan ip 192.168.2.0 24
[Huawei]inter g0/0/2
[Huawei-GigabitEthernet0/0/2]port hybrid untagged Vlan 10
[Huawei-port-group]ip-subnet-Vlan enable
[Huawei]inter g0/0/3
[Huawei-GigabitEthernet0/0/3]port hybrid untagged Vlan 20
[Huawei-port-group]ip-subnet-Vlan enable
(4)基于协议:
可以基于IPX协议、IP协议,IP版本等类型对数据包进行划分:
配置命令:
[Huawei]Vlan 10
[Huawei-Vlan10]protocol-Vlan ipx ethernetii
[Huawei]Vlan 20
[Huawei-Vlan20]protocol-Vlan ipv4
[Huawei]port-group group-member g0/0/2 g0/0/3 [Huawei-GigabitEthernet0/0/3]port hybrid untagged Vlan all
[Huawei-port-group] [Huawei-GigabitEthernet0/0/1]protocol-Vlan Vlan 10 all(此接口流入进来的流量只能与Vlan10中的规则进行匹配)
(5)基于策略:
Vlan的划分可以基于策略进行划分,定义一系列的策略,符合策略便属于同一Vlan。
策略内容:
① mac地址(必选)
② IP地址(必选)
③ 接口ID
④ 优先级
[Huawei]Vlan 10
[Huawei-Vlan10]policy-Vlan mac-address 0001-0001-0001 ip 192.168.1.1 interface g0/0/1 priority 1
[Huawei]Vlan 20
[Huawei-Vlan10]policy-Vlan mac-address 0002-0002-0002 ip 192.168.1.2 interface g0/0/2 priority 2
[Huawei]port-group group-member g0/0/2 g0/0/3 [Huawei-GigabitEthernet0/0/3]port hybrid untagged Vlan all
[Huawei-GigabitEthernet0/0/1]protocol-Vlan Vlan 10 all—将端口与Vlan10进行关联(此接口流入进来的流量只能与Vlan10中的规则进行匹配)
五. VLAN间路由:
部署了VLAN的传统交换机不能实现不同VLAN间的二层报文转发,因此必须引入路由技术来实现不同VLAN间的通信。VLAN路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现。
1.单臂路由:
将交换机和路由器之间的链路配置为Trunk链路,并且在路由器上创建子接口以支持VLAN路由,当不同Vlan通信,通过SWA的Trunk接口送往路由器子接口到达RTA走网关,通过三口去往不同网段。
单臂路由配置:
① SWA的上连接口配置Trunk放行Vlan
② RTA配置单臂路由:
[Huawei]inter g0/0/0.2
[Huawei-GigabitEthernet0/0/0.2]dot1q termination vid 2—封装dot1Q PVID为2
[Huawei-GigabitEthernet0/0/0.2]ip add 192.168.2.1 24—配置子接口IP
[Huawei-GigabitEthernet0/0/0.2]arp broadcast enable—开启ARP广播功能
2.VLANIF:
使用三层交换机为每个VLAN创建一个VLANIF接口作为网关。
[Huawei]Vlan 10—创建Vlan10
[Huawei-Vlan10]inter Vlan 10----启用Vlanif并进入Vlanif端口
[Huawei-Vlanif10]ip add 192.168.1.1 24—配置IP
六. Super VLAN:
超级VLAN,通常一个Vlan属于一个网段,两个不同的Vlan存在于两个不同的IP中,如果两个Vlan属于同一个IP网段中,在配置各自的Vlanif时,会导致三层IP地址冲突。为了节省IP资源,可以将两个Vlan放入同一个网段中,防止IP地址冲突,可以使用Super Vlan技术。
Super Vlan配置分为两中Vlan:
① Super Vlan:父Vlan,包含属于通往的所有子Vlan,并配置Vlanif解决多个子Vlanif冲突问题。
② Sub Vlan:子Vlan,所有同网段的子Vlan都属于同一个父Vlan。
Super VLAN配置:
[Huawei]Vlan 10
[Huawei-Vlan10]aggregate-Vlan
[Huawei-Vlan10]access-Vlan 20 30 40
[Huawei]inter Vlan 10
[Huawei-Vlanif10]ip add 192.168.1.1 24
已划入Vlan10中。
注:配置Vlan间ARP代理实现子Vlan互通:
不同的子Vlan间二层ARP广播会被隔离,所以可以通过三层实现互相通信,但是由于ARP广播被隔离,子Vlan中的PC无法封装数据包的目标mac地址,无法发送数据包,所以可以使用Vlan间的代理arp进行arp回复。
命令如下:
[Huawei]inter Vlan 10
[Huawei-Vlanif10]arp-proxy inter-sub-Vlan-proxy enable
Vlan 63 父
Ip add 172.29.63.1 24
Vlan 75
Ip add 172.29.75.1
七. Mux VLAN:
Mux VLAN提供了灵活多样的Vlan间通信方式和Vlan内通信方式,可以灵活的部署网络。
MUX Vlan主要有两种VLAN类型:
① Principal VLAN 主Vlan
② Subordinate VLAN 从Vlan
(1)Mux Vlan分类:
① Principal VLAN:
主VLAN,一般用于连接服务器,主Vlan可以与所有的从Vlan通信。从Vlan之间无法互访,二层隔离,此时如果主Vlan下存在接口连接路由器,此时可以在路由器上开启ARP代理,此时从Vlan可以实现互通
注:主Vlan不能启用Vlanif
② Subordinate VLAN:
从VLAN,主要用于连接客户,从Vlan又分为两种类型:
① group互通型
② separate隔离型
a)group:
互通型,从Vlan为此类型时,处于Vlan下的用户可以互访。
b)separate:
隔离型,从Vlan为此类型时,处于Vlan下的用户将会被隔离,无法实现可以互访。
注:separate vlan只能配置一个
Mux Vlan配置:
[Huawei-Vlan10]mux-Vlan
[Huawei-Vlan10]subordinate group 3
[Huawei-Vlan10]subordinate separate 2
[Huawei]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/5
[Huawei-port-group]port mux-Vlan enable
(2)Mux-VLAN互通:
① ARP-Proxy实现从Vlan间通信:
由于主Vlan不能启用Vlanif功能,所以只能连接上联设备启用ARP代理,由于是同IP网段内,所以要在接口上启用Vlan内的代理ARP功能,路由器不支持此功能,所以只能上游设备接入交换机
配置:
① 将vlan10设置为Mux-Vlan,vlan20,30设为从vlan
② 接口划入vlan中并启用mux-vlan功能
③ 在LSW2上创建vlan10并启用vlanif功能,接口配置IP并启用vlan内的ARP代理
[Huawei-Vlanif10]arp-proxy inner-sub-vlan-proxy enable
② 静态ARP实现互通:
主VLAN接口上联路由器,在从VLAN域中的PC1上配置静态ARP,去往对端从VLAN的MAC地址直接使用静态ARP进行解析,数据包送给路由器,路由器根据二层MAC地址进行解析传递给PC2
八. GVRP:
GVRP(GARP VLAN Registration Protocol),中文名为GARP VLAN注册协议,是GARP的一种应用,用于注册和注销VLAN属性。使得交换机之间能够相互交换VLAN配置信息,动态创建和管理VLAN。用户只需要对少数交换机进行VLAN的配置即可动态的传播VLAN的信息。
- GVRP注册原理:
① GVRP配置Vlan只在所有连接PC的交换机上静态创建Vlan即可。
② Trunk端口允许所有Vlan通过(允许哪些Vlan真实通过主要看GVRP注册过哪些Vlan)
③ 当所有交换机的Trunk口配置了GVRP注册模式后,此时静态配置过VLAN的交换机会沿Trunk端口将静态创建的Vlan注册给其它骨干区域的交换机。
④ 接收到GVRP注册信息的骨干交换机会动态的创建VLAN,并允许Trunk端口通过GVRP注册的Vlan。
⑤ 双方两端注册完毕后,形成双向注册,所有的交换机都存在GVRP注册的Vlan,所有交换机的Trunk端口都允许通过GVRP注册的Vlan。
2. GVRP注册模式:
GVRP有3种注册模式,不用的模式对静态VLAN和动态VLAN的处理方式也不同。
① Normal模式
② Fixed模式
③ Forbidden模式
(1)Normal模式:
允许该接口动态注册、注销VLAN,传播动态VLAN以及静态VLAN信息,默认为此模式。
配置命令:
[Huawei]gvrp--------------全局模式下开启gvrp
[Huawei]inter g0/0/1 -------进入所有的trunk端口
[Huawei-GigabitEthernet0/0/1]gvrp----开启端口gvrp功能
(2)Fixed模式:
不允许该接口动态注册、注销VLAN,传播动态VLAN已经静态VLAN信息。
配置命令:
[Huawei-GigabitEthernet0/0/1]gvrp registration fixed----将该端口配置为fixed模式
(3)Forbidden模式:
禁止该接口动态注册、注销VLAN,不传播任何除VLAN1以外的任何VLAN信息,即被设置成为该模式下的Trunk接口,即使允许所有VLAN通过,实际通过的VLAN也只能是VLAN1。
[Huawei-GigabitEthernet0/0/1]gvrp registration forbidden—将该接口配置forbidden模式
九. VLAN mapping:
配置在Trunk接口上,将原数据包中的tag改为指定的tag进行传输。
LSW1:
[Huawei-GigabitEthernet0/0/1]qinq Vlan-translation enable
[Huawei-GigabitEthernet0/0/1]port Vlan-mapping Vlan 10 map-Vlan 20
LSW2:
[Huawei-GigabitEthernet0/0/1]qinq Vlan-translation enable
[Huawei-GigabitEthernet0/0/1]port Vlan-mapping Vlan 20 map-Vlan 10
十. QinQ:
QinQ技术主要用于运营商,二层VPN技术,在二层网络平面中,运营商可以使用QinQ技术对用户数据进行转发,将接口发送过来的二层数据帧的8021Q数据前再次封装一层TAG包头,并使用外部包头在ISP交换设备上进行传递。
QinQ分为三种:
① 基本QinQ
② 灵活QinQ
③ 基于流的QinQ
(1)基本QinQ:
基本QinQ是基于端口的QinQ,当从一个端口过来的流量全部加上同一个tag
配置:
LSW10:
[Huawei]Vlan 99------------------创建Vlan99
[Huawei]inter g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass Vlan 99
[Huawei]inter g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type dot1q-tunnel–将G0/0/2设置为QinqQ
[Huawei-GigabitEthernet0/0/2]port default Vlan 99-------最外层达标Vlan99
LSW11:
[Huawei]Vlan 99------------------创建Vlan99
[Huawei]inter g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass Vlan 99
[Huawei]inter g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type dot1q-tunnel
[Huawei-GigabitEthernet0/0/2]port default Vlan 99
(2)灵活QinQ:
一个端口可以收到很多的Vlan-tag,根据tag标识在外面再打一层对应的tag
[Huawei]Vlan batch 99 100
[Huawei]inter g0/0/2
[Huawei-GigabitEthernet0/0/2]port Vlan-stacking Vlan 10 stack-Vlan 99–如果接收到为Vlan10的tag,在外面打上Vlan99的tag
[Huawei-GigabitEthernet0/0/2]port Vlan-stacking Vlan 20 stack-Vlan 100–如果接收到Vlan20的tag,在外面打上Vlan100的tag
[Huawei-GigabitEthernet0/0/2]port link-type hybrid
[Huawei-GigabitEthernet0/0/2]port hybrid untagged Vlan 99 100-送到私网的时候去掉外层标签
(3)基于流的QinQ:
使用traffic-policy进行配置。