当前位置:首页 期刊杂志

固定网络与移动网络兼容的家庭网关的设计

时间:2024-07-28

张琦枫,谭云福

(燕山大学 信息科学与工程学院,河北 秦皇岛 066004)

随着3G时代的到来,移动网络通信不断冲击着固网通信的王朝地位。移动网络的超灵活性使其无处不在,无论在偏远的山区还是在环境恶略的沙漠戈壁都能大 显 身 手[1]。 WLAN (Wireless Local Area Network)、WiMax、ZigBee等无线传输技术的日益成熟使得移动通信更是如虎添翼[2]。但信息时代的通信已经不仅仅是语音通信,多方的、多媒体的信息交互才是未来通信的主流[3]。如语音、视频、图像、数据等多种业务的创新及融合会成为未来通信业务层发展的方向[4]。 与移动网络相比,固定网络能够提供稳定、高速、低成本的带宽,而带宽恰恰是业务创新的基础,没有海量的带宽资源,面向信息化的业务创新就无从谈起[5]。

由此可见,移动网络的灵活性和固定网络的高带宽特性必将使这两种网络长期共存并最终走向融合。因此,本文设计并实现了一种能够使不同终端可以同时享受高质量的语音、视频、图像、数据等综合业务的固定网络与移动网络双网兼容的家庭网关。

1 功能及应用前景

1.1 功能

固定网络与移动网络双网兼容的家庭网关具有以下功能:(1)为普通电话提供移动语音业务;(2)通过无线模块发起拨号建立传输通道,为具有接入能力的家庭终端提供 2G/3G无线数据业务;(3)通过 PPPOE(Pointto-Point Protocol Over Ethernet)拨号方式获取广域网 IP地址,为具有接入能力的家庭终端建立接入Internet的传输通道;(4)两种接入广域网的方式可静态切换;(5)同时为不同家庭终端提供有线和无线两种接入局域网的方式。固定网络与移动网络双网兼容的家庭网关的应用模型如图1所示。

1.2 应用前景

电信网、广电网和因特网三网融合是未来中国通信业的发展方向。而业务融合恰恰是三网融合的重要切入点。同一终端能够同时为用户提供语音业务、视频业务以及数据业务是三网融合的最终目标。不难想象,一部高清电视既能看电视,又能登录网站下载电视列表;一部手机既能打电话,还可以同步收看电视直播、无线上网……此时,电视兼容电脑,手机涵盖电视。这样的业务模式已经成为未来网络的发展方向。

但就目前而言,国内三大电信运营商的移动业务资费是比较高的,因此,固网承载大数据流量的视频业务,而移动网络承载语音业务及小数据流量业务的融合方式也就应运而生。

为不同网络间数据的互传提供桥梁,实现形形色色的家庭终端自由享受高质量、高性价比的融合业务,正是本文设计的固定网络与移动网络双网兼容家庭网关所能完成的任务。由此可见,本家庭网关的应用前景是十分广阔的。

2 硬件结构

固定网络与移动网络双网兼容家庭网关的硬件结构由路由模块和无线模块两大模块组成,路由模块作为主控模块。基于网络数据处理与转发能力考虑,路由模块选用基于MIPS (Microprocessor Without Interlocked Pipeline Stages)架构的RTL8196C芯片作为主控芯片,外围电路主要包括存储系统(外扩4 MB SPI Flash和32 MB RAM)、以太网接口、无线局域网接口、与无线模块通信的USB接口、时钟系统、电源系统以及其他电路系统。系统内部结构如图2所示。

图2 系统内部结构

RTL8196C芯片在处理和转发大批量数据、图形图像方面有较强的优势,被广泛应用于网络设备。该芯片内部集成10/100 Mb/s以太网卡,作为家庭网关,百兆以太网卡目前已经足够使用。为与主控芯片配套使用,系统选用RTL8192CE作为无线接口卡以供WLAN用户接入。RTL8192CE是一款基于802.11n规范、集成度高、吞吐量大的 MIMO(Multi-Input Multi-Output)单芯片,它拥有两条传输通道以及两个独立的射频模块,从而保证了长时间数据传输的连续性。系统选用高通公司MSM6290芯片作为无线通信模块,该模块主要支持的网络类型为WCDMA,这使得该芯片在3G无线通信领域拥有广阔的施展空间,它支持的频率范围包括2G GSM/GPRS/EDEG、850/900/1 800/1 900 MHz 4频 以 及 3G UMTS 850/1 900/2 100 MHz 3频,理论上它支持上行传输速率为 5.2 Mb/s,下行传输速率为 7.2 Mb/s,由此可见该款芯片功能强大、支持频率范围广、上下行传输速率高,而且自身良好的USB接口保证了与主控芯片高效的数据交互。

