让抽象的计算机网络具体化
2018-03-27唐银盈
唐银盈
[摘要]计算机网络中许多的知识概念十分抽象,需要从最基础的数据通信过程入手,分析数据包在传输过程中的处理过程,将抽象的概念具体化分析,才能真正理解原理知识,为后期深入学习打下基础。
[关键词]计算机网络 网络体系结构 封装和解封装 协议格式 抽象 具体化
我是一名中职学校计算机网络教师,根据学生平时学习中的疑问,我认为学懂计算机网络的关键在于将抽象的网络概念知识具体化,那么如何进行具体化,我认为可从以下几个知识点入手:
一、计算机网络体系结构
计算机网络体系结构这个知识点一般放在教材第一章,几乎计算机网络的知识点,都涉及对网络体系结构的理解,足以见得它是学习计算机网络的基础。虽然处于基础地位,但与计算机网络的概念、计算机网络分类、计算机网络拓扑结构等知识点相比,计算机网络体系结构的概念十分抽象,要准确理解并不容易。以OSI/RM为例,最容易走入的误区就是只记住了7层模型,但其实理解为什么要对网络进行分层才是关键第一步。教师在讲解时,可以以具体的一次通信任务举例,列举网络系统所需完成的复杂任务,引出分而治之是处理复杂问题的方法,而分层就是分而治之的最好方法,从而解答为什么要对网络进行分层。这样,将原本抽象的网络形象化为具体的问题场景,在理解网络分层原因的基础上,再学习网络模型应该具有的层次和功能,实体、协议、服务以及它们之间的关系,会更容易过渡和深入。
二、数据封装和解封装
曾经有学生问我“数据通过一根网线传输,怎么会有7层呢?”“数据是怎样从一台计算机传输到另一台计算机终端的?”,初学者往往都会提出类似的问题,提出这样问题的学生我会表扬,因为代表他们在思考,而且是从微观层面进行思考。其实这2个问题的关键点都是理解数据的封装和解封装过程。教师在讲解时可以邮寄包裹为例,引出封装和解封装的概念,以动态图展示数据发送时进行层层封装,在数据接收时进行层层解封装。只有理解了数据包拆装步骤,才算是从微观层面理解了数据通信的原理,理解7种协议数据单元以及它们之间的关系,为后面学习网络通信理论打下了基础。
三、协议格式
网络各层的协议很多,对初学者来说,看懂协议字段是一个难点,但这个难点必须要突破,因为不懂协议格式字段,是很难理解协议的工作原理的。纵观计算机网络技术,不论是局域网技术还是广域网技术,其实都是在学习协议。在所有的协议格式中,我认为有两个最基础的协议字段,初学者可以从此处入手,就是Ethernet以太帧格式和IP数据报格式,这两种协议格式在局域网通信中用得较多,字段含义也比较容易理解,其它很多协议数据包格式也是在它们基础上的变型,因此掌握这两种协议格式有助于对通信过程的理解。
四、数据包转发的处理过程
当学生理解了数据在收发过程中的封装与解封装步骤,了解基础的协议格式字段之后,后期可以通过分析网络设备对数据包的处理,来进一步理解理论原理。比如一台终端要Ping同网段的一台终端时,需要将IP数据包封装为以太帧,因此需要通过发送ARP包获取目的MAC地址,将目的MAC填充到以太帧字段中;比如要访问不同网段的设备,在设网关和不设网关情况下,对数据包的处理分別应该是怎样;再如数据包要通过路由器,路由器对数据包的检查和处理过程是怎样;数据包在路由器之间传递时的处理过程又是怎样。如果能带着这些问题去学习,不仅能够更好地理解理论知识,也能让抽象的网络概念原理落地,变成微观的、具体的过程,久而久之就能熟练掌握数据通信原理了。
上面说到的四点,网络体系结构、数据封装和解封装、协议字段、数据包转发过程,其实都是很基础的知识点,但如果在一开始不把这些基础知识弄懂,后面理解起来会越来越困难,也难以进行更深入的学习。所以,我认为学懂计算机网络的关键在于,一开始必须要把基础打好,既要会应用,更要懂原理。
中职学校的课程内容,比较注重操作性和实用性,如果给学生单纯地讲解这些理论,不管是讲得抽象还是具体可能学生的学习兴趣都不会太大。所以针对中职学生的特点,以上提到的这四部分基础知识点的授课形式和教材,不应该仅仅是理论课,应该配合有上机练习。教学中可以充分地利用网络模拟软件,如思科模拟器Cisco Packet Tracer或华为模拟器eNSP等,让理论知识点能够直观显示出来。比如思科模拟器Cisco Packet Tracer在模拟模式下,可以观察到数据包的转发路径,这样学生就可以直观地看到数据包是怎样从源站点发送到目的站点的。Cisco Packet Tracer模拟面板中的事件列表里有很多信息,在教学中可发挥很大作用,如抓取一个数据单元,点开协议信息,可看到这单元所处的网络层次,再点开PDU详细信息可看到协议格式字段;依次展开几个数据单元,分析其中的信息,可得出协议单元之间的封装关系,协议格式字段含义,数据单元字段信息传递的方式,这对初学者理解数据通信是非常有益的,若长期养成分析协议字段的习惯,有助于掌握理论原理,只要原理理解了,只需通过反复练习增加应用熟练程度。
综上所述,学习计算机网络,必需要重视对基础理论的理解,通过理论与实操的教学方式,让抽象的网络概念具体化、可视化,更好地激发学生的好奇和兴趣,为学生打开一道通往网络世界的大门。