计算机网络课程设计_计算机网络课程设计题

其他范文 时间:2020-02-27 19:59:52 收藏本文下载本文
【www.daodoc.com - 其他范文】

计算机网络课程设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“计算机网络课程设计题”。

编号:

计算机网络课程设计说明书

目:

本地计算机网络信息管理 系

别:

计算机科学与工程

业:

信息安全

学生姓名:

xxx

号:

00000000000

指导教师:

xx

2011年月日

摘 要

本机网络信息管理器提供了有关计算机性能的信息,并显示了计算机上主要设备信息;如果连接到网络,那么还可以查看网络状态并迅速了解网络是如何工作的。它的用户界面提供了设置网络信息的选项,其下还有具体的内容设置,而且这里可以查看到当前系统的CPU使用比率、内存等数据,默认设置下系统每隔两秒钟对数据进行1次自动更新。

目 录

1.绪论 ………………………………………………………………………………01 1.1 IP/TCP协议常识 …………………………………………………………08 1.2 Socket的简介 ……………………………………………………………09 2.规划设计 …………………………………………………………………………11 2.1 课题来源 ……………………………………………………………………11 2.2 需求分析 …………………………………………………………………11 3.系统分析与设计方案 ……………………………………………………………12 3.1 聊天系统的总体设计要点 ………………………………………………12 3.2 聊天系统的设计步骤及功能模块划分 ……………………………………12 3.3 功能模块结构图 …………………………………………………………13 4.系统设计环境与测试 …………………………………………………………26 4.1 开发环境和工具 …………………………………………………………26 4.2 硬件环境 ……………………………………………………………………26 4.3 聊天系统的测试 …………………………………………………………26 5.课程设计总结 ……………………………………………………………………28 5.1 课程设计总结 ………………………………………………………………28 5.2 经验和感想 …………………………………………………………………28 参考文献 …………………………………………………………………………31

计算机网络课程设计报告绪论

随着互联网逐步普及,人们的生活和工作也越来越离不开信息网络的支持,而聊天室是人们最常见,最直接的网上交流的方式。本信息管理系统以网络设置为主,为广大用户提供一个简洁的、方便的网络设置方式,也是使网络设置更简单,更适用于对电脑了解不多的用户。本文所介绍的网络信息管理系统是基于开放的C#应用程序开发设计的,其主要特性是能动态、实时的完成信息的传递,且具有高效的交互性,更有效的反映本机的网络设置状况,易于维护和更新,其运行所需环境及其工作流程和各个功能控件的工作原理将在本文依次介绍,并且文中提供了部分程序源代码。

1.1 IP/TCP协议常识

(1)IP、TCP协议的特点:

TCP/IP(Transmiion Control Protocol/Internet Protocol)是传输控制协议/网际协议的缩写, TCP/IP是当今网络互联的核心协议。TCP/IP协议的体系结构共有四个层次,即应用层、传输层、网络互联层和网络接口层。

IP协议的作用:第一,它是网络层的协议,提供互联网上数据传输的统一格式。第二,提供不可靠的无连接的服务。第三,定义了互联网上的传输数据的基本单元,提供了供路由选择的信息,没有差错校验和处理的机制。

TCP协议的功能:差错控制——可靠性、面向连接、分段(Segment)、端口号。TCP是传输控制协议,是面向连接的提供了一种可靠的传输服务,它用三次握手和滑动窗口机制来保证传输的可靠性,及进行流量控制。

TCP/IP协议具有以下特点:

1、协议标准具有开放性,其独立于特定的计算机硬件及操作系统,可以免费使用。

2、统一分配网络地址,使得每个TCP/IP 设备在网络中都具有唯一的IP地址。

3、实现了高层协议的标准化,能为用户提供多种可靠的服务。(2)TCP/IP协议进行传输数据传输的过程:

应用程序为了传输数据会调用TCP,将数据和对应的参数传给TCP,将TCP 数据包封装在IP包内,通过网络送给目的TCP。接收方TCP在接收到数据后通知上层应用程序,TCP将保证接收数据的正确性。在实现TCP的主机上,TCP可以被看成是一个模块,和文件系统区别不大,TCP 也可以调用一些操作系统的功能,TCP不直