3 软件设计

作为嵌入式系统,优秀的硬件资源是系统强健的骨架,而同样优秀的软件资源则是整个系统的灵魂。首先,主控芯片要运行需要有合适的操作系统来支撑;其次,周边接口要运行需要有合适的驱动程序来保障;再次,一个应用系统要运行必须有诸多合适的应用程序来配合。

3.1 系统应用软件总体架构

系统选用Linux操作系统来控制和管理各种软硬件资源,为了提高系统的运行效率,利用Linux对多进程机制的支持,将家庭网关的应用软件划分ATSERVER、DHCPS、DNS、PPP拨号、PPPOE拨号、Web以及语音通信 7个并行进程。应用软件在Linux下使用C语言开发,总体设计框架如图3所示。

图3 软件总体设计框架

3.2 多进程并行运行机制

对操作系统而言,诸多的应用程序只不过是一个又一个进程,而如何保证这些应用进程并发、高效、稳定地运行是本系统软件设计的重点。减少内核常驻进程的数量是提高系统整体性能的重要手段。基于这样的研发思路,本文设计了一个主控进程,其通过消息传递机制来统一管理、协调系统的各个应用进程。

主控进程所要完成的第一个功能是消息转发。各个应用进程可以看作是不同的消息客户端,而主控进程可以看作是消息服务器,两个消息客户端发消息时,这两个进程之间并不能直接通信,而是通过消息服务器进行消息转发。首先要创建消息服务器,而实际上它只是创建了一个Unix域套接字,该套接字绑定一个相应的文件,消息客户端通过绑定此文件来和消息服务器进行连接。将所有消息客户端的名称和对应的套接字一一对应,映射成一个链表,消息服务器便通过维护这张表来进行消息转发。这种消息传递的基本架构如图4所示。

图4 消息传递基本架构

主控进程所要完成的另一个功能是管理动态应用进程。由于Linux下所有的设备都是文件,因此主控进程只需代理应用进程侦听其文件描述符。一旦文件描述符上有事件产生,就启动相应的进程完成业务处理。而被启动的进程检测到空闲后就自动退出,主控进程检测到应用进程退出后,又会重新代理侦听其文件描述符。因此,在用户看来好像应用进程一直在运行,而实际上却只有主控进程一直在运行。主控进程运行流程如图5所示。

图5 主控进程运行流程

3.3 网关多通信方式的设计与实现

固定网络与移动网络双网兼容的家庭网关在局域网和广域网的通信过程中起着承上启下的作用。作为融合网关,实现固网拨号上网以及无线拨号上网并实现二者的静态切换是本文设计的重点和难点。将通信软件分为局域网通信模块和广域网通信模块两个模块。

3.3.1 局域网通信

网关局域网由以太网卡和无线网卡组成,由于Linux支持网桥模块,因此将两块物理网卡分别挂在Linux的网桥上。利用开源代码编译生成的Linux网桥配置工具brctl为该网桥配置一个逻辑网段,并命名为bridge。此时,把两块物理网卡一一和bridge这个逻辑网段联系起来,并分别作为bridge中的端口eth0和eth1,这样一来,两块物理网卡便可以通过配置好的Linux网桥进行数据转发。为bridge的虚拟网卡配置IP:192.168.1.1,后续便可通过telnet远程管理网桥或通过Web进程以网页的形式对网桥进行管理。

为了方便局域网中多种具有接入能力的终端接入网关,网关需要对外提供多个端口。本网关除了无线网卡提供的空中接口外,还利用以太网卡控制器将以太网卡虚拟出Port0、Port1、Port2和 Port3 4个端口。在对以太网卡初始化的时候,为Port0配置一个虚拟物理地址并作为固网上行端口,命名为 nas0;为 Port1、Port2和 Port3配置另一个虚拟物理地址并作为本地局域网下行端口,分别命名为eth0.1、eth0.2和eth0.3。这两组虚拟物理地址与以太网卡的实际物理地址关联起来形成一个可维护的MAC表,这样对于网关CPU而言只有一块以太网卡,但实际上以太网卡控制器控制着4个端口。当网关选用固网PPPOE拨号上网时,广域网数据便可通过nas0直接透传到3个局域网端口中的任何一个,而处于平等地位的3个局域网端口下挂的终端设备也可以相互访问。

3.3.2 广域网通信

