4.3.3 局域网的扩展(三)数据链路层扩展局域网
我们知道当连接多个不同类型局域网时就需要在数据链路层,使用的设备我们称之为网桥或者交换机,我们之前已经讨论过交换机转发的原理和过程,下面我们来学习一下透明网桥的工作原理。
一、网桥转发表实例
透明网桥的透明指的是局域网上的站点并不知道所发送的数据帧将经过那几个网桥,因为网桥对各个站点来说是看不见的,网桥在刚刚连接到局域网上时转发表是空的,也就是说转发表中主机的MAC地址都是没有的,如果收到一个数据帧它将按照网桥生成表算法进行处理,慢慢建立起并学习自己的转发表,最终他知道到每一个站点的转发项,这里我们要注意的是网桥刚刚加电时转发表是空的,那么网桥转发表的生成我们来具体阐述一下。
二、网桥转发表生成算法
-
如图端口X收到一个无差错的帧即它的CRC校验是正确的,如果有差错就直接丢弃没有后续步骤,收到帧后在转发表中就应该去查找它的目的MAC地址,因为我们知道网桥或者交换机是根据目的MAC地址进行转发的,当然我们知道刚刚加电的时候网桥的转发表是空的,因此肯定找不到目的站的MAC地址,此时网桥会向除了X端口以外的所有端口转发这个帧,这样做的目的是保证可以找到目的站,这就相当于广播信道,因此网桥或者交换机在一开始的时候的处理方法。
当帧进行广播之后还要做第二件事情,还要查看源站是否在转发表当中,因为网桥在第一次加电时转发表是空的,因此此时要把源站的MAC地址加入到转发表中同时登记进入网桥的端口号并且启动一个定时器,然后等待一个新的数据帧。
-
第二种情况是是端口X收到一个无差错的帧,网桥将会在转发表中查找其目的站的MAC地址,如果找到了目的站的MAC地址,此时就要相应的进一步的查找到此MAC地址应当走的出口端口D,当然这其中有两种情况,如果出口端口D与入口端口X不相等,此时这个数据帧就必须要从出口端口D转发数据帧,然后还是要查看源站是否在转发表中。如果源站不在转发表中此时同样要登记进入该网桥的端口号X以及启动一个定时器再等待一个新的数据帧。
-
第三种情况是当网桥运行了一段时间后它的转发表就慢慢的建立起来了,他已经知道了到达各个站点的地址,此时从端口X收到一个无差错的帧,他同样要去查找对应的目的MAC地址,如果查找出来到达目的MAC地址同时也知道了它对应的出口端口D,如果入口端口X和出口端口D是相等的,此时就会发生从哪个端口出来就从哪个端口出去,此时网桥就把这个数据帧就丢弃了,因为这样的数据是不需要经过网桥转发的,这就是网桥对帧的过滤。接下来同样还需要看一下源站是否在转发表中,同样登记进入该网桥的端口号X以及启动一个定时器再等待一个新的数据帧。
三、网桥转发表中登记的三个信息
- 源站的MAC地址信息
- 进入网桥端口,登记接收到的帧的进入该网桥的端口X,这里要注意的是登记的是进入该网桥的端口
- 进入网桥时间,收到帧进入网桥的时间
网桥就是在这样的一个转发过程中逐渐学习转发表的建立过程。这里我们需要特别注意的是转发表的MAC地址是根据源MAC地址写进去的,但在转发的时候却是根据目的MAC地址。这样做是因为网桥转发表根据的原理是:
如果网桥现在能够从端口X收到从源地址A发来的帧,那么以后就可以从端口X将一个帧转发到目的地址A。
局域网拓扑是经常发生变化的,为了使转发表能够反映出整个网络的最新拓扑,所以还需要将每一个帧到达网桥的时间记录下来,以便在转发表中保留拓扑的最新状态。
四、小结
重点掌握透明网桥转发表的生成过程,从而理解交换机转发的工作原理。