0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

新型无线VPN路由器硬件设计开发方案

电子设计 来源:中电网 作者:中电网 2021-02-02 14:26 次阅读

文较为详细地介绍了一种新型无线VPN路由器的设计方法。首先从硬件构造上进行剖析,提供了详细的硬件开发方案。然后重点阐述了软件设计方法,包括操作系统的移植,实现无线网络连接的PPP拨号程序以及实现VPN 的IPSEC应用程序。通过使用本文中所提出的方法,可以很好的满足很多行业的应用需求。

近年来蜂窝式移动通信系统在中国的发展非常迅速,不仅给用户带来了方便快捷的语音通信服务,而且还能提供灵活的数据通信服务。

本文提出了一种新型的基于ARM7的嵌入式设备———GPRS无线VPN路由器的设计方法,使得原先使用有线通信系统的各种业务终端设备能够非常方便地接入到GPRS网络中,利用无线移动网络提供的数据服务来进行数据通信。

1 概述

1.1 ARM简介


ARM (Advanced RISC Machines) ,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥, ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。ARM微处理器目前包括下面几个系列, ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、Intel 的Xscale以及StrongARM。它们共同构成了当今嵌入式领域的主流微处理器。

1.2 GPRS简介

GPRS(General Packet Radio Service)是通用分组无线业务的简称,是在GSM基础上发展起来的一种分组交换的数据承载和传输方式。与原有的GSM比较, GPRS在数据业务的承载和支持上具有非常明显的优势:通过多个GSM时隙的复用,支持的数据传输速率更高,理论峰值达115kbps;不同的网络用户共享同一组GPRS信道,但只有当某一个用户需要发送或接收数据时才会占用信道资源。这样,通过多用户的业务复用,更有效地利用无线网络信道资源,特别适合突发性、频繁的小流量数据传输,很好地适应数据业务的突发性特点; GPRS计费方式更加灵活,可以支持按数据流量来进行计费;与无线应用协议(WAP)技术不同, GPRS能够随时为用户提供透明的IP通道,可直接访问Internet中的所有站点和资源;采用信道复用技术,每一个GPRS用户都能够实现永远在线。

2 硬件部分

2.1 设计思路


无线路由器电路板通过无线通信模块连接GPRS移动网络,通过以太口连接内部终端设备或者内部局域网。无线路由器具备网络路由功能,能够在两个网络之间转发数据。各种终端设备发出的数据通过以太口被处理器接收,处理器对数据进行相应处理后(例如加/解密)再通过串行口发送给无线通信模块,由它转发到GPRS网络中。同理,反向的数据经过相反的路径最终送回终端设备。

2.2 硬件设计

嵌入式处理器采用三星公司的S3C4510B,它是基于以太网应用系统的高性价比的16/32位RISC微控制器,内含一个由ARM公司设计的16/32位ARM7TDMI RISC处理器核。通过GPRS网进行数据传输需要使用GPRS模块。目前, GPRS模块一般是指带有GPRS功能的GSM模块,模块通过外接天线与蜂窝小区基站通信, 收发无线数据。本设计中GPRS 模块采用Wavecom公司的W ISMO Quik Q2400系列.其他各部分基本功能描述如下:

串行接口电路用于S3C4510B与GPRS模块以及其他应用系统进行短距离双向串行通讯; 复位电路可完成系统上电复位和在系统工作时用户按键复位;电源电路为整个系统提供工作所需的电压,包括5V, 3.6V以及3.3V;10MHz有源晶振为系统提供工作时钟; FLASH存储器可存放已调试好的应用程序、嵌入式操作系统或其他在系统掉电后需要保存的用户数据等;

SDRAM存储器作为系统运行时的主要区域,系统及用户数据、堆栈均位于SDRAM存储器中;10M/100M以太网接口为系统提供以太网接入的物理通道;I2C存储器可存储少量需要长期保存的用户数据.

2.3 硬件连接

完整的硬件连接图如图1所示。

o4YBAGAY-xWAWjJSAAEy8jGYQ1k256.png

图1 硬件连接图

3 软件部分

在此无线路由器中使用的操作系统是uClinux,它是专门应用于没有MMU的微控制器上的操作系统。uClinux操作系统中已经内嵌了TCP/IP网络协议的实现代码,在内核中设置“IP转发”就能实现静态路由功能。为了实现拨号登录移动网络以及VPN的功能,则需要用到2个网络应用程序: PPP应用程序和IPSec应用程序。图2是整个系统的软件结构层次图。

