MAC地址
- MAC地址有48bit,通常被表示为十六进制格式。
- MAC地址分为单播、组播及广播MAC地址三类。
- 单播MAC地址全球唯一,由 IEEE对这些地址进行管理和分配。
- 每个单播MAC地址由两部分组成,其中前24bit代表OUI(组织唯一标识),剩下的24位由厂商自己分配。
以太网二层交换机
主要功能
- 使得终端用户能够接入网络;
- 维护MAC地址表;
- 数据帧的转发及过滤;
- 二层环路避免及链路冗余性。
交换机转发数据帧
- 收到单播数据帧(mac地址表存在记录),根据mac地址表指定接口转发。
- 收到单播数据帧(mac地址表不存在记录),复制数据帧,在除收到数据帧以外的接口进行泛洪。
- 收到广播数据帧,在除收到数据帧以外的接口进行泛洪。
工作原理
- PC1、PC2连接在同一台二层交换机上。
- 以太网中基于MAC地址通信。
- 初始情况下,交换机的MAC地址表是空的。
- PC1发送数据帧给PC2(假设PC1已经知道了PC2的MAC地址)。
- 交换机在GE0/0/1口接收帧后,在MAC地址表中查询该帧的目的MAC地址。
- MAC地址表中没有任何表项匹配该目的MAC地址,于是交换机将这个数据帧进行泛洪(将数据帧的拷贝从所有接口发送出去,除了接收该帧的接口)。
同时,交换机学习该帧的源MAC地址并创建MAC地址表项,将该MAC地址与接收该帧的GE0/0/1接口进行关联。 - 连接在交换机其他接口的PC都会收到这个数据帧,但是它们会丢弃该数据帧,因为这并不是发送给它们的,PC2接收并处理这个帧。
现在PC2向PC1回复数据,数据帧发往交换机。 - 交换机收到数据帧后,首先在MAC地址表中查询该帧的目的MAC地址,发现有一个匹配的表项,于是将数据帧从GE0/0/1接口转发出去。
VLAN
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。
- 不同的VLAN是不同的广播域,通常使用不同的IP网段。
- 可根据业务需求灵活的进行VLAN的规划。
- 不同的VLAN之间无法进行二层互访。
VLAN知识点小结
- 一个VLAN中所有设备都是在同一广播域内,不同的VLAN为不同的广播域。
- VLAN之间互相隔离,广播不能跨越VLAN传播,因此不同VLAN之间的设备一般无法直接互访(二层互访),不同VLAN间需通过三层设备实现相互通信。
- 一个VLAN一般为一个逻辑子网。
- VLAN中成员多基于交换机的端口分配,所谓的VLAN划分,通常指的是将交换机的接口添加到特定的VLAN中,从而该接口所连接的设备也即加入到了该VLAN。
- VLAN是二层交换机的一个非常基本的工作机制。
交换机接口类型(Link-type)
Access
- Access接口只能加入一个VLAN,该VLAN又被称为Access接口的缺省VLAN。
- Access接口只发送无标记帧,且只接收无标记帧或打了缺省VLAN Tag的标记帧。
- Access接口常用于连接PC、服务器或其他终端,或路由器等设备。
Access接口只能加入一个VLAN,该种类型的接口通常用于连接PC、服务器及路由器等设备。
Trunk
- 当一条链路需要承载多VLAN数据的时候,可将该链路配置为Trunk链路。
- Trunk链路两端的接口是Trunk类型的接口。两端交换机需采用相同的干道协议。
- Trunk链路一般见于交换机之间或交换机与路由器之间。
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的数据帧
端口的缺省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头部的以太网数据帧。
- 交换机的接口“接收帧”:
指的是数据帧从外部到达交换机的接口,并进入到交换机内部的过程。 - 交换机的接口“发送帧”:
指的是数据帧被交换机从其内部往接口外发送的过程。
Access接口
Access接口接收帧:
- 如果该帧不带tag,则接收帧并打上端口的PVID;
- •如果该帧携带tag,则当VLAN-ID与PVID相同时,接收该报文,否则丢弃。
Access接口发送帧:
- 剥离Tag,发出的帧为普通以太网帧(也即无标记帧)。
Trunk接口
Trunk接口接收帧:
- 若数据帧不带tag,则打上接口PVID,此时若PVID在允许通过的VLAN列表里,则接收该帧,否则丢弃。缺省时Trunk端口的PVID为1,而且VLAN1缺省就已经在allow-pass VLAN列表中。
- 若数据帧带tag,且其VLAN-ID在接口允许通过的VLAN-ID列表里,则接收该帧,否则丢弃。
Trunk接口发送帧:
- 若VLAN-ID与接口PVID相同,且该VLAN-ID在allow-pass VLAN列表中,则去掉Tag,发送数据帧。
- 若VLAN-ID与接口PVID不同,且该VLAN-ID在allow-pass VLAN列表中,则保持原有Tag,发送该带tag的数据帧(标记帧)。
Hybrid接口
Hybrid接口接收帧:
- 若数据帧不带tag,打上接口PVID,若PVID在允许通过的VLAN列表里,则接收该帧,否则丢弃。
- 若数据帧带tag,且VLAN-ID在接口允许通过的VLAN列表里,则接收该报文。否则丢弃该报文。
Hybrid接口发送帧:
- 若VLAN-ID在接口允许通过的VLAN列表里,则发送该帧。可以通过命令设置发送时是否携带Tag。
以下图表也可直观看出
VLAN基本配置
•在两台交换机上创建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信息
完成上述配置后,同属VLAN10的PC1及PC3即可相互通信;同属VLAN20的PC2及PC4亦可相互通信,我们将这种通信行为成为“二层通信”。然而不同VLAN的用户无法进行直接通信。