问答题 【说明】
某大学城一期网络工程的部分拓扑结构如图6-6所示。其中,楼层交换机1~49均为可远程Web管理和命令行管理的24口交换机。每个交换机组成一个VLAN,各VLAN网段地址和各网络设备接口地址如图6-6所示。

将snmputil.exe程序复制到网络管理站(IP地址为10.1.100.1)的C盘根目录中,在cmd窗口中输入命令:snmputil walk 10.1.101.49 public 1,显示结果如图6-7所示。图6-7中各对象显示的先后顺序与其所在功能组的子节点顺序一致。(MIB-2标识符前缀为1.3.6.1.2.1)
问答题 【问题1】
为了支持SNMP协议的管理功能,在基于Windows Server 2003操作系统的网络管理站中,需要进行哪些配置工作?
【正确答案】安装并配置SNMP代理服务程序,并通过团体(community)设置允许各代理节点对其进行SNMP报文响应,并启动SNMP陷入服务程序
【答案解析】这是一道要求读者掌握SNMP网络管理初始化配置工作的实际操作题。本题的解答思路如下。
①SNMP管理模型由管理节点和代理节点组成。能够发送SNMP请求报文并对SNMP报文进行解析的是代理服务程序(即SNMP Service,其可执行文件的路径为C:/WINDOWS/System32/snmp.exe)。用以监听各代理节点发送来的陷入报文的是陷入服务程序(即SNMP Trap Service,其可执行文件的路径为 C:/WINDOWS/System32/snmptrap.exe)。
②在该大学城校园网中,为了支持SNMP协议的管理功能,图6-6的网络管理站需要安装并配置SNMP代理服务程序(snmp.exe),并通过团体(community)设置允许各代理节点对其进行SNMP报文响应,并启动SNMP陷入服务程序(snmptrap.exe)。
③基于Windows Server 2003操作系统的网络管理站完成以上配置任务的操作如下,依次双击“控制面板”、“添加或删除程序”,接着单击“添加/删除 Windows组件”,在“Windows组件向导”配置界面中双击“管理和监视工具”(或单击“管理和监视工具”,接着单击[详细信息]按钮),然后勾选“简单网络管理协议(SNMP)”子组件,依次单击[确定]、[下一步]按钮完成SNMP协议的安装工作。
④在SNMP服务安装完成后,依次双击“控制面板”、“管理工具”、“服务”,通过拉动滑动块可以找到如图6-10所示的“SNMP Service”和“SNMP Trap Service”两个相关服务。
双击“SNMP Service”系统将弹出如图6-11所示的配置界面。单击“接受团体名称(N)”框中的[添加]按钮,在如图6-12所示的对话框中设置“团体名称”(例如:public)。在图6-11中单击“接受来自这些主机的SNMP数据包(T)”框中的[添加]按钮,在如图6-13的对话框中加入网络管理站本身的IP地址(10.1.100.1)。
[*]
⑤为保证网络中SNMP协议的正常通信,被管理的其他网络设备或计算机也需安装SNMP协议,设置相应的团体名并允许管理站对其进行访问。
问答题 【问题2】
对于图6-7所显示的系统输出信息,命令“snmputil walk 10.1.101.49 public 1”的作用是遍历被管理对象的 (1) ;命令中最后的数字“1”是一个 (2)
(1)
  • A.系统进程
  • B.系统软件
  • C.MIB-2树
  • D.系统组节点
    (2)A.对象B.对象标识符C.实例标识符D.对象值
【正确答案】(1) D,或系统组节点
(2) B,或对象标识符
【答案解析】这是一道要求读者掌握snmputil程序语法及命令功能的分析理解题。本题的解答思路如下。
snmputil.exe是Microsoft提供的用于测试SNMP服务的应用程序,它需在DOS命令窗口中运行。 snmputil的语法格式如下:
snmputil [get|getnext|walk] agent-address community old [oid...]
以及snmputil trap。
其中,get用于查询某个对象实例,,getnext用于查询某个对象的下一个实例,walk用于遍历某个功能组或子树,agent-address表示代理进程的IP地址,community表示团体名,oid表示MIB对象ID(对象标识符或实例标识符)。
试题中命令“snmputil walk 10.1.101.49 public 1”的作用是遍历被管理对象(交换机49)的系统组。其中,“walk”是遍历的关键字,“10.1.101.49”是代理设备(交换机49)的管理IP地址;“public”是SNMP默认的团体名:“1”是MIB-2系统组的对象标识符,它省略了MIB-2的标识符前缀(1.3.6.1.2.1),即该命令的完整格式如下。
snmputil walk 10.1.101.49 public 1.3.6.1.2.1.1。
问答题 【问题3】
若在图6-7的命令行中输入“snmputil get 10.1.101.49 public 1”命令,系统将输出一个错误信息:Error: errorStatus= (3) ,errorIndex= (4)
若输入“snmputil get 10.1.101.49 pubfic 1.1.0 1.2.0 1.3 1.4.0 1.5.0 1.6.0 1.7.0”命令,系统输出的信息可能是 (5)
(3)
  • A.1 (tooBig)
  • B.2(noSuchName)
  • C.3(badValue)
  • D.5(genError)
    (4)A.0B.1C.2D.3
    (5)A.Error: errorStatus=1,errorlndex=7B.Error:errorStams=2,errorIndex=3C.Error:errorStatus=3,errorIndex=1D.与图6-7的系统输出信息一致
