EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
第二层以太网交换机连接多个以太网LAN网段。由于交换机的每个端口可以连接至不同的网段,所以这种拓扑结构能够形成规模更大的以太网。交换机存储介质访问控制器(MAC)地址(从每个端口接收到的帧中提取该地址),以识别每个网段。交换机利用MAC地址,将源网段的帧只发送至目的网段,而不是发送至所有连接它的端口,从而减少网络流量。 不同的供应商提供各种各样的用于多端口以太网交换机的特殊应用标准产品(ASSP),以满足多种应用需求。但是,这些ASSP针对典型的联网应用而设计,并不能为具有奇数端口配置或者各种速率端口配置等特殊特性的应用提供最佳解决方案。本文将讨论如何利用低成本的可编程逻辑架构实现以太网第二层交换机,以满足这些需求,并提供比ASSP架构更高的集成度和更强的可定制性。 以太网交换机ASSP通常只能实现物理以太网接口,如用于快速以太网端口的介质无关接口(MII)、用于千兆以太网端口的千兆MII(GMII)。在有些情况下,这些接口需要FPGA等桥接器件。例如,在基于SONET的数据包或者SONET以太网应用中,一个或多个端口需要连接到PCI总线或者SONET/同步数字系列(SDH)成帧器的情况下;或者在VoIP应用中,一个或多个端口需要连接到语音处理器的情况下。图1给出了这种实现的例子。 此外,以太网交换机ASSP可实现固定数量的端口(如12、16、24个等)以及端口的固定分配形式,例如8个10/100以太网端口加上一个千兆以太网端口。标准以太网交换器很难满足不同数量端口或者端口速率不同的各种应用需求,而且也不可能用ASSP实现具有2Gbps等非标准以太网端口。
+ Y. P+ p5 W7 Y. c8 @
0 X2 X) X- K, c图1:在 基于SONET的数据包或者SONET以太网应用中,一个或多个端口需要连接到PCI总线或者SONET/同步数字系列(SDH)成帧器,此时这些接口需要FPGA等桥接器件。[/table] 基于可编程逻辑的以太网交换器 为克服以太网交换机ASSP的局限性,Altera的合作伙伴MoreThanIP公司开发了一种基于Altera FPGA的灵活的以太网交换引擎。设计工程师利用这种自适应引擎能开发出适用于以下定制化设计的单芯片解决方案:实现PCI、POS-PHY/系统数据包接口(SPI)等附加功能,以完善以太网交换的功能;提供与SONET/SDH成帧器或VoIP处理器等多种标准器件的连接;通过PCI/PCI-X提供与专用背板或者主计算机的连接。图2给出了这种集成应用的例子。 以太网交换引擎包括硬件交换引擎和32位软核嵌入式处理器,以执行学习(learning)、老化(aging)和移植(migration)等表格管理任务。利用嵌入式处理器,设计工程师还可以实现其它高级功能,例如生成树算法、以太网终止或其它特殊用户任务。交换器支持可编程的端口数量,这利用简单的基于主/从FIFO的接口就能实现。这些接口能够与任何第一层应用或者标准板级接口相连接。 交换引擎可在Altera的Stratix II和Cyclone II器件中得以实现,它利用Nios II嵌入式处理器进行表格管理。当在最新的高密度FPGA中得以实现时,以太网交换引擎能够提供高达8Gbps的交换能力。可灵活地将该带宽分配给任意数量的端口,以满足定制应用的特殊需求。例如,可以配置交换器以实现4Gbps以太网端口和12个快速以太网端口,或者利用多个200Mbps端口实现2Gbps端口等非标准配置。为提高特定业务级别的服务质量(QoS),交换器还支持定制配置。 帧交换基于与线性搜索相关的两级哈希代码查找表。这种解决方案能提供高性能和足够的灵活性,以增加交换器标准实现(2048个地址)所支持的MAC地址的最大个数。为了实现最大性能和非阻塞运行,帧交换以线速运行,不需任何软件或者固件开销。 32位Nios II处理器管理交换查找表(LUT)。为控制交换器,需开发固件执行以下任务:MAC地址学习、LUT输入老化、端口移植以及哈希代码和表格管理。 交换器还可以在每个输入端口实现分级引擎,在每个输出端口实现两个优先级排队,以便为关键业务级别提供QoS。交换器的硬件和软件部分针对性能进行了设计,并紧密结合在一起。另外,交换器架构很容易扩展到支持更大吞吐量,比如10Gb交换器内核。 当输入端口接收到一个帧后,帧头中的几个信息段被提取出来,包括以太网MAC地址、VLAN标签(IEEE 802.3q)、帧PDU以及因特网协议(IPv4和IPv6)报头等。这些信息被用于确定帧的类型,以便用8个优先级对帧进行分级,并将帧存储在高和低优先级的输出队列中。利用一组可编程表格进行分级,由嵌入式Nios II处理器和可编程优先级判定树进行控制。 队列仲裁执行严格的优先级和权重循环(round-robin)算法来控制输出队列。另外,基于FPGA的实现所具有的灵活性使开发人员能够使用任何定制的专有仲裁机制。
; J) n0 c" w( E. x8 s | 7 d0 k0 {! Z1 ~/ ^
| 图2:基于可编程逻辑的以太网交换机的集成应用。[table] |
应用实例:VoIP网关 VoIP网关将传统的时分复用(TDM)网络桥接到IP网络上。为将TDM流转换成IP数据包,并实现回声消除和电话功能,VoIP网关通常采用专用包处理器ASSP或者数字信号处理器。它利用以太网交换机ASSP和MAC实现联网功能,一般还需要处理器进行管理和信令功能。 为利用ASSP实现VoIP网关,需要数字信号处理器或包处理器、以太网交换器、处理器、存储器以及系统接口器件。 这些器件接口可能不兼容,需要进行桥接,并需要额外器件(通常是FPGA)来提供这种桥接功能。另外,对于少量的语音通道,典型的以太网交换机ASSP所提供的解决方案规模太大,具有大量的不可扩展的端口。图3是基于ASSP的VoIP网关结构框图。 利用Altera FPGA和MoreThanIP提供的联网IP模块,可设计出高度集成的、具有成本效益的解决方案。图4是基于Stratix II FPGA的设计实例。灵活的交换器IP模块能够配置所需数量的端口(图4采用3个端口),或者根据应用需要配置更多端口,从而避免无用端口的浪费。嵌入式Nios II处理器可以运行信令和管理功能,以及质量和性能监视功能。不需要外部的桥接器件,设计工程师便可以在交换器端口上实现FPGA与数字信号处理器或者包处理器的接口。 图3:基于ASSP的VoIP网关结构框图。本文小结 利用Altera的Stratix II系列等高性能、高密度可编程逻辑器件,第二层交换机的集成度将更高、可定制性将更强。当与外部SDRAM相结合时,基于Cyclone II的解决方案能让设计工程师以更低的成本实现需要较少交换能力的设计。与基于ASSP的解决方案相比,这些可编程器件提供了集成度更高、性能更优化的交换机解决方案,以帮助设计工程师设计出具有成本效益的差异化产品。 ; d: J: W" i0 {! m
* g' G9 B" f0 l* y$ c2 y图4:基于Stratix II FPGA的VoIP网关结构框图。; E. K1 {6 y1 W! h
|