vlan

一. 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。

 

1. 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抓包:

 

2. 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时,去掉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时,发送该报文。可以通过命令设置发送时(发送给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的信息。

1. 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-送到私网的时候去掉外层标签

 

posted @ 2019-10-11 00:02  SR丶  阅读(915)  评论(0编辑  收藏  举报