【ACCESS精品源码栏目提醒】:网学会员为需要ACCESS精品源码的朋友们搜集整理了路由器架构相关1 - 电子电信相关资料,希望对各位网友有所帮助!
拿起手术刀 深入剖解路由器的“心脏”技术2007-05-20 01:05:11 来源: 天极网 网友评论 0 条 进入论坛 宽带上网已经不是什么新鲜事情,人们对相关的网络器件已经不再陌生,比如说常见的路由器,见图 1。
对于一般的网络用户,他们能知道怎样使用路由器来上网、玩游戏等就已经感到很满足了,通常情况下对路由器的深层技术很少去过问研究,但做为兴趣广泛的技术爱好者,对这方面的知识是非常感兴趣的。
但限于各种条件的制约,这些爱好者都非开发者,很大程度上无法深入了解真正的技术实现过程以及相关的核心内幕。
正是基于此点,笔者凭借自身的知识沉淀,尽最大努力为爱好技术的读者架设一坐能通向深层核心的桥梁,为大家揭开路由器的神秘面纱,剖开其核心内脏。
为使读者能清晰明白的理解掌握,笔者尽量将专业的技术内容转化为容易接受的知识讲解,其中可能有不足偏颇之处,还请大家多见谅。
概述 什么是路由器 互联网是依靠路由器连接起来的,路由器是互联网或者说 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 系列的专用路由芯片的路由器也逐渐普及。
路由器宏观介绍 我们可以形象的把嵌入式设备的开发简单的理解成三层模式,最底层的是微控制器芯片加外围器件组成的硬件系统,比如我们介绍的开发小型 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 内核源代码的基础上,