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

计算机网络课程设计报告

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

计算机网络课程设计报告

课程计算机网络课程设计

实验名称1 ______ping程序设计_________实验名称2 文件传输协议的简单设计与实现_ 专业班级网络工程10(1)班

姓名项仲钰

学号 3110001352

2012 年 12 月 20 日

目录

一PING

1.实验目的和要求 (3)

2.实验环境 (3)

3.程序的实现方法和方案 (4)

3.1ping原理 (4)

3.2.设计方案 (4)

4. 程序源代码 (5)

5.实验数据、结果分析 (9)

6.思考题 (9)

二FTP

1.FTP实验目的 (10)

2 实验内容和要求 (10)

3 文件传输协议(FTP)的实现原理 (10)

3.1主要函数声明 (10)

3.1.1服务器端 (10)

3.1.2客户端 (16)

4 结果分析 (22)

5思考题 (24)

三参考文献 (25)

PING

一、实验目的和要求

实验目的:

PING程序是我们使用的比较多的用于测试网络连通性的程序。PING程序基于ICMP,使用ICMP的回送请求和回送应答来工作。由计算机网络课程知道,ICMP是基于IP的一个协议,ICMP包通过IP的封装之后传递。

课程设计中选取PING程序的设计,其目的是希望同学们通过PING程序的设计,能初步掌握TCP/IP网络协议的基本实现方法,对网络的实现机制有进一步的认识。

实验内容和要求:

1、RAW模式的SOCKET编程

PING程序是面向用户的应用程序,该程序使用ICMP的封装机制,通过IP协议来工作。为了实现直接对IP和ICMP包进行操作,实验中使用RAW模式的SOCKET编程。

熟悉SOCKET的编程,包括基本的系统调用如SOCKET、BIND等;

2、具体内容

1.定义数据结构

需要定义好IP数据报、ICMP包等相关的数据结构;

2.程序实现

在WINDOWS环境下实现PING程序;

3.程序要求

在命令提示符下输入:

PING ΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ

其中ΧΧΧ为目的主机的IP地址,不要求支持域名,对是否带有开关变量也不做要求。不带开关变量时,要求返回4次响应。

返回信息的格式:

REPLY FROM ΧΧΧ.ΧΧΧ.ΧΧΧ.ΧΧΧ

REQUEST TimeOut (无法PING通的情况)。

二、实验环境

Pc机一台(可以与其他机联通或者可以上网)

操作系统为windows xp

软件为vc6.0

Windows 环境下

三 ping的实现方法和方案:

3.1 ping的原理: Ping命令不仅存在Windows系统上,在Unix系统上也有Ping命令,其实对其他只要是支持网络的操作系统,一般也都存在该命令。Ping命令的主要作用是检测网络上主机的状态。要是在几年前,我们还可以下如此断言,如果不能Ping通某台主机,那么也就无法Telnet或者FTP到这台主机,但随着互联网的安全意识的增加,出现了访问控制清单的路由器和防火墙,由于ICMP报文是在IP数据包中被传输的,而到达一台主机不仅取决于IP层是否到达,还取决于使用何种协议和端口。譬如金山公司的金山网镖就可以禁止其他机器Ping通这台主机。所以在现在的情况下,即时Ping不通某台机器,但也有可能FTP

登陆到这台机器,或者通过HTTP来浏览这台机器上的Web页面

定义IP数据报、ICMP包等相关的数据结构如下:

// IP 头结构

typedef struct iphdr {

unsigned int h_len:4; // 首部长度

unsigned int version:4; // IP版本

unsigned char tos; // 服务类型

unsigned short total_len; // 包总长度

unsigned short ident; //标识符

unsigned short frag_and_flags; // 标志

unsigned char ttl;// 生存周期

unsigned char proto; // protocol (TCP, UDP etc) 协议类型

unsigned short checksum; //IP检验和

unsigned int sourceIP;//源地址IP

unsigned int destIP;//目的地址IP

}IpHeader;

// ICMP 头结构

typedef struct icmphdr {

BYTE i_type;//类型

BYTE i_code; // 代码类型

USHORT i_cksum;//检验和

USHORT i_id;//地址

USHORT i_seq;//发送顺序

/* This is not the std header, but we reserve space for time */

ULONG timestamp;//接受时间

}IcmpHeader;

3.2设计方案:

ping[-n count] [-r count]

-n count

发送 count 指定的 ECHO 数据包数。默认值为 4。

-r count

在"记录路由"字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。

Ping的返回信息有"Request Timed Out"、"Destination Net Unreachable"和"Bad IP address"还有"Source quench received"。

"Request Timed Out"这个信息表示对方主机可以到达到TIME OUT,这种情况通常是为对方拒绝接收你发给它的数据包造成数据包丢失。大多数的原因可能是对方装有防火墙或已下线。

"Destination Net Unreachable"这个信息表示对方主机不存在或者没有跟对方建立连接。这里要说明一下"destination host unreachable"和"time out"的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其它原因不可到达,这时候会出现"time out",如果路由表中连到达目标的路由都没有,那就会出现"destination host unreachable"。

"Bad IP address" 这个信息表示你可能没有连接到DNS服务器所以无法解析这个IP地

址,也可能是IP地址不存在。

"Source quench received"信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

四、程序源代码

主函数代码:

/主函数

// 设置产生ICMP报文,增加可以选择的IP选项首部

// 发送ICMP回显请求报文到目的主机,并且为每个

// 报文设置一个生存时间,以防止我们不能接受到

// 回显应答报文,当收到一个回显应答报文时检测代码

int main(int argc, char **argv)

{

char *icmp_data = NULL;//设置ICMP包数据为空

char *recvbuf = NULL;//创建接受缓存并赋值

USHORT seq_no = 0;//设置接收顺序编号

struct sockaddr_in dest = {'\0'};//设置目的地址为空

struct sockaddr_in from= {'\0'};//设置发送地址为空

struct hostent *hp = NULL;//设置首部为空

int bread = 0;

int ret = 0;

int fromlen = sizeof(from);//计算发送包的长度

int timeout = 1000;//设置生存时间

unsigned int addr = 0;

WSADATA wsaData;//创建一个网络编程套接字

SOCKET sockRaw = INVALID_SOCKET;//设置初始套接字为空

IpOptionHeader ipopt = {'\0'};//设置IP选项首部为空

if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)//判断是否成功创建版本2.2的网络套接字

{

printf("WSAStartup() failed: %d\n", GetLastError());//打印创建错误信息

return 2;

}

ValidateArgs(argc, argv);//调用验证IP选项首部函数

sockRaw = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);//创建发送套接字

if (sockRaw == INVALID_SOCKET)//判断是否发送成功

{

printf("WSASocket() failed: %d\n", WSAGetLastError());//打印失败信息

return 3;

}

if (bRecordRoute)//判断是否有记录IP路由的选项

{

ZeroMemory(&ipopt, sizeof(ipopt));//开辟一个sizeof(ipopt)长度的内存

ipopt.code = IP_RECORD_ROUTE; // 设置记录路由选项值

ipopt.ptr = 4; // 指到第一个记录填写IP地址的位置

ipopt.len = 39; //IP选项首部程度

ret = setsockopt(sockRaw, IPPROTO_IP, IP_OPTIONS,(char *)&ipopt, sizeof(ipopt));

//设置套接字选项

if (ret == SOCKET_ERROR)//判断是否成功创建套接字

{

printf("setsockopt(IP_OPTIONS) failed: %d\n",//打印失败信息

WSAGetLastError());

}

}

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

//设置一个接收的设置生存周期的套接字if(bread == SOCKET_ERROR)//判断套接字是否创建成功

{

printf("setsockopt(SO_RCVTIMEO) failed: %d\n",WSAGetLastError());//打印错误信息

return -1;

}

timeout = 1000;

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

//设置一个发送时限的套接字

if (bread == SOCKET_ERROR)//判断创建是否成功

{

printf("setsockopt(SO_SNDTIMEO) failed: %d\n",WSAGetLastError());

return -1;

}

memset(&dest, 0, sizeof(dest));//创建一个sizeof(dest)的内存空间

dest.sin_family = AF_INET;//设置发送主机系统的发送套接字

if ((dest.sin_addr.s_addr = inet_addr(lpdest)) == INADDR_NONE)//把当前地址赋值给发送地址

