常见的软件路由器
根据使用的操作不同可以分为基于windows平台和基于Linux/bsd平台开发的软件路由器,基于Windows平台的软件防火墙比较常见的有ISA Server、Winroute Firewall等,这些软件都是商业化的,通常根据授权用户数不同收费而不同,购买正版的软件防火墙的费用对许多中小型企业来说无疑是一笔不小的开支。有而基于Unix/Linux平台的软件防火墙大家一般接触较少,受益于开放源码运行,目前基于Unix/Linux平台的软件防火墙如雨后春笋般不断推出,这些软件防火墙大多是免费的,常见的有RouterOS、m0n0Wall、SmoothWall、Ipcop、CoyoteLinux等,这些系统共有的特点是一般对硬件要求较低,甚至只需要一台486电脑,一张软盘,两块网卡就可以安装出一台非常专业的软件防火墙,这对很多有淘汰下来的低档电脑的朋友来说,意味着拿一台淘汰的电脑,安装一套免费的防火墙软件,不花一分钱就DIY出一台专业的防火墙,而且这些系统自身也包含了NAT功能,同时可以实现宽带共享,这意味着这台免费的防火墙其实也是一台出色的宽带路由器。软件路由器的研究现状
韩国的研究人员们建立了一个由端台式电脑组件组成的网络路由器,可以以创记录的速度传输数据。来自韩国高等科技研究院的团队创造的这款路由器,传输数据的 速度是每秒40千兆比特(gigabits ),比类似装置的前纪录快出许多倍。研究人员们使用的技术可能会带来很多方面的突破,包括在高性能路由器中使用廉价的芯片——如英特尔和Nvidia制造 的——以代替定制的硬件。 研究 人员们开发的软件还可以作为新网络协议的试验平台,有可能最终取代目前在互联网上运行了数十年之久的协议。
大多数路由器使用的是定制硬件, 在计算机网络之间传送数据。软件路由器利用普通硬件完成同样的任务,在软件中模仿硬件路由器的行为。像Vyatta生产的商业软件路由器一般只能达到每秒 3千兆比特的数据传输速度。这不够快,配不上一张典型网卡的最高速度,每秒10千兆比特。
“我们开始时只有一个保守的目标:第一个将电脑 路由器的速度实现每秒10千兆比特,然而,我们却达到了40,千兆”进行这项研究的实验室领头人文素(Sue Moon)说。她的学生韩祥进(Sangjin Han)和张基翁(Keon Jang)开发了一款名为PacketShader的软件,使得这一切成为可能。 PacketShader使用电脑的图形处理单元(GPU),来协助处理通过网络发送的数据包。
现代路由器早已不是简单的开关了,他们通 常在据包数通过时,以不同的方式对数据进行某种操纵。GPU是实现这一目的的理想工具,因为它们可以平行处理数据,这意味着它们可以一次处理多个数据包。 据文素说,在处理诸如认证或将数据包加密成数据流的过程中,GPU速度尤其快。当GPU着手这些任务时,它给了中央处理器(CPU)喘息的空间,去处理按 照自然顺序的其它任务,这样依次处理几个数据包可以发现异常闯入网络的企图。
伦敦大学学院(University College London)网络系统教授马克?汉德利(Mark Handley)指出,对于基本的数据包转发,计算机的CPU足够胜任,将GPU捆绑进来并没有优势可言。不过,他同意,GPU非常适合对数据包进行加密 或认证。
英特尔伯克利实验室的工程师吉安鲁卡?伊安纳孔(Gianluca Iannaccone)熟知PacketShader,他说,它可以将构成每秒1太比特软件路由器的实体机数量减少到他先前研究显示的需要量的三分之一。
“1太比特是企业级路由器的起点,而路由器是互联网的核心,”伊安纳孔说。他对名为RouteBricks系统的研究表明,未来路由器不 是现在这样专门的硬件,而是集群服务器上运行的软件作用。将足够的软件路由器绑在一起以每秒40千兆比特运行,你就可以得到一个本质上的太比特路由器。使 用这样的系统,将来某一天,路由器会完全在软件上运行。
“我们可以期望在此之上出现杀手级的应用软件,”另一位韩国高级科技研究所的教授 朴永苏(KyoungSoo Park)说,他参与了这个项目的研究。“在基于PC的软件路由器之上,你可以建立一个有趣的数据包或网络管理系统,这个系统不可能在硬件路由器上实施。 最终,你可以试验在今天互联网上还没有尝试过的新协议。
软件路由器与硬件路由器的对比
1、概念方面。软路由通常使用普通计算机充当,使用通用的操作系统,如 linux 或 windows,因此路由设置事实 上是 windows 或 linux 的设置,或者是对计算机的配置。PC 可以是很旧的 486 或是再高级的 PC / 服务器。软 件与硬件是独立分开的;而硬件路由器,大多是基于嵌入式系统架构,以自行开发或是现成的嵌入式操作系统如 Vxworks , Montavista, uClinux 等等为操作系统,再配合系统厂商自行开发的路由软件,软件与硬件是互相配合 的。硬件路由器采用专门的操作系统,因此采用超级终端(计算机)通过 console 实现对路由器的管理。对硬件路 由器的管理通常采用专用命令行、图形界面或网管软件实现。
2、硬件架构专用性方面。软件路由器的硬件架构是通用的,适用各种不同的应用软件安装使用,不是只为路由 器而设计;而硬件路由器的硬件架构是专为路由器而设计的,有些 CPU 更是为网络应用而开发。
3、 硬件组装方面。 软件路由器使用者可能必须自行组装硬件, 一般的 PC 可能没有网络卡 (例如很旧的 486) 或 是只有一张网络卡,使用者必须自行安装额外的网络卡,以满足路由的功能。硬件可能会有兼容性的问题,使用 者必须自行解决;而硬件路由器使用者无须自行组装硬件,硬件的搭配设计已由系统厂商完成,并经过严格的测 试,不会有不兼容的情况。
4、软件安装方面。软件路由器使用者必须自行安装软件,有些软件是免费的,有些是要付权利金;而硬件路由器 使用者则无须自行安装软件,软件是内含在产品的闪存里的。
5、软件维护方面。软件路由器提供免费的软件通常是非商业化的开放程序代码,一般是由一些散落各地的专家 因为兴趣来参与开发与修改。功能的完整性与除错无法保证;硬件路由器的软件功能则是由推出产品的系统厂商 自行开发,一致性高。功能的增加以及除错是由来系统厂商维护,使用者只需做软件升级,升级软件的取得有确 实的管道,售后服务有保障。
6、 软件、 硬件、 操作系统的搭配性方面。 软件路由器软件必须迁就现成的硬件 (如 PC ) 以及现成的操作系统 (如 Windows 以及 Linux) ,硬件与操作系统都不是为专为网络 /路由功能而设计的。稳体性无法一概而论,使用者 必须付出相对的成本、时间、精力、与金钱;而硬件路由器的软件与硬件,采用嵌入式操作系统并互相搭配,所 以整体设计精简而有效率,不但稳定,而且架设容易,产品成本加上使用者付出的成本也相对较低。
7、 使用接口方面。 软件路由器中, 不同的软件有不同的方式, 有些是窗口画面, 有些是命令行 (command line) 的 指令。不一定容易理解。有些需要很专业的知识;而硬件路由器多以 Web GUI 的方式来做设定,强调 user friendly,依据特定的功能做出简单而且容易理解的设定方式。
8、等级区别方面。软件路由器没有区别,效能依据试用者选择的 PC 以及软件而定。所以不一定能适用各种不 同的网络/路由应用。 越高级的应用环境需要越专业的知识才能应付自如;硬件路由器则会为不同等级的网络/路由 应用,开发不同等级的路由器,达到较好的性价比。
9、工作环境方面。软件路由器只能工作于以太网络,实现局域网之间的互联。硬件路由器拥有丰富的接口类型, 因此适用于各种类型的网络,既可应用于局域网的互联,也可用于广域网和 Internet 互联。另外,两者的效率也不 同,软路由可应用于小型的通讯效率不高的网络,硬件路由可应用于大中小型、通讯效率较高的网络。