MAC地址

二层业务vlan动作 二层vlan互通_二层业务vlan动作

  1. MAC地址有48bit,通常被表示为十六进制格式。
  2. MAC地址分为单播、组播及广播MAC地址三类。
  3. 单播MAC地址全球唯一,由 IEEE对这些地址进行管理和分配。
  4. 每个单播MAC地址由两部分组成,其中前24bit代表OUI(组织唯一标识),剩下的24位由厂商自己分配。

以太网二层交换机

主要功能

  • 使得终端用户能够接入网络;
  • 维护MAC地址表;
  • 数据帧的转发及过滤;
  • 二层环路避免及链路冗余性。

交换机转发数据帧

  • 收到单播数据帧(mac地址表存在记录),根据mac地址表指定接口转发。
  • 收到单播数据帧(mac地址表不存在记录),复制数据帧,在除收到数据帧以外的接口进行泛洪。
  • 收到广播数据帧,在除收到数据帧以外的接口进行泛洪。

工作原理

  • PC1、PC2连接在同一台二层交换机上。
  • 以太网中基于MAC地址通信。
  • 初始情况下,交换机的MAC地址表是空的。
  1. PC1发送数据帧给PC2(假设PC1已经知道了PC2的MAC地址)。
  2. 交换机在GE0/0/1口接收帧后,在MAC地址表中查询该帧的目的MAC地址。
  3. MAC地址表中没有任何表项匹配该目的MAC地址,于是交换机将这个数据帧进行泛洪(将数据帧的拷贝从所有接口发送出去,除了接收该帧的接口)。
    同时,交换机学习该帧的源MAC地址并创建MAC地址表项,将该MAC地址与接收该帧的GE0/0/1接口进行关联。
  4. 连接在交换机其他接口的PC都会收到这个数据帧,但是它们会丢弃该数据帧,因为这并不是发送给它们的,PC2接收并处理这个帧。
    现在PC2向PC1回复数据,数据帧发往交换机。
  5. 交换机收到数据帧后,首先在MAC地址表中查询该帧的目的MAC地址,发现有一个匹配的表项,于是将数据帧从GE0/0/1接口转发出去。

二层业务vlan动作 二层vlan互通_以太网_02

VLAN

VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。

二层业务vlan动作 二层vlan互通_二层业务vlan动作_03

  • 不同的VLAN是不同的广播域,通常使用不同的IP网段。
  • 可根据业务需求灵活的进行VLAN的规划。
  • 不同的VLAN之间无法进行二层互访。

VLAN知识点小结

  1. 一个VLAN中所有设备都是在同一广播域内,不同的VLAN为不同的广播域。
  2. VLAN之间互相隔离,广播不能跨越VLAN传播,因此不同VLAN之间的设备一般无法直接互访(二层互访),不同VLAN间需通过三层设备实现相互通信。
  3. 一个VLAN一般为一个逻辑子网。
  4. VLAN中成员多基于交换机的端口分配,所谓的VLAN划分,通常指的是将交换机的接口添加到特定的VLAN中,从而该接口所连接的设备也即加入到了该VLAN。
  5. VLAN是二层交换机的一个非常基本的工作机制。

交换机接口类型(Link-type)

Access

  • Access接口只能加入一个VLAN,该VLAN又被称为Access接口的缺省VLAN。
  • Access接口只发送无标记帧,且只接收无标记帧或打了缺省VLAN Tag的标记帧。
  • Access接口常用于连接PC、服务器或其他终端,或路由器等设备。

二层业务vlan动作 二层vlan互通_数据帧_04

Access接口只能加入一个VLAN,该种类型的接口通常用于连接PC、服务器及路由器等设备。

Trunk

  • 当一条链路需要承载多VLAN数据的时候,可将该链路配置为Trunk链路。
  • Trunk链路两端的接口是Trunk类型的接口。两端交换机需采用相同的干道协议。
  • Trunk链路一般见于交换机之间或交换机与路由器之间。

二层业务vlan动作 二层vlan互通_以太网_05

Trunk接口可以加入多个VLAN,可以收发多个VLAN的报文。一般用于交换机之间的互联接口,也用于交换机与以太网子接口对接。

Hybrid

Hybrid接口也可以收发多个VLAN的报文,而且可以指定该接口在发送特定VLAN的报文时是否携带Tag。

802.1q

IEEE 802.1q以及VLAN Tagging属于互联网下IEEE 802.1的标准规范,允许多个网桥(Bridge)在信息不被外泄的情况下公开的共享同一个实体网上。IEEE 802.1q-英文缩写写为dot1q,经常在实现以太网封装协议的架构下被提及。以下是打上VLAN Tag的数据帧

二层业务vlan动作 二层vlan互通_以太网_06