计算机网络课程设计报告

接和网络打交道,控制网络的任务由专门的设备驱动模块完成。TCP只是调用IP接口,向TCP提供所有TCP需要的服务。

(3)端口号:

有的时候,一个ip地址不能完整的标识一台服务器,这是应为一台物理性的计算机同时运行着多个应用程序,这就需要我们来区别同一台机子上的不同的服务,所以就在传输层和应用层上设置接口,就是 端口。端口实际是一个16位长的 地址,他的范围是0~65535之间,其中0~1023是熟知端口,主要是给提供服务的应用程序使用,这些端口是所有应用进程都只道的,1024~65535为一般端口,也称动态端口、连接端口,用来随时分配要求通信的个客户端应用程序。在数据传输过程中,各种服务器不断的检测分配给他的端口,一边发现要求和他通信的客户端。

1.2 Windows Management Instrumentation,Windows 管理规范

WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。

Windows 2K/XP和Windows 98 都支持WMI;如果为NT 4.0和Windows 95加上了 Service Pack 4或更高版本,N

WMI T 4.0和Win95也支持WMI。因此,用WMI进行远程管理时,并非一定要用Windows 2K/XP(当然,如果WMI脚本在一台没有性能监视器的Win9x机器上运行,就不能在远程Win9x系统上查询Windows 2K/XP的性能监视器。

如前所述,WMI允许通过一个公共的接口访问多种操作系统构成单元,因此不必分别对待各种底层接口或所谓的“提供者”。利用WMI可以高效地管理远程和本地的计算机;与此相对,并非所有的Windows 2K/XP命令行工具都支持远程运行。

WMI是WBEM模型的一种实现。WBEM即Web-Based Enterprise Management,或基于Web的企业管理,WBEM由DMTF(Distributed Management Task Force,分布式管理任务组)在许多厂商的帮助下创立,包括Compaq、Sun、Microsoft等。WBEM的目标是,为管理企业环境开发一个标准的接口集。WBEM模型最关键的部分是它的数据模型(或描述和定义对象的方式)、编码规范(Encoding Specification),以及在客户端和服务器端之间传输数据的模式。

计算机网络课程设计报告

WBEM的数据模型是CIM(Common Information Model,公共信息模型)。CIM是一个用来命名计算机的物理和逻辑单元的标准的命名系统(或称为命名模式),例如硬盘的逻辑分区、正在运行的应用的一个实例,或者一条电缆。

CIM是一个面向对象的模型,使用一组面向对象的术语进行描述。CIM包含类(Cla),类是被管理单元的模板。类的实例称为对象(Object),对象代表着底层系统的一个具体单元。名称空间(Namespace)是一个类的集合,每个名称空间面向一个特定的管理领域。类包含属性(Property)和方法(Method)。

CIM分三层。第一层是核心模型(Core Model),这一层包含的类定义对于所有管理领域来说都是共同的。第二层是公共模型(Common Model),这一层包含的类定义对于特定的管理领域来说是公共的,但与具体的操作系统和系统设计无关。第三层是扩展模型(Extension model),这一层包含的类定义与特定的操作系统或技术有关。

WMI是Microsoft扩展CIM 2.0得到的面向Win32系统的扩展模型。引用WMI类和属性的形式是“扩展前缀_类名称.属性名称”,例如Win32_ComputerSystem.Name,其中Win32是CIM模式cimv2名称空间内WMI扩展类的前缀,ComputerSystem是类,Name是属性。

编写WMI脚本的很大一部分工作涉及到读取和设置属性值。当前,WMI提供的方法还很有限,但随着时间的推移,相信WMI和CIM提供的方法都会越来越丰富。规划设计

本信息管理系统分为三个部分:

1.首先是,是对本机的基本信息的获取,包括CPU、内存等,以及网络信息的获取,包括域名、工作组等,最后还用CPU、内存等使用情况的监视。

2.其次,是对本机的所有可用网络适配器的设置,包括IP地址、子网掩码、DNS服务器地址等等。

3.然后,是对本机的共享内容的管理,包括共享文件夹的添加和取消,网络服务的查看等。

4.最后,是对所有本机网络连接的监控和统计。系统分析与设计方案

3.1 信息管理系统的总体设计要点

1.本系统以实用为主,实现的都是用户最常用的功能,简化了系统自带的软件的使用。

2.本系统界面设计直观,易用性强。

计算机网络课程设计报告

3.2 系统各功能模块

(1)本机基本信息获取

使用了PerformanceCounter和WMI等方式获取系统信息,以及通过读取注册表读取本机操作系统信息,通过线程的方式监控系统性能。

源码:

PerformanceCounter pc = new PerformanceCounter(“Memory”, “Available MBytes”);PerformanceCounter cpu = new PerformanceCounter(“Proceor”, “% Proceor Time”, “_Total”);Thread m_thread;[DllImport(“IpHlpApi.dll”)] extern static public uint GetIfTable(byte[] pIfTable, ref uint pdwSize, bool bOrder);public Form1(){ new Form2().Show();

InitializeComponent();

RegistryKey rk;DirectoryEntry root = new DirectoryEntry(“WinNT:”);string strDomain = null, cpuid = null, meo = null;

计算机网络课程设计报告

foreach(DirectoryEntry Domain in root.Children){ //枚举工作组或域

strDomain = strDomain + “ ” + Domain.Name;} ManagementCla mCla = new ManagementCla(“Win32_Proceor”);ManagementObjectCollection moCollection = mCla.GetInstances();foreach(ManagementObject mObject in moCollection){ cpuid += mObject[“Name”].ToString()+ “ ”;}

mCla = new ManagementCla(“Win32_PhysicalMemory”);moCollection = mCla.GetInstances();foreach(ManagementObject mObject in moCollection){ meo += mObject[“Capacity”].ToString();}

计算机网络课程设计报告

rk = Registry.LocalMachine.OpenSubKey(“SoftwareMicrosoftWindows NTCurrentVersion”);label6.Text = System.Environment.MachineName;label8.Text = System.Net.Dns.GetHostEntry(“LocalHost”).HostName;label9.Text = rk.GetValue(“ProductName”).ToString()+ “ ” + rk.GetValue(“CurrentVersion”).ToString()+ “.” + rk.GetValue(“CurrentBuildNumber”).ToString();label10.Text = strDomain;label11.Text = cpuid;label12.Text = meo + “ 字节”;progreBar1.Maximum =(int)(float.Parse(meo)/ 1048576.0);

m_thread = new Thread(new ThreadStart(workr));m_thread.IsBackground = true;m_thread.Start();

计算机网络课程设计报告

ManagementCla mc = new ManagementCla(“Win32_NetworkAdapterConfiguration”);ManagementObjectCollection moc = mc.GetInstances();foreach(ManagementObject mo in moc){ if((bool)mo[“IPEnabled”] == true)comboBox1.Items.Add(mo[“Description”].ToString());} comboBox1.Enabled = true;

mc = new ManagementCla(“Win32_Service”);moc = mc.GetInstances();foreach(ManagementObject mo in moc){ if(mo[“StartName”].ToString()== “NT AUTHORITYNetworkService”)comboBox2.Items.Add(mo[“Caption”].ToString());}

comboBox2.Enabled = true;mc.Dispose();

计算机网络课程设计报告

moc.Dispose();maskedTextBox1.AllowPromptAsInput = false;private delegate void dfun();private void workr(){ while(true){ Thread.Sleep(500);work();} } private void work(){

if(this.progreBar1.InvokeRequired && this.progreBar2.InvokeRequired){ try { dfun df = new dfun(work);this.Invoke(df);} catch { };

} else { this.progreBar1.Value =(int)this.pc.NextValue();

计算机网络课程设计报告

this.label13.Text = this.progreBar1.Value.ToString()+ “MB / ” + this.progreBar1.Maximum.ToString()+ “MB”;this.progreBar2.Value =(int)cpu.NextValue();this.label16.Text = DateTime.Now.ToString();} }(2)网络设置部分主要通过WMI获取和设置本机网络适配器的信息和设置,可以自动获取当前可用的适配器,同时,能对不符合规范的的设置进行提示。具体的源码如下: private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e){ ManagementObjectSearcher query = new

ManagementObjectSearcher(“SELECT

ManagementObjectCollection queryCollection = query.Get();foreach(ManagementObject mo in queryCollection){ if(mo[”Description“].ToString()== comboBox1.Text){ string[] ipad =(string[])mo[”IPAddre“];label23.Text = ipad[0];string[] subnets =(string[])mo[”IPSubnet“];label24.Text = subnets[0];string[](string[])mo[”DefaultIPGateway“];

defaultgateways

=

*

FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'”);

计算机网络课程设计报告

if(defaultgateways!= null)label27.Text = defaultgateways[0];else label27.Text = “”;label26.Text = mo[“MACAddre”].ToString();string[] dns =(string[])mo[“DNSServerSearchOrder”];if(dns!= null)label28.Text = dns[0];else if(dns == null)label29.Text = “”;else if(dns.Length == 2)label29.Text = dns[1];else { label29.Text = “”;} } } } /* private void button3_Click(object sender, EventArgs e){

string[] mac = maskedTextBox5.Text.Split(':');string pstr = “^[0-9a-fA-F]+$”;string ma=“”;for(int n = 0;n 255 || int.Parse(gate[n])

for(int i = 0;i

mc

=

new ManagementCla(“Win32_NetworkAdapterConfiguration”);ManagementObjectCollection moc = mc.GetInstances();foreach(ManagementObject mo in moc){ if((bool)mo[“IPEnabled”]){ if(mo[“Description”].ToString()== comboBox1.Text){ if(gat == true){ ManagementBaseObject mo.GetMethodParameters(“SetGateways”);newGate[“DefaultIPGateway”] = new string[] { GateStr };ManagementBaseObject mo.InvokeMethod(“SetGateways”, newGate, null);label27.Text

=

setGate

=

newGate

=

计算机网络课程设计报告

mo[“DefaultIPGateway”].ToString();} if(dn == true){ string[](string[])mo[“DNSServerSearchOrder”];ManagementBaseObject mo.GetMethodParameters(“SetDNSServerSearchOrder”);newDns[“DNSServerSearchOrder”] = new string[] { DnsStr, temp[1] };ManagementBaseObject

setDns

= mo.InvokeMethod(“SetDNSServerSearchOrder”, newDns, null);temp =(string[])mo[“DNSServerSearchOrder”];label28.Text = temp[0];} if(dnb == true){ string[](string[])mo[“DNSServerSearchOrder”];ManagementBaseObject mo.GetMethodParameters(“SetDNSServerSearchOrder”);newDnsb[“DNSServerSearchOrder”] = new string[] { temp[1], DnsbStr };ManagementBaseObject

setDnsb

= mo.InvokeMethod(“SetDNSServerSearchOrder”, newDnsb, null);temp =(string[])mo[“DNSServerSearchOrder”];label29.Text = temp[1];} mo.Dispose();} } }

string[] str = maskedTextBox1.Text.Split('.');

newDnsb

=

temp

=

newDns

=

temp

=

计算机网络课程设计报告

string[] str1 = maskedTextBox4.Text.Split('.');ManagementCla

mc1

=

new ManagementCla(“Win32_NetworkAdapterConfiguration”);ManagementObjectCollection moc1 = mc.GetInstances();if(255

newIP

=

(mo[“Description”].ToString()

==

计算机网络课程设计报告

newIP[“SubnetMask”] = new string[] { subStr };ManagementBaseObject setIP mo.InvokeMethod(“EnableStatic”, newIP, null);

label23.Text = IPStr;label24.Text = subStr;mc.Dispose();} } }

L4:;}

private void button4_Click(object sender, EventArgs e){

ManagementCla

wmi

= ManagementCla(“Win32_NetworkAdapterConfiguration”);ManagementObjectCollection moc = wmi.GetInstances();foreach(ManagementObject mo in moc){ //如果没有启用IP设置的网络设备则跳过

if(mo[“Description”].ToString()!= comboBox1.Text)continue;

//重置DNS为空

mo.InvokeMethod(“SetDNSServerSearchOrder”, null);//开启DHCP mo.InvokeMethod(“EnableDHCP”, null);}

}

=

new

计算机网络课程设计报告系统设计与实现 4.1开发环境工具

基本系统的设计主要运用C#与语言与WMI类结合而开发。其开发的主要环境包括:

操作系统:Windows 7 集成开发环境:Microsoft Visual Studio 2010和.NET Framework 4.0 使用环境: Windows 2K/XP以上和.NET Framework环境

4.2 硬件环境

本系统运行环境所需用到的环境为: 硬件配置 :

CPU:intel core duo t6400 2.0G的处理器; 硬 盘:160GB以上硬盘; 内 存:2G DDR内存;

显 卡:NVIDIA Geforce 9600M GS 512M显存显卡

软件环境:WINDOWS XP、Visual Studio 2010、.NET Framework4.0等。

4.3网站功能模块的测试

图1 本机信息获取

计算机网络课程设计报告

图2 网络设置

图3 共享设置

图4 网络监控总 结

计算机网络课程设计报告

5.1 课程设计总结

本课程设计实现了简单的本机网络系统的管理功能,经过细心的调试和排错解决了绝大部分的问题。但几乎每一个计算机程序都会有这样那样的不足,尤其是未经过精心维护的非商业软件。本管理系统程序对于初涉此领域的毕业设计课题来说,尤其在开始初期,感觉系统调用复杂,难以控制,因此至今还有许多未能解决的缺陷。

目前本管理系统还有待完善的功能如下:

1、没有做到每个进程的网络流量的实时监控;

2、没有实现进程管理;

3、没有考虑到安全问题。

尽管课程设计到现在已接近尾声,但是对于上述的缺陷,本人还会不断对系统进一步的完善它,期望在今后的日子里凭借自身的技术把系统做成一套深受欢迎的系统设置软件。

5.2 经验和感想

基于C#和WMI天程序作为课程设计,是本人目前做过的最大的程序。

平时自己也常到其它系统优化软件,因此,自己也曾想过要制作一款自己的系统管理软件。

学习该平台背景和功能的时间远远超出了我想象的时间。在学习期间,本人还通过网上的各种C#源码进行学习与研究,我原以为这样的设计水平将无法完成设计,但当掌握了大部分应用技巧时,剩下的系统思路的设计就显得不是最大的障碍了。

我在2周内写完这个程序,经过了很多次的调试,终于完成了现在的程序。原先认为不可能的事,我发现,如果有不畏困难的信心和肯钻研的勇气,就一定会完成,甚至达到意想不到的效果。

参 考 文 献C#应用程序设计教程 作 者: 耿肇英 耿燚 耿肇英 耿燚 2 Visual C#程序设计实用教程 作 者: 杨建军

计算机网络课程设计

《计算机网络》课程设计 姓 名赵世友专 业网络工程 班 级 学 号网133 139074357 李沁 指导教师安徽工业大学计算机学院2016.6.12计算机网络课程设计-#+DATE: * 概要与需......

计算机网络课程设计

xxxxx Normal University of Science & Technology计算机网络 课程设计报告班 级: 学 号: 姓 名xxxxx Normal University of Science & Technology 大纲一.课程设计的目的及要......

计算机网络课程设计

计算机网络课程设计姓名:学号: 班级:完成时间:2015.12.5 1.课程设计要求: 1.PCA至PCD五台PC机属于不同网络,且要划分VLAN 2.PCA能ping通所有PC机,PCC不能ping通PCE 3.PCA属于内网地......

计算机网络课程设计

实验一 配置VLAN 1.实验目的:了解VLAN,配置VLAN。 Vlan(Virtual Local Area Network)即虚拟局域网。VLAN可以把同一个物理网络划分为多个逻辑网段,因此,Vlan可以抑制网络风暴,增......

计算机网络课程设计

课程设计(论文)任务书信息工程 学院计算机应用 专业 计算机2010-1 班一、课程设计(论文)题目 计算机网络课程设计 二、课程设计(论文)工作自 2012 年 6 月 18 日起至 20......

下载计算机网络课程设计word格式文档
下载计算机网络课程设计.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文