1、设计性综合性实验方案计算机网络与通信实验计算机网络与通信实验设计性、综合性实验方案实验1:网络综合服务一、 实验目的 利用DHCP、DNS、IIS和简单网页制作的知识,建立一个网络综合服务站点,提高站点发布的综合能力。二、 实验设备 交换机、PC机三、 实验环境四、 实验步骤1、 利用简单网页制作工具建立流媒体服务器中存在的流媒体文件信息列表页面,如index.htm,并为每项流媒体文件建立流媒体点播超链接。2、 利用DHCP实验知识,建立DHCP服务器和客户端,获取IP地址。3、 利用DNS实验知识,建立DNS域名解析。如将站点域名映射到192.168.0.1。4、 利用IIS实验知识,建立
2、与对应的WEB站点,用于打开第2步中的建立网页文件。5、 在工作站浏览器中输入后,显示index.htm页面。实验2:交换机管理一、 实验目的 掌握交换机工作原理及Vlan的应用。 熟悉交换机MAC地址表的配置。 了解各种情况下MAC地址表的变化及对网络连通性的影响。二、 实验设备 交换机、PC机三、 实验环境四、 实验步骤1、 根据网络拓扑结构完成网络设备连接,配置PC机网络参数。2、 使用show mac-address-table命令,查看MAC地址表初始信息。3、 任选PC1、PC2分别连接至交换机Fa0/1和Fa0/2端口,使用mac-address-table命令将其信息写入MAC
3、地址表,使用show mac-address-table命令查看MAC地址表信息,使用ping命令测试PC机之间的连通性。4、 根据下表调整PC机与交换机端口的连接情况,查看MAC地址表,测试PC机连通性。方案一PC机连接端口1PC1Fa0/2PC2Fa0/1PC3Fa0/32PC1Fa0/5PC2Fa0/6PC3Fa0/33PC1Fa0/5PC2Fa0/2PC3Fa0/15、 将PC1、PC2、PC3分别连接至交换机Fa0/1、Fa0/2、Fa0/3端口,使用mac-address-table命令将PC3信息写入MAC地址表,并分配至Vlan 2,查看MAC地址表信息,测试PC机连通性。6、
4、 利用交换机工作原理对各种连通性结果进行说明。实验3:网络模拟软件一、 实验目的学会使用网络模拟软件Boson NetSim模拟网络环境,对网络进行配置。 利用Boson Network Disgner,选择正确的网络设备,模拟网络环境。 利用Boson NetSim,正确配置网络设备参数。二、 实验设备 PC机三、 实验环境 Boson NetSim软件 网络拓扑结构四、 实验步骤1、利用Boson Network Designer模拟网络环境。(1)在设备列表中选择两台2621路由器、一台2950交换机、四台Windows 98计算机,并拖动至绘图区域中。(2)在设备列表中选择若干ethe
5、rnet连接线,将以上设备进行连接。(3)将设计完成的网络拓扑结构图保存为扩展名为.top的文件。2、利用Boson NetSim对网络中的各个设备进行配置。(1)打开Boson NetSim,导入上一步保存的扩展名为.top的文件。(2)打开ePC,利用winipcfg和ipconfig命令对PC机网络参数进行设置。(3)打开eRouter,对路由器按照静态路由协议或动态路由协议进行设置。(4)打开ePC,利用ping命令测试连通性。实验4:网络通信程序设计一、 实验目的用任何一种编程语言实现客户/服务器通信程序,要求: 客户端接收键盘输入的字符串,并向服务器发送; 服务器接收后,将字符串以
6、逆序返回给客户端; 客户端显示服务器返回的逆序字符串。二、 实验设备 PC机若干三、 实验步骤1、 服务器与客户端的动作分析服务器端的活动客户端的活动2、 服务器与客户端的类设计服务器端主程序类:StartServer.java客户端主程序类:StartClient.javaServer类:Server.javaClient类:Client.java3、 代码示例StartServer.java:import work.Server;public class StartServer public static void main(String args) String dataFromClie
7、nt = null; /定义来自客户端的数据 Server server = new Server(); /定义新的Server对象 /将第0个参数转化为整型数,并赋值给server对象的destPort属性 server.serverPort = Integer.parseInt(args0); try if (server.listen() /服务器启动监听成功 System.out.println(Server is now listening to port + args0); else /服务器启动监听失败 System.out.println(Can not listen to p
8、ort + args0); do /从客户端读取数据,并存放在dataFromClient中 dataFromClient = server.readFromClient(); /将客户端输入的数据逆序后,赋值给server对象的dataSend属性 server.dataSend = server.reverseString(dataFromClient); if (!server.send() System.out.println(Data send fail!); /在终端上输出接收到的客户端信息 System.out.println(Client said: + dataFromCli
9、ent); while (!dataFromClient.equalsIgnoreCase(quit); /若客户端输入quit则退出循环 server.close();/关闭连接 catch (Exception e) System.err.println(Start Server Error: +e.getMessage(); StartClient.java:import work.Client;import java.io.IOException;import .InetAddress;public class StartClient public static void main(S
10、tring args) String dataFromServer; /定义来自服务器的数据 String dataFromSTDIN; /定义来自标准输入的数据 Client client = new Client(); /定义新的Client对象 try /将字符串形式的IP地址转换成InetAddress对象,并设置client对象的/destIP(目标IP地址)属性 client.destIP = InetAddress.getByName(args0); catch (IOException e) System.err.println(Get server IP Address er
11、ror:+e.getMessage(); /设置client对象的destPort(目标端口)属性 client.destPort = Integer.parseInt(args1); /创建Socket client.createSocket(); /循环读取来自键盘的输入,并发送给服务器,直到读到“quit”就退出。 try do /读取来自键盘的输入 dataFromSTDIN = client.readFromSTDIN(); /设置client对象的dataSend(要发送的字符串)属性 client.dataSend = dataFromSTDIN; if (!client.sen
12、d() System.out.println(Data Send Fail); /输出来自服务器的数据 System.out.println(Server said: + client.readFromServer(); while (!dataFromSTDIN.equalsIgnoreCase(quit); /若键盘输入不是quit,则/继续循环 client.close();/关闭连接 catch (Exception e) System.err.println(Start Client Error: + e.getMessage(); Server.javapackage work;i
13、mport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import .ServerSocket;import .Socket;public class Server public int serverPort; /服务端口 public String dataSend = null; /发送给客户端的数据 private ServerSocket serverSocket = null; private Socket
14、socket = null; private BufferedReader bufferedReader = null; public Server() /* * 功能:监听端口 返回值:boolean serverListenStatus,(判断监听成功与否) */ public boolean listen() boolean serverListenStatus = false; try /在指定端口上创建ServerSocket对象 serverSocket = new ServerSocket(serverPort); catch (IOException e) System.out
15、.println(Create new ServerSocket error: +e.getMessage(); try /监听端口 socket = serverSocket.accept(); catch (IOException e) System.out.println(Socket accept error: +e.getMessage(); finally serverListenStatus = true; return serverListenStatus; /* * 功能:读取来自客户端的数据 返回值:String streamFromClient, 来自客户端的数据 */
16、public String readFromClient() String streamFromClient = null; try bufferedReader = new BufferedReader(new InputStreamReader(socket .getInputStream(); streamFromClient = bufferedReader.readLine(); catch (IOException e) System.out.println(Server read input stream error:+e.getMessage(); return streamF
17、romClient; /* * 功能:向客户端发送数据 返回值:boolean sendStatus(判断发送成功与否) */ public boolean send() boolean sendStatus = false; try /创建PrintWriter对象 PrintWriter out = new PrintWriter(socket.getOutputStream(); /发送数据 out.println(dataSend); /将数据送出,缓存清空 out.flush(); sendStatus = true; catch (IOException e) System.out
18、.println(Server send data error: + e.getMessage(); return sendStatus; /* * 功能:将字符串逆序 参数:orderedString 返回值:String reverseString */ public String reverseString(String orderedString) StringBuffer stringBuffer = new StringBuffer(orderedString); String reverseString = stringBuffer.reverse().toString(); r
19、eturn reverseString; /* * 功能:关闭连接 */ public void close() try bufferedReader.close(); socket.close(); serverSocket.close(); catch (IOException e) System.out.println(Server close error: + e.getMessage(); Client.javapackage work;import java.io.BufferedReader;import java.io.IOException;import java.io.In
20、putStreamReader;import java.io.PrintWriter;import .InetAddress;import .Socket;public class Client public InetAddress destIP = null; public int destPort; public String dataSend = null; private Socket socket = null; private BufferedReader bufferedReader = null; public Client() /* * 功能:创建Socket */ publ
21、ic void createSocket() try socket = new Socket(destIP, destPort); catch (IOException e) System.err.println(Create client socket error: + e.getMessage(); /* * 功能:向服务器发送字符串 返回值:boolean sendStatus */ public boolean send() boolean sendStatus = false; try PrintWriter out = new PrintWriter(socket.getOutpu
22、tStream(); out.println(dataSend); out.flush(); sendStatus = true; catch (IOException e) System.out.println(Client send data error: + e.getMessage(); return sendStatus; /* * 功能:读取来自服务器的数据 返回值:String streamFromServer */ public String readFromServer() String streamFromServer = null; try bufferedReader
23、= new BufferedReader(new InputStreamReader(socket .getInputStream(); streamFromServer = bufferedReader.readLine(); catch (IOException e) System.out.println(Client read input stream error:+e.getMessage(); return streamFromServer; /* * 功能:读取来自标准输入的数据 返回值:String inputLine。来自标准输入的数据。 */ public String re
24、adFromSTDIN() String inputLine = null; try bufferedReader = new BufferedReader( new InputStreamReader(System.in); inputLine = bufferedReader.readLine(); catch (IOException e) System.out.println(Client read input stream error:+e.getMessage(); return inputLine; /* * 功能:关闭连接 */ public void close() try bufferedReader.close(); socket.close(); catch (IOException e) System.out.println(Server close error: + e.getMessage(); 四、 实验结果服务器端运行:客户端运行:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1