端口的缺省ID(PVID)

  • 每个Access、Trunk及Hybrid的接口都有一个接口缺省VLAN-ID,称为PVID(Port Default VLAN ID),当接口接收到无标记帧时,为数据帧打上PVID。
  • 对于Access类型的接口,PVID缺省为1,由于Access接口只能加入一个VLAN,因此PVID也即该接口所属的VLAN。
  • 对于Trunk及Hybrid类型端口,PVID缺省也为1,这两种接口都允许多个VLAN数据帧通过,当接口收到无标记帧时,为数据帧打上PVID。
  • 原始的以太网数据帧(或无标记帧、Untagged帧):指的是采用以太网封装的数据帧,例如普通PC或服务器网卡收发的数据帧。
  • 802.1Q数据帧(或标记帧、携带VLAN Tag的数据帧、Tagged帧):指的是插入了802.1Q头部的以太网数据帧。
  1. 交换机的接口“接收帧”:
    指的是数据帧从外部到达交换机的接口,并进入到交换机内部的过程。
  2. 交换机的接口“发送帧”:
    指的是数据帧被交换机从其内部往接口外发送的过程。

Access接口

Access接口接收帧

  • 如果该帧不带tag,则接收帧并打上端口的PVID;
  • •如果该帧携带tag,则当VLAN-ID与PVID相同时,接收该报文,否则丢弃。

二层业务vlan动作 二层vlan互通_交换机_07

Access接口发送帧:

  • 剥离Tag,发出的帧为普通以太网帧(也即无标记帧)。

二层业务vlan动作 二层vlan互通_二层业务vlan动作_08

Trunk接口

Trunk接口接收帧:

  • 若数据帧不带tag,则打上接口PVID,此时若PVID在允许通过的VLAN列表里,则接收该帧,否则丢弃。缺省时Trunk端口的PVID为1,而且VLAN1缺省就已经在allow-pass VLAN列表中。
  • 若数据帧带tag,且其VLAN-ID在接口允许通过的VLAN-ID列表里,则接收该帧,否则丢弃。

二层业务vlan动作 二层vlan互通_数据帧_09

Trunk接口发送帧:

  • 若VLAN-ID与接口PVID相同,且该VLAN-ID在allow-pass VLAN列表中,则去掉Tag,发送数据帧。
  • 若VLAN-ID与接口PVID不同,且该VLAN-ID在allow-pass VLAN列表中,则保持原有Tag,发送该带tag的数据帧(标记帧)。

二层业务vlan动作 二层vlan互通_交换机_10

Hybrid接口

Hybrid接口接收帧:

  • 若数据帧不带tag,打上接口PVID,若PVID在允许通过的VLAN列表里,则接收该帧,否则丢弃。
  • 若数据帧带tag,且VLAN-ID在接口允许通过的VLAN列表里,则接收该报文。否则丢弃该报文。

二层业务vlan动作 二层vlan互通_以太网_11

Hybrid接口发送帧:

  • 若VLAN-ID在接口允许通过的VLAN列表里,则发送该帧。可以通过命令设置发送时是否携带Tag。

二层业务vlan动作 二层vlan互通_数据帧_12

以下图表也可直观看出

二层业务vlan动作 二层vlan互通_交换机_13

VLAN基本配置

二层业务vlan动作 二层vlan互通_交换机_14

•在两台交换机上创建VLAN10及20。

•将连接PC的接口划入如图所示的VLAN。

•配置SW1-SW2之间的链路为trunk,使得相同VLAN内的用户能够跨交换机实现通信。

# 创建VLAN10及VLAN20:
[SW1] vlan batch 10 20
# 将GE0/0/1配置为access类型,并加入VLAN10:
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 10
# 将GE0/0/2配置为access类型,并加入VLAN20:
[SW1]interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 20

# 创建VLAN10及VLAN20:
[SW2]vlan batch 10 20
# 将GE0/0/1配置为access类型,并加入VLAN10:
[SW2]interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1] port link-type access
[SW2-GigabitEthernet0/0/1] port default vlan 10
# 将GE0/0/2配置为access类型,并加入VLAN20:
[SW1]interface GigabitEthernet 0/0/2
[SW2-GigabitEthernet0/0/2] port link-type access
[SW2-GigabitEthernet0/0/2] port default vlan 20

配置Trunk链路,允许vlan10和vlan20流量通过

[SW1]interface GigabitEthernet 0/0/24
[SW1-GigabitEthernet0/0/24]port link-type trunk
[SW1-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20
[SW2]interface GigabitEthernet 0/0/24
[SW2-GigabitEthernet0/0/24]port link-type trunk
[SW2-GigabitEthernet0/0/24]port trunk allow-pass vlan 10 20

相同vlan间可通信,不同vlan不可通信

二层业务vlan动作 二层vlan互通_交换机_15

查看vlan信息

二层业务vlan动作 二层vlan互通_二层业务vlan动作_16

完成上述配置后,同属VLAN10的PC1及PC3即可相互通信;同属VLAN20的PC2及PC4亦可相互通信,我们将这种通信行为成为“二层通信”。然而不同VLAN的用户无法进行直接通信。