首页 考试资料幻灯片工程技术公务员考试小学教学中学教学大学教学外语资料
79《计算机网络》实验指导书(软件学院2015)


《计算机网络》实验指导书

哈尔滨工业大学软件学院

《计算机网络》实验指导书

李全龙 2015 年 10 月

1

《计算机网络》实验指导书

《计算机网络》 课程是计算机科学与技术专业的重要专业课程之 一。随着计算机网络技术的迅速发展和在当今信息社会中的广泛应 用,给《计算机网络》课程的教学提出了新的更高的要求。 由于计算机网络是一门实践性较强的技术, 课堂教学应该与实践 环节紧密结合。将《计算机网络》课程建设成世界一流的课程,是近 期《计算机网络》课程努力的方向。 希望同学们在使用本实验指导书及进行实验的过程中, 能够帮助 我们不断地发现问题,并提出建议,使《计算机网络》成为具有世界 一流水平的课程。

2

《计算机网络》实验指导书

实验要求
计算机网络是现代信息社会最重要的基础设施之一。 在过去十几年里得到了迅速的发展 和应用。 《计算机网络》课程实验的目的是为了使学生在课程学习的同时,通过在一个计算 机网络环境中的实际操作, 对现代计算机网络的基本功能有一个初步的了解; 通过实现一个 数据链路层协议, 掌握计算机网络通信协议的基本实现技术; 通过一个简单文件传送协议的 设计和实现, 了解计算机网络高层协议设计实现的环境和方法; 还提供了一些可以选作的实 验以供有余力有兴趣的同学进一步提高。总之,通过上述实验环节,使学生加深了解和更好 地掌握《计算机网络》课程教学大纲要求的内容。 在《计算机网络》的课程实验过程中,要求学生做到: (1)在各次实验之前提前预习实验指导书有关部分,认真做好实验准备, 就实验可能出 现情况提前做出思考和分析。 (2) 仔细观察上机和上网操作时出现的各种现象,记录主要情况,做出必 要说明和分析。 (3)认真书写实验报告。实验报告包括实验目的和要求,实验情况及其分 析。对需要 编程的实验,写出程序设计说明,给出源程序框图和清单。 (4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。 (5)实验课程不迟到。根据迟到时间长短扣除相应出勤分数。无故缺席, 当次实验按 零分计,过后不补。 (6)实验采用当堂检查方式,每个实验都应当在规定的时间内完成并检查 通过。检查 指标包括对实验内容的操作完成情况和对指导老师提出的问题的回答 情况。当堂没有完成 实验的同学,下次课检查,实验操作分按满分 45 分计算,后 推一次课满分扣除 5 分,依次类推。 (7)每次完成实验之后,应在一周内在软件学院教学系统上提交实验报告。 如本周一 进行的实验,在下周一之前应提交到实验系统中。 (8) 部分实验有加分内容,如果完成加分内容,则在操作分数上额外加 5-10 分,但最终全 部实验总分数不超过原定满分。实验的验收将分为两个部分: 实验的验收将分为两个部分: 第一部分是上机操作,包括检查程序的运行或者相应实验操作的熟练程度, 以及能够即时回答实验指导老师提出的问题,对遇到的现象能给出合理的解答。 第二部分是提交电子版的实验报告。根据完成实验报告情况给予相应分数。 本实验指导书包含的实验分为两部分实验一至实验四为必做部分,学生需要在课堂完成 实验后,由指导教师进行实验结果验收。实验五、实验六为选做部分,有兴趣的同学可按指 导书的指导课后完成,完成后联系助教老师进行检查,可相应加分。

3

《计算机网络》实验指导书

实验 1:HTTP 代理服务器的设计与实现
1、实验目的
? ? ? 熟悉并掌握 Socket 网络编程的过程与技术; 深入理解 HTTP 协议,掌握 HTTP 代理服务器的基本工作原理; 掌握 HTTP 代理服务器设计与编程实现的基本技能。

2、实验环境
? ? ? 接入 Internet 的实验主机; Windows xp 或 Windows 7/8; 开发语言:C/C++(或 Java)等。

3、实验内容
(1) 设计并实现一个基本 HTTP 代理服务器。要求在指定端口(例如 8080)接收来自客 户的 HTTP 请求并且根据其中的 URL 地址访问该地址所指向的 HTTP 服务器 (原服务器) , 接收 HTTP 服务器的响应报文,并将响应报文转发给对应的客户进行浏览。 (2) 设计并实现一个支持 Cache 功能的 HTTP 代理服务器。要求能缓存原服务器响应的 对象,并能够通过修改请求报文(添加 if-modified-since 头行),向原服务器确认缓存对象 是否是最新版本。(选作内容,加分项目,可以当堂完成或课下完成) (3) 扩展 HTTP 代理服务器,支持如下功能:(选作内容,加分项目,可以当堂完成或 课下完成) a) 网站过滤:允许/不允许访问某些网站; b) 用户过滤:支持/不支持某些用户访问外部网站; c) 网站引导:将用户对某个网站的访问引导至一个模拟网站(钓鱼)。

