[分享] 路由器内存技术深度解密

mdreamj   2006-8-2 20:59 楼主
 在今天发达的网络世界里,每个路由器就好像一个邮局,对网络上的信息进行分类与整合,将它们按照地址传输到目的地。路由器已经成为我们必不可少的网络设备之一,在家庭宽带共享,办公网络的组建以及各种宽带网络应用上都发挥着极其重要的作用。

  目前流行的宽带路由器具有许多丰富的功能,像是DDNS、NAT、VPN等等,对于不少的用户来说这些术语简直能把人给弄的一头雾水,所有要清楚宽带路由器的功能,才能做到明明白白的选购,不然买到的路由器不能满足网络的需要,又或者花大价钱买到的路由器具有一些没有必要的高性能和功能。所以要作到够用就好,当然要了解好路由器的性能参数和一些功能的含义,才能做到明明白白的选购路由器,而这些重要的性能中路由器内存技术就是值得一说的,下面就让我们解析一下它的内核,希望能对消费者在选购时有所帮助。

  路由器内存技术解密

  众所周知所有计算机都安装了某些形式的内存,所以“内存”这个术语对我们来说并不是很陌生的,而路由器中也可能有多种内存,例如Flash、DRAM等,当前路由器主要采用了只读内存(ROM)、闪存、随机存取内存(RAM)、非易失性RAM(NVRAM)四种类型,每种内存以不同方式协助路由器工作,在下面的介绍中,我们将详细向你解析说明路由器的每种内存的主要用途和细节。

  简单来说,路由器的内存主要用作存储配置、路由器操作系统、路由协议软件等内容,在中低端路由器中,路由表可能存储在内存中,通常来说路由器内存越大越好(不考虑价格),但是与CPU能力类似,内存同样不直接反映路由器性能与能力,因为高效的算法与优秀的软件可能大大节约内存。

  只读内存(ROM)

  顾名思义,ROM是只读存储器,不能修改其中存放的代码,如要进行升级,则要替换ROM芯片。只读内存(ROM)在Cisco路由器中的功能与计算机中的ROM相似,相当于PC机的BIOS,ROM保存着路由器的引导(启动)软件,Cisco路由器启动时首先要运行ROM中的程序,负责对路由器的加的电检测,以及引导IOS最小子集的系统引导区代码,这是路由器运行的第一个软件,负责让路由器进入正常工作状态。ROM是一个只读存储器,其中的程序,在系统掉电时不会丢失,有些路由器将一套完整的IOS保存在ROM中,以便在另—个IOS不能使用时,作救急之用,ROM通常做在一个或多个芯片上,焊接在路由器的主机板上。

  总的来说ROM主要用于系统初始化等功能,ROM中主要包含:

  (1)系统加电自检代码(POST):用于检测路由器中各硬件部分是否完好,它存储在ROM中的微代码,POST用于检测路由器硬件的基本功能,并确定那些接口是当前可用的;

  (2)系统引导区代码(BootStrap):存储在ROM中的微代码,bootstrap用于在初始化阶段启动路由器,他将启动路由器而后装入IOS操作系统;

  (3)备份的IOS操作系统:以便在原有IOS操作系统被删除或破坏时使用,通常,这个IOS比现运行IOS的版本低一些,但却足以使路由器启动和工作;

  (4)ROM监控程序:存储在ROM中的微代码,ROM监控程序用于手动测试和排除故障。

  
()
(下载次数: 0, 上传)
 

回复评论 (10)

2推荐 mdreamj 

Re: 路由器内存技术深度解密

