网路管理实验报告.docx
- 文档编号:7919852
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:34
- 大小:1.05MB
网路管理实验报告.docx
《网路管理实验报告.docx》由会员分享,可在线阅读,更多相关《网路管理实验报告.docx(34页珍藏版)》请在冰豆网上搜索。
网路管理实验报告
《网络管理实验》
实验报告
实验1:
SNMP网管配置
实验2:
网管编程
院系:
专业:
年级:
学号:
________
姓名:
实验1:
Window2003SNMP服务配置
(0)掌握简单网络管理协议(SNUP)的操作知识(SNMP网络管理模型、抽象语法表示(ASN.1)、管理信息结构(SMI)、常用的管理信息库(MIB)、SNMP协议数据格式与工作模式、网络管理系统)
以上是本次实验的主要目的,通过亲自从头到尾操作过一遍,个人觉得,如果是首次接触网络管理方面的实验,以上需要掌握的内容量还是,特别是在平台搭建好后的各项测试环节会遇到各种预料之外的情况,需要细心分析。
(1)收集在网络上实现SNMP所必需的消息
<1>.SNMP简介
简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(applicationlayerprotocol)、数据库模型(databaseschema),和一组资料物件。
该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
该协议是互联网工程工作小组(IETF,InternetEngineeringTaskForce)定义的internet协议簇的一部分。
SNMP为应用层协议,是TCP/IP协议族的一部分。
它通过用户数据报协议(UDP)来操作。
在分立的管理站中,管理者进程对位于管理站中心的MIB的访问进行控制,并提供网络管理员接口。
管理者进程通过SNMP完成网络管理。
<2>.SNMP工作过程
在典型的SNMP用法中,有许多系统被管理,而且是有一或多个系统在管理它们。
每一个被管理的系统上又运行一个叫做代理者(agent)的软件元件,且透过SNMP对管理系统报告资讯。
基本上,SNMP代理者以变量呈现管理资料。
管理系统透过GET,GETNEXT和GETBULK协定指令取回资讯,或是代理者在没有被询问的情况下,使用TRAP或INFORM传送资料。
管理系统也可以传送配置更新或控制的请求,透过SET协定指令达到主动管理系统的目的。
配置和控制指令只有当网络基本结构需要改变的时候使用,而监控指令则通常是常态性的工作。
可透过SNMP存取的变量以阶层的方式结合。
这些分层和其他元数据(例如变量的类型和描述)以管理信息库(MIBs)的方式描述。
<3>.SNMP的基本构成
使用SNMP进行网络管理需要下面几个重要部分:
管理基站,管理代理,管理信息库和网络管理工具。
MIB,ManagementInformationBase:
管理信息库,由网络管理协议访问的管理对象数据库,它包括SNMP可以通过网络设备的SNMP管理代理进行设置的变量。
管理基站通常是一个独立的设备,它用作网络管理者进行网络管理的用户接口。
基站上必须装备有管理软件,管理员可以使用的用户接口和从MIB取得信息的数据库,同时为了进行网络管理它应该具备将管理命令发出基站的能力。
管理代理是一种网络设备,如主机,网桥,路由器和集线器等,这些设备都必须能够接收管理基站发来的信息,它们的状态也必须可以由管理基站监视。
管理代理响应基站的请求进行相应的操作,也可以在没有请求的情况下向基站发送信息。
<4>.SNMP网络管理模型:
SNMP网络管理模型由网络管理站(manager)、被管设备(agent)、管理信息库(MIB)、管理协议(SNMP)四大部分组成。
SNMP管理模型具备典型的C/S体系结构。
网络管理站可以是一般的计算机,它运行复杂的管理器软件,对网络设备进行监控。
管理器软件一般是图形界面,以图表、曲线方式显示各种网络数据;某些产品还具有相当程度的智能,它能自动分析收集到的网络数据,必要时可以向网络管理员报告错误并指出错误的原因。
被管的网络设备可以多种多样,如主机、路由器、网桥、终端服务器等。
被管设备上的代理一般以守护进程形式在后台运行。
<5>.SNMP协议数据格式与工作模式:
SNMP消息报文包含两个部分:
SNMP报头和协议数据单元PDU。
数据报结构如下图所示:
版本标识符
团体名
PDU
1、版本识别符(versionidentifier):
确保SNMP代理使用相同的协议,每个SNMP代理都直接抛弃与自己协议版本不同的数据报。
2、团体名(CommunityName):
用于SNMP从代理对SNMP管理站进行认证;如果网络配置成要求验证时,SNMP从代理将对团体名和管理站的IP地址进行认证,如果失败,SNMP从代理将向管理站发送一个认证失败的Trap消息(见后)
3、协议数据单元(PDU):
其中PDU指明了SNMP的消息类型及其相关参数。
SNMP协议提供了三种用于控制MIB对象的基本操作命令。
它们是:
Set、Get和Trap:
Set:
它是一个特权命令,因为可以通过它来改动设备的配置控制设备的运转状态。
Get:
它是SNMP协议中使用率最高的一个命令,因为该命令是从网络设备中获得管理信息的基本方式。
Trap:
它的功能就是在网络管理系统没有明确要求的前提下,由管理代理通知网络管理系统有一些特别的情况或问题发生了。
(2)Windows2003的SNMP服务的安装
<1>.打开“Windows组件向导”。
<2>.在“组件”中,单击“管理和监视工具”(但是请不要选中或清除其复选框),然后单击“详细信息”。
<3>.选中“简单网络管理协议”复选框,然后单击“确定”。
<4>.单击“下一步”。
(3)配置SNMP代理属性。
<1>、控制面板中,打开“计算机管理”
<2>、在控制台中,单击“服务”选项。
<3>、在详细信息窗格中,单击“SNMP服务”。
<4>、在“操作”菜单上,单击“属性”(如下图所示)
<5>、在“代理”选项卡上的“联系人”中,键入此计算机的用户或管理员的名字(administrator)。
<6>、在“位置”中,键入计算机或联系人的物理位置(00-E0-4C-10-26-23)
<7>、在“服务”下,选中该计算机相应的复选框,然后单击“确定”。
(4)配置SNMP陷阱
1、打开控制面板,打开“计算机管理”。
2、在控制台树中,单击“服务”。
3、在详细信息窗格中,单击“SNMP服务”。
4、在“操作”菜单上,单击“属性”。
5、在“陷阱”选项卡上的“团体名称”下,键入此计算机发送的陷阱消息的目标团体名称(区分大小写)(public),然后单击“添加到列表”。
6、在“陷阱目标”中,单击“添加”。
7、在“主机名,IP或IPX地址”中,请键入主机信息,然后单击“添加”(192.168.1.49)。
此IP为邻桌同学的地址。
8、重复第5至7步,直到所需的全部团体和陷阱目标添加完成。
(5)配置SNMP安全属性
1、打开“计算机管理”。
2、在控制台树中,单击“服务”。
3、在详细信息窗格中,单击“SNMP服务”。
4、在“操作”菜单上,单击“属性”。
5、如果希望在身份验证失败时发送陷阱消息,那么请在“安全”选项卡上选中“发送身份验证陷阱”。
6、在“接受团体名称”下,单击“添加”。
7、在“团体权利”下,选择一种权限级别,以便允许此主机处理来自所选团体的SNMP请求。
8、在“团体名称”中,键入团体名称(区分大小写)(public),然后单击“添加”。
9、指定是否接受来自某个主机的SNMP数据包:
•要接受来自网络上任何主机的SNMP请求而不考虑其身份,请单击“接受来自任何主机的SNMP数据包”。
•要有限制地接受SNMP数据包,请单击“接受来自这些主机的SNMP数据包”,然后单击“添加”,键入适当的主机名、IP地址或IPX地址,然后再次单击“添加”。
(6)测试WindowsSNMP服务(用Microsoft提供的一个实用程序SNMPUTIL测试)
用Microsoft提供的一个实用程序SNMPUTIL测试
IP地址为:
192.168.1.49(邻桌同学的IP地址)
有效团体名称为public。
<1>ping192.168.1.49
<2>.用getrequest查询变量SYSDESC(公共对象请求代理体系结构)
Snmputilget192.168.1.49public1.1.0
<3>.用getnextrequest查询SYSDESC
Snmputilgetnext192.168.1.49public1.得到和1一样的结果
<4>.用getnext查询一个非MIB-2变量
Snmputilgetnext192.168.1.49public1.3.6.1.4.1.77.1.3
<5>.用walk遍历整个MIB-2系统的组变量
Snmputilwalk192.168.1.49public.1.3.6.1.2.1.1
<6>.用walk遍历整个MIB-2子树
snmputilwalk192.168.1.49public.1.3.6.1.2.1.1
<7>.测试SNMP陷入服务
同时打开两个DOS窗口,在其中一个窗口中用SNMPUTIL发送请求,在另一个窗口中启动监听陷入:
Snmputiltrap,然后在另一窗口中发送请求使用一个无效团体名(test)snmputilgetnext192.168.1.49test1.1.由于团体名称出错,所以认证出错,返回。
(请求窗口)
(监听窗口)
<8>.测试冷启动陷入
保持第二个窗口继续监听陷入,然后停止SNMP服务,在重新启动SNMP服务,在陷入窗口会受到扩展代理发送的冷启动陷入
Incoming:
trap:
generic=0specific=0
agent=192.168.1.49
(7)实验一心得体会:
实验一的整个过程我觉得最重要的是要搞清实验的基本原理和目的,因为刚开始做的时候,我对于原理不是很清楚,每一个设置都是生搬硬套,而具体的功能却不是很清楚,这样总是会出现设置错误或者少开启设置项,最终得不到应有的测试结果。
后来我静下心来请教同学,把基本原理从头到尾学了一遍,彻底学懂后,20分钟便完成了整个设置和测试过程,感觉收获巨大。
所以,基础很重要,有了基础一切实践都会很顺利。
实验2:
网管编程
1题目:
基于JXTA和P2P协议下的聊天软件设计
2系统功能:
我们的目的是利用JXTA开发一个具有聊天功能和文件共享的P2P程序,使用该软件的所有用户均属于同一个组,用户发出的聊天信息组内成员都可以收到,用户共享的文件组内所有成员都能搜索到并有权下载。
功能的用例图如下所示。
3环境搭建:
开发平台为Windowsxpsp2,JXTA2.2,JDK1.5,开发软件采用JCreator3.5LE。
4开发过程:
<1>.需求分析:
我们的目的是利用JXTA开发一个具有聊天功能和文件共享的P2P程序,使用该软件的所有用户均属于同一个组,用户发出的聊天信息组内成员都可以收到,用户共享的文件组内所有成员都能搜索到并有权下载。
<2>.类设计
通过上面的用例图,我们设计了如下表的类:
类名
主要描述
MyP2P
主程序类
AmuP2P
通用P2P包,建立Peer之间的连接
BaseMessage
负责产生需要的消息
OutputListener
接口,重新定义OutputPipe监听器
MyShare
发布共享文件
MyListRequest
通过文件名搜索资源
MyDownRequest
下载资源
各个类的具体描述如下:
(1)MyP2P
主程序类,定义了程序的主界面,监听消息的到来并显示收到的聊天信息,信息传达时更新组内的用户列表。
根据用户的需求发送聊天信息。
同时,提供了搜索资源的入口。
其类图如图下所示:
MyP2P
privateJMenuBarmenubar;
privateJMenumenu;
privateJMenuItemitemAbout;
privateJMenuItemitemQuit;
privateJTextAreapeersText;
privateJTextAreamsgText;
privateJTextAreasendText;
privateJScrollPanepeersScrollPane;
privateJPanelpeerPanel;
privateJTextFieldsearchText;
privateJPanelsearchPanel;
privateJScrollPanemsgScrollPane;
privateJScrollPanesendScrollPane;
privateJButtonsearchButton;
privateJSplitPanesplitPane);
privateJPaneljp;
privateJSplitPanerightspli;
privateBoxleft;
privateBoxright;
privateBoxmainbox;
privateJButtonsendButton;
privateJButtonquitButton;
privateVector
privateMimeMediaTypemimeType;
privateintGoOn=0;
privatePeerGrouppg=null;
MyP2P();
publicvoidpipeMsgEvent(PipeMsgEventevent);
publicstaticvoidmain(Stringargs[]);
publicPeerGroupgetPeerGroup();
publicvoidsetPeerGroup(PeerGroupgroup);
publicvoidsetGoOn(intx);
publicintgetGoOn();
publicStringgetSendText();
publicvoidsetSendText(Strings);
publicvoidactionPerformed(ActionEvente);
MyP2P的类图
(2)AmuP2P
基于Pipe的通信连接都需要创建InputPipe、绑定InputPipe、创建OutputPipe才能通信,为了避免每次开发都要重复相似的代码,所以设计了这个类。
该类能够加入世界对等组,并在世界对等组中加入自定义的AmuStudio:
NET组,若找不到该组,则自动创建该组。
之后所有的组内操作都在这个自定义组中进行。
其类图如图所示:
AmuP2P
privateStringinputPipeName;//输入管道的名称
privateStringoutputPipeName;//输出管道的名称
privatePipeAdvertisementinputPipeAdv;//输入管道广告
privatePipeAdvertisementoutputPipeAdv;//输出管道广告
privateInputPipeip;//输入管道
privateOutputPipeop;//输出管道
privatePipeMsgListenerpml;//输入管道的监听器
privateOutputListeneropl;//输出管道的监听器
privatePeerGroupnetpg;//世界对等组
privatePeerGrouppg;//自定义组
privatePipeServiceps;//管道服务
privateDiscoveryServicedisc;
AmuP2P();
publicbooleanbind();
publicvoidrun();
publicbooleanconnect();
publicbooleanconnect(StringoutputPipeName);
publicvoidoutputPipeEvent(OutputPipeEventevent);
publicbooleansend(Messagemess);
publicvoidsetOutListener(OutputListeneropl);
publicvoidsetInListener(PipeMsgListenerpml);
publicvoidsetPeerGroup(PeerGrouppg);
publicvoidsetInputPipeName(StringinputPipeName);
publicvoidsetOutputPipeName(StringoutputPipeName);
publicInputPipegetInputPipe();
publicStringgetInputPipeName();
publicOutputPipegetOutputPipe();
publicStringgetOutputPipeName();
publicStringgetPeerName();
publicPeerGroupgetPeerGroup();
publicStringgetPeerGroupName();
privatevoidnewPeerGroup();
privatePipeAdvertisementcreatePipeAdvFromFile(Stringfilename);
图4.3AmuP2P的类图
采用AMuP2P编程时,peer建立连接的时序图如下图所示:
图AmuP2P编程的连接过程
(3)BaseMessage
用来产生特定消息的类,其类图如下图所示:
BaseMessage
publicfinalstaticStringCHAT="Chat";//消息的类型
publicfinalstaticStringOP="OP";//输出管道的名字
publicfinalstaticStringIP="IP";//输入管道的名字
publicMessagenewChatMessage(Stringmessage,StringoutputPipe,StringinputPipe);//产生聊天消息
图BaseMessage的类图
(4)OutputListener
继承了OutputPipeListener类,主要用来获取绑定的输出管道。
只有一个方法publicabstractOutputPipegetOutputPipe();。
(5)MyShare
初始化CMS服务,并发布共享文件。
为了简化程序设计,采用了指定共享目录的方式,即规定所有要共享的文件都要存放在目录MyShare下。
启动CMS服务后,该类自动将MyShare文件下的所有文件进行共享。
其类图如图所示:
MyShare
privatePeerGrouppg=null;
privateCMScms=null;
MyShare(PeerGrouppg);
publicvoidshareStart();
图MyShare的类图
(6)MyListRequest
主要功能是搜索共享内容,继承ListContentRequest类,覆盖父类的notifyMoreResults()方法。
为了使程序更易于用户使用和美观,对该类实现了界面化。
其类图如图所示:
MyListRequest
privateJFramesearchFrame;
privateDefaultTableModelresultList;
privateJTableresultTable;
privateJScrollPaneresultScrollPane;
privateJButtondownButton;
privateJButtonquitButton;
privateJPanels=newJPanel();
privateVector
privatePeerGroupgp=null;
MyListRequest(PeerGroupgroup,StringsubString);
publicvoidnotifyMoreResults();
publicvoiddisplayResult();
publicvoidactionPerformed(ActionEvente);
图MyListRequest的类图
(7)MyDownRequest
用来获得共享内容,继承了GetContentRequest类,覆盖了父类的notifyDone、notifyUpdate方法。
同样的,也为该类实现了界面化,方便用户使用。
其类图如图所示:
MyDownRequest
privateJFramedownFrame;
privateJLabelmes;
privateJButtondoneButton;
privateJButtoncancelButton;
privateJProgressBarpbar;
privateJPanels;
MyDownRequest(PeerGroupgroup,
ContentAdvertisementsource,Filedest);
publicvoidnotifyDone();
publicvoidnotifyUpdate(intpercent);
publicvoidactionPerformed(ActionEvente);
图MyDownRequest的类图
<3>.类之间关系的衔接
各个类的关系如图所示。
类关系图
<4>.时序图的建立
发送聊天信息的时序图如图所示:
发送聊天信息的时序图
接收聊天信息的时序图如图所示:
图接收聊天信息的时序图
搜索文件的时序图如图4.12所示:
图4.12搜索文件的时序图
下载文件的时序图如图4.13所示:
图4.13下载文件的时序图
5安装步骤:
A.Client的安装步骤:
(1).单击打开Setupclient.msi进入安装目录
(2)单击“下一步”
(3)选择要安装的文件夹,及为何人所使用该计算机的人安装SetupClient
(4)然后单击“下一步”
(5)继续单击“下一步”
B.安装Setupserver
(1).单击打开Setupserver.msi进入安装目录
(2).单击“下一步”
(3).选择要安装的文件夹,及为何人所使用该计算机的人安装Setupserver
(4)..然后单击“下一步”
(5)..继续单击“下一步”
6功能测试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网路 管理 实验 报告