文档库 最新最全的文档下载
当前位置:文档库 › 课程设计报告-发现网络中的活动主机

课程设计报告-发现网络中的活动主机

课程设计报告-发现网络中的活动主机
课程设计报告-发现网络中的活动主机

重庆交通大学信息科学与工程学院课程设计实验报告

专业:12级通信工程(2)班

学号:

姓名:

实验所属课程:通信网综合课程设计

指导教师:谭晋

一、程设计的目的和意义

在网络管理中,经常要确定当前网络中处于活动状态的主机,这时可以通过使用 ICMP协议的回送请求(Ping请求)和回送响应(Ping 应答)消息来完成本工作。

本课程设计的目的是编制程序,利用ICMP数据包,发现制定网段中的活动主机。

IP协议的优点是简洁,但缺少差错控制和查询机制,而网际控制报文协议(ICMP)具有补充IP功能的作用。在网络管理中,常常要确定当前网络中处于活动状态的主机,这时可以通过使用ICMP的回送和回送响应消息来完成这项工作。本课程设计的目的就是编制程序,利用ICMP数据包,发现指定网段中的活动主机。通过课程设计,使学生更加熟悉ICMP报文的结构,对ICMP协议有更好的理解和认识。

二、课程设计条件

计算机,Matlab、C/C++或JAVA编程软件或者其他通信网仿真软件(如NS2、OMNET++等)、嵌入式开发板、编程器等。

三、程设计的内容和要求

本程序的功能是发送ICMP数据包,以获取指定网段中的活动主机,并将结果显示到屏幕上。

程序的要求

1)不允许在程序中直接调用Ping,而是用程序实现Ping的功能。

2)以命令形式运行:程序名 Start_ip End_ip, 其中,

Start_IP为起始IP地址;End_IP为结束IP地址。

3)输出格式为:

活动主机1的IP地址

活动主机2的IP地址

……

四、课程设计的相关技术

IP 协议是一种不可靠的协议,无法进行差错控制。但IP 协议可以借助其他协议来实现这一功能,

如ICMP。ICMP(Internet Control Messages Protocol, 网间控制报文协议)允许主机或路由器报告差错情况和提供有关异常情况的报告。一般来说,ICMP 报文提供针对网络层的错误诊断、拥塞控制、路径控制和查询服务四项大的功能。如,当一个分组无法到达目的站点或TTL 超时后,路由器就会丢弃此分组,并向源站点返回一个目的站点不可到达的ICMP 报文。

编制程序前首先要对ICMP报文的格式有一定的了解,ICMP报文是在IP数据报内部传输的,其结构如图10-1所示。

图10-1 ICMP封装在IP内部

0 7 8 15 16 31(位)

图10-2 ICMP报文

ICMP报文的格式如图10-2所示。所有报文的前4个字节都是一样的,但是其它字节则互不相同。其中类型字段可以有15个不同的值,以描述特定类型的ICMP报文,某些ICMP报文还使用代码字段的值来进一步描述不用的条件。按验和字段为2字节,校验的范围是整个ICMP报文。检验和是必须的,其计算方法与IP协议头部校验和的计算方法一样。

各种类型的ICMP报文如图10-3所示(ICMP报文类型),不同类型由报文中的类型字段和代码字段来共同决定。

10-3 ICMP报文类型

本课程设计的目的是发现网络中的活动主机,就是使用ICMP的回送和回送响应消息发现网络中的活动主机,即Ping消息的请求和应答。那幺,发送的ICMP的数据包类型设置为回送请求(类型号为8)。

五、课程设计过程

本程序使用原始套接字(SOCK_RAW)生成ICMP报文来进行活动主机的探查,这个程序使用的是回送请求与应答信息。

程序的大致思想:把ICMP的数据包类型设置为回送请求(Ping 请求,类型号为8),将它发送给网络上的一个IP地址,如果这个IP 地址已经被占用,那么使用该IP地址的主机的,从而返回一个ICMP 回送响应(类型号为0)的信息。信息封装在一个IP包中,需要解析

该IP包,找到ICMP数据信息(类型为0,表示为对方的应答,证明对方IP地址是活动的),如果这个IP地址没有人使用,则发送的ICMP 回送请求(Ping请求)在设定的延时时间内不可能得到响应。

初始化原始套接字后(SOCK_RAW)后,本程序就开始在一个IP网段内寻找活动主机,由于要寻找的主机较多,可以采用多线程技术4.1、分析ICMP协议类型和程序实现方法

创建ICMP数据报的内容格式,把ICMP的数据包类型设置为回送请求(Ping请求,类型号为8)。具体实现代码如下:

//IP报头的数据结构

typedef struct iphdr{

unsigned int headlen:4; //IP头长度

unsigned int version:4; //IP版本号

unsigned char tos; //服务类型

unsigned short totallen; //IP包总长度

unsigned short id;; //ID号

unsigned short flag; //标记

unsigned char ttl; //生存时间

unsigned char prot; //协议(UDP TCP)

unsigned short checksum; //校验和

unsigned int sourceIP; //源IP

unsigned int destIP; //目的IP

}IpHeader;

//ICMP头部的数据结构

typedef struct icmphdr{

BYTE type; //ICMP类型码,回送请求的类型码为8

BYTE code; //子类型码,保存与特定ICMP报文类型相关细节信息

USHORT checksum; //校验和

USHORT id; //ICMP报文ID号(一般用进程号作ID)

USHORT seg; //ICMP数据报的序列号

}IcmpHeader;

WSAStartup函数

本函数必须是应用程序或DLL调用的第一个Windows Sockets函数.它允许应用程序或DLL指明Windows Sockets API的版本号及获得特定Windows Sockets 实现的细节.应用程序或DLL只能在一次成功的WSAStartup()调用之后才能调用

进一步的Windows Sockets API函数。具体应用:

?MAKEWORD函数

本函数用于进行对Socket版本的指定和协商,具体应用实例如下:

4.2、实例化ICMP数据报格式并创建Socket套接字

程序使用原始套接字(SOCK_RAW)生成ICMP报文来进行活动主机的探查,这个

程序使用的是回送请求与应答信息。具体实现代码如下:#define ICMP_RCHO 8 //请求回送

#define DEF_PACKET_SIZE 32 //缺省数据报长度

#define MAX_PACKET 1024 //最大数据块长度

#define ICMP_MIN 8 //ICMP报文头长度(最小ICMP报文长度)

#define ICMP_RCHO_REPLY 0

#define STATUS_FAILED 0xFFFF

#define MAX_PING_PACKET_SIZE (MAX_PACKET+sizeof(IpHeader))

void fill_icmp_data(char *,int);

USHORT checksum(USHORT *,int);

void decode_resp(char *,int,struct sockaddr_in *);

DWORD WINAPI FindIP(LPVOID pIPAddrTemp);

WSADATA wsaData;

SOCKET sockRaw;//为了实现发送/监听ICMP报文,必须使用原始套接字,创建原始套接字

struct sockaddr_in dest,from,end;

int fromlen =sizeof(from);//from是一个sockaddr_in数据结构,用于保存响应的目的

的主机的地址

char *recvbuf=new char[MAX_PING_PACKET_SIZE];//保证大与发送包的大小

4.3、创建多个线程

线程是进程内部的一个执行单元。系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数地址形式,比如说main或WinMain函数,将程序的启动点提供给Windows系统。主执行线程终止了,进程也就随之终止。由于要寻找的主机较多,可以采用多线程技术(多线程的函数为:CreateThread() )。具体实现代码如下:

