Kurose和他的自顶向下方法
就在最近,Kurose和Ross教授合著的《计算机网络:自顶向下方法》中文版也刚刚升级到了第8版,这是一本目前世界上使用最为广泛的网络教科书,书中倡导的方法就是目前最为流行的自頂向下方法。
下面我们就深入地谈谈Kurose和他的自頂向下教学方法以及他的经典著作《计算机网络:自顶向下方法》。
Kurose是美国马萨诸塞大学阿默斯特分校计算机科学系教授,研究兴趣包括网络协议和体系结构、网络测量、传感器网络、多媒体通信以及建模和性能评价。由于在教育领域的杰出贡献,他获得了包括IEEE Taylor Booth教育奖章在内的多个教育奖励和荣誉。
他是IEEE和ACM会士,还曾担任《IEEE通信会刊》和《IEEE/ACM网络会刊》总编辑。
迄今为止,Kurose教授从事计算机网络的教学工作将近40年。从1996年,Kurose就和Ross(美国纽约大学(NYU)理工学院Leonard J. Shustek首席教授和上海纽约大学(NYU Shanghai)计算机科学系主任)就一起计划撰写一本关于网络教学的课本。
Kurose和Ross于1979年在哥伦比亚大学相识,共同选了由Mischa Schwartz执教的硕士研究生计算机网络课程,之后两人又都是计算机网络领域活跃的研究人员,又都在大学里长期从事着计算机网络的教学工作。
所有的这些缘份和经历,都让Kurose和Ross对网络现状和网络未来的可能发展方向具有良好的洞察力,并对计算机网络的教学方法有着相同的认知和见解。
一直以来,由于计算机网络这门学科的内容极为复杂,涉及许多以错综复杂的方式彼此交织的概念、协议和技术。
为了处理这种大跨度和高复杂性,许多计算机网络教科书都围绕计算机网络体系结构的“层次”来组织内容。
借助于这种分层的组织结构,学生们能够透过计算机网络复杂性看到其内部。
他们在学习整个体系结构的某个部分中的独特概念和协议的同时,也看清了所有这些部分是如何整合在一起的,从而了解计算机网络的全貌。从教学法的角度来看,Kurose和Ross教授的经验认为这种分层的教学方法的确是非常必要的,但是对于现代计算机网络课程并不是最佳的方法。
自从Kurose和Ross教授发现那种自底向上的传统教学方法,即从物理层到应用层逐层讲解的方法,对于现代的计算机网络课程并非是最佳方法后,他们想为计算机网络教学提供另一种新颖的、与时俱进的方法。
自顶向下方法的特点
其实早在1996年开始撰写《计算机网络:自顶向下方法》前,Kurose和Ross教授已经首次以自顶向下的方式来对待网络,这就是说从应用层开始向下一直讲到物理层。
他们从教师以及学生那里得到的反馈证实了这种自顶向下方法有许多好处,并且从教学法来讲的确很好实施。
第一,它特别强调应用层(它是网络中的“高增长领域”)。的确,计算机网络中的许多近期革命都发生在应用层,其中包括Web和媒体流。
及早强调应用层的问题与大多数其他教科书中所采取的方法不同,那些教科书中只有少量有关网络应用、网络应用的需求、应用层范式(例如客户-服务器和对等方到对等方)以及应用编程接口方面的内容。
第二,Kurose和Ross(和使用本书的许多教师)作为教师的经验是,在课程开始后就教授网络应用的内容,是一种有效激发学习积极性的工具。学生急切地想了解诸如电子邮件、流式视频和Web等网络应用是如何工作的,这些应用是多数学生每天都在使用的东西。
一旦理解了这些应用,学生便能够理解支持这些应用的网络服务,接下来则会仔细思考在较低层次中可能提供和实现这些服务的各种方式。因此,及早涉及应用程序能够激发学生学习本书其余部分的积极性。
第三,自顶向下方法使得教师能够在教学的早期阶段介绍网络应用程序的开发。学生不仅能够明白流行的应用程序和协议的工作原理,还能学到创造自己的网络应用程序和应用级协议是多么容易。
采用自顶向下的方法后,学生能够及早清楚套接字编程、服务模型和协议的概念,这些重要概念为后续各层的讨论做了铺垫。
通过提供基于Python语言的套接字编程的例子,我们强调主要思想,而不致使学生受到复杂代码的困扰。
电气工程和计算机科学系的本科生理解这些代码应当不会有困难。
聚焦因特网 尽管自第4版起(前1-3版书名都叫《计算机网络:自顶向下方法与Internet 特色》),Kurose和Ross从书名中去掉了“Featuring the Internet”(描述因特网特色)这个短语,但这并不意味着Kurose和Ross的教学方法不再聚焦于因特网!
的确,一切如初!而且由于因特网已经变得无所不在,两位作者反而认为任何网络教科书都必须非常关注因特网,因此该短语在某种程度上已经没有必要了。
Kurose和Ross继续使用因特网的体系结构和协议作为基本载体来学习基本的计算机网络概念。当然,两位作者也能把概念和协议放入其他网络体系结构中讲解。但是关注焦点还是因特网,这反映在Kurose和Ross两位作者还是围绕因特网体系结构的5层模型来组织材料,这5个层次是应用层、运输层、网络层、链路层和物理层。
聚焦因特网的另一个好处是,大多数计算机科学和电气工程的学生迫切希望学习因特网及其协议。
众所周知,知道因特网是一种革命性和破坏性的技术,正在深刻地改变着人类的世界。有了对因特网大量中肯的认识后,读者自然而然会对学习其内部原理有了求知欲。因此,教师用因特网作为引导性的焦点,就易于调动学生学习基本原理的积极性了。
教授网络原理 《计算机网络:自顶向下方法》一书的两个独特之处是自顶向下方法和聚焦因特网,如果增加第三个独特之处的话,那就是对网络原理的讲授。网络领域已经发展得相当成熟,我们能够清楚认识许多基础性的重要问题。例如,在运输层,基础性问题包括建立在不可靠的网络层上的可靠通信、连接建立/拆除与握手、拥塞和流量控制以及多路复用。
三个非常重要的网络层问题是,在两台路由器之间找到“好的”路径、互连大量的异构网络和管理现代网络的复杂性。
在链路层,基础性问题是共享多路访问信道。在网络安全中,提供机密性、鉴别和报文完整性的技术都基于密码学基本原理。
本书在指明基础性网络问题的同时,也会介绍解决这些问题的方法。学习这些原理的读者将获得具有长“保质期”的知识,在今天的网络标准和协议变得过时后的很长时间,其中的原理将仍然重要和中肯。
我们相信,用因特网将读者引入网络之门后,再强调基础性问题及其解决方案,这种两者结合的方法将使他们迅速理解几乎任何网络技术。
计算机网络:自顶向下方法
(原书第8版)
[美]詹姆斯·F. 库罗斯(James F. Kurose)
基思·W. 罗斯(Keith W. Ross) 著
陈鸣 译
中文版(第8版)ISBN: 978-7-111-71236-7
英文版(第7版)ISBN: 978-7-111-68996-6
第8版配套的习题集即将出版!
本书的两位作者都教了30多年的计算机网络课程,这本书凝聚了他们超过60年教了几千名学生的教学经验。
在此期间,Kurose和Ross教授一直是计算机网络领域活跃的研究人员。(事实上,James和Keith于1979年在哥伦比亚大学相识,共同选了由Mischa Schwartz执教的硕士研究生计算机网络课程。)所有这些都让两位作者对网络现状和网络未来的可能发展方向具有良好的洞察力。
无论如何,他们在组织这本书的材料时,抵御住了偏向自己所钟爱的研究项目的诱惑。如果有读者对作者们的研究工作感兴趣的话,可以访问他们的个人网站。
因此,这是一本关于现代计算机网络的书,即该书包含了当代协议和技术以及支撑这些协议和技术的基本原理。
我们认为学习(和讲授)网络是令人开心的事,本书中包括的幽默、使用的类比和现实世界的例子将有望使相关材料更具趣味性。
丰富的补充材料
http://gaia.cs.umass.edu/kurose_ross/,这是kurose和ross的网站,上面提供了PPT、视频等丰富的补充资料。由于本书的广泛影响,B站也有不少UP主自发制作的本书学习视频。
译 者 简 介
❖ 译者的话 ❖
我自2003年翻译本书第2版起,已有19个年头了。连续7次翻译这本计算机网络经典教科书为我提供了难得的学习机会,使我能够有机会静下心来体会作者的所思所想,洞悉他们对飞速发展的网络技术的分析,品味他们讲解网络原理和技术时的方法与智慧……尽管我们现在可以从多种来源学习和研究网络技术,但是专心研读这本书无疑能够为成长为网络技术专门人才提供一条捷径。本书能帮助读者系统地理解错综复杂的网络技术是如何组织为复杂的网络系统的,观察新型网络技术是如何替代过时技术的,感受许多网络术语是如何悄然变化的,学习大师级人物是如何创新网络技术和网络教学方法的……总之,这本教科书被众多读者称为世界上最流行、最优秀的网络教科书的确当之无愧。同时,第8版教材的中译本有助于我国的高校学生、科技工作者以及其他读者高效地学习计算机网络的基础知识和新技术(而不是学习英文!),进一步促进我国计算机网络教学水平的提升。
第8版对教科书内容做了大量的更新。例如:第1章全面概述无所不在的物联网应用以及4G/5G发展对因特网的影响;第2章涉及用于Web的HTTP/2和HTTP/3新协议;第3章更新了5年来运输层拥塞控制和差错控制的进展与使用方面的演化,如TCP CUBIC和QUIC协议;第4章增加了中间盒、路由器缓存数量、网络中立性和因特网架构原则等主题;第5章包含SDN控制平面的新材料以及网络管理中的NETCONF和YANG新协议;第6章介绍了以太网链路层技术的持续演化和有关数据中心网络的新内容;第7章反映了无线网络的许多变化,如4G LTE和5G网络以及关于移动性的内容;第8章关注无线网络安全性的变化以及在4G/5G网络中共有设备/网络的相互鉴别和机密性。
在本书的翻译过程中,我得到了南京航空航天大学计算机科学与技术学院/人工智能学院的领导和同事的支持及帮助。许多专家和读者通过电子邮件对本书的翻译提出了意见和建议,本书的第二作者Keith W.Ross教授对教材中的某些技术和文字问题进行了确认,机械工业出版社编辑团队出色的专业技能和耐心细致使本书增色,在此表示感谢。
近年来我与Keith W.Ross教授在中国的两次会议上见过面。在第一次见面前,Ross教授就已经知道我翻译了他们的教材的多个版本,并在每次翻译过程中都会通过电子邮件向他们建言献策,指出技术瑕疵及排版错误。Ross教授对我的翻译工作表示了由衷的感谢,并称赞中国高校的计算机网络教学水平高,为世界培养了很多优秀的网络学生。同样,作为译者,在每次翻译过程中,我都会更加深切地从这本教科书的字里行间感受到这两位作者作为网络科学家和网络教育家对网络科学技术的领悟力和严谨学风。就我的认识而言,这本教科书应当是世界上最流行、最好的网络教科书!
Kurose和Ross两位教授的这本计算机网络教科书的显著特点是: 1)极负盛名的“自顶向下”网络教学法。由于计算机网络的复杂性,长期以来按分层体系结构自下而上讲授网络课程内容是一种定式。本书特别强调应用层,及早激发学生们的学习热情,及早强调动手开发网络应用程序。
2)着眼原理。当前计算机网络领域的许多基础性的重要问题和基本原理已经研究得较为清楚了,重点把握这些原理,将使学生获得长“保质期”的知识,在飞速发展的网络研究开发中保持判断力和启发创造力。
3)以因特网为研究对象。该书以因特网体系结构的5层模型来组织学习过程,学以致用,为学生们的学习热情提供原动力。
4)注重教学法。
例如:
5)及时更新教学内容。
本教科书及时引入重要的最新知识并舍弃了过时的内容。例如,第1章更新了接入网的论述,增加了因特网ISP生态系统的描述,更新了分组交换和电路交换的表述。第2章用Python替代了Java,希望更容易为编程新手所理解。第3章呈现了一个简化的可靠数据传输协议,增加了用于优化云服务的TCP分岔内容。第4章更新了路由器体系结构的章节。重新组织并简化了第5章内容,以反映近年来局域网技术的发展变化。第6章反映了无线网络中的最近进展,如蜂窝数据网络和4G体系结构。较多地更新了第7章内容,深入讨论了流式视频和CDN等技术。
本书已经成为世界著名大学采用最为广泛的网络教科书,本书的中译本能为缓解在有限时间内学习更多的计算机网络知识(而不是英文!)这一矛盾起到重要作用。由于本书的篇幅较大,我们对使用本书进行教学的一个建议是:前6章内容可作为本科“计算机网络原理”课程的教材,而后3章内容可作为硕士研究生“高级计算机网络”课程或其他相关课程的教学内容。
陈鸣 南京航空航天大学计算机科学与技术学院/人工智能学院
编辑推荐:
本书是当前世界上最为流行的计算机网络教科书之一,采用作者独创的自顶向下方法讲授计算机网络的原理及其协议,即从应用层协议开始沿协议栈向下讲解,让读者从实现、应用的角度明白各层的意义,强调应用层范例和应用编程接口,使读者尽快进入每天使用的应用程序环境之中进行学习和“创造”。
该书的第1版于20多年前出版以来,已经被国内外数百所大学和学院采用,译成14种语言广为传播,世界上几十万的学生和从业人员在使用。
赞扬之声不绝于耳。本书如此成功的一个重要原因是,它能持续为计算机网络学习提供新颖的和与时俱进的方法,第1~6章适合作为高等院校计算机、电子工程等相关专业本科生 “计算机网络”课程的教材,第7~9章可用于硕士研究生 “高级计算机网络”课程教学。
第8版配套的习题集也将由机械工业出版社推出,敬请关注。