目录

  • 1 课程简介
    • 1.1 课程介绍
    • 1.2 考核方式
    • 1.3 教学大纲
    • 1.4 参考书目
    • 1.5 教学日历
    • 1.6 知识结构
  • 2 作业
    • 2.1 作业1
    • 2.2 作业2
    • 2.3 作业3
    • 2.4 作业4
    • 2.5 作业5
    • 2.6 作业6
    • 2.7 作业7
    • 2.8 作业8
    • 2.9 上机报告提交
    • 2.10 调研报告
    • 2.11 课程设计
  • 3 第一次课
    • 3.1 计算机网络
      • 3.1.1 什么是计算机网络(理解)
      • 3.1.2 网络协议(重点)
      • 3.1.3 通信模型
    • 3.2 网络体系结构(重点)
      • 3.2.1 分层体系结构
      • 3.2.2 OSI参考模型
      • 3.2.3 TCP/IP协议模型
      • 3.2.4 五层体系结构
  • 4 第二次课
    • 4.1 IP层概述
    • 4.2 IP地址及子网划分
    • 4.3 路由聚合
    • 4.4 第一周内容提纲
  • 5 第三次课
    • 5.1 数据报结构
    • 5.2 IP 数据报分片
    • 5.3 章节测试
    • 5.4 作业
  • 6 第四次课
    • 6.1 地址解析协议ARP/RARP
    • 6.2 ICMP协议
    • 6.3 IPv6基础
    • 6.4 packet tracer 仿真
    • 6.5 章节测试
  • 7 第五次课
    • 7.1 IP路由概述
    • 7.2 路由选择算法
    • 7.3 内部网关协议
    • 7.4 外部网关协议BGP-4
    • 7.5 仿真
    • 7.6 章节测试
  • 8 第六次课
    • 8.1 传输层概述
    • 8.2 UDP
    • 8.3 TCP
      • 8.3.1 连接建立与释放
      • 8.3.2 可靠数据传输
    • 8.4 章节测试
  • 9 第七次课
    • 9.1 流量控制
    • 9.2 拥塞控制
  • 10 第八次课
    • 10.1 网络编程基础
    • 10.2 socket API编程概述
    • 10.3 socket API函数介绍
    • 10.4 作业
  • 11 第九次课
    • 11.1 客户服务器编程模型
    • 11.2 客户端编程
    • 11.3 服务器编程
    • 11.4 作业
  • 12 第十次课
    • 12.1 MFC与Qt简介
    • 12.2 windows 套接字接口类
      • 12.2.1 CAsyncSocket类
      • 12.2.2 CSocket类
      • 12.2.3 作业
  • 13 第十一次课
    • 13.1 IP组播
    • 13.2 组播路由选择
    • 13.3 网际组管理协议
    • 13.4 IGMP配置仿真
  • 14 第十二次课
    • 14.1 应用层协议概述
    • 14.2 DNS协议
    • 14.3 HTTP协议
    • 14.4 FTP协议
    • 14.5 远程登陆
    • 14.6 课下作业
  • 15 第十三次课
    • 15.1 章节测验
    • 15.2 Qt实现应用层编程
    • 15.3 邮件传输协议
  • 16 第十四次课
    • 16.1 自举与自配置
      • 16.1.1 BOOTP协议
      • 16.1.2 DHCP协议
    • 16.2 网络管理概述
  • 17 第十五次课
    • 17.1 SNMP网络管理模型
    • 17.2 MIB与SMI
    • 17.3 SNMP协议工作原理
  • 18 第十六次课
    • 18.1 网络安全概述
    • 18.2 网络安全技术
      • 18.2.1 数字加密
      • 18.2.2 数字签名
      • 18.2.3 数字证书
  • 19 网络安全(二)
    • 19.1 安全协议
      • 19.1.1 SSL
      • 19.1.2 IPSec
    • 19.2 课程总复习
  • 20 第20次课(上机)
    • 20.1 上机一
    • 20.2 上机二
    • 20.3 上机三
    • 20.4 上机四
    • 20.5 上机五
  • 21 课程设计
    • 21.1 课程设计内容说明