int fromlen =sizeof(from);//from是一个sockaddr_in数据结构,用于保存响应的目的的主机的地址

char *recvbuf=new char[MAX_PING_PACKET_SIZE];//保证大与发送包的大小

unsigned int addr=0;

long ThreadNumCounter=0,ThreadNumLimit=20;

long *aa=&ThreadNumCounter;

void main(int argc,char *argv[])

{

if(WSAStartup(MAKEWORD(2,1),&wsaData)!=0)

{

cout<<"WASStartup failed"<

ExitProcess(STATUS_FAILED);

}

sockRaw=WSASocket(AF_INET,SOCK_RAW,IPPROTO_ICMP,NULL,0,WSA_FLAG_OVERLAPPED;

4.4、解析数据包

如果所Ping的目的主机所在,那么它会发送一个回送应答包。这是一个IP 包,收到后解析此数据包并获取其中的ICMP信息。根据IP报头信息中的IP报头长度字段,就可以得到ICMP报文的真实地址。ICMP数据包中的IP地址就是活动主机的IP。代码如下:

#define ICMP_MIN 8 //ICMP报文头长度(最小ICMP报文长度)

#define MAX_PING_PACKET_SIZE (MAX_PACKET + SIZEOF(IPHeader))

char *recvbuf=new char[MAX_PING_PACKET_SIZE]; //保证大与发送包的大小

//from是一个sockaddr_in数据结构,用于保存响应的目的的主机的地址

struct sockaddr_in from;

int fromlen = sizeof(from);

int bytes = recvfrom(sockRaw,recvbuf,MAX_PACKET,0,(strucksockaddr*

)& from),&fromlen);

IpHeader *iphdr;

IcmpHeader *icmphdr;

unsigned short iphdrlen;

iphdr=(Ipheader *)buf;

iphdrlen = iphdr->headlen*4 ; //IP报头的长度

icmphdr=(Icmpheader *)(buf+iphdrlen); //跳过IP报头

//数据包太短,丢弃

if(bytes

//不是回送响应(Ping应答),丢弃

if(icmphdr->type !=ICMP_ECHO_REPLY) return;

//Id号不相符,丢弃

if(icmphdr->id!=(USHOT)GetCurrentThreadId()) return;

//输出正在使用的IP地址。

Cout<<”活动主机:”<sin_addr)<

4.5、程序流程图

一个用多线程实现的程序在课程设计过程的第三部分中给出,以下分别是主程序流程图和子程序流程图:

图1 主程序流程图

图2 子程序流程图六、程序运行结果

七、课程设计小结

这次课程设计是在毫无准备的尴尬情况下进行的,在此之前,虽然学习了许多有关计算机网路以及通信原理的知识,但是都是基于理论教学的。至于将网络协议应用到编程过程中,这还是头一次,因此在设计的过程中遇到许多难题。在阅读设计要求时,一个概念困扰很久,多线程编程在之前并没有接触过,但是通过网络查询资料后得以理解其含义和作用。在计算机中,一个应用程序在运行状态可以看做一个进程,但是这就像做一项及其重要的过程是同一个道理,在实际生活中,为了实现高效率的工作模式,通常是多个人同时来完成一项工作,或者说是很多人做同一样事情,结果是同样的时间可以实现大批量的工作。在这个过程当中,参与该事件的人都可以使用现有的资源,这就是多线程共享进程资源的原理。但是,在计算机线程中有一种特殊的情况,有的线程不能使用某些系统资源,这就称作锁,就好比有的线程将属于自己的系统资源上了一把锁,不允许其他线程使用这些资源。总之,计算机多线程编程就是为了实现计算机快速、高效率地执行程序。

通过此次课程设计,我加深了对ICMP协议的理解,巩固了课堂知识。由于网络协议比较抽象、难学,自己学得也不够深入,加上还要把所学知识运用到实践中来,所以一开始时感觉比较困难,而且在调试过程中难免要出现一些如变量没有定义、缺少头文件、大小写错误以及其它问题,通过查阅文献资料、向同学

请教以及认真地思考与分析,逐一对错误进行了调试,才使得程序能正常运行,大体上符合了设计的目的和要求。

在程序的调试过程中,出现问题是正常的,关键是如何去发现问题的根源,然后去解决它。为了能够快速地确定错误的原因,尽快的排除程序错误,通常把程序错误划分为三种类型:语法错误、运行错误和逻辑错误。在设计过程中,我们可以先找出问题,看是属于哪一类错误,然后再将问题一一解决,这样既解决了疑难问题又节省了不少时间。

参考文献

[1] 吴功宜, 胡晓英, 张仁, 何云, 王宁编著. 计算机网络课程设计. 北京:机

械工业出版社, 2010.8

[2] 吴功宜著. 计算机网络. 北京:清华大学出版社, 2004

[3] 陈坚, 陈伟. Visual C++网络高级编程[M]. 北京: 人民邮电出版社,2001

[4] 郭国强. 计算机网络与Internet教程. 北京: 清华出版社,2006.11

[5] 杨丰瑞, 杨丰任. 实用教程最新计算机网络. 北京: 中国铁道出版社,

2001.7

附录源代码

#pragma pack(4)

#pragma comment (lib,"Ws2_32.lib")

#define WIN32_LEAN_AND_MEAN

#include

#include

#include

#include

#include

#include

#include

//IP报头的数据结构

typedef struct iphdr{

unsigned int headlen:4; //IP头长度

unsigned int version:4; //IP版本号

unsigned char tos; //服务类型

unsigned short totallen; //IP包总长度

unsigned short id;; //ID号

unsigned short flag; //标记

unsigned char ttl; //生存时间

unsigned char prot; //协议(UDP TCP)

unsigned short checksum; //校验和

unsigned int sourceIP; //源IP

unsigned int destIP; //目的IP

}IpHeader;

//ICMP头部的数据结构

typedef struct icmphdr{

BYTE type; //ICMP类型码,回送请求的类型码为8 BYTE code; //子类型码,保存与特定ICMP报文类型相关细节信息 USHORT checksum; //校验和

USHORT id; //ICMP报文ID号(一般用进程号作ID) USHORT seg; //ICMP数据报的序列号

}IcmpHeader;

#define ICMP_RCHO 8 //请求回送

#define DEF_PACKET_SIZE 32 //缺省数据报长度

#define MAX_PACKET 1024 //最大数据块长度

#define ICMP_MIN 8 //ICMP报文头长度(最小ICMP报文长度)

#define ICMP_RCHO_REPLY 0

#define STATUS_FAILED 0xFFFF

#define MAX_PING_PACKET_SIZE (MAX_PACKET+sizeof(IpHeader))

void fill_icmp_data(char *,int);

USHORT checksum(USHORT *,int);

void decode_resp(char *,int,struct sockaddr_in *);

DWORD WINAPI FindIP(LPVOID pIPAddrTemp);

WSADATA wsaData;

SOCKET sockRaw;//为了实现发送/监听ICMP报文,必须使用原始套接字,创建原始套接字

struct sockaddr_in dest,from,end;

int fromlen =sizeof(from);//from是一个sockaddr_in数据结构,用于保存响应的目的的主机的地址

char *recvbuf=new char[MAX_PING_PACKET_SIZE];//保证大与发送包的大小unsigned int addr=0;

long ThreadNumCounter=0,ThreadNumLimit=20;

long *aa=&ThreadNumCounter;

void main(int argc,char *argv[])

{

if(WSAStartup(MAKEWORD(2,1),&wsaData)!=0)

{

cout<<"WASStartup failed"<

ExitProcess(STATUS_FAILED);

}

sockRaw=WSASocket(AF_INET,SOCK_RAW,IPPROTO_ICMP,NULL,0,WSA_FLAG_O VERLAPPED);

if(sockRaw==INVALID_SOCKET)

{

cout<<"WASSocketet() falied"<

ExitProcess(STATUS_FAILED);

}

int timeout=1000;

int bread=setsockopt(sockRaw,SOL_SOCKET,SO_RCVTIMEO,(char *)&timeout,sizeof(timeout));

if(bread==SOCKET_ERROR)

{

cout<<"FAILED TO SEY RECV TIMEOUT"<

ExitProcess(STATUS_FAILED);

}

timeout=1000;

bread=setsockopt(sockRaw,SOL_SOCKET,SO_SNDTIMEO,(char

*)&timeout,sizeof(timeout));

if(bread==SOCKET_ERROR)

{

cout<<"FAILED TO SEY RECV TIMEOUT"<

ExitProcess(STATUS_FAILED);

}

memset(&dest,0,sizeof(dest));

unsigned long startIP,endIP;

dest.sin_family=AF_INET;

dest.sin_addr.s_addr=inet_addr(argv[1]);

startIP=inet_addr(argv[1]);

end.sin_family=AF_INET;

end.sin_addr.s_addr=inet_addr(argv[2]);

endIP=inet_addr(argv[2]);

HANDLE hThread;

while(htonl(startIP)<=htonl(endIP))

{

if(ThreadNumCounter>ThreadNumLimit)

{

Sleep(5000);

continue;

}

DWORD ThreadID;

sockaddr_in *pIPAddrTemp=new (sockaddr_in);

if(!pIPAddrTemp)

{

cout<<"memory alloc failed"<

return ;

}

*pIPAddrTemp=dest;

clock_t start;

start=clock();

hThread=CreateThread(NULL,NULL,FindIP,(LPVOID)pIPAddrTemp,NULL,&T hreadID);

long i=60000000L;

while(i--);

TerminateThread(hThread,0);

InterlockedDecrement(aa);

memset(&from,0,sizeof(from));

startIP=htonl(htonl(startIP)+1);

dest.sin_addr.s_addr=startIP;

}

while(ThreadNumCounter!=0)

{

Sleep(2000);

return;

cout<<"error"<

}

}

void fill_icmp_data(char *icmp_data,int datasize)//ICMP报文的填充{

IcmpHeader *icmp_hdr;

char *datapart;

icmp_hdr = (IcmpHeader*)icmp_data;

icmp_hdr->type = ICMP_RCHO; //设置类型

icmp_hdr->id = (USHORT)GetCurrentThreadId(); //设置其ID号为当前线程号

datapart = icmp_data + sizeof(IcmpHeader); //计算出数据报的数据部分

memset(datapart,'A',datasize-sizeof(IcmpHeader)); //填入数据}

void decode_resp(char *buf,int bytes,struct sockaddr_in *from) {

IpHeader *iphdr;

IcmpHeader *icmphdr;

unsigned short iphdrlen;

iphdr=(IpHeader*) buf;

iphdrlen = iphdr->headlen*4 ; //IP报头的长度

icmphdr=(IcmpHeader *)(buf+iphdrlen); //跳过IP报头

if(bytes

if(icmphdr->type !=ICMP_RCHO_REPLY) return;//不是回送响应(Ping 应答),丢弃

if(icmphdr->id!=(USHORT)GetCurrentThreadId()) return; //Id号不相符,丢弃

cout<<"活动主机:"<sin_addr)<

cout<<" "<sin_addr)<

}

