中南大学 软件学院 计算机网络原理 实验报告二

合集下载

计算机网络实验二实验报告讲解

计算机网络实验二实验报告讲解

计算机网络实验二实验报告讲解实验二:网络传输性能的测试与评估实验目的:1.掌握网络传输性能的测试方法;2.了解网络传输性能评估的参数;3. 学会使用JPerf工具进行网络传输性能测试。

实验环境:1. JPerf软件;2. 两台运行Windows操作系统的计算机;3.以太网交换机;4.网线,以连接两台计算机及交换机。

实验步骤:1.配置网络环境连接两台计算机和交换机,保证网络连接正常。

2. 安装JPerf软件在两台计算机上分别安装JPerf软件。

3. 运行JPerf服务器选择一台计算机作为服务器,打开JPerf程序,选择“Server”模式,并设置端口号。

4. 运行JPerf客户端打开另一台计算机的JPerf程序,选择“Client”模式,并输入服务器的IP地址和端口号。

5.设置测试参数在JPerf客户端上,设置传输模式(TCP/UDP)、传输时长和数据包大小等参数,并点击“Start”按钮开始测试。

6.分析结果测试结束后,JPerf会输出传输性能测试的结果,包括带宽、丢包率、延迟等参数。

根据这些参数可以评估网络的传输性能。

实验结果与分析:在测试过程中,我们选择了TCP传输模式,传输时长设置为30秒,数据包大小为1MB。

根据测试结果,我们得到了以下性能参数:带宽:100Mbps丢包率:0%延迟:10ms根据带宽和延迟,我们可以评估网络的传输性能。

带宽表示单位时间内能够传输的数据量,带宽越大,传输速度越快。

延迟表示数据从发送方到接收方的传输延时,延迟越小,传输速度越快。

丢包率表示发送的数据在传输过程中丢失的比例,丢包率越小,数据传输越可靠。

在这个实验中,我们得到了较高的带宽和较低的延迟,说明网络的传输性能较好。

同时,丢包率为0%,说明数据传输的可靠性也很高。

根据这些结果,我们可以对网络的传输性能进行评估。

如果带宽较小、延迟较大或丢包率较高,就会影响数据的传输速度和可靠性,从而降低网络的传输性能。

因此,在设计和配置网络时,需要考虑这些因素,以提高网络的传输性能。

计算机网络实验2报告

计算机网络实验2报告

计算机网络实验2报告一、实验目的本次计算机网络实验 2 的主要目的是深入了解和掌握计算机网络中的相关技术和概念,通过实际操作和实验分析,提高对计算机网络的理解和应用能力。

二、实验环境本次实验在学校的计算机实验室进行,使用的操作系统为 Windows 10,实验中所用到的软件和工具包括 Wireshark 网络协议分析工具、Packet Tracer 网络模拟软件等。

三、实验内容与步骤(一)网络拓扑结构的搭建使用 Packet Tracer 软件搭建了一个简单的星型网络拓扑结构,包括一台交换机、四台计算机和一台服务器。

为每台设备配置了相应的 IP 地址、子网掩码和网关等网络参数。

(二)网络协议分析1、启动 Wireshark 工具,选择对应的网络接口进行抓包。

2、在网络中进行文件传输、网页浏览等操作,观察 Wireshark 捕获到的数据包。

3、对捕获到的数据包进行分析,包括数据包的源地址、目的地址、协议类型、数据长度等信息。

(三)网络性能测试1、使用 Ping 命令测试网络中不同设备之间的连通性和延迟。

2、通过发送大量数据包,测试网络的带宽和吞吐量。

四、实验结果与分析(一)网络拓扑结构搭建结果成功搭建了星型网络拓扑结构,各设备之间能够正常通信,IP 地址配置正确,网络连接稳定。

(二)网络协议分析结果1、在文件传输过程中,观察到使用的主要协议为 TCP 协议,数据包有序且可靠地传输。

2、网页浏览时,发现涉及到 HTTP 协议的请求和响应,包括获取网页内容、图片等资源。

(三)网络性能测试结果1、 Ping 命令测试结果显示,网络中设备之间的延迟较低,均在可接受范围内,表明网络连通性良好。

2、带宽和吞吐量测试结果表明,网络能够满足一般的数据传输需求,但在大量数据并发传输时,可能会出现一定的拥塞现象。

五、实验中遇到的问题及解决方法(一)IP 地址配置错误在配置设备的 IP 地址时,出现了部分设备 IP 地址冲突的问题,导致网络通信异常。