教学大纲

课程名称TCP/IP协议与网络编程     课程编号: H18519        

英文名称:TCP/IP & Programming    课程属性: 必修           

   时:40                        2.5        

先修课程:C程序设计、网络原理    后续课程:       

适用专业:网络工程                                                           

                                                  

一、课程简介

1、知识掌握

TCP/IP协议与网络编程是网络工程专业本科生必修的一门专业课程。本课程主要介绍目前Internet/Intranet上使用的各个流行的通信协议的具体细节及编程开发的相关知识,主要包括网络层、传输层、应用层的一些重要协议。

2、能力培养

完成本门课程的学习后,学生一方面对流行的各层通信协议细节有基本的了解,为以后的学习工作打下良好的基础;另一方面可以掌握网络通信协议的基本设计思想、方法,以便服务于后继网络软件的开发。

3、教学方法

为了顺利达到本门课程的教学目的,在教学中要采用知识讲授与实际案例分析相结合、知识吸纳与实际动手操作相结合的教学手段,使学生不仅学到了知识,还基本具备了将知识与实际相结合的能力。

 

二、课程内容及学时分配

                             

  教              
 

讲课

 
 

习题课

 
 

讨论课

 
 

实验课

 
 

上机

 
 

其它

 
 

合计

 
 

32

 



 

 8

 

 

40

 

 

第一单元:概述(建议学时数:2 学时)

【学习目的和要求】

1.知识掌握

了解计算机网络的体系结构,掌握OSI参考模型以及TCP/IP协议模型的工作过程及结构组成;掌握网络协议的基本知识。

2.教学方法

讲授知识与案例分析相结合。

【重点】

计算机网络的体系结构

OSI参考模型以及TCP/IP协议模型

网络协议的基本知识

 

【难点】

OSI参考模型以及TCP/IP协议模型的工作原理

 

第二单元:网络层协议及相关知识(建议学时数:10 学时)

【学习目的和要求】

1.知识掌握

了解IP包首部的详细组成,及不同类型的网络应用程序需要选用的首部参数。了解IP的路由选择;了解IP的子网划分;了解特殊情况的IP地址在网络软件开发中的作用。掌握ifconfig与netstat命令的使用。掌握ARP及RARP的工作原理及在应用程序开发中的使用。掌握ICMP协议的工作原理及在应用程序开发中的使用。

2.能力培养

具有根据应用程序的需要选择适当类型IP数据包进行开发的能力。

3.教学方法

讲授知识与案例分析相结合。

【重点】

IP包首部的详细组成,及不同类型的网络应用程序需要选用的首部参数

IP的路由选择与子网划分

特殊情况的IP地址在网络软件开发中的作用

ARP及RARP的工作原理及在应用程序开发中的使用

ICMP协议的工作原理及在应用程序开发中的使用

【难点】

IP包首部的详细组成,及不同类型的网络应用程序需要选用的首部参数

特殊情况的IP地址在网络软件开发中的作用

ARP及RARP的工作原理及在应用程序开发中的使用

ICMP协议的工作原理及在应用程序开发中的使用

第三单元:套接字编程(建议学时数:6 学时)

1.  知识掌握

了解客户机/服务器模型的工作机理,掌握套接字的概念与基础,了解套接字的函数模型,熟悉基于TCP网络层协议的应用编程;掌握基于MFC的套接字编程。

2.  能力培养

能够实现基于MFC的套接字简单的程序实例

3.  教学方法

讲授知识与案例分析相结合。

【重点】

套接字的编程的基础;

套接字的函数模型的使用;

熟悉MFC套接字编程中常用函数及常用类的用法

【难点】

套接字编程;套接字的函数的理解和使用;MFC套接字编程中常用类在实际编程中的用法。

第四单元:UDP及其在开发中的应用(建议学时数:6 学时)

