当前位置:文档之家› 网络协议课程设计报告

网络协议课程设计报告

目录

1.课程设计目的 ---------------------------------------------------- 2

2.课程设计要求 ---------------------------------------------------- 2

3.课程设计题目分析 ------------------------------------------------ 2

3.1 网卡设置 -------------------------------------------------- 2

3.2 程序设计 -------------------------------------------------- 3

3.2.1 使用原始套接字------------------------------------------ 3

3.2.2 接收数据包---------------------------------------------- 4

3.2.3 定义IP头部的数据结构---------------------------------- 4

3.2.4 IP包的解析 --------------------------------------------- 5

4.解析IP数据包设计相关知识 -------------------------------------- 5

5.程序流程图------------------------------------------------------- 6

6.程序设计--------------------------------------------------------- 7

6.1 协议的定义 ------------------------------------------------ 7

6.2捕获处理--------------------------------------------------- 7

6.3 运行界面 -------------------------------------------------- 8

7.实验结果--------------------------------------------------------- 9

8.自我评析和总结 -------------------------------------------------- 9

8.1 实训心得-------------------------------------------------- 9

8.2 实训日记-------------------------------------------------- 9

9.主要参考资料 -------------------------------------------------- 10

[2]《网络协议分析》寇晓蕤罗俊勇编著机械工业出版社--------- 10

[3]《C语言程序设计》张建伟李秀琴主编科学出版社--------- 10

[4]《C++程序设计教程——面向对象分册》郑秋生主编 --------- 10电子工业出版社 -------------------------------------------------- 10 10.附录 ---------------------------------------------------------- 10

1.课程设计目的

本次实训的目的就是设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对IP层的工作原理有更好的理解和认识。

2.课程设计要求

本设计的目标是捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。程序的具体要求如下:

1.捕获网络中的IP数据包,解析数据包的内容,并用图形界面显示结果,将结果写入日志文件。

2.显示的内容包括:捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。

3.设置停止标志,当程序接收到停止命令时即停止。

3.课程设计题目分析

3.1 网卡设置

为了获取网络中的IP数据包,必须对网卡进行编程,在这里我们使用套接字(socket)进行编程。但是,在通常情况下,网络通信的套接字程序只能响应与自己硬件地址相匹配的数据包或是以广播形式发出的数据包。对于其他形式的数据包,如已到

达网络接口,但却不是发送到此地址的数据包,网络接口在传递地址并非自身地址的情况下将不予起响应,也就是说应用程序无法收取与自己无关的数据包。我们要想获取网络设备的所有数据包,就是需要将网卡设置为混杂模式。

3.2 程序设计

本程序主要由三部分构成:初始化原始套接字,反复监听捕获数据包和解析数据包。下面就结合核心代码对程序的具体实现进行分析,同时使程序流程更加清晰,去掉了错误检查等保护性代码。

3.2.1 使用原始套接字

套接字分为三种,即流套接字(Stream socket)、数据报套接字(Datagram Socket)

和原始套接字(Raw Socket)。要进行IP层数据包的接收和发送,应使用原始套接字。创建原始套接字的代码如下:Socket sock: Sock=wsasocket(af_inet,sock_raw,ipproto-ip,null,0,ws a-flag-overlapped):

本设计不用考虑超时情况。

创建套接后,IP头就会包含在接收数据包中。然后,我可以设置IP操作选项,调用setsockopt函数。其中flag设置为true,并设定IP-HDRINCL选项,表明用户可以亲自对IP头进行处理。最后使用bind()函数将socket绑定到本地网卡上。绑定网卡后,需用WSAIoctl()函数把网卡设置为混杂模式,使网卡能够接收所有的网络数据。如果接收的数据包中的协议类型和定义的原始套接字匹配,那么接收的数据就拷贝到套接字中,因此,网卡就可以接收所有经过的IP包。

3.2.2 接收数据包

在程序中可使用recv()函数接收经过的IP包。该函数有四个参数,第一个参数接收操作所用的套接字描述符;第二个参数接收缓冲区的地址;第三个参数接收缓冲区的大小,也就是所要接收的字节数;第四个参数是一个附加标志,如果对所发送的数据没特殊要求,直接设为0。因为IP数据包的最大长度是65535B,因此缓冲区的大小不能小于65535B。设置缓冲区后,可利用循环来反复监听接收IP包,用recv()函数实现接收功能。

