计算机网络:自顶向下方法(原书第7版)
作者 : [美]詹姆斯·F. 库罗斯(James F. Kurose)基思·W. 罗斯(Keith W. Ross) 著
译者 : 陈鸣 译
丛书名 : 计算机科学丛书
出版日期 : 2018-06-12
ISBN : 978-7-111-59971-5
定价 : 89.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 527
开本 : 16
原书名 : Computer Networking: A Top-Down Approach,Seventh Edition
原出版社: Pearson Education Asia
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

同前面的版本一样,本书采用作者独创的自顶向下方法讲授计算机网络的原理及其协议,即从应用层协议开始沿协议栈向下逐层讲解,让读者从实现、应用的角度明白各层的意义,进而理解计算机网络的工作原理和机制。本书强调应用层范例和应用编程接口,使读者尽快进入每天使用的应用程序环境之中进行学习和“创造”。

图书特色

图书前言

欢迎阅读《计算机网络:自顶向下方法》的第7版。自从本书第1版于16年前出版以来,这本书已经被数百所大学和学院采用,被译为14种语言,并被世界上几十万的学生和从业人员使用。我们倾听了许多读者的意见,赞扬之声不绝于耳。
第7版的新颖之处
我们认为本书成功的一个重要原因是,持续地为计算机网络教学提供了一种新颖和与时俱进的方法。在第7版中,我们做了不少改变,但也保持了我们认为(并且得到了使用本书的教师和学生的认可)本书最为重要的方面:它的自顶向下方法,它关注因特网和计算机网络的现代处理方式,它的注重原理和实践,以及它易于理解的风格和学习计算机网络的方法。然而,第7版进行了相当多的修订和更新。
本书的长期读者将注意到,自该教科书出版以来,我们首次改变了各章的组织结构。以往包括在一章中的网络层,现在包括在第4章(该章关注网络层的所谓“数据平面”组件)和第5章(该章关注网络层的“控制平面”)中。网络层范围的扩展反映了软件定义网络(SDN)重要性的迅速提升,无可置疑地证明了十年来网络非常重要和令人兴奋的进展。尽管SDN是相对新近的创新,但它已经迅速在实践中得到应用,所以介绍现代计算机网络而不涉及SDN已经成为不可想象的事。先前包括在第9章中的网络管理主题,现在已经放入新的第5章中了。我们一如既往地更新了本书的许多其他章节,以反映自第6版以来网络领域的新变化。从教科书中撤除的材料一如既往地能够在本书的配套网站中找到。比较重要的一些更新如下:
为反映因特网不断增长的范围和应用,更新了第1章。
讨论应用层的第2章进行了重大更新。我们删除了FTP和分布式散列表的材料,增加了有关应用层视频流和内容分发网,以及Netflix和YouTube学习案例的新节。套接字编程已从Python 2更新为Python 3。
讨论运输层的第3章进行了适度更新。异步传递方式(ATM)网络的材料已被更流行的因特网显式拥塞通告(ECN)的材料所代替,用ECN教授相同的原理。
第4章讨论网络层的“数据平面”组件。数据平面是每台路由器的转发功能,它决定到达路由器的一条输入链路的分组是如何转发到该路由器的一条输出链路的。我们更新了在所有前面版本中都能找到的有关传统因特网转发的材料,并且增加了分组调度的材料。还增加了有关通用转发的新节,就像SDN中实践的那样。该章也有很多更新。有关多播和广播通信方面的材料已被删除。
第5章讨论网络层的控制平面功能。这种网络范围的逻辑控制着数据报如何沿着从源主机到目的主机的路由器的端到端路径选择路由。如同前面版本一样,我们包括路由选择算法以及在今天的因特网中所使用的路由选择协议(更新了对BGP的讨论)。增加了有关SDN控制平面的新节,讲述了如何在所谓的SDN控制器中实现路由选择和其他功能。
第7章讨论无线网络和移动网络,更新了有关802.11(所谓WiFi)网络和蜂窝网络(包括4G和LTE)的材料。
第8章讨论网络安全,这在第6版中已经全面更新过了,本版中该章仅进行了适度更新。
第9章较之第6版进行了适度调整,有关视频流和内容分发网的材料已经放到第2章了,有关分组调度的材料已经放进第4章了。
增加了与每章后面习题相关的重要新材料。与前面各版一样,对课后习题进行了修订、增加和删除。
在新版本的修订过程中,我们的目标一如既往,继续关注因特网和计算机网络的现代处理方式,注重原理和实践。
本书读者对象
本书适用于计算机网络的第一门课程,既可用于计算机科学系的学生,也可用于电气工程系的学生。就编程语言而言,本书仅假定学生具有C、C++、Java或Python的编程经验(也只是在几个地方用到)。与许多入门性的其他计算机网络教科书相比,尽管本书表述更为精确,分析更为细致,然而书中很少用到高中阶段没有教过的数学概念。我们有意避免使用任何高等微积分、概率论或随机过程的概念(尽管我们为具有这种高级背景的学生准备了某些课后习题)。因此,本书适用于本科生课程和一年级研究生课程。它对于电信业的从业人员也应当有用。
本书的独特之处
计算机网络这门课程极为复杂,涉及许多以错综复杂的方式彼此交织的概念、协议和技术。为了处理这种大跨度和高复杂性,许多计算机网络教科书都围绕计算机网络体系结构的“层次”来组织内容。借助于这种分层的组织结构,学生能够透过计算机网络的复杂性看到其内部,他们在学习整个体系结构的某个部分中的独特概念和协议的同时,也能看清所有这些部分如何整合在一起的全貌。从教学法的角度来看,我们的个人体验是这种分层的教学方法的确是卓有成效的。尽管如此,我们发现那种自底向上的传统教学方法,即从物理层到应用层逐层进行讲解的方法,对于现代计算机网络课程并非是最佳的方法。
自顶向下方法
本书于16年前首次以自顶向下的方式来对待网络,这就是说从应用层开始向下一直讲到物理层。我们从教师以及学生那里得到的反馈证实了这种自顶向下方法有许多好处,并且从教学法来讲的确很好实施。第一,它特别强调应用层(它是网络中的“高增长领域”)。的确,计算机网络中的许多近期革命都发生在应用层,其中包括Web、对等文件共享和媒体流。及早强调应用层的问题与大多数其他教科书中所采取的方法不同,那些教科书中只有少量有关网络应用、网络应用的需求、应用层范式(例如客户-服务器和对等方到对等方)以及应用编程接口方面的内容。第二,我们(和使用本书的许多教师)作为教师的经验是,在课程开始后就教授网络应用的内容,是一种有效激励学习积极性的工具。学生急于知道诸如电子邮件和Web等网络应用是如何工作的,这些应用是多数学生每天都在使用的东西。一旦理解了这些应用,学生便能够理解支持这些应用的网络服务,接下来则会仔细思考在较低层次中可能提供和实现这些服务的各种方式。因此,及早地涉及应用程序能够激发学生学习本书其余部分的积极性。
第三,自顶向下方法使得教师能够在教学的早期阶段介绍网络应用程序的开发。学生不仅能够明白流行的应用程序和协议的工作原理,还能学习到创造自己的网络应用程序和应用级协议是多么容易。采用自顶向下的方法后,学生能够及早地搞清楚套接字编程、服务模型和协议的概念,这些重要概念为后续各层的讨论做了铺垫。通过提供用Python语言写成的套接字编程的例子,我们强调主要思想,而不会使学生陷于复杂代码的困境。电气工程和计算机科学系的本科生理解这些代码应当不会有困难。
以因特网为研究目标
尽管自第4版起我们从书名中去掉了“Featuring the Internet”(描述因特网特色)这个短语,但这并不意味着我们不再关注因特网!的确,一切如初!而且由于因特网已经变得无所不在,我们反而认为任何网络教科书都必须非常关注因特网,因此该短语在某种程度上已经没有必要了。我们继续使用因特网的体系结构和协议作为基本载体来学习基本的计算机网络概念。当然,我们也能把概念和协议放入其他网络体系结构中讲解。但是我们的关注焦点是因特网,这反映在我们围绕因特网体系结构的5层模型来组织材料,这5个层次是应用层、运输层、网络层、链路层和物理层。
聚焦因特网的另一个好处是,大多数计算机科学和电气工程的学生急切地希望学习因特网及其协议。他们知道因特网是一种革命性和破坏性的技术,正在深刻地改变着我们的世界。有了对因特网大量中肯的认识后,学生自然而然会对学习其内部原理有了求知欲。因此,教师用因特网作为导向焦点,就易于调动学生学习基本原理的积极性了。
教授网络原理
本书的两个独特之处是自顶向下方法和关注因特网,这已经显现在本书的书名中。如果我们在副书名中强行增加第三个词的话,原理一词将包括在其中。网络领域已经发展得相当成熟,能够认识清楚许多基础性的重要问题。例如,在运输层,基础性问题包括建立在不可靠的网络层上的可靠通信、连接建立/拆除与握手、拥塞和流量控制以及多路复用。三个非常重要的网络层问题是,在两台路由器之间找到“好的”路径、互联大量的异构网络和管理现代网络的复杂性。在链路层,基础性问题是共享多路访问信道。在网络安全中,提供机密性、鉴别和报文完整性的技术都基于密码学基本理论。本书在指明基础性网络问题的同时,也会介绍解决这些问题的方法。学习这些原理的学生将获得具有长“保质期”的知识,在今天的网络标准和协议已经变得过时后的很长时间,其中的原理将仍然重要和中肯。我们相信,用因特网将学生引入网络之门后,再强调基础性问题及其解决方案,这种两者结合的方法将使他们迅速理解几乎任何网络技术。
Web站点
本书配套的Web站点位于http://www.pearsonhighered.com/cs-resources/。该站点包括:
交互式学习材料。本书的配套网站包括视频要点(VideoNotes),即由作者制作的全书重要主题的视频呈现,以及对习题解答的简要讲解,这些习题类似于每章后面的习题。我们已经在Web站点上提供了第1~5章的视频要点和在线习题,并且将随着时间的推移而继续积极地增加和更新这些材料。如在前面版本中一样,该Web站点包含了交互式Java小程序,以动画方式显示了重要的网络概念。该站点也包括交互式小测验,允许学生检查他们对该专题内容的基本理解。教授能够将这些交互式特色结合到他们的讲义中或将它们用作小实验。
附加的技术材料。由于我们在本书的每个版本中都增加了新材料,故我们不得不删去某些现有主题以保持篇幅的合理。例如,为了在本版中为新材料腾出空间,我们删除了有关FTP、分布式散列表和多播方面的材料。出现在本书较早版本中的材料仍然是有益的,并且能够在本书Web网站上找到。
编程作业。Web网站也提供了一些详细的编程作业,这些编程作业包括构建一台多线程Web服务器,构建一个具有图形用户接口(GUI)的电子邮件客户,以及发送端和接收端可靠数据传输协议的编程,分布式路由选择算法的编程,等等。
Wireshark实验。通过观察网络协议的实际运行,读者能够大大加深对它们的理解。该Web站点提供了许多Wireshark作业,使学生能够实际观察两个协议实体之间报文的交换顺序。该Web站点包括了有关HTTP、DNS、TCP、UDP、IP、ICMP、以太网、ARP、WiFi和SSL的单独Wireshark实验,以及在跟踪一个获取Web网页的请求时所涉及的所有协议的Wireshark实验。随着时间的推移,我们将继续增加新的实验。
除了配套网站外,作者维护了一个公共网站http://gaia.cs.umass.edu/kurose_ross/interactive,该网站包括交互式练习,这些练习能够生成与每章后面所选习题类似的问题(并给出解答)。由于学生能够产生无数类似问题的实例并看到解答,所以他们能够练习到真正掌握为止。
教学特色
我们每位作者都教了30多年的计算机网络课程,这本书凝聚了我们总共60多年教了几千名学生的教学经验。在此期间,我们也成为计算机网络领域活跃的研究人员。(事实上,James和Keith于1979年在哥伦比亚大学彼此相识,共同选了由Mischa Schwartz执教的硕士研究生计算机网络课程。)所有这些都让我们对网络现状和网络未来的可能发展方向有了良好的观察力。无论如何,我们在组织这本书的材料时,抵御住了偏向自己所钟爱的研究项目的诱惑。如果你对我们的研究工作感兴趣的话,可以访问我们的个人Web网站。因此,这是一本关于现代计算机网络的书,即该书包含了当代协议和技术以及支撑这些协议和技术的基本原理。我们也认为学习(和讲授)网络是令人开心的事。本书中包括的幽默、使用的类比和现实世界的例子将有望使这些材料更具趣味性。
教师的补充材料
 关于本书教辅资源,只有使用本书作为教材的教师才可以申请,需要的教师请联系机械工业出版社华章分社,电话136 0115 6823,邮箱wangguang@hzbook.com. ——编辑注
