还剩42页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《计算机网络原理》实验指导书课程代码0660086天津理工大学计算机计算机科学与工程学院2007年9月目录TOC\o1-3\h\z\u
一、实验指导书的选用范围1
二、计算机网络技术课程简介1
三、实验的地位、作用和目的及学生能力标准1
四、实验方式与基本要求1
五、考核方式与实验报告要求2
六、实验项目2实验一验证常用网络命令2实验
1.1验证常用的网络命令2实验
1.2用telnet方式收发邮件11实验二基于TCP/UDP的Socket编程14实验
2.1基于TCPandUDP的socket编程14实验
2.2基于TCP的WebServer14实验
2.3基于TCP/UDP的Daytime的客户端和服务器端14实验
2.4基于TCP/UDP的Echo的客户端和服务器端15实验
2.5SOCKET编程实现聊天程序15实验
2.6SOCKET编程实现miniFTPClient/Server程序15附录1参考程序16附录2网络编程接口WinSockAPI19实验三模拟环境下的路由器配置
263.1[BosonRouterSimulator
4.3__及注册]
263.2[BosonRouterSimulator启动及使用]
323.3实验习题36
七、实验主要仪器名称42
八、课程设计交付成果说明42
一、实验指导书的选用范围课程名称计算机网络原理所属专业计算机科学与技术、信息与计算科学领域方向网络编程,网络管理,网络安全等相关方向参考学时课内12学时,课外12学时以上适用学生计算机及相关专业的本科生先修课要求《通信原理基础》、《数据结构》、《面向对象程序设计C++》、《计算机组成原理》等实验成绩占总成绩20%大纲依据课程指导委员会指导意见
二、计算机网络技术课程简介本课程是计算机科学与技术专业必修课课程教学目的是立足于介绍本方向的基本概念、技术和方法,为使学生能追踪网络技术最新发展而奠定基础通过网络实验,要求学生掌握网络技术的发展规律,掌握网络技术的基本概念、基本原理和基本技术等知识,能够编写网络软件、设计一般的网络并能分析网络的性能及解决网络中的问题本实验课分为验证性实验和综合性实验
三、实验的地位、作用和目的及学生能力标准计算机网络技术实验是计算机专业的必修课程《计算机网络技术》的重要组成部分通过实验,可以弥补课堂理论教学中的不足,增强学生对所学知识的感性认识;掌握网络操作的一般知识;深化理论知识,使理论与实践结合起来;培养学生设计实验方案的能力和利用所学知识处理实际问题的能力要求学生掌握网络技术的发展规律,掌握网络技术的基本概念、基本原理和基本技术等知识,能够编写网络软件、设计一般的网络并能分析网络的性能及解决网络中的问题
四、实验方式与基本要求
1、实验开始前,指导教师要讲解实验过程和注意事项
2、实验分为学生__完成实验以及小组完成实验两种
3、实验过程中要详细记录实验过程和结果
4、在实验结束后一周之内完成实验报告小组实验的,要注明每个人的分工实验报告按照统一要求填写
五、考核方式与实验报告要求实验考核从两方面评定每次的实验成绩实验操作完成情况和实验报告书写质量实验操作情况指导教师根据学生的实验准备情况、实验情况、源程序质量、回答问题情况、实验纪律等方面给分实验报告书写学生在实验后的一周内提交打印好的实验报告教师根据实验报告质量评定成绩3实验总成绩=1/3(∑第i次实验成绩)i=1
六、实验项目实验一验证常用网络命令[实验目的]熟悉windows下的一些网络命令的功能和使用方法进而能用这些命令察看网络的状况并解决网络中的一些问题掌握收发邮件的命令[实验要求]
1、请尝试以下一些windows下的网络命令,记录实验的过程、结果以及遇到的问题及解决方法
2、telnet收发____[实验过程]实验
1.1验证常用的网络命令实验内容⑴ ARP:显示和修改IP地址与物理地址之间的转换表ARP-sinet_addreth_addr[if_addr]ARP-dinet_addr[if_addr]ARP-a[inet_addr][-Nif_addr]-a显示当前的ARP信息,可以指定网络地址-g跟-a一样.-d删除由inet_addr指定的主机.可以使用*来删除所有主机.-s添加主机,并将网络地址跟物理地址相对应,这一项是永久生效的eth_addr物理地址.if_addrIfpresentthisspecifiestheInternetaddressoftheinte_____whoseaddresstranslationtableshouldbemodified.Ifnotpresentthefirstapplicableinte_____willbeused.例子C:\arp–a(显示当前所有的表项)Inte_____:
10.
111.
142.71onInte_____0x_____03InternetAddressPhysicalAddressType
10.
111.
142.100-01-f4-0c-8e-__dynamic//物理地址一般为48位即6个字节
10.
111.
142.11252-54-ab-21-6a-0edynamic
10.
111.
142.25352-54-ab-1b-6b-0adynamicC:\arp-a
10.
111.
142.71(只显示其中一项)NoARPEntriesFoundC:\arp-a
10.
111.
142.1(只显示其中一项)Inte_____:
10.
111.
142.71onInte_____0x_____03InternetAddressPhysicalAddressType
10.
111.
142.100-01-f4-0c-8e-__dynamicC:\arp-s
157.
55.
85.21200-aa-00-62-c6-09添加,可以再打入arp–a验证是否已经加入.⑵ ftp文件传输命令该命令只有在__了TCP/IP协议之后才可用Ftp是一种服务,一旦启动,将创建在其中可以使用ftp命令的子环境,通过键入quit子命令可以从子环境返回到Windows2000命令提示符当ftp子环境运行时,它由ftp命令提示符代表ftp[-v][-n][-i][-d][-g][-s:filename][-a][-w:windowsize][computer]参数-v禁止显示远程服务器响应-n禁止自动登录到初始连接-I多个文件传送时关闭交互提示-d启用调试、显示在客户端和服务器之间传递的所有ftp命令-g禁用文件名组,它允许在本地文件和路径名中使用通配符字符(*和)(请参阅联机“命令参考”中的glob命令)-s:filename指定包含ftp命令的文本文件;当ftp启动后,这些命令将自动运行该参数中不允许有空格使用该开关而不是重定向-a在捆绑数据连接时使用任何本地接口-w:windowsize替代默认大小为4096的传送缓冲区Computer指定要连接到远程计算机的计算机名或IP地址如果指定,计算机必须是行的最后一个参数下面是一些常用命令!从ftp子系统退出到系统外壳?显示ftp说明,跟help一样append:添加文件,格式为append本地文件远程文件cd更换远程目录lcd更换本地目录,若无参数,将显示当前目录open与指定的ftp服务器连接opencomputer[port]close结束与远程服务器的FTP会话并返回命令解释程序bye结束与远程计算机的FTP会话并退出ftpdir结束与远程计算机的FTP会话并退出ftpget和recv使用当前文件转换类型将远程文件__到本地计算机getremote-file[local-file]send和put上传文件sendlocal-file[remote-file]其它命令请参考帮助文件例子C:\ftpftpopenftp.zju.edu.cnConnectedtoalpha
800.zju.edu.cn.220ProFTPD
1.
2.0pre9Server浙江大学自由软件服务器[alpha
800.zju.edu.cn]Useralpha
800.zju.edu.cn:none:anonymous331Anonymousloginoksendyourcompletee-__iladdressaspassword.Password:230Anonymousac__ssgrantedrestrictionsapply.ftpdir//查看本目录下的内容…ftpcdpub//切换目录250__Dcom__ndsuc__ssful.ftpdir200PORTcom__ndsuc__ssful.150OpeningASCIImodedataconnectionforfilelist.…ftpcdmicrosoft250__Dcom__ndsuc__ssful.ftpdir200PORTcom__ndsuc__ssful.150OpeningASCIImodedataconnectionforfilelist.-rw-r--r--1ftpftp288632Dec81999chargeni.exe226Transfercomplete.ftp:69bytesre__ivedin
0.01Seconds
6.90Kbytes/sec.ftplcde:\//本地目录切换LocaldirectorynowE:\.ftpgetchargeni.exe//下载文件200PORTcom__ndsuc__ssful.150OpeningASCIImodedataconnectionforchargeni.exe288632bytes.226Transfercomplete.ftp:2__739bytesre__ivedin
0.36Seconds
10.
111.
255.
255.
10.
111.
142.1//缺省__C:\ipconfig/displaydns//显示本机上的DNS域名解析列表C:\ipconfig/flushdns//删除本机上的DNS域名解析列表⑷Nbtstat该诊断命令使用NBT(TCP/IP上的NetBIOS)显示协议统计和当前TCP/IP连接该命令只有在__了TCP/IP协议之后才可用nbtstat[-aremotename][-AIPaddress][-c][-n][-R][-r][-S][-s][interval]参数-aremotename使用远程计算机的名称列出其名称表-AIPaddress使用远程计算机的IP地址并列出名称表-c给定每个名称的IP地址并列出NetBIOS名称缓存的内容-n列出本地NetBIOS名称“已注册”表明该名称已被广播Bnode或者WINS(其他节点类型)注册-R清除NetBIOS名称缓存中的所有名称后,重新装入Lmhosts文件-r列出Windows网络名称解析的名称解析统计在配置使用WINS的Windows2000计算机上,此选项返回要通过广播或WINS来解析和注册的名称数-S显示客户端和服务器会话,只通过IP地址列出远程计算机-s显示客户端和服务器会话尝试将远程计算机IP地址转换成使用主机文件的名称interval重新显示选中的统计,在每个显示之间暂停interval秒按CTRL+C停止重新显示统计信息如果省略该参数,nbtstat打印一次当前的配置信息例子C:\nbtstat–A周围主机的ip地址C:\nbtstat–cC:\nbtstat–nC:\nbtstat-S本地连接:NodeIpAddress:[
10.
111.
142.71]ScopeId:[]NetBIOSConnectionTableLocalNameStateIn/OutRemoteHostInputOutputJJY03Listening另外可以加上间隔时间,以秒为单位⑸net许多Windows2000网络命令都以词net开头这些net命令有一些公用属性键入net/可以看到所有可用的net命令的列表键入nethelpcom__nd,可以在命令行获得net命令的语法帮助例如,关于netaccounts命令的帮助信息,请键入nethelpaccounts所有net命令都接受/yes和/no选项(可以缩写为/y和/n)/y选项向命令产生的任何交互式提示自动回答“是”,而/n回答“否”例如,netstopserver通常提示您确认要停止基于“服务器”服务的所有服务;而netstopserver/y对该提示自动回答“是”,然后“服务器”服务关闭例如Netsend(可能许多人已经用过,或者感到厌烦,索性把服务给关了)将消息发送到网络上的其他用户、计算机或消息名必须运行信使服务以接收邮件netsend{name|*|/do__in[:name]|/user__essage}Netstop停止Windows2000网络服务netstopservi__例如C:\netstopmessengerMessenger服务正在停止.Messenger服务已成功停止此时再打入netsend本机名消息,就没用了;相应的,要打开这个服务,只需把stop改为start,就可以了NetstartFTPPublishingServi__启动FTP发布服务该命令只有在__了Internet信息服务后才可用netstartftppublishingservi__类似的命令有很多,请参考帮助文件⑹Netstat显示协议统计和当前的TCP/IP网络连接该命令只有在__了TCP/IP协议后才可以使用netstat[-a][-e][-n][-s][-pprotocol][-r][interval]参数-a显示所有连接和侦听端口服务器连接通常不显示-e显示以太网统计该参数可以与-s选项结合使用-n以数字格式显示地址和端口号(而不是尝试查找名称)-s显示每个协议的统计默认情况下,显示TCP、UDP、ICMP和IP的统计-p选项可以用来指定默认的子集-pprotocol显示由protocol指定的协议的连接;protocol可以是tcp或udp如果与-s选项一同使用显示每个协议的统计,protocol可以是tcp、udp、icmp或ip-r显示路由表的内容Interval重新显示所选的统计,在每次显示之间暂停interval秒按CTRL+B停止重新显示统计如果省略该参数,netstat将打印一次当前的配置信息例如C:\netstat-asIPStatisticsPacketsRe__ived=256325…ICMPStatisticsRe__ivedSentMessages1668…TCPStatistics…SegmentsRe__ived=41828UDPStatisticsDatagramsRe__ived=82401…⑺Ping验证与远程计算机的连接该命令只有在__了TCP/IP协议后才可以使用ping[-t][-a][-ncount][-llength][-f][-ittl][-vtos][-rcount][-scount][[-jcomputer-list]|[-kcomputer-list]][-wtimeout]destination-list参数-tPing指定的计算机直到中断-a将地址解析为计算机名-ncount发送count指定的ECHO数据包数默认值为4-llength发送包含由length指定的数据量的ECHO数据包默认为32字节;最大值是65527-f在数据包中发送“不要分段”标志数据包就不会被路由上的__分段-ittl将“生存时间”字段设置为ttl指定的值-vtos将“服务类型”字段设置为tos指定的值-rcount在“记录路由”字段中记录传出和返回数据包的路由count可以指定最少1台,最多9台计算机-scount指定count指定的跃点数的时间戳-jcomputer-list利用computer-list指定的计算机列表路由数据包连续计算机可以被中间__分隔(路由稀疏源)IP允许的最大数量为9-kcomputer-list利用computer-list指定的计算机列表路由数据包连续计算机不能被中间__分隔(路由严格源)IP允许的最大数量为9-wtimeout指定超时间隔,单位为毫秒destination-list指定要ping的远程计算机较一般的用法是ping–t___.zju.edu.cn例如C:\ping___.zju.edu.cnPingingzju___.zju.edu.cn[
10.
10.
2.21]with32bytesofdata:Replyfrom
10.
10.
2.21:bytes=32time=10msTTL=253Replyfrom
10.
10.
2.21:bytes=32time10msTTL=253Replyfrom
10.
10.
2.21:bytes=32time10msTTL=253Replyfrom
10.
10.
2.21:bytes=32time10msTTL=253Pingstatisticsfor
10.
10.
2.21:Packets:Sent=4Re__ived=4Lost=00%lossApproxi__teroundtriptimesinmilli-seconds:Minimum=0ms__ximum=10ms__erage=2ms⑻Route控制网络路由表该命令只有在__了TCP/IP协议后才可以使用route[-f][-p][com__nd[destination][__sksubnet__sk][gateway][metriccostmetric]]参数-f清除所有__入口的路由表如果该参数与某个命令组合使用,路由表将在运行命令前清除-p该参数与add命令一起使用时,将使路由在系统引导程序之间持久存在默认情况下,系统重新启动时不保留路由与print命令一起使用时,显示已注册的持久路由列表忽略其他所有总是影响相应持久路由的命令Com__nd指定下列的一个命令命令目的print打印路由add添加路由delete删除路由change更改现存路由destination指定发送com__nd的计算机__sksubnet__sk指定与该路由条目关联的子网掩码如果没有指定,将使用
255.
255.
255.255gateway指定__metriccostmetric指派整数跃点数(从1到9999)在计算最快速、最可靠和(或)最便宜的路由时使用例如本机ip为
10.
111.
142.71,缺省__是
10.
111.
142.1,假设此网段上另有一__
10.
111.
142.254,现在想添加一项路由,使得当访问
10.
13.
0.0子网络时通过这一个__,那么可以加入如下命令C:\routeadd
10.
13.
0.0__sk
255.
255.
0.
010.
111.
142.1C:\routeprint(键入此命令查看路由表,看是否已经添加了)C:\routedelete
10.
13.
0.0C:\routeprint此时可以看见已经没了添加的项⑼Telnet虚拟终端命令在命令行键入telnet,将进入telnet模式键入help,可以看到一些常用命令MicrosoftTelnethelp指令可能缩写了支持的指令为:close关闭当前连接display显示操作参数open连接到一个站点quit退出telnetset设置选项要列表,请键入setstatus打印状态信息unset解除设置选项要列表,请键入unset/help打印帮助信息可以键入display命令来查看当前配置C:\telnetMicrosoftTelnetdisplayEscape字符为CTRL+]WILLAUTHNTLM身份验证关闭LOCAL_ECHO发送CR和LFWILLTERMTYPE优选的类型为ANSI协商的规则类型为ANSI可以使用set命令来设置环境变量,如MicrosoftTelnetsetlocal_echoonNTLM打开NTLM身份验证LOCAL_ECHO打开LOCAL_ECHOTERMxx表示ANSIVT100VT52或VTNTCODESETxx表示ShiftJISJapaneseEUCJISKanjiJISKanji78DECKanji或NECKanjiCRLF发送CR和LF例如假设主机
10.
111.
142.71打开了telnet服务MicrosoftTelnetopen
10.
111.
142.71正在连接到
10.
111.
142.
71...您将要发送__信息到Internet区域中的远程计算机这可能不安全是否还要发送y/n:y(不同系统会有区别)上面曾说明了Escape字符为CTRL+],所以键入这个字符就可以切换到外面,再按下单独的Enter键又可以回去MicrosoftTelnetstatus已连接到
10.
111.
142.71协商的规则类型为ANSI⑽Tra__rt该诊断实用程序将包含不同生存时间TTL值的Internet控制消息协议ICMP回显数据包发送到目标,以决定到达目标采用的路由要在转发数据包上的TTL之前至少递减1,必需路径上的每个路由器,所以TTL是有效的跃点计数数据包上的TTL到达0时,路由器应该将“ICMP已超时”的消息发送回源系统Tra__rt先发送TTL为1的回显数据包并在随后的每次发送过程将TTL递增1,直到目标响应或TTL达到最大值,从而确定路由路由通过检查中级路由器发送回的“ICMP已超时”的消息来确定路由不过,有些路由器悄悄地下传包含过期TTL值的数据包,而tra__rt看不到tra__rt[-d][-h__ximum_hops][-jcomputer-list][-wtimeout]target_name参数/d指定不将地址解析为计算机名-h__ximum_hops指定搜索目标的最大跃点数-jcomputer-list指定沿computer-list的稀疏源路由-wtimeout每次应答等待timeout指定的微秒数target_name目标计算机的名称最简单的一种用法如下C:\tra__rt___.ahut.edu.cnTracingroutetozju___.zju.edu.cn[
10.
10.
2.21]overa__ximumof30hops:110ms10ms10ms
10.
111.
136.1210ms10ms10ms
10.
0.
0.10310ms10ms10ms
10.
10.
2.21Tra__complete.实验
1.2用telnet方式收发邮件{举例}telnet__tp.21cn.com25//连接__tp服务器.端口是25 22021cn.com__TPServerofAIMC
2.
9.
5.1;Mon25Jun2001 12:41:51+0800//服务器返回的信息 HELO 25021cn.comunknown.host
61.
138.
26.124okay. __ILFROM:stonegong@21cn.com//告诉服务器发件人的E__il地址 250stonegong@21cn.comsenderok. RCPTTO:stonegong@yeah.net//告诉服务器收件人的地址. 250Usernotlocalwillforwardtostonegong@yeah.net.//OK!下面开始写信了~~ DATA//告诉服务器我们要开始写信了SU__ECT:HELLO//su__ect后面填写的是邮件的主题.如果不需要主题可以直接输入内容. Hi: Howareyou .//换行后输入.dot后按回车表示信件内容书写完毕. 250Requested__ilactionokaycompleted. QUIT//发送信件,结束对话,退出__TP服务器.如果想取消发送可以用RSET命令. 22121cn.comclosingconnection.下面用POP服务器收刚才发送的E__il. telnetpop.yeah.net110//还是要先连接.端口110 +OKincoresystem__ilPOP3Serverready userstonegong//告诉服务器你的用户名 +OKcore__il pass*********//这里的****代表你的__.你输入的时候会明文显示.+OK1messages[457bytes]//看到信了吗 list//查看信件列表. +OK1457 1457 .//第一个475是所有邮件的总字节数1后面的那个是第一封邮件的字节数.因为只有一封所以相等了. retr1//返回第___的全部内容. +OK457octets Re__ived:from21cn.comunknown[
61.
140.
60.248] bymx
1.yeah.netPostfixwith__TPidE578D1__D4CAC forstonegong@yeah.net;Mon25Jun200112:49:17+0800 CST Re__ived:fromunknown.host[
61.
138.
26.124]by21cn.comAIMC
2.
9.
5.1 with__TPidj____36f1fc;Mon25Jun200112:43:27+0800 su__ect:HELLO hi: Howareyou Message-Id:
20010625044917.E578D1__D4CAC@mx
1.yeah.net Date:Mon25Jun200112:49:17+0800CST From:stonegong@21cn.com .//刚才发的那封~ dele1//删除邮件. +OKcore__il list +OK00 .//这时邮件并没有完全删除要等到退出后在完全删除//如果现在想恢复可以用RESTn命令n表示E__il的编号. Quit//退出. +OKcore__il 如果上面有哪些命令你没有理解也可以看看下面这份命令详解.先看__TP服务器的. HELO地址 利用HELO命令可以告诉__TP服务器你的地址,地址一般为你的E-__il地址@后面的部分若你的电 子邮件地址为 someone@21cn.com,则地址就为21cn.com我就什么也没输入.也可以的 __ILFROM发件人E__il地址 利用__ILFROM命令输入收信者回复你时可用的____地址,一般为你的____地址,但也可以是符合邮件地址格式的任意字符 RCPTTO收信人的E-__il地址 RCPTTO命令要求你输入收信人的____地址,可以用多个RCPT TO命令将邮件同时发送给多个收信 人 VRFY某个E__il地址 VRFY命令将验证其后的____地址的正确性一般可先利用VRFY命令对____地址进行校验,再利用RCPTTO命令将邮件发送到该地址DATA 键入DATA后回车,即可开始输入邮件内容如果在首行输入Su__ect主题内容回车,则收信者可在主题或Su__ect栏将看到主题内容否则,输入部分将作为邮件主体Body部分的内容结束信件内容输入,可顺序按回车.句号回车. RSET RSET命令将中止发信操作,删除输入内容 QUIT QUIT发送信件,结束对话,退出__TP服务器 再说说POP的. USER用户名 用USER命令输入用户信箱名,用户名一般为用户____地址@前面的部分,如地址为someone@21cn.com,则用户名为Someone,命令执行后将显示一些信息,并提示用户输入__ PASS__ 用PASS命令输入用户信箱__ STAT 输入STAT命令,服务器将告诉用户共有多少封信件在信箱中 LIST 显示信件个数、序号和每个信件的大小 TOPnm 显示第n个信件前m行的内容 RETRn RETR命令可以显示第n个信件的全部内容 DELEn DELE命令用来删除指定的第n个信件 RESTn REST命令可以恢复被删除的n个信件 LAST LAST命令可以显示下一个信件的编号 NOOP NOOP命令不执行任何操作,仅用来测试服务器的响应是否正常 QUIT QUIT退出POP3服务器,结束信件查阅过程[要求]用telnet方式登陆自己的邮箱,进行收发邮件的实验,掌握收发邮件的命令及过程仿照上述{举例}中的过程,将自己的实验过程记录下来,写在下面实验二基于TCP/UDP的Socket编程[实验目的]熟悉和掌握socket编程的基本理论和方法掌握基于TCP和UDP的工作原理以及Socket编程的一般方法,能够编写简单的网络应用程序[实验要求]请在以下题目中选择一个,按照要求完成实验,并完成实验报告实验可以分组进行,每2人一组,在报告中注明每个成员的分工编程可以使用任何高级语言,建议使用j__a或C++实验
2.1基于TCPandUDP的socket编程
1、实验内容a利用J__a或C++语言,分别基于TCP和UDP编写一个简单的Client/Server网络应用程序要求实现客户向服务器传输任意一个字符串,服务器将收到的字符串变换成大写后传回客户b修改上述程序,实现服务器根据客户请求,将服务器端指定的文件可靠地传输给客户如果服务器没有指定的文件,服务器将给客户返回一个信息,通知客户其请求文件不存在c有条件的同学可以进一步改进b的程序,使之更实用比如可以请求服务器先传输目录,然后客户根据目录请求传输文件等
2、实验方式每位同学上机编程实验,实验指导教师现场指导程序可参考附录的程序
1、程序
2、程序3和程序4(程序中有错误需完善)
3、实验报告在实验报告中要说明Socket编程的客户端和服务器端主要步骤、利用J__a语言用到的主要类及其主要作用、TCP和UDP编程的主要差异和特点、你所实现的文件传输的程序代码、实验过程和实验结果实验
2.2基于TCP的WebServer
1、实验内容a利用J__a语言,基于TCP编写一个简单的WebServer,要求可以实现单用户简单页面浏览b修改上述WebServer,实现多用户同时连接(多线程)请求
2、实验方式每位同学上机编程实验,实验指导教师现场指导程序可参考附录的程序5(程序中有错误需完善)
3、实验报告在实验报告中要说明实现WebServer的主要步骤、关键类和作用、实现非持续方式(HTTP
1.0)和持续方式(HTTP
1.1)在代码上的主要差异和特点、你所实现的最终WebServer程序代码、实验过程和实验结果实验
2.3基于TCP/UDP的Daytime的客户端和服务器端实验报告要求同实验一参考程序请自己在网络中查找实验
2.4基于TCP/UDP的Echo的客户端和服务器端实验报告要求同实验一参考程序请自己在网络中查找实验
2.5SOCKET编程实现聊天程序1.实验目的1掌握网络应用程序的__方法;2掌握Client/Server结构软件的设计与__方法3掌握Socket机制的工作原理
2.实验前的准备1阅读教材关于TCP/IP协议和Socket的相关内容;2阅读WinSock编程指南;3阅读本实验所附内容;4熟悉VC++
6.0__工具3.实验内容使用Win32Socket函数实现聊天程序能相互对发文本消息4.实验要求1按实验内容进行软件编制和调试2进行功能测试,记录测试步骤3给出程序主要部分流程图实验
2.6SOCKET编程实现miniFTPClient/Server程序1.实验目的1掌握网络应用程序的__方法;2掌握Client/Server结构软件的设计与__方法3掌握Socket机制的工作原理
2.实验前的准备1阅读教材关于TCP/IP协议和Socket的相关内容;2阅读WinSock编程指南;3阅读本实验所附内容;4熟悉VC++
6.0__工具3.实验内容使用Win32Socket函数实现miniFTPclient/Server在客户端实现GETfilePUTfileCDchangeDirectoryPWDdisplaycurrentdirectoryinserver功能4.实验要求1按实验内容进行软件编制和调试2进行功能测试,记录测试步骤3给出程序主要部分流程图附录1参考程序
1、TCPClient.j__aimportj__a.io.*:importj__a.net.*:classTCPClient{publicstaticvoid__inStringargv[]throwsEx__ption{Stringsenten__;StringmodifiedSenten__;BufferedReaderinfromUser=newBufferedReadernewInputStreamReaderSystem.in;SocketclientSocket=newSocket“hostname”67__;DataOutputStreamoutToServer=NewDataOutputStreamclientSocket.getOutputStream;BufferedReaderinfromServer=newBufferedReadernewInputStreamReaderclientSocket.getInputStream;senten__=inFromUser.readLine;outToServer.writeBytessenten__+‘\n’;modifiedSenten__=inFromServer.readLine;System.out.println“FROMSERVER:”+modifiedSenten__;clientSocket.close;}}
2、TCPServer.j__aimportj__a.io.*:importj__a.net.*:classTCPServer{publicstaticvoid__inStringargv[]throwsEx__ption{StringClientSenten__;StringcapitalizedSenten__;ServerSocketwelcomeSocket=newServerSocket67__;Whiletrue{SocketconnectionSocket=welcomeSocket.ac__pt;BufferedReaderinfromClient=newBufferedReadernewInputStreamReaderconnectionSocket.getInputStream;DataOutputStreamoutToClient=newDataOutputStreamconnectionSocket.getOutputStream;ClientSenten__=infromClient.readLine;capitalizedSenten__=clientSenten__.toUpperCase+‘\n’;outToClient.writeBytescapitalizedSenten__;}}}
3、UDPClientimportj__a.io.*;importj__a.net.*;classUDPClient{publicstaticvoid__inStringargs[]throwsEx__ption{BufferedReaderinFromUser=newBufferedReadernewInputStreamReaderSystem.in;DatagramSocketclientSocket=newDatagramSocket;InetAddressIPAddress=InetAddress.getByNametangnat;byte[]sendData=newbyte
[1024];byte[]re__iveData=newbyte
[1024];Stringsenten__=inFromUser.readLine;sendData=senten__.getBytes;DatagramPacketsendPacket=newDatagramPacketsendDatasendData.lengthIPAddress9876;clientSocket.sendsendPacket;DatagramPacketre__ivePacket=newDatagramPacketre__iveDatare__iveData.length;clientSocket.re__ivere__ivePacket;StringmodifiedSenten__=newStringre__ivePacket.getData;System.out.printlnFROMSERVER:+modifiedSenten__;clientSocket.close;}}
4、UDPServerimportj__a.io.*;importj__a.net.*;classUDPServer{publicstaticvoid__inStringargs[]throwsEx__ption{DatagramSocketserverSocket=newDatagramSocket9876;byte[]re__iveData=newbyte
[1024];byte[]sendData=newbyte
[1024];whiletrue{DatagramPacketre__ivePacket=newDatagramPacketre__iveDatare__iveData.length;serverSocket.re__ivere__ivePacket;Stringsenten__=newStringre__ivePacket.getData;InetAddressIPAddress=re__ivePacket.getAddress;intport=re__ivePacket.getPort;StringcapitalizedSenten__=senten__.toUpperCase;sendData=capitalizedSenten__.getBytes;DatagramPacketsendPacket=newDatagramPacketsendDatasendData.lengthIPAddressport;serverSocket.sendsendPacket;}}}
5、WebServer.j__aimportj__a.io.*;importj__a.net.*;importj__a.util.*;classWebServer{publicstaticvoid__inStringargv[]throwsEx__ption{StringrequestMessageLine;Stringfilename;ServerSocketListenSocket=newServerSocket67__;SocketconnectionSocket=ListenSocket.ac__pt;BufferedReaderinfromClient=newBufferedReadernewInputStreamReaderconnectionSocket.getInputStream;DataOutputStreamoutToClient=newDataOutputStreamconnectionSocket.getOutputStream;requestMessageLine=infromClient.readLine;StringTokenizertokenizedLine=newStringTokenizerrequestMessageLine;iftokenizedLine.nextToken.equals“GET”{fileName=tokenizedLine.nextToken;iffilename.startsWith“/”==truefilename=filename.substring1;Filefile=newFilefileName;intnumOfBytes=intfile.length;FileInputStreaminFile=newFileInputStreamfileName;Byte[]fileInBytes=newbyte[numOfBytes];inFile.readfileInBytes;“HTTP/
1.0200DocumentFollows\r\n”;iffilename.endsWith“.jpg”outToClient.writeBytes“Content-Type:i__ge/jpeg\r\n”;iffilename.endsWith“.gif”outToClient.writeBytes“Content-Type:i__ge/gif\r\n”;outToClient.writeBytes“Content-Length:”+numOfBytes+“\r\n”;outToClient.writeBytes“\r\n”;outToClient.writefileInBytes0numOfBytes;connectionSocket.close;}elseSystem.out.println“BadRequestMessage”;}}附录2网络编程接口WinSockAPI使用WinSockAPI的编程,应该了解TCP/IP的基础知识虽然你可以直接使用WinSockAPI来写网络应用程序,但是,要写出优秀的网络应用程序,还是必须对TCP/IP协议有一些了解的
1.TCP/IP协议与WinSock网络编程接口的关系WinSock并不是一种网络协议,它只是一个网络编程接口,也就是说,它不是协议,但是它可以访问很多种网络协议,你可以把他当作一些协议的封装现在的WinSock已经基本上实现了与协议无关你可以使用WinSock来调用多种协议的功能那么,WinSock和TCP/IP协议到底是什么关系呢?实际上,WinSock就是TCP/IP协议的一种封装,你可以通过调用WinSock的接口函数来调用TCP/IP的各种功能.例如我想用TCP/IP协议发送数据,你就可以使用WinSock的接口函数Send来调用TCP/IP的发送数据功能,至于具体怎么发送数据,WinSock已经帮你封装好了这种功能
2、TCP/IP协议介绍TCP/IP协议包含的范围非常的广,他是一种四层协议,包含了各种硬件、软件需求的定义TCP/IP协议确切的说法应该是TCP/UDP/IP协议UDP协议UserDatagramProtocol用户数据报协议,是一种保护消息边界的,不保障可靠数据的传输TCP协议Tran__issionControlProtocol传输控制协议,是一种流传输的协议他提供可靠的、有序的、双向的、面向连接的传输保护消息边界,就是指传输协议把数据当作一条__的消息在网上传输,接收端只能接收__的消息也就是说存在保护消息边界,接收端一次只能接收发送端发出的一个数据包而面向流则是指无保护消息保护边界的,如果发送端连续发送数据,接收端有可能在一次接收动作中,会接收两个或者更多的数据包举例来说,假如,我们连续发送三个数据包,大小分别是2k、4k、8k,这三个数据包都已经到达了接收端的网络堆栈中,如果使用UDP协议,不管我们使用多大的接收缓冲区去接收数据,我们必须有三次接收动作,才能够把所有的数据包接收完而使用TCP协议,我们只要把接收的缓冲区大小设置在14k以上,我们就能够一次把所有的数据包接收下来,只需要有一次接收动作这就是因为UDP协议的保护消息边界使得每一个消息都是__的而流传输,却把数据当作一串数据流,它不认为数据是一个一个的消息所以有很多人在使用TCP协议通讯的时候,并不清楚TCP是基于流的传输,当连续发送数据的时候,他们时常会认识TCP会丢包其实不然,因为当他们使用的缓冲区足够大时,他们有可能会一次接收到两个甚至更多的数据包,而很多人往往会忽视这一点,只解析检查了第一个数据包,而已经接收的其他据包却被忽略了3.WinSock编程简单流程WinSock编程分为服务器端和客户端两部分,TCP服务器端的大体流程如下对于任何基于WinSock的编程首先必须要初始化WinSockDLL库intWSAStarupWORDwVersionRequestedLPWSADATAlpWsADatawVersionRequested是我们要求使用的WinSock的版本调用这个接口函数可以初始化WinSock然后必须创建一个套接字SocketSOCKETSocketintafinttypeintprotocol;套接字可以说是WinSock通讯的核心WinSock通讯的所有数据传输,都是通过套接字来完成的,套接字包含了两个信息,一个是IP地址,一个是Port端口号,使用这两个信息,就可以确定网络中的任何一个通讯节点当调用了Socket接口函数创建了一个套接字后,必须把套接字与你需要进行通讯的地址建立__,可以通过绑定函数来实现这种__intbindSOCKETsconststructsockaddrFAR*nameintnamelen;structsockaddr_in{shortsin_family;u_shortsin_prot;structin_addrsin_addr;charsin_sero
[8];}就包含了需要建立连接的本地的地址,包括地址族、IP和端口信息sin_family字段必须把它设为AF_INET,这是告诉WinSock使用的是IP地址族sin_prot就是要用来通讯的端口号sin_addr就是要用来通讯的IP地址信息在这里,必须还得提一下有关大头big-endian小头little-endian因为各种不同的计算机处理数据时的方法是不一样的,IntelX86处理器上是用小头形式来表示多字节的编号,就是把低字节放在前面,把高字节放在后面,而互联网标准却正好相反,所以,必须把主机字节转换成网络字节的顺序WinSockAPI提供了几个函数把主机字节转化成网络字节的函数;u_longhtonlu_longhostlong;u_shorthtonsu_shorthostshort;把网络字节转化成主机字节的函数;u_longntohlu_longnetlong;u_shortntohsu_shortnetshort;这样,设置IP地址和port端口时,就必须把主机字节转化成网络字节后,才能用Bind函数来绑定套接字和地址当绑定完成之后,服务器端必须建立一个监听的队列来接收客户端的连接请求intlistenSOCKETsintbacklog;这个函数可以把套接字转成监听模式如果客户端有了连接请求,我们还必须使用intac__ptSOCKETsstructsockaddrFAR*addrintFAR*addrlen;来接受客户端的请求现在基本上已经完成了一个服务器的建立,而客户端的建立的流程则是初始化WinSock,然后创建Socket套接字,再使用intconnectSOCKETsconststructsockaddrFAR*nameintnamelen;来连接服务端下面是一个最简单的创建服务器端和客户端的例子服务器端的创建WSADATAwsd;SOCKETsListen;SOCKETsclient;UINTport=800;intiAddrSize;structsockaddr_inlocalclient;WSAStartup0x11wsd;sListen=SocketAF_INETSOCK_STREAMIPPOTO_IP;local.sin_family=AF_INET;local.sin_addr=htonlINADDR_ANY;local.sin_port=htonsport;bindsListenstructsockaddr*localsizeoflocal;listensListen5;sClient=ac__ptsListenstructsockaddr*clientiAddrSize;客户端的创建WSADATAwsd;SOCKETsClient;UINTport=800;charszIp[]=
127.
0.
0.1;intiAddrSize;structsockaddr_inserver;WSAStartup0x11wsd;sClient=SocketAF_INETSOCK_STREAMIPPOTO_IP;server.sin_family=AF_INET;server.sin_addr=inet_addrszIp;server.sin_port=htonsport;connectsClientstructsockaddr*serversizeofserver;当服务器端和客户端建立连接以后,无论是客户端,还是服务器端都可以使用intsendSOCKETsconstcharFAR*bufintlenintflags;intrecvSOCKETscharFAR*bufintlenintflags;函数来接收和发送数据,因为,TCP连接是双向的当要关闭通讯连结的时候,任何一方都可以调用intshutdownSOCKETsinthow;来关闭套接字的指定功能,再调用intcloseSocketSOCKETs;来关闭套接字句柄,这样一个通讯过程就算完成了注意上面的代码没有任何检查函数返回值,如果你作网络编程就一定要检查任何一个WinSockAPI函数的调用结果,因为很多时候函数调用并不一定成功上面介绍的函数,返回值类型是int的话,如果函数调用失败的话,返回的都是SOCKET_ERROR4.WinSock编程的模型上面介绍的仅仅是最简单的WinSock通讯的方法,而实际中很多网络通讯的却很多难以解决的意外情况例如,WinSock提供了两种套接字模式锁定和非锁定当使用锁定套接字的时候,使用的很多函数,例如accpet、send、recv等等,如果没有数据需要处理,这些函数都不会返回,也就是说,你的应用程序会阻塞在那些函数的调用处而如果使用非阻塞模式,调用这些函数,不管你有没有数据到达,他都会返回所以有可能我们在非阻塞模式里,调用这些函数大部分的情况下会返回失败,所以就需要我们来处理很多的意外出错这显然不是我们想要看到的情况我们可以采用WinSock的通讯模型来避免这些情况的发生WinSock提供了五种套接字I/O模型来解决这些问题他们分别是select选择,WSAAsyncSelect异步选择,WSAEventSelect__选择,overlapped重叠,completionport完成端口这里详细介绍一下select,WSAASyncSelect两种模型Select模型是最常见的I/O模型使用intselectintnfdsfd_setFAR*readfdsfd_setFAR*writefdsfd_setFAR*ex__ptfdsconststructtimevalFAR*timeout;函数来检查你要调用的Socket套接字是否已经有了需要处理的数据select包含三个Socket队列,分别代表readfds,检查可读性,writefds,检查可写性,ex__ptfds,例外数据timeout是select函数的返回时间例如,想要检查一个套接字是否有数据需要接收,我们可以把套接字句柄加入可读性检查队列中,然后调用select,如果,该套接字没有数据需要接收,select函数会把该套接字从可读性检查队列中删除掉,所以我们只要检查该套接字句柄是否还存在于可读性队列中,就可以知道到底有没有数据需要接收了WinSock提供了一些宏用来操作套接字队列fd_setFD_CLRs*set从队列set删除句柄sFD_ISSETs*set检查句柄s是否存在与队列set中FD_SETs*set把句柄s添加到队列set中FD_ZERO*set把set队列初始化成空队列WSAAsyncSelect异步选择模型WSAASyncSelect模型就是把一个窗口和套接字句柄建立起连接,套接字的网络__发生时时候,就会把某个消息发送到窗口,然后可以在窗口的消息响应函数中处理数据的接收和发送intWSAAsyncSelectSOCKETsHWNDhWndunsignedintwMsglonglEvent;这个函数可以把套接字句柄和窗口建立起连接,wMsg是我们必须自定义的一个消息lEvent就是制定的网络__包括FD_READFD_WRITEFD_AC__PTFD_CONNECTFD_CLOSE几个__例如,需要接收FD_READFD_WRITEFD_CLOSE的网络__可以调用WSAAsyncSelectshWndWM_SOCKETFD_READ|FD_WRITE|FD_CLOSE;这样,当有FD_READ,FD_WRITE或者FD_CLO___络__时,窗口hWnd将会收到WM_SOCKET消息,消息参数的lParam标志了是什么__发生,MFC的CSocket类,就是使用这个模型实验三模拟环境下的路由器配置
3.1[BosonRouterSimulator
4.3__及注册]下图中,左边的图标是Routersim的__文件,右边的是该软件的破解文件运行bos_rsim.exe文件,启动__程序单击“Next”按钮单击“Next”按钮单击“Next”按钮开始__单击“Finish”按钮__完成“开始”---“程序”---“BosonRouterSimulator”---“BosonRouterSimulator”启动应用程序或者双击桌面上“BosonRouterSimulator”图标来启动应用程序第一次启动时,系统会提示你注册未注册版显示“DEMO”标记请在8秒内单击“RegisterNow”按钮注册过程如下选择“IagreetotheSingleComputerLi__nse”,单击“Next”按钮按格式填写注册信息单击“Next”按钮选择“Try__nualOrdering”按钮__“Serial”文本框中的内容到剪贴板启动破解文件Keygen.exe将刚__的“Serial”文本框中的内容粘贴在下图中的“Serial”文本框中破解文件会自动产生相应的Key单击“Copy”按钮将“Key”文本框中的内容__到剪贴板将存放在剪贴板上的“Key”粘贴到下图的“Key”文本框中单击“Pro__ssKey”按钮系统提示注册成功单击“确定”按钮,进入系统得第一个界面“ChooseYourTopology”
3.2[BosonRouterSimulator启动及使用]启动BosonRouterSimulator启动界面如下,选择“LoadSimulatorusingDefaults”,然后再单击“Next”按钮进入主界面,在“LabN__igator”窗口中单击“CCNA
2.0Labs”,可以看到我们要求做的实验列表BosonLab#BosonLabNameTopicCovered1BasicsIntrodu__stherouterandgetsyoustartedwithsomebasiccom__nds2ShowCoverstheshowcom__ndsandsomefeaturesoftheCiscoIOS3CDPCoverstheCiscoDiscoveryProtocolalayer2infor__tionprotocol4ExtendedBasicsSetsomebasicrouterconfigurations5RouterBannersSettheRoutersBannerMOTDMessageoftheDay6CopyUnderstands__ingtherouterconfigurations7Inte_____sIntroductiontointe_____configurationhowtoconfigureandmonitorinte_____sontherouter 8 IPCoverssettingIPaddressesoninte_____s9ARPLabBecomefamiliarwiththeroutersshowarpandcleararpcom__nds10HostTableConfigureaHostTableonyourRouter11StaticRoutesIntrodu__sStaticRoutesintoyournetwork12 RIPCoversEnablingRIPRoutingProtocol13 IGRPCoversEnablingIGRPRoutingProtocol14PPP/CHAPIntrodu__sPPPEncapsulationonSerialLinkswithCHAPAuthentication15S__ingRouterConfigsCoverstheo__ectivesfors__ingaroutersconfigstoatftpserver16LoadingRouterConfigsCoverstheo__ectivesforloadingarouterconfigurationfromatftpserver.17ISDNCoverstheo__ectivesforestablishinganISDNconnection18IPXCoverstheo__ectivesforEnablingIPXonyournetwork19SwitchesIntrodu__saSwitch20BasicSwitchesExploretheswitchwithsomebasiccom__nds21FrameRelayTobecomefamiliarwithWANtechnologyrelatedtoFrameRelay单击第二列中的试验的名字,可以进入相应实验下面以第一个实验“basics”进行实验过程的说明在上图中的实验列表中单击名称列中的“basics”,打开实验指导界面实验的网络拓扑如下注意经常保存实验结果在“File”菜单中有“S__eRouterConfig”和“S__eNetworkConfig”两个命令,分别用于保存路由器配置和网络配置先Lesson后Lab将操作过程__下来,存成文本文档,并按实验名称命名存储还要将整个过程粘贴在实验报告中__实验操作过程到剪贴板的方法在要__的路由器设置窗口中单击鼠标右键,再弹出的快捷菜单中选择“全选”,然后再单击鼠标右键,再弹出的快捷菜单中选择“__”,这样就将整个操作过程__到了剪贴板上可以直接贴到实验报告中,也可以粘贴到记事本中,以文本文件格式存储每个实验s__erouterconfig注意保存的位置和文件名[实验报告主要内容]每1人一组完成实验报告正文页[实验目的]掌握网络中路由的实现过程;路由器的基本配置方法;常用的配置命令;路由器的功能[实验介绍](对每个实验做介绍,包括实验的主要内容等,即说明这个实验是做什么的)20%[实验过程](按照每一步的任务,写出每步用的命令,并对结果进行简单说明)40%[实验收获](总结全部实验做完以后,你学到什么?有何体会?)20%[实验习题]将答案写在横线上20%
3.3实验习题
一、BasicUserInte_____Lab
1.ConnecttoRouter1andviewallthe__ailablecom__nds. Whatcom__nddidyouusetodothis_____________
2.NowenterPrivilegemode. Whatcom__nddidyouuse ______________
3.Viewall__ailablecom__ndsforPrivilegemode.Whatcom__nddidyouuse_________________
4.Viewalistofall__ailableShowcom__nds.Whatdidyoutype__________________
5.Takealookattheroutersrunningconfiguration.Whatcom__nddidyouuse_________________
6.Gobackintousermode.Whatcom__nddidyouuse__________________
二、BasicShowCom__ndsLab
1.LogintotheRouterandgettothePrivilegedModePrompt#.
2.Viewyourunningconfiguration.
3.DisplaythecontentsoftheFlashmemory. WhatisthenameoftheIOSinFlash___________________ HowbigistheIOSinFlash__________________________ HowmuchFlashmemoryisfree______________________
4.Displaytheinfor__tionaboutallofthelayer-threeprotocolsthatarecurrentlybeingroutedintherouter. Whatcom__nddidyouusetodothis___________________ Whatprotocolsareenabledontherouter_________________ How__nyinte_____sareUP______andhow__nyareAdministrativelydown___________
5.Viewallthelistofallcom__ndsyouh__eenteredsofar.Whatcom__nddidyouuse____________________ How__nycom__ndsh__eyouenteredsofar_____________
6.Whatkeystrokeswouldenableyoutobringupthepreviouscom__ndyouentered______________and___________
7.Whatcom__ndwillletyouviewcriticalinfor__tionsuchas:routeruptimerouterplatformtypeoperatingsystemrevisionamountofmemorynumberofinte_____sandtheconfigurationregister___________________ WhereistheIOSStored_________________ WhatistheRouterPlatform_______________ TotalamountofNVRAMontheRouter_______________ WhatistheconfigurationRegistervalue______________ How__nyEthernetinte_____sdoesthisrouterh__e______ How__nySerialInte_____s________
8.Displaytherouterstimeanddate. Whatcom__ndwillaccomplishthis_________________
9.Whattimedoestherouterthinkitis
10.Listallthehostentriesinyourrouter. Whatcom__ndwilldothis________________________________
11.Whatcom__ndwilldisplayalltheusersconnectedtoyourrouter____________________________
12.Whatcom__ndwilldisplaytheglobalandinte_____specificlayer3infor__tion_____________________________
三、BasicCom__ndsLab
1.ConnecttoRouter1andviewallthe__ailablecom__nds. Whatcom__nddidyouusetodothis_____________
2.NowenterPrivilegemode. Whatcom__nddidyouuse ______________
3.Viewall__ailablecom__ndsforPrivilegemode.Whatcom__nddidyouuse_________________
4.Whatcom__ndwillgetyouintoconfigurationmode ______________
5.NowsettheroutershostnametoKrang. Whatcom__nddidyouusetodothis_______________
6.Nowwewillsettheenablepasswordtoboson. Whatcom__ndwilldothis_________________
7.Testthepasswordbyloggingoutoftherouterandthentryingtoenterenablemode.
8.Setthesecretpasswordtocisco.Whatcom__nddidyouusetodothis________________
9.Logoutoftherouteragainandenterprivilegemode. Whatpasswordwasrequired_______________
四、BasicCopyCom__ndsLab
1.LogintotheRouterandgettothePrivilegedModePrompt#.
2.Viewyourunningconfiguration._____________________
3.ShowyourconfigurationstoredinNVRAM.Didyouseeanything_____________________
4.NowcopyyourcurrentactiveconfigurationintoNVRAM. Whatcom__ndwilldothis___________________
5.NowagainshowyourconfigurationstoredinNVRAM._____________________
6.EraseyourconfigurationstoredinNVRAM. _____________________
7.Reloadtherouteranddonots__eyourchangeswhatcom__nddidyouuse__________________
8.NowagainshowyourconfigurationstoredinNVRAM._____________________
9.ChangeyourroutershostnametoBosonwhatcom__nddidthis________________________
10.Reloadtherouteragainbutthistimes__eyourchanges.
11.Noti__thatyourhostnamewasnotdeleted. Thisisbecausewes__edourconfiguration.
五、Inte_____ConfigurationLabThegoalofthislabistogettheSerialandEthernetinte_____onbothRouter_AandRouter_Bup.
1. ConnecttobothrouterAandB. ChangetherouternametoRaandRbrespectively.Whatcom__nddidyouusetochangetheroutername __________________
2. Whatisthestatusoftheinte_____s Whatcom__nddidyouusetoseethestatusoftheinte_____Com__nd________________StatusEthernet0 ___________________StatusSerial0 ___________________StatusBRI0 ___________________
3. OnbothAandBenabletheserialandethernetinte_____s. Viewthatstatusoftheinte_____sonRaandRb. WhichareUpUpCircletheUPandUPinte_____s:Ra E0 S0 BRI0Rb E0 S0 BRI
04. AddadescriptiontotheSerialinte_____. Howcanyouviewthatdescription_______________________________
5. S__eyourconfigurationtoNVRAM.
六、IPADDRESSESLAB
1.FirstyouwanttoconnecttorouteroneassignahostnameofRouter1whatcom__nddidyouuse________________________________
2.WhatmodemustyoubeintosettheIPaddressonaninte_______________________
3.Whatcom__ndwillsettheipaddressontheEthernet0inte_____to
10.
1.
1.
1255.
255.
255.0 ____________________________
4.Nowyouneedtoenabletheinte_____.Whatcom__nddidyouuse______________________
5.NowsettheipaddressontheS0inte_____ofRouter1to
172.
16.
10.
1255.
255.
255.0Whatcom__ndwilldothis_____________________________
6.NextclickonthebuttonRouter2atthetopofyourscreen.
7.AssignahostnameorRouter
2.Whatcom__nddidyouuse___________________
8.SettheipaddressfortheEthernet0inte_____to
10.
1.
1.
2255.
255.
255.
0. Whatcom__nddidyouuse_________________________
9.Enabletheinte_____whatcom__nddoesthis___________________
10.NowclickonthebuttonRouter4atthetopofyourscreen.
11.Assignanipaddressof
172.
16.
10.
2255.
255.
255.0ontheserial0inte_____.Whatcom__nddidyouuse_________________________
12.__kesureyouenabletheinte_____.Whatcom__nddidyouuse_________________________
13.ConnectbacktoRouter
114. TryandpingRouter2sEthernetinte_____Whatcom__ndallowsyoutoping_________________________
15.TryandpingRouter4sSerial0inte_____.WhataddressistheSerial0inte_____________________________
16.Whatcom__ndwillletyouverifythatyourinte_____sareupandup_________________________________
17.Viewyourrunningconfigurationandverifytheipaddressesappear.Whatcom__ndallowsyoutoviewyourrunning-configuration__________________________________
18.Viewdetailedipinfor__tionabouteachinte_____.Whatcom__ndwilldothis_____________________
七、ARPTABLELAB
1.Firstyouwanttoconnecttorouteroneandviewyourarptablewhatcom__ndwilldothis___________________
2.Nextyouneedtoassignaipaddressof
10.
1.
1.1/24 totheEthernet0inte_____.Whatcom__ndwillsettheipaddressonyourethernetinte__________________________________
3.NowviewyourARPtableagain.How__nyentriesdoyouh__enow__________
4.SelectRouter2fromthebuttonmenu.
5.SetRouter2sEthernet0inte_____ipaddressto
10.
1.
1.2/
246.Youshouldnowh__eaconnectionbetweenyourRouter1andRouter2Ethernetinte_____s.ToensurethattheconnectionisfunctionalpingyourRouter1Ethernet0IPaddress.Whataddressdidyouping___________________________
7.NowviewyourARPtableandnoti__theentry.Whataddressisitandhowwasitlearned___________________________
8.Nowthatyouh__ebuiltanARPtablegoaheadandclearit.Whatcom__ndwillcleartheARPtable___________________
9.ViewyourARPtableonelasttimeandnoti__whatentriesarethere.How__nyentriesdoyouh__e____________________
八、RIP
1.ConfiguretheRouters12and4tothespecificationsoutlinedinthetableaboveandthediagrambelow.
2.Afteryouh__econfiguredyouripaddressoneachinte_____verifythatyoucanpingyourdirectlyconnectednei___ors. ThatmeanswhenyouareonRouter1youshouldbeabletopingRouter2sEthernet0inte_____andRouter4sSerial0inte_____.
3.Nowthatweh__eouripaddresssetupcorrectlyletsgetintoconfiguringRipasourroutingprotocol. ThisisveryeasytodofirstweneedtogetintorouterconfigurationmodeonRouter
1.Whatcom__nddoesthis
4.Nowenterthecom__ndtoconfiguretherouterforRIP.
5.AddthenetworksthatRouter1isdirectlyconnectedto.Whatstatementswilldothis_________________________
6.Nowyouh__eRouter1configuredforRIPconnecttoRouter2andenterconfigurationmode._________________________
7.AddRiproutingprotocoltotherouter. Whatcom__nddoesthis_________________________
8.AddthenetworksthatRouter2isdirectlyconnectedto.Whatstatementswilldothis_________________________
9.Nowyouh__eRouter2configuredforRIPconnecttoRouter4andenterconfigurationmode._________________________
10.AddRiproutingprotocoltotherouter. Whatcom__nddoesthis_________________________
11.AddthenetworksthatRouter4isdirectlyconnectedto.Whatstatementswilldothis_________________________
12.Nowweshouldh__eRIPrunningonallthreeofourrouters. TypectrlZtoexittoprivilegedmodeandletsseeifwecanpingnondirectlyconnectedrouters. FromRouter1youshouldnowbeabletopingRouter4sSerial0inte_____withipaddress
172.
16.
10.
2. Letstryit!
13.NextletsconnecttoRouter4andpingRouter1sEthernet0inte_____withIPaddress
10.
1.
1.
214.Ifyoucanpingbothdevi__CONGRATULATIONSyouarerouting.Ifyoucannottra__yourselfbackthroughthesteps. NowletsviewourroutingtableonourRouter
4. Whatcom__ndwilldothat_________________________How__nyRipRoutesdoyousee______
15.Letsview thespecificroutingprotocolinfor__tiononourrouter. Whatcom__ndwilldothis_________________________WhatversionofRIPareyousending_________________________Howoftenaretheupdatesbeingsent_________________________Whatnetworksareyouroutingfor _________________________Whatisthedefaultadministrativedistan___________________________
九、IGRP
1.ConfiguretheRouters12and4tothespecificationsoutlinedinthetableaboveandthediagrambelow.
2.Afteryouh__econfiguredyouripaddressoneachinte_____verifythatyoucanpingyourdirectlyconnectednei___ors. ThatmeanswhenyouareonRouter1youshouldbeabletopingRouter2sEthernet0inte_____andRouter4sSerial0inte_____.
3.Nowthatweh__eouripaddresssetupcorrectlyletsgetintoconfiguringIGRPasourroutingprotocol. ThisisveryeasytodofirstweneedtogetintorouterconfigurationmodeonRouter
1.Whatcom__nddoesthis
4.Nowenterthecom__ndtoconfiguretherouterforIGRPwiththeAutonomousSystem#
100.
5.AddthenetworksthatRouter1isdirectlyconnectedto.Whatstatementswilldothis_________________________
6.Nowyouh__eRouter1configuredforIGRPconnecttoRouter2andenterconfigurationmode._________________________
7.AddIGRProutingprotocoltotherouterwiththeAutonomousSystem#
100. Whatcom__nddoesthis_________________________
8.AddthenetworksthatRouter2isdirectlyconnectedto.Whatstatementswilldothis_________________________
9.Nowyouh__eRouter2configuredforIGRPconnecttoRouter4andenterconfigurationmode._________________________
10.AddIGRProutingprotocoltotherouterwiththeAutonomousSystem#
100. Whatcom__nddoesthis_________________________
11.AddthenetworksthatRouter4isdirectlyconnectedto.Whatstatementswilldothis_________________________
12.Nowweshouldh__eIGRPrunningonallthreeofourrouters. TypectrlZtoexittoprivilegedmodeandletsseeifwecanpingnondirectlyconnectedrouters. FromRouter1youshouldnowbeabletopingRouter4sSerial0inte_____withipaddress
172.
16.
10.
2. Letstryit!
13.NextletsconnecttoRouter4andpingRouter1sEthernet0inte_____withIPaddress
10.
1.
1.
214.Ifyoucanpingbothdevi__CONGRATULATIONSyouarerouting.Ifyoucannottra__yourselfbackthroughthesteps. NowletsviewourroutingtableonourRouter
4. Whatcom__ndwilldothat_________________________How__nyIGRPRoutesdoyousee______
15.Letsview thespecificroutingprotocolinfor__tiononourrouter. Whatcom__ndwilldothis_________________________Howoftenaretheupdatesbeingsent_________________________Whatnetworksareyouroutingfor _________________________Whatisthedefaultadministrativedistan___________________________
十、S__ingRouterConfigurationsThegoalofthislabistoteachyouhowtobackupyourroutersconfigurationincasetheyareaccidentallydeletedorlost.
1. ConnecttoRouter1andenterenablemode.NextenterconfigurationmodeandassigntherouterahostnameofTampa.Whatcom__nddidyouusetochangetheroutername __________________
2. NextentertheEthernet0inte_____.Com__nd________________
3. AssignanIPaddressof
24.
37.
2.
1255.
255.
255.0torouterTampaandenabletheinte_____.
4. FromPC1typethecom__ndtoconfigureitsIPaddressanddefaultgateway.PC1Com__nd_______________________________
5. SettheIPaddressofPC1to
24.
37.
2.
252255.
255.
255.0withadefaultgatewayofRouterTampasEthernet0IPaddress
24.
37.
2.
1.Thenpingtheconnection.
6. ConnectbacktoRouterTampaandenterprivilegedmode.Com__nds_______________________________
7. CopytherunningconfigurationtothetftpserveronPC
1.Whatcom__nddidyouuse___________________________________________
8. ConnectbacktoPC1andenterthecom__ndusedtoviewtheconfigurationfilesthatarestoredonthetftpserver.Com__nd_____________________________________
十一、BasicCom__ndsLab
1.ConnecttoSwitch1andviewallthe__ailablecom__nds. Whatcom__nddidyouusetodothis_____________
2.NowenterPrivilegemode. Whatcom__nddidyouuse ______________
3.Viewall__ailablecom__ndsforPrivilegemode.Whatcom__nddidyouuse_________________
4.Whatcom__ndwillgetyouintoconfigurationmode ______________
5.NowsettheswitchshostnametoBoson. Whatcom__nddidyouusetodothis_______________
6.NowwewillsettheenablepasswordtoKrang. Whatcom__ndwilldothis_________________
7.Testthepasswordbyloggingoutoftheswitchandthentryingtoenterenablemode.
8.Setthesecretpasswordtocisco.Whatcom__nddidyouusetodothis________________
9.Logoutoftheswitchagainandenterprivilegemode. Whatpasswordwasrequired_______________
七、实验主要仪器名称实验环境硬件环境IBM-PC或兼容机,Internet接入软件环境Windows、J__A或C++
八、课程设计交付成果说明1实验报告每个学生提交个人实验报告(电子和纸质)2软件程序软件中应当包含个人完成的__源代码、数据结构定义说明及程序注释3注意事项注
1.在老师未审核和未给出成绩之前,个人应当有完整的程序备份;注
2.学生应在规定的时间内将实验报告交给试验指导教师__拷贝key的Serial粘贴到这里实验当前步骤的操作方法实验列表、实验教程和实验内容切换链接实验步骤全部实验当前实验察看拓扑设备切换最小化的各个窗口网络拓扑。