计 算 机 网 络
实验指示书
清华大学计算机科学与技术系
2000 年 10 月
计算机网络实验指示书
第 2 页
前 言
《计算机网络》课程是计算机科学与技术专业的重要专业课程之一。随着计算
机网络技术的迅速发展和在当今信息社会中的广泛应用,给《计算机网络》课程的
教学提出了新的更高的要求。
由于计算机网络是一门实践性较强的技术,课堂教学应该与实践环节紧密结
合。将《计算机网络》课程建设成世界一流的课程,是近期《计算机网络》课程努
力的方向。
我校自 1984 年开始为本科生同学开设了《计算机网络》课程,当时由于设备
紧张,基本没有实践环节。1991 年,在系领导和教研室的大力支持下,我们筹建
了《计算机网络》的教学实验环境。这个实验环境为同学提供了基本的网络操作和
功能,在当时达到了国外高等院校和科研机构的计算机网络基本水平,这个实验环
境为我系的《计算机网络》课程的教学作出了巨大的贡献。1998 年,我们由重新
改建了实验环境。目前,本实验室拥有 30 台 SUN 公司的 ULTRA 5 工作站和一台
ULTRA 10 作为服务器。现在的网络实验环境不逊于世界各知名学府,在这样良
好的硬件环境下,我们就在软件上也力争达到世界先进水平。所以,我们重新编写
了实验指示书,调整了实验安排,加大了实践力度。希望同学们能够充分利用实验
条件,认真完成实验,从实验得到应有的锻炼和的培养。
希望同学们在使用本实验指示书及进行实验的过程中,能够帮助我们不断地发
现问题,并提出建议,使《计算机网络》成为具有世界一流水平的课程。本学期授
课教师为吴建平,徐明伟,参与网络课教学环节的同学还有赵邑新、陈东洛、王彬、
盛利杰、鱼小丽、韩博、吴茜、林云峰、吴英华;此外周树云等老师和章淼等同学
也给予了热情的支持和帮助。
计算机网络实验指示书
第 3 页
目 录
前 言 .................................................................................................................... 2
实验要求 ................................................................................................................ 4
实验准备及简要上机指示 ..................................................................................... 5
1 上机基本操作 ............................................................................................. 5
2 网络基本操作 ............................................................................................. 6
3 书写 makefile 工程文件.............................................................................. 7
4 编译器 ......................................................................................................... 8
5 注意事项 ..................................................................................................... 8
实验一 数据链路层协议的设计与实现 ............................................................... 9
1 实验目的 ..................................................................................................... 9
2 实验内容 ..................................................................................................... 9
3 模拟实现环境及其使用.............................................................................. 9
4 实验步骤和注意事项................................................................................ 10
实验二 文件传输协议的设计与实现 ................................................................. 11
1 实验目的 ................................................................................................... 11
2 实验内容和要求........................................................................................ 11
3 实验说明 ................................................................................................... 11
4 实验帮助 ................................................................................................... 12
5 注意事项 ................................................................................................... 13
实验三 协议状态机的简单实现 ......................................................................... 14
1 实验目的 ................................................................................................... 14
2 实验内容和要求........................................................................................ 14
3 实验说明 ................................................................................................... 16
4 实验帮助 ................................................................................................... 16
5 参考文献 ................................................................................................... 17
选做实验- 传输控制协议的简单实现 ............................................................. 18
1 实验目的 ................................................................................................... 18
2 实验要求 ................................................................................................... 18
3 模拟实现环境及其使用............................................................................ 19
3.1 向下的接口....................................................................................... 19
3.2 向上的接口....................................................................................... 19
3.3 测试 .................................................................................................. 20
3.4 编译和运行....................................................................................... 20
选做实验-附录 TCP 协议的实现范例 ............................................................. 21
1 实现结构 ................................................................................................... 21
2 数据结构 ................................................................................................... 21
3 推荐参考文献 ........................................................................................... 21
计算机网络实验指示书
第 4 页
实验要求
计算机网络是现代信息社会最重要的基础设施之一。在过去十几年里得到了迅
速的发展和应用。《计算机网络原理》课程实验的目的是为了使学生在课程学习
的同时,通过在一个计算机网络环境中的实际操作,对现代计算机网络的基本功
能有一个初步的了解;通过实现一个数据链路层协议,掌握计算机网络通信协议
的基本实现技术;通过一个简单文件传送协议的设计和实现,了解计算机网络高
层协议设计实现的环境和方法;通过实现一个简单的协议状态机了解、掌握协议
实现中这一重要技术;还提供了一些选做实验以供有余力有兴趣的同学进一步提
高。总之,通过上述实验环节,使学生加深了解和更好地掌握《计算机网络原理》
课程教学大纲要求的内容。
在《计算机网络原理》的课程实验过程中,要求学生做到:
(1)预习实验指示书有关部分,认真做好实验内容的准备,就实验可能出现
的情况提前作出思考和分析。
(2)仔细观察上机和上网操作时出现的各种现象,记录主要情况,作出必要
说明和分析。
(3)认真书写实验报告。实验报告包括实验目的和要求,实验情况及其分析。
对需编程的实验,写出程序设计说明,给出源程序框图和清单。
(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(5)实验课程不迟到,不早退。如有事不能出席,需要向辅导教师请假,所
缺实验一般不补。
实验的验收将分为两个部分。第一部分是上机操作,包括检查程序运行和即时
提问。第二部分是提交书面的实验报告。此外,针对以前教学中出现的问题,网
络实验将采用阶段检查方式,每个实验都将应当在规定的时间内完成,过期视为
未完成该实验,以避免期末集中检查产生的诸多不良问题,希望同学们抓紧时间,
合理安排,认真完成。
计算机网络实验指示书
第 5 页
实验准备及简要上机指示
网络课实验上机地点安排在东主楼 9 区 414 室,环境为约 30 台 Sun Ultra-5 工
作站和一台 Sun Ultra-10 工作站、软件为 Solaris 2.5.1,Openwin 所构成的网络环
境。并通过 NIS+ 软件将全部用户的帐号和文件管理在一台 Sun Ultra- 10 工作站
上,该 Ultra-10 充当 NIS+ 服务器,其余 Ultra- 5 为 NIS+客户机。
作为基础,同学应当了解 UNIX 系统上的基本操作,并学习掌握其他有关知识,
本部分将提供三个方面的基础知识以方便同学使用系统进行实验:上机基本操作,
介绍开机,关机,登录,修改密码等操作;网络基本操作,telnet,ftp;工程文件,
书写 makefile 的基础知识等。更详细的内容及深入知识同学可根据个人需要及兴
趣查阅有关技术资料。
1 上机基本操作
1.1 开机与关机
由于实验环境提供给每位同学的是一台完整主机(不是终端),系统启动是在
本机硬盘上,只用用户帐号和密码管理在服务器上,编译程序时也使用本机资源,
由于操作系统 UNIX / Solaris 的文件系统管理组织方式,对于文件系统的完整性有很
高的要求,非正常关机会造成文件系统不完整,至使系统下次启动故障,严重时
需要重新安装系统! 因此要求同学严格按照操作规程进行。如遇特殊情况,可以请
辅导教师或系统管理员协助解决。
开机与关机:
开机:打开主机后部的开关,并且打开显示器开关(显示器正面最右边按钮)
关机:首先退出用户自己的帐号,回到系统提示登录状态
Login: halt
Password : halthalt (连续输入两个 halt 作为密码)
出现 ok 后,同时按住 Shift 键和键盘最右上角的键可以关闭系统,并关闭主
机后部开关(否则第二天加电后系统就会自行启动),并且关闭显示器。
修改密码:
系统管理员为网络课开放了 ne0000 到 ne0199 的帐号,对于学号在 971209 到
971380 之间的同学,帐号为 ne0 + (学号后三位 - 200,并补 0 补足三位),
比如 971209 的帐号为 ne0009,971232 的帐号为 ne0032,971315 的帐号为 ne0115。
其他同学可向辅导教师申请一个帐号。所有同学选定帐号后,统一登记,以便于
实验及检查。
系统管理员给每个帐号设定的初始密码为 net123,请同学们首次登录后立刻修
改各自的密码!
由于 NIS 软件的存在,修改密码是则可能有两种情况,假设当前密码为 net123,
想把密码修改为 net345:
第一种情况
ne0008@net56_/export/home/student/ne0008 >passwd
passwd: Changing password for ne0008
Enter login(NIS+) password: net123
New password:net345