计算机网络:自顶向下方法(原书第8版)
作者 : [美]詹姆斯·F. 库罗斯(James F. Kurose),[美]基思·W. 罗斯(Keith W. Ross) 著
译者 : 陈鸣 译
丛书名 : 计算机科学丛书
出版日期 : 2022-09-22
ISBN : 978-7-111-71236-7
适用人群 : 高校计算机专业学生,网络技术人员
定价 : 129.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 499
开本 : 16
原书名 : Computer Networking: A Top-Down Approach,Eighth Edition
原出版社: Pearson Education Inc.
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

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

图书特色

经典教材全新升级,被国内外数百所高校选用,被译为14种语言畅销全球

图书前言

欢迎阅读《计算机网络:自顶向下方法》的第8版。自从本书的第1版于20多年前出版以来,我们这本书已经被数百所大学和学院采用,被译为14种语言,并被世界上几十万的学生和从业人员使用。我们倾听了许多读者的意见,赞扬之声不绝于耳。
第8版的新颖之处
我们认为本书如此成功的一个重要原因是,它能持续为计算机网络教学提供新颖的和与时俱进的方法。在第8版中我们做了一些改变,但也有一些东西始终保持不变。我们认为不变的那些东西正是本书最为重要的方面:它的自顶向下方法,它对因特网和计算机网络的现代处理方式的关注,它对原理和实践两者的重视,以及它易于理解的风格和引导读者学习计算机网络的方法。这些重要的方面也得到了使用本书的教师和学生的认可。然而,本书第8版还是进行了相当多的修订和更新。
本书较早版本的读者可能注意到自第6版和第7版发行以来,我们加深了对网络层的讨论,将以往包含在一章中的内容扩展为关注“数据平面”的一章(第4章)和关注物理层“控制平面”的一章(第5章)。这一变化是有先见之明的,软件定义网络(SDN)可以说是这几十年来网络领域最为重要和令人兴奋的进展,它已经迅速在实践中得到应用,以至于很难想象在现代计算机网络的介绍中不包括SDN。SDN也使网络管理的实践取得新进展成为可能,我们将在第8版中涉及其先进方法和更深入的细节。正如我们将在第7章中所见,数据平面和控制平面的分离目前已经巧妙地嵌入4G/5G移动蜂窝网络架构中,这对它们的核心网络而言就像一种“全IP”方法。4G/5G网络的迅速普及及其带来的移动应用,无疑是自第7版出版以来我们亲历的最重大的变化。因此我们大幅更新和深化了对这一令人兴奋的领域的讨论。事实上,正在进行的无线网络革命如此重要,以至于我们认为它已经成为入门性网络课程中的关键内容。
除了这些变化,我们也更新了全书的许多小节并增加了新材料,以反映整个网络领域的变化。在某些场景中,我们从前一版本中删除了一些材料,这些删除的材料一如既往地可以在本书的配套网站中找到。第8版中重要的更新如下。
●第1章:为反映因特网和4G/5G网络不断扩大的范围和不断增多的应用,我们更新了该章相应的内容。
●第2章:该章涉及应用层,我们对其内容进行了重大更新,包括用于Web的HTTP/2和HTTP/3新协议方面的材料。
●第3章:该章的更新反映了过去5年来运输层拥塞控制和差错控制的进展以及使用方面的演化。尽管这部分内容在相当长的时间内保持相对稳定,但自第7版以来还是有了若干重要的进展。除了“经典的”TCP算法外,已经研发并部署了几种新的拥塞控制算法。我们对TCP CUBIC(即在许多部署的系统中默认的TCP协议)做了更为深入的讲解,并介绍了用于拥塞控制的基于时延的方法,包括部署在谷歌主干网络中的新型BBR协议。我们还研究了QUIC协议,该协议已经成为HTTP/3标准的一部分。尽管从技术上讲QUIC不是运输层协议——QUIC提供了应用层可靠性、拥塞控制和在应用层的连接复用服务,但它使用了多个差错控制和拥塞控制原则,这些原则是我们在第3章前面几节推演出来的。
●第4章:该章涉及网络层数据平面,在总体上进行了全面更新。我们增加了新的关于中间盒的一节,中间盒执行除了路由选择和转发操作以外的其他网络层功能,例如充当防火墙和进行负载均衡。中间盒自然以网络层设备通用的“匹配加操作”这一转发操作为基础,而网络层设备是我们在第4章前面所讨论的。我们还适时地为部分主题增加了新材料,例如网络路由器中“正好的”缓存数量,以及有关网络中立性和因特网架构原则的内容。
●第5章:该章涉及网络层的控制平面,包含SDN的更新材料,以及引人注目的网络管理的新方法。SDN的使用已经演化为超越分组转发表的管理,其中也包括网络设备的配置管理。我们介绍了两种新协议NETCONF和YANG,对新协议的采纳和使用促进了这种新方法向网络管理的发展。
●第6章:该章涉及链路层,我们对内容的更新反映了诸如以太网链路层技术的持续演化等进展。我们也更新和扩展了关于数据中心网络的内容,数据中心已经成为推动今天因特网商业方方面面发展的技术中心。
●第7章:如前面所述,第7章的内容已经大幅度更新与修改,以反映自第7版以来无线网络的许多变化,从短距离的蓝牙微微网到中等距离的802.11无线局域网(WLAN),再到广域4G/5G无线蜂窝网。为了更广泛、更深入地讨论今天的4G LTE网络和明天的5G网络,我们已经不再关注早期的2G和3G网络。我们也更新了关于移动性问题的内容,从移动设备在基站之间切换的本地问题,到不同全局性蜂窝网络之间的身份管理和移动设备漫游的全局问题。
●第8章:该章涉及网络安全,我们所做的更新重点反映了无线网络安全性的变化,包括WLAN中有关WPA3安全性的新材料,以及有关4G/5G网络中共有设备/网络的相互鉴别和机密性的新内容。
第8版中删除了有关多媒体网络的第9章。随着时间的流逝,多媒体应用变得更为盛行,我们已经将关于流式视频、分组调度和内容分发网等的材料放入前面的各章中。如前面所述,所有从本版和更早版本中删除的材料都能够在本书配套网站上找到。
本书读者对象
本书适用于计算机网络的第一门课程,既可用于计算机科学系的学生,也可用于电气工程系的学生。就编程语言而言,本书仅假定学生具有C、C++、Java或Python的编程经验(也只是在几个地方用到)。与许多入门级的其他计算机网络教科书相比,尽管本书表述更为精确,分析更为细致,然而书中很少用到高中阶段没有教过的数学概念。我们有意避免使用任何高等微积分、概率论或随机过程的概念(尽管我们为已掌握这些知识的学生准备了某些课后习题)。因此,本书适用于本科生课程和研究生一年级课程,对于网络领域的从业人员也有一定的参考价值。
本书的独特之处
计算机网络这门课程极为复杂,涉及许多以错综复杂的方式彼此交织的概念、协议和技术。为了处理这种大跨度和高复杂性,许多计算机网络教科书都围绕计算机网络体系结构的“层次”来组织内容。借助于这种分层的组织结构,学生能够透过计算机网络的复杂性看到其内部,他们在学习整个体系结构某个部分中的独特概念和协议的同时,也能看清这些部分是如何整合在一起的,从而了解计算机网络的全貌。从教学法的角度来看,我们的个人体验是这种分层的教学方法的确是卓有成效的。但是,我们发现那种自底向上的传统教学方法,即从物理层到应用层逐层进行讲解的方法,对于现代计算机网络课程并不是最佳方法。
自顶向下方法
本书于20多年前首次以自顶向下的方式来对待网络,这就是说从应用层开始向下一直讲到物理层。我们从教师以及学生那里得到的反馈证实了这种自顶向下方法有许多好处,并且从教学法来讲的确很好实施。第一,它特别强调应用层(它是网络中的“高增长领域”)。的确,计算机网络中的许多近期革命都发生在应用层,其中包括Web和媒体流。及早强调应用层的问题与大多数其他教科书中所采取的方法不同,那些教科书中只有少量有关网络应用、网络应用的需求、应用层范式(例如客户-服务器和对等方到对等方)以及应用编程接口方面的内容。第二,我们(和使用本书的许多教师)作为教师的经验是,在课程开始后就教授网络应用的内容,是一种有效激发学习积极性的工具。学生急切地想了解诸如电子邮件、流式视频和Web等网络应用是如何工作的,这些应用是多数学生每天都在使用的东西。一旦理解了这些应用,学生便能够理解支持这些应用的网络服务,接下来则会仔细思考在较低层次中可能提供和实现这些服务的各种方式。因此,及早涉及应用程序能够激发学生学习本书其余部分的积极性。
第三,自顶向下方法使得教师能够在教学的早期阶段介绍网络应用程序的开发。学生不仅能够明白流行的应用程序和协议的工作原理,还能学到创造自己的网络应用程序和应用级协议是多么容易。采用自顶向下的方法后,学生能够及早清楚套接字编程、服务模型和协议的概念,这些重要概念为后续各层的讨论做了铺垫。通过提供基于Python语言的套接字编程的例子,我们强调主要思想,而不致使学生受到复杂代码的困扰。电气工程和计算机科学系的本科生理解这些代码应当不会有困难。
聚焦因特网
尽管自第4版起我们从书名中去掉了“Featuring the Internet”(描述因特网特色)这个短语,但这并不意味着我们不再聚焦于因特网!的确,一切如初!而且由于因特网已经变得无所不在,我们反而认为任何网络教科书都必须非常关注因特网,因此该短语在某种程度上已经没有必要了。我们继续使用因特网的体系结构和协议作为基本载体来学习基本的计算机网络概念。当然,我们也能把概念和协议放入其他网络体系结构中讲解。但是我们的关注焦点是因特网,这反映在我们围绕因特网体系结构的5层模型来组织材料,这5个层次是应用层、运输层、网络层、链路层和物理层。
聚焦因特网的另一个好处是,大多数计算机科学和电气工程的学生迫切希望学习因特网及其协议。他们知道因特网是一种革命性和破坏性的技术,正在深刻地改变着我们的世界。有了对因特网大量中肯的认识后,学生自然而然会对学习其内部原理有了求知欲。因此,教师用因特网作为引导性的焦点,就易于调动学生学习基本原理的积极性了。
教授网络原理
本书的两个独特之处是自顶向下方法和聚焦因特网,如果我们增加第三个独特之处的话,那就是对网络原理的讲授。网络领域已经发展得相当成熟,我们能够清楚认识许多基础性的重要问题。例如,在运输层,基础性问题包括建立在不可靠的网络层上的可靠通信、连接建立/拆除与握手、拥塞和流量控制以及多路复用。三个非常重要的网络层问题是,在两台路由器之间找到“好的”路径、互连大量的异构网络和管理现代网络的复杂性。在链路层,基础性问题是共享多路访问信道。在网络安全中,提供机密性、鉴别和报文完整性的技术都基于密码学基本原理。本书在指明基础性网络问题的同时,也会介绍解决这些问题的方法。学习这些原理的学生将获得具有长“保质期”的知识,在今天的网络标准和协议变得过时后的很长时间,其中的原理将仍然重要和中肯。我们相信,用因特网将学生引入网络之门后,再强调基础性问题及其解决方案,这种两者结合的方法将使他们迅速理解几乎任何网络技术。
学生资源
配套网站pearson.com/cs-resources/提供学生资源,包括:
●交互式学习材料。本书的配套网站包括视频要点(VideoNotes),即由作者制作的全书重要主题的视频呈现,以及对习题解答的简要讲解,这些习题类似于每章后面的习题。我们已经在Web站点上提供了第1~5章的视频要点和在线习题。与之前的版本一样,该Web站点包含交互式动画以生动说明许多重要的网络概念。教师可以将这些交互式特色结合到讲义中或将它们用作小实验。
●附加的技术材料。由于我们在每个版本中都增加了新材料,因此不得不删去某些现有主题以保持篇幅的合理。出现在本书较早版本中的材料仍然是有益的,并且能够在本书Web网站上找到。
●编程作业。Web网站也提供了一些详细的编程作业,这些编程作业包括构建一台多线程Web服务器,构建一个具有图形用户接口(GUI)的电子邮件客户,发送端和接收端可靠数据传输协议的编程,分布式路由选择算法的编程,等等。
●Wireshark实验。通过观察网络协议的实际运行,读者能够大大加深对它们的理解。Web站点提供了许多Wireshark作业,使学生能够实际观察两个协议实体之间报文的交换顺序。Web站点包括有关HTTP、DNS、TCP、UDP、IP、ICMP、以太网、ARP、WiFi和TLS的单独Wireshark实验,以及跟踪一个获取Web网页的请求时所涉及的所有协议的Wireshark实验。随着时间的推移,我们将继续增加新的实验。
作者网站。除了本书配套网站外,作者还维护了一个公共网站http://gaia.cs. umass.edu/kurose_ross,该网站包括为学生提供的附加的交互式练习,以及来自配套网站的公开可用材料的镜像,例如PowerPoint幻灯片和Wireshark实验材料。特别有趣的是http://gaia.cs.umass.edu/kurose_ross/interactive包含交互式练习,这些练习可生成类似于章末习题的题目(并给出解答)。因为学生能够生成数量不限的类似习题并看到答案,所以他们能够做到真正掌握为止。
教学特色
我们每位作者都教了30多年的计算机网络课程,这本书凝聚了我们超过60年教了几千名学生的教学经验。在此期间,我们一直是计算机网络领域活跃的研究人员。(事实上,James和Keith于1979年在哥伦比亚大学相识,共同选了由Mischa Schwartz执教的硕士研究生计算机网络课程。)所有这些都让我们对网络现状和网络未来的可能发展方向具有良好的洞察力。无论如何,我们在组织这本书的材料时,抵御住了偏向自己所钟爱的研究项目的诱惑。如果你对我们的研究工作感兴趣的话,可以访问我们的个人网站。因此,这是一本关于现代计算机网络的书,即该书包含了当代协议和技术以及支撑这些协议和技术的基本原理。我们认为学习(和讲授)网络是令人开心的事,本书中包括的幽默、使用的类比和现实世界的例子将有望使相关材料更具趣味性。
教师的补充材料
 关于教辅资源,仅提供给采用本书作为教材的教师用作课堂教学、布置作业、发布考试等用途。如有需要的教师,请直接联系Pearson北京办公室查询并填表申请。联系邮箱:Copub.Hed@pearson.com。——编辑注
