以太网交换技术讲解

导读
当前园区网大多使用交换机组网,使用交换机组建的网络管理非常灵活,可以根据同一部门或者具有相同管理要求的需要创建虚拟局域网(vlan)。那么园区内的交换机是如何进行数据包交换的?不同部门之间是如何进行隔离的?今天这篇文章,将通过对以太网帧、mac地址、vlan等的介绍来讲解以太网交换技术。
作者:李培杰
单位:中国移动智慧家庭运营中心
  part 01 ●  以太网基础 ● 
1.1 mac地址
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技术来隔离广播域可以减少大量广播带来的资源损耗,过滤一部分不需要转发的报文。


直线导轨的选购要素
光华科技押注LFP电池材料回收项目
40A 可扩展µModule 稳压器 通过使上游电源跳变来保护负载
电子功率器件陶瓷基板的热疲劳和失效
中移互联网将面向合作伙伴推出“一十百”计划
以太网交换技术讲解
内部集成防反二极管的双极锁存霍尔芯片AH401F,助力电动车性能提升
江东控股集团董事长走访深兰科技
小度科技独立融资,与百度解绑双向互利
射频线缆在天线测试上的应用
锤子T3什么时候上市?锤子T3最新消息,锤子T3或将迎来全面屏时代,全面屏+天马造?
出门问问在TicWatchC2系列加入玫瑰金款式
射频波形生成和测量的复杂性
嵌入式系统开发需要学什么_嵌入式软件开发是做什么的
以FPGA为基础的Σ-∆ 转换中抽取滤波器的设计过程详解
2019年9月发明授权专利榜,OPPO和华为位于榜单前两位
智慧工地专用物联网主机E6000介绍
晶体管输出伏安特性讲解
流量控制传感器有哪些
穿越式诊疗在江苏泰州进行了软硬件的建设并测试成功