3.2.3 定义IP头部的数据结构

程序需要定义一个数据结构表示IP头部。其代码如下:

///定义IP数据包头的结构

typedef struct _IPHEADER {

unsigned char header_len:4; /*IP包头的长度*/

unsigned char version:4; /*IP的版本号*/

unsigned char tos; /*IP包的服务类型*/

unsigned short total_len; /*IP包的总长度*/

unsigned short ident; /*IP包的分段标识*/

unsigned short flags; /*IP包的分段标志和分段偏移*/

unsigned char ttl; /*IP包的生存时间*/

unsigned char proto; /*IP包的高层协议*/// protocol ( IP , TCP, UDP etc)

unsigned short checksum; /*IP包的校验和*/

unsigned int sourceIP; /*IP包的源IP地址*/

unsigned int destIP; /*IP包的目的IP地址*/ }IPHEADER;

3.2.4 IP包的解析

解析IP包的字段有两种策略。针对长度为8位、16位和32位的字段(或子字段)时,可以利用IP-HEADER的成员直接获取。要解析长度不是8位倍数的字段(或子字段)时,可以利用C语言中的移位以及与、或操作完成。

4.解析IP数据包设计相关知识

互联网层是TCP/IP协议参考模型中的关键部分。IP协议把传输层送来的消息组装成IP数据包,并把IP数据传递给数据链路层。IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP数据包格式,以消除各通信子网间的差异,从而为信息发送方和接收方提供了透明的传输通道。编制本程序前,首先要对IP包的格式有一定的了解。

IP数据包的第一字段是版本字段,其长度为4位,表示所使用的IP协议的版本。目前的版本IPV4,版本字段的值为4,下一代的版本是IPV6,版本字段的值为6。本程序主要针对版本值为4的IP数据包的解析。

报头标长(IHL)字段为4位,它定义了以4B为一个单位的

IP包的报头长度。报头除了选项字段和填充域字段外,其他各字段是定长的。因此,IP数据包的头长度在20-40B之间,是可变的。

5.程序流程图:

6.程序设计

6.1 协议的定义

