计算机网络课程设计书
学 计算机与信息工程学院 院 课程名称 计算机网络 专 业 网络工程 题 目 滑动窗口协议仿真 完成期限 自2015年6月23日至2015年6月29日共1周 一、项目的目的 ? 掌握滑动窗口协议的工作原理,并能够用所学计算机高级语言进行编程模拟其运行过程;培养学生的动手实践和思考能力。? 二,项目任务的主要内容和要求? ? (1)本次设计任务是根据滑动窗口协议的工作原理,在Visual C++ 6.0的平台上用C++语言编写一个基本TCP滑动窗口协议的模拟程序。 (2)要求该程序能够实现滑动窗口协议的发送和接收数据帧功能,在此功能上体现滑动窗口协议的运作。? ? (3) 程序按照滑动窗口协议实现端对端的数据传送。包括协议的各种策略,如包丢失、停等应答、超时等都应有所仿真实现; (4) 显示数据传送过程中的各项具体数据。双方帧的个数变化,帧序号,发送和接受速度,暂停或重传提示等; 内 容 及 任 务 三、项目设计(研究)思路? ? (1) 查阅相关资料,理解滑动窗口协议的工作原理; (2) 设计滑动窗口协议实现端对端数据传送的功能流程图; (3) 编写代码实现滑动窗口协议工作的模拟程序,包括包丢失、停等应答、超时等; (4) 测试程序功能的实现情况。 四、具体成果形式和要求? (1)滑动窗口协议实现端对端数据传送的模拟程序。 (2)按照要求撰写课程设计报告并准备答辩。 进 度 安 排 起止日期 工作内容 了解网络协议编程的基本知识; 了解滑动窗口协议的工作机制; 使用编程语言编写一个滑动窗口协议的模拟程序,按要求实现程序。 最后汇总,调试,答辩 [1] 谢希仁. 计算机网络[M]. 4版. 北京:电子工业出版社, 2003. 主 要 参 考 资 料 [2] 李仁发.何彦. 基于虚拟实验方法的滑动窗口协议分析[J]. 系统仿真学报. 2002. 8 (14) ; 1026 - 1063. [3] 李建中,张冬冬. 滑动窗口规模的动态调整算法[J]. 软件学报. 2004. 12 (15) : 1800 - 1814. [4] 王栩,李建中,王伟平. 基于滑动窗口的数据流压缩技术及连续查询处理方法[ J ]. 计算机研究与发展. 2004. 10 (41) : 1639- 1644. [5] 特南鲍姆. 计算机网络(第四版). 清华出版社 (签字): ×年×月×日 指导教师 意见 (签字): ×年×月×日 系(教研室)主任意见 计算机网络课程设计说明书
(封面)
学院名称: 计算机与信息工程学院
班级名称: 网络工程一班 学生姓名: 学 号: 201321 题 目: 滑动窗口协议仿真 指导教师
姓 名: 邵雪梅 起止日期:
第一部分:正文部分 一,选题背景
早期的网络通信中,通信双方不会考虑网络的拥挤情况直接发送数据。由于大家不知道网络拥塞状况,一起发送数据,导致中间结点阻塞掉包,谁也发不了数据。在数据传输过程中,我们总是希望数据传输的更快一些,但如果发送方把数据发送的过快,接收方就可能来不及接收,这就造成数据的丢失。因此就有了滑动窗口机制来解决这些问题。早期我们使用的是1bit滑动窗口协议,一次只发送一个帧,等收到ack确认才发下一个帧,这样对信道的利用率太低了。因此提出了一种采用累积确认的连续ARQ协议,接收方不必对收到的帧逐个发送ack确认,而是收到几个帧后,对按序到达的最后一个帧发送ack确认。同1bit滑动窗口协议相比,大大减少了ack数量,并消除了延迟ack对传输效率的影响。但是,这会产生一个新的问题,如果发送方发送了5个帧,而中间的第3个帧丢失了。这时接收方只能对前2个帧发出确认。发