所谓交换,就是将分组(或帧)从一个端口移到另一个端口的简单动作。如何作出 移动决定就已经确定了是用交换机还是路由器。如果用的是OSI 模型的第二层,那么 就要用到交换机或网桥,如果是OSI 模型的第三层,那就要用到路由器(或三层交换机)。
MAC地址:
数据链路层包含2个子层:逻辑链路控制( LLC )和介质访问控制( MAC )。MAC 子层决定该层的硬件地址,这个地址是和网络无关的,所以无论将那个硬件插入到网络的何处,它有相同的MAC 地址(也就是MAC地址不随网络的改变而改变),无论网络地址是什么。 供应商通常指定其产品的MAC 地址。在Ethernet 策略中,将一系列的Ethernet MAC 地址分配给供应商, 然后它们将不同的地址分配给生产的每个接口。
Ethernet MAC 地址包含12 位。前面的6 位(组织标识符或OUI )是由IEEE 分配给供应商的特定的编号,剩下的6 位是系列号。这样的结果就是,每个网络接口插件可以在任何给定的局域网或广域网上有不同的MAC 地址。
交换原理:
MAC地址表显示了主机的MAC地址与以太网交换机端口映射关系,指出数据帧去往目的主机的方向。当以太网交换机收到一个数据帧时,将收到数据帧的目的MAC地址与MAC地址表进行查找匹配。如果在MAC地址表中没有相应的匹配项,则向除接收端口外的所有端口广播该数据帧,有人将这种操作翻译为泛洪(Flood,泛洪操作广播的是普通数据帧而不是广播帧)。在我们测试过的交换机中,有的除了能够对广播帧的转发进行限制之外,也能对泛洪这种操作进行限制。
而当MAC地址表中有匹配项时,该匹配项指定的交换机端口与接收端口相同则表明该数据帧的目的主机和源主机在同一广播域中,不通过交换机可以完成通信,交换机将丢弃该数据帧。否则,交换机将把该数据帧转发到相应的端口。
交换机还将检查收到数据帧的源MAC地址,并查找MAC地址表中与之相匹配的项。如果没有,交换机将记录该MAC地址和接收该数据帧的端口,并激活一个定时器。这个过程被称作地址学习。由于有限的物理存储器,所有的交换机只能学习到2的48次幂中的一个很小子集,所以交换机只学习那些活动的MAC地址(不同的厂商的不同设备,其MAC地址的容量也是不相同的,MAC地址的容量也是交换机的一个比较重要的指标),这个定时器一般就是我们在配置交换机时的Age Time选项,一般我们都可以配置这一定时器的时间长度。在定时器到时的时候,该项记录将从MAC地址表中删除,这叫做老化(Aging)。而如果接收的数据帧的源MAC地址在MAC地址表中有匹配项,交换机将复位该地址的定时器。
如果交换机不能够正确的学习MAC地址,则有可能造成数据包丢失还有泛洪现像的发生,特别是大量泛洪现像发生会影响交换机的转发性能,类似广播风暴对交换机的影响。
……