互联网计算机网络课程设计任务书.docx

上传人:b****3 文档编号:5345507 上传时间:2022-12-15 格式:DOCX 页数:42 大小:1.63MB
下载 相关 举报
互联网计算机网络课程设计任务书.docx_第1页
第1页 / 共42页
互联网计算机网络课程设计任务书.docx_第2页
第2页 / 共42页
互联网计算机网络课程设计任务书.docx_第3页
第3页 / 共42页
互联网计算机网络课程设计任务书.docx_第4页
第4页 / 共42页
互联网计算机网络课程设计任务书.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

互联网计算机网络课程设计任务书.docx

《互联网计算机网络课程设计任务书.docx》由会员分享,可在线阅读,更多相关《互联网计算机网络课程设计任务书.docx(42页珍藏版)》请在冰豆网上搜索。

互联网计算机网络课程设计任务书.docx

互联网计算机网络课程设计任务书

 

一、课程设计完成情况概述

本次网络工程课程设计包含三大部分,第一部分为交换式和虚拟局域网实验(必做)、子网规划与实现(必做)和Intranet组件与服务器配置(必做);第二部分是关于Socket的选作实验;第三部分为自选项目的设计与实现。

通过本次课程设计的任务学习,使我们对所学的基础理论和专业知识得到了巩固。

并让我们运用所学里路知识解决实际问题,这是十分有必要的;此次课程设计,让我们接触和了解设计从需求分析、方案比较、开发工具的使用、系统实现的全过程,进一步提高了我们的分析、综合能力,为今后毕业设计做好了必要的准备。

二、课程设计基本项目的实验报告

实验一交换式和虚拟局域网实验(必选项目)

1.实验目的

(1)学会设计交换式局域网和划分VLAN

(2)学会配置VLAN

2.实验内容

(1)交换式以太网组网

(2)以太网交换机配置

(3)VLAN划分与配置

3、实验报告

(1)画出交换式以太网组网拓扑结构

(2)以太网交换机配置信息

(3)VLAN划分与配置信息及测试结果

实验拓扑:

 

实验需求:

1)创建vlan10和vlan20,分别把fa0/1和fa/2划分进vlan10和vlan20当中。

2)配置TRUNK使得两台交换机下的同一VLANd下的设备可以ping通。

关键配置:

Sw1

hostnameSw1

noipdomain-lookup

interfaceFastEthernet0/1

switchportaccessvlan10

interfaceFastEthernet0/2

switchportaccessvlan20

interfaceFastEthernet0/24

switchportmodetrunk

linecon0

exec-timeout00

end

Sw2

hostnameSw2

noipdomain-lookup

interfaceFastEthernet0/1

switchportaccessvlan10

interfaceFastEthernet0/2

switchportaccessvlan20

interfaceFastEthernet0/24

switchportmodetrunk

linecon0

exec-timeout00

end

实验二子网规划与实现(必选项目)

1.实验目的

(1)学会设计子网

(2)学会配置子网

2.实验内容

(1)子网规划

(2)在局域网上划分子网

(3)配置IP地址

(4)测试子网

3、实验报告

(1)画出子网拓扑结构

(2)配置IP地址

(3)子网测试结果

实验拓扑:

实验需求:

1)搭建拓扑

2)将192.168.1.0划分为四个子网:

192.168.1.1-62/26

192.168.1.65-126/26

19.168.1.129-190/26

192.168.1.193-254/26

3)配置路由器并给每台PC机配上ip地址

4)测试不同子网的Pc机间的连通性

关键配置:

hostnameRouter

interfaceFastEthernet0/0

ipaddress192.168.1.1255.255.255.192

noshutdown

interfaceFastEthernet0/1

ipaddress192.168.1.65255.255.255.192

noshutdown

interfaceFastEthernet1/0

ipaddress192.168.1.129255.255.255.192

noshutdown

interfaceFastEthernet1/1

ipaddress192.168.1.193255.255.255.192

noshutdown

end

实验三Intranet组建与服务器配置(必选项目)

1、实验目的

(1)加深对Intranet服务的基本功能和意义的理解

(2)掌握Windows2003系统的网络管理功能

(3)掌握IIS的网络服务功能和基本配置方法

2、实验内容

(1)建立活动目录(选做)

(2)活动目录域用户的创建和管理(选做)

(3)客户端配置

(4)配置DNS服务器

(5)配置DHCP服务器

