成都理工大学信息科学与技术学院 汝金星 葛良全
无线路由器主流开源系统比较与分析
成都理工大学信息科学与技术学院 汝金星 葛良全
由于通信网络的大力发展和应用,追求高性能和良好易用性的路由器系统已成为当前无线传输行业关注的焦点。针对目前国内主流第三方无线开源路由器系统OpenWrt、DD-Wrt、Tomato和M0N0wall进行了研究,以原厂无线路由器固件为测试参照,从系统性能、功能特点、可用性、对象性等方面对四种固件的性能和特点进行了量化的比较和分析。得出第三方无线路由器固件的优势不在于本身性能强弱而在于固件功能强大的结果,并根据分析结果和功能特点指出了各自的适用领域和人群。
路由器系统;开源固件;无线传输;MW310R
路由器是互联网最重要的节点设备,处于ISO/OSI模型的网络层。自Linksys于2003年底推出第一个无线路由器固件的产品WRT54G后,基于Linux操作系统内核的WRT54G使得Cisco公司迫于GNU通用公共许可证和外界共同的压力公布了WRT54G的源代码[1]。至此以后,用户们根据自己的需求,在原有的固件上面修改和开发新的固件,继而一大批功能丰富、性能独特的路由器第三方固件及众多衍生版本纷纷出现。此后十多年的快速发展使得无线通信设备走向了一次次的高峰。目前在众多无线路由器固件中,主流的开源系统主要有四种:DD-WRT、OpenWrt、Tomato和M0N0wall。
2014年初OpenWrt固件项目开始实施,开发的第一个版本是基于buildroot项目的“stable”版。自此衍生版本的层出不穷使得OpenWrt固件风靡一时[2]。OpenWrt的高度模块化和高度自动化的特性使其发展稳步向前,OpenWrt固件提供SSH隧道、锐捷认证、网络及流量整形监控[3]、U盘支持等多样化功能。
DD-Wrt是基于Linux为内核和GPLV2授权发布的无线路由固件。在2003年兴起。适用于广泛硬件设备和自行编译系统的DDWrt固件提供了许多一般路由器软体所没有的功能,如对无线分散式系统、基于守护进程的服务[4]、XLink Kai游戏协议、QoS宽带设置、电驴下载等功能的支持。
Tomato由于固件体积小、系统稳定和功能强大使得其逐渐流行并为大众所接受。自2008年发布以来,Tomato固件由于本身灵巧的脚本应用功能、用户自定义脚本、管理设置响应及时和监管项目齐全等特点使其功能独具特色,如:流量实时管理、高级QoS/IP限速、VPN(PPTP)服务器和客户端、ARP绑定等。
M0n0wall系统是一款基于FreeBSD版本嵌入式的免费防火墙系统,可作为防火墙或路由器来使用[6]。M0n0wall固件因其精巧的Web界面和系统的高安全性成为众多派生版本的基础,适用于成熟的PC式系统,而不是嵌入式系统[7],因此它极大地减少了用户工作量,并支持常见的路由器应用和功能。
2.1无线路由器系统性能
因为无线路由器是采用数据包的形式传输数据,再由防火墙对每个包数据进行处理,无线传输中数据的吞吐量是确定无线路由器性能的重要因素,也是衡量路由器最大数据收发能力的指标。吞吐量是指数据在传输中没有帧丢失的情况下,路由设备能够接受的最大速率[8],一般采用FDT(Full Duplex Throughput)衡量,即64字节数据包的全双工吞吐量,FDT既包含吞吐量指标,而且也涵盖了报文转发率指标。
我们采用300M无线宽带路由器水星MW310R作为测试硬件,硬件配置为:AR9341芯片、处理速度2.4GHz、64MB的RAM、FlASH为8MB。测试网卡为Intel的5350。测试系统为原厂固件和第三方固件,第三方固件以DD-Wrt、OpenWrt、Tomato和M0N0wall为例,测试结果如表1所示。
表1 原厂固件与第三方固件无线端PAIR性能测试(吞吐量单位:Mbps)
原厂固件的吞吐量为67Mbps左右,而第三方固件的吞吐量就有所下降,为41Mbps,所以第三方固件相比于原厂的固件,优势在于功能强大,而非无线路由器本身的性能。
2.2QOS服务质量控制
QoS是网络能够利用各种基础技术为指定的网络提供更好的服务,是网络传输中的一种安全机制[8],同时为网络延迟和阻塞提供了更好的解决手段,QOS使得实时程序能高效地利用网络带宽。QOS确保主要业务量不受延迟或阻塞,并保证网络环境运行流畅。
2.3流量整形
流量整形是采用GTS(Generic Traffic Shaping)技术主动调整流量输出速度的一种措施[11],流量整形通过削减外出流量的速率来强迫流量遵照某种带宽的分配限制,作用是限制流出某一网络的某一连接的流量与突发,使这种报文以比较匀称的速度向外发送,形成平稳的流量输出。
2.4虚拟专用网络
虚拟专用网络即VPN(Virtual Private Network),以PPTP、L2TP为连接协议,通过加密数据包和数据包目标地址的转换实现远程访问,用于公用网络上建立专用网络,进行加密通讯[11]。VPN按协议分类方式众多,因其实现方式多样、成本低廉、易用性好的特点而广泛用于企业网络。
2.5路由器防火墙
防火墙是依照特定规则允许或限制传输数据通过的一种位于内部网络与外部网络之间的网络安全系统,路由器防火墙被划分为两种,一种是用于Internet连接的低端防火墙和传统的高端防火墙[2]。防火墙的吞吐量是判断路由器防火墙安全稳定的重要指标,吞吐量是指数据包在单位时间内不被路由器防火墙丢弃时的数量,吞吐量也是区分低高端防火墙和路由器防火墙性能的重要因素。
表2 无线第三方固件功能比较
2.6支持的硬件
OpenWrt、DD-WRT、Tomato和M0N0wall这四种无线路由器系统由于适用的设备型号有所区别,所以支持的嵌入式CPU各不相同,从ARM架构到64位×86架构,闪存大小从4MB到64MB品类多样。总的来讲,4种系统对硬件的要求虽然千差万别,但整体需求比较低,也比较经济实惠。固件移植和操作的难易性也随其衍生种类和所需硬件设备而变化,普遍来说,DD-WRT固件移植与操作简单,而OpenWrt、Tomato和M0N0wall移植性与操作性有所降低(见表2)。
这4种第三方路由器固件在无线传输领域的应用非常广泛,但是各自又具有不同的特点。根据上述的比较分析,可以看出各固件的适用领域。
(1)OpenWrt固件的高度模块化和高度自动化[7]的特性使得其固件版本较为成熟,支持硬件丰富和文件系统的可写和固件的灵活性是OpenWrt的成功之处。但它的优点却恰恰也是其最大缺点,基于Linux的系统内核编译,使得OpenWrt入门门槛较高。该固件适合于操作限制少、积极尝试不同硬件和善于推出个性化Linux发行版本的开发者用户。OpenWrt适用于专业开发者、中小型企业及个人。
(2)DD-WRT固件凭借追求完美的功能和最佳的易用性赢得多数用户的喜爱,DD-WRT固件不仅支持面广、功能齐全、衍生数量较多、具有良好的配置界面、操作简单并且支持多种语言,是一款比较受欢迎的路由器第三方固件,不仅业余开发爱好者和破解高手喜爱它,而且也获得了很多路由器厂商和企业的青睐。
(3)Tomato是一款小巧、简单易用的第三方固件,其衍生版本众多,追求高稳定性,与DD-WRT固件相比,Tomato固件允许用户自定义脚本,尽管Tomato固件的安装过程较为复杂,但刷写设置后操作简单和较好的易用性深受国内玩家喜爱。但由于Tomato过于局限于硬件设备,所以使得它的兼容性大打折扣,以至于只适合十分熟悉路由器固件的用户和小型企业。
(4)追求高安全性的M0N0Wall固件是众多派生版本的基础,M0N0wall支持的芯片数量较少,但是BSD驱动程序库为其提供了很强的兼容性,因此可与常见的PC硬件兼容。所以当把嵌入式路由器设计成多用途的网络设备时,M0N0wall为大多数用户和大中心企业所选择。
[1]Mike Petullo.Building Custom Firmware with OpenWrt[J].Linux journal,2010(Aug.TN.196).
[2]徐鲁鲁,李荣,吕颜峰.基于DD-WRT路由器的代理服务器搭建[J].硅谷,2011(23).
[3]赵修庆,饶淑珍.路由器第三方固件Tomato的应用[J].电脑知识与技术,2011(19).
[4]程治国.基于M0n0的插件式防火墙系统开发与研究[J].河北大学学报,2012.
汝金星(1990—),男,甘肃人,硕士研究生,研究方向:信息处理。
葛良全(1962—),男,安徽人,教授,博士生导师,研究方向:信号采集与处理。