滨江学院课程设计报告学年学期2011-2012学年第二学期课程名称计算机网络课程设计院系计算机系专业网络工程学号姓名指导教师二O一二年五月三十一日一、课程设计完成情况概述经过几周的实验和准备,我具体完成了实验一交换式和虚拟局域网实验、实验二子网划分实验、实验三Intranet组建与服务器配置、实验六socket通信聊天程序的设计和自选的网络互联实验。实验一中,通过VLAN的划分的知识,实现不同VLAN间的互相通信;实验二中,通过子网划分的知识,实现各个子网的互相通信;实验三中,具体的操作是在windowsserver2003系统中完成,了解了windowsserver2003中的网络管理功能,成功配置了活动目录、客户端配置、DNS配置、DHCP配置、FTP服务器的配置、WEB服务器的配置;实验四中,利用C#开发语言,运用socket编写的“客户——服务器”收发程序,实现两者的互相通信。二、课程设计基本项目的实验报告实验一1.实验目的(1)学会设计交换式局域网和划分VLAN(2)学会配置VLAN2.实验内容(1)交换式以太网组网(2)以太网交换机配置(3)VLAN划分与配置3、实验报告(1)画出交换式以太网组网拓扑结构(2)以太网交换机配置信息PC机之间的相互通信PC机的配置实验二1.实验目的(1)学会设计子网(2)学会配置子网2.实验内容(1)子网规划(2)在局域网上划分子网(3)配置IP地址(4)测试子网3、实验报告(1)画出子网拓扑结构R1上的配置R2上的配置R3上的配置子网之间的相互通信实验三1、实验目的(1)加深对Intranet服务的基本功能和意义的理解(2)掌握Windows2003系统的网络管理功能(3)掌握IIS的网络服务功能和基本配置方法2、实验内容1、建立活动目录(1)、“开始”——“程序”——“管理工具”——“配置您的服务器向导”命令,打开“配置您的服务器向导”对话框。(2)、单击“下一步”,向导检测网络设置(3)、检测完毕进入服务器配置选择(4)、配置ActiveDirectory域名(5)、单击“下一步”打开“NetBIOS域名”对话框,在“NetBIOS域名”文本框中接受显示的名称。(6)、单击“下一步”,打开选择“转发DNS查询”对话框。(7)、单击“下一步”显示“查看总结选项”。(8)、单击“下一步”进入选择角色添加服务器界面。(9)、重启系统,显示服务器的配置过程。(10)、建立完成,查看ActiveDirectory用户和计算机。2、客户端配置(1)“开始”——“控制面板”——“添加或删除程序”,选择添加或删除组件。(2)选择应用程序服务器,点右下角的详细信息。(3)选择“Internet信息服务(IIS)”,再点击详细信息。(4)选择“文件传输协议(FTP)服务”,按“确定”。(5)单击下一步,完成安装。(6)“开始→所有程序→管理工具→Internet信息服务”,进入“Internet信息服务”窗口后,找到“默认FTP站点”,右击鼠标,在弹出的右键菜单中选择“属性”。在“属性”中,我们可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等。(7)找到“默认FTP站点”,右击鼠标,在弹出的右键菜单中选择“属性”。在“属性”中,我们可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等。3、配置DNS服务器(1)安装DNS服务器,单击“开始”→“设置”→“控制面板”,启动“添加/删除程序”对话框。单击“添加/删除Windows组件”,出现“Windows组件向导”,从“组件”列表中选择“网络服务”。(2)单击“详细信息”按钮,从列表中选取“域名服务系统(DNS)”,单击“确定”按钮(3)单击“下一步”按钮,输入Windows2000Server的安装源文件的路径,单击“确定”按钮,开始安装DNS服务(4)配置DNS服务器“开始”——“程序”——“管理工具”——“DNS”(5)“右击”——“新建区域”。(6)配置区域类型(7)配置新的区域名称shitingting(8)创建新的区域文件,一般新的文件名会自动创建。(9)完成正向搜索区域下的新建区域的工作(10)在反向搜索区域下新建区域,输入反向搜索的DNS的IP地址的网络地址(11)自动创建反向搜索的新文件名(12)完成反向搜索区域下新区域的创建4、配置DHCP服务器(1)安装DHCP服务器,单击“开始”→“设置”→“控制面板”,启动“添加/删除程序”对话框。单击“添加/删除Windows组件”,从“组件”列表中选择“网络服务”。(2)单击“详细信息”按钮,从列表中选取“动态主机配置协议(DHCP)”,单击“确定”按钮(3)单击下一步,完成安装(4)“开始”——“管理工具”——“DHCP”。在左边窗口中鼠标右键服务器选授权(5)鼠标右键服务器,选“新建作用域”打开新建作用域向导,点下一步,出现作用域名窗口(6)输入作用区域分配的地址范围(7)输入想要排除的地址范围(8)租约期限默认是八天,可根据实际情况更改(9)选择为此作用域配置DHCP(10)指定此作用域要分配的路由器或默认网关(11)输入网络上的客户端计算机用来进行DNS名称解析时用的父域(12)激活作用域,完成新建区域作用导向5、建立和管理WEB服务器(1)“控制面板”——“添加或删除程序”选择“添加删除windows组件”,双击“应用程序服务器”——“Internet信息服务”选中“万维网服务”,确定后下一步完成安装。(2)“开始”——“程序”——“管理工具”——“Internet信息服务(IIS)管理器”,打开“web服务扩展”。开启ActiveServerPages项(3)、设置远程维护web接口支持(4)、建立新的web站点,单击“开始”—〉“程序”—〉“管理工具”—〉“Internet信息服务”,打开“Internet信息服务”管理工具。右键单击“默认Web站点”,选择“属性”,进入“默认Web站点属性”设置界面。并且修改IP地址:将站点的IP地址改为本机的IP地址。主目录:在“本地路径“c:\inetpub\”(5)添加文档。将“default.htm”添加到默认文档中,在默认内容页输入自己的网页名称6建立和管理FTP服务器(1)安装FTP服务器,“开始”——“控制面板”——“添加或删除程序”——“选中应用程序服务”——“选黄总Internet信息服务”——选中文件传输服务FTP服务----按照windows组件向导进行安装。(2)配置默认FTP服务器,右击“默认FTP站点”----属性,在对话框内可以进行主目录、安全账户、消息等重要设置。实验四1.实验目的(1)掌握网络应用程序的开发方法;(2)掌握Client/Server结构软件的设计与开发方法(3)掌握Socket机制的工作原理2.实验准备(1)阅读教材关于TCP/IP协议和Socket的相关内容;(2)阅读WinSock编程指南;(3)VC++6.0/DELPHI7.0/C#开发工具3.实验内容使用Win32Socket函数实现聊天程序:能相互对发文本消息。4.实验报告(1)程序代码#includestdio.h#includeWinsock2.h#pragmacomment(lib,WS2_32.lib)#defineMYPORT8001#defineMYIP127.0.0.1#defineMAXBUFFER1024voidshowerror(constchar*function);voidmain(){WORDwVersion=MAKEWORD(2,0);WSADATAwsdata;SOCKETsock,newsock;structsockaddr_inaddr;intaddrlen=sizeof(structsockaddr);intbuflen=MAXBUFFER;charszbuffer[MAXBUFFER];//加载socket2.0dllintnResult=WSAStartup(wVersion,&wsdata);if(nResult!=0){printf(errorinfunctionWSAStartup():%d\n,WSAGetLastError());return;}printf(WSAStartupsuccess\n);//创建socket对象printf(createsocket...\n);sock=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);if(sock==INVALID_SOCKET){showerror(socket);return;}printf(createsocketsuccess\n);//socket绑定addr.sin_family=AF_INET;addr.sin_port=htons(MYPORT);addr.sin_addr.s_addr=inet_addr(MYIP);printf(bindsocket...\n);nResult=bind(sock,(structsockaddr*)&addr,sizeof(structsockaddr_in));if(nResult==SOCKET_ERROR){showerror(bind);return;}printf(bindsocketsuccess\n);//socket监听printf(listensocket...\n);nResult=listen(sock,5);if(nResult==SOCKET_ERROR){showerror(listen);return;}printf(listensocketsuccess\n);//接受请求while(1){printf(socketaccept...\n);newsock=accept(sock,(structsockaddr*)&addr,&addrlen);if(newsock==INVALID_SOCKET){showerror(accept);break;}printf(socketacceptsuccess\n);do{memset(szbuffer,0,MAXBUFFER);nResult=recv(newsock,szbuffer,buflen,0);if(buflen0){printf(recv:%s\n,szbuffer);}}while(nResult!=SOCKET_ERROR);closesocket(newsock);}//关闭socketclosesocket(sock);//卸载socket2.0dllWSACleanup();}voidshowerror(constchar*function){LPVOIDlpMsgBuf;FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,0,GetLastError(),MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),//默认语言(LPTSTR)&lpMsgBuf,0,NULL);printf(errorinfunction%s:\n描述:%s\n,function,(char*)lpMsgBuf);//释放内存LocalFree(lpMsgBuf);}Client端代码:#includestdio.h#includeWinsock2.h#pragmacomment(lib,WS2_32.lib)#defineMYPORT8001#defineMYIP127.0.0.1#defineMAXBUFFER1024voidshowerror(constchar*function);voidmain(){WORDwVersion=MAKEWORD(2,0);WSADATAwsdata;SOCKETsock;s