网路管理实验报告.docx

上传人:b****6 文档编号:7919852 上传时间:2023-01-27 格式:DOCX 页数:34 大小:1.05MB
下载 相关 举报
网路管理实验报告.docx_第1页
第1页 / 共34页
网路管理实验报告.docx_第2页
第2页 / 共34页
网路管理实验报告.docx_第3页
第3页 / 共34页
网路管理实验报告.docx_第4页
第4页 / 共34页
网路管理实验报告.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

网路管理实验报告.docx

《网路管理实验报告.docx》由会员分享,可在线阅读,更多相关《网路管理实验报告.docx(34页珍藏版)》请在冰豆网上搜索。

网路管理实验报告.docx

网路管理实验报告

《网络管理实验》

实验报告

实验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;

privateVectorpeerList;

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();

privateVectorres;

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功能测试

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1