以太网交换机

以太网交换机(也称为交换集线器,桥接集线器,以及IEEE的MAC桥接[1])是网络硬件,它通过使用数据包交换来接收数据并将其转发到目标设备来连接计算机网络上的设备。

以太网交换机有选择地将数据包从一个 LAN 端口转发到另一个端口。不同端口上的比特率可能不同。与集线器和网桥一样,交换机可以互连以形成更大的网络。交换机的转发决策仅基于第 2 层信息。交换机不会修改收到的数据包。(相比之下,路由器的转发决策基于第 3 层或网络层信息,并且还会修改收到的数据包。

发往不同端口的数据包可以由交换机同时转发,因此与单个共享 LAN 相比,交换机可以将总体比特率提高很多倍。但是,发往同一端口的数据包必须由交换机缓冲。因此,交换机由交换结构、缓冲器和转发控制机制组成。

switch chip

交换机芯片就是以太网交换机的“心脏”,以AR8327这款交换机芯片为例:

在这里插入图片描述

它一共有7个port,其中Port1~Port5是接了PHY芯片的,这些Port一般是只接终端设备(也就是会通过网线连接到PC或其他上网设备)。
而Port0和Port6就比较灵活,它们既可以接PHY,也可以接MAC,这两个Port就是CPU port

AP路由

AR8327的一种常见的应用如下,此解决方案是完整的端到端 802.AP RJ-45 到空中路由器 802.11n 无线网络处理解决方案。
在这里插入图片描述

  • Port0~5 通过网线接外部设备,其中Port5(上图PHY4)作为WAN口连接到modem,用于拨号上网。
  • Port0 作为CPU Port连接到WASP(wifi SOC)
  • 无线设备可以通wifi连接上网

所有交换芯片都有一个特殊的端口,称为 switchX-cpu,这是交换芯片的 CPU 端口,用于将流量从交换芯片转发到 CPU,这样的端口是管理流量和路由功能所必需的 . 默认情况下,交换芯片会确保这个特殊的 CPU 端口不拥塞,并在超过链路容量时发出暂停帧以确保端口不会过饱和,此功能称为CPU流量控制。 如果没有此功能,对路由或管理目的至关重要的数据包可能会被丢弃。

VLAN

switch支持划分VLAN,如下是一种vlan应用:
在这里插入图片描述

在这里插入图片描述

  • 同一VLAN之间 可以直接互相发送帧,但不能发送到 WAN 口
  • CPU可以发送帧到所有的Port
  • LAN Port必须通过CPU port才能发送到WAN
  • WAN Port也必须通过CPU Port才能发送到LAN

端口交换

交换芯片可以使用其交换逻辑处理数据包,而不需要软件参与。相当于bypass掉CPU Port。

在这里插入图片描述
其中一个端口接收的数据包总是首先通过交换机逻辑。 交换机逻辑决定数据包应该去哪些端口(最常见的这个决定是基于数据包的目标 MAC 地址做出的,但可能会根据数据包和配置涉及其他标准)。 在大多数情况下,软件看不到数据包(只有统计数据会显示数据包已通过),这是因为数据包已经被交换芯片处理,并且从未到达 CPU Port。

参考

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