USHORT checksum(USHORT *buffer,int size) // //计算校验和

{

unsigned long cksum=0;

while(size>1)

{

cksum+=*buffer++;

size-=sizeof(USHORT);

}

if(size)

{

cksum+=*(UCHAR*)buffer;

}

cksum=(cksum>>16)+(cksum& 0xffff);

cksum+=(cksum>>16);

return (USHORT)(~cksum);

}

DWORD WINAPI FindIP(LPVOID pIPAddrTemp)

{

InterlockedIncrement(aa);

char icmp_data[MAX_PACKET];//ICMP数据报最大可能的长度

memset(icmp_data,0,MAX_PACKET); //将数据报清空初始化

int datasize=DEF_PACKET_SIZE;//ICMP数据报报文体的缺省长度

datasize+=sizeof(IcmpHeader); //再加上ICMP头部的长度

fill_icmp_data(icmp_data,datasize);

((IcmpHeader*)icmp_data)->seg= 0; //序列号为0 ((IcmpHeader*)icmp_data)->checksum = 0; //先将校验和置0

((IcmpHeader*)icmp_data)->checksum=checksum((USHORT*)icmp_data,datasi ze);

int bwrote=sendto(sockRaw,icmp_data,datasize,0,(struct sockaddr *)pIPAddrTemp,sizeof(dest));

int n=0;

if(bwrote==SOCKET_ERROR)

{

if(WSAGetLastError()==WSAETIMEDOUT)

{

cout<<"timed out"<

}

cout<<"sendto failies"<

ExitProcess(STATUS_FAILED);

n=1;

}

if(WSAGetLastError()==WSAETIMEDOUT)

{

cout<<"timed out"<

ExitProcess(STATUS_FAILED);

n=1;

}

if(bwrote

{

cout<<"Worte"<

ExitProcess(STATUS_FAILED);

n=1;

}

int

bread=recvfrom(sockRaw,recvbuf,MAX_PING_PACKET_SIZE,0,(struct sockaddr *)&from,&fromlen);

if(bread==SOCKET_ERROR)

{

if(WSAGetLastError()==WSAETIMEDOUT)

{

cout<<"timed out"<

}

cout<<"recvfrom falied"<

ExitProcess(STATUS_FAILED);

n=1;

}

if(n==0)

{

decode_resp(recvbuf,bread,&from);

InterlockedDecrement(aa);

}

return 0;

}

gijmlAAA计算机网络课程设计实验报告

计算机网络课程设计 实验报告

一、实验内容和要求 1、实验一数据包的捕获与分析 Wireshark是一种开源的网络数据包的捕获和分析软件,本实验通过Wireshark软件的安装使用,监控局域网的状态,捕获在局域网中传输的数据包,并结合在计算机网络课 程中学习到的理论知识,对常用网络协议的数据包做出分析,加深网络课程知识的理解和 掌握。具体内容及要求如下: Wireshark软件的安装; Wireshark软件的启动,并设置网卡的状态为混杂状态,使得Wireshark可以监 控局域网的状态; 启动数据包的捕获,跟踪PC之间的报文,并存入文件以备重新查; 设置过滤器过滤网络报文以检测特定数据流; 对常用协议的数据包的报文格式进行分析,利用协议分析软件的统计工具显示网 络报文的各种统计信息。 2、实验二网络层实验—Ping程序的设计与实现 实验目的 本实验目的是使学生掌握网络层协议的原理及实现方法。 实验设计内容 本实验为ICMP实验。实验内容:Ping命令实现的扩充,在给定的Ping程序的基础上做如下功能扩充: -h 显示帮助信息 -b 允许ping一个广播地址,只用于IPv4 -t 设置ttl值,只用于IPv4 -q 安静模式。不显示每个收到的包的分析结果,只在结束时,显示汇总结果 Ping命令的基本描述

二、实验环境 实验一数据包的捕获与分析 1.联网计算机 或linux 系统 3.在PC中安装协议分析软件(如:Wireshark) 4.物理基础: 标准的以太网采用的是持续 CSMA 的方式,正是由于以太网采用这种广播信道争用的方式,使得各个站点可以获得其他站点发送的数据。运用这一原理使信息捕获系统能够拦截的我们所要的信 5.工作模式: 1) 广播模式(Broad Cast Model):它的物理地址(MAC)地址是 0Xffffff 的帧为广播帧,工作在广播模式的网卡接收广播帧。 2)多播传送(MultiCast Model):多播传送地址作为目的物理地址的帧可以被组内的其它主机同时接收,而组外主机却接收不到。但是,如 果将网卡设置为多播传送模式,它可以接收所有的多播传送帧,而不 论它是不是组内成员。 3)直接模式(Direct Model):工作在直接模式下的网卡只接收目地址是自己 MAC地址的帧。 4)混杂模式(Promiscuous Model):工作在混杂模式下的网卡接收所有的流过网卡的帧,信包捕获程序就是在这种模式下运行的。 实验二网络层实验—Ping程序的设计与实现 1.联网计算机 2.Linux系统 3.系统自带编译环境

