网络处理器平台之设计与应用

2008-02-23 04:54:33来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

网络处理器平台之设计与应用  
  
  摘要
  
  因特网、企业网络等网络应用的带宽需求急剧上升,传输、检查、拆分、组合、搜寻、内容比对、转递等IP封包运算处理动作,以往可以靠软件程序在一般X86微处理器上完成,搭配以网卡做封包出入口。但是近年来这些封包的运算处理越来越复杂,将数据输入处理单元,完成后再将结果送往输出单元,慢速处理造成的时间延迟会严重影响到数据吞吐量,无法满足Line Rate Operation的需求。Intel 公司提供的网络处理器系列产品专门用来解决这样的问题,IXP-4XX属于较低端的系列,本文则集中探讨IXP-2XXX系列高端网络处理器,文中将以IXP-2400处理器在凌华科技cPCI-6240系列产品的设计为例做出说明。
  
  以下将先介绍IXP-2XXX处理器的功能特性,再探讨处理器的平台设计、应用开发,最后探讨它在网络安全领域的应用,以入侵检测系统为实例做出说明。
  
  Intel IXP-2XXX 网络处理器
  
  Intel XP-2XXX系列网络处理器大致包含:IXP-2400、IXP-2800及IXP-2850,请参考表一的性能差异。除此之外,Intel还考虑比照了IXP-42X系列的做法,高度整合MACs等功能模块,建造优异的性价比产品,使这一系列处理器的应用更普及化。



  全系列IXP-2XXX网络处理器都可拆分为『控制管道』(Control Plane)及『数据管道』(Data Plane)两大部分。参考图一 IXP-2400网络处理器,它内建一颗600MHz 32-bit XScale来负责Control Plane的处理工作,XScale执行相当底层的控制工作,包括信息传送,还有跟系统内其它处理器的沟通。Data Plane则由内建的八颗微处理引擎(Micro-Engine Version 2, MEv2)来做平行处理,MEv2是XScale精简下来的 (Reduced) 可程序处理器,使用者可用Micro-Code汇编语言或是高端Micro-C语言撰写应用程序,透过指令告诉这八颗MEv2怎样处理封包运算,以达到应用目的。

  



  图一是IXP-2400示意图外观,它有两个信道的QDR SRAM接口,存放重要的数据结构,比如:Route Tables, Free Buffer Pools,Flow State Tables,Queue Descriptors等等重要的信息,其中一个信道还可以接一颗协处理器,做TCP/IP封包比对时的内存搜寻引擎,加速决定封包的协议属性跟流向(Flow)。DDR DRAM则用来储存封包以及大量的State tables,另外C-bus接口可以连接第二颗处理器,这是采用一进一出架构的双处理器设计时用的。
  
  另两个重要接口,一个是64-bit/66MHz PCI 2.2接口,作为Control Plane连通的Bus,可以透过此接口外挂控制处理器,像是PrPMC控制卡;另一个是Flash界面,是存取RedBoot的通道,Redboot相当于X86系统的BIOS;媒体及切换接口(Media and Switch Fabric Interface, MSF)是网络封包进出处理器的主要途径,视应用可以规划为SPI-3、CSIX或是UTOPIA Level2接口。
  
  图二是IXP-2400内部示意图,内部的SHaC 是一个多功能控制单元,内含Hash单元,可以建立48-bit,64-bit或是128-bit宽的 Hash indices,XScale与MEv2可存取Hash来帮助Table的搜寻,特别是要搜寻的Keys很大时;第二个单元是16KB的Scratch Pad memory,这是处理器内第三个内存资源,XScale与MEv2可共同存取,三种内存资源可以让海量存储器存取同时间平行发生;第三个单元是Control and Status Register (CSR),起到9颗处理器(1 * XScale 8* MEv2)之间沟通的作用。
  
  除此之外,还有 XScale 外围,包含中断控制器、Timers, UART、GPIO等单元。在处理器内部,XScale、MEv2、DRAM Controller、SRAM Controller、T/R-Buffer之间透过 Chassis Bus,将 Data Plane 的路径在处理器内部连通起来,这些控制单元可以共享 SRAM、DRAM 等内存资源做数据交换。



  网络处理器的『平台设计』、『应用开发』
  
  (一) 平台规划、开发
  
  平台规划 设计IXP-2XXX平台首先要先为产品做准确的定位,定义平台最终应用、带宽需求、封包处理效能等级。若是想一半接到ATM网络,则MSF接口有一半要规划成Utopia Level 2接口,连接的ASIC像是Intel IXF-6012/6048 Cell/Packet Framer;若是要直接连IP网络,则MSF接口规划成SPI-3或是CSIX,连接像Intel IXF-1104 (Quad Giga-E MACs的ASIC);或是接FIC(Fabric Interface Controller) 的ASIC。另外规划时要全面考虑:Control Plane的处理效能、是否外挂辅助处理器、开机影像文件下载速度;Data Plane则须考虑SRAM大小、DRAM资源使用、是否须加密功能 (IXP-2850有)、是否外挂网络搜寻加速器、是否外挂内容检查加速器等、要多少个网络接口。这些硬件规格要根据功能应用,做整体效能评估才行,在开案初期要审慎评估。
  
  平台开发 包括硬件、Redboot、系统支持套件(Board Supporting Package, BSP),BSP内含组件驱动程序。其中硬件设计跟一般X86运算平台没什么两样,记得要预留软件除错端口,就像X86-CPU的 ITP Port一样;Redboot则相当于X86 BIOS,系统初始化、自我测试、Boot Loader都包在Redboot内;Redboot及BSP可以藉由Intel IXA SDK得到帮忙,建立以XScale为处理核心的操作系统平台,最后这三大要素即可建立一个完整的网络处理器平台。
  
  (二) 应用程序开发
  
  Intel 建立了IXA 软件可携式架构,让今天花力气辛辛苦苦在IXP-2400建立起来的软件,明天在下一代IXP-2XXX仍然适用,而这个软件架构可以简单用图三表示。
  
  应用程序的开发也可以藉由Intel IXA SDK得到帮忙,考虑到投资杠杆效应,Intel IXA软件程序架构采用模块化,SDK提供一些基本的microblocks,开发者再开发自有的microblocks,将这些microblocks视为基础组件(Building Blocks),去组合实现实际的功能应用,让开发者的工作简单化,也缩短TTM时间。



  
  网络安全的需求
  
  据统计,2000年企业及政府部门遭受黑客(Hacker)攻击的比率高达85%,而网络安全的漏洞不是防止黑客入侵就解决了,其它像是遭窥探者窃取机密性数据,或是心怀不满的员工蓄意破坏系统内重要档案,警觉性不足的员工外泄重要密码、不小心由Email引入计算机病毒等,都是威胁网络安全的几个危险因素。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:IP网络性能测试系统介绍

下一篇:SPOH技术走向应用