网络高级编程教学大纲

上传人:hs****ma 文档编号:486288470 上传时间:2023-01-17 格式:DOC 页数:6 大小:45KB
返回 下载 相关 举报
网络高级编程教学大纲_第1页
第1页 / 共6页
网络高级编程教学大纲_第2页
第2页 / 共6页
网络高级编程教学大纲_第3页
第3页 / 共6页
网络高级编程教学大纲_第4页
第4页 / 共6页
网络高级编程教学大纲_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《网络高级编程教学大纲》由会员分享,可在线阅读,更多相关《网络高级编程教学大纲(6页珍藏版)》请在金锄头文库上搜索。

1、西北师范大学计算机专业课程教学大纲网络高级编程一、说明(一)课程性质本课程是针对计算机科学与技术、物联网工程、计算机科学与技术(软件工程)、计算机科学与技术(网络与信息安全)各专业开设的一门学院平台选修课。在课堂体系中,用以培养学生基于底层网络协议的编程能力。本课程的先修课程是C语言程序设计、操作系统、计算机网络。(二)教学目的通过本课程的教学,使学生深刻了解基于常用网络协议的网络编程的概念和内容,掌握在多种操作系统环境下进行网络编程技术及其应用技巧,以加深学生对网络原理、常用网络协议的理解,并提高学生的程序设计能力和网络应用能力,促进学生将学到的网络编程理论熟练地应用到实践中去。(三)教学内

2、容课程主要讲授TCP/IP网络编程基础知识、Socket 基础、流式Socket编程、数据报socket编程,多进程、多线程网络服务编写,以及基于pcap的直接网络编程等。(四)教学时数本课程教学时数为周学时:2+2,总学时72学时(讲授36学时,实验36学时)(五)教学方式教学方式采用理论课讲授和实验相结合的方式。本课程要进行9个实验,其中5个实验在Linux环境完成,4个实验在Windows实验完成。二、本文理论部分第一章 网络程序与TCP/IP简介教学要点:主要介绍网络程序设计的基本概念和网络程序工作模型机制,利用Winsock网络编程接口进行网络连接和数据传输的过程。重点:网络编程概念

3、及Socket的理解难点:网络编程需要考虑的问题教学时数: 4学时教学内容:1.1 网络服务概述1.2 网络应用编程接口1.2.1 Berkeley Socket接口1.2.2 WinSock接口1.3 网络编程模式1.4 并发与异构环境下的网络编程1.5 阻塞与非阻塞通信1.6 服务类型的选择与差错处理第二章 套接字编程基础与API简介教学要点:理解网络程序的基本形式,理解端口和接口的概念,掌握网络编程中的基本数据结构、基本接口函数、字节排序和操纵函数、网络信息查询函数。重点:Socket基本函数难点:基本数据结构、IO选项教学时数: 6学时教学内容:2.1 一个简单的网络服务器/客户端程序

4、实例2.2 端口和接口2.3 基本数据结构2.3.1 IPv4接口地址结构2.3.2 IPV6接口地址结构2.3.3 通用接口地址结构2.4 基本接口函数(掌握)包括socket函数、bind函数、connect函数、listen函数、accept函数、getsockname函数、getpeername函数、shutdown函数、close函数2.5 接口IO函数2.6 接口选项函数包括接口选项函数,ioctl函数和fcntl函数2.7 字节排序与字节操纵函数2.8 地址转换函数2.9 网络信息查询函数包括gethostbyname函数、gethostbyaddr函数、gethostname函

5、数、getservbyname函数、getservbyport函数。第三章 TCP接口编程教学要点:理解TCP协议机制,掌握基本TCP接口编程,理解异常情况的处理,理解异种平台间的数据交换,了解TCP带外数据。其中,重点是TCP接口编程,难点是TCP协议机制、异常情况处理。教学时数: 6学时教学内容:3.1 概述3.2 TCP协议机制包括TCP连接的建立和终止,TCP的有限状态机,TIME_WAIT状态,TCP数据输出过程3.3 基本TCP接口编程包括TCP接口编程模式,使用netstat观察TCP连接状态,非阻塞方式下的客户一服务器程序,发送数据大小的选择,重要选项的设置,以及相关的实例。3

6、.4 异常情况的处理包括:异常连接的处理,服务器的异常终止3.5 TCP带外数据包括带外数据的基本原理、带外数据的接口编程3.6 异种平台间的数据交换第四章 UDP接口编程教学要点:掌握基本UDP接口编程,理解广播与多播,理解TCP和UDP的区别。教学时数: 4学时教学内容:4.1 UDP协议概述与数据输出过程4.2 基本UDP接口编程通过实例,说明UDP编程模式;测试UDP的不可靠性;调用connect()的UDP应用。4.3 广播和多播4.4 比较TCP和UDP第五章 网络服务器的设计模式与守护进程教学要点:理解网络服务器的设计模式,掌握多进程环境下的网络编程,掌握多线程环境下的应用程序设

7、计。教学时数: 6学时教学内容:5.1 网络服务器与守护进程概述5.2 网络串行与并行服务器的设计模式5.2 多进程环境下的网络编程5.3 多线程环境下的应用程序设计第六章 数据链路层的网络编程教学要点:理解WinPcap编程,理解Pcap接口函数,掌握Pcap捕获数据包程序的编写,掌握Pcap流量发送程序的编写。重点与难点是:基于Pcap数据的数据包捕获和发生。教学时数: 6学时教学内容:6.1 数据链路层编程概述6.2 WinPcap编程6.3 Pcap接口函数简介6.4 Pcap捕获数据包程序的编写6.5 Pcap流量发送程序的编写6.6 基于WinPcap的Packet32程序设计第七