贪吃蛇游戏课程设计实验报告全解

辽宁科技大学课程设计说明书 设计题目:基于C#的贪吃蛇游戏 学院、系:装备制造学院 专业班级:计算机科学与技术 学生姓名:叶佳佳 指导教师:丁宁 成绩: 2015年12月12日

目录 一、概述 (1) 1、用C#实现该设计的方法 (1) 2、贪吃蛇游戏说明 (1) 二、实验目的及设计要求 (1) 1、实验目的 (1) 2、实验要求 (2) 三、课程设计具体实现 (2) 1、概要设计 (2) 1.1、设计思想 (2) 1.2、主模块实现 (2) 1.3、主函数流程图 (4) 2、详细设计 (5) 2.1、设计思想 (5) 2.2、具体模块实现: (5) 四、调试过程及运行结果 (10) 1、调试过程 (10) 2、实验结果 (11) 五、实验心得 (12) 六、参考资料 (13) 七、附录:源代码 (13)

一、概述 1、用C#实现该设计的方法 首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。 根据流程图编写好代码后在WindowsXP操作系统,https://www.wendangku.net/doc/9617676088.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

《网络应用程序设计》课程设计报告书

网络应用程序设计课程设计报告书 题目:局域网多人聊天室 班级:0991132 学号:1099113202 姓名:赵燃 指导教师:宋毅、王家宁、徐红梅、姚璐 周期:一周 成绩: 2011年12 月23 日

