前言:想要写出一篇引人入胜的文章?我们特意为您整理了小议计算机网络的启发式教学范文,希望能给你带来灵感和参考,敬请阅读。
在网络的架构搭建方面,网络发展了几十年的时间,尽管应用范围和物理环境等与设计之初已是天壤之别,但计算机网络一直都在使用,且扩展性极强,这与网络最初的设计目标息息相关。设计的其次目标中最重要的一点就是“当部分网络或者网关损坏时,Internet连接必须能够继续”[3]。当前的网络现状是包的可靠传输、排序、资源分配等很多复杂的功能都由终端实现,而中间层的功能则比较简单,也只有这样设计才能确保当初设计目标的实现。网络的分组方式为什么选择分组交换而非电话网的电路交换方式?原因之一就是计算机网络为鲁棒性而设计,通信双方是否成功仅取决于双方的状况,至于中间的链路则可以选择不同的路径,这正是分组交换方式的特性,电路交换则要求采用固定的一条物理链路。另外,教师还可以启发学生从应用层的业务特性回答这个问题。电话中的业务——语音占用的带宽是稳定的,事先建立好的物理链路比较合适,而人们在上网时传输的业务——数据是突发的,带宽波动较大,有时需要占有某一条链路。在网络的连通层面,网络层的寻址方式中有哪些方法可供选择?而Internet最终选择了哪种寻址方式?我们可以提示学生根据生活中寻找某个地址的思路设计Internet,将十字路口想象成路由器,而马路就是网络中的链路,并且马路偶尔会发生修路封闭的状况。依据我们的生活经验,人们可以有以下几种方式:通过寻找地图的方式,自己全部掌握从出发到目的地的路线(源路由方式);只知道大概方向,到了一个地方就向别人打听接下来的部分路线,直至最后找到目的地(全局IP地址方式);“打的”只需要告诉出租车司机最终的目的地,司机要掌握整条路线的状况(虚电路方式)。教师给学生提供基于身边的生活事例,让学生有了感性认识后,再让学生将感性认识上升到理性高度,讲解每种找路方式的具体情况,既便于学生理解,又拓宽了他们的思路。然后再从路由表头部的大小、路由表的大小、转发的开销、建立连接的开销、错误恢复的开销等多个角度启发学生,让学生比较各种路由方式的优缺点,从而明确选择全局IP地址方式的主要原因就是中间的路由器应该是无状态的,这样才能在差错恢复时进行相对简单的处理,保证网络的鲁棒性。
经过几次类似的启发训练,学生了解了学术科研的基本过程并确定最终解决方案的思路。接下来的2个设计目标是网络向上提供多种类型的服务,向下互连多种不同类型的网络,形成漏斗形状,网络的沙漏模型如图1所示。那么,这在Internet中是如何实现的呢?采用的方法是将IP层做得“很薄”,在相对低的IP层提供功能尽可能简单的服务,才能使得高层方便根据需要订制各种不同目标和不同类型的服务。如果用“小蛮腰”进行比喻,那么学生就很容易记住和掌握网络设计的这2个目的。当前的网络有哪些不足呢?最大的问题莫过于计费和安全。由于网络在设计之初就是为了鲁棒性,把计费的优先级排在最后,而对于安全问题则根本没有考虑。最合理的计费方式是根据流量计费,因为实际的流量在某种程度上反映对网络资源的占用量,但目前的技术条件很难把某个用户所用的实际流量计算出来,因为目前的流量还包括广播重传等多项流量。Internet的开放性和可扩展性也导致诸多安全隐患,如为了方便主机接入网络,IP头部信息不需确认、IP源地址可以伪造等。对于某些安全隐患问题,我们则需要将Internet多个设计目标相结合才能回答。例如,有了以太网的MAC地址,为什么还需要设置IP地址?我们可以先了解当时网络设计的首要目标,即要把不同的底层网络互连,特别是在以前,以太网没有今天这么普及,还有ATM和帧中继网络等,即便是现在,也还有FDDI、无线局域网等多种局域网技术,仅有以太网的MAC地址无法实现网络互连。另外,Internet设计还要求连网简单,用附加的IP地址更易于设备的移动和维修,如一台主机从一个网络移动到另一个网络无需更换网卡,只需重新设定IP地址。最后,IP地址与实际网络拓扑相关,是有层次的,可以高效路由,而MAC地址则是厂家在出厂时设定,与实际网络拓扑无关,在查找路由时扩展性较差。还有一些内容,教师在讲述时不仅要关注知识点本身,还应该通过启发的方式把知识点蕴含的本质展现给学生。例如,讲完局域网的拓扑结构后,学生一般都会记住以太网是总线型结构,可是学生发现多台主机通过网线接入集线器/交换机,从物理外观上看是星型结构。这里教师就要让学生明白总线型网络的本质是数据帧可以在总线上广播,总线上的所有终端都可以接收到数据帧,而星型网络的本质是数据帧需要通过中心设备转发,因此通过集线器互连的多台机器与传统的同轴电缆以太网都是总线型结构,而通过具有自动寻址功能(转发到指定端口)的交换机互连的双绞线以太网则是星型结构。学生容易区分TCP与UDP,前者是可靠面向连接的,而后者不可靠无连接的。然而,同是不可靠无连接的协议,还有必要在IP层之上构建UDP协议么?二者的本质区别在哪里呢?教师可以通过学生的日常计算机应用解释这个问题:相同的收发端,它们的IP相同,但可能运行多个进程,不同的进程需要不同的端口号,因此需要在IP之上构造UDP以表示不同的进程,这是网络层与传输层的本质区别。
计算机网络本身也在时刻发生变化,教师在讲课时必须融入一些新的研究成果和方向,才能激发学生的学习兴趣,使学生对网络的应用和发展有更清楚的了解。例如,教师在讲述TCP的拥塞控制算法时,往往会提到慢启动、拥塞避免、快速重传与快速恢复4个步骤,并指出其中的慢启动并非真正意义的慢启动,在RTT时间内,拥塞窗口是以指数规模增加的。然而,拥塞算法是在80年代提出的,那时网络带宽都很窄,即便是指数级的拥塞窗口快速增长,在今天网络带宽很大的情况下也并不适合。教师可以通过计算让学生认识到这一点,对于1Mbps的带宽,假设RTT=200ms,慢启动方式下,每个分组1KB字节,需要多少时间才能达到1Mbps的带宽?结果是慢启动方式要花费2秒才能使实际流量接近网络提供的带宽。学生通过计算结果明确在延迟带宽积较大的情况下,慢启动算法导致带宽的利用率很低,从而意识到不必“神化”已有的算法,任何问题的解决方案都不是完美的,都有一定的时代背景与前提,而研究的切入点也往往在此。教师在讲课时可以穿插一些对流行软件的分析,以提高学生的学习兴趣。例如,学生或多或少都会用到QQ或MSN等即时通信软件,传文件时普遍感觉MSN要慢于QQ,那么这是什么原因呢?教师在提示学生QQ大多数采用UDP传输文件,而MSN采用TCP传输文件后,有的学生提出TCP实现可靠传输需有3次握手以建立连接,导致MSN速度较慢。在学生给出并非准确的答案之后,教师不能立即否定学生的答案,否则会打消学生的积极性,而是要在鼓励学生和肯定答案正确的一面后,再指出答案的不足之处:商业化的产品不可能不考虑文件传输的可靠性,这种可靠性在应用层实现,这样可以减小完全用TCP带来的传输开销,3次握手只是开始建立连接时需要,并非贯穿整个传输过程,所以不是主要原因。根本原因是一方面UDP容易穿越NAT,收发双方直接传送文件,不像MSN需要服务器的中转;另一方面,网络拥塞时TCP会减小拥塞窗口,而UDP则不会,这就引出拥塞控制的公平性问题。又例如,在应用层如何实现高速下载?有多个TCP流的方法,如以前的网络蚂蚁,也有P2P的方式,如BT与电驴。另外,还可以就P2P的传输原理、P2P与ISP之间的矛盾设置等问题继续启发学生。这样,在一问一答中不仅拓展学生的发散性思维,而且锻炼学生分析问题的能力。
从科研角度看,一般研究问题都分为提出问题、选择解决问题的方法、给出最终的解决思路这几部分内容,而目前计算机网络的相关教科书几乎都只涉及最后一部分内容,即计算机网络研究的最终成果,对于形成原因及发展过程并没有涉及。掌握计算机网络发展的历史,可以令我们更深层次地了解如今网络现状产生的原因,还能帮助我们推测未来网络的发展方向,对当前的网络与协议优化也有一定指导作用。我们把课程的重点放在“为什么这样设计网络”,将网络看成是交互式的复杂系统,在每个话题开始前都向学生提出一些启发式问题,引导学生用学到的知识解决实际问题,最后再由因及果地讲述当今网络系统的现状;启发学生自主思考,同时生动地再现计算机网络技术的发展过程,使学生不仅知其然还知其所以然。这样,学生才不会因为时间流逝而忘掉学到的网络技术知识,同时也提高了实际应用能力和独立解决问题的能力。(本文作者:刘新、叶德建、姜秀艳 单位:复旦大学软件学院)