计算机网络实验报告2

计算机网络实验报告2

《计算机网络》课程实验报告附件:(一)系统概述1.运行环境: windowXP、win7等操作系统2.编译:已编译完成, 可直接执行可执行文件3.实现环境: Visual Studio 2010(二)使用方法:一般窗口应用程序, 双击即可运行。

(用户名:aaa 密码:123)(三)主要数据结构1.服务器端程序:2.Class CClientNet {public://连接上指定服务器int Connect(int port,const char* address);//发送信息//int SendMsg(const char* msg,int len);void SendMsg();//关闭V oid Close();private:SOCKET m_sock;}2.SOCKET3.WSAData4.sockaddr_in客户端程序:1. clas. CServerNet{public://初始化服务器,返回0表示成功int Init(const char* address,int port);//更新数据void Run();private:SOCKET m_sock;}3.SOCKET4.WSAData5.sockaddr_in(四)用户使用手册1. 运行服务器端程序server.exe。

2. 运行客户端程序client.exe。

3. 用户登录: 在客户端界面中出现connect则说明可以与服务器连接。

在login: 后输入用户名(aaa), 若用户名存在则client端返回该用户名的密码(123), 与输入密码比对, 若相同则连接成功, 可以开始发送消息。

4. 发送消息:在步骤3后, 用户端界面会出现“send your message:”的提示, 此时可以输入想要发送的消息, 输完后按enter键发送。

若发送成功, 则server界面出现发送的消息, client界面提示“send successfully”。

《计算机网络》实验报告

《计算机网络》实验报告

《计算机网络》实验报告计算机网络实验报告一、引言计算机网络是现代信息技术的基础,它将各种计算机和设备连接在一起,实现数据的传输和共享。

本篇实验报告将介绍我们在《计算机网络》课程中进行的实验内容和实验结果。

二、实验目的本次实验的目的是通过搭建一个简单的局域网并进行通信测试,加深对计算机网络基本概念的理解,掌握网络配置和通信过程中的相关知识。

三、实验环境我们使用了两台计算机和一个交换机来搭建局域网。

其中,计算机A作为服务器,计算机B作为客户端,交换机用于连接两台计算机。

四、实验步骤1. 配置网络参数我们首先在计算机A和计算机B上配置IP地址、子网掩码和默认网关,确保两台计算机处于同一个子网中。

2. 搭建局域网将计算机A和计算机B通过网线连接到交换机的不同端口上,确保物理连接正常。

3. 配置服务器在计算机A上搭建服务器,选择一种合适的网络服务软件,如Apache、Nginx 等,并进行相应的配置。

4. 配置客户端在计算机B上配置客户端,选择一种合适的浏览器软件,如Chrome、Firefox 等,并设置代理服务器的IP地址和端口。

5. 进行通信测试打开浏览器,在客户端中输入服务器的IP地址和端口号,访问服务器上的网页。

观察通信过程中的网络数据传输情况,检查是否能够成功建立连接并获取到服务器上的网页内容。

五、实验结果通过以上步骤,我们成功搭建了一个简单的局域网,并进行了通信测试。

在测试过程中,我们观察到以下结果:1. 网络连接正常计算机A和计算机B通过交换机成功建立了物理连接,网络连接正常。

2. IP地址配置正确计算机A和计算机B的IP地址、子网掩码和默认网关配置正确,处于同一个子网中。

3. 服务器配置成功在计算机A上搭建的服务器配置成功,能够正常响应客户端的请求。

4. 客户端配置成功在计算机B上配置的客户端能够正常访问服务器上的网页,获取到正确的网页内容。

六、实验总结通过本次实验,我们深入了解了计算机网络的基本概念和通信过程,掌握了网络配置和通信测试的方法。

《计算机网络实验》实验报告

《计算机网络实验》实验报告

《计算机网络实验》实验报告一、实验目的计算机网络实验是计算机相关专业学习中的重要实践环节,通过实验操作,旨在深入理解计算机网络的基本原理、协议和技术,提高我们的动手能力和解决实际问题的能力。

具体目的包括:1、熟悉计算机网络的体系结构和各层协议的工作原理。

2、掌握网络设备的配置和管理方法,如交换机、路由器等。

3、学会使用网络工具进行网络性能测试和故障诊断。

4、培养团队合作精神和沟通能力,提高解决复杂问题的综合素养。

二、实验环境本次实验在学校的计算机网络实验室进行,实验室配备了以下设备和软件:1、计算机若干台,安装了 Windows 操作系统和相关网络工具软件。

2、交换机、路由器等网络设备。

3、网络线缆、跳线等连接设备。

三、实验内容及步骤实验一:以太网帧的捕获与分析1、打开网络协议分析软件 Wireshark。

2、将计算机连接到以太网中,启动捕获功能。

3、在网络中进行一些数据传输操作,如访问网站、发送文件等。

4、停止捕获,对捕获到的以太网帧进行分析,包括帧的格式、源地址、目的地址、类型字段等。

实验二:交换机的基本配置1、连接交换机和计算机,通过控制台端口进行配置。

2、设置交换机的主机名、管理密码。

3、划分 VLAN,并将端口分配到不同的 VLAN 中。

4、测试不同 VLAN 之间的通信情况。

实验三:路由器的基本配置1、连接路由器和计算机,通过控制台端口或Telnet 方式进行配置。

2、设置路由器的接口 IP 地址、子网掩码。

3、配置静态路由和动态路由协议(如 RIP 或 OSPF)。

4、测试网络的连通性。

实验四:网络性能测试1、使用 Ping 命令测试网络的延迟和丢包率。

2、利用 Tracert 命令跟踪数据包的传输路径。

3、使用网络带宽测试工具测试网络的带宽。

四、实验结果与分析实验一结果与分析通过对捕获到的以太网帧的分析,我们清楚地看到了帧的结构,包括前导码、目的地址、源地址、类型字段、数据字段和帧校验序列等。

计算机网络实践报告5篇

计算机网络实践报告5篇

计算机网络实践报告5篇(实用版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的实用资料,如职场文书、书信函件、教学范文、演讲致辞、心得体会、学生作文、合同范本、规章制度、工作报告、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor.I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, this store provides various types of practical materials for everyone, such as workplace documents, correspondence, teaching samples, speeches, insights, student essays, contract templates, rules and regulations, work reports, and other materials. If you want to learn about different data formats and writing methods, please pay attention!计算机网络实践报告5篇计算机网络实践报告1开学第一周我们就迎来了计算机网络实训,这门课程与上学期所学的计算机网络相对应,给了我们一个更深刻理解和掌握所学知识的机会。

2024年计算机网路原理与应用实习总结(二篇)

2024年计算机网路原理与应用实习总结(二篇)

2024年计算机网路原理与应用实习总结一、实习背景介绍在大学的计算机网络原理与应用课程中,我们进行了为期两个月的实习。

实习内容主要涉及计算机网络的基本原理、网络协议的实现以及网络应用的开发等方面。

通过实习,我进一步加深了对计算机网络的理解,并在实践中掌握了一些常用的网络分析和调试工具。

二、实习内容及收获1.网络协议的实现在实习期间,我主要参与了一个小型的网络协议的实现项目。

我们小组设计并实现了一个自定义的传输协议,用于在客户端和服务器之间传输数据。

通过这个项目,我深入了解了网络协议的设计原则和实现细节,掌握了TCP/IP协议栈的基本原理和使用方法。

2.网络应用的开发另外,我还参与了一个网络应用开发的项目。

我们小组开发了一个简单的文件传输应用程序,实现了客户端和服务器之间的文件传输功能。

在这个项目中,我学习并掌握了一些常用的网络编程技术,如套接字编程、多线程编程等。

我还学会了使用Python语言进行网络应用的开发,并在实践中加深了对网络通信原理的理解。

3.网络分析和调试工具的使用在实习期间,我还学习并应用了一些网络分析和调试工具,如Wireshark、Netcat等。

通过使用这些工具,我可以捕获和分析网络数据包,了解网络通信的细节和过程。

这对于理解和排查网络故障非常有帮助。

同时,我还学会了使用Ping和Traceroute等命令行工具测试网络连通性和路径。

三、实习心得体会通过这次实习,我深刻认识到计算机网络在现代社会中的重要性和必要性。

网络连接了全球各地的计算机,为人们提供了快捷、高效的通信和数据交流方式。

同时,计算机网络也存在着各种安全隐患和风险,如网络攻击、信息泄露等。

因此,网络安全问题也亟需我们的关注和研究。

在实习中,我还感受到了团队合作的重要性。

只有通过大家的共同努力和协作,我们才能完成实习项目并取得良好的成果。

在小组合作中,我学会了倾听别人的意见和建议,学会了与人合作解决问题,并学会了有效地沟通和协调。

计算机网络原理实验报告

计算机网络原理实验报告

计算机网络原理实验报告一、实验目的1.了解计算机网络的基本概念和原理;2.掌握计算机网络的基本组成部分及其功能;3.学习使用网络配置工具进行网络的配置和管理;4.掌握网络通信的基本步骤和网络协议的作用;5.通过实验,加深对计算机网络的理论知识的理解和应用。

二、实验环境1. 操作系统:Windows 10;2. 软件工具:Packet Tracer;3.实验设备:计算机、路由器、交换机。

三、实验内容1.网络配置实验通过使用Packet Tracer软件,建立一个简单的局域网,包括一台计算机、一台路由器和一台交换机。

使用网络配置工具进行网络的配置和管理,实现计算机与路由器之间的通信以及计算机与交换机之间的通信。

2.网络通信实验通过Ping命令测试计算机与路由器之间的连通性,并观察分组的传输过程。

同时,使用Wireshark抓包工具,捕获网络数据包,并分析数据包的结构和内容。

可以观察到IP地址、MAC地址以及各类协议的使用情况。

四、实验步骤1. 打开Packet Tracer软件,创建一个场景,包括一台计算机、一台路由器和一台交换机。

2.使用网络配置工具,给计算机、路由器和交换机分配IP地址,并设置子网掩码。

3.配置路由器的路由表,将计算机所在的网段加入到路由器的路由表中。

4. 在计算机上通过命令行窗口,使用Ping命令测试与路由器的连通性。

5. 同时,启动Wireshark抓包工具,并对网络通信进行抓包。

6. 观察Ping命令的结果,判断是否与路由器连通。

7. 分析Wireshark抓包结果,观察数据包的结构和内容,了解网络通信的基本原理和过程。

五、实验结果与分析1.网络配置实验通过网络配置工具,成功配置了计算机、路由器和交换机的IP地址,并设置了子网掩码。

通过配置路由器的路由表,实现了计算机与路由器之间的通信以及计算机与交换机之间的通信。

2.网络通信实验Ping命令的结果显示,计算机与路由器之间连通正常。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学软件学院计算机网络实验报告实验:实验一姓名:班级:学号:一、实验名称:socket编程二、实验目的本次实验的目的是通过利用Socket编写简单的客户/服务器程序,了解TCP/IP网络的基本通信原理和编程方法,初步掌握TCP/IP网络的传输层上的编程接口(Windows Sockets API),学会利用这些接口来编写简单的网络通信软件。

三、实验要求利用socket编写简单的客户/服务器程序,比如聊天室、文件传输等。

利用Socket编写简单的客户/服务器程序,关键的问题一是客户端与服务器端如何通信;二是当有多个客户端同时连接到服务器端时,服务器端如何识别每个客户端,并对请求给出相应的回复。

同时还要保证一个客户端断开连接时不影响其它客户端与服务器端的通信。

这里以实现聊天室程序为例分析实验的关键问题。

1.实现思想在Internet上的聊天室程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。

因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。

2服务器端工作流程服务器端通过socket()系统调用创建一个Socket数组后(即设定了接受连接客户的最大数目),与指定的本地端口绑定bind(),就可以在端口进行侦听listen()。

如果有客户端连接请求,则在数组中选择一个空Socket,将客户端地址赋给这个Socket。

然后登录成功的客户就可以在服务器上聊天了。

3客户端工作流程客户端程序相对简单,只需要建立一个Socket与服务器端连接,成功后通过这个Socket来发送和接收数据就可以了。

四、核心代码客户端SOCKET封装函数bool CCSUMarketApp::OpenSocket(SOCKET m_hSocket,CString str,charbuff[],int n)WSADATA wsaData;WORD version = MAKEWORD(2, 0);int ret = WSAStartup(version, &wsaData);if(ret != 0) return false;// TRACE("Initilize Error!\n");if(m_hSocket != NULL){closesocket(m_hSocket);m_hSocket = NULL;if (WSACleanup() != 0){TRACE("UnInitilize Error:%d\n", WSAGetLastError());}}if(m_hSocket == NULL){m_hSocket = socket(AF_INET, SOCK_STREAM,0);ASSERT(m_hSocket != NULL);}//初始化SOCKETif(buff != NULL){memset(buff,0,256);}str+='\0';int error = 0;ret = connect(m_hSocket, (LPSOCKADDR)&m_addr, sizeof(m_addr));if(ret == SOCKET_ERROR){TRACE("Connect Error: %d \n", (error = WSAGetLastError()));if(error == 10061)AfxMessageBox(_T("请确认服务器确实已经打开并工作在同样的端口!"));return false;}char* buf = str.GetBuffer(0);ret = send(m_hSocket, buf, str.GetLength(), 0);if(ret != str.GetLength()){TRACE("Send data error: %d\n", WSAGetLastError());return false;}ret = recv(m_hSocket, buff, 256, 0);if(ret == 0){TRACE("Recv data error: %d\n", WSAGetLastError());return false;}// buff[ret-1] = '$';closesocket(m_hSocket);if (WSACleanup() != 0){TRACE("UnInitilize Error:%d\n", WSAGetLastError());}return true;}2、服务器端:void CSimpleserverDlg::StartUp(){WSADATA wsaData;WORD version = MAKEWORD(2, 0);int ret = WSAStartup(version, &wsaData);TRACE("Initilize Error!\n");if(ret != 0)TRACE("Initilize Error!\n");}void CSimpleserverDlg::Onstart(){// TODO: Add your control notification handler code hereif(m_hSocket != NULL){closesocket(m_hSocket);m_hSocket = NULL;}if(m_hSocket == NULL){m_hSocket = socket(AF_INET, SOCK_STREAM,0);ASSERT(m_hSocket != NULL);}m_addr.sin_family = AF_INET;m_addr.sin_addr.S_un.S_addr = INADDR_ANY;m_addr.sin_port = htons(m_nPort);//bindint ret = 0;int error = 0;ret = bind(m_hSocket, (LPSOCKADDR)&m_addr, sizeof(m_addr));if(ret == SOCKET_ERROR){TRACE("Bind Error: %d \n", (error = WSAGetLastError()));return ;}//listenret = listen(m_hSocket, 5);if(ret == SOCKET_ERROR){TRACE("Listen Error: %d \n", (error = WSAGetLastError()));return ;}//::WSAAsyncSelect(m_hSocket,this->m_hWnd,WM_SOCKT,FD_READ|FD_ACCEPT);//block for connectionwhile (1){m_hSocket = accept(m_hSocket, NULL, NULL);if(m_hSocket == SOCKET_ERROR){TRACE("Accept Error: %d \n", (error = WSAGetLastError()));return ;}//::WSAAsyncSelect(m_hSocket,this->m_hWnd,WM_SOCKT,FD_READ|FD_ACC EPT);//waiting for messagechar buff[256];memset(buff,0,256);ret = recv(m_hSocket, buff, 256, 0);if(ret == 0 || ret == SOCKET_ERROR ){TRACE("Recv data error: %d\n", WSAGetLastError());return ;}// MessageBox(buff);//judge type of commendchar type = ' ';type=buff[0];CString str;switch(type){case '0':str=LoginMng(buff);//loginbreak;case '1':str=InsertMng(buff);//insert & deletebreak;case '3':str=Search(buff);break;case '4':str=search2(buff);break;case '8':str=search1(buff);break;case 'a':str=search3(buff);break;case 'b':str=search4(buff);break;break;default:{TRACE(_T("Command error!\n"));}break;}char* buf = str.GetBuffer(0);ret = send(m_hSocket, buf, str.GetLength(), 0);//MessageBox(buf);if(ret != str.GetLength()){TRACE("Send data error: %d\n", WSAGetLastError());return ;}}}五、实验结果六、心得体会本次实验是由WW,WWm,CC三个人组成的小组共同完成的,由于我们三个人都较为熟悉c++语言,所以我们本次实验内容的实现是基于MFC平台的。

我们本次实验是使用C/S结构,利用SOCKET来实现客户端与服务器的交互,利用ADO实现服务器端与数据库之间的交互,具体的交互流程为:客户端根据用户的操作向服务器端发送相应的SQL语句以及语句的类型,服务器端将SQL语句从接收到的字符串中剥离,并与数据库连接得到相应的结果集,然后根据SQL语句类型返回客户端需要的结果,客户端成功接收到结果之后显示到窗口之中,一次交互结束。

由于在客户端将套接字创建到关闭的过程做了封装,所以每一次交互就变得很简单,也做到了异步的处理。

这个实验让我们熟悉了SOCKET的交互过程,以及SOCKET异步处理的方法,也使我们的编程经验得到了丰富。

相关文档
最新文档