一、课程设计的目的与要求( (一)课程设计目的与任务 (1)课程设计的目的:《网络高级程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用vc++语言进行面向对象设计的基本方法。提高运用面向对象知识分析实际问题、解决实际问题的能力。 (2)课程设计任务:局域网多人聊天室 该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。 客户端程序:可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的信息。 服务器端程序:可将消息发送到客户端和接受客户端发送来的消息。 (二)题目要求 该系统要求完成聊天室的全过程,包括客户端和服务器两大部分的编程及其连接。服务器端聊天程序负责接收和发送来自客户端的聊天信息,客户端聊天程序负责建立和维护与服务器端的连接,想服务器发送本客户的聊天内容。系统采用VISUAL C++语言程序设计编程实现。并且按要求编写程序设计报告书,能正确编写分析、设计、编码、测试等技术文档。 二、设计正文 1系统分析 (1)服务器聊天程序要在待定的端口上等待来自聊天客户的连接请求,并且需要维护一个客户连接表,以记录所有成功的连接。 (2)服务器聊天程序要及时接受从各个聊天客户发送过来的信息,然后把这些信息转发到一个或多个客户连接。对于公共聊天室,服务器将把接受到的信息除源端外的所有客户发送过去。 (3)服务器还要监控这些连接的状态。在客户主动离开或发生故障时从列表删除相应的表项,并及时更新连接表。 2功能详细描述及框图 用户首先启动客户端,登陆服务器并向服务器发送信息,启动服务器,服务器等待客户要求并向客户反馈在线用户信息,用户向服务器发送信息,服务器处理用户的数据,然后用户开始聊天,客户端的聊天分为对群聊天和私聊的信息,该信息应通过程序控制分别进行处理。

《网络工程设计》课程设计报告

常熟理工学院 《网络工程设计》 课程设计报告 课题名称: NGIL实验室网络工程设计方案学校: 学院/系: 姓名: 班级: 学号: 电话: 电子邮件: 提交日期:

课程设计报告说明 1.必须同时提交电子版和纸质版,缺一不可,否则视为没交。 2.上交的电子报告文件名必须参考以下格式,否则视为没交。 《网络工程设计》课程设计报告_班级_学号_姓名.doc 例:《网络工程与设计》课程设计报告_09网络1班_090209101_董伟.doc 3.禁止复制、拷贝和抄袭。 4.复制、拷贝、抄袭者取消成绩。 5.所有课题必须为一个基本完整的设计。课题设计报告书旨在能够清晰准确地阐述 课题方案。设计内容参考以下方面: (1)需求分析。 (2)技术方案设计,包括实验室布局设计、网络拓扑设计、IP规划与路由设计、网络性能、可靠性、安全性等设计、综合布线设计等。 (3)产品选型与项目材料清单,包括综合布线系统材料、网络设备(如路由器、交换机等)、服务器等。 (4)网络工程经费预算。 (5)网络工程技术路线。 (6)网络技术培训。 (7)网络工程验收。 6.课程设计报告采用A4纸撰写。除标题外,所有内容必需为宋体、小四号字、1.5倍 行距。具体参考附录的排版要求。 7.课程设计报告自动生成目录,且章节页码正确。 8.课题设计报告中各项目的说明文字部分仅供参考,课题设计报告书撰写完毕后, 请删除所有说明文字。(本页不删除) 9.课题设计报告模板里已经列的内容仅供参考,作者也可以修改或多加内容。 10.没有按报告说明要求者不及格。

目录 第一章摘要 (1) 第二章网络用户需求分析 (2) 第三章 NGIL网络拓扑结构设计 (3) 第四章 NGIL网络地址规划与路由设计 (4) 第五章 NGIL网络性能设计 (5) 第六章 NGIL网络可靠性设计 (6) 第七章 NGIL网络安全性设计 (7) 第八章 NGIL网络综合布线设计 (8) 参考文献 (9)

《物联网应用综合设计及创业实践》课程设计

《物联网应用综合设计及创业实践》课程设计 实验指导书 一、设计目的和意义 《物联网应用综合设计及创业实践》课程设计目的是物联网工程本科专业学生在修完物联网专业基础理论课程和专业核心课程,掌握基本软硬件实践技术的基础上,结合行业发展和社会经济需求,培养学生综合运用所学知识,发现、提出、分析和解决实际问题的能力。本课程设计是学生实际工作能力和创新创业能力提升的重要实践环节,对于学生今后就业和创业具有一定的指导意义。 二、选题要求 1.自主选题,原则上一人一题;对于工作量大,难度高的选题,至多2人一组; 2.选题要符合现实需求,有一定创新性,具有创业可能性; 3.选题要求围绕物联网的应用展开,将物联网感知层、网络层与应用层有机结合起来,具有一定的先进性; 4.技术实现手段不限,推荐使用现有主流技术:传感器技术、传感网技术(Zigbee 技术、Wifi技术等)、智能网关开发技术、串口通信技术、上位机开发技术、移动互联技术、视频多媒体技术、计算机控制技术等。 5. 选题应有相关调查分析,不允许随意虚构应用需求,; 6.选题方向为软硬件结合类和仿真开发类。 三、设计要求 1.符合软件工程规范,有需求分析、系统设计、功能模块设计、测试等环节; 2.尽量用规范的图来表达(用例图、时间图、数据流图、流程图等); 3.应有具体的场景和需求,尽可能采用嵌入式开发板或智能移动端开发形式,系统功能丰富,实用性较强;在公司实习的,可以参考在实习中接触到的具体项目需求进行规划。 4. 仿真开发类的课设,要求系统功能完善,演示效果好;代码量大于10000行; 5.符合文档及格式要求; 6.抄袭零容忍。 7.第12周周五15点提交选题,第18周周五提交实物、设计报告,并现场答辩。每人答辩时间15分钟,每人汇报自己设计情况8分钟,演示系统2分钟,回答老师和同学们问题4分钟,评分1分钟。

计算机网络课程设计报告

计算机网络课程设计报告 姓名:李逍逍 班级:08计11 学号:08261012

一.课程设计的题目、目的及要求 (2) 二.课程设计的内容(分析和设计) (3) 三.绘制拓扑结构图 (3) 四.详细设计步骤 (5) 五.路由器或交换机配置的代码 (6) 六.显示最终的结果 (8) 七.课程设计总结 (9)

一.课程设计的题目、目的及要求 课程设计题目:组建小区局域网 课程设计目的: 更深了解路由器,交换机,PC机之间的配置与应用,熟练掌握一些简单的的网络应用和连接,熟练掌握路由器和交换机的基本配置;掌握DHCP、ACL、VLAN、和NET协议和相应的技术;提高对实际网络问题的分析和解决能力。该设计需要划分为四个子网层面的小区性的网络通讯。采用软件cisco,可以更好的实现各种不同网络设备互相配合与联系,以达到最佳的局域网通讯效果。 课程设计要求: 要求能根据实际问题绘制拓扑结构图,拓扑结构图可以是树形、星形、网状形、环状形及混合形结构的之一,清晰的描述接口,进行路由器或交换机的代码配置实现,并且每个方案的需有以下几部分的内容: 1、需求特点描述; 2、设计原则; 3、解决方案设计,其中必须包含: (1)设备选型; (2)综合布线设计; (3)拓扑图; (4)IP地址规划; (5)子网划分; (6)路由协议的选择; (7)路由器配置。 组建小区局域网的总体要求: 运用自己对局域网组网技术的理解,设计小区组网方案,使得一个具有200个住户节点的智能化小区能够进行网络通讯,且将整个小区可划分为四个区域:1.网络中心区:以物业管理中心及监控中心为主的核心交换设备和服务器群;2.远程网络接入区:包括外部网络接入口的路由器设备和网络安全设备;3.园区网络区:包括从网络中心到社区服务设施的骨干交换设备; 4.家庭网络区:包括从网络中心到楼宇中的骨干交换设备,并为各住户单元提供网络接入端口,是整个小区网络系统的最基本单元。

《c语言课程设计报告--小游戏“石头剪子布”》

《C语言课程设计》报告题目:石头剪子布 班级: 学号: 姓名: 指导教师: 成绩:

目录: 一、选题背景...................................................................................................................... - 2 - 二、设计思路...................................................................................................................... - 2 - 三、主要问题的解决方法及关键技术.............................................................................. - 3 - 四、程序流程图.................................................................................................................. - 3 - 五、源程序清单.................................................................................................................. - 6 - 六、程序运行结果.............................................................................................................. - 8 - 七、设计总结...................................................................................................................... - 9 - 八、教师评语.................................................................................................................... - 10 - 一、选题背景 通过一个学期的C语言课程的学习,《C语言程序设计》课程已结束,根据学校课程学习的安排,要进行一周的C语言实习,自己动手编写游戏和系统。根据老师布置的设计任务书,按照学委的安排,根据个人的能力及意愿,我选择了设计一格小游戏:石头剪子布。 实验准备:做游戏前,首先,自己详细看了《C语言程序设计》(教科书),理解了相关函数的用法和作用;另外,上网查询了很多相关资料,还有找了很多相关的游戏设计的代码,都详细的看了一遍,加深了对C语言以及相关内容进一步理解。根据实际情况设计出一款比较理想的小游戏。 设计题目的要求: ①游戏要设置开始,结束操作控制 ②游戏要有时间提示即相关结果的提示语 ③游戏要能自动判断输赢,并显示最终比赛结果 二、设计思路 系统功能模块图: 输入:计算机随机输入选择,用户输入选择,并将数据储存。 计算:根据计算机和用户的选择,计算大小,并判断输赢,计算用户的胜负率,并储存。 输出:根据用户的输入,将用户的游戏结果显示在屏幕上。

网络安全技术课程设计报告

信息工程系 课程设计报告书 2015-2016学年第2学期 系部:信息工程系 专业:计算机网络专业 班级:14计算机网络1班 课程名称:网络安全技术 姓名学号: 起迄日期: 6月10日-6月24日 课程设计地点:实验楼C211 指导教师:庄晓华 下达任务书日期: 2015 年06月16日

一、内容要求 独立设计一个小型网络的安全方案,采用的安全技术可以包括以下几种:加密技术、认证技术、VPN技术、防火墙技术、防病毒系统等局域网核心服务功能。其中必须用Packet Tracer实现的功能为防火墙技术的配置与管理或网络安全隔离。 二、评分标准 (一)网络安全方案评分标准(40分) 网络安全方案及测试报告(40分) 1、网络安全方案2000字(30分) 1)相关概念定义准确。(10分) 2)安全方案叙述完整清晰。(10分) 3)设计合理,符合实际应用需求。(10分) 2、测试报告(10分) 确定测试结果是否符合设计要求,完成测试总结报告。 (二)网络设备系统配置评分标准(60 分) 1、系统设计(10分) 1、在Packet Tracer中实现,要求:网络设备选型合理,(5分) 2、网络设备连接,要求:正确使用连接介质(5分)。 2、网络设备配置(40分) 1、PC机、服务器配置,要求:能作必要TCP/IP属性设置(10分) 2、网络设备接口配置,要求:正确配置端口,实现网络连通。(10分) 3、网络安全配置,要求:实现设定的网络安全防护(20分) 3、安全防护测试(10分) 使用正确测试方法,步骤完整.(10分) 三、设计要求: 1、所有PC机的默认网关地址中第四个数为学生学号,如“a.b.c.学号” (注意:PC机的地址不能与此默认网关地址冲突)。 2、所有网络设备、PC机的名称以学生姓名开头,如“azgSW1”。 四、设计成果形式及要求: 1、提交网络安全方案(.doc文档),文件命名格式:学号姓名.doc, 如01安志国.doc。 2、提交Packet Tracer文档(.pkt文档),文件命名格式:学号姓名.pkt, 如01安志国.pkt。

网络工程课程设计报告

洛阳理工学院 课程设计报告 课程名称网络工程设计 设计题目开元校区行政楼网络设计 专业计算机科学与技术 班级B120532 学号B120532 姓名 完成日期2013/12/22