(包含相应的头文件#include #include):

DWORD dwIoControlCode=SIO_RCVALL, /*接收所有的IP 包*/

dwProtocol=IPPROTO_IP; /*协议类型为IP*/

6.2捕获处理

1.加载Winsock;

2.创建一个接收原始IP包的socket连接;

3.用setsockopt()函数设置socket可以对IP头进行处理

4.绑定到一个接口;

5.进行WSAIoctl设置,接收所有的IP数据包。

代码如下:if( SOCKET_ERROR == WSAIoctl( sock, SIO_RCVALL , &dwBufferInLen, sizeof(dwBufferInLen), &dwBufferLen, sizeof(dwBufferLen),&dwBytesReturned , NULL , NULL ) )

6.接着捕获包:(1)创建一个接收IP包头;(2)设置一个标识,为真,则不断进行IP包的捕获;(3)建立一个新的结点,将捕获的数据包加入到该结点;(4)如果链表的长度达到指定的长度,创建一个线程对该IP包进行解析;

7.建立一个进行IP包解析并显示的线程,进行解析IP数据包,然后显示IP数据包。

6.3 运行界面

调试之前,原始dos界面:

调试之后,图形界面:

7.实验结果

日志文件:默认输出文件为rawsock.txt,可自选输出文件。执行文件为sniffer.exe

8.自我评析和总结

8.1 实训心得

这次计算机网络实训“解析IP数据包”,通过近一周的上机操作,我充分应用了所学的计算机网络和C语言的知识,并去图书馆查阅了一些书集和上网搜索一部分相关资料。本次课程设计我查阅了大量的案例,学到了很多知识,对计算机网络有了更深入的了解,收获很大。之前的学习仅限于书本,很多东西都只知其然而不知其所以然。

通过具体分析,设计出了这个系统,充分运用了所学的计算机网络知识解析IP数据包,从而更加深刻的了解到了IP数据包的结构及IP协议的相关问题,对IP层的工作原理有更好的理解和认识。

课程设计是培养我们综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,网络已经成为当今计算机发展中空前活跃的领域,在生活中可以说是无处不在,因此作为二十一世纪的计算机专业的大学生来说掌握网络技术是十分重要的。

8.2 实训日记

星期一:选择题目我们两人在一块进行讨论,对课程题目要求有进一步的了解,分析程序的流程。

星期二:经过一天的构思,大致有了点想法,开始认真编写程序。星期三:尽管有构思,但构思还只停留在大脑中,具体实现还是有一定的难度,首先IP抓包过程不知道怎么实现。我很费解!星期四:经过大量的浏览相关图书和上网查询,了解了部分功能的实现过程。经过一天的努力,系统初见端倪。但还不怎么完美,没达到我的要求。

星期五:稍微调试部分代码,功能基本实现。向老师和同学演示

9.主要参考资料

[1]《计算机网络》(第5版)谢希仁编著电子工业出版社

[2]《网络协议分析》寇晓蕤罗俊勇编著机械工业出版社

[3]《C语言程序设计》张建伟李秀琴主编科学出版社

[4]《C++程序设计教程——面向对象分册》郑秋生主编

电子工业出版社

10.附录

#include

#include

#include

#include

#pragma comment(lib,"ws2_32")

#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)

#define MAX_NUM 500 //抓包数量

///定义IP数据包头的结构

typedef struct _IPHEADER {

unsigned char header_len:4; /*IP包头的长度*/

unsigned char version:4; /*IP的版本号*/

unsigned char tos; /*IP包的服务类型*/

unsigned short total_len; /*IP包的总长度*/

unsigned short ident; /*IP包的分段标识*/

unsigned short flags; /*IP包的分段标志和分段偏移*///移位可以分解

unsigned char ttl; /*IP包的生存时间*/

unsigned char proto; /*IP包的高层协议*/// protocol ( IP , TCP, UDP etc)

unsigned short checksum; /*IP包的校验和*/

unsigned int sourceIP; /*IP包的源IP地址*/

unsigned int destIP; /*IP包的目的IP地址*/

}IPHEADER;

char *get_proto_name( unsigned char proto ) //获得上层协议名{

char *pprototext ;

switch (proto)

{

case IPPROTO_IP: {pprototext="IP";break;}

case IPPROTO_ICMP: {pprototext="ICMP";break;}

case IPPROTO_IGMP: {pprototext="IGMP";break;}

case IPPROTO_GGP: {pprototext="GGP";break;}

case IPPROTO_TCP: {pprototext="TCP";break;}

case IPPROTO_UDP: {pprototext="UDP";break;}

case IPPROTO_IDP: {pprototext="IDP";break;}

case IPPROTO_RAW: {pprototext="RAW";break;}

case IPPROTO_MAX: {pprototext="MAX";break;}

}

return pprototext;

}

char *get_tos( unsigned char tos ) //获得服务类型

{

char *tostext;

switch (tos)

{

case 0: {tostext="一般服务";break;}

case 1: {tostext="最低成本";break;}

case 2: {tostext="最高可靠性";break;}

case 4: {tostext="最大吞吐率";break;}

case 8: {tostext="最小延迟";break;}

}

return tostext;

}

BOOL main(int argc,char *file[])