我们提供了一套完整的补充材料,以帮助教师教授这门课程。这些材料都能通过访问Pearson的教师资源中心(http://www.pearsonhighered.com/irc)得到。有关获取这些教师补充材料的信息可访问教师资源中心。
●PowerPoint幻灯片。我们提供了全部8章的PowerPoint幻灯片。这些幻灯片根据第8版进行了彻底更新,详细地涵盖了每章的内容。幻灯片中使用了图片和动画(而不仅是单调的文本标题),这使得它们有趣且在视觉上有吸引力。我们向教师提供了初始的幻灯片,使得教师能够做个性化修改以满足自己的教学需要。这些幻灯片中的某些部分就是由采用本书进行教学的教师所贡献的。
●课后习题解答。我们提供了本书中课后习题的解题手册、编程作业和Wireshark实验。如前所述,我们在每章后面引入了许多新的课后习题。对于附加的交互式习题及其解答,教师(和学生)可参考培生的配套网站或作者的交互式习题网站http://gaia.cs.umass.edu/kurose_ross/interactive。
各章间的关联性
本书的第1章提供了对计算机网络的概述,介绍了许多重要的概念与术语,为本书的其余部分奠定了基础。其他所有章都直接依赖于第1章的内容。在讲解完第1章之后,我们推荐按顺序讲解第2~6章的内容,这样就遵循了自顶向下的原则。第2~6章中每一章都会用到前面章节的内容。在完成前6章的教学后,教师就有了相当大的灵活性。最后两章之间没有任何相关性,因此能够以任何顺序进行教学。然而,最后两章都依赖于前6章中的材料。许多教师采用的教学方案是先讲前6章,然后讲授后两章之一作为点睛之笔。
最后的话:我们乐于听取你的意见
我们鼓励学生和教师向我们发送电子邮件,发表对本书的任何评论。对我们而言,能够听到来自全世界的教师和学生就本书前7版的反馈,是件令人愉快的事。我们已经在本书新版中综合了许多建议。我们也鼓励教师向我们发送新的课后习题(及其解答),这将完善当前的课后习题。我们将这些习题放在配套网站上只有教师才能访问的区域。我们也鼓励教师和学生编写新的交互式动画来诠释书中的概念和协议。如果你有了认为适合于本书的动画,请将它发送给作者。如果该动画(包括标记和术语)合适的话,我们很乐意将它放在本书的网站上,并附上对该动画作者的适当推荐。
正如谚语所说:“让那些卡片和信件到来吧!”我们郑重宣布,请大家一如既往地告诉我们有趣的URL,指出排版错误,说出不赞成我们的哪些主张,告诉我们怎样做效果好、怎样做效果不好,以及你认为在本书下一版中应当包括哪些内容、删除哪些内容。我们的电子邮件地址是kurose@cs.umass.edu和keithw ross@nyu.edu。
致谢
从1996年我们开始撰写本书以来,许多人为我们提供了非常宝贵的帮助,在如何最好地组织和讲授网络课程方面对我们的构思产生了很大影响。在此,我们要向那些从本书最早的草稿到本次第8版帮助过我们的所有人道谢,非常感谢大家。我们还要感谢来自世界各地成千上万的读者,包括学生、教职员和从业人员,他们给了我们对于本书以前版本的看法和评论以及对未来版本的建议。特别感谢下列人员:
Al Aho (Columbia University)
Hisham Al-Mubaid (University of Houston-Clear Lake)
Pratima Akkunoor (Arizona State University)
Paul Amer (University of Delaware)
Shamiul Azom (Arizona State University)
Lichun Bao (University of California at Irvine)
Paul Barford (University of Wisconsin)
Bobby Bhattacharjee (University of Maryland)
Steven Bellovin (Columbia University)
Pravin Bhagwat (Wibhu)
Supratik Bhattacharyya (Amazon)
Ernst Biersack (Eurécom Institute)
Shahid Bokhari (University of Engineering & Technology, Lahore)
Jean Bolot (Technicolor Research)
Daniel Brushteyn (former University of Pennsylvania student)
Ken Calvert (University of Kentucky)
Evandro Cantu (Federal University of Santa Catarina)
Jeff Case (SNMP Research International)
Jeff Chaltas (Sprint)
Vinton Cerf (Google)
Byung Kyu Choi (Michigan Technological University)
Bram Cohen (BitTorrent, Inc.)
Constantine Coutras (Pace University)
John Daigle (University of Mississippi)
Edmundo A. de Souza e Silva (Federal University of Rio de Janeiro)
Philippe Decuetos (former Eurecom Institute student)
Christophe Diot (Google)
Prithula Dhunghel (Akamai)
Deborah Estrin (Cornell University)
Michalis Faloutsos (University of California at Riverside)
Wu-chi Feng (Oregon Graduate Institute)
Sally Floyd (ICIR, University of California at Berkeley)
Paul Francis (Max Planck Institute)
David Fullager (Netflix)
Lixin Gao (University of Massachusetts)
JJ Garcia-Luna-Aceves (University of California at Santa Cruz)
Mario Gerla (University of California at Los Angeles)
David Goodman (NYU-Poly)
Yang Guo (Alcatel/Lucent Bell Labs)
Tim Griffin (Cambridge University)
Max Hailperin (Gustavus Adolphus College)
Bruce Harvey (Florida A&M University, Florida State University)
Carl Hauser (Washington State University)
Rachelle Heller (George Washington University)
Phillipp Hoschka (INRIA/W3C)
Wen Hsin (Park University)
Albert Huang (former University of Pennsylvania student)
Cheng Huang (Microsoft Research)
Esther A. Hughes (Virginia Commonwealth University)
Van Jacobson (Google)
Pinak Jain (former NYU-Poly student)
Jobin James (University of California at Riverside)
Sugih Jamin (University of Michigan)
Shivkumar Kalyanaraman (IBM Research, India)
Jussi Kangasharju (University of Helsinki)
Sneha Kasera (University of Utah)
Parviz Kermani (U. Massachusetts)
Hyojin Kim (former University of Pennsylvania student)
Leonard Kleinrock (University of California at Los Angeles)
David Kotz (Dartmouth College)
Beshan Kulapala (Arizona State University)
Rakesh Kumar (Bloomberg)
Miguel A. Labrador (University of South Florida)
Simon Lam (University of Texas)
Steve Lai (Ohio State University)
Tom LaPorta (Penn State University)
Tim-Berners Lee (World Wide Web Consortium)
Arnaud Legout (INRIA)
Lee Leitner (Drexel University)
Brian Levine (University of Massachusetts)
Chunchun Li (former NYU-Poly student)
Yong Liu (NYU-Poly)
William Liang (former University of Pennsylvania student)
Willis Marti (Texas A&M University)
Nick McKeown (Stanford University)
Josh McKinzie (Park University)
Deep Medhi (University of Missouri, Kansas City)
Bob Metcalfe (International Data Group)
Vishal Misra (Columbia University)
Sue Moon (KAIST)
Jenni Moyer (Comcast)
Erich Nahum (IBM Research)
Christos Papadopoulos (Colorado Sate University)
Guru Parulkar (Open Networking Foundation)
Craig Partridge (Colorado State University)
Radia Perlman (Dell EMC)
Jitendra Padhye (Microsoft Research)
Vern Paxson (University of California at Berkeley)
Kevin Phillips (Sprint)
George Polyzos (Athens University of Economics and Business)
Sriram Rajagopalan (Arizona State University)
Ramachandran Ramjee (Microsoft Research)
Ken Reek (Rochester Institute of Technology)
Martin Reisslein (Arizona State University)
Jennifer Rexford (Princeton University)
Leon Reznik (Rochester Institute of Technology)
Pablo Rodrigez (Telefonica)
Sumit Roy (University of Washington)
Catherine Rosenberg (University of Waterloo)
Dan Rubenstein (Columbia University)
Avi Rubin (Johns Hopkins University)
Douglas Salane (John Jay College)
Despina Saparilla (Cisco Systems)
John Schanz (Comcast)
Henning Schulzrinne (Columbia University)
Mischa Schwartz (Columbia University)
Ardash Sethi (University of Delaware)
Harish Sethu (Drexel University)
K. Sam Shanmugan (University of Kansas)
Prashant Shenoy (University of Massachusetts)
Clay Shields (Georgetown University)
Subin Shrestra (University of Pennsylvania)
Bojie Shu (former NYU-Poly student)
Mihail L. Sichitiu (NC State University)
Peter Steenkiste (Carnegie Mellon University)
Tatsuya Suda (University of California at Irvine)
Kin Sun Tam (State University of New York at Albany)
Don Towsley (University of Massachusetts)
David Turner (California State University, San Bernardino)
Nitin Vaidya (Georgetown University)
Michele Weigle (Clemson University)
David Wetherall (Google)
Ira Winston (University of Pennsylvania)
Di Wu (Sun Yat-sen University)
Shirley Wynn (former NYU-Poly student)
Raj Yavatkar (Google)
Yechiam Yemini (Columbia University)
Dian Yu (former NYU-Shanghai student)
Ming Yu (State University of New York at Binghamton)
Ellen Zegura (Georgia Institute of Technology)
Honggang Zhang (Suffolk University)
Hui Zhang (Carnegie Mellon University)
Lixia Zhang (University of California at Los Angeles)
Meng Zhang (former NYU-Poly student)
Shuchun Zhang (former University of Pennsylvania student)
Xiaodong Zhang (Ohio State University)
ZhiLi Zhang (University of Minnesota)
Phil Zimmermann (independent consultant)
Mike Zink (University of Massachusetts)
Cliff C. Zou (University of Central Florida)
我们也要感谢整个培生团队,特别感谢Carole Snyder和Tracy Johnson,他们的工作完成得十分出色(并且他们容忍了两位非常挑剔的作者——也是两位一直在推迟交稿时间的作者)。感谢两位艺术家Janet Theurer和Patrice Rossi Calkin为本版和之前版本设计的精美插图,还要感谢Manas Roy以及他在Spi Global的团队高质量地完成了这一版的生产工作。最后,特别感谢本书的前几任编辑——Addison-Wesley出版公司的Matt Goldstein、Michael Hirsch和Susan Hartman。没有他们的有效管理、不断鼓励,以及近乎无限的耐心、乐观和坚定不移,本书几乎不可能达到现在的水平。

上架指导

计算机\网络

封底文字

本书自首次出版以来,持续为计算机网络教学提供新颖的和与时俱进的方法,目前已被译为14种语言,世界上数百所大学采用本书作为教材,几十万学生和从业人员通过本书系统学习计算机网络知识。

本书特色
自顶向下方法。采用作者独创的自顶向下方法讲授计算机网络的原理及协议,即从应用层协议开始沿协议栈向下讲解,从实现、应用的角度分析各层的意义,强调应用层范例和应用编程接口,使读者尽快进入每天使用的应用程序环境之中进行学习和创造。
聚焦因特网。以因特网的体系结构和协议为载体讲授基本的计算机网络概念,这有助于激发学生学习网络基本原理的积极性,并理解原理的实际应用。
重视网络原理。在梳理基础性重要问题的同时,详细介绍解决问题的方法。用因特网将读者引入网络之门后,再结合这些问题及解决方案,读者便可以快速理解相关网络技术。
更新与时俱进。关注网络领域的重要变化,包括4G/5G网络的迅速普及和随之而来的大量移动应用,以及软件定义网络(SDN)的应用及其对网络管理的影响,还增加了对HTTP/2、HTTP/3、CUBIC、QUIC、NETCONF、YANG等新协议的介绍。

译者序

我自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教授对教材中的某些技术和文字问题进行了确认,机械工业出版社编辑团队出色的专业技能和耐心细致使本书增色,在此表示感谢。
限于时间和学识,译文错漏难免,请识者不吝赐教,可将问题发送到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 电路交换18
  1.3.3 网络的网络21
 1.4 分组交换网中的时延、丢包和吞吐量24
  1.4.1 分组交换网中的时延24
  1.4.2 排队时延和丢包26
  1.4.3 端到端时延28
  1.4.4 计算机网络中的吞吐量29
 1.5 协议层次及其服务模型32
  1.5.1 分层的体系结构32
  1.5.2 封装35
 1.6 面对攻击的网络 36
 1.7 计算机网络和因特网的历史 39
  1.7.1 分组交换的发展:1961~1972 39
  1.7.2 专用网络和网络互联:1972~1980 40
  1.7.3 网络的激增:1980~1990 41
  1.7.4 因特网爆炸:20世纪90年代 42
  1.7.5 最新发展42
 1.8 小结43
 课后习题和问题44
  复习题44
  习题46
 Wireshark实验50
 人物专访51
第2章 应用层53
 2.1 网络应用原理53
  2.1.1 网络应用体系结构55
  2.1.2 进程通信56
  2.1.3 可供应用程序使用的运输服务58
  2.1.4 因特网提供的运输服务59
  2.1.5 应用层协议62
  2.1.6 本书涉及的网络应用62
 2.2 Web和HTTP63
  2.2.1 HTTP概述63
  2.2.2 非持续连接和持续连接64
  2.2.3 HTTP报文格式66
  2.2.4 用户与服务器的交互:cookie69
  2.2.5 Web缓存71
  2.2.6 HTTP/274
 2.3 因特网中的电子邮件76
  2.3.1 SMTP77
  2.3.2 邮件报文格式79
  2.3.3 邮件访问协议80
 2.4 DNS:因特网的目录服务81
  2.4.1 DNS提供的服务81
  2.4.2 DNS工作机理概述83
  2.4.3 DNS记录和报文87
 2.5 P2P文件分发90
 2.6 视频流和内容分发网95
  2.6.1 因特网视频95
  2.6.2 HTTP流和DASH96
  2.6.3 内容分发网96
  2.6.4 学习案例:Netflix和YouTube 100
 2.7 套接字编程:生成网络应用102
  2.7.1 UDP套接字编程103
  2.7.2 TCP套接字编程107
 2.8 小结110
 课后习题和问题110
  复习题110
  习题112
 套接字编程作业 116
 Wireshark实验:HTTP 117
 Wireshark实验:DNS 117
 人物专访117
第3章 运输层118
 3.1 概述和运输层服务118
  3.1.1 运输层和网络层的关系119
  3.1.2 因特网运输层概述120
 3.2 多路复用与多路分解122
 3.3 无连接运输:UDP127
  3.3.1 UDP报文段结构129
  3.3.2 UDP检验和130
 3.4 可靠数据传输原理131
  3.4.1 构造可靠数据传输协议132
  3.4.2 流水线可靠数据传输协议140
  3.4.3 回退N步142
  3.4.4 选择重传145
 3.5 面向连接的运输:TCP149
  3.5.1 TCP连接149
  3.5.2 TCP报文段结构151
  3.5.3 往返时间的估计与超时154
  3.5.4 可靠数据传输156
  3.5.5 流量控制161
  3.5.6 TCP连接管理163
 3.6 拥塞控制原理167
  3.6.1 拥塞原因与代价168
  3.6.2 拥塞控制方法172
 3.7 TCP拥塞控制173
  3.7.1 经典的TCP拥塞控制173
  3.7.2 网络辅助明确拥塞通告和基于时延的拥塞控制180
  3.7.3 公平性182
 3.8 运输层功能的演化184
 3.9 小结186
 课后习题和问题187
  复习题187
  习题189
 编程作业196
 Wireshark实验:探究TCP196
 Wireshark实验:探究UDP196
 人物专访196
第4章 网络层:数据平面198
 4.1 网络层概述198
  4.1.1 转发和路由选择:数据平面和控制平面199
  4.1.2 网络服务模型201
 4.2 路由器工作原理203
  4.2.1 输入端口处理和基于目的地转发205
  4.2.2 交换207
  4.2.3 输出端口处理209
  4.2.4 何处出现排队209
  4.2.5 分组调度212
 4.3 网际协议:IPv4、寻址、IPv6及其他216
  4.3.1 IPv4数据报格式216
  4.3.2 IPv4编址218
  4.3.3 网络地址转换226
  4.3.4 IPv6229
 4.4 泛化转发和SDN232
  4.4.1 匹配234
  4.4.2 操作235
  4.4.3 运行中的匹配加操作的OpenFlow例子235
 4.5 中间盒237
 4.6 小结239
 课后习题和问题240
  复习题240
  习题241
 Wireshark实验:IP245
 人物专访245
第5章 网络层:控制平面247
 5.1 概述247
 5.2 路由选择算法249
  5.2.1 链路状态路由选择算法251
  5.2.2 距离向量路由选择算法254
 5.3 因特网中自治系统内部的路由选择:OSPF259
 5.4 ISP之间的路由选择:BGP262
  5.4.1 BGP的作用262
  5.4.2 通告BGP路由信息262
  5.4.3 确定最好的路由264
  5.4.4 IP任播266
  5.4.5 路由选择策略267
  5.4.6 拼装在一起:在因特网中呈现269
 5.5 SDN控制平面270
  5.5.1 SDN控制平面:SDN控制器和SDN网络控制应用程序272
  5.5.2 OpenFlow协议273
  5.5.3 数据平面和控制平面交互的例子274
  5.5.4 SDN的过去与未来275
 5.6 ICMP:因特网控制报文协议277
 5.7 网络管理、SNMP和NETCONF/YANG 279
  5.7.1 网络管理框架280
  5.7.2 简单网络管理协议和管理信息库281
  5.7.3 NETCONF和YANG 284
 5.8 小结287
 课后习题和问题287
  复习题287
  习题288
 套接字编程作业291
 编程作业291
 Wireshark实验:ICMP 292
 人物专访292
第6章 链路层和局域网294
 6.1 链路层概述294
  6.1.1 链路层提供的服务296
  6.1.2 链路层在何处实现296
 6.2 差错检测和纠正技术297
  6.2.1 奇偶校验298
  6.2.2 检验和方法299
  6.2.3 循环冗余检测300
 6.3 多路访问链路和协议301
  6.3.1 信道划分协议303
  6.3.2 随机接入协议304
  6.3.3 轮流协议310
  6.3.4 DOCSIS:用于电缆因特网接入的链路层协议310
 6.4 交换局域网311
  6.4.1 链路层寻址和ARP312
  6.4.2 以太网317
  6.4.3 链路层交换机322
  6.4.4 虚拟局域网326
 6.5 链路虚拟化:网络作为链路层328
 6.6 数据中心网络331
  6.6.1 数据中心体系结构331
  6.6.2 数据中心网络的发展趋势334
 6.7 回顾:Web页面请求的历程336
  6.7.1 准备:DHCP、UDP、IP和以太网336
  6.7.2 仍在准备:DNS和ARP338
  6.7.3 仍在准备:域内路由选择到DNS服务器339
  6.7.4 Web客户-服务器交互:TCP和HTTP339
 6.8 小结340
 课后习题和问题341
  复习题341
  习题342
 Wireshark实验:802.3以太网346
 人物专访346
第7章 无线网络和移动网络348
 7.1 概述348
 7.2 无线链路和网络特征351
 7.3 WiFi:802.11无线局域网356
  7.3.1 802.11无线局域网体系结构357
  7.3.2 802.11 MAC协议359
  7.3.3 IEEE 802.11帧363
  7.3.4 在相同的IP子网中的移动性365
  7.3.5 802.11中的高级特色367
  7.3.6 个人域网络:蓝牙368
 7.4 蜂窝网络:4G和5G369
  7.4.1 4G LTE蜂窝网络:架构和部件370
  7.4.2 LTE协议栈375
  7.4.3 LTE无线电接入网376
  7.4.4 LTE附加功能:网络连接和功率管理376
  7.4.5 全球蜂窝网络:网络的网络377
  7.4.6 5G蜂窝网络378
 7.5 移动性管理原理380
  7.5.1 设备移动性:网络层视角380
  7.5.2 归属网络和在被访网络漫游381
  7.5.3 去往/来自移动设备的直接和间接路由382
 7.6 实践中的移动性管理386
  7.6.1 4G/5G网络的移动性管理387
  7.6.2 移动IP390
 7.7 无线和移动性:对高层协议的影响391
 7.8 小结393
 课后习题和问题393
  复习题393
  习题394
 Wireshark实验:WiFi 396
 人物专访396
第8章 计算机网络中的安全398
 8.1 什么是网络安全398
 8.2 密码学原理400
  8.2.1 对称密钥密码体制401
  8.2.2 公开密钥加密405
 8.3 报文完整性和数字签名409
  8.3.1 密码散列函数410
  8.3.2 报文鉴别码411
  8.3.3 数字签名412
 8.4 端点鉴别417
 8.5 安全电子邮件419
  8.5.1 安全电子邮件概述420
  8.5.2 PGP422
 8.6 使TCP连接安全:TLS423
  8.6.1 宏观描述424
  8.6.2 更完整的描述426
 8.7 网络层安全性:IPsec和虚拟专用网427
  8.7.1 IPsec和虚拟专用网428
  8.7.2 AH协议和ESP协议429
  8.7.3 安全关联429
  8.7.4 IPsec数据报430
  8.7.5 IKE:IPsec中的密钥管理433
 8.8 实现安全的无线局域网和4G/5G蜂窝网络433
  8.8.1 802.11无线局域网中的鉴别和密钥协商434
  8.8.2 4G/5G蜂窝网络中的鉴别和密钥协商436
 8.9 运行安全性:防火墙和入侵检测系统439
  8.9.1 防火墙439
  8.9.2 入侵检测系统444
 8.10 小结447
 课后习题和问题447
  复习题447
  习题449
 Wireshark实验:TLS452
 IPsec实验452
 人物专访452
参考文献454

教学资源推荐
作者: 朱玛 主编 康绯 丁志芳 张连成 武东英 卜文娟 参编
作者: Larry L. Peterson;Bruce S. Davie
作者: 徐磊 主编 阎光伟 胡海涛 李国栋 孙雅娟 参编
作者: [美] 威廉·斯托林斯(William Stallings) 等 著
参考读物推荐