课程设计任务书 设计题目:_______________________________________________ 设计内容与要求: 说明: 1.主要内容包括本次实习任务、采用的主要技术方法手段、实习结果结论、各章主要内容简述等。 2.所有文字内容请按照提供的样式设置,语句通顺,标点准确。 3.文中图片使用5号楷体字,按“章-序号”方法编号,即第X章的第XX个图,图片说明放在图片下面居中,所有图片在正文中要有引用的说明,且引用位置必须在图片之前。表格说明文字应在表格之前,按“章-序号”方法编号,即第X章的第XX个表,居中显示。 4.目录页码编号采用I、II、III方式,正文部分页码采用1、2、3方式。目录要求在正文编辑结束后自动生成。 指导教师:_______________ 年月日 课程设计评语 成绩: 指导教师:_______________ 年月日

目录 1摘要 (1) 2课程设计任务及要求 (2) 2.1课程设计任务 (2) 2.1.1 课程设计目标 (2) 2.2课程设计要求 (2) 2.2.1用户需求 (3) 3项目需求分析 (4) 3.1开元校区行政楼平面图 (4) 3.2拓扑结构需求分析 (8) 3.3数据传输需求分析 (8) 3.4发展需求分析 (8) 3.5性能需求分析 (8) 4方案设计 (10) 4.1网络系统设计原则 (10) 4.2综合布线系统 (12) 4.2.1设备间子系统 (12) 4.2.2工作区子系统 (13) 4.2.3管理子系统 (13) 4.2.4水平子系统 (13) 4.2.5垂直干线子系统 (13) 4.2.6建筑群子系统 (14) 4.3网络拓扑结构 (14) 4.4交换机的配置 (15) 4.4.1 IP地址及子网划分、VLAN划分 (15) 4.5 设备选型 (17) 4.5.1 设备型号及参数 (17) 4.5.2设备清单及报价 (19) 5 方案测试 (20) 6服务器及存储方案 (21) 7总结与展望 (23) 总结 (23) 展望 (23) 参考文献 (24)

网络应用综合课程设计张沙

成绩 网络应用综合课程 设计报告 系部名称:商学系专业班级:ZB信管151 学生姓名:张沙沙学号: 2 指导教师:刘帆教师职称:讲师

2016年01月08日

目录

一、课程设计目的及意义 计算机网络是现代信息社会最重要的基础设施之一。《网络应用综合课程设计》目的是为了使我们在课程学习的同时,通过在计算机网络环境中的实际操作,对现代计算机网络的基本功能有一个初步的了解。面向多层次、多学科专业,强调计算机在各专业中的作用。随着信息时代的到来,无论是办公或者是通信都离不开计算机。现在的人越来越依靠于计算机,再加上电子商务行业的飞速发展Internet的应用也更加广泛。由于这样的社会环境人们对各种数据形式的信息需求和交流的不断增长,使得当今的计算机网络,成为信息技术的基础设施与获取、共享和交流信息的主要工具,并成为人们在当今社会生活及工作中不可缺少的组成部分。 二、课程设计任务 实验一、网络联通测试实验报告 实验二、网络资源检索 实验三、文件传输及电子邮件的设置与应用 三、课程设计时间 2015年12月21日~2016年01月08日 四、课程设计地点 中原工学院信息商务学院信息管理综合实验室 五、课程设计内容 (一)实验一、网络联通测试实验报告 1.在命令提示符窗口中输入ipconfig/all命令,按回车键,查看本机配置信息,记录结果,并注明TCP/IP协议的基本配置情况。

如上图:IP 192.168.0.107 2.使用ping命令的前后分别运行arp -a命令。

(2)执行ping命令,结果如下图: (3)使用ping命令后运行arp -a命令,如下图

动画与游戏设计-课程设计报告

《动画与游戏开发》 课程报告 学号:111102020103 姓名:张慧 专业班级:11级计科本01班 日期:2013-12-9

电子信息工程学院 目录 一、课程内容及应用领域 1.1基于DirectX的粒子系统 (3) 1.1.1 粒子系统简介 (3) 1.1.2广告板技术 (3) 1.1.3粒子系统的基本原理 (3) 1.2粒子系统的应用领域 (3) 二、课程内容的难点、疑点 2.1课程要点 (4) 2.2课程难点 (4) 2.3课程疑点 (4) 三、实例开发 3.1实例题目及说明 (4) 3.2关键技术 (5) 3.2.1系统完成的四部曲 (5) 3.2.2星光粒子结构构成技术 (5) 3.2.3 MyPaint()绘图函数 (5) 3.3开发过程 (9) 3.3.1案例所需背景图 (10) 3.3.2程序部分代码 (10) 3.3.3运行结果截图 (15)

3.4总结..........................................................17四、谈谈自己对课程内容的掌握程度

一、课程内容及应用领域 1.课程内容:基于DirectX的粒子系统 相关内容简介: (1)粒子系统简介 粒子系统是三维图形编程领域中用于实现特殊效果的一种非常重要的技术.该技术是由Reeves于1983年首次提出来的.通过粒子系统可以使用非常简单的粒子来构造复杂的物体,它为模拟动态的不规则物体,提供了强有力的技术手段。一般情况下,粒子的几何特征十分简单,可以用一个像素或一个小的多边形来表示.如果给出了粒子中心点的坐标和粒子大小,不难计算出绘制粒子所需要的四个顶点的位置坐标. (2)广告板技术 由于通常使用平面图形而不是立体图形表示一个粒子,所以需要使用的粒子四边形始终面向观察者.这就要使用广告板技术.广告板技术的原理是,在渲染一个多边形时,首先根据观察方向构造一个旋转矩阵,利用该矩阵旋转多边形使其面向观察者,如果观察方向不断变化,就要不断旋转多边形. (3)粒子系统的基本原理 粒子通常都是一个带有纹理的四边形。我们通过这个使用了纹理映射的四边形,可以认为粒子实际上是一个很小的网格模型,只不过是纹理赋予了它特殊的外表罢了。绘制粒子就如果绘制多边形一样简单,因为一个粒子说白了就是一个可改变大小并映射了纹理的四边形罢了。 粒子系统由大量的粒子构成,粒子是一种微小的物体,每个粒子都具有一定的属性,如位置、大小以及纹理,可能还需要颜色、透明度、运动速度、加速度、生命期等属性。我们可以把粒子想象成颗粒状的物体,如雪花,雨滴,沙尘,烟雾等特殊的事物。又比如游戏中的

《网设计与制作》课程设计报告

《网页设计与制作课程设计》 实验报告 院系名称:管理学院专业班级:电子商务XXX 学生姓名: XXX 学号: XXXXXXX 网页界面 网站栏目网站功能(JS程序)合计 50分10分40分100分 2016年 06 月 一、实验目的 本实验属于设计性实验,在学习完《网页设计与制作》课程的基础上,通过实验学习网页制作的步骤与方法,使用CSS+DIV制作一个简单的网站,能够对网站有一个清晰的认知和规划。进一步熟悉和领悟HTML语言、CSS样式表和JAVASCRIPT语言的语法结构。将理论与实践相结合,加深对本课程的理解。 二、实验步骤 1、进行网站整体规划,包括网站主题、栏目以及界面的构思,确定网站结构,形成初步设计思路。

