marvell 88E6176交换芯片交换原理

交换芯片内部硬件架构图

marvell 88E6176交换芯片交换原理_第1张图片

 marvell 88E6176交换芯片交换原理_第2张图片

从以上交换芯片的硬件架构图中可以看出该交换芯片有7个千兆以太网MAC控制器。也就是有7个端口。但是在交换芯片内部只有端口0-4有PHY芯片,可以连接外部网线传输数据。而端口5 和端口 6 没有PHY芯片。可以通过数字引脚来接到CPU上进行数字信号的传输。此外CPU还可以通过MDC_CPU 和MDIO_CPU引脚来配置PHY芯片。

88E6176交换芯片交换原理:

88E6176交换芯片具有自动学习MAC地址的功能。在88E6176交换芯片内部有一个8k大小内存用于存放MAC地址表。当有数据包从端口上来时,首先拿到帧的目的MAC然后查找自身MAC地址表中该目的MAC所对应的端口号。查到后从相应的端口号将数据包转发出去。如果没有查询到,则将帧的源MAC地址和收到包的端口号和记录到MAC地址表中。然后以广播的形式将该帧转发给所有端口。

       该交换芯片支持两种VLAN的配置。一种是802.1QVLAN和基于端口的VLAN配置

marvell 88E6176交换芯片交换原理_第3张图片

                                                          802.1QVLAN帧格式 

802.1QVLAN就是在正常的网络模式下通过命令划分的VLAN。该设备支持4096个VLAN ID。

基于端口的VLAN是通过配置交换芯片的内部端口寄存器来实现的。88E6176交换芯片内部有7个端口,每个端口都配有一个寄存器用来限制或允许从该端口接受上来的帧可以从哪些端口发出去。每一个端口寄存器的第几个比特位就代表第几个端口号。例如:如果端口0的寄存器的第4个比特位为1的话那就代表这帧可以通过端口4转发。相反如果端口0的寄存器的第4个比特位为0的话,就说明该帧不可以通过端口4转发。默认的端口号的寄存器的配置如下图所示:所有端口寄存器的值都为0xff

 marvell 88E6176交换芯片交换原理_第4张图片

默认的基于端口的VLAN配置。这种配置允许所有的端口互相发送数据包

marvell 88E6176交换芯片交换原理_第5张图片marvell 88E6176交换芯片交换原理_第6张图片

                            典型的路由VLAN配置

 

你可能感兴趣的:(linux,驱动开发,网络)