数据链路层-第十一节:虚拟局域网VLAN概述和实现机制

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据链路层-第十一节:虚拟局域网VLAN概述和实现机制相关的知识,希望对你有一定的参考价值。

文章目录

本节对应视频如下

一:VLAN概述

(1)分割广播域

分割广播域:以太网交换机工作在数据链路层(也包括物理层),使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于同一个广播域。随着交换式以太网规模的扩大,广播域相应扩大。巨大的广播域会带来很多弊端

  • 广播风暴:广播风暴会浪费网络资源和各主机的CPU资源
  • 难以管理和维护
  • 潜在的安全问题

事实上,网络中会频繁出现广播信息

  • TCP/IP协议栈中的很多协议都会使用广播
    • 地址解析协议ARP :已知IP地址,找出其相应的MAC地址
    • 路由信息协议RIP :一种小型的内部路由协议
    • 动态主机配置协议DHCP :用于自动配置IP地址
  • NetBEUI:Widnows下使用的广播型协议
  • IPX/SPX: Novell网络的协议栈
  • Apple Talk:Apple公司的网络协议栈

分割广播域的方法

  • 使用路由器隔离广播域 路由器工作网络层,在默认情况下不会对广播数据包进行转发,因此路由器很自然的可以用来隔离广播域;但是路由器成本较高,所以局域网内部全部使用路由器来隔离广播域是不显示的

  • 虚拟局域网技术VLAN应运而生 下面介绍

(2)虚拟局域网VLAN

虚拟局域网VLAN(Virtual Local Area Network):是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求

如下图所示,一、二、三楼分别有一个局域网,可将它们通过另外一个交换机互连成一个更大的局域网,那么原来每一个局域网就成为现在这个局域网的一个网段。网络中的各主机属于同一个广播域,某个主机发送的广播数据包,其他所有数据都可以收到

根据应用需求,我们将该局域网划分为两个VLAN:VLAN1和VLAN2,此后VLAN1中的广播数据包不会送到VLAN2、VLAN2中的广播数据包也不会送到VLAN1。也就是说,同一个VLAN内部可以通信,不同VLAN之间不能通信

二:VLAN实现机制

VLAN实现机制:要想实现VLAN,则要求交换机能够实现以下两大功能

  • 能够处理带有VLAN标记的帧(IEEE802.1Q帧)
  • 交换机各端口可以支持不同的端口类型

(1)IEEE802.1Q帧

IEEE802.1Q帧:也称之为Dot One Q帧,它对以太网的MAC帧进行了扩展,插入了4字节的VLAN标记

  • 如下图分别是以太网V2的MAC帧(最大长度为1518字节)和插入VLAN标记后的802.1Q帧(最大长度1522字节)

VLAN标记的最后12比特称之为VLAN标识符VID,它唯一地标识了以太网帧属于哪一个VLAN

  • VID取值范围是0~4095
  • 其中0和4095都不用来表示VLAN,因此VLAN有效取值范围是1~4094

需要注意的是,802.1Q帧是由交换机来处理的,而不是用户主机来处理的

  • 打标签:当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧
  • 去标签:当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧

(2)交换机端口类型

交换机端口类型:有以下三种

  • Access
  • Trunk
  • Hybrid(思科交换机没有此端口)

交换机各端口的缺省VLAN ID

  • 在思科交换机. 上称为Native VLAN,即本征VLAN
  • 在华为交换机上称为Port VLAN ID,即端口VLAN ID,简记为PVID(下面使用PVID进行描述)

A:Access端口

①:概述

Access端口:Access端口一般用于连接用户计算机,只能属于一个VLAN,其PVID值与端口所属VLAN的ID相同(默认为1)

  • Access端口接收处理方法:一般只接受“未打标签”的普通以太网MAC帧。根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。如下图
  • Access端口发送处理方法:若帧中的VID与端口的PVID相等,则“去标签”并转发该帧,否则不转发。如下图

②:应用举例