2、设计网站的主页以及栏目,利用CSS+DIV制作网站主页和弹出式导航条菜单,利用JavaScript制作动态效果,并用firework软件对主页进行切图。 3、设计并利用CSS+DIV制作列表页,并用firework软件对列表页进行切图。 4、设计并利用CSS+DIV制作内容页,并用firework软件对内容页进行切图。 5、进行调试和修改已形成最终实验结果。 三、网站设计思路 1、参照“唯品会”“折800”等电商网站,确定网站主题为“轻奢电商”。 2、设计网站主页,主页设置首页、美妆、服饰、零食、母婴、关于我们、在售分类等七个一级栏目。其中美妆、服饰、零食、母婴四个栏目含有二级栏目。 3、首页设置品牌热卖、限量抢购等图片展示,并利用Javascript设置用户名和密码的表单验证,在图片之下设置一个新闻列表提供有关网站的最新消息,右侧设置账户、密码的表单验证,并在网页结尾处写上官方微信和版权信息。 4、由主页导航栏上的的在售分类引出列表页,在列表页中采用新闻列表样式具体展示本企业的全部商品分类并设置超链接。 5、由列表页中美妆|女士护肤|洁面弹出具体的内容页面,主要由图片以及相应的文字介绍组成。 四、网站的核心代码 1、主页

无线网络综合课程设计报告-图书馆

学院 计算机科学与技术系无线网络课程设计 2014 ~2015 学年第1学期 课程无线网络 课程设计名称无线局域网络综合课程设计--图书馆 专业班级 指导教师 小组成员 2015 年1 月

图书馆无线局域网络综合课程设计 1、课程设计目的 通过“无线局域网络综合课程设计”的环节,以系统集成项目的调研、规划与实施为主线,根据所掌握的无线局域网络知识,完成无线局域网络基础架构、无线局域网络系统的安装与配置、无线局域网络安全及网络管理等无线局域网络技术的综合设计与应用。 通过课程设计,使学生进一步巩固在计算机无线局域网络课程中学到的专业知识,深入掌握计算机局域网络工程的设计与施工、无线局域网络系统的安装与配置技术,掌握有线无线一体化局域网络设计与实施的方式方法,了解无线局域网络系统建设各部分之间的相互关系,提高学生计算机网络技术的综合运用和实际动手能力,培养学生的分工协作的团队精神。 2、课程设计名称及内容 名称:某省立图书馆无线网络集成项目规划与实施 学院背景描述及需求内容:图书馆随着业务规模的不断扩大,对图书馆提高运营效率的要求也不断提升,随着WIFI技术的不断发展,使其能更加稳定高效的承载图书馆应用。很多图书馆在有线网络的基础上扩展无线网络来进行日常业务的开展,甚至很大一部分图书馆在新建覆盖场所时,考虑建设的成本和传统网络的繁琐,也希望可以通过WIFI接入技术实现他们的目的。该省立图书馆建筑面积4万平方米,5层,要求实现无线网络无缝覆盖,所有上网用户的带宽不得低于8Mbps,图书馆用户通过无线网络可以访问图书馆提供的电子资源(WEB形式),这些电子资源只能由通过认证的用户访问。 3、实验过程 3.1需求分析 3.1.1建设背景 在信息迅猛发展的今天,国内所有省立图书馆均实现了有线企业的建设。但随着设施的完善,越来越多的便携式计算机终端进入了图书馆,越来越多的读者和员工也开始拥有了带有无线网卡的计算机终端。读者对无线网的依赖性相当之高,“随时随地获取信息”已成为读者的新需求。但是,传统的有线网存在着诸多“网络盲点”,比如在仓库、食堂等许多不宜网络布线的场馆设施如何联网?这就需要我们在现有网络的基础上充分扩展和利用无线网络来解决。

计算机网络课程设计报告书.某大学校园网规划与设计

C H A N G Z H O U U N I V E R S I T Y 实验报告 课程名称:计算机网络 实验名称:某大学校园网规划与设计 学生姓名: 学号: 专业班级: 学院(系):信息学院 指导教师:

实验四某大学校园网规划与设计 设计原则: 校园网建设是一项大型网络工程,各个学校需要根据自身的实际情况来制定网络设计原则。该学校网络需要具有包括图书信息、学校行政办公等综合业务信息管理系统,为广大教职工、科研人员和学生提供一个在网络环境下进行教学和科研工作的先进平台。本次设计以实用、够用、好用、安全为指导思想;以开发标准、先进性、可靠性、安全性为设计原则进行设计。 (1)开放性标准化原则: 系统要有可扩展性和可升级性,随着学院不断的扩招,业务的增长和应用水平的提高,网络中的数据和信息流将按指数级增长,需要网络有很好的可扩展性,并能随着技术的发展不断升级。设备应选用符合国际标准的系统和产品,以保证系统具有较长的生命力和扩展能力,满足将来系统升级的要求。 (2)先进性性原则 当前计算机网络技术发展很快,设备更新淘汰也很快。这就要求校园网建设在系统设计时既要采用先进的概念、技术和方法,又要注意结构、设备、工具的相对成熟。只有采用当前符合国际标准的成熟先进的技术和设备,才能确保校园网络能够适应将来网络技术发展的需要,保证在未来若干年内占主导地位。(3)可靠性原则: 网络必须是可靠的,包括网络物理级的可靠性,如服务器、风扇、电源、线路等;以及网络逻辑级的可靠性,如路由、交换的汇聚,链路冗余,负载均衡等。网络必须具有足够高的性能,满足业务的需要。 (4)安全性原则: 网络系统应具有良好的安全性。由于校园骨干网络为多个用户内部网提供互联并支持多种业务,要求不仅能进行灵活有效的安全控制,同时还应支持虚拟专网,以提供多层次的安全选择。在系统设计中,既考虑信息资源的充分共享,更要注意信息的保护和隔离,因此系统应分别针对不同的应用和不同的网络通信环境,采取不同的措施,包括系统安全机制、数据存取的权限控制等。 分层设计理念: 对于大型网络而言一般采用三层结构设计,即“接入层-汇聚层-核心层”,如图所示:

unity3d游戏课程设计报告

游戏程序设计课程报告 课程: Unity3D课程设计题目:探索迷宫 班级: 学号: 姓名:

日期:2014.12 一、摘要 1 UNITY游戏是一种新型的IT引擎。我们研究主要内容是UNITY游戏设计方法。指以游戏客户端软件为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D软件 的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的W ASD及SPACE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。

二、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交2 互过程等的设计;开发完成与设计相符的游戏Demo。 要求使用Unity3D游戏开发软件实现上述游戏Demo。 三、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏Demo,并撰写设计开发报告。 四、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 五、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分

计算机网络课程设计报告书

《计算机网络》 课程设计报告书 专业:计嵌 班级:计嵌151 学号: 姓名:张耀 目录 一、设计题目 二、设备选型 三、IP地址规划 四、拓扑图设计 五、主要技术 六、配置清单 七、总结 一、设计题目 1、课设目的 巩固《计算机网络》和《网络通信》两门课程的知识,在本次课程设计中充分利用前面所学的知识,熟练应用所有技术,系统掌握一个较为复杂的网络配置过程。在课设中有少量需要的技术教学过程中没有涉及,请自己查阅CCNA资料。 2、课设内容 项目背景:某中小型企业有两个部门,销售部(vlan 10)与行政部(vlan 20)。要求同部门之间采用二层交换网络相连;不同部门之间采用单臂路由方式互访。企业有一台内部web服务器,承载内部网站,方便员工了解公司的即时信息.局域网路由器启用多种路由协议(静态路由、动态路由协议),并实施路由控制、负载均衡、链路认证、访问限制等功能.企业有一条专线接到运营

