交换机(二层)

交换机原理

1、术语

    端口地址(MAC地址表) : 记录存储的MAC地址和接口关系(就是交换机上的网口)

    帧 : 二层交换的数据包。

            VLAN :虚拟局域网。


2、数据交换原理 (要分析下交换机源码,确定当前原理可信度)

      MAC地址表构建 :

    以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起 来存放在交换机缓存中的MAC地址表中。如下图是MAC地址表的构建过程:

    交换机的初始化状态,MAC地址表为空 :


         地址表原MAC地址学习 :

    当计算机PC1要发送数据帧给计算机PC6时,因此时地址表是空的,交换机将向除PC1连接端口E0/1以外的其他所有端口转发数据帧。在转发之前,首先检查该数据帧的源MAC地址(00-10-B5-4B-30-85),并在交换机的MAC地址表中添加一条记录(00-10-B5-4B-30-85E0/1)使之和端口E0/1相对应。

     目的计算机P6回复数据帧 计算机PC6收到发送的数据帧后,用该数据帧的目的MAC地址和本机的MAC地址比较,发现PC1找的正是它,则接收该数据帧,其他计算机丢弃数据帧。计算机PC6回复PC1时,交换机直接从端口E0/1转发,并学习到(00-10-B5-4B-30-65)为PC6连接的端口,将其添加到地址表中,如图3所示。交换机的其他端口利用源MAC地址学习的方法在MAC地址表中不断添加新的MAC地址与端口号的对应信息。直到MAC地址表添加完整为止。

     目的计算机P6回复数据帧  计算机PC6收到发送的数据帧后,用该数据帧的目的MAC地址和本机的MAC地址比较,发现PC1找的正是它,则接收该数据帧,其他计算机丢弃数据帧。计算机PC6回复PC1时,交换机直接从端口E0/1转发,并学习到(00-10-B5-4B-30-65)为PC6连接的端口,将其添加到地址表中,如图3所示。

    交换机的其他端口利用源MAC地址学习的方法在MAC地址表中不断添加新的MAC地址与端口号的对应信息。直到MAC地址表添加完整为止。

    

    
MAC 地址表老化清除 :

     为了保证MAC地址表中的信息能够实时地反映网络情况,每个学习到的记录都有一个老化时间,如果在老化时间内收到地址信息则刷新记录。对没有收到相应的地址信息的则删除该记录。例如,计算机PC6停止了和交换机通信,达到老化时间后,交换机会将其对应的记录从MAC地址表中删除。

3、交换机的工作特性以及分类

特性 :
1. 交换机的每一个端口所连接的网段都是一个独立的冲突域。  
2. 交换机所连接的设备仍然在同一个广播域内,也就是说,交换机不隔绝广播
(惟一的例外是在配有VLAN 的环境中)。  
3. 交换机依据帧头的信息进行转发,因此说交换机是工作在数据链路层的网络设备 (此处所述交换机仅指传统的二层交换设备)。

分类 :
存储转发
交换机在转发之前必须接收整个帧,并进行错误校检,如无错误再将这一帧发往目的地址。帧通过交换机的转发时延随帧长度的不同而变化。 
 
直通式 :
交换机只要检查到帧头中所包含的目的地址就立即转发该帧,而无需等待帧全部的被接收,也不进行错误校验。由于以太网帧头的长度总是固定的,因此帧通过交换机的转发时延也保持不变。


4、交互及工作流程

1 )当交换机从某个端口收到一个数据包,它先读取包头中的源 MAC 地址,这样它就知 道源MAC 地址的机器是连在
     哪个端口上的;
2 )再去读取包头中的目的 MAC 地址,并在地址表中查找相应的端口;
3 )如表中有与这目的 MAC 地址对应的端口,把数据包直接复制到这端口上;
4 )如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应 时,交换机又可以学习一
    目的MAC 地址与哪个端口对应,在下次传送数据时就不 再需要对所有端口进行广播了。
5 )不断的循环这个过程,对于全网的 MAC 地址信息都可以学习到,二层交换机就是这 样建立和维护它自己的地址表。

5、VLAN

    VLAN : 虚拟机局域网, LAN 为少数几台计算机组成得我网络, VLAN LAN 为路由器 分割的网络 —— 广播域
 广播域 : 广播帧(目标 MAC 地址全为 1 )所能传的范围 ( 两个广播域之间的通信由交换 机来实现)
 帧传播 :  A 发送数据给 B A 需要发送 ARP 广播先获取到 B MAC 地址,交换机 1 到广播帧(ARP 请求 ) 后,
        会将它转发给除接收端口外的其他所有端口,也就是 Flooding 了。接着,交换机 2 收到广播 帧后也会 Flooding
        交换机 3 4 5 也还会 Flooding 。最终 ARP 请求会被转发到同一网络中的所有客户机上。但实际上, 只要 ARP

      广播到B就行了,这样讲无疑会消耗大量的大量的网络带宽和每台计算机 CPU

        

        

    VLAN分割广播域 : 在逻辑上生成独立的广播域(也可以理解为将一台交换机逻辑 上分成了多个交换机)

    VLAN生成的逻辑上的交换机是互不相通的。

        
    

    VLAN方式 :

    静态LAN 静态VLAN又被称为基于端口的VLAN(PortBased VLAN)。顾名思义,就是明确指定各端口属于哪个VLAN的设定方法。由于需要一个个端口地指定,因此当网络中的计算机数目超过一定数字(比如数百台)后,设定操作就会变得烦杂无比。并且,客户机每次变更所连端口,都必须同时更改该端口所属VLAN的设定——这显然不适合那些需要频繁改变拓补结构的网络。


    

    动态LAN 动态VLAN则是根据每个端口所连的计算机,随时改变端口所属的VLAN(一般使用这种方式)

    动态VLAN可以大致分为3:

                1) 基于MAC地址的VLAN(MAC Based VLAN)

        基于MAC地址的VLAN,就是通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属。假定有一个MAC地址“A”被交换机设定为属于VLAN 10”,那么不论MAC地址为“A”的这台计算机连在交换机哪个端口,该端口都会被划分到VLAN 10中去。计算机连在端口1时,端口1属于VLAN 10;而计算机连在端口2时,则是端口2属于VLAN 10但是,基于MAC地址的VLAN,在设定时必须调查所连接的所有计算机的MAC地址并加以登录。而且如果计算机交换了网卡,还是需要更改设定。

            

                2)基于子网的VLAN(Subnet Based VLAN)

                3)基于IP地址的VLAN(User Based VLAN)

        这两种都是基于IP来划分子网,这不过一个是个IP(IP访范围),并没有很大的区别(涉及到IP层协议,需要三层交换机才有这个能力)。

            

        VLAN间通信 : LAN是广播域。而通常两个广播域之间由路由器连接,广播域之间 来往的数据包都是由路由器中继的。因此,VLAN间的通信也需要路由器提供 中继服务,这被称作VLAN间路由”(三层交换机 )

猜你喜欢

转载自blog.csdn.net/dengshengli123/article/details/79873327