路由器开发
基于88W8510H的无线路由器设计与开发

福
建
ቤተ መጻሕፍቲ ባይዱ
电
脑
21 0 0年第 4期
基 于 8 W8 H的无线路 由器设计 与开发 8 50 1
刘宇宽
(郑 州轻 工业 学院 河 南 郑 州 4 0 0 ) 502
【 要】 摘 :分析 了无线路 由器在 网络 中的地住 ,讲述 了如何利 用 Mavl公 司 3 re l 2住 R S IC微控制 器 8 W8 1H构建无 8 50 线路 由器 , 介 绍 了 Lnx 内核 裁 剪 , 线路 由的 配 置 , 并 iu 无 为无 线 路 由器 的发 展 与应 用提 供 参 考 。 【 关键词 】 无线, 由器, 8 5 0 , : 路 8W8 1H 设计
2 无 线 路 由器 硬 件 结 构 、 21无 线路 由器 主 要 构 成 .
c I 州
图 18 W8 1 H芯 片 内 部结 构 8 5 0
无 线 路 由器 主 要 由核 心模 块 和 通 信 接 口模 块 构 成 。 核 心模 块 是 MavU公 司 的 、 于 以 太 网 和无 线 应 用 系 统 的 re 基 高性价比的 3 2位 砒S C微 控 制 器 8W8 lH。根 据 嵌 入 式 操 作 8 50 系 统 的运 行 需 要 . 展 了 由 两 片 4 1 扩 Mx6位 的 H 5 V 4 6 0 G Y 7 6 12 H T 组 成 S R M 存储 器 .作 为 嵌入 式操 作 系 统 内 核 及 应该 程序 运 DA 行 的 内 存 空 间 : 扩 展 了 由 一 片 2 1 位 的 MⅪ C Mx6 M 2 L 30 B C组 成 的 Fah存 储 器 。作 为 内核 映 像 的 存 储 。 X 9 V 2C T l s 并 在嵌 入 式 操作 系统 启 动 时 加 载 系 统 内 核及 程 序 。通 信 接 口模 块 由 交 换 芯 片 8E 0 0 R 8 6 6 、 F芯 片 8E 0 0 完 成 异 步 串 行 、 8 81 。 以太 网 控制 和 无 线通 信 。 228 W8 1H 内部 结 构 . 8 50 8W8 1 H 芯 片 内部 有 A M 公 司 设 计 的低 功耗 、高 性 能 、 8 50 R 图 2无 线 宽带 路 由 器 电路 图 3 2位 的 A Mg M 内核 , R T 另外 还有 一 些 片 内外 围 功 能 模 块 。 主要 . . 为 : K B t 部 r (K B t n idcc e rm . 线 M C 231 初 始化 模 块 8 y e内 a 8 y u ie ah/ a )无 m e f s A& 对 寄 存 器 、 L S S R M、 选 信 号 初 始 化 ; 线 模 块 初 F A H、 D A 片 无 基 带模 块 ( A & aea d、 以太 网 控件 器 模 块 (t me cn M C B sbn ) Eh t o. e Ehme L NWA 中 设 t lr P ,C 、 口( I 、 钟(m  ̄ 、 r l 和 H P I 串 u t 时 t e 可编程 I 口 po 始 化 : te t A / N 口 、 断控 制 器 初 始 化 、 置 中断 向 量 oe a) i / O r. 中 端 发 建  ̄ms t u ga m bei otG i ) 中 断 控件 器 ( t rp Ot l r 。 rm a l / pr ,PO及 o s i e u t Irl ) 如 及 优 先 级 ; 断使 能 , 口接 收 , 送 使 能 ; 立 I mc m 类 n r C loe 等 型 无 线 网络 等 图 1 示。 所 23 -2端 口处 理 模 块 . 23 线 接 口和 R .无 F电 路设 计 无 线 模 块和 E H R E A / A T E N TL N W N端 口 的 中断 处 理 。若 是 无 线 接 口和 R F电路 主要 有 8 E 5 0 的 MA & 基 带 模 块 8 81H C 接 收 中 断 . 接 收 帧 保 存 - 清 相 关 的 寄 存 器 一 出 中 断 。 若 是 发 将 > > ( A &Bsb n)和 R M C ae ad F芯片 8 W8 1 实 现 的 .其 兼 容 mE 8 0 0来 E 送 中断 . 发送 帧到 相 关 寄存 器一 清 相关 的寄 存 器一 出中 断 写 > > 8 21gIE 0 .1 标 准 ,速 率 可 达 5 M p。 调 制技 术 。1 0 .l, E8 21b E 4 bs lb 233接收 发 送 队 列 管 理模 块 . I 模式采用 D S S S直序调频 ( B S , Q S , C 1 1b模式采 D P K D P K C K ,l 将 端 口处 理 模 块 中接 收到 的帧 按 n 规 则 送 入 相 应 的 接 用OD F M正交频分复用 ( P l Q S , 6 A 6 Q M 。 F功 B S( P K 1Q M, 4 A ) R , 收 队列 中。 将 需 要发 送 的帧 按 FF IO规 则 从 相应 队列 取 出 。 率 :3 1d m( l 式 )1— 9 B Ib模 式 ) 1— 5 B 1g模 ,6 1d m( I 。主要 功 能 有 初 23 .. 习模 块 4学 始 化模 块 , 1处 理 模块 , 收发 送 队列 管 理 模 块 , 习模 块 , 端 3 接 学 过 分析 每 个 端 口接 收 帧 的源 地址 .若 源 地 址 不 在 相应 端 口 的 滤 功能 模块 。 动 管 理模 块 。 由转 发 模 块 。 移 路
openwrt概况参数

OpenWrt是一个嵌入式操作系统,主要用于路由器设备的固件开发。
它提供了一个高度可定制的软件平台,允许用户根据需求进行定制和扩展。
以下是OpenWrt的一些概况参数:
1.平台支持:OpenWrt支持多种硬件平台,包括x86、ARM、MIPS等,因
此可以适用于各种不同的路由器设备。
2.包管理:OpenWrt采用luci-app-tarzan包管理系统,该系统提供了一个
易于使用的界面,用于安装、卸载和管理软件包。
3.安全性:OpenWrt默认开启了防火墙功能,可以有效地保护路由器的安全。
此外,OpenWrt还支持SSL/TLS加密通信,保证了数据传输的安全性。
4.性能优化:OpenWrt对路由性能进行了优化,支持NAT、DHCP、DNS
等多种路由协议,使得路由器的性能更加高效。
5.可定制性:OpenWrt提供了丰富的接口和工具集,允许用户根据需求进行
定制和开发,从而打造出符合自身需求的路由器固件。
6.社区支持:OpenWrt拥有一个活跃的开源社区,为开发者提供了丰富的资
源和支持。
在遇到问题时,开发者可以方便地寻求社区的帮助和支持。
总之,OpenWrt是一个功能强大、可定制性高的路由器操作系统,适用于各种不同的应用场景。
软件开发中的路由器与交换机软件设计

软件开发中的路由器与交换机软件设计企业级软件开发是当前IT行业中最具挑战性和最关键的领域之一,其核心是路由器与交换机软件设计。
路由器与交换机软件设计的目的是为了提升企业网络的有效性,节约企业成本,增强企业竞争力。
企业网络是由路由器和交换机组成的,这些组件需要不断升级以应对企业日益增长的需求。
在路由器与交换机软件设计中,主要目标是实现对大量数据的处理和转发,并维护网络的安全和可靠性。
这些任务在过去10年中已经成为了企业级软件开发的重中之重。
在软件开发中,路由器与交换机软件设计的重要性不言而喻。
它们是建立企业整体网络内部通讯的核心。
路由器和交换机也是企业与厂商之间的桥梁,通过它们进行数据的传输和共享。
在路由器和交换机软件的设计中,需要考虑到以下方面:一、网络协议的设计网络通讯是路由器与交换机组件之间的关键部分。
应用程序的网络协议需要提供迅速的数据传输,确保所有数据在迅速传输中是全面保护的。
网络协议的设计和实现可以影响到企业网络的整体性能和稳定性。
在网络协议的设计过程中,需要考虑的关键因素包括数据加密,数据传输的完整性,以及网络设备的故障排除能力。
二、服务器和客户端程序的设计在路由器与交换机软件设计中,必须要有一种服务器和客户端程序的设计方案。
服务器程序的设计类似于数据库设计,需要考虑到多个用户同时访问同一个文件的情况,并保证数据的安全性。
客户端程序的设计则需要考虑到多个数据客户端所在的网络,自动发现新的设备,并将其添加到网络拓扑结构中。
在服务器和客户端程序的设计中,还需要设计并实现一种统一的数据表示模式,以确保不同系统之间数据的交换和共享。
三、动态配置路由器和交换机路由器和交换机的动态配置是在企业网络管理中非常重要的部分。
设计一个可以自动修改路由表和交换机配置的软件应用程序是很必要的。
例如,一家企业可能会在早上和下午卸载两种不同的操作系统,需要一种软件应用程序可以自动根据用户使用的操作系统调整网络配置路由器和交换机。
可重构路由开发环境

用户可以通过代码编辑器开发元构件和 在 AP 内部将 函数调用转换 为对应 的针对 I
强瑁
图1 1根据配置设定 自动选择不同的编译工具
凋用 。
如 图 1 所 示 ,在 编 译 1
G enrc reta 绿色办公解决方案针对办公室节能 减排而设计 ,旨在帮助各个机构从 P 使用的 c
多操作系统 V Wok , n o sLn x x rsWi w ,iu d 用户在开始新建开发任务时 ,选择 目
制 文件 。 个工程 可以是一 个元构 件 、 每 构 标 硬 件 平 台和 目标 操 作 系统 。 在 开发 过 程
连 续 运 行 八 小 S nr g 董事长 L y rs oal i oc l dEnt o
■
件 , 可以是一个 组件 。具体 如图 6 图 中需要调用时 ,统一调用开发环境提供 的 也 和
’既 示 ,
A I 代替。A I P来 P 为用户提供统一的接 口, 具体硬件 和操作系统的系统
电。按每度 电一元计算 ,一万台电脑每天的 电费就是 1 ,0 。而实际上很多企业员工 6 0元 0 在下班后有不关 电脑的习惯 ,电脑实际运行 时间是每周 10 2 小时 以上。
容 区域 、结果 显 示 区域 。 4 多 平 台编 译 .
b 代码编辑、管理 、 ) 元构件 / 构件开发
开发环境支持将代码编译成 不同硬件
个 拥 有 一 万
台 电脑 的企 业 为例来计算 , 正 常 情 况 下 每 台 电 脑 每 小 时 大
约 消 耗02 电 , . 度 时 的 消耗 1 . 6度
无线路由器生产工艺流程

无线路由器生产工艺流程
无线路由器的生产工艺流程大致分为以下几个步骤:
1. 物料准备:准备所需的各种原材料,如路由器主板、天线、外壳等。
2. 印刷电路板(PCB)制作:将设计好的电路图纸通过化学反应将线路图印刷到电路板上。
3. 元器件贴装:将各种电子元器件(如电阻、电容、芯片等)通过自动贴装机具进行精确贴装。
4. 焊接:采用波峰焊接技术或者热风烙铁对电子元器件进行焊接,固定它们在印刷电路板上。
5. 装配:将贴好元器件的主板与其他组件(如天线、金属外壳等)进行组装。
这个过程可以通过人工完成。
6. 测试:对组装好的产品进行各种电气性能测试、信号质量测试等,确保产品的功能与质量。
7. 烧录:将路由器需要的固件程序通过编程器烧录到芯片中,使路由器能够正常运行。
8. 产品调试:对烧录好的路由器进行各项功能测试,例如Wi-Fi信号强度测试、接口速率测试等。
9. 清洁与入库:清洗产品,确保产品表面无灰尘、杂质,然后进行包装,并入库待售出。
10. 售后服务:为已售出的路由器提供售后服务,包括故障维修、固件升级等。
总之,无线路由器的生产过程需要经过多个环节,涉及到材料准备、电路板制作、元器件贴装、焊接、装配、测试、烧录、调试、清洁与入库等多个工序。
这些步骤严格按照流程进行,以确保生产出高质量的无线路由器。
TPlink无线路由器研发负责人谈常见路由器问题

问题2与问题3原因相同,这个问题有两种可能。你们的组播数据肯定是从Internet上的Server到路由器,然后路由器到小米盒子,这样的通路。在这样的链路建立的过程是小米盒子发起组播请求,给Internet上的server,在经过路由器WAN口时,由IGMP Proxy协议把局域网地址转成Internet地址,server收到后把组播响应发回路由器WAN口,由IGMP Proxy将组播响应传回内网,这样,就实现了组播可以NAT的效果。接下来,已此原理看你们看到的问题:问题2,有的路由器无线不行有线行,说明这个路由器是支持IGMP Proxy的,只不过实现的时候无线没有考虑,只实现了有线;问题3,有的路由器完全不行,原因是这个路由器不支持IGMP Proxy,所以,不能进行组播NAT。你们可以做个实验,对于那些不能转发IP组播包的路由器,你们把server路由器接在同一个交换机下,看看路由器是否能够转发组播包就知道答案了。
ห้องสมุดไป่ตู้
via 张先生,TPlink路由器 研发负责人。
Q1. 为啥长时间使用低端路由后,路由器上网速度会变慢,为啥建议经常重启低端路由器?
Q2,为啥有的路由器无线上不转发ip组播但有线会转发
Q3,有的路由器完全不转发ip组播包,导致基于IP组播的米联有时候不能工作
Q4,多线程同时启动下载有时候会把无线路由器打死,必须重启才能恢复
答:问题1与问题4原因相同。这个问题与路由器的演进历程有关,当前路由器的市场,以TP为首挑国内品牌挑了价格战,在几年时间内,让进口路由器市场份额缩到30%以内,如D-LINK,Netgear,Linksys,甚至有些国外品牌已经退出了中国市场。原因就是国人买东西只看价格不看品质。而这些国内品牌看中了国人的这种价值观,于是对于路由器一再的降低成本,原则是先从无技术难度的降,比如一些替代料,用上后性能略有影响,但价格便宜很多;然后再从有技术难度上的降,比如DDR。你们现在看到的这个问题,就与DDR有关,现在跑在路由器上的操作系统最多的是两个:vxWorks与Linux,Linux的体积比较大,很难裁剪,但有些厂商为了低成本,还是会去裁剪;vxWorks操作系统容易裁剪,就成为一些厂家的首选(如TP),所以,用了vxWorks的操作系统后,厂商对操作系统进行了裁剪,DDR的大小可以用的很小,比如8MB(64Mbit),成本相对于16MB的可以省2-3元人民币;而vxWorks的操作系统最大的特点是内存地址空间不分内核态和用户态,所有的代码运行在同一地址空间,当进行系统开发时,如果编程人员的水平不足,很容易出现用户态的程序直接访问内核态的数据(如网络协议),这种情况下很容易出现冲突和异常,同时,又因为网络数据包在一个余量很小(比如剩余1-2MB)的DDR中,长时间跑大的网络流量,很容易出现缓冲数据包,重传数据包,PS数据包(Power Save)等等,以至于让可本来就很小余量的DDR,变的更小,从而产生了分配时失败,需要等待,再分配的恶性循环,因此,系统会变慢;如果分配时失败没有做处理,那么会死机。这就是问题1与问题4的两个不同结果;问题1是会变慢,问题4会死机。
路由器开发相关知识总结 — 光口和电口
路由器和交换机开发中,我们经常会遇到光口和电口这样的名词,那么什么是光口?什么是电口呢?下面是详细解析:一、光口1、基本概念光口是光纤接口的简称。
也可称之为:G口 (意思是G光纤口)光口:所应用于机房,机柜等大型设备的一个光纤带宽接口。
光纤可以用于音频(声卡有光输出的),网络(光纤作为传输介质),磁盘(光纤代替电缆传输数据)等等。
光纤又可分为单模光纤和多模光纤区别如下:单模光纤和多模光纤可以从纤芯的尺寸大小来简单地判别。
1)单模光纤的纤芯很小约4~10um只传输主模态。
这样可完全避免了模态色散,使得传输频带很宽,传输容量很大。
这种光纤适用于大容量、长距离的光纤通信。
它是未来光纤通信与光波技术发展的必然趋势。
2)多模光纤又分为多模突变型光纤和多模渐变型光纤。
前者纤芯直径较大,传输模态较多,因而带宽较窄,传输容量较小;后者纤芯中折射率随着半径的增加而减少,可获得比较小的模态色散,因而频带较宽,传输容量较大,目前一般都应用后者。
由于多模光纤中不同模式光的传波速度不同,因此多模光纤的传输距离很短。
而单模光纤就能用在无中继的光通讯上。
在光纤通信理论中,光纤有单模、多模之分,区别在于:1)单模光纤芯径小(10m m左右),仅允许一个模式传输,色散小,工作在长波长(1310nm和1550nm),与光器件的耦合相对困难。
2)多模光纤芯径大(62.5m m或50m m),允许上百个模式传输,色散大,工作在850nm或1310nm。
与光器件的耦合相对容易。
而对于光端模块来讲,严格的说并没有单模、多模之分。
所谓单模、多模模块,指的是光端模块采用的光器件与何种光纤配合能获得最佳传输特性。
一般有以下区别:1)单模模块一般采用LD或光谱线较窄的LED作为光源,耦合部件尺寸与单模光纤配合好,使用单模光纤传输时能传输较远距离,价格比较高。
2)多模模块一般采用价格较低的LED作为光源,耦合部件尺寸与多模光纤配合好,价格比较便宜。
认识OpenWrt无线接口_B智能路由器开发指南_[共2页]
9.8无线基础189发射,而建筑物、车辆、树木和其他障碍物都可能阻碍电磁波的传输,所以会影响网络的性能。
(2)速率。
无线信道的传输速率与有线信道相比要低得多。
目前,无线局域网的最大传输速率为802.11ac标准的1.3G bit/s。
(3)安全性。
无线电波不要求建立物理的连接通道,再加上无线信号是发散的。
所以传输信号很容易被监听到,这样会造成通信内容被泄露。
9.8.4 安全无线的安全性必须要慎重考虑,中国推出的无线局域网鉴别和保密基础结构(WAPI)无线网络标准也主要是针对无线局域网的安全性而提出的。
具体说来,无线局域网目前所使用的安全机制主要有以下一些。
(1)服务集标示符(Service Set Identifier,SSID)是用于识别无线设备的服务配置标示符,相当于无线接入点(Access Point,AP)的名称。
它可以提供最低级别的访问控制功能,用户在连接不提供服务集标示符广播功能的无线路由器时,必须要知晓该无线路由器服务集标示符,否则就无法连接。
(2)有线等效保密(Wired Equivalent Privacy,WEP)协议是无线网络上信息加密的一种标准方法。
它一方面用于防止没有正确的有线等效保密密钥的非法用户接入网络,另一方面只允许具有正确的有线等效保密密钥的用户对数据进行加密和解密。
(3)无线保护接入(Wi-Fi Protected Access,WPA)是有线等效保密协议的替代方案,它是由IEEE 802.11i安全规范派生而来,并与其兼容。
它可以保护IEEE 802.11的所有版本,而且其安全性比目前广泛采用的有线等效保密技术更好。
9.8.5 认识OpenWrt无线接口(1)无线接口操作工具(iwconfig)。
ath0 IEEE 802.11ac ESSID:"WIRELESS_0001"Mode:Master Frequency:5.745 GHz Access Point: 18:9D:54:10:10:04 Bit Rate:1.3 Gb/s Tx-Power=23 dBm。
无线路由器的制作方法
无线路由器的制作方法无线路由器的制作方法随着科技的进步和互联网的普及,无线网络已经成为我们生活中必不可少的一部分。
而无线路由器作为无线网络的核心设备,更是大家家中必备的一款产品。
那么,我们有没有想过自己动手制作一个无线路由器呢?下面,就让我来为大家介绍一下制作无线路由器的方法。
首先,我们需要准备一些制作无线路由器的材料和工具。
材料包括:一个无线网络模块、一个主板、一个适配器、一个网线、四个天线;工具包括:螺丝刀、焊接工具、插头等。
然后,我们开始制作无线路由器。
首先,我们将主板放在一个平稳的桌面上,用螺丝刀将主板固定好。
接下来,将无线网络模块插入主板上的无线插槽中,并用螺丝刀将其固定住。
然后,将适配器插入主板上的电源插槽中,并用螺丝刀将其固定住。
接下来,将网线插入主板上的网络插槽中,并用螺丝刀将其固定住。
最后,将四个天线插入主板上的天线插孔中,并用螺丝刀将其固定住。
接下来,我们需要进行一些焊接工作。
首先,用焊接工具将无线网络模块和主板上的相应引脚焊接起来。
然后,将适配器和主板上的电源插槽的引脚焊接起来。
接下来,将网线和主板上的网络插槽的引脚焊接起来。
最后,将天线和主板上的天线插孔的引脚焊接起来。
完成焊接之后,用插头将无线路由器连接到电源上,并打开开关。
最后,我们还需要对无线路由器进行一些设置。
首先,连接电脑和无线路由器,打开电脑上的浏览器,在浏览器的地址栏中输入无线路由器的默认IP地址,并按下回车键。
然后,根据网页上的提示,进行一些基本设置,包括设置无线网络的名称、密码等。
最后,保存设置并重新启动无线路由器。
通过以上几个步骤,我们就成功制作出了一台无线路由器。
当然,这只是一个简单的制作方法,如果想制作更加高级的无线路由器,还需要更多的专业知识和技能。
因此,建议大家在制作之前,先了解一些有关无线路由器的基本知识和操作方法,以免出现问题。
总之,制作无线路由器可以帮助我们更好地理解无线网络的工作原理,同时也可以提升我们的动手能力和技术水平。
基于UPNP的无线路由器开发
基于UPnP的无线路由器开发张鑫,唐友喜电子科技大学通信抗干扰技术国家级重点实验室,成都 (610054)E-mail:zxuestc@摘要:本文介绍了一种网络协议(UPnP),阐述了UPnP协议以及寻址、发现、描述、控制、事件处理和展示等工作过程。
并以一个支持UPnP的无线路由器的程序设计开发为例说明了如何开发一个UPnP设备程序。
关键词:通用即插即用;控制点;设备;服务;无线路由器1.引言随着网络和电子消费产品的发展,越来越多的设备能够接入网络,对于共享设备以及共享设备所提供的资源和服务的需求也越来越强烈。
为了实现设备和资源的共享,往往需要进行一些设置工作,这种设置工作会由于网络结构的复杂和软件的复杂而变得繁琐起来。
所以,透明的访问各种接入网络的资源成了一项很复杂的任务。
因此,早在1999年微软公司就开始大张旗鼓的宣传下一代即插即用技术-UPnP,并且获得了广泛的支持。
借助UPnP技术,设备可以动态加入到网络中并获得IP地址、传达功能以及了解其他设备的存在和性能,而且上述过程都是自动进行的,从而使“零”配置的网络真正成为可能。
此后,设备之间可以直接通讯,从而进一步的实现了对等网络功能。
目前宽带路由器中也大多采用了此项技术。
有了这个技术支持后,那么对于内网主机来说就可以实现“端口映射”(PORT-MAPPING)。
端口映射即:网络软件在宿主机上占用一个端口,而这个端口直接与路由器上自定义开放的一个端口连接,这样内网数据与公网数据的就可以直接交换,从而达到提高网络数据交换的速度。
本文详细阐述了UPnP的基本概念、工作原理,并以基于UPnP的路由器程序设计开发为例对UPnP的开发步骤进行了详细说明。
2.UPnP简介UPnP是通用即插即用(Universal Plug and Play)0的缩写,它主要用于实现设备的只能互联互通。
使用UPnP协议不需要设备驱动程序,因此使用UPnP建立的网络是介质无关的,它可以运行在几乎所有的操作系统平台之上,可以使用C、C++、JA V A和VB等开发语言,使得在办公室、家庭和其他公共场所方便的构建设相互连通的网络环境。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
路由器开发宽带上网已经不是什么新鲜事情,人们对相关的网络器件已经不再陌生,比如说常见的路由器。
对于一般的网络用户,他们能知道怎样使用路由器来上网、玩游戏等就已经感到很满足了,通常情况下对路由器的深层技术很少去过问研究,但做为兴趣广泛的技术爱好者,对这方面的知识是非常感兴趣的。
但限于各种条件的制约,这些爱好者都非开发者,很大程度上无法深入了解真正的技术实现过程以及相关的核心内幕。
正是基于此点,笔者凭借自身的知识沉淀,尽最大努力为爱好技术的读者架设一坐能通向深层核心的桥梁,为大家揭开路由器的神秘面纱,剖开其核心内脏。
为使读者能清晰明白的理解掌握,笔者尽量将专业的技术内容转化为容易接受的知识讲解,其中可能有不足偏颇之处,还请大家多见谅。
概述什么是路由器?互联网是依靠路由器连接起来的,路由器是互联网或者说IP网络的核心设备。
宽带接入的不断增长,带动了路由器的需求不断增加。
路由器究竟是什么样的技术产物?谈到路由器的开发,我们就不免要谈到“嵌入式”设备的开发,没错,通俗的说,路由器就是一种嵌入式产品。
那么究竟什么是嵌入式设备呢?其实就目前而言,嵌入式设备已经不断深入我们的日常生活方方面面。
通俗的讲,嵌入式设备是指具有计算机功能,但又不称为计算机的设备或器材,它几乎包括了我们周围的所有电器设备 PDA、手机、机顶盒、汽车、微波炉、电梯、安全系统、自动售货机、医疗仪器、立体音响、自动取款机等。
用较为专业的话来表述的话,嵌入式设备就是使用微处理器或微控制器芯片(MCU)加上外围电路再加上内部的程序部分来实现特定功能的嵌入设备。
比如8位的单片机、32的ARM 以及DSP芯片等都属于嵌入式核心芯片的范畴。
8位MCU市场已逐步趋向稳定,32位MPU 代表着嵌入式技术的发展方向,正在加速发展。
在32位嵌入式微处理器市场上,基于ARM 内核的微处理器在市场上处于绝对的领导地位,因此追踪ARM技术的发展趋势显得尤为重要。
路由器的开发通常都是基于32位处理器的,就通常的中低端路由器而言,在开发的配置上有多种选择,比如有ARM9核心芯片+Wince操作系统、ARM7核心芯片+uClinux操作系统、DSP芯片+Vxworks操作系统等等各种各样的选择。
本文针对常用的SOHO路由器来介绍,选择ARM7核心芯片+uClinux操作系统开发模式,以完整形象的实例为大家清晰讲解路由器的技术实现过程。
我们为什么以SOHO路由器为介绍对象呢?什么是SOHO路由器?前很多家庭中有不止一台电脑,需要上网获取信息、收发邮件等。
这些小型公司和家庭网络用户计算机的数目一般不多,网络结构不复杂。
功能和带宽的要求不高。
出于提高网络性能、共享有限IP地址或节省上网费用等原因,这些用户迫切需要具有较高性价比的小型路由器。
我们把这种小型路由器称为SOHO路由器。
目前市场上已经充斥了大量的这类低端路由器.由于ARM7系列芯片价格便宜,非常适合嵌入式系统使用。
目前市场上的SOHO路由器大多采用ARM7系列处理器。
不过由于技术的发展,ARM9系列的专用路由芯片的路由器也逐渐普及。
第2章:路由器宏观介绍我们可以形象的把嵌入式设备的开发简单的理解成三层模式,最底层的是微控制器芯片加外围器件组成的硬件系统,比如我们介绍的开发小型SOHO路由器所使用的ARM7TDMI芯片等硬件环境,它是设备功能实现的硬件基础,要实现上层的应用肯定离不开最底层硬件的支持。
中间层是操作系统,比如我们所选择的uClinux操作系统,它是衔接硬件部分和应用程序的过渡层,它既可以完成对底层硬件的基本操作,又能为上层应用程序提供运行环境支持。
最上层自然就是应用程序层了,它是实现针对性应用的程序代码部分,比如路由设置等功能程序部分。
那对与SOHO路由器来说,它当然也脱离不了这样的技术框架,它的更为具体的实现过程简单的汇总的话,莫过于如下内容:首先先要知道SOHO实现的网络功能,典型路由器应该具备以下功能:支持PPPoE,固定IP上网;DHCP动态主机配置协议;网络地址转换(NAT)技术;根据TCP,UDP的端口号(port number),IP 的(协议号)protocol number,对IP地址进行简单过滤的防火墙;虚拟服务主机/端口映射(Port Forwarding)技术;支持一定数量的特殊应用程序;然后针对于上边的功能要求,相应地要通过硬件和软件的构造来实现:硬件方面:1、要明确家用小型路由器(一个WAN接口,四个LAN接口)的硬件原理。
2、实现硬件电路板设计,完成电路布线设计,并对元件焊接,通过硬件板的调试。
软件方面:1、在分析 uClinux内核源代码的基础上,对uClinux操作系统的内核裁剪。
2、完成BoaWeb服务器的配置,并对CGI脚本进行设计,完成动态网页的功能。
3、对PPPOE的拨号进行配置实现。
4、针对Linux内核防火墙部分,运用IPtable工具进行防火墙规则操作。
通过如上的基本构造,一个路由器就基本成型了。
说起来简单,但其中包含了很多很多的技术细节,要有大量的实践经验才能真正实现。
做为门外观奇的好学读者,现在肯定有些不耐烦了吧,想要了解更多的更详细的构造内容吧?那好,现在就可以开始我们真正的技术之旅了。
第3章:路由器工作原理1、基本原理要实现网络中通信节点彼此之间的通信,首先必须给每个节点分配一个唯一的IP地址。
路由器应该至少有两个网络端口,分别连接LAN或者WAN子网上,每个端口必须具有一个唯一的IP地址,并且要求与所连接IP子网的网络号相同。
不同的端口有不同的网络号,对应不同的IP子网,这样各子网中的主机才能通过自己子网的IP地址把要求发出去的IP数据报送到路由器上。
当路由器收到一份IP数据报后,首先要对该报文进行判断,然后根据判断的结果做进一步的处理。
如果数据报是有效或正确的,路由器就根据数据报的目的IP地址转发该报文:否则就把报文丢弃。
如果这个数据报的目的IP地址与路由器直接相连的一个子网上,路由器会通过相应的接口把报文转发到目的子网上去;否则会把它转发到下一跳(Hop)路由器。
为了完成上述的操作,每台路由器必须维护一个路由表。
把对应不同目的地的最佳路径存放在路由表中,这就是路由策略(Routing Policy)问题。
路由表反映网络的拓扑结构,一般一条表项应该包含数据报的目的IP地址(通常是目的主机所在网络的地址)、下一跳路由器的地址和相应的网络接口等,在网络拓扑发生变化的时候,路由表也应该做相应的变动。
所以路由器必须能够生成并更新路由表。
选路机制实际上就是如何查找路由表,通过查询路由表来决定向哪个方向转发数据。
一般来说,路由器首先搜索匹配的主机地址:如果没有,再搜索匹配的网络地址:最后搜索默认路由。
一旦查到匹配的表项,路由器就会把数据从相应的接口发送出去。
路由器具备了上述各要素后,就可以完成数据转发任务了。
另外,路由器不仅负责对IP包的转发,还要负责与别的路由器进行联络,共同确定互联网的路由选择和路由表的更新维护。
2、SOHO路由器原理当内部计算机要与外部Internet网络进行通信时,各内部间通过私有IP地址进行通信的计算机必须把私有IP地址转换成合法IP。
这种网络地址转换技术称为NAT(Network Address Translation,网络地址转换)。
在一个实际的私有网络中,NAT功能通常内建在路由器、防火墙或独立的NAT设备之上,网络中的主机将这些设备作为自己的默认网关。
通过这样的配置,每一台内部主机发送往Internet的数据报就会送到具有NAT功能的设备中进行转换。
NAT是SOHO路由器的必备功能,它是为解决IPv4地址不够分配的矛盾而产生的一个简单高效的解决方案。
它能将任何两个地址域的地址进行转换,使私有网络中多台主机共享一个合法IP地址访问Internet。
第4章:嵌入式路由器硬件系统介绍1、硬件系统总体结构硬件结构是非常重要的部分,因为我们拆开一个路由器后首先看到的、所能看到的也就是硬件结构,我们就举例简单介绍一下硬件设计的各个部位的细节内容。
为了宏观查看,我们给出交换式宽带路由器的硬件设计实例图一张。
图中主要分为两部分:ARM4510B部分和交换芯片RTL8305部分,前者主要见上半图,后者为下半图。
还有电源及各自的复位电路。
ARM4510B部分中,中央处理芯片为带有网络接口的S3C4510B--16/32位RISC微控制器,根据嵌入式操作系统的运行需要,扩展了SDRAM存储器和Flash存储器。
SDRAM存储器由两片4X1MX16位的HY57V641620HGT组成,作为嵌入式操作系统内核及应该程序运行的内存空间。
Flash存储器由一片1MX16位的SS139VF160组成,作为内核映像的存储,并在嵌入式操作系统启动时加载系统内核及程序。
根据调试程序及烧写Flash存储器的需要,引出JTAG接口。
根据显示调试和运行信息的需要,提供了RS232接口。
交换芯片 RTL8305部分中,提供4个LAN口(PORTO--PORT3)通过一四口的网络隔离变压器连接一个四口RJ45口,每个口可连接到10/10013aseT以太网,各端口之间有交换功能:还有一个WAN接口(CPO RT4)通过一单口的隔离变压器连接RJ45口。
根据显示连接速度、状态和电源等需要,接出LED灯进行显示。
根据交换芯片的管理需要,提供一串行EEPROM 24C01电路接口。
根据交换芯片的主电源为2.5V.提供一个3.3V到2.5V 的转换器。
中央处理芯片通过MR(独立媒体接口)接口与交换芯片RTL8035SB的PORT4的Mil接口相联,将交换芯片的PORT4配置为物理层接收器。
当各部分电路设计完成后,形成硬件连接图,进而焊接之后,就可以作为开发用的实验硬件板了。
下面就简要介绍一下个硬件电路部分。
2、硬件系统的简要设计介绍⑴ARM处理器系统设计介绍①S304510B概述Samsung公司的S34510B是基于以太网应用系统的高性价比的16/32位RISC微控制器,内含一个由ARM公司设计的16/32位的ARM7TDMI RISC处理器核。
ARM7TDMI为低功耗,高性能的16/32位核。
除了ARM7TDMI外,该芯片还有一些片内外围功能模块,主要为: 内部RAM (8Kbyte unified cache/SRAM),I2 C接口电路(I2C interface)、以太网控件器(Ethernetco ntroller),HDLC,GDMA、串口(UART),时钟(Timers)、可编程1/O口(Programmable I/O ports)及中断控件器(Interrupt controller)等。
S3C4510B结构框图所示。