商用以连接互联网,采用HDLC封装,由于从运营商只获取到一个公网IP地址,所以企业员工上网需要做NAT网络地址转换,具体拓扑结构如上图所示。 二、设备选型 三、IP地址规划 四、拓扑图设计 五、主要技术 Trunk:在路由/交换领域,VLAN的中继端口叫做trunk。trunk技术用在交换机之间互连,使不同VLAN通过共享链路与其它交换机中的相同VLAN通信。交换机之间互连的端口就称为trunk端口。trunk是基于OSI第二层数据链路层(DataLinkLayer)的技术。

Vlan:在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。 单臂路由:在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。 默认路由:默认路由是一种特殊的静态路由,指的是当路由表中与包的目的地址之间没有匹配的表项时路由器能够做出的选择。如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃,默认路由在某些时候非常有效,当存在末梢网络时,默认路由会大大简化路由器的配置,减轻管理员的工作负担,提高网络性能。 动态路由:动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整。 (RIP、OSPF) ACL:访问控制列表(Access Control List,ACL)是路由器和交换机接口的指令列表,用来控制端口进出的数据包。 帧中继:帧中继(Frame?Relay)是一种用于连接计算机系统的面向分组的通信方法。它主要用在公共或专用网上的局域网互联以及广域网连接。大多数公共电信局都提供帧中继服务,把它作为建立高性能的虚拟广域连接的一种途径。 NAT:NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 六、配置清单 一、基本配置 1、按上面的拓扑结构搭建仿真网络硬件 2、给路由器和交换机命名(可以自己选择命名) -->为Router5命名(其他设备操作相同) ->所有设备重新命名后 3、配置和启动交换和路由的接口,配置终端设备的IP地址和默认网关。 -->配置PC1的IP地址和默认网关(其他设备操作相同) -->开启并配置Router1的Fa0/0接口,并为其配置IP地址等属性(其他设备操作相同) 二、交换机配置 1、配置Etherchanne,捆绑Sw1与Sw2的F0/11,F0/12接口.要求使用Cisco PAGP协议中的主动协商模式。 -->配置Sw1和Sw2 2、配置VTP,在Sw1与Sw2上配置VTP, 域名为作为Server;Sw2作为Client,设置密码为student。 -->配置Sw1 -->配置Sw2 -->在Sw1上创建Vlan -->在Router1上做ACL访问控制 4、单臂路由配置。单臂路由:vlan 10以R1的F0/作为出口网关;vlan 20以R3的F0/作为

网络综合实验报告

专业综合实验报告 课程名称:专业综合实验课题名称:校园网—接入层和汇聚 层姓名: 班级:带教老师: 报告日期: 2013.12.9--2013.12.13 电子信息学院 目录 一、综合实验的目的和意义 (4) 二、综合实验的内容 (5) 2.1 校园网需求分 析 (5) 2.2校园网规划............................................................................... ...... 7 2.3网络技术指导与测试分 析 ............................................................ 9 三、综合实验的步骤与方法 .. (17) 3.1项目需求分 析 ............................................................................. 17 3.2制定网络工程项目实施目标方案 (17) 四、综合实验的要点 ..................................... 18 五、小组分 工 ........................................... 19 六、结果分析与实验体会.................................. 19 七、问 题 ............................................... 20 参考文 献 (21) 前言 通过专业综合实验,使学生在掌握了网络工程专业的理论知识和实践知识的前提下,能够完成从网络设备的选型、配置、设计、施工、组建,到测试、管理、维护、应用、开发等一系列贯穿网络工程全过程所有实验 任务。同时,也使得每个学生能够满足网络工程专业的“建好网、管好网、用好网”的四年培养目标。因此,专 业综合实验对学生的网络工程能力培养具有重要的作用和意义。 一、综合实验的目的和意义 《专业综合实验》课程是网络工程及相关计算机专业学生的一门实践课程,本课程旨在计算机网络的理论知识和实践知识的结合下教授学生设计,构建和维护计算机网络的知识技能。同时对于学生掌握计算机网络的 基础理论和过程,对于熟悉网络构建和管理的技术和方法也是一个非常重要的检测,对学生的计算机应用能力 的培养具有重要的作用和意义。 通过专业综合实验,使学生在掌握了网络工程专业的理论知识和实践知识的前提下,能够完成从网络设备的选型、配置、设计、施工、组建,到测试、管理、维护、应用、开发等一系列贯穿网络工程全过程所有实验 任务。同时,也使得每个学生能够满足网络工程专业的“建好网、管好网、用好网”的四年培养目标。因此,专 业综合实验对学生的网络工程能力培养具有重要的作用和意义。 本课程要求学生综合所有计算机网络课程的相关知识,包括:计算机网络的基本理论和方法、网络的构建、交换机路由器的配置以及各种网络服务的配置、网络安全工程的设计与实现、网络编程技术的应用等内容。网

大学课程设计报告小小打字游戏设计-课程设计报告

2016-2017学年第一学期 《Windows程序设计》 课程设计报告 题目:小小打字游戏设计 专业: 班级: 姓名: 指导教师: 成绩: 二0一六年十一月十五日

目录 1 设计内容及要求 (1) 1.1 设计内容 (1) 1.2 系统功能 (1) 1.3 信息存储功能 (1) 2 系统设计 (1) 2.1 数据库设计 (1) 2.1.1 GameUser表 (1) 2.1.2 GameInfo表 (2) 2.2 游戏系统设计 (2) 2.2.1 程序项目设计 (2) 2.2.2 功能模块设计 (2) 3 C#系统实现 (5) 3.1 类图 (5) 3.2 核心代码 (6) 3.3 MySqlConn类 (10) 3.4 MainForm类 (11) 3.5 菜单事件 (12) 3.6 窗体键盘事件 (13) 3.7 MyRandom类 (15) 3.8 Program类 (16) 4 总结 (17) 4.1 收获 (17) 4.2 反思 (17) 5 参考文献: (18)

1 设计内容及要求 1.1 设计内容 软件名称:小小打字游戏 需求分析:使用VS2010开发环境,用C#语言编写一个打字游戏,游戏界面随机出现下落的A到Z的26个字母,当用户按下相应的键,游戏屏幕上正在下落的字母就会被消除,游戏分数将相应增加。 1.2 系统功能 (1)、登录功能:启动软件,出现登录界面,用户输入账号密码,正确后方可进入游戏; (2)、注册功能:不存在的用户,可以注册; (3)、软件互斥:通过创建互斥变量,使打字游戏软件只能单独开启一个; (4)、游戏控制:按F1开启游戏,F2暂停游戏,F3继续游戏,F4使用游戏积分兑换生命值; (5)、游戏显示:游戏窗口随机下落颜色不定的A到Z 26个字母,并根据游戏得分实时增加字母下落的速度; (6)、游戏操作:按下键盘上的A-Z 26个字母键,游戏窗口上正在下落的对应字母被消除,并使游戏分数增加1; (7)、数据保存和清除:使用数据库保存用户的游戏数据,并可调用数据库数据显示在游戏界面上显示,管理员账号可以清除游戏数据记录; (8)、游戏界面信息显示:显示相应的游戏状态信息,暂停游戏提示,结束游戏提示以及游戏排名。 1.3 信息存储功能 需要存储的信息: (1)游戏分数、(2) 游戏等级、 (3) 用户、 (4)密码、(5)游戏开始时间、(6)游戏结束时间。 2 系统设计 2.1 数据库设计 2.1.1 GameUser表 表1 GameUser表

相关文档
相关文档 最新文档