王兴芳,张金区,曹 阳,李 慧,沈映珊
(华南师范大学 计算机学院,广东 广州 510631)
计算机网络课程的自顶向下教学
王兴芳,张金区,曹 阳,李 慧,沈映珊
(华南师范大学 计算机学院,广东 广州 510631)
为了更加符合人们的自然思维习惯,打破传统的学习顺序,提出计算机网络课程不再按照体系结构由下而上进行教学,而是采用自顶向下的教学方式,并从概述到每一层的教学设计都进行具体阐述和说明。
计算机网络;教材组织顺序;自顶向下;任务式驱动教学模式
对于计算机网络课程的学习,学期过半到网络层的学习时,有个很明显的分水岭,学习认真、领悟力好的学生能进入良好状态;而大约1/3的学生仍然不得要领,觉得理论性太强,课程内容太枯燥,而产生得过且过的思想。
经过学生的大量反馈及长时间的反思,笔者意识到“为什么不能按照计算机网络的体系结构由上而下展开呢”,对于最上层的应用层,如上网、电子邮件、上传下载、多媒体网络应用等常见应用,绝大部分学生已有基本的应用体验,这样从熟知的应用开始,而后逐渐纵深进入网络理论的学习,学生可以知道如何应用网络,但现象背后的原理与技术是如何实现的呢?这样学生就会怀着极大的兴趣,自觉地探究网络上的各种功能实现原理,能很快入门,并保持良好的学习兴趣,从而达到良好的学习效果。
在第1章概述中,要透彻分析分层的理念,分层的目的是“将复杂问题简单化”。当人们在处理、设计和讨论一个复杂系统时,总是将复杂系统划分为多个小的、功能相对独立的子系统或模块,这样可以将注意力集中在这个大而复杂系统的某个特定部分,并有能力把握它,这本是“分而治之、逐步求精”的模块化思想。计算机网络是一个非常复杂的系统,人们发现层次式模块划分方法特别适合网络系统,因此目前所有的网络系统都采用分层的体系结构。目前广泛应用的是TCP/IP4层核心体系结构,为了能既简洁、又能将概念阐述清楚,教学常常采用5层协议的原理体系结构[1]。表1为第1章概述的教学设计。
表1 第1章概述的教学设计
经过第1章的学习,学生可以了解计算机网络的发展历史、一些性能指标及最为重要的网络体系结构。为更加有效地展开各层的具体学习,可在第1部分概述后,对一些常用的基本概念如IP地址、分组交换、路由等作一个简单介绍,为后面课程的开展作适当的铺垫[2]。
第1章将计算机网络系统做了分层处理,每一层(每一模块)都要承担一部分任务并且层与层间协调工作,共同完成计算机网络系统的整体运作。后面的学习中,将打破传统学习顺序,不再按照体系结构由下而上,而是颠倒过来,由上而下展开教学,并且在任务分层的大思路下,每层的学习采用任务式驱动教学模式。在此教学模式中,每一层的教学都可以采用如下思路:
(1)该层分到的任务是什么?
(2)如何利用相关的硬件、软件(协议)及相应的技术协调地解决这些任务?
(3)各层是如何协调运作的(为方便系统学习,在此给出关系图,如图1所示)?
图1 网络体系结构中各层协议间的关系
(4)每一层的作用范围?
应用层有很多个应用,每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中多个应用进程之间的通信和协同工作完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议[3]235。由于应用层纯属终端用户所用,因此在本章中没有涉及硬件,只是一些常用的网络应用。表2为应用层的教学设计。
学生了解了应用层的一些常用应用,知道一台计算机上可以同时运行很多个应用,那么进一步思考两个问题:
(1)甲乙两台主机如何从很多个应用中识别对等方哪个应用在通信呢?
(2)由于应用需求不同,如万维网、电子邮件、电子银行、文件传输等,数据丢失会造成灾难性的后果,这类需要可靠的数据传输服务;而实时的多媒体应用如实时音/视频,可以承受一定程度的数据丢失,那么能够根据具体需求,提供不同的传输服务吗?
这些问题将在运输层解决,该层的任务就是为运行在不同主机上的应用进程提供直接的通信服务,那么如何完成该任务呢?主要依赖于端口(port)与运输层的两个协议。端口是用来识别应用进程的,端口号称为应用进程的运输层地址,如图1中第一行各协议后的数字为其端口号。TCP协议是提供可靠传输服务,而UDP提供更及时的传输服务,由图1可见为应用层协议采用的不同传输服务。表3为运输层的教学设计。
上面两层主要是终端用户功能,只有主机的协议栈才有应用层与运输层,那么用户的应用数据根据不同需求封装在TCP或UDP协议中,接下来如何使数据传出去呢?即数据如何在不同网络之间进行路由选择及分组转发呢?
网络层研究的就是经过多种不同网络(电话网、局域网和广域网),分组怎样从一个主机传送到另一个主机(经过路由器),这属于网络层的范围。网络层将要学到的重要概念有虚拟互联网络、IP地址及其分配方法;将要用到的硬件是路由器;需要配备的主要协议有IP协议、ICMP协议、ARP协议、IGMP协议及路由协议(BGP、RIP和OSPF)。图2 所示为任务驱动的网络层知识结构。表4为网络层的教学设计。
表2 第2章应用层的教学设计
表3 第3章运输层的教学设计
图2 任务驱动的网络层知识结构
数据链路层研究的是在同一个局域网中,分组怎样从一个主机传送到另一个主机(不经过路由器),这属于数据链路层的范围[3]65。数据链路层在两种信道(点对点信道和广播信道)上要解决的3个共同的基本问题:封装成帧、透明传输、差错检测。重点理解的概念是以太网的硬件地址。表5为数据链路层的教学设计。按每一层教学的逻辑思路,数据链路层4个问题列举如下。
(1)任务:封装成帧、透明传输、差错检测。
(2)利用以下硬件及软件完成任务:①硬件:适配器、转发器、网桥、以太网交换机;②两种信道:点对点信道——PPP协议;广播信道——分为有线和无线,有线包括802.3的MAC帧、CSMA/CD协议,无线包括802.11的MAC帧、CSMA/CA协议。
表4 第4章网络层的教学设计
表5 第5章数据链路层的教学设计
(3)作用范围:同一网络,主要是局域网。
(4)上下层关系:如图1所示,IP报文封装在PPP/MAC中,通过物理地址进行分组转发。
以上列举问题可以模仿网络层知识结构图,绘制成任务驱动的数据链路层知识结构图。
现有计算机网络中的硬件设备和传输媒体种类繁多,并且通信手段也有很多不同方式,物理层的作用就是要尽可能屏蔽这些传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异。表6为物理层的教学设计。按每一层教学的逻辑思路,物理层4个问题列举如下。
表6 第6章物理层的教学设计
(1)任务:怎样才能在连接各种计算机的传输媒体上传输数据比特流,以及如何应用一些技术使数据比特流传输得更快。
(2)利用以下技术完成任务:①传输媒体;②通信手段:数字传输系统、信道复用技术;③宽带接入技术。
(3)作用范围:整个网络的通信基础。
(4)上下层关系:如图1所示,通过传输媒体进行数据传输。
以上列举问题可以模仿网络层知识结构图,绘制成任务驱动的物理层知识结构图。
我们打破计算机网络课程的传统学习顺序,按照体系结构自顶向下展开各层教学,从熟知的应用出发,并且每一层的学习都采用任务式驱动教学模式。经过近3年的教学探索,我们发现学生乐于在应用实践中结合任务驱动,并采用小组方式选择完成不同任务,讨论分享汇报,由易到难,将日常的网络应用与其实现的理论有机地结合起来,在很大程度上拓宽了视野与知识面,从而提升了综合素养,也获得良好的教学效果。
[1] 谢钧, 谢希仁. 计算机网络教程[M]. 4版. 北京: 人民邮电出版社, 2014: 21.
[2] 库罗斯(美). 计算机网络自顶向下方法[M]. 陈鸣, 译. 北京: 机械工业出版社, 2009: 34.
[3] 谢希仁. 计算机网络[M]. 6版. 北京: 电子工业出版社, 2013.
1672-5913(2017)11-0087-04
G642
广东省教育厅教学改革项目(GDJG20142157)。
王兴芳,女,讲师,研究方向为计算机教育技术、遥感图像处理,505676535@qq.com。
(编辑:宋文婷)