o4YBAGAY-yOAWQoPAAB7oZoWYuY856.png

图2软件结构层次图

3. 1 uClinux 的移植

uClinux 的源代码和开发工具可以免费从http: //www.uclinux.org上下载得到。www.uclinux.org上定期为新推出的Linux内核推出相应的源码包。最新的版本为uClinux-dist-20040408.tar.gz,也可以从该网站上免费下载得到。这个源码包里包含了uCL inux -2.6.2、uCL inux-2.4.24、2.0.39、uClibc和已经移植到uClinux下的用户应用程序。tar xzvf uClinux-dist-20040408.tar.bz将其解压缩到/home/uClinux-dist下。另外还需要从www.uclinux.org/pub/uClinux/arm-elf -tools/上下载ARM 交叉编译器: arm-elf-tools-20030314.sh,执行以建立uClinux-ARM的交叉编译环境。为了使uClinux能顺利地在无线路由器上跑起来,需要针对此硬件平台对uClinux再进行修改。在/home/uClinux-dist/linux-2.4.x/include/asm-armnommu/下的hardware.h文件包含了S3C4510B片内特殊功能寄存器以及其他相关硬件信息的定义。可以在此对其进行修改。另外还可以在make xconfig的时候将vendor选为Samsung,并选中Customize Kernel Settings一项,之后可以在出现的System Type中对相关参数进行修改,主要包括系统的主时钟频率、FLASH和SDRAM的起始地址及大小等。最终通过编译即可得到无线路由器运行所需要的image.rom和image.ram。

3. 2 PPP应用程序

PPP应用程序用来通过无线通信模块拨号登录移动网络,登录过程遵循PPP (Point-to-Point Protocol)通信协议。目前uClinux操作系统中已包含的多种应用程序中有一种实现PPP协议的程序pppd,只需要根据无线移动网络通信的特征,修改pppd源代码中的部分配置参数,就能够得到需要的PPP应用程序。以下是进行拨号登陆移动网络的脚本程序:

#! /bin/sh

/usr/sbin/pppd

nodetach

connect"/etc/ppp/peers/gprs-connect-chat"

disconnect"/etc/ppp /peers/gprs-disconnect-chat"

/dev/ttyS0

115200

nocrtscts

local

defaultroute

novj

nobsdcomp

novjccomp

nopcomp

noaccomp

noauth

其中用来实现拨号和挂断的脚本gprs-connect-chat和gprs-disconnect-chat分别如下:

gprs-connect-chat

#! /bin/sh

exec/usr/sbin/chat

TIMEOUT 5

ECHO ON

ABORT ’nBUSY r’

ABORT ’nERROR r’

ABORT ’nNO ANSWER r’

ABORT ’nNO DIALTONE r’

ABORT ’nR INGING rnrnRINGING r’

SAY "Press CTRL-C to close the connection at any stage!"

SAY"ndefining PDP context. . . n"

" " ’+ + + ’

" " ’ATH’

OK ’AT +CGDCONT = 1,"IP" , "cmnet" ’

OK ’ATDT3 993 3 3 1#’

TIMEOUT 10

SAY" nwaiting for connect. . . n"

CONNECT" "

SAY"nConnected. "

SAY"n If the following ppp negotiations fail, n"

SAY"try restarting the phone.n"

gprs-disconnect

#!/bin/sh

/usr/sbin/chat

TIMEOUT 5

ECHO ON

ABORT ’NO CARR IER’

ABORT ’ERROR’

ABORT ’NO DIALTONE’

SAY "nSending break to the modem n"

" " ’dd + + + d d’

" " ’ATH’

" " OK

SAY"nPDP context detached n"

3. 3 IPSec应用程序

IPSec应用程序用来在路由器上建立基于IPSec( IP Security)协议的虚拟专用网VPN (Virtual PrivateNetwork) , IPSec 是IETF( Internet Engineer TaskForce)制定的安全标准,它把几种安全技术结合在一起形成了一个较为完整的体系。它通过对数据进行加密、认证、完整性检查来保证数据传输的可靠性、私有性和保密性。IPSec提供IP层的安全性,由于所有支持TCP/IP协议的主机进行通信时都要经过IP层的处理,所以提供了IP层的安全性就相当于为整个网络提供了安全通信的保障。IPSec由认证头AH (Authentication Header) 、安全封装载荷ESP( Encap sulated Security Payload)和密钥管理协议组成。IPSec应用程序的设计就是将IPSec协议用计算机语言代码来实现。uClinux 操作系统中的FreeSWAN应用程序就是用来实现IPSec协议的一种公开源代码软件,通过对相关部分的修改和配置,就可以在无线路由器上运行。最新版本的uClinux中已经包含了FreeSWAN1.97。

