导读
当前园区网大多使用交换机组网,使用交换机组建的网络管理非常灵活,可以根据同一部门或者具有相同管理要求的需要创建虚拟局域网(Vlan)。那么园区内的交换机是如何进行数据包交换的?不同部门之间是如何进行隔离的?今天这篇文章,将通过对以太网帧、MAC地址、Vlan等的介绍来讲解以太网交换技术。
作者:李培杰
单位:中国移动智慧家庭运营中心
Part 01 ●以太网基础●
1.1MAC地址
MAC地址又称为物理地址,是制造商为网卡分配的地址,MAC地址是唯一的,如同我们每个人都有一个身份证号码来标识自己一样,网卡就用MAC地址来标识自己。一个MAC地址有48位,一般采用十六进制数的方式来表示。如图为MAC地址的表示方式:
图1 MAC地址
1.2 以太网帧格式
以太网技术所使用的帧称为以太网帧,简称以太帧,以太帧一般使用Ethernet Ⅱ格式,下图为Ethernet Ⅱ格式的以太帧:
图2 EthernetⅡ以太帧
(1)目标MAC地址:该字段表示的是帧的接收者,可以是一个单播地址,也可以是组播或者广播地址。
(2)源MAC地址:该字段表示的是该帧的发送者。源MAC地址只能是一个单播MAC地址。
(3)类型:表示载荷数据的类型,该字段2字节。若是是一个IPv4包,则为是0x0800。
(4)载荷数据:表示数据帧的有效载荷,它的长度可变。
(5)CRC字段:循环冗余校验,它是用来对帧进行检错校验的。
Part 02 ●以太网交换机●
2.1交换机转发操作
交换机有一张MAC地址表,交换机会基于此表进行帧的转发。交换机的转发操作一般有三种:转发、丢弃、泛洪。转发即为收到帧之后,从另一个接口转发出去;丢弃即为收到帧之后将其丢弃,不进行转发;泛洪是指将从某一接口收到的帧通过其他所有的接口转发出去。下图为交换机的三种转发方式示意图:
图3 交换机转发操作
图4 交换机泛洪操作
图5 交换机丢弃操作
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地址和对应接口的映射条目。
图6 交换机转发流程
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同理。
图7 交换机上不同Vlan通信过程
3.2 Vlan的划分方式
在一个支持Vlan的网络中,计算机发出的帧是不带tag的帧,当这个帧到达交换机的时候,交换机就会根据划分方式将其划分到某个Vlan中,一般主要有以下四种划分方式:
基于接口划分的Vlan:将Vlan id映射到交换机的物理接口上,pc发送的数据帧都是没有tag的,都会被划分到该接口的vlan id 所表明的Vlan。
基于MAC地址的Vlan:通过查询并记录端口所连PC上网卡的MAC地址来决定数据帧属于哪个Vlan。
基于子网的Vlan:通过所连计算机的IP地址,来决定端口所属Vlan的。
基于用户的Vlan:根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个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标记。
图8 交换机access接口收发数据过程图
(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。
图9 交换机trunk接口收发数据过程图
Part 04 ● 总结●
综上所述,二层交换机主要通过MAC地址进行数据帧的转发,使用交换机搭建组网管理非常灵活,而且可以增加网络的吞吐量,通过使用Vlan技术来隔离广播域可以减少大量广播带来的资源损耗,过滤一部分不需要转发的报文。
审核编辑:汤梓红
-
以太网
+关注
关注
40文章
5359浏览量
170926 -
交换机
+关注
关注
20文章
2615浏览量
99176 -
VLAN
+关注
关注
1文章
264浏览量
35559 -
Mac
+关注
关注
0文章
1099浏览量
51353 -
交换技术
+关注
关注
1文章
23浏览量
8482
原文标题:技术 | 一文读懂以太网交换技术
文章出处:【微信号:5G通信,微信公众号:5G通信】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论