网络:交换机工作原理

交换机的作用

  • 连接多个以太网物理段,隔离冲突域
  • 对以太网帧进行高速而透明的交换转发
  • 自行学习和维护MAC地址信息

交换机工程在二层,可以用来隔离冲突域,在OSI参考模型中,二层的作用是寻址,这边寻址指的是MAC地址,而交换机就是对MAC地址进行转发,在每个交换机中,都有一张MAC地址表,这个表是交换机自动学习的。

总的来说,交换机的作用是寻址和转发。 注意,这里的寻址和转发都是MAC地址

交换机的特点

  • 主要工作在OSI模型的物理层,数据链路层
  • 提供以太网的透明桥接和交换
  • 依据链路层的MAC地址,将以太网数据帧通过交换机端口进行转发

交换机MAC地址表转发过程

在这里插入图片描述

交换机刚启动时,MAC地址表中无表项。以上图中的交换机就是刚刚启动时的MAC地址表。可以看出没有任何的表项,当加入PC的时候,交换机开始进行学习MAC地址。如下图:
在这里插入图片描述

  • PCA发出数据帧(假设要发送给PCB)
  • 交换机把PCA的帧中的源地址MAC_A与接受到此帧的端口E1/0/1关联起来
  • 交换机检测自己的MAC地址表,没有发现目标地址
  • 交换机把PCA的帧从所有其他端口发送出去(除了接收到帧的端口E1/0/1)
    在这里插入图片描述
    此时局域网内的所有主机都会收到此数据帧,但是只有PCB才会相应这个数据帧,并绘影一个数据帧。 交换机会把MAC_B与端口E1/0/2关联起来。此后就可以进行一对一单播了。

在这里插入图片描述

  • PCA发出目的到PCD的单播数据帧
  • 交换机根据帧中的目的地址,从相应的端口E1/0/4发送出去
  • 交换机不在其他端口上转发此单播数据帧

传输过程

交换机在接收到数据帧以后

  • 首先会记录数据帧中的源MAC地址和对应的接口到MAC表中
  • 接着会检查自己的MAC表中是否有数据帧中目标MAC地址的信息
    • 如果有则会根据MAC表中记录的对应接口将数据帧发送出去(也就是单播)
    • 如果没有,则会将该数据帧从非接受接口发送出去(也就是广播)。

下图为数据经过单交换机的传输过程
在这里插入图片描述

  • 主机A会将一个源MAC地址为自己,目标MAC地址为主机B的数据帧发送给交换机。

  • 交换机收到此数据帧后,首先将数据帧中的源MAC地址和对应的接口(接口为f 0/1) 记录到MAC地址表中。

  • 然后交换机会检查自己的MAC地址表中是否有数据帧中的目标MAC地址的信息,如果有,则从MAC地址表中记录的接口发送出去,如果没有,则会将此数据帧从非接收接口的所有接口发送出去(也就是除了f 0/1接口)。

  • 这时,局域网的所有主机都会收到此数据帧,但是只有主机B收到此数据帧时会响应这个广播,并回应一个数据帧,此数据帧中包括主机B的MAC地址。如果没有主机相应这个广播,则会继续向下一个交换机或路由器传播。- 当交换机收到主机B回应的数据帧后,也会记录数据帧中的源MAC地址(也就是主机B的MAC地址),这时,再当主机A和主机B通信时,交换机根据MAC地址表中的记录,实现单播了。