{

//加载winsock.dll

WSADATA WSAData;

if (WSAStartup(MAKEWORD(2,2), &WSAData)!=0)

{

printf("WSAStartup Error!\n");

printf( "Error socket() = %ld " , WSAGetLastError() ) ; return false;

}

/////创建一个接收原始IP包的socket连接;

SOCKET sock;

sock = socket( AF_INET , SOCK_RAW , IPPROTO_IP ) ;

if( SOCKET_ERROR == sock )

{

printf( "create socket error" ) ;

printf( "Error socket() = %ld " , WSAGetLastError() ) ;

closesocket( sock ) ;

return false;

}

////设置socket可以对IP头进行处理

int rcvtimeo = 5000 ;

if( setsockopt( sock , SOL_SOCKET , SO_RCVTIMEO , (const char *)&rcvtimeo , sizeof(rcvtimeo) ) == SOCKET_ERROR) {

printf("setsockopt error!");

printf( "Error socket() = %ld " , WSAGetLastError() ) ; closesocket( sock ) ;

return false;

}

///获得主机IP

CHAR szHostName[128] = {0};

HOSTENT* pHost = NULL;

CHAR* pszIp = NULL;

int iNum = 0;

DWORD m_ipsource ;

if(gethostname(szHostName, 128)==0)

{

pHost = gethostbyname(szHostName);

if(pHost != NULL)

{

pszIp = inet_ntoa(*(in_addr*)pHost->h_addr_list[iNum]);

m_ipsource = inet_addr(pszIp);

}

else printf("pHost = NULL!");

}

else printf("can't find host name!");

////使用bind()函数将socket绑定到本地网卡上

SOCKADDR_IN sa;

sa.sin_family = AF_INET;

sa.sin_port = htons(7000);

sa.sin_addr.s_addr= m_ipsource;

if (bind(sock,(PSOCKADDR)&sa, sizeof(sa)) == SOCKET_ERROR)

{

printf("bind error!");

printf( "Error socket() = %ld " , WSAGetLastError() ) ;

closesocket( sock ) ;

return false;

}

////将网卡设为混杂模型

//设置SOCK_RAW为SIO_RCVALL,以便接收所有的IP包DWORD dwBufferLen[10] ;

DWORD dwBufferInLen= 1 ;

DWORD dwBytesReturned = 0 ;

if( SOCKET_ERROR == WSAIoctl( sock, SIO_RCVALL , &dwBufferInLen, sizeof(dwBufferInLen),

&dwBufferLen,

sizeof(dwBufferLen),

&dwBytesReturned , NULL , NULL ) )

{

printf("WSAIoctl error!");

printf( "Error socket() = %ld " , WSAGetLastError() ) ; closesocket( sock ) ;

return false;

}

//打开输出文件

FILE *fp;

if ( argc!=2 )

file[1]="rawsock.txt";

fp = fopen(file[1],"w+");

//向屏幕和文件输出说明

fprintf(fp,"包数版本首部长度服务类型数据报总长度标识标志片偏移TTL 协议首部校验和源IP地址目的IP 地址\n");

printf("包数版本首部长度服务类型数据报总长度标识标志片偏移TTL 协议首部校验和源IP地址目的IP地址\n");

printf("按Ctrl+c结束捕包.\n");

fclose(fp);

//开始捕获包

int i=1;

while(true){

char recvbuf[65535],*bufwork; //用来接收的缓冲区

int recvsize; //获得包的大小

memset(recvbuf, 0, sizeof(recvbuf));

recvsize = recv(sock, recvbuf, sizeof(recvbuf), 0);//捕获包

if(recvsize <0)

{

continue;

}

IPHEADER *ipheader;

bufwork = recvbuf;

ipheader = (IPHEADER *)bufwork;//处理头部

//得到包中的源IP和目的IP

char szSource [16] , szDest[16];

in_addr ina ;

ina.S_un.S_addr = ipheader->sourceIP ;

strcpy( szSource , inet_ntoa( ina ) ) ;

ina.S_un.S_addr = ipheader->destIP ;

strcpy( szDest , inet_ntoa( ina ) ) ;

char *strproto = get_proto_name(ipheader->proto);

char *strtos = get_tos(ipheader->tos);

//向文件和屏幕输出包的信息

fp = fopen(file[1],"a");

fprintf(fp,"%3d IPv%1d%6d字节%10s%8d字节%10d%2d%6d%10d%5s%8d%20s%20s\n",i,ipheader->ver sion,ipheader->header_len*4,

strtos,ipheader->total_len,ipheader->ident,(ipheader->flags)> >13,((ipheader->flags)<<3)>>3,

ipheader->ttl,strproto,ipheader->checksum,szSource,szDest); printf("%3d IPv%1d%6d字节%10s%8d字节%10d%2d%6d%10d%5s%8d%20s%20s\n",i,ipheader->ver sion,ipheader->header_len*4,

strtos,ipheader->total_len,ipheader->ident,(ipheader->flags)> >13,((ipheader->flags)<<3)>>3,

ipheader->ttl,strproto,ipheader->checksum,szSource,szDest); fclose(fp);

i++;

if (i>MAX_NUM) break;

}

WSACleanup();

closesocket( sock ) ;

return false;

}

此程序用VC 6.0可在Dos下运行,但界面为Dos界面,故添加C++控件后出现图形界面,结果同上图6.3运行界面,添加控件单独为一sniffer

文件夹。

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.系统自带编译环境

网络安全协议课程设计-IPsec隧道协议的安全分析与改进

《网络安全协议》 课程设计 题目IPsec隧道协议的安全分析与改进班级 学号 姓名 指导老师 2015年 7 月 4 日

