二层交换原理

二层交换机的主要功能

维护MAC地址表,MAC寻址

数据帧的转发及过滤

二层环路避免及冗余性支持(网状拓扑)

二层交换特点

1、交换不改变数据帧(透传)

2、二层交换只会根据数据帧头部的MAC地址表进行寻址

3、使用MAC地址表

MAC地址

1、硬件地址

2、MAC地址有四十八位,通常被表示为点分十六进制数

3、MAC地址全球唯一,由IEEE对这些地址进行管理和分配

4、每个地址由两部分组成,分别是供应商代码和序列号。其中前24位二进制代表该供应商代码。剩下的24位由厂商自己分配。

交换机寻址

初始情况下,交换机的MAC表是空的

1、pc1要发送一个数据帧给pc2

2、交换机收到这个数据帧,将数据帧的源MAC学习到MAC地址表

3、交换机在MAC地址表中查询数据帧的目的MAC地址

4、发现无匹配项,于是将数据帧进行泛洪(Flooding)

5、网络中的pc都会收到这个数据帧的拷贝,网络中除pc2的pc在收到数据帧后读取MAC,发现目的MAC并非自己,因此丢弃数据帧。

6、pc2收到并处理这个数据帧,现在pc2要发送回应流量

7、交换机收到这个数据帧,将源MAC地址学习到MAC表,同时在MAC表中查询目的MAC地址

8、在MAC表中查询到匹配项,于是交换机将数据帧从与目的MAC地址绑定的端口转发出去

为什么需要VLAN

整台交换机的所有端口均属于同一个广播域

网络中的设备可能被大量的广播损耗资源

无法根据业务需求灵活的划分网络结构

VLAN(Virtual LAN)可以解决上述问题

通过将交换机的端口划入特定的VLAN,可以起到隔离广播域的作用

不同的VLAN是不同的广播域,是不同的网段

可根据业务需求灵活的进行VLAN的规划

不同的VLAN之间无法进行二层互访

VLAN的概念

1、一个VLAN中所有的设备都是在同一广播域内,不同的VLAN为不同的广播域

2、VLAN之间互相隔离,广播不能跨越VLAN传播,因此不同的VLAN之间的设备一般无法互访,不同VLAN间需要通过三层设备实现互相通信

3、一个VLAN一般为一个逻辑子网,由被配置为此VLAN成员的设备组成

4、VLAN中成员多基于交换机的端口分配,划分VLAN就是对交换机的接口划分

5、VLAN工作域OSI参考模型的第二层

6、VLAN是二层交换机的一个非常根本的工作机制

Access的概念

Access接口通常用于直连终端,他们被配置为Access类型

Access接口常用于连接PC、服务器或其他终端,或路由器等设备

Access接口只能加入一个VLAN,一旦加入特定VLAN后,该接口所连的设备也就加入了该VLAN

Trunk的概念

当一条链路,需要承载多VLAN信息的时候需要Trunk来实现

Trunk两端的交换机需采用相同的干道协议

一般用于交换机之间或交换机与路由器之间

802.1Q

Original

Frame

DestSrcLen/ETypeDateFcs

Tagged

Frame

DestSrcTagLen/ETypeDateFcs

EtherType(0x8100)

PRIToken Ring Encapsulation FlagVLAN ID
16bits3bits1bits12bits

端口的缺省ID(PVID)

每个Access、Trunk、Hybrid、QinQ类型的端口都可以配置一个缺省VLAN(PVID:Port Default VLAN ID),表示端口所属的VLAN。

对于Access类型端口,PVID的数值表示当前端口所属的VLAN

对于Trunk、Hybird类型端口,由于Hybrid类型端口和Trunk类型端口允许多个VLAN数据帧通过,也可理解为这两种类型的端口属于多个VLAN,所以需要配置PVID

PVID,在缺省的情况下为VLAN 1

VLAN的基本配置

在交换机上创建VLAN并加入VLAN视图

[1]vlan 10

[1]valn bat 10 20 30 (批量)

(可选)在特定的vlan视图下修改vlan的名字

[1-vlan10]name TechVLAN

为特定的vlan添加接口

[1-vlan10]port GigabitEthernet0/0/1

将特定的接口配置为access类型并加入vlan

[1]interface gigabitEthernet0/0/1

[1-gigabitEthernet0/0/1]port link-type access

[1-gigabitEthernet0/0/1]port default vlan 10

Trunk的基本配置

将特定接口配置为trunk类型

[1]interface gigabitEthernet0/0/24

[1-interface gigabitEthernet0/0/24]port link-trunk

在该trunk接口上放行特定VLAN

[1-gigabitEthernet0/0/24]port trunk allow-pass vlan 10 20 99

配置trunk接口的pvid,这个vlan的流量从trunk接口转发不会打标签,默认是vlan1

[1-gigabitEthernet0/0/24]port trunk pvid vlan 99

Access Port

Access端口收到帧

如果该帧不带tag,接受帧并打上端口的pvid;

如果该帧携带tag,则当vlanID与缺省vlanID相同时,接收该报文,否则丢弃。

Access端口发送帧

剥离802.1Q tag header 发出的帧为普通以太帧。

Trunk port

Trunk端口收到帧

若数据帧不带tag,打上接口pvid,若pvid在允许通过的vlanID列表里,则接收该报文,若pvid不在允许通过的vlanID列表里,则丢弃该报文

若数据帧带tag,且vlanID在接口允许通过的vlanID列表里,则接收该报文。否则丢弃该报文。

Trunk端口发送帧

若vlanID与接口pvid相同,且该vlan在allow-pass vlan列表中,则去掉Tag,发送数据帧。

若vlanID与接口pbid不同,且该vlan在allow-pass vlan列表中,则保持原有Tag,发送带该tag的数据帧。


版权声明:本文为Arlssaze原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。