对FreeSWAN 的配置主要是对/ etc / ipsec.conf和/ etc/ipsec.secrets 这两个文件进行相应的编辑。/etc /ipsec.conf中包含了对应不同连接的相关配置信息,而/etc/ipsec.secrets中则包含了RSA密钥对以及预共享秘密等用来进行认证的密钥信息。在无线路由器上执行# ipsec showhostkey———left,以获得该主机的RSA 公钥,然后编辑/etc/ ipsec.conf,增加了一个名为“net - net”的新连接。

conn net-net left = x. x. x. x ,填入无线路由器拨号所获得的对外IP地址leftsubnet = 192.168.1.0/24 ,无线路由器网关保护子网的IP地址范围leftrsasigkey = 0s1LgR7 /oUM. . . ,将刚才得到的left RSA公钥填入right = x. x. x. x ,填入VPN服务器的对外IP地址rightsubnet=192.168.5.0/24 ,另一方保护的子网IP地址范围rightrsasigkey = 0sAQOqH55O. . . ,将VPN服务器的right RSA公钥填入auto=add ,启动时并不自
动建立连接双方重新启动ipsec后,该连接就被Pluto加载, 并做好建立连接的准备了。在无线路由器上执行# ipsec auto———up net-net即可看到一系列的连接建立过程。

4 连接方法及应用

无线路由器对终端设备提供两个接口,分别是以太网接口和RS-232 串行接口。无线路由器中的路由软件将来自设备的数据自动转发到GPRS网络,或者接收来自GPRS网络的数据并转发给设备。终端设备只要通过以太网口或RS-232串行口连接到无线路由器,并将默认网关设置成无线路由器的IP地址,就可以接入到GPRS网络。

o4YBAGAY-02AU59YAAEK3p0Vn94658.png

图3网络规划和设计图

使用通信专线将移动网络与行业的数据中心相连;在数据中心放置VPN服务器,与各网点的无线路由器进行VPN连接;修改现有网络中各设备的网络配置,利用移动网络进行数据通信。其适用场合包括: 银行:营业网点、ATM机、pos机; 医院:医保中心联网、流动救护车; 保险:保险公司网点联网; 超市、连锁店:M IS系统互连; 移动场所:电力抢修、治安警车等; 环保:现场监控、联网。

5 总结

本文较为详细地介绍了一种新型无线VPN路由器的设计方法。首先从硬件构造上进行剖析,提供了详细的硬件开发方案。然后重点阐述了软件设计方法,包括操作系统的移植,实现无线网络连接的PPP拨号程序以及实现VPN 的IPSEC应用程序。通过使用本文中所提出的方法,可以很好的满足很多行业的应用需求。
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GPRS
    +关注

    关注

    21

    文章

    980

    浏览量

    128580
  • ARM7
    +关注

    关注

    3

    文章

    208

    浏览量

    50079
  • 无线路由器
    +关注

    关注

    9

    文章

    335

    浏览量

    31068
  • VPN
    VPN
    +关注

    关注

    3

    文章

    274

    浏览量

    29376
  • 路由器
    +关注

    关注

    22

    文章

    3482

    浏览量

    111315
