diagnostic 诊断
Cisco Software Advisor (顾问)
IOS (tm) 2500 Software (C2500-JS-L), Version 12.0(9), RELEASE SOFTWARE (fc1)   
"JS"是特性组。在上述示例中,J代表“企业”,而S代表“更多”

版本格式
Cisco IOS软件版本采用格式 A.B(C)D, 其中:
A、B和C是数字。
D (如果有的话)是字母。
A、B 是主要版本。
C是维护版本。维护版本越高表示解决的故障越多。在特定维护版本中可用的任何特性、
故障修复和硬件支持在下一个版本中也会提供。
D(如果有的话)表示版本不是主要版本,而是主要版本的扩展。这些扩展通常提供新
的特性和新的硬件支持。
注: 老的版本往往比新的版本稳定,但支持的特性更少。

Cisco软件镜像包括ED、LD、GD或DF:
ED代表“早期部署”。早期部署版本提供新的特性、平台或接口支持。多数非主要版本都
包含ED版本。
GD代表“普遍部署”。如果Cisco认为Cisco IOS 软件的主要版本适合在客户网络中需要
这些特性和功能的任何地方使用,则这种主要版本进入“普遍部署”阶段。进入“普遍部署”
阶段的标准基于但并不限于从采用这些版本的生产和试验网络中获得的客户反馈调查、
客户工程师故障报表以及报告的现场实际运行情况。只有主要版本才能进入普遍部署阶段。
LD代表“有限部署”。介于初次发售到进入GD阶段之间,Cisco IOS软件的主要版本处于其
生命周期的“有限部署”阶段。
DF代表“延期”。因为存在众所周知的缺陷,DF版本不可以下载。在您的路由器上不要安装
这些版本。
在选择版本时,我们建议尽量采用GD版本。只有在您的硬件和软件特性使您无法作出其它
选择时,才采用ED 版本。
在您的路由器上安装新的Cisco IOS软件镜像之前,要检查您的路由器是否满足该镜像的
内存要求。为此,应在您的路由器上发出show version 命令,并寻找下述命令行:
cisco RSP4 (R5000) processor with 65536K/2072K bytes of memory
16384K bytes of processor board System flash (Read ONLY)
第1行表明您的路由器上安装了多大空间的DRAM以及分组存储器。有些平台将它们一部分
DRAM用作分组存储器。内存要求应考虑到这一点,因而您必须加第2个数字来确定您的路
由器上可用的DRAM容量(从内存要求的角度看)。
示例1:单独的DRAM和分组存储器
cisco RSP4 (R5000) processor with 65536K/2072K bytes of memory

4000、4500、4700和7500路由器采用独立的DRAM和分组存储器,因此您只要关注第1个数字。
这表明路由器具有 65536K (或64M)的DRAM。
示例2:组合DRAM和分组存储器

cisco 2611 (MPC860) processor (revision 0x202) with 29696K/3072K bytes of memory

1000、1600、2500、2600、3600和7200路由器将部分DRAM用作分组存储器,因此您需要加第2个
数字来确定实际DRAM容量。在这个示例中,路由器具有29696K + 3072K = 32768K (或32M)的DRAM.
示例3: 可用闪存
cisco RSP4 (R5000) processor with 65536K/2072K bytes of memory

16384K bytes of processor board System flash (Read ONLY)
最后1行表明有多少可用的闪存空间。其中有些可能已被使用。要确定空闲闪存容量,需要发出
 show flash 命令:
Router#show flash
System flash directory:
File   Length   Name/status
1      8407884  c2600-io3s56i-mz.121-6
[8407948 bytes used, 8369268 available, 16777216 total]
16384K bytes of processor board System flash (Read/Write) 
 
Cisco IOS Upgrade Planner(计划)
 

Cisco 的IOS 软件映像文件的文件名有一定的命名规则,方便客户初步识别该映像文件的特性集。
Cisco 的IOS 文件名,如c7200-ajs40-mz,包括三个主要部分:
  硬件平台
  特性集
  内存特性
  
硬件平台
c7200-ajs40-mz 中C7200 代表了软件适用的硬件平台,如C7200 表示的是Cisco7200 系列
路由器,RSP 代表的是Cisco7500 路由器,而GSR 则代表Cisco 的高端产品千兆位交换路由器。
  