(6)建立和管理Web服务器

(7)建立和管理FTP服务器

(8)配置SMTP邮件服务器(选做)

(9)建立企业内部邮件服务器(选做)

3、实验报告

总结Intranet组建和服务器配置的要点(配置过程)

1)客户端配置

 

 

 

 

2)配置DNS服务器

 

 

 

 

 

 

 

 

 

 

 

 

 

3)配置DHCP服务器

 

 

 

 

 

4)建立和管理Web服务器

 

 

 

5)建立和管理FTP服务器

 

 

 

 

实验四SOCKET编程实现简单FTP程序

1.实验目的

(1)掌握网络应用程序的开发方法;

(2)掌握Client/Server结构软件的设计与开发方法

(3)掌握Socket机制的工作原理

2.实验准备

(1)阅读关于TCP/IP协议和Socket的相关内容;

(2)阅读WinSock编程指南;

(3)VC++6.0/DELPHI7.0/C#开发工具

3.实验内容

使用Win32Socket函数实现miniFTPclient/Server:

在客户端实现GETfile,PUTfile,CD(changeDirectory),PWD(displaycurrentdirectoryinserver)功能。

4.实验报告

(1)按实验内容进行软件编制和调试

(2)进行功能测试,记录测试步骤

(3)给出程序主要部分流程图

数据同步传输系统既适合于服务器端的目录遍历,又适合客户端对服务端的上传文件和下载文件。

运用Socket(套接字)接口和使用FTP(文件传输协议)来实现客户端和服务器端之间信息的交互。

该数据传输平台分为两个模块:

服务器端模块和客户端模块。

客户服务器程序通过对编程语言VisualC++6.0中的调用来实现利用TCP/IP协议中的FTP协议和封装在NMFTP内的Socket接口进行客户端与服务器连接,并完成数据同步工作,例如:

上传、下载、浏览、查询、对服务器目录与文件的管理以及执行远程命令等。

  服务器端程序则持续的监听网络。

当接受到客户端的Socket,服务器程序提供相应的服务。

网络通信模块使用POP3控件来实现客户端与服务器的信息交流。

函数功能和流程如下:

(1)首先创建一个CFtpclient的类的实例。

(2)用LogOnToServer()函数登录到指定的FTP服务器,允许非匿名用户和匿名两种登录方式,默认的端口为21.

(3)使用MoveFile()函数来上传下载数据文件,其中第一个参数是本地地址,第二个参数是远程地址,文件传输选用二进制模式。

注意,文件传输使用同步模式。

(4)可以使用Ftpcommand()函数来执行FTP指令,包括常用的“CWD/home/mydir”来改变远程服务器上的地址,并处理服务器返回的应答。

当这种方式不适用的时候,还可以使用WriteStr()函数和ReadStr()函数向远程服务器发送指令,并自己解释返回的应答。

(5)当所有的文件传输完成之后,使用LogOffServer函数来断开与远程服务器的连接。

(一)FTP客户端的主要代码

1.头文件

#include"stdafx.h"

#include"ListItem.h"

#ifdef_DEBUG

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#definenewDEBUG_NEW

#endif

2.创建ParseLine()函数

BOOLCListItem:

:

ParseLine(CStringstrLine)