目录 一、概述 (2) 1.1课程设计的目的 (2) 1.2课程设计的内容 (2) 1.3课程设计的要求 (3) 二、问题分析 (3) 2.1系统需求 (3) 2.2 GRE协议分析 (3) 2.3 IPsec协议分析 (4) 三、协议漏洞 (5) 3.1协议漏洞解决措施 (5) 3.2协议漏洞解决详解 (5) 四、协议完善具体实现 (6) 4.1实现分析 (6) 4.2 GRE实现流程分析 (8) 4.3简单设备设置 (10) 五、案安全性分析 (11) 六、程设计心得、总结 (11) 七、参考文献 (12)

一、概述 网络如若想实现交流传输,必须以网络协议为载体进行。而网络协议(Network Protcol)是控制计算机在网络介质上进行信息交换的规则和约定。网络协议通常会被按OSI参考模型的层次进行划分。OSI参考模型是国际标准化组织制定的网络体系结构参考模型,提供各种网络互联的标准,共分七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,会话层、表示层和应用层往往被合并称为高层。当前的计算机网络的体系结构是以TCP/IP协议为主的Internet结构。伴随着网络的诞生近几年频繁出现的安全事故引起了各国计算机安全界的高度重视,计算机网络安全技术也因此出现了日新月异的变化。安全核心系统、VPN安全隧道、身份认证、网络底层数据加密和网络入侵主动监测等越来越高深复杂的安全技术极大地从不同层次加强了计算机网络的整体安全性。网络安全的实现首先需要网络协议的安全,但是网络协议都是人为写的,存在先天的不足与缺陷,以至于只能慢慢实践发现并给与补充。这里先谈一下VPN中的GRE协议。GRE(Generic Routing Encapsulation,通用路由封装)协议是由Cisco和Net-smiths等公司于1994年提交给IETF(Internet Engineering Task Force,网络工程工作小组)的,标号为RFC1701和RFC1702。GRE协议规定了如何用一种网络协议去封装另一种网络协议的方法,是一种最简单的隧道封装技术,它提供了将一种协议的报文在另一种协议组成的网络中传输的能力。GRE协议就是一种应用非常广泛的第三层VPN隧道协议。GRE隧道使用GRE协议封装原始数据报文,基于公共IP网络实现数据的透明传输。GRE隧道不能配置二层信息,但可以配置IP地址。本文从GRE协议的工作原理入手,从安全性角度出发,详细分析了GRE隧道协议的不足与缺陷,最后提出了相关的安全防护方案。 1.1课程设计的目的 详细分析IPsec隧道协议不支持对多播和广播的加密的不足,并针对其漏洞设计实施完善可行的策略。 1.2课程设计的内容 将GRE与IPsec结合使用,弥补IPsec不能保护组播数据的缺陷。因为GRE可以封装组播数据并在GRE隧道中传输,所以对于诸如路由协议、语音、视频等组播

网络协议分析与仿真课程设计预习报告

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 网络协议分析与仿真课程设计预习报告 甲方:___________________ 乙方:___________________ 日期:___________________

(计算机学院) 网络协议分析与仿真课程设计 预习报告 专业名称:__________ 网络工程_________________ 班级:_______________________________________ 学生姓名:____________________________________ 学号(8位): ________________________________ 指导教师:____________________________________ 设计起止时间:2013年12月2日一2013年12月13日

