前言

今天给大家讲解一下关于华为交换机的一些知识内容,如果是打算从事工作的朋友,走过路过别错过了~      

                           

 交换机 

交换机是当今以太网中最常见的存储转发设备,工作在数据链路层,通过读取数据包中的MAC地址进行存储和转发。

MAC地址表 

在交换机内部有一个MAC地址表,这个地址表标明了MAC地址和交换机端口的对应关系。当交换机从某个端口收到一个数据包,它首先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的,它再去读取包头中的目的MAC地址,并在地址表中查找相应的端口。

如果表中有与这目的MAC地址对应的端口,则把数据包直接复制到这端口上,如果在表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应。

交换机转发过程

当交换机接受的数据包中,在数据包中的MAC地址在MAC地址表中无法找到匹配项时,交换机将会对所有端口发送ARP广播报文,来寻找对应的主机端口,一般主机在收到ARP广播报文时,会将寻找主机和自己主机的地址进行对应,不匹配则丢弃数据包,匹配的话则向数据包中源地址发送一个回应数据包。

交换机收到回复包时会将其MAC地址和对应端口写入地址表。二层交换机就是这样建立和维护它自己的地址表。

交换机也可以把网络“分段”,通过对照MAC地址表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效的隔离广播风暴,减少误包和错包的出现,避免共享冲突。采用VLAN的方式实现分段。

交换机在同一时刻可进行多个端口对之间的数据传输。每一端口都可视为独立的网段,连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用。也正是因为交换机是独享带宽,所以不会出现冲突域的概念。

配置实验过程:

批量读取交换机配置 python 怎么读取交换机数据_交换机

 实验说明:该实验通过ENSP和wireshark来证明和实现的。在连接上同一局域网时,在1、2、3三个端口进行抓包。当PC1对PC2发送数据包时,交换机是如何进行通信的。

在PC1上对PC2进行ping命令通信。

批量读取交换机配置 python 怎么读取交换机数据_网络工程师_02

 在ping之前,PC1使用ARP报文向交换机询问PC2的MAC地址,交换机对比MAC地址表发现不知道PC2的MAC地址,便向所有端口发送广播报文,询问IP地址为192.168.1.3的主机是谁。

批量读取交换机配置 python 怎么读取交换机数据_网络工程师_03

 1、2、3口中均出现ARP广播报文,request请求目的主机MAC地址 

批量读取交换机配置 python 怎么读取交换机数据_数据通信_04

 三台PC同时收到ARP广播报文,三台PC同时进行对比,只有PC2发现其IP地址与广播报文中所找地址吻合。便发送一个reply报文返回给PC1,其他的两台主机对比发发现不匹配之后丢弃该广播报文。

批量读取交换机配置 python 怎么读取交换机数据_批量读取交换机配置 python_05

 PC2与PC3收到报文时的状态

批量读取交换机配置 python 怎么读取交换机数据_交换机_06

 数据包返回至PC1

批量读取交换机配置 python 怎么读取交换机数据_数据通信_07

 在数据包经过交换机的时候,交换机将PC2的MAC地址与端口对应到其MAC地址表中。

批量读取交换机配置 python 怎么读取交换机数据_华为_08

 当PC1第二次与PC2进行通信时,便不会采用广播的方式,而是单播。因为交换机中已经存在PC2的MAC地址和对应端口。

PC2会直接收到ping报文,而不会收到ARP报文询问

批量读取交换机配置 python 怎么读取交换机数据_网络工程师_09

 PC3不会收到ICMP报文

批量读取交换机配置 python 怎么读取交换机数据_网络工程师_10

 
PC1会发送ARP报文询问交换机PC2的MAC地址是多少
得到PC2的MAC地址之后进行通信

批量读取交换机配置 python 怎么读取交换机数据_数据通信_11

 在学习到PC2的MAC地址之后,通过MAC地址进行单播通信。

总结:

交换机之间的通信是隔绝掉冲突域的,但是却无法隔绝掉广播域。在二层通信之间,必然是存在广播域的。二层设备之间的通信,是通过MAC地址来实现的,配置IP地址是为了通过ARP广播报文找到目的MAC地址来进行通信。