网络工程知识(二)VLAN的基础和配置:802.1q帧;Access、Trunk、Hybrid接口工作模式过程与配置;VLANIF的小实验

介绍-VLAN

VLAN(Virtual Local Area Network)即虚拟局域网,工作在数据链路层。

交换机将通过:接口、MAC、基于子网、协议划分(IPv4和IPv6)、基于策略的方式划分VLAN的方式,将接入的设备进行划分。

  • 目的:
    • VLAN 可以将同一个物理网络划分为多个逻辑网段,从而减小广播域,节约交换机性能,抑制网络风暴。
    • VLAN之间无法二层互通,可以隔离业务,增强网络安全性。

以太网报文

  • 在交换机中以太网(EtherNet)有untagtag两种报文。untag帧即终端可以识别的普通以太网帧。tag帧在源mac地址(SA)和帧负载(Frame Load)之间有一段4Byte的Tag字段。
 
特点
Ethernet帧 untag,一般指端设备可识别
802.1q帧 在Ethernet帧的基础上加上Tag字段,一般用于交换机之间

  图1.802.1q帧tag示意图

  • 这个Tag字段中主要内容是VLAN ID,保存着VLAN。
    • VLAN ID占用12bit,可以记录到4096个数字,去除全0和全1的情况,所以VLAN范围为1-4094
    • CFI占用1bit,0代表以太网,1代表令牌环网(Token Ring)。

PIVD和三种vlan接口工作模式

因为tag的存在,交换机可以识别选择性处理数据帧,但是终端设备是无法正常的识别tag,所以交换机需要为出入端口的数据帧进行处理。

可以这样理解,交换机之间使用含tag的语言交流,终端只懂untag语言,所以需要端口承担不同的工作模式。

PVID

PVID(Port Default VLAN ID)指的是端口缺省VLAN(端口默认VLAN ID),在实际上配置中,我们实际上是给端口配置pvid,pvid可以理解就是这个接口要处理端口的一个参数,在处理报文时候需要使用。

ps:这里的收发是站在交换机的角度出发,即入接口为交换机收,同理出接口为交换机发。发的时候交换机不会检查是否是tag帧还是untag帧,因为从交换机cpu处理过的都是tag帧。

ps:一下简化一下,untag帧即为标准的以太网帧,tag帧为带有vlan的802.1q帧。

Access接口:

  • 用于交换机连接终端设备,在配置交换机的时候只需要配置port default vlan id即pvid,用于生成vlan id为tag的,不涉及allowed list和tag list、untag list。
  • 收:
    • untag帧,打上端口pvid后接收;
    • tag帧(话说应该是接错了到交换机),看vlan id是否等于pvid,相同则接受,不相同就丢弃
  • 发:
    • 将帧中tag字段剔除后发送。
[alittlemcSW]interface GigabitEthernet 0/0/1
[alittlemcSW-GigabitEthernet0/0/1]port link-type access
[alittlemcSW-GigabitEthernet0/0/1]port default vlan 10

Trunk接口:

  • 用于交换机之间的级联。trunk可以设置多个可以通过的vlan id或范围,即allow-pass list。
  • 收:
    • untag帧,打上pvid,后转发;
    • tag帧,判断vlan id是否是为allow-pass list中允许的vlan id,允许则接收,否则丢弃。
  • 发(必是tag帧):
    • 比较帧vlan id和端口pvid是否相同,相同则去掉tag发送,不相同直接发送。