题目一网络流量分析 一、课程设计目的 里加深对IP、DNS、TCR UDP、HTTP等协议的理解; 里掌握流量分析工具的使用,学习基本的流量分析方法。 二、课程设计地点及时间 二号实验楼442网络实验室,12月2日至12月6日,每天8: 00-14: 00 三、课程设计实验条件 工具:Wireshark (Windows 或Linux), tcpdump (Linux) 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 内容:Web流量分析 四、课程设计原理 1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号 与目的端口号(源端口号为大于1023随机,目的端口号为UDP5狒口)及应用层服务(这 里因该是请求DN硒询服务吧)。传输层封装数据产生数据段传给网络层,在网络层标识源IP地址及目的IP地址(源IP地址为客户端IP ,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MACM址及目的MA砸址(源MACM址为客户端网卡MA弛址,目的MAC%址为DNS服务器MACM址),这里应该查询MA或存。数据链路层根据客户端与DNS服务器之间的链路,将数据包封装成 帧,传给物理层。物理层会将数据帧转化为电信号放到物理介质上。 电信号到达DNS服务器后会从物理层到达应用层(这里和客户端发送数据差不多,只不过这 个过程变成了解封装),DNS服务器做完域名解析后再将数据传给客户端,传输过程同客户端发送数据。 2、建立TCP/IP连接:客户端知道WE囹艮务器IP地址之后,在网络层产生建立TCP/IP三次握手的数据包(TCP/IP三次握手:客户端向服务器端发送SYN信息,服务器端收到SYN信 息后回复给客户端SYN+AC褊认信息,客户端收到确认信息后再向服务器发送ACK信息建立 连接),应用层标识HTTP服务将数据发送到传输层,传输层将数据+源端口号(大于1023)、目的端口号(80)+上层服务WW如装为数据段传给网路层。网络层将数据段+源ip与目的 ip (WW服务器的ip地址)封装为数据包发送到数据链路层。数据链路层参照ARP缓存表确定源MAC%址(本机MACM址)及目的MACM址(客户端与路由B相连端口的MACM址)将数据包封装成数据帧。这里还需要CR破验。。。。。。数据帧到达物理层后变成电信号发送 到介质上(这里还需要访问控制方法DSMA/CD 路由B收到电信号后传给路由器的数据链路层,这里还需要CRC,FC眼验。。。…确定数据 帧没有损坏后查看目的MACM址与路由器端口地址是否相同,如果相同将解封装,将数据包 发送到路由器B的物理层,路由器查看路由表确定数据包的转发端口,路由器B确定与路由 A之间的链路,创建帧。 路由B与路由A可以看成是点对点,即路由B将创建PPP帧。路由A收到电信号后,确定帧的完整性,如果完整即将数据帧解封装发送到网络层,路由A查询路由表将数据包转发到与WEBf连的路由端口。 路由A的数据链路层将查询ARP缓存表确定WW服务器的MACM址,路由A将创建源MAC 地址

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

网络应用程序设计课程设计报告书 题目:局域网多人聊天室 班级: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)

网络协议实践课程设计报告-

成都信息工程学院网络工程系 《网络协议实践》 课程设计报告 签名:

目录 第一章 TCP和ARP协议基础............................................................................... 错误!未定义书签。 1.1什么是TCP协议........................................ 错误!未定义书签。 1.2TCP报文类型与格式 .................................... 错误!未定义书签。 1.3什么是ARP协议........................................ 错误!未定义书签。 1.4ARP报文类型和结构 .................................... 错误!未定义书签。第二章抓包验证TCP协议和ARP协议.............................................................. 错误!未定义书签。 2.1实验环境.............................................. 错误!未定义书签。 2.2实验步骤与抓包结果分析................................ 错误!未定义书签。 2.3实验结论.............................................. 错误!未定义书签。第三章 OSPF路由协议验证分析.. (3) 3.1实验环境及工具介绍 (9) 3.2实验步骤及抓包结果分析 (10) 3.3实验结论--OSPF运行过程说明 (12) 3.4实验心得体会 (12)

网络安全协议课程设计报告SSL协议

SSL协议的安全性研究 1 引言 随着计算机网络技术的飞速发展,信息时代的人们对Internet的依赖性越来越大。当今时代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一步应用。安全套接层SSL(Secure Sockets Layer)协议是由Netscape公司设计开发的安全协议,主要用于加强应用程序之间的数据的安全性。SSL协议是基于Web应用的安全协议,它采用了RSA算法、RC4—128、RC一128、三重DES算法和MD5等加密技术实现两个应用层之间的机密性、可靠性和数据完整性,并采用X.509数字证书实现鉴别,其加密的目的是建立一个安全的通讯通道,而且该通道可在服务器和客户机两端同时实现支持。 2 SSL协议简述及相关概念 SSL协议用来建立一个在客户和服务器之间安全的TCP连接,尤其可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在TCP协议之上的任意应用协议数据的完整性和隐蔽性服务。SSL为在Internet上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。 2.1 SSL---安全套接层协议。 是由Netscape设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。SSL位于TCP/IP协议与各种应用层协议之间,为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和Web服务器无关的。 2.2 SSL协议可分两层: 2.2.1 SSL记录协议: 它建立在可靠的传输协议(如TCP)之上,位于SSL协议的底层,为高层协议提供数据封装、压缩、加密等基本功能的支持。在SSL中,所有数据被封装在记录中,SSL握手协议中的报文,要求必须放在一个SSL记录协议层的记录里,但应用层协议的报文,允许占用多个SSL 记录来传送 (1) SSL记录头格式 SSL记录头可以是2个或3个字节长的编码。SSL记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密

计算机网络课程设计报告

计算机网络课程设计报告 姓名:李逍逍 班级: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.家庭网络区:包括从网络中心到楼宇中的骨干交换设备,并为各住户单元提供网络接入端口,是整个小区网络系统的最基本单元。

网络协议课程设计报告

目录 1.课程设计目的 ---------------------------------------------------- 2 2.课程设计要求 ---------------------------------------------------- 2 3.课程设计题目分析 ------------------------------------------------ 2 3.1 网卡设置 -------------------------------------------------- 2 3.2 程序设计 -------------------------------------------------- 3 3.2.1 使用原始套接字------------------------------------------ 3 3.2.2 接收数据包---------------------------------------------- 4 3.2.3 定义IP头部的数据结构---------------------------------- 4 3.2.4 IP包的解析 --------------------------------------------- 5 4.解析IP数据包设计相关知识 -------------------------------------- 5 5.程序流程图------------------------------------------------------- 6 6.程序设计--------------------------------------------------------- 7 6.1 协议的定义 ------------------------------------------------ 7 6.2捕获处理--------------------------------------------------- 7 6.3 运行界面 -------------------------------------------------- 8 7.实验结果--------------------------------------------------------- 9 8.自我评析和总结 -------------------------------------------------- 9 8.1 实训心得-------------------------------------------------- 9 8.2 实训日记-------------------------------------------------- 9 9.主要参考资料 -------------------------------------------------- 10 [2]《网络协议分析》寇晓蕤罗俊勇编著机械工业出版社--------- 10 [3]《C语言程序设计》张建伟李秀琴主编科学出版社--------- 10 [4]《C++程序设计教程——面向对象分册》郑秋生主编 --------- 10电子工业出版社 -------------------------------------------------- 10 10.附录 ---------------------------------------------------------- 10

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

信息工程系 课程设计报告书 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)