【学习目的和要求】

1.知识掌握

了解UDP协议的特点和适合的工作场合;掌握UDP首部的细节及在应用程序开发中的设置;了解UDP和ARP之间的交互作用;了解UDP在应用开发中的限制;掌握UDP服务器的设计;掌握如何用UDP开发轻量级的局域网应用。

2.能力培养

具有采用UDP开发局域网应用的能力。

3.教学方法

讲授知识与案例分析相结合。

【重点】

UDP协议的特点和适合的工作场合

UDP首部的细节及在应用程序开发中的设置

UDP和ARP之间的交互作用

UDP在应用开发中的限制

UDP服务器的设计

一个采用UDP技术的局域网聊天室案例

【难点】

UDP首部的细节及在应用程序开发中的设置

UDP服务器的设计

一个采用UDP技术的局域网聊天室案例

 

第四单元:TCP及其在开发中的应用(建议学时数:6 学时)

【学习目的和要求】

1.知识掌握

了解TCP协议的特点和适合的工作场合;掌握TCP首部的细节及在应用程序开发中的设置;了解TCP连接的建立与终止;了解TCP的交互数据流以及成块数据流;了解TCP的超时与重传;了解TCP的坚持定时器及保活定时器;掌握如何用Socket开发广域网的文件传输程序。

2.能力培养

具有采用Socket开发广域网应用的能力。

3.教学方法

讲授知识与案例分析相结合。

【重点】

TCP协议的特点和适合的工作场合

TCP首部的细节及在应用程序开发中的设置

TCP连接的建立与终止

TCP的交互数据流以及成块数据流

TCP的超时与重传

TCP的坚持定时器及保活定时器

如何用Socket开发广域网的文件传输程序

【难点】

TCP首部的细节及在应用程序开发中的设置

TCP的交互数据流以及成块数据流

TCP的坚持定时器及保活定时器

如何用Socket开发广域网的文件传输程序

 

第五单元:常用的应用层协议的标准及实现(建议学时数:10 学时)

【学习目的和要求】

1.知识掌握

了解TFTP协议的标准及如何开发实现客户端;了解Telnet协议的标准及如何开发实现客户端;了解FTP协议的标准及如何开发实现客户端;了解POP3及SMTP协议的细节及相关邮件应用程序的开发。

2.能力培养

具有查看RFC根据标准开发特定协议客户端的能力。

3.教学方法

讲授知识与案例分析相结合。

【重点】

TFTP协议的标准及如何开发实现客户端

Telnet协议的标准及如何开发实现客户端

FTP协议的标准及如何开发实现客户端

POP3及SMTP协议的细节及相关邮件应用程序的开发

【难点】

Telnet协议的标准及如何开发实现客户端

FTP协议的标准及如何开发实现客户端

POP3及SMTP协议的细节及相关邮件应用程序的开发

 

三、考核方式及要求

平时成绩(出勤、作业、上机成绩各10%);

按照教学进度布置4次作业;

第5周开始每周在A5北513上机一次,共4次;

期末成绩(70%,闭卷考试);

课程设计出勤、报告;

四、教材及参考书

1.《TCP/IP协议分析与应用》,杨延双  张建标编著,机械工业出版社;

2.《TCP/IP网络编程》,仁泰明编著,人民邮电出版社;

3.《TCP/IP——协议分析与应用编程》,李峰、陈向益编著,人民邮电出版社;

4.《Visual C++ 网络编程教程(visual studio 2010平台)》,郑阿奇 主编,电子工业出版社;

5.《TCP/IP详解(卷1:协议)》,W. Richard Stevens 著,范建华,胥光辉,张涛等译,机械工业出版社;

6.《TCP/IP详解(卷2:实现)》,W. Richard Stevens 著,卢雪莹、蒋慧 等译,机械工业出版社;

五、责任认定

1.大纲执笔人:吴明飞

2.大纲审定人:刘亚志

3.制定时间:2019年9月