{

if ((hp = gethostbyname(lpdest)) != NULL)//gethostbyname返回一个指向hostent 数据结构的指针:

{

memcpy(&(dest.sin_addr), hp->h_addr, hp->h_length);//创建首部长度的内存存储发送地址

dest.sin_family = hp->h_addrtype;//设置系统主机系统套接字

printf("dest.sin_addr = %s\n", inet_ntoa(dest.sin_addr));//打印发送地址

}

else

{

printf("gethostbyname() failed: %d\n",WSAGetLastError());//打印失败信息

return -1;

}

}

// Create the ICMP packet

//

datasize += sizeof(IcmpHeader);

icmp_data = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, MAX_PACKET);

//为icmp_data分配内存

recvbuf = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, MAX_PACKET);

//为recvbuf分配内存

if (!icmp_data)//判断分配内存是否成功

{

printf("HeapAlloc() failed: %d\n", GetLastError());//打印失败信息

return -1;

}

memset(icmp_data,0,MAX_PACKET);//把icmp_data内存清空

FillICMPData(icmp_data,datasize);//调用函数填写ICMP包数据

while(1)//用循环控制发送数量

{

static int nCount = 0;//设置静态变量,记录发送报文的数量

int bwrote;

if (nCount++ == 4)//判断是否已经发送了4个报文,是的话退出整个循环

{

break;

}

((IcmpHeader*)icmp_data)->i_cksum = 0;//先把ICMP的检验和置零

((IcmpHeader*)icmp_data)->timestamp = GetTickCount();//获取当前时间

((IcmpHeader*)icmp_data)->i_seq = seq_no++;//发送顺序加一

((IcmpHeader*)icmp_data)->i_cksum =checksum((USHORT*)icmp_data, datasize); //计算检验和

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

创建发送套接字

if (bwrote == SOCKET_ERROR)//判断错误

{

if (WSAGetLastError() == WSAETIMEDOUT)

{

printf("timed out\n");//判断超时错误

continue;

}

printf("sendto() failed: %d\n", WSAGetLastError());//判断发送失败错误

return -1;

}

if (bwrote < datasize)//比较发送数据报的大小

{

printf("Wrote %d bytes\n", bwrote);//打印发送数据报的大小

}

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

//创建接受套接字

if (bread == SOCKET_ERROR)//判断失败原因

{

if (WSAGetLastError() == WSAETIMEDOUT)

{

printf("timed out\n");//判断打印超时错误

continue;

}

printf("recvfrom() failed: %d\n", WSAGetLastError());//判断接收失败

return -1;

}

DecodeICMPHeader(recvbuf, bread, &from);//查看ICMP回显应答报文打印相关信息

Sleep(1000);//等待1秒重复发送ICMP回显请求报文

}

if (sockRaw != INVALID_SOCKET)

{

closesocket(sockRaw);//判断套接字进程不为空时关闭进程

}

HeapFree(GetProcessHeap(), 0, recvbuf);//释放存放接收信息的内存

HeapFree(GetProcessHeap(), 0, icmp_data);//释放icmp_data内存

WSACleanup();注销Windows Sockets

return 0;

}

五、实验数据、结果分析

当ping127.0.0.1或者主机的时候就会默认循环次数4次。然后数据包大小为32。加上头文件32总共64个字节。丢包率为0。可以拓展功能还可以自定义循环次数和数据大小。

六、思考题

1.本题目只要求实现PING的一些简单功能,在Windows命令行模式下,输入“Ping”回车,

查看PING的所有功能,考虑如何实现这些功能。

答:PING的主要功能是用来检测网络的连通情况和分析网络速度。

使用Ping检查连通性有五个步骤:

1. 使用ipconfig /all观察本地网络设置是否正确;

2. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是为了检查本地的TCP/IP协

议有没有设置好;

3. Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误;

4. Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检

查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)

5. Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。

2.如果一台主机能ping通自己但网络不通,可能是什么原因?

答:DNS设置的不对,代理没有设置好,IP没有配置好,再或者就是中了病毒,arp病毒, 还有就是有可能有人用了一些网管软件

3.考虑Netstat、Traceroute、ipconfig等网络测试应用程序的工作原理以及使用。

答:netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。

该命令的一般格式为:

netstat 一般有多个命令。

Traceroute最简单的基本用法是:traceroute hostname

ipconfig--当使用IPConfig时不带任何参数选项,那么它为每个已经配置了的接口显示IP 地址、子网掩码和缺省网关值

FTP

一、实验目的

文件传送是各种计算机网络都实现的基本功能,文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。

本实验的目的是,学会利用已有网络环境设计并实现简单应用层协议,掌握TCP/IP 网络应用程序基本的设计方法和实现技巧。

二、实验内容和要求

1、实验内容

我们的计算机网络实验环境建立在TCP/IP 网络体系结构之上。各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。实验室各计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。本实验要求学生利用这些功能,设计和实现一个简单的文件传送协议。

2、具体要求

用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),该程序应能实现下述命令功能:

get:取远方的一个文件

put:传给远方一个文件

pwd:显示远主当前目录

dir:列出远方当前目录

cd :改变远方当前目录

?:显示你提供的命令

quit :退出返回

三文件传输协议(FTP)的实现原理

3.1主要函数说明:

3.1.1服务器端

由于要实现多线程,必须把功能独立出来,且包装成线程,首先建一个监听线程,主要负责接入客户,并启动另一个客户线程。

具体程序如下:(其中包括一些说明)

//包含需要用到的头文件

#include "Winsock.h"

#include "windows.h"

#include "stdio.h"

#include "time.h"

#include

#define RECV_PORT 2000

#define SEND_PORT 3000

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

SOCKET sock;

char filename[20];

sockaddr_in ServerAddr;

char rbuff[1024];

char sbuff[1024];

char IIP[20];

//处理help命令

void help()

{

cout<<"*********************COMMANDS help***********************"<

<<" ?或者'help'...........显示你提供的所有命令 "<

<<" dir...................显示远方当前目录的文件 "<

<<" cd....................改变远方当前目录和路径 "<

<<" cd的用法(进入下级目录): 'cd 路径名' "<

<<" cd的用法(进入上级目录): 'cd ..' "<

<<" get...................下载(接受)文件 "<

<<" get的用法: 'get 文件名' "<

<<" put..................上传(发送)文件 "<

<<" put的用法:'put 文件名' "<

<<" quit...................退出 "<

<<"*****************************************************"<

}

//处理dir命令

void list(SOCKET sockfd)

{

int nRead;

while(true)

{

nRead=recv(sock,rbuff,1024,0);

if(nRead==SOCKET_ERROR)

{

printf("read response error!\n");

exit(1);

}

if(nRead==0)//数据读取结束

break;

//显示数据

rbuff[nRead]='\0';

printf("%s",rbuff);

}

}

int SendFile(SOCKET datatcps,FILE* file)

{

printf("sending file data..");

for(;;)

//从文件中循环读取数据并发送客户端

{

int r=fread(sbuff,1,1024,file);

if(send(datatcps,sbuff,r,0)==SOCKET_ERROR) {

printf("lost thr connection to client!\n"); closesocket(datatcps);

return 0;

}

if(r<1024)//文件传送结束

break;

}

closesocket(datatcps);

printf("done\n");

return 1;

}

//初始化scoket

DWORD StartSock()