4、实验方式
每位同学上机实验,实验指导教师现场指导。

5、实验过程
(1)浏览器使用代理 为了使浏览器访问网址时通过代理服务器, 必须进行相关设置, 以 IE 浏览器设置为例: 打开浏览器?工具?浏览器选项?连接?局域网设置?代理服务器, 具体过程如图 1-1 所示。

4

《计算机网络》实验指导书

图 1-1 浏览器的代理服务器设置 (2)多线程使用 使用函数_beginthreadex 创建子线程,使用函数_endthreadex 结束线程,详情见 CSDN。

6、参考内容
代理服务器,俗称“翻墙软件”,允许一个网络终端(一般为客户端)通过 这个服务与另一个网络终端 (一般为服务器) 进行非直接的连接。 如图 1-2 所示, 为普通 Web 应用通信方式与采用代理服务器的通信方式的对比。

5

《计算机网络》实验指导书

图 1-2 Web 应用通信方式对比

代理服务器在指定端口(例如 8080)监听浏览器的访问请求(需要在客户 端浏览器进行相应的设置),接收到浏览器对远程网站的浏览请求时,代理服务 器开始在代理服务器的缓存中检索 URL 对应的对象(网页、图像等对象),找 到对象文件后, 提取该对象文件的最新被修改时间;代理服务器程序在客户的请 求报文首部插入<If-Modified-Since: 对象文件的最新被修改时间>,并向原 Web 服务器转发修改后的请求报文。如果代理服务器没有该对象的缓存,则会直接向 原服务器转发请求报文, 并将原服务器返回的响应直接转发给客户端,同时将对 象缓存到代理服务器中。代理服务器程序会根据缓存的时间、大小和提取记录等 对缓存进行清理。 本实验需实现一个简单的 HTTP 代理服务器,可以分为两个步骤: (首先请 设置浏览器开启本地代理, 注意设置代理端口与代理服务器监听端口保持一致) 。 a) 单用户代理服务器 单用户的简单代理服务器可以设计为一个非并发的循环服务器。首先,代理 服务器创建 HTTP 代理服务的 TCP 主套接字,通过该主套接字监听等待客户端 的连接请求。当客户端连接之后,读取客户端的 HTTP 请求报文,通过请求行中 的 URL,解析客户期望访问的原服务器 IP 地址;创建访问原(目标)服务器的 TCP 套接字, 将 HTTP 请求报文转发给目标服务器, 接收目标服务器的响应报文, 当收到响应报文之后,将响应报文转发给客户端,最后关闭套接字,等待下一次 连接。 b) 多用户代理服务器
多用户的简单代理服务器可以实现为一个多线程并发服务器。首先,代理服务器创建 HTTP 代理服务的 TCP 主套接字,通过该主套接字监听等待客户端的连接请求。当客户端 连接之后,创建一个子线程,由子线程执行上述一对一的代理过程,服务结束之后子线程终 止。与此同时,主线程继续接受下一个客户的代理服务。 参考代码 #include "stdafx.h" #include <stdio.h> #include <Windows.h> #include <process.h>
6

123456789101112131415161718192021

 


 

  【Top

最新搜索

 

北京科技大学2016年计算机网络实验指导书 - 《计算机 网络》 实验指导书 北京科技大学自动化学院 2015 年 12 月 预习实验数据报文分析 一、实验目的 1、深入理解...

2015湖北师范网络程序设计实验指导书_计算机软件及应用_IT/计算机_专业资料。网络...&lt;/BODY&gt; &lt;/HTML&gt; 运行结果如下: 12 网络程序设计实验指导书 计算机学院 13 ...