{

if(strLine.IsEmpty())

returnFALSE;

charch=strLine.GetAt(0);

if(ch=='d'||ch=='D'){

m_bDirectory=TRUE;

}

else

if(ch=='-')

m_bDirectory=FALSE;

else{

if(strLine.Find("

")!

=-1||strLine.Find("

")!

=-1)

m_bDirectory=TRUE;

else

m_bDirectory=FALSE;

if(strLine.GetLength()<40)

returnFALSE;

m_strName=strLine.Mid(39);

m_strDate=strLine.Left(18);

m_strName.TrimLeft();

m_strName.TrimRight();

returnTRUE;

}

m_bSec=0;

for(inti=0;i<9;i++){

ch=strLine.GetAt(i);

if(ch=='-')

m_bSec|=0x01;

m_bSec<<=1;

}

m_strSec=strLine.Mid(1,9);

intndx=strLine.Find(':

');

if(ndx==-1){

if(strLine.GetLength()>56)

ndx=51;

else

returnFALSE;

}

m_index=ndx;

m_strName=strLine.Mid(ndx+3);

m_strName.TrimLeft();

m_strName.TrimRight();

m_strDate=strLine.Mid(ndx-9,12);

returnTRUE;

}

(二)客户端运行后的界面

图2

上面的图是运行后在修改了用户名和密码,查出所需要的文件的I盘和文件名。

客户端运行后看到的的服务器端地址是所用电脑的

(三)FTP服务器端代码

1.Socket编程中的Server()函数

UINTServerThread(LPVOIDlpParameter)

{

SOCKETsListen,sAccept;

SOCKADDR_INinetAddr;

DWORDdwFlags;

DWORDdwRecvBytes;

CServer*server=(CServer*)lpParameter;

2.创建第一个手动重置对象

if((g_events[0]=WSACreateEvent())==WSA_INVALID_EVENT)

{

printf("错误:

WSACreateEventfailedwitherror%d\n",WSAGetLastError());

return0;

}

3.创建一个线程处理请求

AfxBeginThread(ProcessTreadIO,(LPVOID)server);

if(CreateThread(NULL,0,ProcessTreadIO,(void*)server,0,&dwThreadId)==NULL)

{

printf("错误:

CreateThreadfailedwitherror%d\n",GetLastError());

return0;

}

g_dwEventTotal=1;

while(!

server->m_bStop)

{

//处理入站连接

if((sAccept=accept(sListen,NULL,NULL))==INVALID_SOCKET)

{

printf("错误:

acceptfailedwitherror%d\n",WSAGetLastError());

return0;

}

//回传欢迎消息

if(!

server->WelcomeInfo(sAccept))break;

//设置ftp根目录

if(!

SetCurrentDirectory(server->m_Directory))break;

4.创建一个新的SOCKET_INF结构处理接受的数据socket.

if((g_sockets[g_dwEventTotal]=(LPSOCKET_INF)

GlobalAlloc(GPTR,sizeof(SOCKET_INF)))==NULL)

{

printf("错误:

GlobalAlloc()failedwitherror%d\n",GetLastError());

return0;

}

5.初始化新的SOCKET_INF结构

charbuff[DATA_BUFSIZE];memset(buff,0,DATA_BUFSIZE);

g_sockets[g_dwEventTotal]->wsaBuf.buf=buff;

g_sockets[g_dwEventTotal]->wsaBuf.len=DATA_BUFSIZE;

g_sockets[g_dwEventTotal]->s=sAccept;

memset(&(g_sockets[g_dwEventTotal]->o),0,sizeof(OVERLAPPED));

g_sockets[g_dwEventTotal]->dwBytesSend=0;

g_sockets[g_dwEventTotal]->dwBytesRecv=0;

g_sockets[g_dwEventTotal]->nStatus=WSA_RECV;//接收

6.下载数据的有关代码

//已经有数据传递

if(pSI->nStatus==WSA_RECV)

{

……………..

{

if(!

g_bLoggedIn)

{

if(server->LoginIn(pSI)==LOGGED_IN)

g_bLoggedIn=TRUE;

}

else

{

if(server->DealCommand(pSI)==FTP_QUIT)

continue;

}

//缓冲区清除

memset(pSI->buffRecv,0,sizeof(pSI->buffRecv));

pSI->dwBytesRecv=0;

}

}

else

{

pSI->dwBytesSend+=dwBytesTransferred;

}

//继续接收以后到来的数据

if(server->RecvReq(pSI)==-1)

return-1;

}

return0;

}

………………………….

//接受数据

intCServer:

:

RecvReq(LPSOCKET_INFpSI)

{

staticDWORDdwRecvBytes=0;

pSI->nStatus=WSA_RECV;

…………

return0;

}

7.取得文件列表信息,并转换成字符串

BOOLbDetails=strstr(szCmd,"LIST")?

TRUE:

FALSE;

charbuff[DATA_BUFSIZE];

UINTnStrLen=FileListToString(buff,sizeof(buff),bDetails);

if(!

bPasv)

………………

if(ReadFileToBuffer(szFile,buff,nFileSize)==(DWORD)nFileSize)

{

//处理DataFTP连接

Sleep(10);

if(bPasv)

{

DataSend(sAccept,buff,nFileSize);

closesocket(sAccept);

}

…………………

(四)FTP服务器端运行后的界面

图3

上面得图是在添加用户名等,为了能下载自己的文件。

端口设定为21是固定的。

下面的图是添加用户后在点击HESY用户和开始服务后所得界面。

图4

四、调试结果

在点击开始服务后就转到客户端运行所得界面上,然后点击CONNECT会连接到服务器端,会登陆到用户名以及所需要下载的文件。

图5

运行环境硬件环境:

CPU的主频在200MHz以上、内存在64MB以上。

软件平台:

操作系统为Windows98/Me/NT/2000/XP(推荐使用Windows2000/XP),调试环境为VisualC++6.0及其以上版本(如果不做说明,则默认为VisualC++6.0)。

 

程序主要部分流程图

 

三、自选项目的项目报告

1、问题陈述

2、背景知识

3、 动机

4、你所做的工作

5、系统描述

6、打算进行的工作或改进

问题陈述

1)了解大型网络规划

2)了解大型网络调试步骤

3)了解大型网络调试技能

背景知识

某高校随着学校教学和学生网上应用的增长,校园网以光纤连接了学校近70栋楼宇,覆盖了90%的教学办公场所和75%的学生宿舍,共有2万个网络端口,其中约有1.2万多个网络端口连接了网络设备,共接入交换机6000多台,有固定用户6000多人。

动机

由于原有设备已经无法满足当前的需求,所以该校觉得从新规划设计校园网,并提出如下需求:

1)要适应学校的网络特点要求:

用户数量庞大,网络应用复杂,不能再终端上限制网络用户行为,只能在设备上解决网络问题。

2)要能够达到轻载要求:

低负载,高带宽,最简单,最有效。

3)要具有先进的技术性:

支持线速转发,具备高密度的万兆端口,核心设备支持T级别以上的背板设计,硬件实现ACLQOS组播等功能。

4)要稳定、可靠,确保物理层、链路层、网络层、病毒环境下的稳定、可靠。

5)要有健壮的安全,不以牺牲网络性能为代价,实现病毒和攻击的防护、用户接入控制、路由协议安全。

