当前位置:首页>弱电技术>网络通信>华为以太网二层交换基础教程

华为以太网二层交换基础教程

华为以太网二层交换基础教程
一个典型的IP数据网络是由路由器、交换机、防火墙、负载均衡器等设备构成。其中交换机一般来说是距离终端设备(PC、服务器等)最近的设备,例如上图中黄色背景标注的设备。接入层的交换机一般为二层交换机,所谓的二层交换机指的是只能够针对数据的二层头部(以太网数据帧头)中的MAC地址进行寻址并转发数据的交换设备。

二层交换机不具备路由功能,它工作在OSI七层模型的第二层,因此被称为二层交换机。二层交换是以太网技术的一个非常基础的概念。那么什么是以太网二层交换(Layer2 Switching)呢?

为了将内网中的多台PC互联起来,使得PC之间能够以最简单的方式进行通信,我们往往会用一台二层交换机来连接PC,如下图:

华为以太网二层交换基础教程
PC1与PC2连接在同一台二层交换机上,这时候我们说,连接在这台交换机上的PC,都属于同一个LAN。这些PC都拥有同一个网段的IP地址,同时也处于同一个广播域(Broadcast Domain)中,所谓的一个广播域,指的是一个广播数据帧所能泛洪的范围,举个简单的例子:

PC1发送一个广播数据帧,交换机收到这个广播数据帧后,会为除了接收该数据帧的接口之外的其他所有接口都拷贝一份然后发送出去,接在同一交换机上的所有的PC都会收到这个广播数据帧并且都要去分析它(即使它可能并不需要这个数据并且最终将收到的数据帧丢弃,但check数据的过程仍然会消耗设备资源),因为他们属于同一个广播域。现在来分析一下,PC1发送一个数据包给PC4时,都发生了什么,以此来理解二层交换的工作机制。

1、PC1构造IP数据包,IP报文头部里的源IP地址为自己的网卡IP地址,目的IP地址为PC4的IP地址。上述IP数据包为了能够在以太网环境中去传输,还需要封装上一个以太网的头部(帧头)。在以太网头部中源MAC地址为8c00-BB01-0001,目的MAC地址为8c00-BB01-0004,如下图所示。(这里我们暂且忽略ARP的过程,并且假设PC1已经知晓了PC4的网卡MAC地址)。下图中我们只描述出了数据帧的帧头,对于IP包头以及数据荷载部分不在图中描述。

华为以太网二层交换基础教程
2、这个数据帧发送到了PC1所连接的交换机上。我们知道路由器都维护一张路由表,用于数据的转发,而交换机在做二层交换的时候依据的是MAC地址表(MAC Address Table)。MAC地址表中包含的表项指示出MAC地址与交换机某个端口的对应关系。在初始情况下,交换机的MAC地址表是空的。

那么当交换机收到PC1发送出来的这个数据帧时,它首先在自己的MAC地址表中查询该帧的目的MAC地址,由于此时MAC地址表中,并没有8c00-BB01-0004这个地址的条目,因此交换机将对这个数据帧进行泛洪Flooding,所谓泛洪就是将这个数据帧从除了收到它的接口之外的所有其他接口都发一份拷贝。

这样做的目的事实上是:“哥不知道你在哪,哥索性就全都发一份,爱谁谁”。如下图所示:

华为以太网二层交换基础教程

3、接下来,交换机将数据帧的源MAC地址(也就是PC1的MAC地址)学习到MAC地址表中,与接口GE0/0/1进行关联。这样,交换机就学习到了一个MAC地址条目。如下图所示:

华为以太网二层交换基础教程
4、由于交换机的泛洪行为,导致连接在该台交换机上的其他PC都会收到这个数据帧,除了PC4之外的其他PC在收到这个数据帧之后,将bit流还原成帧并查看以太网头部的目的MAC,发现该MAC与本机的MAC并不一致,因此判断这个数据帧并非发送给自己,于是丢弃。

而PC4在收到这个数据帧并查看目的MAC发现,这个数据帧的目的MAC与自己的MAC是相同的,因此判断这个数据帧是发送给自己的,于是进行CRC校验(校验数据帧的完整性),校验成功后将以太网头部解封装,将内层的IP数据将给IP协议栈去处理,进一步查看IP头部,发现IP头部中的目的IP地址就是本机的IP,于是将IP头部解封装,将内层的荷载交给上层协议处理。

如此一来PC1发送给PC4的数据就完成了单向的传输。

5、现在,PC4要回送数据给PC1,数据的构造如下图所示:

华为以太网二层交换基础教程
6、交换机在收到这个数据帧后,首先在自己的MAC地址表中查询目的MAC地址8c00-BB01-0001,发现有一个匹配的表项,而且该表项指示这个MAC地址连接在GE0/0/1接口上,于是交换机将这个数据帧从GE0/0/1接口发送出去。

同时交换机还会将数据帧的源MAC地址8c00-BB01-0004学习到自己的MAC地址表中,并与接口GE0/0/4进行关联,如下图所示:

华为以太网二层交换基础教程
7、这个数据帧最终被PC1接收到,这就完成了一个在以太网环境中的数据交互过程。

小结一下:

所谓的以太网环境中的二层交换(Layer2 Switching),就是指的当一台二层交换机收到一个数据帧时,分析数据帧头部的目的MAC地址,在MAC地址表中查询这个MAC地址,如果有匹配项,则将数据帧从该匹配项所关联的接口交换出去,如果没有匹配项,则将数据帧进行泛洪。

所以:以太网二层交换是基于数据帧的帧头中的目的MAC地址进行查询的;查找的是MAC地址表。所以掌握MAC地址表的查询及阅读是非常有必要的,在华为交换机上,可使用display mac-address命令查询MAC地址表。MAC地址表是交换机能够正常工作的非常基础的数据表。

本文由 @熊大 发布于弱电智能网 。

题图来自Unsplash,基于CC0协议

内容观点仅代表作者本人,弱电智能网平台仅提供信息存储空间服务。

如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章名称:《华为以太网二层交换基础教程》

文章链接:https://www.ruodian360.com/tech/networking/50047.html

添加微信ydian188免费入群,记得备注“弱电智能网”。

给TA打赏
共{{data.count}}人
人已打赏
网络通信

什么是网络延迟?

2023-8-28 5:07:59

网络通信

文艺、专业的网络拓扑图怎么画?

2023-9-7 12:47:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
搜索