如下图,我们的应用需求是将主机A和主机B划归到VLAN2、将主机C和主机D划归到VLAN3,这样VLAN2中的广播帧不会传送到VLAN3、VLAN3中的广播帧也不会传送到VLAN2。为实现这样的需求,可以在交换机上创建VLAN2和VLAN3,然后

  • 将端口1和2划归到VLAN2,也即端口1和2的PVID取值为2
  • 将端口3和4划归到VLAN3,也即端口3和4的PVID取值为3

我们来看一下主机A发送广播帧时的情况

  • 该帧从交换机的端口1进入交换机,由于端口1的类型是Access,所以会对接收到未打标签的普通以太网MAC帧打标签,也即插入4字节的VLAN标记字段

  • 由于端口1的PVID值为2,因此所插入的4字节VLAN标记字段中的VID值也等于2

  • 广播帧中的VID取值与端口2的PVID取值都等于2,因此,交换机会从端口2对帧进行去标签转发

我们来看一下主机C发送广播帧时的情况

  • 该帧从交换机的端口3进入交换机,由于端口3的类型是Access,所以会对接收到未打标签的普通以太网MAC帧打标签,也即插入4字节的VLAN标记字段

  • 由于端口3的PVID值为3,因此所插入的4字节VLAN标记字段中的VID值也等于3

  • 广播帧中的VID取值与端口4的PVID取值都等于3,因此,交换机会从端口4对帧进行去标签转发

B:Trunk端口

①:概述

Trunk端口:一般用于交换机之间路由器之间的互连。它可以属于多个VLAN,也就是说Trunk端口可以接收和发送多个VLAN的帧。用户可以设置Trunk端口的PVID值,默认情况下,Trunk端口的PVID取值为1

  • Trunk端口发送处理方法
    • 对VID等于PVID的帧:“去标签” 再转发
    • 对VID不等于PVID的帧:直接转发
  • Trunk端口接收处理方法
    • 接收未打标签的帧:根据接收帧的端口的PVID给帧打标签,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等
    • 接收已打标签的帧

②:应用举例

如下图所示,两台交换机互连而成了一个交换式以太网,我们的应用需求是将主机A、B、E和F划归到VLAN1、将主机C、D、G和H划归到VLAN2

  • 在两个交换机上创建VLAN2,并将它们的端口3和4都划归到VLAN2,其相应的PVID值等于2,两个交换机端口1和2保持默认配置即可
  • 两个交换机互连的端口5,需要将其类型更改为Trunk类型,PVID保持默认的1

我们来看一下主机A发送广播帧时的情况

  • 该帧从交换机的端口1进入了交换机,由于端口1的类型是Access,所以会对接收到未打标签的普通以太网MAC帧打标签,也即插入4字节的VLAN标记字段

  • 由于端口1的PVID值为1,因此所插入的4字节VLAN标记字段中的VID值也等于1

  • 该广播帧中VID的取值与端口2的PVID取值相等,都等于1

  • 端口2的类型是Access,因此,交换机1会从端口2对帧进行去标签转发

  • 该广播帧中VID的取值与端口5的PVID取值相等,都等于1

  • 端口5的类型是Trunk,因此,交换机1会从端口5对帧进行去标签转发

  • 很显然,该广播帧会从交换机2的端口5进入交换机

  • 交换机2会对接收到的未打标签的普通以太网MAC帧打标签,也即插入4字节的VLAN标记字段

  • 由于端口5的PVID值等于1,因此所插入的4字节VLAN标记字段中的VID值也等于1

  • 该广播帧中VID的取值与端口1和2的PVID取值相等,都等于1

  • 端口1和2的类型是Access,因此交换机2会从端口1和2对帧进行去标签转发