{WSADATA WSAData;

char a[20];

memset(a,0,20);

if(WSAStartup(MAKEWORD(2,2),&WSAData)!=0) {printf("sock init fail!\n");

return (-1);

}

if(strncmp(IIP,a,20)==0){

printf("请输入连接的主机号:");

scanf("%s",&IIP);}

ServerAddr.sin_family=AF_INET;

ServerAddr.sin_addr.s_addr=inet_addr(IIP); ServerAddr.sin_port=htons(RECV_PORT);

return(1);

//创建套接字

DWORD CreateSocket()

{

sock=socket(AF_INET,SOCK_STREAM,0);

if(sock==SOCKET_ERROR)

{printf("sock create fail! \n");

WSACleanup();

return(-1);

}

return(1);

}

//发送连接请求

DWORD CallServer() {

CreateSocket();

if (connect(sock,(struct sockaddr *)&ServerAddr,sizeof(ServerAddr))==SOCKET_ERROR)

{

printf("Connect fail \n");

memset(IIP,0,20);

return(-1);

}

return(1);

}

//发送命令

DWORD TCPSend(char data[]) {

int length;

length=send(sock,data,strlen(data),0);

if(length<=0)

{

printf("send data error ! \n");

closesocket(sock);

WSACleanup();

return(-1);

}

return(1);

}

//主程序

int main()

{char messge1[10];

char messge2[20];

char order[30];

order[0]='\0';

char buff[80];

FILE *fd;

FILE *fd2;

int count;

int sin_size=sizeof(ServerAddr);

StartSock();

if(CallServer()==-1) return main();

printf("connect ok! \n");

printf("Input order:\n");

memset(buff,0,80);

memset(messge2,0,20);

memset(order,0,30);

memset(messge1,0,10);

memset(rbuff,0,1024);

memset(sbuff,0,1024);

scanf("%s",&messge1);

if(strncmp(messge1,"get",3)==0)

scanf("%s",&messge2);

if(strncmp(messge1,"put",3)==0)

scanf("%s",&messge2);

if(strncmp(messge1,"cd",2)==0)

scanf("%s",&messge2);

strcat(order,messge1);

strcat(order," ");

strcat(order,messge2);

sprintf(buff,order);

//help和?

printf("\n");

if(strncmp(messge1,"help",4)==0){

help();}

if(strncmp(messge1,"?",1)==0){

help();}

if(strncmp(messge1,"quit",4)==0){

closesocket(sock);

WSACleanup();

return 0; }

TCPSend(buff);

recv(sock,rbuff,1024,0);

printf(rbuff);

if(strncmp(rbuff,"get",3)==0)

{

fd=fopen(messge2,"wb");//使用二进制方式

if(fd==NULL)

{

printf("open file %s for weite failed!\n",messge2); return 0;

}

while((count=recv(sock,rbuff,1024,0))>0){

fwrite(rbuff,sizeof(char),count,fd);}

fclose(fd);

}//get

if(strncmp(rbuff,"put",3)==0)

{

strcpy(filename,rbuff+9);

fd2=fopen(filename,"rb");

if(fd2){

if(!SendFile(sock,fd2)){

printf("send failed!");

return 0;}

fclose(fd2);}

else//打开文件失败

{

strcpy(sbuff,"can't open file!\n");

if(send(sock,sbuff,1024,0))

return 0; }

}//put

if(strncmp(rbuff,"dir",3)==0)

{

list(sock);

}//dir

if(strncmp(rbuff,"cd",2)==0){

}

closesocket(sock);

WSACleanup(); //cd

return main();

}//main

3.1.2客户端

先连接服务器,接着发送命令1(给我文件信息),其中包括文件长度,名字等,然后根据长度决定分几个线程下载,并初使化下载进程,接着发送命令2(可以给我传文件了),并记录文件进程。最后,收尾。

//程序要用到的一些头文件以及定义的结构

#include "Winsock.h"

#include "windows.h"

#include "stdio.h"

#define RECV_PORT 2000

#define SEND_PORT 3000

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

SOCKET sock,sock1,sockdir,sockput,sockget;

sockaddr_in ServerAddr;

sockaddr_in ClientAddr;

int Addrlen;//地址长度

char filename[20];//文件名

char order[10];//命令

char rbuff[1024];//接收缓冲区

char sbuff[1024];//发送缓冲区

//初始化winsock

DWORD StartSock()

{WSADATA WSAData;

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

{printf("sock init fail!\n");

return (-1);

}

return(1);

}

DWORD CreateSocket()

{

sock=socket(AF_INET,SOCK_STREAM,0);/* 建立套接字 */

if(sock==SOCKET_ERROR)

{

printf("sock create fail ! \n");

WSACleanup();

return(-1);

}

ServerAddr.sin_family=AF_INET;

ServerAddr.sin_addr.s_addr=htonl(INADDR_ANY); /* 任意网络接口 */

ServerAddr.sin_port=htons(RECV_PORT);

if(bind(sock,(struct sockaddr FAR *)&ServerAddr,sizeof(ServerAddr))==SOCKET_ERROR)

{

printf("bind is the error");

return(-1);

}

return (1);

}

//发送文件

int SendFileRecord(SOCKET datatcps,WIN32_FIND_DATA *pfd)

//used to send response to client

{

char filerecord[MAX_PATH+32];

FILETIME ft;

FileTimeToLocalFileTime(&pfd->ftLastWriteTime,&ft);

SYSTEMTIME lastwtime;

FileTimeToSystemTime(&ft,&lastwtime);

char *dir=pfd->dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY?"

":" ";

sprintf(filerecord,"%04d-%02d-%02d %02d:%02d %5s %10d %-20s\n",

lastwtime.wYear,

lastwtime.wMonth,

lastwtime.wDay,

lastwtime.wHour,

lastwtime.wMinute,

dir,

pfd->nFileSizeLow,

pfd->cFileName);

if(send(datatcps,filerecord,strlen(filerecord),0)==SOCKET_ERROR)

{

printf("Error occurs when sending file list!\n");

return 0;

}

return 1;

}

int SendFileList(SOCKET datatcps)

{

HANDLE hff;

WIN32_FIND_DATA fd;

//搜索文件

hff=FindFirstFile("*",&fd);

if(hff==INVALID_HANDLE_VALUE)//发生错误

{

const char *errstr="can't list files!\n";

printf("list file error!\n");

if(send(datatcps,errstr,strlen(errstr),0)==SOCKET_ERROR) {

printf("error occurs when senging file list!\n");

}

closesocket(datatcps);

return 0;

}

BOOL fMoreFiles=TRUE;

while(fMoreFiles)

{

//发送此项文件信息

if(!SendFileRecord(datatcps,&fd))

{

closesocket(datatcps);

return 0;

}

//搜索下一个文件

fMoreFiles=FindNextFile(hff,&fd);

}

closesocket(datatcps);

return 1;

}

int SendFile(SOCKET datatcps,FILE* file)

{

printf("sending file data..");

for(;;)

//从文件中循环读取数据并发送客户端

{

int r=fread(sbuff,1,1024,file);

if(send(datatcps,sbuff,r,0)==SOCKET_ERROR)

{

printf("lost the connection to client!\n");

closesocket(datatcps);

return 0;

}

if(r<1024)//文件传送结束

break;

}

closesocket(datatcps);

printf("done\n");

return 1;

}

//连接

DWORD ConnectProcess()

{

Addrlen=sizeof(sockaddr_in);

if(listen(sock,5)<0) //连接数?

{

printf("Listen error");

return(-1);

}

printf("Listening...\n");

for(;;)

{

sock1=accept(sock,(struct sockaddr FAR *)&ClientAddr,&Addrlen);

for(;;)

{

memset(rbuff,0,1024);

memset(sbuff,0,1024);

if(recv(sock1,rbuff,1024,0)<=0)

{

break;

}printf("\n");

printf("获取并执行的命令为:");

printf(rbuff);

if (strncmp(rbuff,"get",3)==0)

{

strcpy(filename,rbuff+4);printf(filename);

FILE *file;

//处理下载文件请求

file=fopen(filename,"rb");//打开下载的文件

if(file)

{

sprintf(sbuff,"get file %s\n",filename);

if(!send(sock1,sbuff,1024,0))

{fclose(file);

return 0;}

else

{//创建额外数据连接传送数据

if(!SendFile(sock1,file))

return 0;

fclose(file);}

}//file

else//打开文件失败

{

strcpy(sbuff,"can't open file!\n");

if(send(sock1,sbuff,1024,0))

return 0;

} //lost

}//get

if(strncmp(rbuff,"put",3)==0){

FILE *fd;int count;

strcpy(filename,rbuff+4);

fd=fopen(filename,"wb");

if(fd==NULL){

printf("open file %s for write failed!\n",filename);return 0;} sprintf(sbuff,"put file %s",filename);

if(!send(sock1,sbuff,1024,0))

{ fclose(fd);

return 0;}

while((count=recv(sock1,rbuff,1024,0))>0)

fwrite(rbuff,sizeof(char),count,fd);

fclose(fd);

}//put

if(strncmp(rbuff,"dir",3)==0){

strcpy(sbuff,rbuff);

send(sock1,sbuff,1024,0);

SendFileList(sock1);}

if(strncmp(rbuff,"cd",2)==0){

strcpy(filename,rbuff+3);

计算机网络课程设计题目

计算机网络课程设计 一. 中小型千兆网吧组建 内容及要求: 用BOSON软件实现小规模网络的模拟。熟悉对路由器和交换机的配置命令,调通网络,并通过实例深入理解网络基本工作原理及实现方法。学会网络构建、日常维护以及管理的方法,使学生掌握在信息化社会建设过程中所必须具备的计算机网络组网和建设所需的基本知识与操作技能,网吧包含100-200台上网的计算机。二.小型网络的组建 通过对网络的具体规划和组建,掌握网络互连设备的使用及工作原理;掌握IP地址的配置及数据传输过程和路由的选择。 具体要求如下: 1.使用模拟仿真软件,构建一个小型网络。要求使用路由器、交换机等网络互连设备。根据设计要求,选择网络类型。 2.分配和配置IP地址,要求配置内部网络地址。 3.对交换机、路由器等进行配置。 4.通过使用模拟仿真软件,模拟局域网间的数据通信过程。 5.分析通信过程中出现的问题,并加以解决。 6. 写出课程设计报告:设计目的、设计内容、设计方案、拓扑图、设备选型、方案报价、子网划分等内容。 (1)企业网络工程 (2)银行网络工程 (3)医院网络工程

(4)校园网网络工程 (5)大型机场信息网络工程 (6)邮电综合管理信息网 (7)某航空公司网络系统建设 (8)某市宽带信息网络 (9)证券交易网络系统 (10)学校以太网网络建设 三.Ping程序的设计与实现 设计的目的是使学生掌握网络层协议的原理及实现方法。设计内容,在给定的Ping程序的基础上做如下功能扩充: ●-h 显示帮助信息 ●-b 允许ping一个广播地址,只用于IPv4 ●-t 设置ttl值,只用于IPv4 ●-q 安静模式。不显示每个收到的包的分析结果,只在结束时,显示汇总结果 Ping命令的基本描述 Ping的操作是向某些IP地址发送一个ICMP Echo消息,接着该节点返回一个ICMP Echo reply消息。 ICMP消息使用IP头作为基本控制。IP头的格式如下 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version=4 IHL Internet头长 Type of Service = 0 Total Length IP包的总长度 Identification, Flags, Fragment Offset 用于IP包分段 Time to Live IP包的存活时长 Protocol ICMP = 1 Addresses 发送Echo消息的源地址是发送Echo reply消息的目的地址,相反,发送Echo

计算机网络基础与应用自我测试题

《计算机网络基础与应用》 模块一计算机网络基础 一、请在空白处填写合适的内容 1.计算机网络是将多个具有独立工作能力的计算机系统通过通信设备和线路由功能完善的网络软件实现资源共享和数据通信的系统。 2.计算机网络的发展分两阶段,即:面向终端的网络和计算机的网络。 3.计算机网络按分布距离分为:局域网、城域网和广域网。 4.局域网是指有限的地理范围内构作的计算机网络,它是计算机硬件和传输介质的结合,典型特征是位于一个建筑物或一个单位内。英文简称LAN。 5.在局域网中的计算机可分为两种角色。即:工作站和服务器。 6.从网络架构方法看,局域网有3种类型对等网、工作站服务器网络和无盘工作站。 7.目前网络中经常接触到的3个团体是ISO、ARPA和IEEE。 8.TCP/IP协议中,TCP是指传输控制协议,IP是指网际协议。 9.IEEE 802.3标准是关于有线以太网络的标准。 二、请从下面4个选项中选择一个比较合适的选项 1.下列哪方面是构作计算机网络不会涉及到的。(C ) A.计算机互联B.通信设备与传输介质 C.计算机性能与交换技术D.网络软件,通信协议和网络操作系统(NOS) 2.下列说法正确的是()。 A.远程网就是通常说的Internet B.城域网构作距离在10Km~100Km内C.局域网是速度最快的网络 D.局域网只是计算机硬件和传输介质的结合,不需要其他辅助的东西。 3.下列哪项不是局域网的特点(D ) A.网络的经营权和管理权属于某个单位B.通信处理一般由网卡完成 C.网络所覆盖的地理范围比较小D.所有通信都可用 4.局域网的基本组成部分中,下列哪项是没有的。(A ) A.网络基本结构B.计算机及智能型外围设备C.网络接口卡及电缆D.网络操作系统及有关软件 三、你认为以下的说法正确吗 1.计算机网络是计算机与通讯技术密切结合的结果。(对) 2.在所有的网络中,局域网的传输距离最小。(对) 四、请对以下问题进行分析或回复 1.计算机网络发展分几个阶段?各有什么特点? 答:第一阶段计算机网络是以单个计算机为中心的远程联机系统,它是由一台计算机和多个终端组成的应用系统,网络终端无数据处理能力,只作为数据的输入输出。第二阶段计算机网络是以多个主机通过通信线路互联起来协同工作的系统,主机之间不是直接用线路相连,而是接口报文处理机IMP转接后互联的。网络中互联的主机负责运行程序,提供资源共享。第三阶段计算机网络是具有统一的网络体系结构并遵循国际标准的开放式和标准化的网络。计算机网络开放标准化的产生,实现计算机的互联。第四阶段计算机网络从20世纪80年代末开始,局域网技术发展成熟,出现光纤及高速网络技术,整个网络发展成为以Internet为代表的互联网。计算机网络就是将多个具有独立

计算机网络心得体会

计算机网络心得体会 计算机网络心得体会一:计算机网络学习心得体会 如今已经是信息时代,作为主流信息工具的网络越来越重要,因此我选择了这门选修课程。 我个人对于电脑和网络是很感兴趣的,但由于学习的东西不多,经常是在玩游戏,真正运用到网络的技术性的东西实在少到可怜。象做博客,我只是会一般的做法,也能把它搞得与众不同,但我全然不知道其中的奥秘。象代码之类的东西,我以前只是耳闻,半点也不懂。学了这门课程后,虽然懂的不是很多,但已经不是什么都不知道的了,简单得运用一些代码还是会的,这也就行了。我并不要求学得很精深,毕竟我将来并不是干这行的。而制作网页的知识,学了一点,也会做一些简单的网页了,其实我觉得这就够了,我还没有想做自己的网页发布到网上的念头。但我不是说不要学习计算机网络技术,相反,我们学地越精深越好,我的观点只能代表我个人的想法,毕竟这个时代学得越多,活得更好的可能性就越大。只不过人的精力有限,只能学到你能承受的地步。如果精力旺盛,足够学一切技术,自然也没人反对。网络之中目前我最感兴趣的还是做博客,时不时写些自己的感悟或者转载些别人的好文章,上传一些漂亮的图片和朋友们分享,这让人感觉到难得的愉悦。好东西,大家一起分享才有意思。 计算机网络系统是一个集计算机硬件设备、通信设施、软件系统及数据处理能力为一体的,能够实现资源共享的现代化综合服务系统。计算机网络系统的组成可分为三个部分,即硬件系统,软件系统及网络信息系统。 1.硬件系统 硬件系统是计算机网络的基础。硬件系统有计算机、通信设备、连接设备及辅助设备组成,如图1.6.4所示。硬件系统中设备的组合形式决定了计算机网络的类型。下面介绍几种网络中常用的硬件设备。 ⑴服务器

计算机网络课程设计(华电)

课程设计报告 ( 2012--2013 年度第2学期) 名称:计算机网络课程设计题目:互联网模拟 院系:计算机系 班级:计科 学号: 学生姓名:华电老朱家 指导教师: 设计周数: 1周 成绩: 日期: 2014 年 6 月 28 日

《计算机网络》课程设计 任务书 一、目的与要求 1.目的 将网络基本原理及基本概念用于实际,将书本上抽象的概念与具体的实现技术结合起来,使学习深化,培养学生对基本原理的应用能力以及实际动手能力。 2.要求 独立完成课程设计题目以及课程设计报告。报告应包括设计思路、网络拓扑图、开发中遇到的问题以及解决方法。 二、主要内容 1.网络设备认知及基本配置操作 (1)了解路由器、交换机等网络设备结构。 (2)完成以下实验,掌握路由器、交换机等的配置方法,理解相关网络协议。 ①交换机的基本配置; ②路由器的基本操作; ③OSPF基本配置; ④RIP v2配置; ⑤静态路由配置; ⑥跨交换机实现VLAN; ⑦利用单臂路由实现VLAN间路由; ⑧广域网协议的封装。 2.互联网的模拟 (1)结合实验环境,提出模拟网络互联需求,设计并完成组网,要求尽最大可能利用实验资源。 ①网络物理拓扑结构设计及IP地址分配; ②网络逻辑拓扑结构设计; (2)网络设备配置实现 按步骤(1)所设计的网络拓扑进行设备连接并配置。配置内容包括路由选择协议OSPF配置,VLAN划分等,并进行测试。 3.基于模拟互联网的网络协议分析。在上面设计并实现的网络环境下,完成如下协议分析:

①以太网数据链路层帧格式分析; ②网络层分片;ICMP协议分析; ③ARP地址解析协议分析; ④TCP传输控制协议分析; ⑤FTP协议分析;HTTP协议分析。 三、进度计划 四、设计成果要求 1.网络配置拓扑图准确,配置结果测试成功; 2.网络协议分析准确; 2.课程设计报告格式规范,内容详实。 五、考核方式 考勤、验收和课程设计报告。 学生姓名: 指导教师: 2014年6月23日

计算机网络技术学习心得体会.doc

计算机网络技术学习心得体会 21世纪是一个信息经济时代,信息尤为珍贵;信息即为财富,随着信息技术的高速发展并迅速渗透到社会生活的各个方面,计算机日益成为人们学习、工作、生活不可缺少的基本工具, 计算机逐渐的代替了传统的书本、去做为一个信息的载体。为了保护好信息的安全性,所以学好计算机网络技术尤为重要。 算机网络技术是通信技术与计算机技术相结合的产物。计算机网络是按照网络协议,将地球上分散的、独立的计算机相互连接的集合。连接介质可以是电缆、双绞线、光纤、微波、载波或通信卫星。计算机网络具有共享硬件、软件和数据资源的功能,具有对共享数据资源集中处理及管理和维护的能力。 计算机网络可按网络拓扑结构、网络涉辖范围和互联距离、网络数据传输和网络系统的拥有者、不同的服务对象等不同标准进行种类划分。一般按网络范围划分为:(1)局域网(LAN);(2)城域网(MAN);(3)广域网(W AN)。局域网的地理范围一般在10千米以内,属于一个部门或一组群体组建的小范围网,例如一个学校、一个单位或一个系统等。广域网涉辖范围大,一般从几十千米至几万千米,例如一个城市,一个国家或洲际网络,此时用于通信的传输装置和介质一般由电信部门提供,能实现较大范围的资源共享。城域网介于LAN和W AN之间,其范围通常覆盖一个城市或地区,距离从几十千米到上百千米。 计算机网络由一组结点和链络组成。网络中的结点有两类:转接

结点和访问结点。通信处理机、集中器和终端控制器等属于转接结点,它们在网络中转接和交换传送信息。主计算机和终端等是访问结点,它们是信息传送的源结点和目标结点。 计算机网络技术实现了资源共享。人们可以在办公室、家里或其他任何地方,访问查询网上的任何资源,极大地提高了工作效率,促进了办公自动化、工厂自动化、家庭自动化的发展。 学好计算机网络技术尤为重要,进入大学以来,我们开展了计算机网络技术课程,我们尽可能的利用好学习时间,尽可能地学习更多的知识和能力,学会创新求变,以适应社会的需要。 知识更新是很快的,只有不断地学习,才能掌握最新的知识。因此,在以后的学习工作中,我还要继续学习、操作,熟练运用这些知识,不断完善和充实自己,争取做一个合格的当代大学生,将来做一名对社会有用的人。 不管是现在还是将来,我觉得每个大学生都应不断地加强学习,不断地给自己充电,才能不断的开拓进取,勇于创新,才不至于被社会淘汰。

计算机网络课程设计1要点

武汉理工大学华夏学院课程设计报告书 课程名称:计算机网络课程设计 题目: 系名: 专业班级: 姓名: 学号: 指导教师: 年月日

课程设计任务书 学生姓名:专业班级:学号 指导教师:工作单位: 设计题目:中型园区网络建设 初始条件: 1. 所要求的网络拓扑图如下所示: (自己截图) 2. 假定ISP服务提供商:武汉电信 3. 设备选型如拓扑图中所示。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.技术要求: 1.1.交换机之间配置trunk协议 1.2.划分vlan,建立HTTP/DNS服务器 1.3. 通过在三层交换机上建立vlan网关使vlan间通信 1.4 总公司和分公司之间配置静态路由,使得分公司可以访问总公司服务器 1.5.公网路由器模拟电信的城域网,运行OSPF路由协议。 1.6. 使用缺省路由,防止公网的路由条目传递到公司的网关路由器上。 1.7 总公司和分公司的网关配置NAT让内部的PC能够正常上网。 2.设计报告内容及格式要求: 2.1. 网络各节点具体配置步骤及测试结果; 2.2. 调试过程中出现的问题及相应解决办法; 2.3. 总体运行情况与结果分析讨论 2.4.个人对本次课程设计感想体会及建议; 注意:设计报告内容严禁与人雷同。 3. 设计报告格式要求: 课程设计说明书统一书写格式:

一、实训目的和基本要求 在学习了计算机操作系统、计算机网络等相关课程的基础上,开展网络工程技术实训。通过实训,可以让学生了解目前主流网络技术的应用;手动配置网络设备;在进行了该项实训后,可为学生进入社会,从事网络相关工作打好基础。 要求能够针对一个具体的要求,搭建一个网络。明确网络的拓扑结构、设备选型、设备连接、设备配置、IP地址分配、网络安全、网络管理等内容。如果设备条件有限,也可以使用路由器来完成网络的构建。 二、实训步骤 2.1 组建总公司局域网组网 2.1.1 网络拓扑图 摆出小型网络所需要的设备并把说有设备连接起来(相同设备用交叉线,不同设备用直通线,注意路由器和PC机属于同种设备用交叉线),网络拓扑图如图1.1。 图1.1

计算机网络与应用基础知识(复习用)

js1. 计算机网络是利用通信线路将地理位置分散的、具有独立功能的许多计算机系统或设备连接起来,按某种谢雨进行数据通信,以实现信息的传递和共享的系统。 2.计算机网络的分类:按使用目的可分为公用网、专用网和利用公用网组建的专用网;按交换方式可分为电路交换网、报文交换网、分组交换网和混合交换网;按网络拓扑结构可分为总线型、星型、环形、树形和混合型;按网络的地理范围可分为局域网、城域网、广域网和互联网。 3.计算机网络的功能:数据通信;资源共享;增加可靠性和实用性;负载均衡与分布式处理;集中式管理;综合信息服务。 4.网络体系结构:物理层;数据链路层;网络层;传输层;会话层;表示层;应用层。 5.网络协议的定义:保证网络中的各方能够正确、协调地进行通信,在数据交换和传输中必须遵守事先规定的准则,这些准则必须规定数据传输的格式、顺序及控制信息的内容,这个准则为网络协议。 6.网络协议由3要素组成:语法、语义、时序。 7.常见的协议由TCP/IP协议,IPX/SPX协议、NetBEUI协议等。 第二章 1.被传输的二进制代码成为数据。 2.信号是数据在传输过程中的电信号表示形式。 (以下非重点- -) 3.数据通信系统的基本通信模型:产生和发送信息的一段叫信源,接受信息的一端叫信宿。信源与信宿通过通信线路进行通信,在数据通信系统中,也将通信线路称为信道。 4.在数据通信系统中,传输模拟信号的系统称为模拟通信系统,而传输数字信号的系统称为数字通信系统。 5.模拟通信系统通常由信源、调制器、信道、解调器、信宿预计噪声源组成信源所产生的原始模拟信号一般经过调制再通过信道传输。到达信宿后,通过解调器将信号解调出来。 6.数字通信系统由信源、信源编码器、信道编码器、调制器、信道、解调器、信道译码器、信源译码器、信宿、噪声源以及发送端和接收端始终同步组成。、

计算机网络课程设计

计 算 机 工 程 学 院
课程设计报告
设计名称: 姓 名: 计算机网络课程设计 学 号:
专业班级: 系 (院) : 设计时间: 设计地点: 计算机工程学院 2013.12.23——2014.1.5 计算机网络技术室
指导教师评语:
成绩:
签名:
年 月 日

计算机网络课程设计报告

2
页,共
12

1.课程设计目的 计算机网络课程设计是计算机及相关专业的实践环节之一,是学习完《计算机网 络》课程后进行的一次全面的综合练习。其目的在于加深对 OSI 七层模型、TCP/IP 模型的各层功能和设计思想的理解,掌握组建计算机网络的基本技术,特别是网络规 划、路由器的基本配置,提高学生的应用能力和动手实践能力。
2.课程设计任务与要求:
任务: 以淮海工学院本部校园为背景,设计一个校园网方案。淮海工学院的本部分为办公区、教 学区和生活区三部分。现假设:办公区中各楼宇名为:教务处楼,党政办公楼,图书馆,计算机 系大楼、讲堂楼、机械楼、土木楼、海洋学院楼、大学生活动中心楼、教学主楼等,生活区中有 学生公寓区和教师住宅区及各食堂。假设办公区、教学区每个办公室、教室均预留 2 个信息点, 生活区每个房间预留 1 个信息点,全校使用预留的一个 B 类 Internet 地址 172.160.0.0,试根据本 部校园网的应用需求和管理需求、各建筑物的地理分布、确定信息点个数及信息点分布,设计出 本部的校园网方案。方案中应明确学院网管中心的位置,确定拓扑方案,进行 IP 地址规划,完成 设备选型,注明各种设备、设施和软件的生产商、名称、型号、配置与价格,并分别给出其价格 的出处(如网站等) ,基本确定方案的预算。 要求: (1)通过资料查阅和学习,了解园区网络规划、设计的一般方法。 (2)参考和研究一些公司和高校/企业园区网的规划和建设方案,结合《计算机网络》课程中 所学知识,积极完成设计任务。 (3)认真完成需求分析,并根据需求分析完成园区网络的总体方案设计,确定网络逻辑拓扑结 构和所采用的网络技术、主要设备的性能指标,进而完成设备的选型和经费预算。 (4)认真按时完成课程设计报告,课程设计报告内容包括:课程设计目的、设计任务与要求、 设计说明书、设计成果和设计心得五个部分,具体要求见设计报告模板。
3.课程设计说明书

计算机网络学习心得体会

计算机网络学习心得体会 如今已经是信息时代,作为主流信息工具的网络越来越重要,因此我选择了这门选修课程。我个人对于电脑和网络是很感兴趣的,但由于学习的东西不多,经常是在玩游戏,真正运用到网络的技术性的东西实在少到可怜。象做博客,我只是会一般的做法,也能把它搞得与众不同,但我全然不知道其中的奥秘。象代码之类的东西,我以前只是耳闻,半点也不懂。学了这门课程后,虽然懂的不是很多,但已经不是什么都不知道的了,简单得运用一些代码还是会的,这也就行了。我并不要求学得很精深,毕竟我将来并不是干这行的。而制作网页的知识,学了一点,也会做一些简单的网页了,其实我觉得这就够了,我还没有想做自己的网页发布到网上的念头。但我不是说不要学习计算机网络技术,相反,我们学地越精深越好,我的观点只能代表我个人的想法,毕竟这个时代学得越多,活得更好的可能性就越大。只不过人的精力有限,只能学到你能承受的地步。如果精力旺盛,足够学一切技术,自然也没人反对。网络之中目前我最感兴趣的还是做博客,时不时写些自己的感悟或者转载些别人的好文章,上传一些漂亮的图片和朋友们分享,这让人感觉到难得的愉悦。好东西,大家一起分享才有意思。计算机网络系统是一个集计算机硬件设备、通信设施、软件系统及数据处理能力为一体的,能够实

现资源共享的现代化综合服务系统。计算机网络系统的组成可分为三个部分,即硬件系统,软件系统及网络信息系统。1.硬件系统硬件系统是计算机网络的基础。硬件系统有计算机、通信设备、连接设备及辅助设备组成,如图1.6.4所示。硬件系统中设备的组合形式决定了计算机网络的类型。下面介绍几种网络中常用的硬件设备。⑴服务器服务器是一台速度快,存储量大的计算机,它是网络系统的核心设备,负责网络资源管理和用户服务。服务器可分为文件服务器、远程访问服务器、数据库服务器、打印服务器等,是一台专用或多用途的计算机。在互联网中,服务器之间互通信息,相互提供服务,每台服务器的地位是同等的。服务器需要专门的技术人员对其进行管理和维护,以保证整个网络的正常运行。⑵工作站工作站是具有独立处理能力的计算机,它是用户向服务器申请服务的终端设备。用户可以在工作站上处理日常工作,并随时向服务器索取各种信息及数据,请求服务器提供各种服务(如传输文件,打印文件等等)。⑶网卡网卡又称为网络适配器,它是计算机和计算机之间直接或间接传输介质互相通信的接口,它插在计算机的扩展槽中。一般情况下,无论是服务器还是工作站都应安装网卡。网卡的作用是将计算机与通信设施相连接,将计算机的数字信号转换成通信线路能够传送的电子信号或电磁信号。网卡是物理通信的瓶颈,它的好坏直接影响用户将

计算机网络课程设计题目和要求

计算机网络课程设计通过课程设计,使学生在对计算机网络技术与发展整体了解的基础上,掌握网络的主要种类和常用协议的概念及原理,初步掌握以TCP/IP协议族为主的网络协议结构,培养学生在TCP/IP协议和LAN、WAN上的实际工作能力;学会网络构建、网络日常维护以及网络管理的方法,使学生掌握在信息化社会建设过程中所必须具备的计算机网络组网和建设所需的基本知识与操作技能。运用网络工程和软件工程思想,按照需求分析、规划、设计、配置的基本流程,经历一个完整的网络工程过程,培养学生调查研究、查阅技术文献、资料、手册以及编写技术文档的能力,培养学生将理论知识应用于实践的能力。 一、格式要求及须知: (1)使用学院网站的课程设计模版,要求格式美观,字体及编号要求见表1。 表1 字体及编号要求

(2)参考文献:参考课本的参考文献格式(附录C)。但编号换成[1]、[2]……(3)附录:课程设计中的代码或得到的数据包等数据将作为该设计附件或附录,题目需要但没有的相应代码及数据包文件的将记整组不及格,需要重做。 (4)成绩记录:该设计成绩将记录到教务处成绩管理系统中。 (5)打印:经审查(发邮件到指导老师处或当面交流修改)后,方可打印、存档。打印后递送到指导老师的信箱。 (6)如发现两组设计雷同或抄袭互联网,该组重做! 二、任务完成形式: 交付课程设计说明书、设计作品(需要验收)。 设计作品指的是完整的源程序代码(对于第二类题目为仿真文件)。 课程设计说明书(纸质+电子版),内容包括:设计任务、需求分析、总体设计、详细设计(相应地给出关键的代码)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。 设计工作计划与进度安排: 根据所选题目,合理安排进度计划,总体上需要40个小时。以下仅供参考: 1. 原理知识 4小时 2. 程序设计技术 4小时 3. 开发环境与程序调试环境 4小时 4. 总体设计、关键环节的详细设计 8小时

计算机网络课程设计报告

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

《计算机网络课程设计》第一次在线作业

第一次在线作业 单选题 (共20道题) 收起 1.( 2.5分)大型系统集成项目的复杂性体现在技术、成员、环境、()四个方面。 ? ? ? ? 我的答案:D 此题得分:2.5分 2.(2.5分)在数据通信网络设计中,ITU-T系列标准更接近于OSI/RM模型()的定义。 ? ? ? ? 我的答案:D 此题得分:2.5分 3.(2.5分)网络系统集成的工作在于解决不同系统之间的信号交换和()问题。 ? ? ?

? 我的答案:A 此题得分:2.5分 4.(2.5分)以太网交换机的每一个端口相当于一个()。 ? ? ? ? 我的答案:D 此题得分:2.5分 5.(2.5分)计算机网络是计算机技术和()技术相结合的产物。 ? ? ? ? 我的答案:A 此题得分:2.5分 6.(2.5分)城域网往往由多个园区网以及()、传输网等组成。 ? ? ? ? 我的答案:D 此题得分:2.5分 7.(2.5分)TCP/UDP端口号提供的附加信息可以为交换机所利用,这是第()层交换的基础。 ?

? ? ? 我的答案:C 此题得分:2.5分 8.(2.5分)电信网络流量很大,对网络设备要求有较高的()和可靠性。 ? ? ? ? 我的答案:D 此题得分:2.5分 9.(2.5分)需求管理包括需求跟踪、()、需求评估等工作。 ? ? ? ? 我的答案:A 此题得分:2.5分 10.(2.5分)网络工程师在大部分情况下可以通过()来获取用户需求。 ? ? ? ? 我的答案:C 此题得分:2.5分 11.(2.5分)电信网的主干链路,一般采用()和DWDM技术。 ?

? ? ? 我的答案:D 此题得分:2.5分 12.(2.5分)()文档定义了网络工程项目的需求基线。 ? ? ? ? 我的答案:A 此题得分:2.5分 13.(2.5分)支持广播网络的拓扑结构有总线型、星型、()。 ? ? ? ? 我的答案:D 此题得分:2.5分 14.(2.5分)对于用户比较集中的环境,由于接入用户较多,因此交换机应当提供( )功能。 ? ? ? ? 我的答案:A 此题得分:2.5分

计算机网络技术学习心得

计算机网络技术 --学习心得在科技飞速发展的今天,计算机网络早已被每一个人熟知,它让我们的生活更加精彩,让人与人之间的距离更加贴近了,也让庞大的地球变为一个小村落。 2010年7月15日,中国互联网络信息中心(CNNIC)在京发布了《第26次中国互联网络发展状况统计报告》。《报告》显示,截至2010年6月底,我国网民规模达4.2亿人,互联网普及率持续上升增至31.8%。手机网民成为拉动中国总体网民规模攀升的主要动力,半年内新增4334万,达到2.77亿人,增幅为18.6%。值得关注的是,互联网商务化程度迅速提高,全国网络购物用户达到1.4亿,网上支付、网络购物和网上银行半年用户增长率均在30%左右,远远超过其他类网络应用。 由此可见,当今计算机网络已是普及到世界的各个角落,通过一学期的学习和自身多年的体验以及使用,对计算机网络也是更加了解。计算机网络的定义 计算机网络技术是通信技术与计算机技术相结合的产物。计算机网络是按照网络协议,将地球上分散的、独立的计算机相互连接的集合。连接介质可以是电缆、双绞线、光纤、微波、载波或通信卫星。计算机网络具有共享硬件、软件和数据资源的功能,具有对共享数据资源集中处理及管理和维护的能力。 计算机网络是“通信技术”与“计算机技术”的结合产物,数据交换是基础,资源交换为目的。

计算机网络体系结构与参考模型 1.OSI参考模型将计算机网络分为7层: 应用层:OSI中的最高层。应用层确定进程之间通信的性质,以满足用户的需要。应用层不仅要提供应用进程所需要的信息交换和远程操作,而且还要作为应用进程的用户代理,来完成一些为进行信息交换所必需的功能。它包括:文件传送访问和管理FTAM、虚拟终端VT、事务处理TP、远程数据库访问RDA、制造业报文规范MMS、目录服务DS等协议; 表示层:主要用于处理两个通信系统中交换信息的表示方式。它包括数据格式交换、数据加密与解密、数据压缩与恢复等功能; 会话层:—在两个节点之间建立端连接。此服务包括建立连接是以全双工还是以半双工的方式进行设置,尽管可以在层4中处理双工方式; 传输层:—常规数据递送-面向连接或无连接。包括全双工或半双工、流控制和错误恢复服务; 网络层:—本层通过寻址来建立两个节点之间的连接,它包括通过互连网络来路由和中继数据; 数据链路层:—在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址; 物理层:处于OSI参考模型的最底层。物理层的主要功能是利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。 数据发送时,从第七层传到第一层,接受方则相反。上三层总称应用层,用来控制软件方面。下四层总称数据流层,用来管理硬件。

计算机网络课程设计题目

计算机网络课程设计题目

计算机网络课程设计 题目一 基本要求:根据用户需求,设计网络,并完成相关文档和文件工作。要求通过查找资料,独立完成设计,全部图、表只能使用WORD或VISIO 的相关工具来画,不得粘贴扫描的图片。 路由器和交换机、PC机配置利用boson netsim 或类似软件来辅助进行,防火墙、服务器配置用文档描述。 1、某高校要求设计一个校园网, 一、用户需求 (1)用户规模500台计算机。 (2)用户大致平均分散在4栋楼房内,4栋楼房排成前后两排,楼房之间各相距200米,楼房高4层。每栋楼的4楼用户构成两个VLAN。(3)中心机房设在其中1栋楼房的1楼靠近另一栋楼房的一端。 (4)安装对外WWW、业务WWW、邮件、FTP、BBS、DNS、数据库七个服务器。提供匿名服务,但FTP仅对内部开放。 (5)提供LAN、WLAN接入。

(6)在业务WWW服务器上配备基于Web的业务应用系统,所有用户使用业务系统实现网上办公。 (7)要求出口带宽为1Gbps。 二、设计要求 (1)写出简要的可行性分析报告。 (2)设计网络结构,并给出解释。 (3)除用户计算机已购置外,其余全部设备和通信线路需要重新购买、安装。试具体给出全部主要设备的配置、型号或技术指标及其测算依据。 (4)给出工程预算(包括设备、线路等,不含施工费)及其计算依据。 题目二 设计一个中小企业网络规划与设计的方案:一、用户需求 (1)公司有1000 台PC (2)公司共有7个部门,不同部门的相互访问

要求有限制,公司有3个跨省的分公司。 (3)公司有自己的内部网页与外部网站,公司能够提供匿名的FTP,邮件,WWW服务,但FTP 只对内部员工开放。 (4)公司有自己的OA 系统 (5)公司中的每台机能上互联网,每个部门的办公室联合构成一个VLAN。 (6)核心技术采用VPN。 二、设计要求 (1)写出简要的可行性分析报告。 (2)设计网络结构,并给出解释。 (3)除PC机已购置外,其余全部设备和通信线路需要重新购买、安装。试具体给出全部主要设备的配置、型号或技术指标及其测算依据。(4)给出工程预算(包括设备、线路等,不含施工费)及其计算依据。 题目三 题目:广告公司网络的设计 1.基本背景描述 某广告公司现有分公司1(50台pc)和分公司2(40台pc),分公司1和分公司2都拥有各自独立的部门。分公司1和分公司2包括:策划部、市场部、设计部。为提高办公效率,该广告公司决定建立一个内部网络。 该广告公司内部使用私有IP地址192.168.160.0/23,要求该广告公司的分公司1和分公司2之间使用路由器进行连接(不使用vpn技术),使用动态的路由

心得体会 计算机网络培训心得总结

计算机网络培训心得总结 计算机出现于20世纪40年代,尽管其发展尚处于萌芽阶段,但现在我们所熟悉的一些计算机词汇在那时已开始产生。接下来就跟着的脚步一起去看一下关于计算机网络培训心得总结吧。 计算机网络培训心得总结篇1 随着信息技术的不断发展,多媒体教学成为活跃课堂调动学生学习积极性的一种主要手段。 因而,对于我们教师而言,计算机的操作是我们必须掌握一门技术。 由此,本学期学校开展了为期四周的全员计算机技能培训,根据教师年龄和计算机技能基础分为了初级班中级班和高级班,共有人参与培训。 本次培训,校领导带头参加,课堂上教师们认真听讲,气氛活跃,通过这次短期培训,大多教师都有较大收获。 初级班教师学习了,学会用编辑制作一份试卷,用对学生成绩做一些简单分析及制作简单的课件中级班教师专门学习软件使用,能熟练制作课件高级班教师则学习软件,学会制作简单动画并能独立制作课件。 通过这次短期培训,我们深深体会到信息技术对教师的重要作用。 在高科技飞速发展的今天,教师不能只停在原有知识的认识上,

要不断学习,不断完善自己,不断充实自己。 现在的学生更聪明,他们不仅能在学校里学习知识,还能通过电视网络等多种途径学到更多的知识。 因而,教师必须有一种超前意识。 良好的信息素养是教师终生学习不断完善自身的需要。 当今社会,一名优秀的教师应具有现代化的教育思想教学理念,掌握现代化的教学方法和教学手段,熟练运用信息工具网络电脑对信息资源进行有效的收集组织运用在潜移默化的教育环境中培养学生的信息意识。 这些素质的养成就要求教师不断地学习,才能满足现代化教学的需要信息素养成了终生学习的必备素质之一,如果教师没有良好的信息素养,就不能成为一名满足现代教学需要的高素质的教师。 掌握计算机操作技能,也是教育系统本身的需要。 在教育系统中,教育信息是最活跃的因素。 教师可以通过网络学习新知识,可以与同行交流经验,可以与学生进行沟通等等,因此,教育系统本身要求教师具备一定的信息素养。 这次培训的时间虽然短暂,但全体参加学习的教师通过学习,认识到计算机的重要性,我们会在今后的工作中会更加努力,不断学习新的计算机信息技术,充分利用所学到的知识进行教育教学。 计算机网络培训心得总结篇2 炎炎酷暑,为期十天的培训即将落下帷幕。通过这次的技能培训,我收获颇多,同时也深刻的体会到教师是一个神圣的职业,肩负着为

《计算机网络课程设计》

计算机网络课程设计报告 题目:Web服务器的搭建及HTTP协议和底层协议运行分析 学生: xxxxxxx 学号: xxxxxxx 班级: xxxxxxxx 教师: xxxxxxx 完成日期:2017年 6月 22 日

《计算机网络课程设计》成绩评定表班级:xxxxx:xxxxx学号:xxxxxxx阅卷教师签名:

Web服务器的搭建及HTTP协议和底层协议运行分析 一、题目说明 1、课程设计题目分析5 本题是要在Window操作系统上进行web服务器的搭建,之后在另一台电脑上运行该服务器,同时在该电脑上抓来往的数据包,并观察该数据包中的HTTP协议的结构。 2、题目涉及的技术原理10 本题通过对操作系统中的IIS(Internet 信息服务器)的安装,再通过编辑自己的编写的服务器代码设置自己的默认网页,进行Web服务器的配置。 在另一台电脑上,将这台电脑用作客户端,运行自己刚配置好的Web服务器。同时,打开wireshark应用程序进行数据包抓包,抓取http包,对抓到的http包进行结构分析。 当前对于Web页面的访问应用都是基于Http应用协议的,而在下层则使用TCP(传输控制协议);但TCP并不适合于短会话(少量的数据交换的情况),当期用于短对话时会增加额外开销,而建立、撤销TCP的开销却又是必需的。因此,提出了一种混合TCP与UDP 的动态选择传输层协议来实现Http协议的方法,若在短对话时使用UDP(用户数据报协议)作为传输层协议,而当有大量数据需要传输时则使用TCP作为传输层协议,这样,对于短对话可以避免TCP的

额外开销,而对于长会话又可以得到有TCP提供的可靠传输并减少网络拥塞。 3、该技术的应用及发展5 ProgressiveDownload (渐进式下载方式)也可以认为是HTTPStreaming 的前身,其通过 HTTP 协议来传输文件。目前,国外比较主流的视频(如YouTube ,优酷,土豆,六间房等)一般都用ProgressiveDownload 的方式播放视频节目。ProgressiveDownload在用户点击播放视频节目时,会给用户发送视频文件,用户可以边下载、边播放,而不是等到文件下载完毕才可以播放视频。在用户暂停播放时,服务器依然会给客户端发送视频文件,直至整个文件下载完毕或者用户关闭视频。基于此特性产生一个问题:如当一个文件为3min ,用户观看前 1min 后就不想再观看而关闭视频播放时,而此时文件可能已经全部下载完毕,这样就会造成后 2min 资源传输的浪费。 ProgressiveDownload 客户端与服务器的交互过程参见下图,由客户端发起 HTTP 请求,服务器受到请求后回复给客户端其请求 图1 HTTP请求/响应 目前,支持 HTTPStreaming 的客户端有有 AdobeFlash Player 10.1 ,微软的 Sivelight 以及 APPLE 的Safari 等。

计算机网络技术与应用答案

第一章计算机网络基础知识习题答案 整理人:夏海生苏磊 一、填空题 1、分布在不同地理位置,具有独立功能通信线路和设备通信资源共享 2、资源与服务控制资源与服务; 3、硬件; 4、通信子网; 5、介质; 6、通信设备传输; 7、C/S 网络; 8、对等网模式; 9、语法语义时序;10、系统软件;11、资源通信;12、局域网广域网;13、C/S;14、星型树型;15、环型;16、中心节点;17、点线;18、双绞线双绞线; 19、网络管理软件客户端软件;20、对等网;21、物理媒体有线网络;22、体系结构;23、7 4;24 2;25、接口;26、网络应用服务;27、数据通信数据通信;28、并行;29、全双工;30、基带传输;31、频带传输调制解调; 32、信号;33、传输速率传输速率;34、多路复用;35、数据传输链路拆除;36、专用的物理链路储存;37、链路不同;38、逻辑链路;39、链路建立数据传输链路拆除;40、虚电路 二、选择题 1-5、AC B D B D 6-10、D B C B B 11-15、D D C A C 16-20、A ABD ABD B D 三、简答题 1、计算机网络的内涵是什么? 答:计算机网络是将分布在不同地理位置、具有独立功能的计算机系统,利用通信线路和设备,在网络协议和网络软件的支持下相互连接起来,进行数据通信,进而实现资源共享的系统。 2、计算机网络有哪些功能? 答:计算机网络最基本的功能是资源共享和数据通信,除此之外还有负载均衡、分布式处理和提高系统安全性和可靠性。 3、简述计算机网络系统的组成。 答:计算机网络的系统组成主要包括计算机系统、数据通信系统、网络软件等部分,其中网络软件根据软件的功能可分为网络系统软件和网络应用软件两大主类。 4、什么是通信子网,什么是资源子网,它们的功能是分别是什么? 答:通信子网是计算机网络中实现网络通信功能的设备(网卡、集线器、交换机)、通信线路(传输介质)和相关软件的集合,主要负责数据传输和转发等通信处理工作。 资源子网是计算机网络中实现资源共享功能的设备及其软件的集合,是面向用户的部分,它负责整个网络的数据处理,向网络用户提供各种网络资源和网络服务。 5、计算机网络发展经历了哪几个阶段? 答:计算机网络发展经历了面向终端的计算机网络、计算机通信网络、计算机互联网络和高速互联网络四个阶段。 6、说明计算机网络的发展趋势。

计算机网络课程设计

石河子大学继续教育学院 网络工程与技术课程设计课题名称:设计校园网络拓扑结构 年级:13计科网络 教师:何万里

一.校园网概论 1.1校园网规划的意义 1.2校园信息网的现状 1.3校园网规划设计的主要任务 二.校园网络设计系统需求分析及目标 2.1项目背景 2.2网络需求分析 三.校园网总体规划 3.1网络技术选择 四.校园网总体结构设计 4.1网络拓扑总线图 4.2思科路由器设置 4.3子网与WLAN划分 五.综合布线设计 5.1设计范围 5.2布线的设备选择 5.3布线设计方案描述 六.总结

1.1校园网规划的意义 校园网的建设,其主要意义是有利于学校教学、科研的快速发展,它能使广大教师利用计算机网络环境进行教学,开展科研活动,进而提高学校的教学质量和科研水平,为培养面向世界,面向未来的高素质人才提供有力的保障。 高效简洁的校园网,不仅方便管理,而且升级方便。校园网指校园内计算机及附属设备互联运行的网络,是由计算机、网络设备和网络软件构成的为学校教育、科研、管理、办公和交流等活动服务的大型集成应用系统,并能接入因特网实现与国内国际网站进行信息交流、资源共享。校园网的规模、网络性能、应用水平和普及程度已成为衡量一所院校办学水平高低的重要标志之一。校园网建设是教育信息化建设的重要组成部分,是全面实现素质教育的重要手段,是实现教育现代化的重要标志,校园网是学校信息基础设施。 1.2校园信息网的现状 国家加快改革教育体系,以教育为立国之本,建设一个高度发达的国家教育体系。为提高我国教育的现代化、建立先进高效的教育体系,提供更为先进的教育手段,学校很有必要建设一个校园网络管理应用系统,这样可以达到校园资源共享、建立完备的数据交换体系、快速的传递信息等目的。顺应无纸教学,无纸办公的发展趋势,充分利用现代化技术来进一步提高教学质量和办公效率,为培养二十一世纪人才提供一个优良的硬件教学环境。 信息成为社会经济发展的核心因素,信息化已成为当今世界潮流。自从1993年美国政府公布实施“信息高速公路计划”之后,在世界引起巨大反响,许多发达国家和一些发展中国家也相继提出了本国或本地区的信息基础设施计划。可以说,信息化程度已成为衡量一个国家现代化水平和综合国力强弱的重要标志。

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