下图为经多个交换机进行数据传播的过程。
在这里插入图片描述

  • 主机A将一个源MAC地址为自己、目标MAC地址主机C的数据帧发送给交换机。

  • 交换机1收到此数据帧后,会解析源MAC地址,并检查MAC地址表,发现没有目标MAC地址的记录,则会将数据帧广播出去,主机B和交换机2都会收到此数据帧。主机B会检查本机MAC地址,发现不一样,则不响应。

  • 交换机2收到此数据帧后也会将数据帧中的源MAC地址和对应的接口记录到MAC地址表中,并检查自己的MAC地址表,发现没有目标MAC地址的记录,则会广播此数据帧。

  • 主机C收到数据帧后,会响应这个数据帧,并回复一个源MAC地址为自己的数据帧,这时交换机1和交换机2都会将主机C的MAC地址记录到自己的MAC地址表中,并且以单播的形式将此数据帧发送给主机A。

  • 这时,主机A和主机C通信就是一单播的形式传输数据帧了,主机B和主机C通信如上述过程一样,因此交换机2的MAC地址表中记录着主机A和主机B的MAC地址都对应接口f 0/1。

注意:

  • 交换机具有动态学习源MAC地址的功能,并且交换机的一个接口可以对应多个MAC地址,但是一个MAC地址只能对应一个接口
  • 交换机动态学习的MAC地址默认只有300S的有效期,如果300S内记录的MAC地址没有通信,则会删除此记录。

如何解决广播问题和安全问题

机器多了,交换机也就多了,交换机就难免会有广播问题。在同一个广播域里面,很多包都会在一个局域网里面飘啊飘,如果没有加密又被抓包了,很可能会导致敏感信息泄露。怎么解决呢?有两个方法:
(1) 物理隔离

每个部门有单独的交换机,配置单独的子网,这样部门之间的沟通就需要路由器了。

这里的问题在于,如果每个部分都有单独的交换机,口多了浪费,少了又不够用

(2) 虚拟隔离:也就是VLAN,或者叫做虚拟局域网

使用VLAN,一个交换机上会连属于多个局域网的机器,那么交换机怎么区分哪个机器属于哪个局域网呢?

  • 我们只需要在原来的二层的同上加上一个TAG,里面有VLAN ID,一共12位。(12位可以划分4096个用户,如果用户超出了4096了什么办????)

在这里插入图片描述

  • 如果我们买的交换机是支持VLAN的,当这个交换机把二层的头取下来的时候,就能够识别这个VLAN ID。这样只有相同VLAN的包,才会相互转发,不同VLAN的包,是看不到的。这样广播问题和安全问题就解决了
    在这里插入图片描述

我们可以设置交换机每个口所属VLAN,比如VLAN10、VLAN11等,而且每个VLAN的口都是可以重置的。

那交换机之间应该怎么连接呢?对于支持VLAN的交换机,有一种口叫做Trunk口,它可以转发属于任何VLAN的口,交换机之间可以通过这种口相互连接。

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
交换机是一种用来连接多个局域网(LAN)的网络设备。它的工作原理可以分为以下几个步骤: 1. 学习和建立MAC地址表:交换机通过监听网络上的数据帧来学习和记录每个设备的MAC地址和对应的端口。当交换机接收到一个数据帧时,它会查看数据帧中的源MAC地址,并将此源MAC地址与接收到该数据帧的端口相关联。通过这种方式,交换机可以建立起一个MAC地址表,以便后续转发数据帧时能够根据目标MAC地址确定转发的端口。 2. 转发数据帧:当交换机接收到一个数据帧时,它会查看数据帧中的目标MAC地址,并在MAC地址表中查找相应的端口。如果交换机找到了目标MAC地址对应的端口,它就会将数据帧转发到该端口;如果没有找到目标MAC地址,交换机就会将数据帧广播到所有其他端口(除了接收到该数据帧的端口)。这样,只有目标设备能够接收到数据帧,提高了网络的效率。 3. 检查和处理冲突:在发送数据帧的过程中,可能会发生冲突。交换机会检测和处理这些冲突,以确保网络的正常运行。如果多个设备同时发送数据帧到交换机交换机会使用一种叫做"冲突域分割"的技术,将冲突限制在局部区域内。 4. 过滤和隔离数据流:交换机可以通过过滤和隔离数据流来提高网络的安全性和性能。交换机可以根据配置规则,将特定类型的数据流(例如VLAN)隔离到不同的端口或网络上,并阻止未经授权的数据流进入或离开网络

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值