导购小常识   一般来说,路由器的内存在1M--4M Bytes属于较小,8M Bytes属于中等,16M Bytes或以上属于较大。要特别注意的是,很多经销商甚至厂商在提到内存时只说是多少M,这时一定要问清楚是Byte还是Bit。内存可以用Byte(字节)做单位,也可以用Bit(位)做单位,两者一音之差,容量差8倍(1 Byte = 8 Bit)。一般用大写B表示Byte,小写b表示Bit,别有用心的人会在这里做手脚,有的不标单位,也有把b标做B瞒天过海的,用户可以到芯片厂家的网站上查清楚。有些不法分子甚至用打磨芯片在芯片丝印上造假,所以选择诚实守信的厂家产品很重要。
点赞  2006-8-2 21:01

Re: 路由器内存技术深度解密

闪存(Flash)   闪存(Flash)是是一种可擦写、可编程的存储器,在系统重新启动或关机之后仍能保存数据。Flash中存放着当前使用中的IOS,事实上,如果Flash容量足够大,甚至可以存放多个操作系统,这在进行IOS升级时十分有用。Flash中包含完整的IOS系统及微代码,类似于PC机的硬盘,但速度快的多,可以通过替换其中的IOS文件实现对系统的升级,FLASH中程序在系统掉电时不会丢失,当不知道新版IOS是否稳定时,可在升级后仍保留旧版IOS,当出现问题时可迅速退回到旧版操作系统,从而避免长时间的网路故障。   闪存的主要用途是保存IOS软件,维持路由器的正常工作,若路由器安装了闪存,它便是用来引导路由器的IOS软件的默认位置,只要闪存容量足够,使可保存多个IOS映像,以提供多重启动选项。闪存要么做在主机板的SIMM上,要么做成一张PCMCIA卡。   非易失性RAM(NVRAM)   非易失性RAM(Nonvolatile RAM)是可读可写的存储器,在系统重新启动或关机之后仍能保存数据。由于NVRAM仅用于保存启动配置文件(Startup-Config),故其容量较小,通常在路由器上只配置32KB~128KB大小的NVRAM,同时,NVRAM的速度较快,成本也比较高。NVRAM的主要作用是保存IOS在路由器启动时读入的配置数据,这种配置称为“启动配置”。   Configuration register(配置寄存器):寄存器的数值用于控制路由器如何启动,使用show version可以查看配置寄存器的值,通常为0x2102。   随机存储器(DRAM)   RAM也是可读可写的存储器,但它存储的内容在系统重启或关机后将被清除。和计算机中的RAM一样,Cisco路由器中的RAM也是运行期间暂时存放操作系统和数据的存储器,让路由器能迅速访问这些信息,RAM的存取速度优于前面所提到的3种内存的存取速度。   运行期间,RAM中包含路由表项目、ARP缓冲项目Cache(ARP Cache、fast-switch Cache、数据包Cache)、日志项目和队列中排队等待发送的分组。除此之外,还包括运行配置文件(Running-config)、正在执行的代码、IOS操作系统程序和一些临时数据信息,RAM的作用很广泛,在此不可能一一列出,但有一样东西值得一提,即IOS系统表,IOS通过RAM满足其所有的常规存储需要,在所有类型的内存中,RAM是会在路由器启动或供电间隙时丢失其内容的唯一一种内存。   路由器启动详解   Flash-TFTP(-ROM-)DRAM。首先时启动ROM中的程序,进行路由器的自检及引导;然后加载并运行FLASH中的完整的IOS系统(此时如果Flash中没有IOS,则会启动ROM中的最小IOS,ROM中有IOS的最小的系统内核引导程序);最后是在NVRAM中寻找路由器的配置文件并将其copy到DRAM中。   默认修改启动顺序:   (1)Boot system flash // 首先:从Flash启动;   (2)Boot system tftp://100.0.0.1/c2600-ik9o3s3-mz.123-9.bin ; // 其次:配置路由器启动时,跳过从flash加载IOS,直接从tftp启动将指定的tftp上的IOS加载到内存运行;   (3)Boot system rom //再次:从ROM启动。   内存故障排除   当用户遇到了病毒导致的路由器丢失内存,该如何应对呢?下面这个例子应该对用户有所帮助。   我们以CISCO 1605口路由器为例,路由配置8MB的Flash ROM,我们扩充8MB内存后,总共16MB内存。重新配置可正常运行一段时间,但随后就开始莫名其妙丢失内存,问题出现时,内网Ping不通以太网口,在路由器上可以Ping通外网,最后路由器运行越来越慢,直至死机,系统报错“内存错误提示,无法进入EXEC模式”。   由于路由器可以正常使用一会儿,说明广域网上和局域网上都应没有问题,而丢失内存,也可能是内存问题,但是如果我们换上新的内存条,问题依旧时,我们可以重新配置路由器,察看IP数据包,很可能是局域网中的计算机中病毒了,比如是否有的机器数据很不正常,有大量的数据通过路由器,这时用户可直接关掉这两合计算机,路由器即可恢复正常运行。然后我们可以使用杀毒软件检测并杀毒,然后重新开启服务器,整个网络运行正常。   其实路由器也和普通的计算机差不多,而其安全性更应引起重视,因为路由器担负着局域网中连通不同的网络、选择信息传送的线路等重要工作,一旦出现问题,整个网络就会瘫痪。在众多的路由器故障中,遭受病毒侵害是比较常见的,有时是病毒直接攻击,有时是局域网内单机感染并迅速传播到整个网络。因此平时就要做好病毒防火墙等的安装和监控,有条件最好安装单独的防病毒服务器。
点赞  2006-8-2 21:00