收藏 人收藏

    评论

    相关推荐

    路由器桥接路由器怎样桥接 路由器桥接好还是中继好

    桥接 路由器桥接是指将一个路由器连接到另一个路由器上,通过无线或有线连接,将两个或多个网络连在一起,使其成为一个单一的网络。桥接可以扩大网络范围,同时保持原有网络的兼容性和功能。 桥接
    的头像 发表于 02-20 14:26 638次阅读

    为什么要桥接无线路由器?如何通过网线将两个路由器进行桥接?

    为什么要桥接无线路由器?如何通过网线将两个路由器进行桥接?两台路由器有线桥接的两种方法  为什么要桥接无线路由器无线路由器是目前家庭和办
    的头像 发表于 02-04 14:07 562次阅读

    mesh路由器组网优缺点有哪些?mesh路由器和普通路由器有什么区别?

    mesh路由器组网优缺点有哪些?mesh路由器和普通路由器有什么区别? Mesh路由器组网优缺点: 优点: 1. 更广阔的覆盖范围:Mesh路由器
    的头像 发表于 02-04 14:07 2132次阅读

    智能路由器和普通路由器的区别

    的技术原理和硬件设计。智能路由器通常具备更快的处理器和更大的内存,以及更强大的无线信号传输技术。相比之下,普通路由器硬件性能相对较弱,无法
    的头像 发表于 12-26 14:26 407次阅读

    两个无线路由器怎样桥接?

    两个无线路由器怎样桥接? 桥接是一种将两个无线路由器连接在一起并合并它们的网络的方式,以实现更大的无线覆盖范围和更好的网络性能。 首先,让我们明确一下什么是桥接。桥接是指将两个无线路由器
    的头像 发表于 12-11 11:11 882次阅读

    无线路由器让您尽情畅享快速上网

    无线路由器让您尽情畅享快速上网
    的头像 发表于 11-24 15:27 202次阅读
    <b class='flag-5'>无线路由器</b>让您尽情畅享快速上网

    无线路由器卡网速慢的解决办法

        无线路由器网速卡慢怎么办 路由器自动清理功能开启技巧                       
    发表于 09-05 18:16 4次下载

    5G CPE 无线路由器CPE

    随着科技的飞速发展5G不仅提供了更快的速度和更强的稳定性,还有能力支持大规模连接和多种应用场景。在5G网络中,5GCPE无线路由器扮演着至关重要的角色。一、5GCPE无线路由器的功能5GCPE无线路由器
    的头像 发表于 08-21 17:17 1115次阅读
    5G CPE <b class='flag-5'>无线路由器</b>CPE

    Banana Pi BPI-Wifi6开源路由器,创耀科技方案可以自已DIY尽情折腾

    路由器开发板。硬件上已经提供了PoE, 还引出了GPIO,可以自己折腾物联网应用,像LoRA,zigbee应用模块。 []() 创耀科技提供的WIFI6路由器
    发表于 08-21 16:31

    Banana Pi 推出带有 2 个 2.5GbE 端口的迷你路由器开源硬件开发

    Banana Pi 今天推出了一款迷你路由器板,基于 MediaTek MT7986 无线网络片上系统,针对路由器进行了优化。Banana Pi BPI-R3 迷你路由器板还支持
    发表于 07-29 12:42

    Banana Pi BPI-R3 Mini:2.5GbE 嵌入式路由器

    功能,包括 VPN、防火墙和 QoS 支持。因此,用户可以保护他们的网络并确定网络流量的优先级,以确保始终优先处理关键数据。此外,该路由器内置 Wi-Fi,可提供无线连接,用于连接没有以太网端口的设备
    发表于 06-13 12:58

    基于Rockchip RK3568的路由器开发方案

    Banana Pi BPI-R2 Pro 开源路由器采用Rockchip RK3568芯片方案设计, 板载2GB LPDDR4内存和16GB eMMC存储,支持2个USB 3.0接口,5千兆网口
    发表于 06-07 09:17

    如何配置ESP8266以连接到VPN

    我有一个 ESP8266 闪烁着 Ahoy DTU(使用了 noob 网络安装程序)来测量我爸爸太阳能电池板的能量产生。 我爸爸使用旧的 DLINK 615 路由器 在我的地方,我有一个运行
    发表于 06-01 10:16

    无线路由器的优缺点和设置方法

      无线路由器(Wireless Router)好比将单纯性无线AP和宽带路由器合二为一的扩展型产品,它不仅具备单纯性无线AP所有功能如支持DHCP客户端、支持
    发表于 05-09 16:55 6724次阅读

    ORB305与CISCO路由器构建L2TP over IPSec VPN操作手册

    ORB305与CISCO路由器构建L2TPoverIPSecVPN操作手册1、网络拓扑在思科路由器与ORB305之间建立一个安全隧道,对客户路由器端设备子网,与思科
    的头像 发表于 04-21 14:20 439次阅读
    ORB305与CISCO<b class='flag-5'>路由器</b>构建L2TP over IPSec <b class='flag-5'>VPN</b>操作手册