计算机网络课程设计报告文件传输协议的简单实现

课程设计 课程名称计算机网络课程设计 题目名称文件传输协议的简单设计与实现学生学院 专业班级___ _ 学号 学生姓名______ _________ 指导教师______ _____ 2010 年 1 月 5 日

设计摘要 关键词:SOCKET编程,FTPclient/server程序 摘要:本课程设计包含了文件传输协议的简单设计与实现。 文件传送是各种计算机网络实现的基本功能,文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。文件传输协议的简单设计与实现建立在计算机网络实验环境TCP/IP 网络体系结构之上,使用socket 编程接口编写两个程序,分别为客户程序和服务器程序(),实现下述命令功能:get , put, pwd, dir, cd, ?, quit 等,利用了已有网络环境设计并实现简单应用层协议。 本设计包括了具体设计任务,基本思路及所涉及的相关理论,设计流程图,调试过程中出现的问题及相应解决办法,实验运行结果,核心程序,个人体会及建议等。

目录 1、文件传输协议的简单设计与实现------------------------------18 1. 1 具体设计任务----------------------------------------------18基本思路及所涉及的相关理论--------------------------------18 1.2.1基本思路-------------------------------------------------18 2.2.2 相关理论--------------------------------------------18 设计流程图------------------------------------------------19 实验运行情况----------------------------------------------19 核心程序--------------------------------------------------22 2.5.1 服务器(sever)程序---------------------------------22 2.5.2 客户(client)程序----------------------------------29 心得体会-----------------------------------------------------------------------------37 参考文献--------------------------------------------------------38

网络安全协议课程设计报告SSL协议