Re: 路由器内存技术深度解密

有知道了一点啊
点赞  2006-8-14 18:53

Re: 路由器内存技术深度解密

还行  补充了 具体的了解了~!~!
点赞  2009-4-13 22:33
花较少的时间,可概要了解专业知识,不错,谢谢
点赞  2009-5-4 19:49

如果是带有NAT功能的路由器,内存还需要更大些。

仅仅带有L3转发功能的路由器(Router),因为路由表(routing table)以一个最长匹配树(radix tree)的数据结构放在内存中,因此消耗内存不是很大。而带有NAT功能的路由器是基于流(Flow)的。每一条数据流(Data stream)都具有自己的五元组(5-tuple),以会话(Session)的形式储存。一般来说,每个Session对应一个Socket。这样,如果路由器后面有20台机器上网,每台300个Socket,那么就有6000个Session。而基于Session的Hash表,是非常消耗内存的。目前的路由器不带NAT功能的已经很少了。一般的,支持1M个Session的路由器,至少需要配置2GB内存才能够正常工作。
另外,这种路由器实际上已经是工作在3层的一个防火墙了。对于防火墙,新建连接速率也是一个很重要的规格指标。
点赞  2009-5-5 18:05
文章不错 学习一下
点赞  2012-7-23 16:00
学习了
点赞  2014-9-25 22:55
路过顶一下。。。谢谢。。。分享!~~~~~~~~                                                                                                   
点赞  2014-12-24 20:19
引用: mdreamj 发表于 2006-8-2 21:01
导购小常识

  一般来说,路由器的内存在1M--4M Bytes属于较小,8M Bytes属于中等,16M Bytes或以上属于较大。要特别注意的是,很多经销商甚至厂商在提到内存时只说是多少M,这时一定要问清楚是Byte还是Bit。内存可以用Byte(字节)做单位,也可以用Bit(位)做单位,两者一音之差,容量差8倍(1 Byte = 8 Bit)。一般用大写B表示Byte,小写b表示Bit,别有用心的人会在这里做手脚,有的不标单位,也有把b标做B瞒天过海的,用户可以到芯片厂家的网站上查清楚。有些不法分子甚至用打磨芯片在芯片丝印上造假,所以选择诚实守信的厂家产品很重要。
了解了更多的路由器知识,感谢作者,一定会注意这些问题,网友的存在,照亮前行的道路!
点赞  2014-12-25 01:08
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复