【正确答案】(3) B,或2 (noSuchName) (4) B,或1
(5) B,或Error:errorStatus=2,errorIndex=3
【答案解析】这也是一道要求读者掌握snmputil程序语法的分析理解题。本题的解答思路如下。
结合[问题1]、[问题2]的分析过程可知,命令“snmputil walk 10.1.101.49 public 1”的作用是遍历被管理对象的系统组节点。注意命令中关键字“walk”所对应的MIB对象ID是一个对象标识符。如果使用对象的实例标识符,即输入“snmputil walk 10.1.101.49 public 1.0”,则系统将不进行任何遍历过程,只输出一个“End of MIB subtree”的信息。
由于get用于查询某个对象实例,其后的MIB对象ID必须是一个实例标识符。而本试题中输入的是“snmputil get 10.1.101.49 public 1”命令,系统将输出一个错误信息:Error:errorStatus=2,errorIndex=1。其中,错误状态(errorStatus)值为2(noSuchName),表示管理站指定了一个代理不知道的对象,即代理在本地的MIB-2中读取不到该对象。错误索引(errorIndex)用于指明第一个出错的变量在变量绑定表中的位置。由于所输入的命令只包含一个变量名,因此错误索引(errorIndex)值为1。
对于该空缺处选项A的tooBig错误状态是指代理不能把对管理站请求的响应结果放入到单个SNMP报文中,即请求源太多了。选项C的badValue错误状态是指Set操作试图将一个对象修改成无效的值。选项D的genError错误状态是指除tooBig、noSuchName、badValue、readOniy之外的其他错误。
若输入“snmputil get 10.1.101.49 public 1.1.0 1.2.0 1.3 1.4.0 1.5.0 1.6.0 1.7.0”命令,系统将输出一个错误信息:Error:errorStatus=2,errorIndex=3。其中,错误状态(errorStatus)值为2(noSuchName),表示管理站指定了一个代理在本地的MIB-2中读取不到的对象。错误索引(errorIndex)值为3,说明所输入的变量绑定表的第3个变量名(1.3)出错。
问答题 【问题4】
在图6-7的系统输出信息中,变量sysServices值用于说明代理设备所提供的系统服务。IP地址为 10.1.101.49的代理设备提供了OSI/RM参考模型中 (6) 的服务。
  • A.网络层和传输层
  • B.传输层和应用层
  • C.数据链路层和应用层
  • D.数据链路层、网络层、传输层、会话层、表示层和应用层
【正确答案】B,或传轴层和应用层
【答案解析】这是一道要求读者掌握MIB-2系统组子节点功能的分析理解题。本题的解答思路如下。
系统组(system)是管理信息库(MIB-2)的第1个功能组,它共包含7个子节点,每个子节点的功能描述、访问方式和功能域见表6-11。
表6-11 系统组于节点说明表
子节点
对象
功能描述
访问方式
功能域
1
sysDesc
有关硬件和操作系统的信息
RO
配置管理
2
sysObjectID
系统制造商标识
RO
故障管理
3
sysUpTime
系统运行时间
RO
故障管理
4
sysContact
系统管理员名称
RW
配置管理
5
sysName
系统名称
RW
配置管理
6
sysLocation
系统的物理位置
RW
配置管理
7
sysServices
系统服务
RO
故障管理
变量sysServices是系统组(system)的第7个子节点,它是一个7位二进制数(0~27-1=127),从右到左的每一个比特位分别对应OSI/RM参考模型7层协议的物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,即它指出本网络实体主要提供的OSI/RM服务层次。如果系统提供某一层服务,则对应的位为1,否则为0。
在图6-7的系统输出信息中,变量sysServices值为72(十进制数),将其转换成二进制数,即7210=(1001000)2。可见IP地址为10.1.101.49的代理设备主要提供了OSI/RM参考模型中应用层和传输层的服务。
问答题 【问题5】
结合图6-6的网络拓扑图和图6-7的系统输出信息,如果网络管理员小郭要求通过snmputil命令单独查询交换机1的存活运行时间,则需在网络管理站cmd窗口中输入什么命令?
【正确答案】snmputil get 10.1.101.1 public 1.3.0
或snmputil gemext 10.1.101.1 system.sysUpTime.0
或smnputil getnext 10.1.101.1 public 1.3
或snmputil getaext 10.1.101.1 system.sysUpTime
【答案解析】这是一道要求读者根据具体应用需求进行snmputil命令操作的综合分析题。本题的解答步骤如下。
①结合【问题2】的分析过程可知,要“单独查询交换机1的存活运行时间”,则可使用命令get和 getnext进行操作。而walk命令进行的是遍历某个功能组或子树的操作,它不能达到试题中“单独查询”的要求。
②结合【问题4】的分析过程可知,交换机1的存活运行时间可以通过系统组(system)的变量sysUpTime (系统运行时间)来反映。变量sysUpTime是一个标量对象,它的对象标识符为1.3.6.1.2.1.1.3,其实例标识符为1.3.6.1.2.1.1.3.0。注意,变量sysUpTime的语法是Time Ticks(时钟类型),其单位是百分之一秒 (0.01s)。例如,对于图6-7的系统输出信息,交换机49的系统运行时间为628665.04s。
③对于代理设备(交换机1)的IP地址为10.1.101.1。试题中未另外给出其他团体名,则对交换机1查询时将使用SNMP协议默认的团体名(public)。
④根据以上的分析内容可知,使用命令get单独查询交换机1的存活运行时间的snmputil命令是: snmputil get 10.1.101.1 public 1.3.0(或snmputil getnext 10.1.101.1 system.sysUpTime.0)。
⑤如果使用命令getnext单独查询交换机1的存活运行时间,则需输入的snmputil命令是:snmputil getnext 10.1.101.1 pubic 1.3(或snmputil getnext 10.1.101.1 system.sysUpTime)。
⑥注意,命令get的变量绑定表中所对应的是所查询变量的实例标识符,而完成相同查询结果的命令 getnext所对应的是变量的对象标识符。