本教材可以适用于国内大多数普通高校计算机及相关专业,以及不同教学条件学校的网络课程教学的需要。从2003年8月该书第一版出版到2006年10月,共重印了12次,发行了9万余册,已经有近百所大学使用。典型的网评有:“在我读过的计算机网络教材中,这本书在结构上是最符合初次接触网络技术的学生需要的,层次清楚,内容比较连贯,在书中一般不容易接受的概念,作者用通俗的例子加以说明,尤其是分析典型的FTP协议来总结网络的工作原理,很有创意。我相信,通过一段时间,让大家了解这本书的特点,这本书会被国内很多大学的教师和学生接受的。”
教材编写的主要特点是:
l编写的指导思想明确,内容以网络技术基本概念与基本方法为主干,同时力求反映网络技术最新研究与发展成果。教材体系规划的过程中注意了知识的学习和能力的培养。
l教材写作中注意做到概念准确,语言简洁,图文并茂,全书结构符合学生循序渐进学习和自学的要求。
l教材内容定位准确,难易适中,配套教材齐全,能够适应国内不同地区、不同条件学校网络课程教学的基本要求,扩大了教学研究成果的收益面。
序言PREFACE
21世纪是知识经济的时代,是人才竞争的时代。随着21世纪的到来,人类已步入信息社会,信息产业正成为全球经济的主导产业。计算机科学与技术在信息产业中占据了最重要的地位,这就对培养21世纪高素质创新型计算机专业人才提出了迫切的要求。
为了培养高素质创新型人才,必须建立高水平的教学计划和课程体系。在20多年跟踪分析ACM和IEEE计算机课程体系的基础上,紧跟计算机科学与技术的发展潮流,及时制定并修正教学计划和课程体系是尤其重要的。计算机科学与技术的发展对高水平人才的要求,需要我们从总体上优化课程结构,精炼教学内容,拓宽专业基础,加强教学实践,特别注重综合素质的培养,形成“基础课程精深,专业课程宽新”的格局。
为了适应计算机科学与技术学科发展和计算机教学计划的需要,要采取多种措施鼓励长期从事计算机教学和科技前沿研究的专家教授积极参与计算机专业教材的编著和更新,在教材中及时反映学科前沿的研究成果与发展趋势,以高水平的科研促进教材建设。同时适当引进国外先进的原版教材。
为了提高教学质量,需要不断改革教学方法与手段,倡导因材施教,强调知识的总结、梳理、推演和挖掘,通过加快教案的不断更新,使学生掌握教材中未及时反映的学科发展新动向,进一步拓广视野。教学与科研相结合是培养学生实践能力的有效途径。高水平的科研可以为教学提供最先进的高新技术平台和创造性的工作环境,使学生得以接触最先进的计算机理论、技术和环境。高水平的科研还可以为高水平人才的素质教育提供良好的物质基础。学生在课题研究中不但能了解科学研究的艰辛和科研工作者的奉献精神,而且能熏陶和培养良好的科研作风,锻炼和培养攻关能力和协作精神。
进入21世纪,我国高等教育进入了前所未有的大发展时期,时代的进步与发展对高等教育质量提出了更高、更新的要求。2001年8月,教育部颁发了《关于加强高等学校本科教学工作,提高教学质量的若干意见》。文件指出,本科教育是高等教育的主体和基础,抓好本科教学是提高整个高等教育质量的重点和关键。随着高等教育的普及和高等学校的扩招,在校大学本科计算机专业学生的人数将大量上升,对适合21世纪大学本科计算机科学与技术学科课程体系要求的,并且适合中国学生学习的计算机专业教材的需求量也将急剧增加。为此,中国计算机学会和清华大学出版社共同规划了面向全国高等院校计算机专业本科生的“21世纪大学本科计算机专业系列教材”。本系列教材借鉴美国ACM 和IEEE最新制定的Computing Curricula 2005(简称CC2005)课程体系,反映当代计算机科学与技术学科水平和计算机科学技术的新发展、新技术,并且结合中国计算机教育改革成果和中国国情。
计算机网络(第2版)中国计算机学会教育专业委员会和全国高等学校计算机教育研究会,在清华大学出版社的大力支持下,跟踪分析CC2001,并结合中国计算机科学与技术学科的发展现状和计算机教育的改革成果,研究出了《中国计算机科学与技术学科教程2002》(China Computing Curricula 2002,简称CCC2002),该项研究成果对中国高等学校计算机科学与技术学科教育的改革和发展具有重要的参考价值和积极的推动作用。
“21世纪大学本科计算机专业系列教材”正是借鉴美国ACM 和IEEE CC2005课程体系,依据CCC2002基本要求组织编写的计算机专业教材。相信通过这套教材的编写和出版,能够在内容和形式上显著地提高我国计算机专业教材的整体水平,继而提高我国大学本科计算机专业的教学质量,培养出符合时代发展要求的具有较强国际竞争力的高素质创新型计算机人才。
中国工程院院士
国防科学技术大学教授
21世纪大学本科计算机专业系列教材编委会名誉主任
第2版前言FOREWORD
计算机网络是当今计算机科学与技术学科中发展最为迅速的技术之一,也是计算机应用中一个空前活跃的领域。21世纪的一个重要特征是数字化、网络化与信息化,而它的基础是支持全社会的强大的计算机网络。
计算机网络是计算机技术与通信技术相互渗透、密切结合而形成的一门交叉科学。社会学家指出: 人类社会的生活方式与劳动方式从根本上说具有群体性、交互性、分布性与协作性。在今天的信息时代,计算机网络的出现使人类这一本质特征得到了充分的体现。计算机网络的应用可以大大缩短人与人之间的时间与空间距离,更进一步扩大了人类社会群体之间的交互与协作范围,因此人们一定会很快地接受在计算机网络环境中的工作方式,同时计算机网络也会对社会的进步产生不可估量的影响。以Internet为代表的网络应用技术和高速网络技术,使得网络技术发展到了一个更高的阶段。基于网络技术的电子政务、电子商务、远程教育、远程医疗与信息安全技术正在以前所未有的速度发展,计算机网络正在改变着人们的工作方式与生活方式,网络技术的发展与应用业已成为影响一个国家与地区政治、经济、科学与文化发展的重要因素之一。
2005年2月16日,国际计算机协会ACM宣布Vinton G.Cerf和Robert E.Kahn获得2004年度A.M图灵奖,以表彰他们在设计和实施Internet基础通信协议方面的先驱性成就。ACM主席认为他们在定义Internet体系结构和相关协议的合作中取得的成果,奠定了信息技术领域的基石。这项图灵奖向世人说明了网络技术在信息技术中的“基石”作用,也确定了Internet的学术地位。美国《商业周刊》和《MIT技术评论》在预测21世纪“未来技术发展”的报告中列举的改变世界的10大技术与21世纪最有影响的21项技术,以及我国政府制定的21世纪科技发展的重点领域和课题中,其中有相当一部分涉及计算机网络技术。
我国信息技术与信息产业的发展,需要大批掌握计算机网络与通信技术的人才。因此网络技术已经成为广大学生学习的一门重要课程,也是从事计算机应用与信息技术的研究、应用的专业技术人员应该掌握的重要知识。
作者在多年的教学实践中深刻地体会到,在“计算机网络”课程的教学中需要注意两个问题: 一是教学体系的组织,二是不断出现的新技术如何在教材的组织中反映出来。计算机网络作为一门交叉科学,涉及计算机技术与通信技术两个学科。网络技术经过近50年的发展,已经形成了自身比较完善的体系。目前该技术发展迅速,应用广泛,知识更新快。如果用“日新月异”来描述网络技术的发展一点也不显得过分。对于这样一个发展迅速的领域来说,一本教材最重要的是让读者能够学会处理网络问题最基本的方法,掌握网络最基本的工作原理,使读者面对不断变化的技术,具有跟踪、学习的基础与能力。作为一名大学教师,作者第一次在南开大学计算机系开设“计算机网络”课程是在1984年。当时,作为对通信技术与计算机技术都有一定基础的青年教师来说,开始意识到这是一个有趣的课题,从1980年左右开始注意搜集、学习和研究这样一个交叉学科的问题,并且在1983年承担了第一个这方面的课题,但是对“什么是计算机网络”还完全处于朦胧状态。记得当年计算机系的近百名学生中,只有7位学生选修了这门课程,人们对计算机网络都很陌生。然而20年后的今天,计算机网络已经和电力、电话一样,成为支持现代社会整体运行的基础设施,成为人们须臾不能离开的东西。在20多年的教学与科研工作中,密切地注视和跟踪着网络技术的研究、应用的发展,也见证了网络时代技术的超常发展的过程。作者也正是在不断的教学与研究过程中,经历了“教学相长”的过程。近几年来,作者在参加信息学科发展规划的研究,以及“城市信息化建设‘十一五’发展规划”、“高新技术中长期发展规划”研究与起草工作中,认真研读了有关的文献和资料,从宏观的角度思考、认识和总结网络技术的发展轨迹,以及它对信息产业、经济与社会发展的影响。这些经历也使得作者对网络技术有了一个更为深刻、全面的认识。
第2版前言 计算机网络(第2版)作者根据多年从事本科学生、研究生网络课程教学实践与科研工作的经验,结合网络技术最新发展,修订教材的第2版,希望为广大读者提供一本既保持知识的系统性,又能反映当前网络技术发展最新成果,概念准确,层次清晰,易于学习的教科书。本书的组织基本遵循分层模型的思路,以Internet与TCP/IP协议高速网络技术、Internet应用技术发展为主线,加入网络发展的最新成果。
全书共分9章。第1章讨论了计算机网络的基本概念、发展与应用,并对网络计算研究与应用的发展进行了介绍。第2章讨论了网络体系结构与网络协议的基本概念,对OSI参考模型与TCP/IP参考模型进行了分析与比较,为以后以TCP/IP协议为主线的讨论打下基础。第3章在介绍数据通信基础知识与概念的基础上,对物理层基本概念和主要协议进行了讨论,对广域网技术相关知识进行了介绍。第4章讨论了基于点对点链路的数据链路层的基本概念与协议,对HDLC协议与Internet的数据链路层PPP协议进行了系统的讨论。第5章讨论了介质访问控制方法及局域网、城域网技术发展和应用,同时介绍了交换局域网、虚拟局域网、无线局域网与高速网络技术。第6章讨论了网络互联与网络层协议,对网络层的基本概念、路由选择、IP协议、路由器与第三层交换技术进行了系统的讨论,在此基础上介绍了IPv6协议。第7章讨论了传输层协议,对网络环境中分布式进程通信与传输协议的关系、Client/Server模型、传输层的基本功能,以及UDP、TCP协议做了系统的讨论。第8章讨论了应用层的基本概念和Internet应用层协议,并以典型应用层协议FTP的分析为例,对网络服务的基本概念、协议与协议数据单元等基本问题做一个总结。第9章讨论了网络安全的重要性、网络安全技术研究的基本问题、加密与认证、入侵检测与防攻击、防火墙、网络防病毒、网络文件备份与恢复技术,并对网络管理技术进行了系统的讨论。
通过以上各章内容的安排,作者希望告诉读者:
(1) 什么是计算机网络?(第1、2章)
(2) 实现网络数据传输的通信系统是如何工作的?(第3章)
(3) 如何保证网络中结点之间数据传输的正确性?(第4章)
(4) 读者经常使用的局域网是如何工作的?(第5章)
(5) 支持Internet工作的核心技术是什么?(第6章)
(6) 网络中计算机之间的分布式进程通信是如何实现的?(第7章)
(7) 各种Internet网络应用是如何实现的?(第8章)
(8) 如何管理和保证网络安全?(第9章)
在本书编写过程中,作者参考了近年来的最新文献资料,力求做到层次清楚、概念准确、语言流畅、内容丰富、图文并茂,既便于读者循序渐进地系统学习,又能使读者了解网络技术新的发展。各章之后附有习题,习题分为基本概念与术语、选择题与计算、问答题,书后附有各章习题的参考答案。作者力求以习题的形式,帮助读者在学习的过程中,通过自我检查,发现问题,引导学习的深入,加深读者对网络基本概念与技术精髓的理解,掌握基本原理与应用知识。
本书的第1版作为中国计算机学会组织编写的“21世纪大学本科计算机专业系列教材”之一,第2版作为教育部普通高等院校十一五规划教材出版的。在写作、出版过程中,得到了北京大学李晓明教授、北京航空航天大学钱德沛教授的指导和清华大学出版社张瑞庆编辑、徐跃进、顾冰编辑的帮助。南开大学陈有祺教授、刘瑞挺教授、徐敬东教授、张建忠教授也给予了多方的帮助,吴英博士帮助完成了书中的插图, 在此谨表衷心的感谢。本教材的编写得到天津市教委和南开大学教务处的立项支持,在此一并表示感谢。我也非常感谢我的夫人牛秀卿教授,正是有她的理解和支持,才使我能够安心研究和写作。
面对网络技术迅速更新和发展,作者要完成这样一个高标准的写作任务感到压力很大。限于作者的学术水平,书中难免有错误与不妥之处,诚恳地希望读者批评指正。对于在使用第1版的过程中曾经提出过宝贵意见和建议的老师们深表感谢,也希望诸位继续关注和指教。作者衷心地希望得到读者,尤其是广大的同学与老师的支持与帮助,共同探讨网络课程教学体会,共同提高我国计算机网络课程的教学水平。吴功宜南开大学信息技术科学学院
2006年11月6日
第1章计算机网络概论1
1.1计算机网络的形成与发展1
1.1.1计算机网络发展阶段的划分1
1.1.2计算机网络的形成2
1.1.3网络体系结构与协议标准化的研究4
1.1.4Internet的应用与高速网络技术发展5
1.1.5宽带网络与无线网络的研究与发展 7
1.2计算机网络定义与分类11
1.2.1计算机网络定义的基本内容11
1.2.2计算机网络的分类11
1.3计算机网络结构13
1.3.1计算机网络结构的基本概念13
1.3.2现代网络结构的特点15
1.4计算机网络的拓扑构型16
1.4.1计算机网络拓扑的定义16
1.4.2计算机网络拓扑的分类16
1.5分组交换技术的基本概念17
1.5.1线路交换的基本概念17
1.5.2存储转发交换的特点19
1.5.3数据报方式与虚电路方式20
1.6典型计算机网络23
1.6.1ARPANET23
1.6.2NSFNET24
1.6.3Internet25
1.6.4Internet 2 26
1.7网络计算研究与应用的发展27
1.7.1网络计算的基本概念27
1.7.2移动网络计算的研究与应用28
1.7.3多媒体网络的研究与应用31
1.7.4网络并行计算的研究与应用34
1.7.5存储区域网络的研究与应用36
小结37
习题37
第2章网络体系结构与网络协议40
2.1网络体系结构的基本概念40
2.1.1网络协议的概念40
2.1.2协议、层次、接口与体系结构的概念42
2.1.3网络体系结构的研究方法43
2.2OSI参考模型44
2.2.1OSI 参考模型的基本概念44
2.2.2OSI参考模型的结构45
2.2.3OSI参考模型各层的功能46
2.2.4OSI环境中的数据传输过程47
2.2.5面向连接服务与无连接服务49
2.3TCP/IP参考模型51
2.3.1TCP/IP参考模型的发展51
2.3.2TCP/IP参考模型各层的功能52
2.4OSI参考模型与TCP/IP参考模型的比较54
2.4.1对OSI参考模型的评价54
2.4.2对TCP/IP参考模型的评价55
2.5网络与Internet协议标准组织与管理机构55
2.5.1网络协议标准组织55
2.5.2RFC文档、Internet草案与Internet协议标准56
2.5.3Internet管理机构58
2.6一种建议的参考模型59
小结60
习题60
第3章物理层63
3.1物理层与物理层协议的基本概念63
3.1.1物理层的基本概念63
3.1.2物理层基本服务功能64
3.1.3物理层向数据链路层提供的服务64
3.2数据通信的基本概念65
3.2.1信息、数据与信号65
3.2.2数据传输类型与通信方式68
3.2.3传输介质的主要类型72
3.3数据编码技术78
3.3.1数据编码类型78
3.3.2模拟数据编码方法78
3.3.3数字数据编码方法81
3.3.4脉冲编码调制方法83
3.4基带传输技术84
3.4.1基带传输的定义84
3.4.2通信信道带宽对基带传输的影响85
3.4.3数据传输速率的定义与信道速率的极限86
3.5频带传输的基本概念88
3.6多路复用技术89
3.6.1多路复用技术的分类89
3.6.2频分多路复用89
3.6.3波分多路复用90
3.6.4时分多路复用91
3.7同步数字体系SDH94
3.7.1SDH发展的背景94
3.7.2SDH速率体系95
3.7.3SDH的主要技术特点98
小结98
习题98
第4章数据链路层102
4.1差错产生与差错控制方法102
4.1.1设计数据链路层的原因102
4.1.2差错产生的原因和差错类型103
4.1.3误码率的定义104
4.1.4检错码与纠错码104
4.1.5循环冗余编码工作原理105
4.1.6差错控制机制108
4.2数据链路层的基本概念110
4.2.1物理线路与数据链路110
4.2.2数据链路层的主要功能110
4.2.3数据链路层向网络层提供的服务111
4.3面向字符型数据链路层协议实例111
4.3.1数据链路层协议的分类111
4.3.2面向字符型协议实例——BSC112
4.4面向比特型数据链路层协议实例——HDLC115
4.4.1HDLC产生的背景115
4.4.2数据链路的配置方式和数据传送方式115
4.4.3HDLC的帧结构116
4.4.4数据链路层的工作过程120
4.5Internet中的数据链路层124
4.5.1Internet数据链路层协议124
4.5.2PPP协议125
小结127
习题128
第5章介质访问控制子层131
5.1局域网与城域网的基本概念131
5.1.1决定局域网与城域网性能的三要素131
5.1.2局域网拓扑结构类型与特点132
5.1.3传输介质类型与介质访问控制方法135
5.1.4IEEE 802参考模型135
5.2Ethernet局域网137
5.2.1Ethernet的发展137
5.2.2Ethernet帧结构与工作流程分析139
5.2.3Ethernet实现方法146
5.2.4Ethernet物理地址147
5.2.5网络协议分析器及其应用148
5.3令牌总线与令牌环网150
5.3.1令牌总线网的基本工作原理150
5.3.2令牌环网与FDDI151
5.4高速局域网的工作原理153
5.4.1高速局域网的研究方法153
5.4.2快速以太网155
5.4.3吉比特以太网156
5.4.410Gbps Ethernet158
5.5交换式局域网的工作原理160
5.5.1交换式局域网的基本结构160
5.5.2局域网交换机的工作原理161
5.5.3局域网交换机的技术特点163
5.6虚拟局域网的工作原理164
5.6.1虚拟网络的概念164
5.6.2虚拟局域网的实现技术164
5.7无线局域网168
5.7.1无线局域网的应用168
5.7.2红外无线局域网170
5.7.3扩频无线局域网170
5.7.4无线局域网标准IEEE 802.11172
5.8局域网互联与网桥的基本工作原理175
5.8.1局域网互联的基本概念175
5.8.2网桥的基本工作原理176
5.8.3网桥的层次结构177
5.8.4网桥的路由选择策略179
5.8.5网桥与广播风暴181
5.8.6多端口网桥与第二层交换183
小结184
习题184
第6章网络层189
6.1网络层与网络互联的基本概念189
6.1.1网络层基本概念189
6.1.2网络互联的基本概念190
6.2IP地址191
6.2.1IP地址的基本概念与地址标识方法的演变191
6.2.2标准分类的IP地址193
6.2.3子网与超网的基本概念199
6.2.4无类域间路由CIDR技术209
6.2.5专用IP地址与网络地址转换NAT技术212
6.3IP分组交付和路由选择216
6.3.1IP分组交付216
6.3.2路由选择的基本概念217
6.4Internet的路由选择协议220
6.4.1自治系统与路由选择协议220
6.4.2典型内部网关协议RIP与OSPF222
6.4.3典型外部网关协议BGP229
6.5IP协议231
6.5.1IP协议的特点231
6.5.2IP数据报结构与报头格式233
6.5.3IP数据报的分片与重组236
6.6地址解析239
6.6.1IP地址与物理地址的映射239
6.6.2地址解析协议241
6.6.3反向地址解析协议244
6.7路由器与第三层交换244
6.7.1路由器的基本功能244
6.7.2路由器的基本工作原理245
6.7.3路由器的结构247
6.7.4第三层交换249
6.8ICMP协议252
6.8.1ICMP的作用与特点252
6.8.2ICMP报文类型253
6.8.3ICMP差错控制功能253
6.9IP多播与IGMP协议257
6.9.1IP多播的基本概念257
6.9.2IGMP协议259
6.9.3多播路由器与IP多播中的隧道技术260
6.10IPv6与IPSec261
6.10.1IPv6协议的主要特点261
6.10.2IPv6地址表示方法264
6.10.3IPv6与IPv4报头的比较265
6.10.4从IPv4到IPv6过渡的基本方法266
6.10.5IPSec协议269
小结270
习题270
第7章传输层275
7.1网络环境中分布式进程通信的基本概念275
7.1.1单机系统中的进程通信方法276
7.1.2网络环境中分布式进程通信的特点277
7.1.3网络应用程序进程间相互作用的客户/服务器模式279
7.1.4进程通信中客户/服务器模式的实现方法281
7.2传输层的基本功能283
7.2.1传输层端到端通信的概念283
7.2.2传输层协议的基本功能284
7.2.3网络服务与服务质量285
7.3用户数据报协议288
7.3.1UDP协议的主要特点288
7.3.2UDP的基本工作过程289
7.3.3UDP端口号分配方法291
7.3.4UDP数据报格式293
7.4传输控制协议294
7.4.1TCP协议的主要特点294
7.4.2TCP的端口号分配和Socket地址296
7.4.3TCP报文段格式296
7.4.4TCP传输连接建立与释放298
7.4.5TCP流量与拥塞控制301
7.4.6TCP差错控制305
7.4.7TCP的计时器308
小结310
习题310
第8章应用层313
8.1应用层协议的基本概念313
8.1.1主要的应用层协议313
8.1.2TCP/IP协议族及协议之间的关系314
8.2域名系统314
8.2.1域名系统的基本概念314
8.2.2域名服务器的层次结构317
8.2.3域名解析319
8.2.4域名系统性能优化321
8.3Email服务322
8.3.1Email的概念322
8.3.2Email服务工作过程323
8.3.3Email协议的发展324
8.3.4简单邮件传送协议325
8.3.5邮件读取协议325
8.4FTP服务326
8.4.1FTP的概念326
8.4.2FTP服务的工作过程327
8.4.3匿名FTP服务327
8.4.4FTP客户程序328
8.5WWW服务328
8.5.1WWW服务的基本概念328
8.5.2超文本、超媒体与超文本标记语言330
8.5.3URL与信息定位333
8.5.4WWW浏览器333
8.5.5WWW基本工作过程与协议层次337
8.6播客、博客、网络即时通信与网络电视服务337
8.6.1新闻与公告类服务337
8.6.2播客服务338
8.6.3博客服务340
8.6.4网络即时通信服务341
8.6.5网络电视服务342
8.7典型应用层协议FTP的分析343
8.7.1FTP模型与测试分析环境343
8.7.2FTP控制连接建立过程的协议分析345
8.7.3FTP用户登录身份验证过程的协议分析348
8.7.4FTP数据连接建立过程的协议分析352
8.7.5FTP数据传输过程的协议分析353
8.7.6FTP连接释放过程的协议分析358
小结361
习题361
第9章网络安全与网络管理技术365
9.1网络安全的重要性与研究的主要问题365
9.1.1网络安全的重要性365
9.1.2网络安全研究的主要问题368
9.1.3网络安全标准375
9.2加密与认证技术375
9.2.1密码算法与密码体制的基本概念376
9.2.2对称密码体系378
9.2.3非对称密码体系379
9.2.4数字信封技术381
9.2.5数字签名技术382
9.2.6身份认证技术的发展384
9.3防火墙技术385
9.3.1防火墙的基本概念385
9.3.2包过滤路由器386
9.3.3应用级网关的概念389
9.3.4防火墙的系统结构391
9.4网络防攻击与入侵检测技术394
9.4.1网络攻击方法分析395
9.4.2入侵检测的基本概念397
9.4.3入侵检测的基本方法398
9.5网络文件备份与恢复技术400
9.5.1网络文件备份与恢复的重要性400
9.5.2网络文件备份的基本方法400
9.6网络防病毒技术401
9.6.1造成网络感染病毒的主要原因401
9.6.2网络病毒的危害402
9.6.3典型网络防病毒软件的应用402
9.6.4网络工作站防病毒方法403
9.7网络管理技术404
9.7.1网络管理的基本概念404
9.7.2OSI管理功能域405
9.7.3简单网络管理协议408
小结410
习题411
附录ARFC文档414
附录B参考答案418
附录C词汇索引421
参考文献431