APP下载

智能路由器的软件架构分析

2016-03-1773049部队仇赛杰

电子世界 2016年19期
关键词:路由器报文路由

73049部队 季 烨 仇赛杰

智能路由器的软件架构分析

73049部队 季 烨 仇赛杰

现阶段家用电器的发展已经进入到了一个智能时代,智能设备大有井喷之势。无线路由器作为家庭互联网的入口设备,更是不例外的踏入了智能时代。由于软件控制是其智能的关键,本文重点在于论述其软件系统架构。分析智能路由器的软件架构特点,并通过对经典的开源智能路由器操作系统OpenWrt进行分析,说明了智能路由器的基础原理。

路由器;智能路由器;openwrt

0 引言

现阶段的家用电器的发展已经进入到了一个智能时代,智能设备大有井喷之势。无线路由器作为家庭互联网的入口设备,更是不例外的踏入了智能时代。用户除了追求路由器的稳定性、信号质量、连接强度以外,也越来越关注用户体验、路由器的功能拓展、功能的自动化等方面,这样就是智能路由器孕育而生的原因了。这也就是为什么在当前无线路由器的整体销量下滑的背景下,智能路由器的使用率逐步提升的原因,大有爆发性增长的可能。

1 智能路由器的特点

无论是传统路由器与智能路由器其基本功能都是通过其上的路由协议,通过相互之间的协作将IP数据包由源端送完宿端。因此就基本功能而言路由器由两类最基本功能构成,即路由转发和控制管理。路由转发是将通过路由器的每个报文根据配置策略转发给输出链路,输出链路通过链路调度实现高速的转发,这个功能一般由硬件实现。而软件主要在控制管理方面,其包括路由交互表、系统配置、端口配置、协议配置、安全配置、设备升级、配置备份及恢复、系统管理等控制管理功能[2]。

显然智能路由器的智能部分主要是软件方面体现,即在控制管理方面进一步进行扩充,提供智能化的路由器管理,相对于传统路由器而言,其路由器操作系统除了专用与路由功能的软件,还可以通过更多扩展应用。

2 智能路由器与传统路由器的区别

从软件的智能功能上来讲,智能路由器与传统路由器的区别主要在下述几个方面。

2.1 更人性的用户体验

一方面路由器内部提供的用户界面较之传统界面更加人性、功能设置更加合理,配置向导更加只能,趋于傻瓜式配置。另一方面,可以提供手机、平板等智能设备通过APP直接进行设置。

2.2 存储共享

由于智能路由器一般配备内部存储或外部USB扩展存储的支持。用户一方面可以远程共享这些网络存储服务,还可以将视频缓存在共享存储中离线观看。夜间缓存用户想看的视频,白天不影响用户其它网络访问。用户还可上传资料的时候先上传到路由器,路由器慢慢上传,减小用户对上下行带宽不一致的感受。

2.3 应用的针对性

对于一些特定的应用其可以提供更优先的带宽,如大量的游戏、网站、视频、IPTV等。传统路由器需要复杂的手工设置,而智能路由器可以根据应用的报头自动判断根据策略及算法动态配置。

2.4 功能的扩充

传统路由器只能通过系统整体升级来升级功能,而智能路由器由于具有独立的操作系统,所以可以通过安装应用的方式扩充功能。

2.5 内容推荐及过滤

智能路由器可以根据分析报文,了解用户的喜好及行为,从而向其推送更加符合用户需求的信息,如加速某些游戏、定向加速某些网页的浏览等,同时还可以对一些广告在报文级就自动过滤。

综上所述,智能路由器较之传统路由器主要是更加人性,用户体验更加合理,同时作为互联网入口能够更好的与其它应用及硬件相融合。

3 智能路由器操作系统简介

由于智能路由器的本质就是其具有独立的操作系统,因此智能路由器软件架构就是智能路由器的操作系统架构。传统路由器通过对固件升级来扩充其控制功能,显然这个固件就是一种实时操作系统。智能路由器也提供了一个操作系统,只是在系统设计上更加易于应用的扩展,可以方便设计更多贴近用户的功能。

路由器的操作系统,最早可追溯到上世纪八十年代,由美国WiindRiver公司推出的VxWorks,其几乎支持市场上所有的嵌入式CPU,包括x86系列、Intel i960、SPARC、ARM、PowerPC以及xScale CPU。但是由于其封闭性,专用性,导致其推广并不多,也不为开发人员所熟知。

