扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
路由器内存技术解密
众所周知所有计算机都安装了某些形式的内存,所以“内存”这个术语对我们来说并不是很陌生的,而路由器中也可能有多种内存,例如Flash、 DRAM等,当前路由器主要采用了只读内存(ROM)、闪存、随机存取内存(RAM)、非易失性RAM(NVRAM)四种类型,每种内存以不同方式协助路由器工作,在下面的介绍中,我们将详细向你解析说明路由器的每种内存的主要用途和细节。
简单来说,路由器的内存主要用作存储配置、路由器操作系统、路由协议
只读内存(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监控程序用于手动测试和排除故障。
闪存(Flash)
闪存(Flash)是是一种可擦写、可编程的存储器,在系统重新启动或关机之后仍能保存数据。Flash中存放着当前使用中的IOS,事实上,如果Flash容量足够大,甚至可以存放多个操作系统,这在进行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,
默认修改启动顺序:
(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数据包,很可能是局域网中的计算机中病毒了,比如是否有的机器数据很不正常,有大量的数据通过路由器,这时用户可直接关掉这两合计算机,路由器即可恢复正常运行。然后我们可以使用杀毒软件检测并杀毒,然后重新开启服务器,整个网络运行正常。
其实路由器也和普通的计算机差不多,而其安全性更应引起重视,因为路由器担负着局域网中连通不同的网络、选择信息传送的线路等重要工作,一旦出现问题,整个网络就会瘫痪。在众多的路由器故障中,遭受病毒侵害是比较常见的,有时是病毒直接攻击,有时是局域网内单机感染并迅速传播到整个网络。因此平时就要做好病毒防火墙等的安装和监控,有条件最好安装单独的防病毒服务器。
导购小常识
一般来说,路由器的内存在1M——4M Bytes属于较小,8M Bytes属于中等,16M Bytes或以上属于较大。要特别注意的是,很多经销商甚至厂商在提到内存时只说是多少M,这时一定要问清楚是Byte还是Bit.内存可以用Byte (字节)做单位,也可以用Bit(位)做单位,两者一音之差,容量差8倍(1 Byte = 8 Bit)。一般用大写B表示Byte,小写b表示Bit,别有用心的人会在这里做手脚,有的不标单位,也有把b标做B瞒天过海的,用户可以到芯片厂家的网站上查清楚。有些不法分子甚至用打磨芯片在芯片丝印上造假,所以选择诚实守信的厂家产品很重要。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者