广域网通信主要是指网关将局域网数据转换后转发到相应公网上的过程。固定网络与移动网络双网兼容的家庭网关自然要支持固定网络通信方式以及移动网络通信方式。本文针对两种通信方式分别开发了独立的通信软件,并实现两种通信方式的静态切换。

(1)固定网络通信方式

固网通信主要通过PPPOE拨号方式获取公网IP地址。网关中PPPOE拨号进程实际上是一个PPPOE客户端,它的主要功能是依据PPPOE协议完成发现PPPOE终结端(网络上的接入集中器)并与之建立会话。整个拨号过程由广域网初始化模块、消息监控及配置模块和PPPOE业务处理模块组成。各模块之间的数据流如图6所示。

图6 固网拨号各组成模块数据流

首先,初始化模块会从数据库中读取当前广域网连接信息,并根据读取到的初始化信息启动PPPOE客户端(PPPOE业务处理模块)。在PPPOE客户端不断发起探测报文或者已经和网络上的PPPOE服务器建立起会话的时候,如果其他进程需要与当前拨号进程进行信息交互,则会上报消息到主控进程的消息队列,主控进程依据通信进程ID将对应的消息分发到拨号进程的消息监控及配置模块。在该模块中设置结构体MSG_TYPE标识各种消息类型,如果是SET消息,则在执行设置操作的同时将配置写入数据库,并在设置操作过程中启动新配置连接业务;如果是DEL消息,则在执行删除操作的同时将配置从数据库中删除,并停止该连接业务;如果是GET消息,则在查询过程中从连接业务中读取实时状态信息,并将其反馈给其他进程。在以上各模块的相互协作下,本地局域网端下挂的接入终端设备便可以通过固网拨号程序建立的通信通道与广域网中的主机进行数据通信。

(2)移动网络通信方式

在网关的移动网络通信方式中,利用Qualcomm公司的MSM6290无线通信模块实现移动通信网络的接入。由于该模块对外提供了良好的USB接口,网关主控模块便可以通过USB接口使用AT命令完成对无线通信模块的操作。USB总线的传统拓扑结构是树形结构,本系统中路由模块作为主机负责查询、控制下挂的USB外设,MSM6290无线通信模块作为USB客户端被动地接收并处理主机端发来的命令或请求。在完成对USB初始化后,网关主控模块使用Linux终端设备dev/USB0与无线移动通信模块建立连接通道,控制命令、PPP拨号参数、数据业务都通过此通道进行传输。

数据传输通道建立后,整个无线上行接入模块设计为三个进程协作完成,分别为ATSERVER进程、Web进程以及PPP拨号进程。这三个进程同样要在如前所述的主控进程的监控下进行数据交互。其中,ATSERVER进程是与无线通信模块进行命令交互的唯一通道,ATSERVER进程通过USB驱动与无线通信模块交互,而Web进程和PPP拨号进程通过消息队列的方式与ATSERVER进程进行通信。这样的设计有利于软件接口统一,避免多个进程同时占用USB数据传输通道而引起阻塞。Web进程作为用户接口将用户通过Web页面配置的拨号参数传递给PPP拨号进程,当拨号条件被触发时,PPP拨号进程便发送携带拨号信息的消息传送给ATSERVER进程。这样,拨号信息通过USB通道下发到无线通信模块,无线通信模块就会向网络发起拨号,如果拨号参数配置正确,则一条无线上行数据通路就会被建立。

固定网络与移动网络双网兼容的家庭网关将固网通信和移动网络通信很好地结合在一起,用户可以利用本网关静态的选择接入方式,例如在进行大数据量业务时可选择固网上行方式,而当进行语音等小数据量业务时可切换到移动网络上行方式,从而为家庭用户提供性价比较高的综合通信业务。本家庭网关无论在硬件设计还是在软件设计上都采用了比较先进的方法,从而保证了系统运行的稳定性和可靠性。随着电信网、广电网和因特网的不断融合,本双网兼容的家庭网关会有很广阔的应用前景。

[1]蔡皓,冯仁剑,万江文.具有多种通信方式的无线传感器网络网关[J].传感技术学报,2008(1):173-177.

[2]邹巍.WLAN与3G融合之道 [J].华为技术,2010(52):15-16.

[3]袁超伟,张金波,姚建波.三网融合的现状与发展[J].北京邮电大学学报,2010,33(6):1-6.

[4]刘小平,韦玲艳.三网融合业务模式分析[J].通信管理与技术,2009(5):32-35.

[5]赵子忠.三网融合的关键视角——用带宽战略解读三网融合[J].中国传媒大学学报,2010(6):12-15.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!