我们来看一下主机C发送广播帧时的情况

  • 该帧从交换机的端口3进入了交换机,由于端口3的类型是Access,所以会对接收到未打标签的普通以太网MAC帧打标签,也即插入4字节的VLAN标记字段

  • 由于端口3的PVID值为2,因此所插入的4字节VLAN标记字段中的VID值也等于2

  • 该广播帧中VID的取值与端口4的PVID取值相等,都等于2

  • 端口4的类型是Access,因此,交换机1会从端口4对帧进行去标签转发

  • 该广播帧中VID的取值与端口5的PVID取值不相等,所以会直接转发

  • 很显然,该广播帧会从交换机2的端口5进入交换机

  • Trunk端口接收已打标签的802.11Q帧

  • 该广播帧中VID的取值与端口3和4的PVID取值相等,都等于2

  • 端口3和4的类型是Access,因此交换机2会从端口3和4对帧进行去标签转发

C:Hybrid端口

Hybrid端口:Hybrid端口既可以用于交换机之间或交换机与路由器之间的互连(与Trunk端口相同),也可以用于交换机与用户计算机之间的互连(与Access端口相同),除此之外,Hybrid端口的绝大部分功能与Trunk端口相同,不同在于Hybrid端口的发送处理方法。Hybrid端口会查看帧的VID是否在端口的去标签列表中

  • 若存在:则去标签后再转发
  • 若不存在:则直接转发

如下图,主机A、B、C连接在同一个交换机的不同接口上。利用Hybrid端口的功能实现“A和B都能与C相互通信,但A与B不能相互通信”。我们可以将这三台主机所连接的交换机的三个端口划分到不同VLAN,并且端口类型设置为Hybrid,假设这三个VLAN分别是VLAN10、VLAN20和VLAN30,PVID分别是10、20和30

  • 在端口1的去标签列表中配置VLAN10和VLAN30
  • 在端口2的去标签列表中配置VLAN20和VLAN30
  • 在端口3的去标签列表中配置VLAN10、VLAN20和VLAN30

主机A给C发送数据帧

  • 该帧从交换机的端口1进入交换机

  • 由于端口1的类型为Hybrid,它会对接受到的未打标签的普通以太网MAC帧打标签,也即插入4字节VLAN标记字段

  • 由于端口1的PVID值为10,所以插入的4字节的VLAN标记字段中VID取值也应该是10

  • 该帧将从端口3转发

  • 由于帧中的VID取值在端口3的去标签列表中,因此该帧被去标签转发

  • 这样主机C就可以收到主机A发送的数据帧

主机B给C发送数据帧

  • 该帧从交换机的端口2进入交换机
  • 由于端口2的类型为Hybrid,它会对接受到的未打标签的普通以太网MAC帧打标签,也即插入4字节VLAN标记字段
  • 由于端口2的PVID值为20,所以插入的4字节的VLAN标记字段中VID取值也应该是20
  • 该帧将从端口3转发
  • 由于帧中的VID取值在端口3的去标签列表中,因此该帧被去标签转发
  • 这样主机C就可以收到主机B发送的数据帧

主机A给B发送数据帧

  • 该帧从交换机的端口1进入交换机

  • 由于端口1的类型为Hybrid,它会对接受到的未打标签的普通以太网MAC帧打标签,也即插入4字节VLAN标记字段

  • 由于端口1的PVID值为10,所以插入的4字节的VLAN标记字段中VID取值也应该是10

  • 该帧将从端口2转发

  • 由于帧中VID取值不在端口2的去标签列表中,则直接转发

  • 这样主机B就会收到一个带有标记的802.1Q帧,但主机B无法识别这种帧,只能选择丢弃

以上是关于数据链路层-第十一节:虚拟局域网VLAN概述和实现机制的主要内容,如果未能解决你的问题,请参考以下文章

4.29第十周第一节

计算机网络—— 数据链路层(1011):以太网交换机的生成树协议STP虚拟局域网

计算机网络——数据链路层(虚拟局域网(VLAN))

OSI参考模型之数据链路层

小型实验组合(VLAN+Trunk链路+三层交换)

20191324《信息安全专业导论》第十一周学习总结