6

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

 1 year ago
source link: https://www.cnblogs.com/alittlemc/p/16760556.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

介绍-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字段,一般用于交换机之间
2928139-20221020174528601-514023438.png

  图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(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网段。

2928139-20221021181234716-1035004439.png

图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都在本机内可以直同路由。

2928139-20221021185125583-1060631286.png

图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(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的效果。

2928139-20221021173926986-756410711.png

图4.QinQ

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK