前言 如果将“分组交换”概念的提出与ARPANET的出现作为计算机网络技术发展的起点,那么计算机网络技术经历了60多年的发展。2019年10月在乌镇召开的第六届世界互联网大会的主题之一是纪念互联网诞生50周年以及中国全功能接入互联网25周年。回顾半个多世纪互联网技术与应用的发展历程,可以清晰地看到,计算机网络是沿着互联网—移动互联网—物联网的轨迹,由小到大逐步发展壮大,由表及里渗透到社会的各个领域,潜移默化地改变了世界的经济、科学、文化、教育与生活的方方面面。当前,计算机网络为人工智能、大数据、5G等新技术与各行各业的跨界融合提供了平台与技术支撑,基于网络的新应用、新业态方兴未艾,新一轮科技革命与产业变革加速演进,计算机网络也迎来了更加广阔的发展空间。 纵观互联网、移动互联网与物联网的发展历程,可以清晰地认识到: 开放的体系结构、协议与应用成就了互联网,促进了全球计算机的互联,成为世界范围信息共享的基础设施;移动使得互联网与人如影随形,大部分的移动互联网应用都具有社交功能,使大规模、复杂社会问题的群智感知、认知与处理成为可能;物联网将世界上万事万物的泛在互联成为可能,推动了大数据、智能技术与各行各业的深度融合,使得人类在处理物理世界问题时具有更高的智慧。因此,可以用开放、互联、共享来描述互联网的特征,用移动、社交、群智来描述移动互联网的特征,用泛在、融合、智慧来描述物联网的特征。但是,无论互联网、移动互联网与物联网如何发展,它们的理论与技术基础仍然是计算机网络。 建设网络强国已成为中国的重大战略决策之一,而建设网络强国必须培养大批的网络技术精英,需要大力普及网络知识和技能,计算机网络课程在这一方面应该发挥重要的作用。 出于这样的认识,作者在本书第5版的修订中,着力解决了以下几个问题。 第一,跟踪技术发展,研究网络技术的“变”与“不变”的关系。 计算机网络技术与应用发展用日新月异来描述一点也不过分。纵观计算机网络发展的历程,可以清晰地看到: 从互联网到移动互联网、物联网,网络应用系统的功能、协议体系与实现技术在变化,但是网络层次结构模型、端端分析原则与进程通信方法并没有发生本质的变化。基于这种判断,作者在本书第5版的修订中注意做好“减法”,压缩、调整过渡性概念、技术与结构,腾出篇幅用于增加新技术发展的内容,处理好计算机网络课程内容“变”与“不变”的关系。本书第5版深入浅出地介绍了5G、云计算与移动云计算、边缘计算与移动边缘计算、QoS/QoE、SDN/NFV等新技术、新概念;在保留章节的内容上也做了适当的调整,注意处理好与网络新技术的衔接关系。 第二,结构清晰,环环相扣,形成完整和有机的知识体系。 本书第5版的特点是结构清晰。在知识结构的设计中,以支撑互联网、移动互联网与物联网发展的共性技术为主线,每章围绕着一个中心问题进行讨论。这些问题如下: 第1章: 什么是计算机网络? 第2章: 如何实现网络中的比特流传输? 第3章: 如何实现以太网与WiFi的MAC协议? 第4章: 如何实现网络互联? 第5章: 如何实现网络环境中的分布式进程通信? 第6章: 如何设计和实现网络应用系统? 第7章: 如何保证网络安全? 第8章: 当前计算机网络技术有哪些重要发展? 前言计算机网络(第5版)第三,贯彻系统观,用计算机专业的基础与思维方式去解析网络知识。 计算机专业学生需要强调计算机系统能力的培养。计算机专业学生系统能力的核心是培养学生具有设计和构建以计算技术为核心的新的应用系统的能力,而网络知识是计算机系统能力的重要组成部分。计算机网络课程教学改革的目标之一是如何使网络课程与计算机专业课程体系形成一个有机的整体。 作者结合科研实践,在第3章,通过分析读者最常用和最熟悉的以太网与WiFi的MAC算法的实现技术,解释网卡硬件与软件的设计方法,引导学生利用计算机组成原理、外设与接口、操作系统与软件编程的基础知识,理解计算机是如何接入计算机网络,以及计算机与网络的硬件、软件与协议如何协同工作,使得计算机网络课程能够与计算机专业的计算机组成原理、外设与接口、操作系统与软件编程等核心课程融为一体,消除计算机网络课程与计算机专业课程体系脱节的弊病。 在讨论网络应用的过程中,作者用了大量在网上抓取的协议执行过程的截图,形象直观地解析抽象的网络协议的软件实现方法。在第6章结束时,从系统观出发,对计算机网络原理与实现方法从硬件与软件实现的角度进行概括和总结。通过解析读者熟悉的Web应用的实现过程,帮助读者理解真实的网络应用系统的工作原理与协议执行过程,使读者学会从软件编程的角度去实现网络服务功能,为深入学习网络技术奠定基础。 第四,贯彻以能力培养为导向的教学理念。 计算机网络是一门应用性与实践性很强的课程。学生只有通过系统训练,才有可能真正掌握和深入理解网络技术的基本理论与方法。本教学团队在规划教材体系建设时,坚持以能力培养为导向的指导思想,经过近20年的努力,基本形成了由1本主教材、4本辅助教材、1个题库和1个电子教案构成的教材体系。与主教材《计算机网络(第5版)》配套的有《计算机网络实验指导书(第3版)》《计算机网络软件编程指导书(第3版)》《计算机网络习题解析与同步练习(第3版)》和《计算机网络教师用书(第5版)》,后3种辅助教材近期将陆续出版。 《计算机网络实验指导书(第3版)》编写了16个网络实验。该书总结了网络硬件实验课程教学经验,参考了国际著名的网络公司的认证考试内容,设计了从物理层到数据传输,从网络应用到网络安全的网络实验课题,实验内容覆盖了从基本的组网到网络设备配置、从简单的网络环境编程到网络仿真的基本要求。每个实验均给出了进一步掌握该实验内容的练习与思考题。实验所要求的设备比较简单,目前大多数学校都具备基本的实验条件。 《计算机网络软件编程指导书(第3版)》设计了13个网络软件编程题目。编程选题考虑了不同层次网络协议的覆盖,同时将编程题目分为3个难度级,老师可以参照自己的教学需要,配合教学进度,有选择、循序渐进地完成网络软件编程训练,让学生通过实际编程问题的训练,达到加深理解网络基本工作原理、掌握网络环境中软件编程方法、提高网络软件编程能力的目的。 《计算机网络习题解析与同步练习(第3版)》参考了华为、Cisco等重要网络设备制造商认证培训大纲与试题、计算机专业研究生入学统考大纲与试题、全国计算机等级考试(三级)网络工程师考试大纲与试题,并且从网上收集了一些大的计算机、通信与软件公司的人员招聘考题,在系统地分析、比较的基础上,按照主教材的体系与教学要求,编写了习题解析与同步练习。该书的特点是: 每章的习题尽可能精简,突出基本要求。教师可以使用或参照书上的习题作为课后练习;学生可以随着教学进度,自我检查知识掌握情况。该书也可以作为计算机及相关专业学生参加计算机专业硕士研究生全国统考、求职考试的备考复习资料。 《计算机网络教师用书(第5版)》具有以下3个特点: 一是分析了主教材的知识体系以及每章的知识点结构,帮助任课教师准确把握全局与局部内容的关系;二是作者根据多年的教学、科研经验,针对主教材各章节的重点、难点,总结了自己在教学过程中遇到的问题,以及任课教师或学生提出的300多个问题,逐一加以解答;三是为了帮助任课教师组织好教学过程,解析了主教材每章中比较难的习题。 《计算机网络》第1版于2003年出版,2007年出版了第2版,2011年出版了第3版,2017年出版了第4版。第2版被列入普通高等教育“十一五”国家级规划教材,第3版与第4版被列入“十二五”普通高等教育本科国家级规划教材;第2版被评为2008年普通高等教育精品教材。但是,作者自知“盛名之下,其实难副”。为了不辜负广大读者的期望,作者与教学团队成员多年来一直以国内外知名大学为参照,研究其网络课程教学内容、教材与主要参考书、作业与实验以及教学方法改革的动向,并选择国际上最流行的教材作为参考,结合教学团队成员的科研与教学研究体会,力求使第5版在水平与质量上与国外优秀教材具有可比性。 为了适应计算机专业研究生网络课程的教学需要,作者与同事们编写了《计算机网络高级教程(第2版)》《计算机网络高级软件编程技术(第2版)》与《网络安全高级软件编程技术》,构成了覆盖本科生、硕士研究生与博士研究生理论与能力培养的完整的计算机网络课程教材体系。 在第5版的修订中,吴功宜负责第1~4章和第8章;吴英负责第5~7章与各章习题,并且修改了书中的部分插图。 本书的编写工作得到了南开大学徐敬东教授、张建忠教授、许昱玮副教授、张玉副教授以及网络教研室很多学生的支持和帮助,作者在此向他们表示感谢。 计算机网络知识更新快,完成高质量教材写作任务的难度很大。限于作者的学术水平,书中难免有错误与不妥之处,诚恳地希望读者批评指正。作者向使用前几版教材并提出了宝贵意见和建议的同行深表感谢,也希望诸位对本书继续给予关注和指教,共同为提高我国计算机网络课程的教学水平而努力。 南开大学计算机学院吴功宜wgy@nankai.edu.cn吴英wuying@nankai.edu.cn2021年3月