<返回更多

一文读懂以太网交换技术

2023-12-11  微信公众号  移动Labs
加入收藏

Labs 导读

当前园区网大多使用交换机组网,使用交换机组建的网络管理非常灵活,可以根据同一部门或者具有相同管理要求的需要创建虚拟局域网(Vlan)。那么园区内的交换机是如何进行数据包交换的?不同部门之间是如何进行隔离的?

Part 01、  以太网基础 

1.1 mac地址

MAC地址又称为物理地址,是制造商为网卡分配的地址,MAC地址是唯一的,如同我们每个人都有一个身份证号码来标识自己一样,网卡就用MAC地址来标识自己。一个MAC地址有48位,一般采用十六进制数的方式来表示。如图为MAC地址的表示方式:

一文读懂以太网交换技术

 

1.2 以太网帧格式

以太网技术所使用的帧称为以太网帧,简称以太帧,以太帧一般使用Ethe.NET Ⅱ格式,下图为Ethernet Ⅱ格式的以太帧:

一文读懂以太网交换技术

(1)目标MAC地址:该字段表示的是帧的接收者,可以是一个单播地址,也可以是组播或者广播地址。

(2)源MAC地址:该字段表示的是该帧的发送者。源MAC地址只能是一个单播MAC地址。

(3)类型:表示载荷数据的类型,该字段2字节。若是是一个IPv4包,则为是0x0800。

(4)载荷数据:表示数据帧的有效载荷,它的长度可变。

(5)CRC字段:循环冗余校验,它是用来对帧进行检错校验的。

Part 02、以太网交换机 

2.1 交换机转发操作

交换机有一张MAC地址表,交换机会基于此表进行帧的转发。交换机的转发操作一般有三种:转发、丢弃、泛洪。转发即为收到帧之后,从另一个接口转发出去;丢弃即为收到帧之后将其丢弃,不进行转发;泛洪是指将从某一接口收到的帧通过其他所有的接口转发出去。下图为交换机的三种转发方式示意图:

一文读懂以太网交换技术

一文读懂以太网交换技术图4 交换机泛洪操作

一文读懂以太网交换技术

2.2 交换机转发流程

前面已经介绍,交换机是基于MAC地址表进行帧转发的,而一开始交换机的MAC地址表是空的,交换机能够通过收到的帧的源MAC地址自动构建MAC地址表。如图所示,PC1给PC2发送一个帧x,当帧到达交换机的时候,交换机就会在MAC地址表中添加源MAC地址和对应接口的映射条目。交换机会在MAC地址表中查找该帧的目的MAC对应的接口,假如在MAC地址表中查找到了就会进行转发,假如没有找到,交换机就会将此帧x进行泛洪。其中PC3收到此帧时会将其丢弃。PC2收到此帧之后就会回应一个源MAC为PC2 MAC地址,目的地址为PC1 MAC地址的帧y,交换机收到之后,就会查询MAC地址表,此时,会查到MAC对应的接口,然后从此接口转发出去。同时会在MAC地址表中添加PC2 MAC地址和对应接口的映射条目。

一文读懂以太网交换技术

Part 03、Vlan  

3.1 什么是Vlan

一台交换机就是一个广播域,整台交换机的所有端口均属于同一个广播域。通常一个广播域就是一个逻辑子网。当一个网络中有多个交换机的时候,网络会变得特别大,此时,网络中的设备有可能被大量的广播损耗资源,而且也无法根据业务需求灵活的规划网络结构。虚拟局域网(Vlan)可以解决上述问题。通过将交换机的端口划入特定的Vlan,可以起到隔离广播域的作用。不同的Vlan是不同的广播域,就算两个Vlan之间的PC的IP地址在同一网段也无法进行通信。不同的Vlan之间无法进行二层互访。可根据业务需求灵活的进行Vlan的规划。如图所示,PC1、PC2、PC3属于Vlan 1,PC4、PC5、PC6属于Vlan 2,当PC1发送一帧x的时候,交换机刚开始MAC地址表查不到进行泛洪,此时,只有同一Vlan的PC2、PC3才能收到此帧,PC4发送的帧y同理。

一文读懂以太网交换技术

3.2 Vlan的划分方式

在一个支持Vlan的网络中,计算机发出的帧是不带tag的帧,当这个帧到达交换机的时候,交换机就会根据划分方式将其划分到某个Vlan中,一般主要有以下四种划分方式:

3.3 交换机的接口类型

普通交换机的二层接口一般分为以下三种类型:access、trunk、hybird。一般常用的为access接口和trunk接口,下面通过对Vlan tag的处理过程分别来介绍这access和trunk端口类型:

(1)Access:通常用于直连终端,常用于连接PC、服务器或其他终端,交换机连路由器一般也用Access。Access接口只能加入一个Vlan,一旦加入特定的Vlan后,该接口所连接的设备也就加入了该Vlan。缺省的话默认加入Vlan 1。Access接口收数据时如果收的是untag数据,会打上此接口的vlan id进行接收,如果是tag数据,比较tag数据vlan id与此接口vlan id是否一致,一致则接收,否则丢弃。发数据时首先比较待发数据的vlan id ,如果和此接口vlan id一致,则剥离标签,并以untag形式发送;如果和此接口vlan id不一致,则不发。如下图所示:A、B、C、D属于Vlan 1, E、F、H、G属于Vlan 2。计算机A 给 D 发送一个帧,进入交换机接口加上Vlan 1标记,从接口出去,去掉Vlan 1标记。计算机发送和接收的帧不带 Vlan标记。

一文读懂以太网交换技术

(2)trunk:当一条链路,需要承载多Vlan信息的时候,需要使用trunk来实现。trunk一般用于交换机之间或者交换机和防火墙之间。trunk端口可以属于多个Vlan。trunk接口在收数据时如果收的是untag数据,会打上此接口的vlan id进行接收,如果是tag数据,首先查看接口的列表是否存在此vlan id,如果存在,则接收,否则丢弃。发数据时首先查看接口的列表,如果待发数据的vlan id在此列表中,则允许发送,否则不会从此接口发送。其次如果数据允许发送,则比较此待发数据的tag是否和此接口vlan id是否一致,一致则发untag数据,否则发tag数据。如下图所示:A、B、C、D属于Vlan 1,E、F、H、G属于Vlan 2,它们分别连在两个交换机上。计算机C给D 发送一个帧,进入交换机接口加上Vlan 1标记,从trunk接口出去的时候仍然带有Vlan tag。

一文读懂以太网交换技术

Part 04、  总结 

综上所述,二层交换机主要通过MAC地址进行数据帧的转发,使用交换机搭建组网管理非常灵活,而且可以增加网络的吞吐量,通过使用Vlan技术来隔离广播域可以减少大量广播带来的资源损耗,过滤一部分不需要转发的报文。

关键词:以太网      点击(12)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多以太网相关>>>