我们提供了一套完整的补充材料,以帮助教师教授这门课程。这些材料都能通过访问Pearson的教师资源中心(http://www.pearsonhighered.com/irc)得到。有关获取这些教师补充材料的信息可访问教师资源中心。
PowerPoint幻灯片。我们提供了全部9章的PowerPoint幻灯片。这些幻灯片根据第7版进行了彻底更新,详细地涵盖了每章的内容。幻灯片中使用了图片和动画(而非仅是单调的文本标题),这使得它们有趣且在视觉上有吸引力。我们向教师提供了原始的幻灯片,使得教师能够做个性化修改以满足自己的教学需要。这些幻灯片中的某些部分就是由采用本书进行教学的教师所贡献的。
课后习题解答。我们提供了本书中课后习题的解题手册、编程作业和Wireshark实验。如前所述,我们在本书的前6章中引入了许多新的课后作业。
各章间的关联性
本书的第1章提供了对计算机网络自包含的概述。该章介绍了许多重要的概念与术语,为本书的其余部分奠定了基础。其他所有章都直接依赖于第1章的内容。在讲解完第1章之后,我们推荐按顺序讲解第2~6章的内容,这样就遵循了自顶向下的原则。第2~6章中每一章都会用到前面章节的内容。在完成前6章的教学后,教师就有了相当大的灵活性。最后3章之间没有任何相关性,因此能够以任何顺序进行教学。然而,最后3章中的每一章都依赖于前6章中的材料。许多教师采用的教学方案是:教授前6章,然后讲授后3章之一作为点睛之笔。
最后的话:我们乐于听取你的意见
我们鼓励学生和教师向我们发送电子邮件,发表对本书的任何评论。对我们而言,能够听到来自全世界的教师和学生就本书前6版的反馈,是件令人愉快的事。我们已经在本书新版中综合进许多条建议。我们也鼓励教师向我们发送新的课后习题(及其解答),这将完善当前的课后习题。我们将这些习题放在配套Web网站上只有教师才能访问的区域。我们也鼓励教师和学生编写新的Java小程序来诠释书中的概念和协议。如果你有了认为适合于本书的小程序,请将它发送给作者。如果该小程序(包括标记和术语)合适的话,我们很乐意将它放在本书的网站上,并附上对该小程序作者的适当推荐。
正如谚语所说:“让那些卡片和信件到来吧!”我们郑重宣布,请大家一如既往地告诉我们有趣的URL,指出排版错误,说出不赞成我们的哪些主张,告诉我们怎样做效果好、怎样做效果不好,以及你认为在本书下一版中应当包括哪些内容、删除哪些内容。我们的电子邮件地址是kurose@cs.umass.edu和ross@poly.edu。
致谢
从1996年我们开始撰写本书以来,许多人为我们提供了非常宝贵的帮助,在如何最好地组织和讲授网络课程方面对我们的构思产生了很大影响。在此,我们要对那些从本书的最早书稿到本次第7版帮助过我们的所有人道谢,非常感谢大家。我们还要感谢来自世界各地成千上万的读者,包括学生、教职员和从业人员,他们给了我们对于本书以前版本的看法和评论以及对未来版本的建议。特别感谢下列这些人:
Al Aho(哥伦比亚大学)
Hisham Al-Mubaid(休斯敦净湖大学)
Pratima Akkunoor(亚利桑那州立大学)
Paul Amer(特拉华大学)
Shamiul Azom(亚利桑那州立大学)
Lichun Bao (加利福尼亚大学欧文分校)
Paul Barford(威斯康星大学)
Bobby Bhattacharjee(马里兰大学)
Steven Bellovin(哥伦比亚大学)
Pravin Bhagwat(Wibhu)
Supratik Bhattacharyya(前Sprint公司人员)
Ernst Biersack(Eurécom学院)
Shahid Bokhari(工程技术大学Lahore分校)
Jean Bolot(Technicolor Research)
Daniel Brushteyn(前宾夕法尼亚大学学生)
Ken Calvert(肯塔基大学)
Evandro Cantu(Santa Catarina联邦大学)
Jeff Case(SNMP国际研究院)
Jeff Chaltas (Sprint公司)
Vinton Cerf(Google公司)
Byung Kyu Choi(密歇根技术大学)
Bram Cohen(BitTorrent公司)
Constantine Coutras(培斯大学)
John Daigle(密西西比大学)
Edmundo A.de Souza e Silva(Rio de Janiero联邦大学)
Philippe Decuetos(Eurécom学院)
Christophe Diot(Technicolor Research)
Prithula Dhunghel (Akamai公司)
Deborah Estrin (加利福尼亚大学洛杉矶分校)
Michalis Faloutsos(加利福尼亚大学河滨分校)
Wu-chi Feng(俄勒冈研究生院)
Sally Floyd(ICIR,加利福尼亚大学伯克利分校)
Paul Francis(Max Planck学院)
Lixin Gao(马萨诸塞大学)
JJ Garcia-Luna-Aceves(加利福尼亚大学圣克鲁兹分校)
Mario Gerla(加利福尼亚大学洛杉矶分校)
David Goodman(纽约大学理工学院)
Yang Guo (Alcatel/Lucent 贝尔实验室)
Tim Griffin(剑桥大学)
Max Hailperin(Gustavus Adolphus学院)
Bruce Harvey(佛罗里达A&M大学, 佛罗里达州立大学)
Carl Hauser(华盛顿州立大学)
Rachelle Heller(乔治·华盛顿大学)
Phillipp Hoschka(INRIA/W3C)
Wen Hsin (公园大学)
Albert Huang(前宾夕法尼亚大学学生)
Cheng Huang (微软研究院)
Esther A.Hughes(弗吉尼亚联邦大学)
Van Jacobson (施乐公司帕洛阿尔托研究中心) 
Pinak Jain (前纽约大学理工学院学生)
Jobin James(加利福尼亚大学河滨分校)
Sugih Jamin(密歇根大学)
Shivkumar Kalyanaraman (IBM印度研究院)
Jussi Kangasharju(赫尔辛基大学)
Sneha Kasera(犹他大学)
Parviz Kermani (原在IBM研究院)
Hyojin Kim(前宾夕法尼亚大学学生)
Leonard Kleinrock(加利福尼亚大学洛杉矶分校)
David Kotz(达特茅斯学院)
Beshan Kulapala(亚利桑那州立大学)
Rakesh Kumar(Bloomberg)
Miguel A.Labrador(南佛罗里达大学)
Simon Lam (得克萨斯大学)
Steve Lai(俄亥俄州立大学)
Tom LaPorta (宾夕法尼亚州立大学)
Tim-Berners Lee(万维网研究所)
Arnaud Legout (INRIA)
Lee Leitner (Drexel大学)
Brian Levine(马萨诸塞大学)
Chunchun Li (前纽约大学理工学院学生)
Yong Liu (纽约大学理工学院)
William Liang(前宾夕法尼亚大学学生)
Willis Marti(得克萨斯A&M大学)
Nick McKeown (斯坦福大学)
Josh McKinzie (公园大学)
Deep Medhi(密苏里大学堪萨斯市分校)
Bob Metcalfe(国际数据集团)
Sue Moon(KAIST)
Jenni Moyer (Comcast公司)
Erich Nahum(IBM研究院)
Christos Papadopoulos(科罗拉多州立大学)
Craig Partridge(BBN技术)
Radia Perlman(Sun公司)
Jitendra Padhye(微软研究院)
Vern Paxson (加利福尼亚大学伯克利分校)
Kevin Phillips(Sprint公司)
George Polyzos(雅典经济和商业大学)
Sriram Rajagopalan(亚利桑那州立大学)
Ramachadran Ramjee(微软研究院)
Ken Reek(罗切斯特技术学院)
Martin Reisslein(亚利桑那州立大学)
Jennifer Rexford(普林斯顿大学)
Leon Reznik (罗切斯特技术学院)
Pablo Rodrigez (Telefonica)
Sumit Roy(华盛顿大学)
Avi Rubin(约翰斯霍普金斯大学)
Dan Rubenstein(哥伦比亚大学)
Douglas Sanane(John Jay学院)
Despina Saparilla(思科系统公司)
John Schanz (Comcast公司)
Henning Schulzrinne(哥伦比亚大学)
Mischa Schwartz(哥伦比亚大学)
Ardash Sethi (特拉华大学)
Harish Sethu(德雷塞尔大学)
K.Sam Shanmugan(堪萨斯大学)
Prashant Shenoy(马萨诸塞大学)
Clay Shields(乔治顿大学)
Subin Shrestra(宾夕法尼亚大学)
Bojie Shu (前纽约大学理工学院)
Mihail L.Sichitiu(北卡罗来纳州立大学)
Peter Steenkiste(卡内基-梅隆大学)
Tatsuya Suda(加利福尼亚大学欧文分校)
Kin Sun Tam(纽约州立大学奥尔巴尼分校)
Don Towsley(马萨诸塞大学)
David Turner(加州州立大学圣贝纳迪诺分校) 
Nitin Vaidya(伊利诺斯大学)
Michele Weigle(克莱姆森大学)
David Wetherall(华盛顿大学)
Ira Winston(宾夕法尼亚大学)
吴迪(中山大学)
Shirley Wynn (纽约大学理工学院)
Raj Yavatkar (Intel公司)
Yechiam Yemini(哥伦比亚大学)
Ming Yu(纽约州立大学宾汉姆顿分校)
Ellen Zegura(佐治亚理工学院)
Honggang Zhang (Suffolk大学)
Hui Zhang(卡内基-梅隆大学)
Lixia Zhang(加利福尼亚大学洛杉矶分校)
Meng Zhang (前纽约大学理工学院学生)
Shuchun Zhang(前宾夕法尼亚大学学生)
Xiaodong Zhang(俄亥俄州立大学)
ZhiLi Zhang (明尼苏达大学)
Phil Zimmermann(独立顾问)
Mike Zink(马萨诸塞大学)
Cliff C.Zou(中央佛罗里达大学)
我们也要感谢整个培生团队,特别感谢Matt Goldstein和Joanne Manning,他们对本书第7版做出了十分杰出的工作(并且他们容忍了两位非常挑剔的作者,在作者看来是根本不可能的最后期限内完成了工作)。感谢两位艺术家Janet Theurer和Patrice Rossi Calkin为本版和之前版本的优美插图所做的工作,还要感谢Katie Ostler以及她在Cenveo的团队对本版图书的出色生产工作。最后,特别感谢本书的前两任编辑——Addison-Wesley出版公司的Michael Hirsch和Susan Hartman。没有他们的有效管理、不断鼓励,以及近乎无限的耐心、幽默和坚定不移,本书将不会达到现在的水平(并且根本不会如此出色)。

上架指导

计算机\网络

封底文字

本书自首次出版以来,已被译为14种语言,世界上数百所大学采用本书作为教材,有几十万学生和从业人员利用本书系统学习计算机网络的知识。本书已成为学习计算机网络知识的必读教材之一。
主要特点
自顶向下方法。本书采用作者独创的“自顶向下方法”讲授计算机网络的原理及其协议,即从应用层协议开始沿协议栈向下讲解,让读者从实现、应用的角度理解各层的意义,强调应用层范例和应用编程接口,使读者尽快进入每天使用的应用程序环境之中进行学习和创造。
以因特网为研究目标。因特网已经变得无所不在,任何网络教科书必须关注因特网。本书以因特网的体系结构和协议为载体讲授基本的计算机网络概念,这有助于激发学生学习网络基本原理的积极性,并理解原理的实际应用。
聚焦网络原理。网络领域已经发展得相当成熟,沉淀出很多基础性的重要问题。本书在梳理这些问题的同时,详细介绍了解决问题的方法。用因特网将学生引入网络之门后,再结合这些基础性问题及其解决方案,学生便可以迅速理解几乎任何网络技术。
及时更新教学内容。本书根据近年来计算机网络的进展,对内容进行了全面更新,包括用两章的篇幅讨论网络层以反映软件定义网络(SDN)的重要性,删除了FTP和分布式散列表的内容,将ATM网络的内容更新为流行的因特网显式拥塞通告(ECN)内容等。
作者简介
詹姆斯·F. 库罗斯(James F. Kurose) 美国马萨诸塞大学阿默斯特分校计算机科学系教授,研究兴趣包括网络协议和体系结构、网络测量、多媒体通信以及建模和性能评价。由于在教育领域的杰出贡献,他获得了包括IEEE Taylor Booth教育奖章在内的多个教育奖励和荣誉。他是IEEE和ACM会士,还曾担任《IEEE通信会刊》和《IEEE/ACM网络会刊》总编辑。
基思·W. 罗斯(Keith W. Ross) 美国纽约大学(NYU)上海分校工程和计算机科学学院院长以及NYU计算机科学和工程系的Leonard J. Shustek首席教授,研究兴趣包括隐私、社交网络、对等网络、因特网测量、内容分发网络和随机建模。他是IEEE和ACM会士,还曾获得Infocom 2009年优秀论文奖以及《多媒体通信》2011年和2008年优秀论文奖。

作者简介

[美]詹姆斯·F. 库罗斯(James F. Kurose)基思·W. 罗斯(Keith W. Ross) 著:詹姆斯·F. 库罗斯(James F. Kurose) 美国马萨诸塞大学阿默斯特分校计算机科学系教授,研究兴趣包括网络协议和体系结构、网络测量、多媒体通信以及建模和性能评价。由于在教育领域的杰出贡献,他获得了包括IEEE Taylor Booth教育奖章在内的多个教育奖励和荣誉。他是IEEE和ACM会士,还曾担任《IEEE通信会刊》和《IEEE/ACM网络会刊》总编辑。

基思·W. 罗斯(Keith W. Ross) 美国纽约大学(NYU)上海分校工程和计算机科学学院院长以及NYU计算机科学和工程系的Leonard J. Shustek首席教授,研究兴趣包括隐私、社交网络、对等网络、因特网测量、内容分发网络和随机建模。他是IEEE和ACM会士,还曾获得Infocom 2009年优秀论文奖,《多媒体通信》2011年和2008年优秀论文奖。

译者序

我自2003年起翻译Kurose和Ross两位教授合著的《计算机网络:自顶向下方法》教科书,至今已经过去15个年头了。连续六次翻译这本计算机网络经典教科书为我提供了难得的学习机会,使我能够静下心来思考他们的所思所想,洞察他们对技术发展的分析,品味他们讲解网络原理时的遣词造句。尽管我们能够从多种来源学习、研究网络技术,但是通过这本书,我们能够系统地理解错综复杂的网络技术是如何组织成为复杂的网络系统的,观察到新型网络技术是如何替代过时技术的,感受到一些网络术语是如何悄然变化的,学习大师级人物是如何创新网络教学的……总之,这本教科书被称为世界上非常流行、非常优秀的网络教科书的确当之无愧。同时,该书的中译本有助于我国高校学生、科技工作者以及其他读者高效地学习计算机网络知识(而不是英文!),进一步促进我国网络教学水平的提升。
软件定义网络(SDN)的发展是网络界近年来非常重要和令人兴奋的事件,本书首次用两章的篇幅讨论网络层——第4章讨论网络层的数据平面,第5章讨论网络层的控制平面和网络管理主题。与以前的版本一样,本书与时俱进地更新了许多章节的内容、习题和网站的配套资料,反映了网络技术日新月异的发展。
在本书的翻译过程中,译者得到了南京航空航天大学计算机科学与技术学院的领导和同事的支持和帮助。本书的责任编辑刘立卿、迟振春出色的专业技能和耐心细致也使本书增色。
限于时间和学识,译文错漏难免,请识者不吝赐教。请将问题发送给mingchennj@163.com,我将及时反馈读者。

陈鸣
南京航空航天大学计算机科学与技术学院

图书目录

出版者的话
作译者简介
译者序
前言
第1章 计算机网络和因特网1
 1.1 什么是因特网1
  1.1.1 具体构成描述1
  1.1.2 服务描述4
  1.1.3 什么是协议5
 1.2 网络边缘6
  1.2.1 接入网8
  1.2.2 物理媒体13
 1.3 网络核心15
  1.3.1 分组交换15
  1.3.2 电路交换19
  1.3.3 网络的网络22
 1.4 分组交换网中的时延、丢包和吞吐量24
  1.4.1 分组交换网中的时延概述24
  1.4.2 排队时延和丢包27
  1.4.3 端到端时延28
  1.4.4 计算机网络中的吞吐量30
 1.5 协议层次及其服务模型32
  1.5.1 分层的体系结构32
  1.5.2 封装36
 1.6 面对攻击的网络37
 1.7 计算机网络和因特网的历史40
  1.7.1 分组交换的发展:1961~197241
  1.7.2 专用网络和网络互联:1972~198042
  1.7.3 网络的激增:1980~199042
  1.7.4 因特网爆炸:20世纪90年代43
  1.7.5 最新发展44
 1.8 小结44
 课后习题和问题46
  复习题46
  习题47
 Wireshark实验51
 人物专访52
第2章 应用层54
 2.1 应用层协议原理54
  2.1.1 网络应用程序体系结构55
  2.1.2 进程通信57
  2.1.3 可供应用程序使用的运输服务59
  2.1.4 因特网提供的运输服务60
  2.1.5 应用层协议63
  2.1.6 本书涉及的网络应用63
 2.2 Web和HTTP64
  2.2.1 HTTP概况64
  2.2.2 非持续连接和持续连接65
  2.2.3 HTTP报文格式67
  2.2.4 用户与服务器的交互:cookie70
  2.2.5 Web缓存72
  2.2.6 条件GET方法74
 2.3 因特网中的电子邮件75
  2.3.1 SMTP76
  2.3.2 与HTTP的对比78
  2.3.3 邮件报文格式79
  2.3.4 邮件访问协议79
 2.4 DNS:因特网的目录服务83
  2.4.1 DNS提供的服务83
  2.4.2 DNS工作机理概述85
  2.4.3 DNS记录和报文89
 2.5 P2P文件分发92
 2.6 视频流和内容分发网97
  2.6.1 因特网视频97
  2.6.2 HTTP流和DASH98
  2.6.3 内容分发网98
  2.6.4 学习案例:Netflix、YouTube和“看看”101
 2.7 套接字编程:生成网络应用104
  2.7.1 UDP套接字编程105
  2.7.2 TCP套接字编程109
 2.8 小结112
 课后习题和问题113
  复习题113
  习题114
 套接字编程作业118
 Wireshark实验:HTTP119
 Wireshark实验:DNS120
 人物专访120
第3章 运输层121
 3.1 概述和运输层服务121
  3.1.1 运输层和网络层的关系122
  3.1.2 因特网运输层概述123
 3.2 多路复用与多路分解125
 3.3 无连接运输:UDP130
  3.3.1 UDP报文段结构132
  3.3.2 UDP检验和133
 3.4 可靠数据传输原理134
  3.4.1 构造可靠数据传输协议135
  3.4.2 流水线可靠数据传输协议143
  3.4.3 回退N步145
  3.4.4 选择重传148
 3.5 面向连接的运输:TCP152
  3.5.1 TCP连接152
  3.5.2 TCP报文段结构154
  3.5.3 往返时间的估计与超时157
  3.5.4 可靠数据传输159
  3.5.5 流量控制164
  3.5.6 TCP连接管理166
 3.6 拥塞控制原理170
  3.6.1 拥塞原因与代价171
  3.6.2 拥塞控制方法175
 3.7 TCP拥塞控制176
  3.7.1 公平性183
  3.7.2 明确拥塞通告:网络辅助拥塞控制184
 3.8 小结185
 课后习题和问题187
  复习题187
  习题189
 编程作业195
 Wireshark实验:探究TCP196
 Wireshark实验:探究UDP196
 人物专访196
第4章 网络层:数据平面198
 4.1 网络层概述198
  4.1.1 转发和路由选择:数据平面和控制平面199
  4.1.2 网络服务模型202
 4.2 路由器工作原理203
  4.2.1 输入端口处理和基于目的地转发205
  4.2.2 交换207
  4.2.3 输出端口处理209
  4.2.4 何处出现排队209
  4.2.5 分组调度211
 4.3 网际协议:IPv4、寻址、IPv6及其他214
  4.3.1 IPv4数据报格式214
  4.3.2 IPv4数据报分片216
  4.3.3 IPv4编址217
  4.3.4 网络地址转换225
  4.3.5 IPv6227
 4.4 通用转发和SDN231
  4.4.1 匹配233
  4.4.2 动作234
  4.4.3 匹配加动作操作中的OpenFlow例子234
 4.5 小结236
 课后习题和问题236
  复习题236
  习题237
 Wireshark实验240
 人物专访241
第5章 网络层:控制平面242
 5.1 概述242
 5.2 路由选择算法244
  5.2.1 链路状态路由选择算法246
  5.2.2 距离向量路由选择算法248
 5.3 因特网中自治系统内部的路由选择:OSPF254
 5.4 ISP之间的路由选择:BGP256
  5.4.1 BGP的作用257
  5.4.2 通告BGP路由信息257
  5.4.3 确定最好的路由259
  5.4.4 IP任播261
  5.4.5 路由选择策略262
  5.4.6 拼装在一起:在因特网中呈现264
 5.5 SDN控制平面265
  5.5.1 SDN控制平面:SDN控制器和SDN网络控制应用程序266
  5.5.2 OpenFlow协议267
  5.5.3 数据平面和控制平面交互的例子269
  5.5.4 SDN的过去与未来270
 5.6 ICMP:因特网控制报文协议272
 5.7 网络管理和SNMP274
  5.7.1 网络管理框架274
  5.7.2 简单网络管理协议275
 5.8 小结277
 课后习题和问题278
  复习题278
  习题279
 套接字编程作业281
 编程作业282
 Wireshark实验282
 人物专访283
第6章 链路层和局域网285
 6.1 链路层概述285
  6.1.1 链路层提供的服务287
  6.1.2 链路层在何处实现287
 6.2 差错检测和纠正技术288
  6.2.1 奇偶校验289
  6.2.2 检验和方法290
  6.2.3 循环冗余检测291
 6.3 多路访问链路和协议292
  6.3.1 信道划分协议294
  6.3.2 随机接入协议295
  6.3.3 轮流协议301
  6.3.4 DOCSIS:用于电缆因特网接入的链路层协议301
 6.4 交换局域网302
  6.4.1 链路层寻址和ARP303
  6.4.2 以太网308
  6.4.3 链路层交换机312
  6.4.4 虚拟局域网317
 6.5 链路虚拟化:网络作为链路层319
 6.6 数据中心网络322
 6.7 回顾:Web页面请求的历程326
  6.7.1 准备:DHCP、UDP、IP和以太网326
  6.7.2 仍在准备:DNS和ARP327
  6.7.3 仍在准备:域内路由选择到DNS服务器328
  6.7.4 Web客户-服务器交互:TCP和HTTP329
 6.8 小结330
 课后习题和问题331
  复习题331
  习题331
 Wireshark实验335
 人物专访336
第7章 无线网络和移动网络338
 7.1 概述339
 7.2 无线链路和网络特征341
 7.3 WiFi:802.11无线LAN346
  7.3.1 802.11体系结构347
  7.3.2 802.11 MAC协议350
  7.3.3 IEEE 802.11帧353
  7.3.4 在相同的IP子网中的移动性355
  7.3.5 802.11中的高级特色356
  7.3.6 个人域网络:蓝牙和ZigBee357
 7.4 蜂窝因特网接入358
  7.4.1 蜂窝网体系结构概述359
  7.4.2 3G蜂窝数据网:将因特网扩展到蜂窝用户360
  7.4.3 走向4G:LTE362
 7.5 移动管理:原理364
  7.5.1 寻址367
  7.5.2 路由选择到移动节点367
 7.6 移动IP371
 7.7 管理蜂窝网中的移动性374
  7.7.1 对移动用户呼叫的路由选择375
  7.7.2 GSM中的切换376
 7.8 无线和移动性:对高层协议的影响378
 7.9 小结380
 课后习题和问题380
  复习题380
  习题381
 Wireshark实验383
 人物专访383
第8章 计算机网络中的安全385
 8.1 什么是网络安全385
 8.2 密码学的原则387
  8.2.1 对称密钥密码体制388
  8.2.2 公开密钥加密392
 8.3 报文完整性和数字签名396
  8.3.1 密码散列函数397
  8.3.2 报文鉴别码398
  8.3.3 数字签名399
 8.4 端点鉴别404
  8.4.1 鉴别协议ap1.0404
  8.4.2 鉴别协议ap2.0405
  8.4.3 鉴别协议ap3.0405
  8.4.4 鉴别协议ap3.1406
  8.4.5 鉴别协议ap4.0406
 8.5 安全电子邮件407
  8.5.1 安全电子邮件407
  8.5.2 PGP409
 8.6 使TCP连接安全:SSL410
  8.6.1 宏观描述411
  8.6.2 更完整的描述413
 8.7 网络层安全性:IPsec和虚拟专用网415
  8.7.1 IPsec和虚拟专用网415
  8.7.2 AH协议和ESP协议416
  8.7.3 安全关联416
  8.7.4 IPsec数据报417
  8.7.5 IKE:IPsec中的密钥管理420
 8.8 使无线LAN安全420
  8.8.1 有线等效保密421
  8.8.2 IEEE 802.11i422
 8.9 运行安全性:防火墙和入侵检测系统424
  8.9.1 防火墙424
  8.9.2 入侵检测系统429
 8.10 小结431
 课后习题和问题432
  复习题432
  习题434
 Wireshark实验437
 IPsec实验437
 人物专访438
第9章 多媒体网络439
 9.1 多媒体网络应用439
  9.1.1 视频的性质439
  9.1.2 音频的性质440
  9.1.3 多媒体网络应用的类型441
 9.2 流式存储视频443
  9.2.1 UDP流444
  9.2.2 HTTP流444
 9.3 IP语音447
  9.3.1 尽力而为服务的限制448
  9.3.2 在接收方消除音频的时延抖动449
  9.3.3 从丢包中恢复451
  9.3.4 学习案例:使用Skype的VoIP453
 9.4 实时会话式应用的协议455
  9.4.1 RTP455
  9.4.2 SIP457
 9.5 支持多媒体的网络461
  9.5.1 定制尽力而为网络462
  9.5.2 提供多种类型的服务463
  9.5.3 区分服务468
  9.5.4 每连接服务质量保证:资源预约和呼叫准入470
 9.6 小结472
 课后习题和问题473
  复习题473
  习题473
 编程作业477
 人物专访478
参考文献480

教学资源推荐
作者: (美)Douglas E.Comer(普度大学)
作者: [美]拉里·L. 彼得森(Larry L. Peterson) [美]布鲁斯·S. 戴维(Bruce S. Davie)著
作者: 陈鸣 李兵 雷磊 编著
作者: Ravindra K.Ahuja, Thomas L.Magnanti, James B.Orlin
参考读物推荐
作者: 张宇超 徐恪 著
作者: John Ray
作者: 吴秋林 著
作者: 何洁 等编著