设计性综合性实验方案计算机网络与通信实验Word格式文档下载.doc
《设计性综合性实验方案计算机网络与通信实验Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《设计性综合性实验方案计算机网络与通信实验Word格式文档下载.doc(10页珍藏版)》请在冰豆网上搜索。
l了解各种情况下MAC地址表的变化及对网络连通性的影响。
1、根据网络拓扑结构完成网络设备连接,配置PC机网络参数。
2、使用showmac-address-table命令,查看MAC地址表初始信息。
3、任选PC1、PC2分别连接至交换机Fa0/1和Fa0/2端口,使用mac-address-table命令将其信息写入MAC地址表,使用showmac-address-table命令查看MAC地址表信息,使用ping命令测试PC机之间的连通性。
4、根据下表调整PC机与交换机端口的连接情况,查看MAC地址表,测试PC机连通性。
方案一
PC机
连接端口
1
PC1
Fa0/2
PC2
Fa0/1
PC3
Fa0/3
2
Fa0/5
Fa0/6
3
5、将PC1、PC2、PC3分别连接至交换机Fa0/1、Fa0/2、Fa0/3端口,使用mac-address-table命令将PC3信息写入MAC地址表,并分配至Vlan2,查看MAC地址表信息,测试PC机连通性。
6、利用交换机工作原理对各种连通性结果进行说明。
实验3:
网络模拟软件
学会使用网络模拟软件BosonNetSim模拟网络环境,对网络进行配置。
l利用BosonNetworkDisgner,选择正确的网络设备,模拟网络环境。
l利用BosonNetSim,正确配置网络设备参数。
lPC机
lBosonNetSim软件
l网络拓扑结构
1、利用BosonNetworkDesigner模拟网络环境。
(1)在设备列表中选择两台2621路由器、一台2950交换机、四台Windows98计算机,并拖动至绘图区域中。
(2)在设备列表中选择若干ethernet连接线,将以上设备进行连接。
(3)将设计完成的网络拓扑结构图保存为扩展名为.top的文件。
2、利用BosonNetSim对网络中的各个设备进行配置。
(1)打开BosonNetSim,导入上一步保存的扩展名为.top的文件。
(2)打开ePC,利用winipcfg和ipconfig命令对PC机网络参数进行设置。
(3)打开eRouter,对路由器按照静态路由协议或动态路由协议进行设置。
(4)打开ePC,利用ping命令测试连通性。
实验4:
网络通信程序设计
用任何一种编程语言实现客户/服务器通信程序,要求:
l客户端接收键盘输入的字符串,并向服务器发送;
l服务器接收后,将字符串以逆序返回给客户端;
l客户端显示服务器返回的逆序字符串。
lPC机若干
三、实验步骤
1、服务器与客户端的动作分析
服务器端的活动
客户端的活动
2、服务器与客户端的类设计
服务器端主程序类:
StartServer.java
客户端主程序类:
StartClient.java
Server类:
Server.java
Client类:
Client.java
3、代码示例
StartServer.java:
importwork.Server;
publicclassStartServer{
publicstaticvoidmain(String[]args){
StringdataFromClient=null;
//定义来自客户端的数据
Serverserver=newServer();
//定义新的Server对象
//将第0个参数转化为整型数,并赋值给server对象的destPort属性
server.serverPort=Integer.parseInt(args[0]);
try{
if(server.listen()){
//服务器启动监听成功
System.out.println("
Serverisnowlisteningtoport"
+args[0]);
}else{
//服务器启动监听失败
Cannotlistentoport"
}
do{
//从客户端读取数据,并存放在dataFromClient中
dataFromClient=server.readFromClient();
//将客户端输入的数据逆序后,赋值给server对象的dataSend属性
server.dataSend=server.reverseString(dataFromClient);
if(!
server.send()){
System.out.println("
Datasendfail!
"
);
}
//在终端上输出接收到的客户端信息
Clientsaid:
"
+dataFromClient);
}while(!
dataFromClient.equalsIgnoreCase("
quit"
));
//若客户端输入"
则退出循环
server.close();
//关闭连接
}catch(Exceptione){
System.err.println("
StartServerError:
+e.getMessage());
}
}
}
StartClient.java:
importwork.Client;
importjava.io.IOException;
import.InetAddress;
publicclassStartClient{
StringdataFromServer;
//定义来自服务器的数据
StringdataFromSTDIN;
//定义来自标准输入的数据
Clientclient=newClient();
//定义新的Client对象
//将字符串形式的IP地址转换成InetAddress对象,并设置client对象的
//destIP(目标IP地址)属性
client.destIP=InetAddress.getByName(args[0]);
}catch(IOExceptione){
GetserverIPAddresserror:
//设置client对象的destPort(目标端口)属性
client.destPort=Integer.parseInt(args[1]);
//创建Socket
client.createSocket();
//循环读取来自键盘的输入,并发送给服务器,直到读到“quit”就退出。
//读取来自键盘的输入
dataFromSTDIN=client.readFromSTDIN();
//设置client对象的dataSend(要发送的字符串)属性
client.dataSend=dataFromSTDIN;
client.send()){
DataSendFail"
//输出来自服务器的数据
Serversaid:
+client.readFromServer());
dataFromSTDIN.equalsIgnoreCase("
//若键盘输入不是"
,则
//继续循环
client.close();
StartClientError:
+e.getMessage());
packagework;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.io.PrintWriter;
import.ServerSocket;
import.Socket;
publicclassServer{
publicintserverPort;
//服务端口
publicStringdataSend=null;
//发送给客户端的数据
privateServerSocketserverSocket=null;
privateSocketsocket=null;
privateBufferedReaderbufferedReader=null;
publicServer(){}
/**
*功能:
监听端口返回值:
booleanserverListenStatus,(判断监听成功与否)
*/
publicbooleanlisten(){
booleanserverListenStatus=false;
//在指定端口上创建ServerSocket对象
serverSocket=newServerSocket(serverPort);
Sy