6)要易于管理:

具备网络拓扑发现、网络设备集中管理、性能监督、分类查看管理事件的能力。

7)要实现弹性扩展:

包括背板带宽、交换容量、转发能力、端口密度、业务能力的可扩展。

相关设备:

出口设备RG-wall100一台

核心设备s6896e2台

汇聚设备s3550-242台

接入设备s2126G4台

主机8台

 

网络拓扑结构:

网络拓扑需求:

1)实现双核心网络冗余,sw3A、SW3B、SW2A、SW2B间创建ospf区域类型,区域号为AREA0

2)为实现网络的安全性,sw3A、SW3B、SW2A、SW2B的NATIVEvlan为VLAN493

3)在SW2A下创建VLAN10,VLAN20,VLAN30分别把PC1、PC4,PC2、PC5,PC3、PC6加入者三个VLAN。

同样,在SW2B下创建VLAN50,VLAN60,VLAN70分别把PC7、PC10,PC8、PC10,PC9、PC11加入者三个VLAN。

4)在SW3A和SW3B上配置路由接口,使他们之间可以传递路由信息。

5)在SW2A和SW2B上创建SVI,并配置IP地址。

6)实现全网全通

关键配置:

Sw3A:

hostnamesw3A

!

interfaceFastEthernet0/1

switchporttrunknativevlan493

switchportmodetrunk

!

interfaceFastEthernet0/2

switchporttrunknativevlan493

switchportmodetrunk

!

interfaceFastEthernet0/5

noswitchport

ipaddress192.168.128.1255.255.255.248

!

interfaceVlan114

ipaddress192.168.128.45255.255.255.248

!

interfaceVlan116

ipaddress192.168.128.67255.255.255.248

ipospfcost60

!

routerospf1

router-id3.3.3.3

network192.168.128.00.0.0.255area0

end

SW3B:

hostnameSW3B

!

interfaceFastEthernet0/1

switchporttrunknativevlan493

switchportmodetrunk

!

interfaceFastEthernet0/2

switchporttrunknativevlan493

switchportmodetrunk

!

interfaceFastEthernet0/5

noswitchport

ipaddress192.168.128.2255.255.255.248

!

terfaceVlan124

ipaddress192.168.129.45255.255.255.248

ipospfcost60

!

interfaceVlan126

ipaddress192.168.129.67255.255.255.248

!

routerospf1

router-id4.4.4.4

log-adjacency-changes

network192.168.0.00.0.255.255area0

!

end

Sw2A:

hostnameSW2A

!

interfaceFastEthernet0/1

switchportaccessvlan10

switchporttrunknativevlan493

switchportmodetrunk

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1