交换机工作原理

认识交换机

       在局域网中,交换机是非常重要的网络设备,负责在主机之间快速转发数据帧。交换机工作在数据链路层,能够根据数据帧中的MAC地址进行转发。认识交换机工作三要素:MAC地址、数据帧的转发和过滤、广播域。让我们一起来看看吧!

一.学习MAC地址

       为了转发报文,交换机需要维护MAC地址表。MAC地址表的表项中包含了与本交换机相连的终端主机的MAC地址、本交换机连接主机的端口等信息。

      在交换机刚启动的时候,它的MAC地址表中没有表项。此时如果交换机的某个端口收到数据帧,它会把数据帧从所有其他端口转发出去。这样,交换机就能确保网络中其他所有的终端主机都能收到此数据帧。但是,这种广播式转发的效率低下,占用了太多的网络带宽,并不是理想的转发模式。

     


        为了能够仅转发目标主机所需要的数据,交换机就需要知道终端主机的位置,也就是主机连接在交换机哪个端口上,这就需要交换机进行MAC地址表的正确学习。

        交换机通过记录端口接收数据帧中的源MAC地址和端口的对应关系来进行MAC地址表学习。

        如上图,PCA发出数据帧,其源地址是自己的地址MAC_A,目的地址是PCD的地址MAC_D。交换机在端口G1/0/1收到数据帧后,查看其中的源MAC地址,并添加到MAC地址表中,形成一条MAC地址表项。因为MAC地址表中没有MAC_D的相关记录,所以交换机把此数据帧从所有其他端口都发送出去。

        交换机在学习MAC地址时,同时给每条表项设定一个老化时间,如果在老化时间到期之
前一直没有刷新,则表项会清空。交换机的MAC地址表空间是有限的,设定表项老化时间有
助于回收长久不用的MAC表项空间。

          同样的,当网络中其它PC发出数据帧时,交换机记录其中的源MAC地址,与接收到数
据帧端口相关联起来,形成MAC地址表项。

          当网络中所有的主机的MAC地址在交换机中都有记录后,意味着MAC地址学习完成,也
可以说交换机知道了所有主机的位置。

          交换机在MAC地址学习时,需要遵循以下原则:

          1.一个MAC地址只能被一个端口学习
          2.一个端口可学习多个MAC地址
          交换机进行MAC地址表学习的目的是知道主机所处的位置,所以只要有一个端口能到达
主机就可以,多个端口到达主机反而造成带宽浪费,所以系统设定MAC地址只与一个端口关
联。如果一个主机从一个端口转移到另一个端口,交换机在新的端口学习到了此主机MAC地
址,则会删除原有表项。

        一个端口上可关联多个MAC地址。比如端口连接到一个Hub,Hub连接多个主机,则此
端口会关联多个MAC地址。

二.交换机对数据帧的转发和过滤

        交换机根据MAC地址表项进行数据帧转发。

       下图中,PCA发出数据帧,其目的地址是PCD的地址MAC_D。交换机在端口G1/0/1收
到数据帧后,检索MAC地址表项,发现目的MAC地址MAC_D所对应的端口是G1/0/4,就
把此数据帧从G1/0/4转发,不在端口G1/0/2和G1/0/3转发,PCB和PCC也不会收到目的到
PCD的数据帧。

      交换机需要把广播、组播帧从所有的端口转发出去(除了源端口)。因为广播和组播的目的
就是要让网络中其他的成员收到这些数据帧。

     未知单播帧是指帧的目的MAC地址在交换机MAC地址表中无相应表项的数据帧。由于
MAC地址表中无相关表项,所以交换机也要把未知单播帧从其他端口转发出去,以使网络中其
它主机能收到。

     为了杜绝不必要的帧转发,交换机对符合特定条件的帧进行过滤。无论是单播、组播、广
播帧,如果帧目的MAC地址在MAC地址表中有表项存在,且表项所关联的端口与接收到帧的
端口相同时,则交换机对此帧进行过滤,即不转发此帧。

     通常,帧过滤发生在一个端口学习到多个MAC地址的情况下。如上图所示,交换机端口
G1/0/1 连接有一个Hub,所以端口G1/0/1上会同时学习到PCA和PCB的MAC地址。此时,
PCA和PCB之间进行数据通信时,尽管这些帧能够到达交换机的G1/0/1端口,交换机也不会
转发这些帧到其它端口,而是将其丢弃了。

三.广播域

       广播帧是指目的MAC地址是FFFF.FFFF.FFFF的数据帧,它的目的是要让本地网络中的
所有设备都能收到。二层交换机需要把广播帧从除源端口之外的端口转发出去,所以二层交换
机不能够隔离广播。

      路由器或三层交换机是工作在网络层的设备,对网络层信息进行操作。路由器或三层交换
机收到广播帧后,对帧进行解封装,取出其中的IP数据包,然后根据IP数据包中的IP地址进
行路由。所以,路由器或三层交换机不会转发广播帧,广播在三层端口上被隔离。

       广播域是指广播帧能够到达的范围。如下图中,PCA发出的广播帧,PCB能够收到,但
PCC和PCD收不到,PCA和PCB就属于同一个广播域。广播域中的设备数量越少,广播帧
流量就越少,网络带宽的无谓消耗也越少。

      通过在网络中使用三层交换机或路由器,可以减小广播域,减少网络带宽浪费。

以上就是我所介绍的全部内容,谢谢观看。

  • 18
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值