协议的安全性研究 1 引言 随着计算机网络技术的飞速发展,信息时代的人们对的依赖性越来越大。当今时代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一步应用。安全套接层( )协议是由公司设计开发的安全协议,主要用于加强应用程序之间的数据的安全性。协议是基于应用的安全协议,它采用了算法、4—128、一128、三重算法和5等加密技术实现两个应用层之间的机密性、可靠性和数据完整性,并采用X.509数字证书实现鉴别,其加密的目的是建立一个安全的通讯通道,而且该通道可在服务器和客户机两端同时实现支持。 2 协议简述及相关概念 协议用来建立一个在客户和服务器之间安全的连接,尤其可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在协议之上的任意应用协议数据的完整性和隐蔽性服务。为在上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。 2.1 安全套接层协议。 是由设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。位于协议与各种应用层协议之间,为连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和服务器无关的。 2.2 协议可分两层: 2.2.1 记录协议: 它建立在可靠的传输协议(如)之上,位于协议的底层,为高层协议提供数据封装、压缩、加密等基本功能的支持。在中,所有数据被封装在记录中,握手协议中的报文,要求必须放在一个记录协议层的记录里,但应用层协议的报文,允许占用多个记录来传送 (1) 记录头格式 记录头可以是2个或3个字节长的编码。记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密()算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为1时,不含有填充数据,记录头的长度为2个字节,记录数据的最大长度为32767个字节;最高位为0时,含有填充数据,记录头的长度为3个字节,记录数据的最大长度为16383个字节。

网络协议分析实验报告

课程设计 课程设计题目网络协议分析实验报告学生姓名: 学号: 专业: 2014年 6 月 29日

实验1 基于ICMP的MTU测量方法 实验目的 1)掌握ICMP协议 2)掌握PING程序基本原理 3)掌握socket编程技术 4)掌握MTU测量算法 实验任务 编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能: 1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU; 2)输出到目标主机经过网络的MTU。 实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。 实验步骤 1.首先仔细研读ping.c例程,熟悉linux下socket原始套接字编程模式,为实验做好准备; 2.生成最大数据量的IP数据报(64K),数据部分为ICMP格式,ICMP报文为回送请求报 文,IP首部DF位置为1;由发送线程发送; 3.如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。 至此,MTU测量完毕。

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。[1] 它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol 8bit)的值=1.

ICMP原理 ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。 我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.是IP层的一个协议。但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP协议来发送。ICMP数据报的数据发送前需要两级封装:首先添加ICMP 报头形成ICMP报文,再添加IP报头形成IP数据报 通信术语最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 实验2 基于UDP的traceroute程序 实验目的 1)掌握UDP协议 2)掌握UDP客户机/服务器编程模式 3)掌握socket编程技术 4)掌握traceroute算法

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

《网页设计与制作课程设计》 实验报告 院系名称:管理学院专业班级:电子商务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、主页

计算机网络课程设计利用java实现UDP协议

?????? 计算机网络课程设计利用java 实现UDP协议 系别计算机与通信工程学院 专业计算机科学与技术 学号4110415 姓名张振 指导教师王聪 2014年7月4日

1.需求分析 程序是如何通过网络进行相互通信的呢?各个孤立的工作站或主机用物理链路相连在一起,组成数据链路,从而达到资源共享和通信的目的,就形成网络。通信是人与人之间同过某种媒体进行的信息交流与传递。网络通信一般指网络协议。当今网络协议有很多,其中基本最常用的就是TCP/IP 协议族。UDP 协议就是属于TCP/IP协议族中的协议。在网络中它与TCP协议一样用于处理数据包。在OSI模型中,UDP协议在第四层——传输层,处于IP协议的上一层。与TCP 相比,UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。 本文利用Java语言网络编程的思想,编写UDP协议程序,实现UDP协议在网络中所要完成的功能。在Java语言为实现程序的相互通信提供了许多有用的抽象应用程序接口(API, Application Programming Interface),这类应用程序接口被称为套接字(sockets)。 因此,本文UDP协议的编程所需要用到的接口就是套接字。 2.实验环境 开发环境: 个人PC+win8.1+myeclipse 10 3.实验原理以及相关内容 3.1 UDP简介 UDP 是User Datagram Protocol的简称,中文全称是用户数据包协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。在网络中它与TCP协议一样用于处理数据包。在OSI模型中,UDP协议在第四层——传输层,处于IP协议的上一层。与TCP相比,UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。 3.2 使用UDP原因 UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议 所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。 这是因为UDP 有以下特点: (1)UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时 就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。 (2)由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等, 因此一台服务机可同时向多个客户机传输相同的消息。 (3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额 外开销很小。 (4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、 源端和终端主机性能的限制。

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

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

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

相关主题
文本预览
相关文档 最新文档