特性集
Cisco 的软件IOS 可以是不同特性集的组合,如前例中的ajs40 分别代表了APPN 特性集、企业
特性集、NAT 特性集和40 位加密特性集。Cisco 还定义了超过30 种不同的特性集代码,其中主
要的包括:
  a APPN 特性集
    b Boot Image
    d Desktop 特性集
  g ISDN 特性集
    i IP 特性集
    j 企业特性集
  n IPX 特性集
    o 防火墙特性集
    p 运营商特性集
  r IBM 特性集
    v VIP 和双RSP 支持
    x X.25/FR/H.323
  
内存特性
Cisco 早期的低端设备如2500 系列的IOS 并没有运行在内存中,而是运行在Flash 卡中。所以,
IOS 文件名中指定了这一特性,如c7200-ajs40-mz 中的m 表示在内存(RAM)中运行,如果
是f 表示在Flash 卡中运行,如果是r 则表示在ROM 中运行。
文件名中的z 表示的是映像文件经过了ZIP 格式的压缩,还可以是x 表示为MZIP 压缩,或者w
表示是Stac 算法压缩。
  
IOS 版本评估参考
何时进行版本升级
对于正在使用的生产网来说,升级网络设备的软件是冒一定风险的。新的软件版本尽管可以带来更
多的新特性,也往往会带来更多的软件Bug 甚至是某些意想不到的错误。因此,建议只有出现下列
情况时,才考虑升级并替换已经被证明能够稳定运行的软件版本:
  目前的软件版本不支持某些即将开展的新业务,如Voice/Video 或QoS
  目前的软件版本不支持某些即将更新的硬件平台或板卡
  目前的软件版本即将进入停止服务期(EOE)
  目前的软件版本存在明显的安全漏洞或被证明有某些致命缺陷
  
常规建议
选择合适的升级版本需要经过多重考虑,对不同的网络应用和客户需求应该区分对待。尽管如此,
仍然有一些一般的建议,适用于大多数的情况:
  在符合要求的情况下,尽量选择Cisco 发布的GD 版本
  尽量避免选择最新的版本
  尽量避免选择带有大量不必要功能和特性的版本
  尽量避免选择即将服务到期的版本
  充分利用Cisco 提供的在线工具和参考文档评估升级版本的各项特性
  
确定客户需求
  在选择IOS 版本时,需要作的第一件事就是明确升级的目的和客户的需求。对于需要新特性或是新
  硬件支持而进行升级的情况,需要了解以下几个需求:
  平台需求:网络设备都是Cisco 的那些产品,添加了那些需要支持的硬件板卡
  协议需求:即网络上的应用需要什么协议,如TCP/IP,IPX 或ISIS 路由协议
  特性需求:即需要路由器提供的某些特殊的功能,如NAT,HSRP
  稳定性需求:网络是否承载关键业务,是否对稳定性和可靠性有较高的要求
  

   RouterA
  hostname RouterA
  username RouterB password abc
  ip subnet-zero
  multilink virtual-template 1
  !
  interface Virtual-Template1
  ip unnumbered Ethernet0
  ppp authentication chap
  ppp multilink
  !
  interface Serial0
  no ip address
  encapsulation ppp
  no fair-queue
  ppp multilink
  pulse-time 3
  !
  interface Serial1
  no ip address
  encapsulation ppp
  no fair-queue
  ppp multilink
  pulse-time 3
  !
  interface Serial2
  no ip address
  encapsulation ppp
  no fair-queue
  ppp multilink
  pulse-time 3
  !
  interface Serial3
  no ip address
  encapsulation ppp
  no fair-queue
  ppp multilink
  pulse-time 3
  !
  interface Ethernet0
  ip address 10.17.1.254 255.255.255.0
  !
  router rip
    network 10.0.0.0
  !
  end
  ---------------------------------------------
  RouterB
  hostname RouterB
  username RouterA password abc
  ip subnet-zero
  multilink virtual-template 1
  !
  interface Virtual-Template1
  ip unnumbered Ethernet0
  ppp authentication chap
  ppp multilink
  !
  interface Serial0
  no ip address
  encapsulation ppp
  no fair-queue
  ppp multilink
  pulse-time 3
  !
  interface Serial1
  no ip address
  encapsulation ppp
  no fair-queue
  ppp multilink
  pulse-time 3
  !
  interface Serial2
  no ip address
  encapsulation ppp
  no fair-queue
  ppp multilink
  pulse-time 3
  !
  interface Serial3
  no ip address
  encapsulation ppp
  no fair-queue
  ppp multilink
  pulse-time 3
  !
  interface Ethernet0
  ip address 10.17.2.254 255.255.255.0
  !
  router rip
    network 10.0.0.0
  !
  end 通过此方法,我们可将多条低带宽线路合并成为一条线路,并通过虚拟端口
    Virtual-Template 1进行数据的传输。按此方法配置完成后,我们会发现在显示
    端口状态(sh interface)时,凭空多出一个端口Virtual-Access 1,此端口的
    数据流量恰恰等于各实际端口的流量总和,并且通过它将数据流量均分到各个实
    际端口当中去。从而达到合并低带宽线路的目的。
  此外,在配置此功能时,需要注意以下几点:
  1. 此功能只能封装PPP协议。
  2. 在interface virtual-template 1配置中,ip unnumbered Ethernet0可用
    ip address XXX(地址)来取代。