后来由于linux及开源软件的兴起,一些专用于某些芯片的linux裁剪系统逐渐诞生。像Redhat推出的eCos、Lineo公司支持维护的uClinux等,均在一些路由器中被使用。但其裁剪较多,缺乏多任务,缺乏内存管理等限制条件,其很难被应用于智能路由器。但是,这些操作系统带来了一种全新的概念,就是把linux引入到了路由器领域,很多芯片厂商也在linux裁剪、编译、驱动、硬件加速上下了很大的力度。

操作系统是软件与硬件设备的桥梁和平台,路由器操作系统就是管理路由器硬件和路由器上的控制软件、系统软件以及应用软件的平台程序。WRT54G[3]是由思科公司推出的一款路由器经典操作系统,其是基于Linux内核开发的并遵守GNU(General Public License),因此其源码也是开发的。基于此,越来越多的人为这款操作系统做出了极大的贡献,于是OpenWrt单身了。由于其易于开发、功能强大、编译方便,目前国内外不少厂家的智能路由器都是基于开源的OpenWrt作为其操作系统,其也慢慢进入了主流行列。本文将以OpenWrt系统架构作为一个经典设计,来分析智能路由器软件架构。

4 智能路由器操作系统的基础系统架构

相比普通运行在PC的操作系统,路由器操作系统的软件设计更为简洁,也裁剪了不少与路由器无关的管理功能。其基本思路是在保留基本的进程管理、内存管理、IO管理、文件管理等内核的基础之上开发一个包含了TCP/IP的协议栈,基于协议栈开发更多的应用功能模块以及用于用户交互的基础用户接口,构成一个完整的架构。

一般而言其系统层次由下至上由以下六个部分构成:

(1)内核层,其提供对CPU、存储器的管理,提供上层的服务如存储管理、IO管理、进程调度、定时器等基础服务。

(2)设备驱动层,对下层硬件管理,并对进程服务提供通用的访问接口。

(3)报文缓存层,其用来存放要被交换的报文。

(4)各种基础服务进程层,其包括如telnet、FTP、SNMP、HTTP以及各种协议服务进程:TCP、IP、RIP、UDP、OSPF、ARP、BGP、ICMP、IGMP、加解密算法服务、NAT、报文过滤、端口过滤等,WAN口配置、ATM配置、VPN配置等设备配置服务。

(5)用户接口层,其包括命令行接口、对象管理接口、WEB管理接口、自动配置服务器接口、以及各种可扩展的接口。

(6)应用进程层,用于开发各种智能模块,其可以使用下层的基础服务,开发各种贴近用户的应用程序。

作为目前在智能路由器中的主流操作系统OpenWrt除具备上述基础系统架构,其还有着更优良的设计。OpenWrt其系统设计遵循软件架构的层次设计,由下之上分别为,Linux平台层、各种SDK及扩展功能库、OPG管理、统一配置管理接口、系统服务进程和包括了WEB UI代理、SNMP代理、TR069代理、Shell等的代理访问层。其中,代理层的丰富保证了各种访问及控制的可能,以及为更为人性化的交互设计提供了基础服务。

随着OpenWrt的发展,其还提供了许多商用家庭网关固件相关的功能,如DHCP服务、WEB无线加密、认证及证书管理等。由于其提供的OPG管理功能,可以使用统一的软件包来增加或删除软件包来实现功能的扩充与变更。这样极大扩展了路由器的功能范围,从而实现了智能的效果。

5 总结及展望

由于软件控制是其智能的关键,本文重点在于论述其软件系统架构。分析智能路由器的软件架构特点,并通过对经典的开源智能路由器操作系统OpenWrt进行分析,说明了智能路由器的基础原理。智能路由器的出现,实际上是将控制层与转发层分离,转发由硬件完成,控制由软件定义,这也是近些年很多这类系统的设计特点。相信未来的路由器必然会更加智能,其发展一定趋于定制化和开源化,更多的用户会参与设计,更多的专业开发人员也会定制出更多样化的产品。

[1]杭州华三通信技术有限公司.路由交换技术(第 1 卷)[M].北京:清华大学出版社,2011:87-89.

[2]多伊尔,卡罗尔.路由器配置操作与应用原理[M].葛建立,译.人民邮电出版社,2006:66-69

[3]Bird Intern Articles on Routing Softeware Openwrt[M]. Hephaestus Books,2011:115-120.

季烨(1984—),女,江苏人,解放军73049部队工程师,主要从事计算机软件方面的研究。

猜你喜欢

路由器报文路由
基于J1939 协议多包报文的时序研究及应用
买千兆路由器看接口参数
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
探究路由与环路的问题
ATS与列车通信报文分析
你所不知道的WIFI路由器使用方法?
PRIME和G3-PLC路由机制对比
WSN中基于等高度路由的源位置隐私保护
eNSP在路由交换课程教学改革中的应用