8、章 Windows环境下的网络程序设计教学要点: 了解Winsock与Berkeley接口API的区别,Windows接口API对Berkeley接口API的扩展,重点是了解Winsock与Berkeley接口API的区别。教学时数: 4学时教学内容:7.1 Winsock与Berkeley接口API的区别(了解)包括接口数据类型、错误代码、指针、重命名的函数、阻塞与非阻塞模式的选择、WinSock支持的最大接口数目、头文件、原始接口。7.2 Windows接口API对Berkeley接口API的扩展包括基本的扩展函数、Winsockc2中扩展的API函数。7.3 基于WinSock API的

9、网络编程包括基于类的网络程序设计、基于控件的网络程序设计。实验部分(一)基本要求 学生在设计的实验项目中能够理解实验内容和实验目的,能够较为熟练的操作完成各项实验内容,并根据实验结果得出自己的理解和体会,能具备独立进行网络编程的能力。(二)实验项目总表序号实验项目名称学时数项目类别项目类型1Linux环境下基本网络命令的使用与网络协议分析2基础必做2Linux环境下的信号编程4基础必做3Linux环境TCP流式网络通信4基础必做4Linux环境多进程网络服务实现6综合必做5Linux环境多线程网络服务实现4综合必做6Windows环境PCap网络数据捕包4基础必做7Windows环境PCap网

10、络流量发生4基础必做8Winsock数据报通信程序设计4综合必做9Winsock会话通信程序设计4综合必做 (三)实验项目内容及要求实验一 Linux环境下基本网络命令的使用与网络协议分析实验目的:熟悉网络协议的工作原理和格式命令;熟悉以太网帧的格式、了解ARP、ICMP、IP数据包格式; 实验内容:学习ping,、ifconfig、ifup、 ifdown、netstat、route、traceroute、host, nslookup等命令使用,查阅这些命令的man帮助;掌握Sniffer或Wireshark(原为Ethereal)的使用方法和基本特点,抓取并分析ARP、ICMP、IP数据包

11、。实验二 Linux环境的信号编程实验目的:熟悉Linux环境下的信号机制,以及信号处理函数的设计。实验内容:利用kill()、sigaction()、sigprocmask()等系统调用,设计当以下条件发生时的信号处理程序:(1) 用户按下了某些终端键(如Ctrl-c)时(2) 硬件异常产生信号(3) 进程用kill(2)函数给另一个进程或进程组发送信号(4) 用户用kill(1)命令发送信号给进程(5) 某种软件条件发生(如SIGPIPE等信号)实验三 Linux环境下的TCP流式网络通信实验目的:TCP服务器/客户端的socket通信方式。实验内容:编制控制台(console)型的程序,

12、用socket实现TCP流式通信,分别编写客户端和服务器,服务器实现监听;客户端发起通信,实现一句话的传送,比如“How are you”,服务端接收后在屏幕显示接收内容,并同时对此作出回复,比如“Yes”,客户端收到回复后,也在屏幕显示回复内容。实验四 Linux环境下的多进程网络服务实现实验目的:熟悉TCP服务器与多个客户端进程进行通信的多进程处理机制和方法,熟悉守护进程的编写方法。实验内容:利用fork()系统调用,创建多个进程;并用多进程改进实验三,实现并发的TCP服务器;要求TCP服务器以守护进程的模式运行,当有连接到来时,服务器用fork()系统调用创建子进程去处理和客户端的通信。

13、实验五 Linux环境下的多线程网络服务实现实验目的:熟悉TCP服务器与多个客户端进行通信的多线程处理机制和方法,熟悉守护进程的编写方法。实验内容:学习多线程编程,并用多线改进实验三,实现并发的TCP服务器;要求TCP服务器以守护进程的模式运行,当有连接到来时,服务器创建线程去处理和客户端的通信。实验六 Windows环境下的PCap网络数据捕包实验目的:熟悉pcap相关处理函数的应用,掌握pcap捕获数据包程序的编写。实验内容:编制console型的程序,用pcap包,捕获数据包,在屏幕打印每个数据包的时间、源地址、目标地址、数据包长度。实验七 Windows环境下的PCap网络数据捕包实验

14、目的:熟悉pcap相关处理函数的应用,掌握pcap流量发送程序的编写。实验内容:编制console型的程序,用pcap包,发送网络流量。实验八 Winsock数据报通信程序设计实验目的:熟悉在Windows操作系统平台上,利用Winsock进行网络编程的方法,理解两种特殊的数据报通信多播和广播。通过本实验,要求掌握以下内容: 使用Winsock实现广播通信和多播通信的一般步骤 利用setsockopt()函数设置套接字选项:如何设置套接字的广播属性;如何加入或离开一个多播组。实验内容: 实现广播通信:发送方的IP地址设为本机地址,在端口8000上进行广播发送,发送50个数据,数据内容分别为data0data49。接收方在端口9000进行数据的接收。实现IP多播:接收方首先加入一个指定的组“212”,发送方只是将数据发给多播组,本身并不接受多播组内成员发送的数据。接收方利用一个循环结构,等待进入的数据。实验九 Winsock会话通信程序设计实验目的:学习如何利用会话套接字实现可靠的面向连接的通信过程。通过本实验,要求熟练掌握几个Winsock基本函数的使用:基本Winsock函数:socket()、bind()、listen()、accept()、connect()、shutdown()、closesocke

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 文学/艺术/历史 > 人文/社科

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号