常见的接口种类有:通用串行接口(通过电缆转换成RS?232 DTE/DCE接口、V.35 DTE/DCE接口、X.21 DTE/DCE接口、RS?449 DTE/DCE接口和EIA530 DTE接口等)、10M以太网接口、快速以太网接口、10/100自适应以太网接口、千兆以太网接口、ATM接口(2M、25M、155M、633M等)、POS接口(155M、622M等)、令牌环接口、FDDI接口、E1/T1接口、E3/T3接口、ISDN接口
 
1、编写脚本:
    新建一个文件
crt.vbs,尾缀为.vbs,内容如下:

#$language = "VBScript"
#$interface = "1.0"

Sub main
  ' turn on synchronous mode so we don't miss any data
    crt.Screen.Synchronous = True

  On Error Resume Next
  crt.session.Connect("/telnet 11.133.183.251")
  If Err.Number<>0 Then
      crt.session.Connect("/telnet 11.133.183.251")
  End If
  crt.Screen.WaitForString "Username:"
  crt.Screen.Send "ccie" & VbCr
  crt.Screen.WaitForString "Password:"
  crt.Screen.Send "ccie " & VbCr
  crt.Screen.WaitForString "Router#"
  crt.Screen.Send "config t" & VbCr
  crt.Screen.WaitForString "Router(config)#"
  crt.Screen.Send "int f0/1" & VbCr
  crt.Screen.WaitForString "Router(config-if)#"
  crt.Screen.Send "no sh" & VbCr
  crt.Screen.WaitForString "Router(config-if)#"
  crt.Screen.Send "end" & VbCr
  crt.Screen.WaitForString "Router#"
  crt.Screen.Send "copy run tftp://11.133.183.249" & VbCr
  crt.Screen.WaitForString "Address or name of remote host [11.133.183.249]"
  crt.Screen.Send ""& VbCr
  crt.Screen.WaitForString "Destination filename [router-confg]"
  crt.Screen.Send ""& VbCr
   
  Do while (crt.Screen.WaitForString("--- more ---",1)<>False)
     crt.Screen.Send " "
  Loop
  ' crt.Screen.Send "exit" & VbCr
  crt.session.disconnect

  crt.Screen.Synchronous = False
  
End Sub

相信懂vb的朋友很容易看懂的,上面内容的相关解释如下:

  • crt.session.Connect("/telnet 11.133.183.251")-----这个应该很好理解了,需要telnet的设备。
  • crt.Screen.WaitForString "Username:"------从设备上返回的信息,也就是提示信息。
  • crt.Screen.Send "ccie" & VbCr------像设备上发送的字符,即你在正常操作时输入的命令或字符
  • & VbCr ------输入字符后并回车。
注:粉色部分为需要进行相应改动的地方,您只需要根据您的具体情况进行改动即可。

2、应用脚本:
  • 打开CRT软件
  • 点击“Script"菜单
  • 点击“RUN”
  • 在弹出菜单中找到刚才编写的脚本存放的目录,并输入脚本的名字crt.vbs。

在CRT界面下可以看到脚本在执行的信息,如下:

User Access Verification

Username: ccie
Password:
Router#config t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int f0/1
Router(config-if)#no sh
Router(config-if)#end
Router#copy run tftp://11.133.183.249
Address or name of remote host [11.133.183.249]?
Destination filename [router-confg]?
!!
694 bytes copied in 9.60 secs (77 bytes/sec)
Router#