首页>动态信息

计算机网络协议开发实验

发布时间:2015-01-27 浏览次数:569


课程名称:计算机网络协议开发实验

英文名:Computer Network Protocol Development Laboratory

课程编号(或对应理论课课程编号):22905

课程总学时:32

实验总学时: 32

实验周学时: 2

开设实验项目数:14

课程总学分:2

课程主持人:陈健

本大纲主撰人: 陈健

 

一、实验教学目标与基本要求:

教学目标:

通过实验进一步巩固和加深学生对计算机网络基本概念、核心协议的理解与掌握。

培养学生对计算机网络的独立分析与设计、验证能力。

通过对应用层、传输控制层、网络层、数据链路层等协议的开发与调试,使学生掌握一个完整网络协议栈的开发方法。

基本要求:

掌握数据包嗅探工具的使用。

掌握协议逆向分析方法。

掌握C语言套接字编程、并发/线程编程方法。

掌握TCP/IP协议栈核心功能的实现方法。

具备独立撰写协议文档、设计协议和开发协议的能力。

 

二、实验课程内容与学时分配:

序号

实验项目名称

 

           

 

 

   

本专业

非本

专业

必修实验:

 

 

 

1

WireShark数据包嗅探实验

熟悉Wireshark和数据包嗅探。

2

 

2

逆向工程套接字编程实验

通过逆向分析一个协议,使用套接字编程技术重新实现该协议的客户端。

2

 

3

即时通信软件编程实验

实现一个简单的IM系统。

2

 

4

滑动窗口协议实验

实现数据链路层的3种常见滑动窗口协议:1比特滑动窗口协议、回退N帧协议和选择性重传协议。

2

 

5

IPv4收发/转发实验

实现网络层IPv4协议分组的接收、发送和转发。

2

 

6

IPv6收发/转发实验

实现网络层IPv6协议分组的接收、发送和转发。

2

 

7

移动IP协议实验

分角色实现网络层移动IP协议的三个技术:代理发现、注册和包传递。

2

 

8

RIP协议实验

实现距离矢量路由协议RIP的分组接收、发送以及路由表的维护。

2

 

9

简单TCP协议实验

实现客户端角色的、停等模式的TCP协议,能够建立和拆除连接,接收和发送TCP段,并向应用层提供套接字接口。

2

 

10

STCP协议-信号实现

实现SimpleNet协议栈传输层协议STCP的信号部分。即实现连接的建立和关闭,以及解决信号报文丢失或损坏等问题。

2

 

11

STCP协议-GBN和校验和实现

实现SimpleNet协议栈传输层协议STCP的数据传输部分。

实现STCP协议中的GBN、报文恢复和校验和。

2

 

12

简单重叠网络SON的实现

实现简单重叠网络层SON,并使用一个简单的网络驱动程序来测试SON

2

 

13

简单网络协议SIP的实现

设计和实现简单网络协议SIP,实现路由算法和包转发。

使用测试程序测试完整的协议栈。

4

 

14

SimpleNet协议栈综合实验

进一步完善协议栈,使得我们在实验三中实现的IM应用程序可以运行在你构建的协议栈之上。

4

 

选修实验:

 

  

 

设创

计新

其它

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

三、教学方式与考核要求:

教学方式:

本实验课程采用教师授课+CMS课程管理平台的网上讨论答疑+实验的教学方式。教师在每学期第一周的授课中介绍实验方法、实验内容、作业提交方式和注意事项,其后每周的上课时间主要是答疑、验收学生实验和针对学生实验中的问题集中讲解。学生在课后完成实验,实验系统为C/S架构和Linux平台,学生可通过网络远程编写、测试实验代码。学生的实验代码和实验报告通过课程管理平台提交。学生实验成绩的考核采用实验测试结果+实验代码+实验报告构成。

    考核要求:

    学生的实验代码和实验报告必须按照每个实验的截至时间按时提交。学生的每个实验都需经过教师或助教的课堂验收。学生的最终实验成绩由实验测试结果+实验代码+实验报告构成。

四、实验教材、参考书:

(一)实验教材:《计算机网络协议开发实验讲义》

(二)参考书:

计算机网络原理实验教程 徐明伟 崔勇 徐恪 机械工业出版社 2008

Computer Networking A Top-Down Approach Sixth Edition James F. Kurose Keith W. Ross PEARSON 2013

UNIX Network Programming Volume 1: The Sockets Networking API Third Edition W. Richard Stevens, Bill Fenner, Andrew M. Rudoff

Routing TCP/IP Volume 1, Second Edition Jeff Doyle, Jennifer Carroll 2006

TCP/IP Illustrated Volume 1 Second Edition The Protocols Kevin R.Fall, W. Richard Stevens 2012

Advanced Programming in the UNIX Environment Second Edition W.Richard Stevens, Stephen A. Rago

http://zh.wikipedia.org

http://www.hypothetic.org/docs/msn/ietf_draft.txt

http://www.cs.dartmouth.edu/~campbell/cs60/

https://computing.llnl.gov/tutorials/pthreads/

(三)课程网站:http://cscms.nju.edu.cn