[alittlemcSW]interface GigabitEthernet 0/0/2
[alittlemcSW-GigabitEthernet0/0/2]port link-type trunk
[alittlemcSW-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[alittlemcSW-GigabitEthernet0/0/2]port trunk pvid vlan 10  

 

Hybrid接口:

注意,Hybrid为华为专有的接口,所以思科锐捷这些是没有的哦,而且默认华为交换机就默认使用此模式。

  • 兼容了access和trunk的特点,接在交换机或终端均可。
  • 收(其实是和Trunk的接收操作是一样的):
    • untag帧,打上pvid,后转发;
    • tag帧,判断vlan id是否是为tag list(和trunk中allow-pass list效果一致)中允许的vlan id,允许则接收,否则丢弃。
  • 发(在hybrid中有tagged list和untagged list):
    • 检查tag帧中的vlan id,属于tag list,直接转发;属于untag list中则剔除tag帧的tag后变为untag帧转发。
[alittlemcSW]interface GigabitEthernet0/0/3
[alittlemcSW-GigabitEthernet0/0/3]port hybrid pvid vlan 10
[alittlemcSW-GigabitEthernet0/0/3]port hybrid tagged vlan 20 30 #允许带vlan20 30的tag直接通过,对应trunk模式
[alittlemcSW-GigabitEthernet0/0/3]port hybrid untagged vlan 10 100 200 #发送时将vlan10 100 200的tag字段剔除,对应access模式
  • hybrid和trunk模式其实很相似,在收时候一致。在发时候,因为pvid只有一个,hybrid允许untagged list中多个vlan id帧直接剔除tag发送,而trunk只会对和pvid相同的vlan id帧剔除tag发送。

VLAN IF

vlan if是交换机虚拟出来的三层接口,可以设置ip,每一个vlan对应一个vlan if,主要用作为vlan网关。我们需要通过网络层的路由从而实现不同之间vlan之间数据互访。 同时也可以实现同vlan不同子网的互访。

众所周知,不同vlan可以使用网络层来实现通信,不同网段使用网关的路由来通信。基于此,我整理了两个实验。

使用vlanif IP作为用户网关的情况下都可以实现不同子网、不同VLAN通信。

同vlan不同子网通讯

vlanif甚至可以和路由器ip一样很方便的使用:同VLAN下不同网段之间路由,比如某个项目由不同公司负责,一期项目使用了10.10.10.0/24网段、二期使用10.10.20.0/24网段。

图2.拓扑1

#将1,2,3端口都划分到vlan10 access
[alittlemcSW]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/3
[alittlemcSW-port-group]port link-type access
[alittlemcSW-port-group]port default vlan 10

直接设置vlanif sub

[alittlemcSW]interface vlanif 10
[alittlemcSW-Vlanif10]ip address 10.10.10.254 24
[alittlemcSW-Vlanif10]ip adderss 10.10.20.254 24 sub
[alittlemcSW-Vlanif10]ip adderss 10.10.31.254 22 sub

不同VLAN通信子网使用

基于上次的实验微调了一下,不同vlan之间的通信的原理也包含其中啦,只要配置了vlanif,vlanif都在本机内可以直同路由。

图3.拓扑2

直接上配置。

#
interface Vlanif10
 ip address 10.10.10.254 255.255.255.0
 ip address 10.10.31.254 255.255.252.0 sub
#
interface Vlanif20
 ip address 10.10.20.254 255.255.255.0
#
interface GigabitEthernet0/0/1
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 20
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 10
#

如果是不同的交换机之间,配置是一样的,只不过要注意配置静态路由即可。

其他

QinQ

QinQ(802.1Q in 802.1Q)也被称之为VLAN Stacking或Double VLAN。(详细可见什么是QinQ? 为什么需要QinQ? - 华为 (huawei.com)

我们的802.1q帧多了4Byte用于存放Tag,其中VLAN ID占用12bit,即vlan id的范围1到4064。但是某些情况下一个需要大量的vlan就可能不够用,QinQ在以太网帧中插入了两段tag信息,即可以实现存储4064x4064个vlan的效果。

图4.QinQ

 

 

更新日志

  • 2022年10月21日19:22:40
    • 完成了vlan的介绍、三种接口模式、vlanif的应用
    • 预告-后面会更新vlan的划分->接口、MAC、基于子网、协议划分(IPv4和IPv6)、基于策略的方式划分VLAN的方式
  • 2022年10月21日20:03:20
    • 修改了代码块的语法高亮
posted @ 2022-10-21 19:29  alittlemc  阅读(837)  评论(1编辑  收藏  举报