请输入您要查询的百科知识:

 

词条 计算机网络与Internet
释义

Comer为工业界计算机网络的设计提供咨询。除了在大学里做报告以外,他每年还向遍布世界的网络专业人员讲授在线课程。他的操作系统,Xinu,以及TCP/IP协议的实现(都归档在他的教科书中)已经用于许多商业产品中。

计算机网络与Internet——网络应用 最新

ISBN:7-900643-30-3

作者:(美)Douglas E. Comer著,金舒原,段海新 译

出版社:清华大学出版社

印刷:黑白

介质:平装

开本:16开本

出版日期:2002年

页数:519

定价:58.00 元

作者简介

Douglas Comer博士是国际公认的TCP/IP协议、计算机网络、Internet领域的专家。作为形成于20世纪70年代和80年代的Internet的早期研究者,他是Internet体系结构委员会(InternetArchitecture Board,IAB)的成员。IAB是负责指导Internet发展的组织。他是CSNET技术委员会的主席,也是CSNET执行委员会的成员。

Comer是普渡(Purdue)大学计算机科学系的教授,他教授课程并做一些计算机网络、网络互连和操作系统方面的研究工作。除写了一系列畅销的技术书籍以外,他还是杂志“software——practice and Experience”北美的编辑。Comer还是ACM的特别会员。

详细介绍:

内容提要

本书全面深入地讲解了计算机网络与因特网的各个方面,包括数据传输、包传送、网络互连和网络应用4大部分。数据传输部分解释了最底层承载信息的电子信号如何穿越电缆,并介绍了数据怎样用电子信号进行编码;第2部分解释了计算机网络为何使用数据包、数据如何聚合成发送的包,以及数据包如何被传送到它的目的地址;第3部分主要介绍网络互连,讨论了将异构网络组合成一个大规模的、无缝的通信系统的动机和实现方法;最后一部分主要介绍了应用系统如何使用底层网络进行通信。本书的附录和光盘还提供了网络术语的解释以及大量的网络编程和实验的例子、图表、动画等,这对于深入理解网络互连技术及组织网络素材都大有裨益。

本书可作为本科生和低年级的研究生教材或教学参考书。对于从事网络研究、网络工程、技术服务的科研和工程技术人员来说,本书也是一本很好的基础性参考读物。

前 言

本书如此受欢迎令我欣喜异常。除了几百所美国学校用它作为计算机网络课程的教材以外,许多专业人士还写信说它正用于工业界,而且还有来自海外译本的热情洋溢的评论。在市场上充斥着网络书籍的今天,本书的成功特别令人感到满意。它之所以能够脱颖而出,在于它覆盖面广、条理清晰、对概念的阐述透彻并关注于Internet,而且随书附带的光盘以及下面的网站也为读者提供了丰富的材料:

http://www.netbook.cs.purdue.edu

新版对原书做了彻底的修订和更新,增加了3章(第3章,第14章和第25章)和许多新的小节,并增加了80多个术语。光盘和Web站点的内容也重新做了整理和扩展。

新增的3章内容是应教师和读者的需求而增加的。第3章是专门为那些想初步了解网络应用和编程知识的读者设计的。该章在介绍网络底层技术和协议设施之前,揭示了怎样构造通过Internet操作的应用。并且,第3章还给出了一个简化的API (包括可用的代码),举例说明Internet应用如何使用这个API进行通信。即便读者对编程不感兴趣,也会赞赏许多例子程序所达到的效果。

第14章是应那些要求更详细地了解面向连接网络的读者而编写的。该章以ATM为例,介绍了面向连接的网络范例。除了解释诸如标签交换等概念和细节之外,还提供了对这一技术的评估,并讨论了为什么ATM没有达到它雄心勃勃的设计目标。

第25章是应那些要求增加Internet路由和Internet路由协议内容的读者而编写的。该章讨论了静态和动态路由,覆盖了自治系统的概念和具体的路由协议,如RIP,OSPF和BGP等。最后,该章还讨论了组播路由传播。

本书从最广泛的意义上回答了“计算机网络和国际互联网是怎样操作的?”这一基本问题。它为读者提供了一个全面的、涵盖了从网络中最底层的数据传输和电缆到最高层的应用软件的学习旅程。在每个层次中,本书都展示了下一个层次怎样使用和扩展底层所提供的设施和服务。因此,本书在描述了一个调制解调器怎样使用载波编码以后,就开始介绍Internet这样的分组交换系统如何使用调制解调器发送帧;在描述了以太网这样的帧传输技术以后,就开始介绍像TCP这样的协议怎样利用这些传输设施实现对数据的可靠传输。最后,本书介绍了Internet应用,解释万维网(World Wide Web)在这样一个基础设施之上是怎样操作的。

本书是为那些没有或只有一点网络背景的读者准备的。书中没有使用复杂的数学描述,也不需要读者有操作系统的知识。相反,本书清楚地定义了概念,使用实例和插图说明技术是怎样操作的,阐明了分析结果但并没有给出数学证明。

在引言(第1~3章)之后,本书的正文含有4部分:第1部分(第4~6章)简要说明了底层的硬件是怎样工作的。这一部分解释了载波信号的概念,讨论了载波的调制,说明了调制解调器怎样把发送的数据编码成载波信号。这一部分还讨论了异步、面向字符的数据传输,并定义了以后章节中出现的术语,诸如带宽、波特等。

第2部分(第7~16章)关注于分组交换。这一部分介绍了使用分组的动机,然后描述了用于网络分类的特征,如局域网、广域网、本地环、公共网络和私有网络、面向连接的网络或无连接网络,还有基本的网络拓扑结构和电缆模式。这一部分还介绍了如下一跳、路由、交换、协议分层等在每一章都要使用的术语。最后举例说明几种常见的网络,包括以太网、FDDI、令牌环、ATM和ADSL。

第3部分(第17~25章)着重介绍Internet协议。讨论网络互连的动机之后,这一部分描述了互连网的体系结构以及路由器、互连网编址、地址绑定、TCP/IP协议等。详细回顾了IP,TCP,ICMP和ARP协议,让学生理解概念是怎样联系到实际的。在第24章介绍了TCP,其内容覆盖了传输协议的可靠性这一重要的、深层次主题。附录5通过建设一个家庭网络、使用一个IP地址把多台计算机连接到Internet上,展示了怎样把理论付诸实践。

最后一部分(第26~38章)研究了网络应用。像本书其他部分一样,这一部分的覆盖面也是相当宽广的——既包括通用的原理,也包括具体的应用。这一部分首先描述了网络应用用以通信的客户-服务器模型,然后描述了套接字(socket)API,并给出了使用套接字进行通信的客户与服务器示例代码。这一部分还描述了域名系统中的名字解析和应用,如电子邮件、文件传输、Web浏览等,还通过使用CGI,Java,JavaScript的例子,介绍了动态文档和主动文档。在介绍每一种技术的过程中,均描述了软件结构并解释了客户和服务器之间怎样交互以便提供服务。第35章还讨论了中间件(middleware),其中包括过程式的和面向对象的中间件技术。这一部分后面的章节讨论了网络安全,并介绍了如何使用应用软件进行网络管理。最后,第38章还探讨了有趣的初始化问题,介绍了应用层软件怎样实现看似不可能的事情——用协议软件获取正在使用的协议软件在初始化时必需的信息。

本书最适合于作为一学期的网络高级引论课程使用。由于涉及目标的广泛性,所以本书覆盖了网络从电缆到应用的所有主题。比如,在普渡(Purdue)大学,学生有每周一次的实验室作业以强化概念的理解,并提供动手的经验。到完成该课程时,每个学生都可以:知道IP路由器怎样使用路由表转发IP数据报;描述一个数据报怎样穿越Internet;解释集线器和2层交换机之间的不同;了解TCP如何识别一个连接;知道为什么当前的Web服务器能够在80端口上同时处理多个连接;描述网桥和IP路由器之间概念上的不同;计算一个比特穿越100BaseT网络的时间长度;解释为什么TCP归于端到端一类;区分以太网使用的CSMA/CD介质访问机制和令牌传递模式;了解DSL如何使用多路复用技术高速传输数据。

一门课程的目标是广泛的,而不是深奥的——它覆盖所有的主题,读者可以不必专注于少数几种技术或概念。因此,一门成功课程的关键在于保持一个敏捷的步伐,在一个学期里覆盖基础的主题。本书第1部分中基础的内容可以压缩在一周之内完成,网络和网络互连部分可以分配五周时间,留下几个星期给应用和网络管理与安全等主题。

教师应该向学生强调概念和原理的重要性:具体的技术可能几年后过时了,但是原理是不变的。另外,教师应该激发学生彻底学习网络的动力。

尽管没有一个单独的主题是具有挑战性的,但学生仍可以发现许多内容不很容易接受。特别是,当学生们面对过多新的术语时。缩写的网络术语和行话可能会非常令人困惑:学生花费了大量的时间才能习惯这些术语。为帮助学生掌握术语,附录1包含了一个术语和缩写词汇表。为更加清晰起见,词汇表中的词汇定义是单独描述的,而不是在文中逐字逐句说明的。

由于编程和实验对帮助学生学习网络起着非常关键的作用,所以实验室练习是任何一门网络课程的重要部分。附录6描述了Purdue大学本科生网络实验室的体系结构,展示了怎样用一些廉价的硬件设备构造一个有用的实验环境。我们的实验课程强调网络的两个重要方面:套接字编程和数据包分析。我们让学生构造客户软件访问网络并提取数据(如编写程序打印当前的温度)。第3章介绍了简单的API,使用我们的API,学生可以在了解协议、地址、套接字之前编写可运行的代码。当然,学生在学期后面会学习如何使用套接字API。最后,学生需要编写一个并发的Web服务器(CGI支持是可选的)。除了应用编程之外,学生们还需要使用实验室设施从一个真实的网络中捕获数据包,然后编写程序解码数据包头。

让学生访问网络提高了他们的热情,教师应该鼓励学生们做实验——我们的经验表明,访问过实际网络的学生能更好地理解主题。因此,如果没有专用的包分析仪,可以在一个标准PC上安装相应的软件来配置一个廉价的分析仪。对那些无法访问网络设施的学生来说,光盘中包含了包跟踪的例子,学生们可以编写程序来读取踪迹并处理包,就像从网络中捕获它们一样。

本书所带的光盘和Web站点都包含许多材料,有助于教学和读者对本书内容的理解。对于教师,光盘包含了课程的内容,文中的图表可以做演示,生动的图表有助于阐明概念。光盘还包括书中没有的内容,包括网络电缆和设备的照片以及用于学生工程作业中的数据文件。

为帮助教授和学生们定位信息,光盘还包括一个关键字搜索机制。给定一个术语,该搜索机制从联机词汇表中定位术语的定义以及与该术语相关的其他术语。最后,光盘包含了指向Web 站点的链接,该站点在不断地更新。本书专门建立了两个电子邮件列表:一般的信息可以从netbook@cs.purdue.edu获得,关于本书教学内容的讨论参见netbook-inst@cs.purdue.edu。欲加入列表,向相应列表名字发一封电子邮件信息,邮件体由subscribe组成。为避免邮件服务器通过Internet发送一个消息的多个拷贝,教师需要为他们站点的所有学生建立一个单独的本地别名(alias)。

感谢所有对本书的新版做出贡献的人:Dennis Brylow和John Lin校对了本书的所有章节,Jennifer Seitzer,Abdullah Abonamah和George Varghese审读了早期的版本,并提出了有价值的建议。Mike Evangelista 写了第3章中的客户和服务器应用代码和API,并把这个API移植到Linux,Solaris和Windows 平台。Ralph Droms准备了光盘,并且管理Web的内容。Jim Griffioen审读了新增加的3章,提供了全球的前景和技术细节。特别感谢我的妻子和伙伴,Chris,本书的许多进步来源于她细心的编辑和有益的提议。

本书目录

第1章 简介 1

1.1 计算机网络的增长 1

1.2 网络系统的复杂性 1

1.3 克服复杂性 2

1.4 概念和术语 2

1.5 本书的结构 2

1.6 小结 3

第2章 动机与工具 4

2.1 简介 4

2.2 资源共享 4

2.3 Internet的增长 5

2.4 探测Internet 6

2.5 解释ping的响应 8

2.6 跟踪一个路由 9

2.7 小结 10

2.8 练习 10

第3章 网络编程与应用 12

3.1 简介 12

3.2 网络通信 12

3.3 客户-服务器计算 12

3.4 通信模式 13

3.5 一个应用编程接口的例子 13

3.6 一个简单的API调用过程 14

3.7 API的定义 15

3.7.1 await_contact函数 15

3.7.2 make_contact函数 15

3.7.3 appname_to_appnum 函数 15

3.7.4 cname_to_comp函数 16

3.7.5 send函数 16

3.7.6 recv和recvln函数 16

3.7.7 send_eof 函数 16

3.7.8 API 类型总结 17

3.8 回声(echo)应用程序代码 17

3.8.1 回声服务器代码实例 18

3.8.2 回声客户代码实例 19

3.9 一个聊天(chat)应用程序代码 22

3.9.1 聊天服务器代码示例 23

3.9.2 聊天客户代码实例 25

3.10 Web应用程序代码 27

3.10.1 Web客户代码实例 28

3.10.2 Web服务器代码实例 29

3.11 小结 34

3.12 练习 34

第1部分 数 据 传 输

第4章 传输介质 36

4.1 简介 36

4.2 铜缆 36

4.3 玻璃纤维 38

4.4 无线电 38

4.5 卫星 38

4.6 地球同步卫星 39

4.7 低地球轨道卫星 40

4.8 低地球轨道卫星阵列 40

4.9 微波 41

4.10 红外线 41

4.11 激光 41

4.12 小结 42

4.13 练习 42

第5章 本地异步通信(RS-232) 43

5.1 简介 43

5.2 异步通信的需求 43

5.3 用电流发送比特 43

5.4 通信标准 44

5.5 波特率、帧与出错 46

5.6 全双工异步通信 47

5.7 实际硬件的限制 48

5.8 硬件带宽与比特传输 49

5.9 噪声对通信的影响 49

5.10 定理对数据网络的意义 50

5.11 小结 50

5.12 练习 51

第6章 远距离通信(载波、调制和调制解调器) 52

6.1 简介 52

6.2 远距离发送信号 52

6.3 用于调制和解调的调制解调器硬件 54

6.4 租用模拟数据线路 55

6.5 光、无线电频率和拨号调制解调器 56

6.6 载波频率和多路复用 57

6.7 基带和宽带技术 58

6.8 波分多路复用 59

6.9 扩展频谱 59

6.10 时分多路复用 60

6.11 小结 60

6.12 练习 61

第2部分 包 传 输

第7章 包、帧和错误检测 62

7.1 简介 62

7.2 包的概念 62

7.3 包和时分多路复用 64

7.4 包和硬件帧 64

7.5 字节填充 66

7.6 传输错误 67

7.7 奇偶位和奇偶校验 67

7.8 概率、数学和错误检测 68

7.9 使用校验和检测错误 69

7.10 使用循环冗余校验检测错误 70

7.11 模块连接 71

7.12 突发错误 72

7.13 帧格式和错误检测机制 72

7.14 小结 73

7.15 练习 74

第8章 局域网技术及网络拓扑 76

8.1 简介 76

8.2 直接的点对点通信 76

8.3 共享通信信道 78

8.4 局域网的重要性和引用的本地性 78

8.5 LAN的拓扑结构 79

8.5.1 星形拓扑 79

8.5.2 环形拓扑 80

8.5.3 总线形拓扑 80

8.5.4 存在多种拓扑结构的原因 81

8.6 总线网实例:以太网 81

8.6.1 以太网的历史 81

8.6.2 以太网传输与曼彻斯特编码 82

8.6.3 以太网上的共享 83

8.7 载波侦听多路访问网(CSMA) 83

8.8 带有CSMA/CD的冲突检测与回退 84

8.9 802.11无线局域网和CSMA/CA 85

8.10 总线网络的另一个实例:LocalTalk 86

8.11 环形网实例:IBM令牌环 87

8.12 环形网的另一个实例:FDDI 88

8.13 星形网实例:ATM 90

8.14 小结 91

8.15 练习 92

第9章 硬件编址与帧类型识别 94

9.1 简介 94

9.2 指定接收者 94

9.3 局域网硬件如何使用地址来过滤包 95

9.4 物理地址的格式 96

9.5 广播 97

9.6 组播 98

9.7 组播编址 99

9.8 标识包的内容 99

9.9 帧头和帧格式 100

9.10 帧格式的一个例子 100

9.11 不使用自标识帧的网络 102

9.12 网络分析仪、物理地址和帧类型 103

9.13 小结 105

9.14 以太网地址分配 106

9.15 练习 106

第10章 局域网布线、物理拓扑和接口硬件 107

10.1 简介 107

10.2 局域网和计算机的速度 107

10.3 网络接口硬件 108

10.4 网络接口卡与网络间的连接 109

10.5 早期的粗线以太网布线 110

10.6 连接多路复用 111

10.7 细线以太网布线 112

10.8 双绞线以太网 113

10.9 布线方案的优缺点 114

10.10 拓扑矛盾 116

10.11 网络接口卡和布线方案 116

10.12 布线方案和其他网络技术 117

10.13 小结 118

10.14 练习 119

第11章 扩展局域网:光纤调制解调器、中继器、网桥和交换机 120

11.1 简介 120

11.2 距离限制与局域网设计 120

11.3 光纤扩展 121

11.4 中继器 122

11.5 网桥 124

11.6 帧过滤 124

11.7 桥接网络的启动和达到稳定状态的动作 126

11.8 设计一个桥接网络 126

11.9 建筑物间的桥接 127

11.10 跨越长距离的桥接 127

11.11 桥接环路 129

11.12 分布式生成树 130

11.13 交换 130

11.14 交换机与集线器的组合 131

11.15 用于其他技术的桥接和交换 132

11.16 小结 132

11.17 练习 133

第12章 长距离数字连接技术 134

12.1 简介 134

12.2 数字电话 134

12.3 同步通信 135

12.4 数字电路与DSU/CSU 136

12.5 电话标准 137

12.6 DS术语与数据速率 137

12.7 小容量电路 138

12.8 中等容量的数字电路 139

12.9 大容量电路 139

12.10 光载波标准 140

12.11 后缀C 140

12.12 同步光网络(SONET) 141

12.13 本地用户回路 142

12.14 ISDN 142

12.15 非对称数字用户线路技术 143

12.16 其他DSL技术 145

12.17 电缆调制解调器技术 146

12.18 上流通信 147

12.19 混合光纤同轴 148

12.20 光纤到路边 148

12.21 特殊情况下的替代方案 149

12.22 广播卫星系统 149

12.23 小结 150

12.24 练习 151

第13章 广域网技术和路由 152

13.1 简介 152

13.2 大型网络和广域 152

13.3 分组交换机 153

13.4 构建广域网 153

13.5 存储转发 154

13.6 广域网内的物理编址 155

13.7 下一跳转发 155

13.8 源无关 156

13.9 分层地址与路由的关系 157

13.10 广域网内的路由 157

13.11 默认路由的使用 159

13.12 路由表计算 159

13.13 计算图中最短路径 160

13.14 分布式路由计算 161

13.15 距离向量路由 162

13.16 链路状态路由(SPF) 163

13.17 广域网技术实例 164

13.17.1 ARPANET 164

13.17.2 X.25 164

13.17.3 帧中继 164

13.17.4 SMDS 165

13.17.5 ATM 165

13.18 小结 165

13.19 练习 166

第14章 面向连接的网络与ATM 167

14.1 简介 167

14.2 单一全球网络 167

14.3 ISDN与ATM 168

14.4 ATM的设计与信元 168

14.5 面向连接的服务 169

14.6 VPI/VCI 170

14.7 标签和标签交换 170

14.8 通过ATM网络通信的一个例子 171

14.9 永久虚电路 172

14.10 交换虚电路 173

14.11 服务质量 173

14.12 采用信元和标签交换的动机 174

14.12.1 信元与分组的对比 174

14.12.2 标签交换与路由的对比 175

14.13 ATM数据传输与AAL5 175

14.14 对ATM的批评 175

14.15 小结 177

14.16 练习 177

第15章 网络特性:所有权、服务模式与性能 178

15.1 简介 178

15.2 网络所有权 178

15.2.1 专用网络 178

15.2.2 公共网络 179

15.3 私密性与公共网络 179

15.4 优点与缺点 179

15.5 虚拟专用网 180

15.6 保证绝对私密性 181

15.7 服务模式 181

15.8 面向连接服务模式 182

15.8.1 连续的通信和突发的通信 182

15.8.2 单工和全双工连接 182

15.8.3 连接持续时间与永久性 182

15.8.4 服务保证 182

15.8.5 流接口或消息接口 182

15.9 无连接服务模式 183

15.10 内部和外部服务模式 183

15.11 服务模式的对比 183

15.12 服务模式的实例 184

15.13 地址与连接标识符 184

15.14 网络性能特性 185

15.14.1 延迟 185

15.14.2 吞吐量 186

15.14.3 延迟和吞吐量之间的关系 186

15.14.4 延迟-吞吐量乘积 187

15.15 抖动 188

15.15.1 等时网络 188

15.15.2 异步网络 188

15.16 小结 188

15.17 练习 189

第16章 协议与分层 190

16.1 简介 190

16.2 协议需求 190

16.3 协议组 191

16.4 一个协议设计方案 191

16.5 七层 192

16.6 栈:分层软件 193

16.7 分层软件如何工作 194

16.8 多重嵌套头部 194

16.9 分层的科学基础 195

16.10 协议使用的技术 195

16.10.1 无序传送的序列化 196

16.10.2 删除复制数据包的序列化 197

16.10.3 重传丢失的数据包 197

16.10.4 避免因过多延迟造成的重播(replay) 198

16.10.5 防止数据溢出的流控制 198

16.10.6 避免网络拥塞的机制 201

16.11 协议设计的艺术 202

16.12 小结 203

16.13 练习 203

第3部分 网 络 与 连

第17章 网络互连:概念、体系结构和协议 205

17.1 简介 205

17.2 网络互连的原因 205

17.3 通用服务的概念 205

17.4 异构系统中的通用服务 206

17.5 网络互连 206

17.6 使用路由器的物理网络连接 207

17.7 互连网体系结构 207

17.8 实现通用服务 208

17.9 虚拟网络 208

17.10 网络互连协议 209

17.11 网络互连和TCP/IP重要性 210

17.12 分层和TCP/IP协议 210

17.13 主机、路由器和协议层 211

17.14 小结 212

17.15 练习 212

第18章 IP:网际协议地址 214

18.1 简介 214

18.2 虚拟互连网地址 214

18.3 IP编址模式 215

18.4 IP地址的层次 215

18.5 最初的IP地址类 216

18.6 地址类的计算 217

18.7 点分十进制表示法 218

18.8 类和点分十进制表示法 219

18.9 地址空间的划分 219

18.10 地址权威 220

18.11 类编址的例子 220

18.12 子网和无类编址 221

18.13 地址掩码 222

18.14 CIDR表示法 223

18.15 CIDR地址块的例子 223

18.16 CIDR主机地址 224

18.17 特殊的IP地址 224

18.17.1 网络地址 225

18.17.2 直接广播地址 225

18.17.3 受限广播地址 225

18.17.4 本机地址 225

18.17.5 回送地址 225

18.18 特殊IP地址小结 226

18.19 伯克利广播地址形式 226

18.20 路由器和IP编址原则 227

18.21 多宿主机 228

18.22 小结 228

18.23 练习 229

第19章 绑定协议地址(ARP) 230

19.1 简介 230

19.2 协议地址和数据包传送 230

19.3 地址解析 231

19.4 地址解析技术 232

19.5 表查找的地址解析 232

19.6 使用closed-form 计算的地址解析 234

19.7 使用消息交换的地址解析 234

19.8 地址解析协议(ARP) 236

19.9 ARP消息传送 236

19.10 ARP消息格式 237

19.11 发送一个ARP消息 238

19.12 标识ARP帧 238

19.13 缓存ARP应答 239

19.14 处理到来的ARP消息 239

19.15 分层、地址解析、协议地址 240

19.16 小结 240

19.17 练习 241

第20章 IP数据报和数据报转发 242

20.1 简介 242

20.2 无连接服务 242

20.3 虚拟数据包 242

20.4 IP数据报 243

20.5 转发IP数据报 244

20.6 IP地址和路由表项 245

20.7 掩码字段和数据报转发 246

20.8 目标和下一跳地址 246

20.9 尽力而为的传送 247

20.10 IP数据报头格式 247

20.11 小结 248

12.12 练习 249

第21章 IP封装、分片和重组 250

21.1 简介 250

21.2 数据报传输和帧 250

21.3 封装 250

21.4 在互连网上的传输 251

21.5 MTU,数据报大小和封装 252

21.6 重组 253

21.7 标识数据报 254

21.8 片段丢失 254

21.9 将片段再次分片 255

21.10 小结 255

21.11 练习 256

第22章 未来的IP(IPv6) 257

22.1 简介 257

22.2 IP的成功 257

22.3 改变的原因 258

22.4 名称和版本号 258

22.5 IPv6的特点 259

22.6 IPv6数据报格式 259

22.7 IPv6基本头格式 260

22.8 IPv6如何处理多个头部 261

22.9 分片、重组和path MTU 262

22.10 多个头部的目的 263

22.11 IPv6编址 264

22.12 IPv6冒号十六进制表示法 265

22.13 小结 265

22.14 练习 266

第23章 错误报告机制(ICMP) 267

23.1 简介 267

23.2 尽力而为的语法和错误检测 267

23.3 互连网控制消息协议 268

23.4 ICMP消息传输 270

23.5 使用ICMP消息检测可到达性 271

23.6 使用ICMP跟踪路由 271

23.7 由traceroute输出的最后地址 272

23.8 ICMP 用于path MTU发现 273

23.9 小结 274

23.10 练习 274

第24章 TCP:可靠传输服务 275

24.1 简介 275

24.2 可靠传输的需求 275

24.3 传输控制协议 275

24.4 TCP提供给应用程序的服务 276

24.5 端到端服务和数据报 276

24.6 可靠性 277

24.7 数据包的丢失和重新传送 278

24.8 自适应重新传送 279

24.9 重新传送次数的比较 279

24.10 缓冲区、流控制和窗口 280

24.11 3次握手 281

24.12 拥塞控制 282

24.13 TCP数据段的格式 283

24.14 小结 283

24.15 练习 284

第25章 Internet路由 285

25.1 简介 285

25.2 静态与动态路由 285

25.3 主机的静态路由和默认路由 285

25.4 动态路由和路由器 286

25.5 全球Internet路由 288

25.6 自治系统概念 288

25.7 Internet路由协议的两种类型 289

25.7.1 内部网关协议(IGP) 289

25.7.2 外部网关协议(EGP) 289

25.7.3 何时使用EGP和IGP 289

25.7.4 最优路由、路由度量和IGP 290

25.8 路由和数据流量 291

25.9 边界网关协议(BGP) 291

25.10 路由信息协议(RIP) 292

25.11 RIP数据包格式 293

25.12 开放最短路径优先协议(OSPF) 294

25.13 OSPF示例图 295

25.14 OSPF区域 295

25.15 组播路由 296

25.15.1 IP组播语义 296

25.15.2 IGMP 297

25.15.3 转发和发现技术 297

25.15.4 组播协议 298

25.16 小结 299

25.17 练习 300

第4部分 网 络 应 用

第26章 客户-服务器交互 301

26.1 简介 301

26.2 应用软件提供的功能 301

26.3 互连网提供的功能 302

26.4 取得联系 302

26.5 客户-服务器模式 303

26.6 客户和服务器的特点 303

26.7 服务器程序和服务器级计算机 304

26.8 请求、响应和数据流方向 304

26.9 传输协议和客户-服务器交互 304

26.10 一台计算机上的多种服务 305

26.11 标识某一特定的服务 306

26.12 提供单一服务的多个服务器拷贝 306

26.13 动态服务器创建 307

26.14 传输协议和确定通信 307

26.15 面向连接和无连接传输 308

26.16 多协议均可到达的服务 308

26.17 复杂的客户-服务器交互 309

26.18 交互和环形依赖 309

26.19 小结 310

26.20 练习 310

第27章 套接字接口 311

27.1 简介 311

27.2 应用程序接口 311

27.3 套接字API 311

27.4 套接字和套接字库 312

27.5 套接字通信和UNIX I/O 313

27.6 套接字、描述字和网络I/O 313

27.7 参数和套接字API 314

27.8 实现套接字API的过程 314

27.8.1 socket过程 314

27.8.2 close过程 315

27.8.3 bind过程 315

27.8.4 listen过程 316

27.8.5 accept过程 317

27.8.6 connect过程 317

27.8.7 send,sendto和sendmsg过程 318

27.8.8 recv,recvfrom和recvmsg过程 319

27.9 使用套接字读和写 320

27.10 其他套接字过程 320

27.11 套接字、线程和继承 320

27.12 小结 321

27.13 练习 322

第28章 客户和服务器例子 323

28.1 简介 323

28.2 面向连接的通信 323

28.3 一个服务例子 323

28.4 例子程序的命令行参数 324

28.5 套接字过程调用顺序 324

28.6 客户例子的代码 325

28.7 服务器例子的代码 328

28.8 流服务和多个recv调用 331

28.9 套接字过程和阻塞 332

28.10 代码大小和错误报表 332

28.11 使用另一种服务检测客户例子 333

28.12 使用另一个客户检测服务器例子 333

28.13 小结 334

28.14 练习 334

第29章 域名系统的命名 336

29.1 简介 336

29.2 计算机名称的结构 336

29.3 地理结构 338

29.4 组织中的域名 338

29.5 DNS客户-服务器模型 339

29.6 DNS服务器层次结构 340

29.7 服务器结构 341

29.8 引用的本地化和多服务器 342

29.9 服务器之间的链接 342

29.10 名称解析 343

29.11 DNS性能优化 344

29.12 DNS入口的类型 345

29.13 使用CNAME类型的别名 345

29.14 多类型的重要性 346

29.15 缩写与DNS 346

29.16 小结 347

29.17 练习 347

第30章 电子邮件表示和传输 349

30.1 简介 349

30.2 电子邮件范型 349

30.3 电子邮箱和地址 349

30.4 电子邮件消息格式 350

30.5 副本拷贝 352

30.6 通用因特网邮件扩展 353

30.7 电子邮件和应用程序 354

30.8 邮件传输 354

30.9 简单邮件传输协议 355

30.10 一台计算机上的多接收者优化 355

30.11 邮件查看、列表和转发 356

30.12 邮件网关 357

30.13 自动邮件列表 358

30.14 邮件中继和电子邮件地址 358

30.15 邮箱存取 359

30.16 拨号连接和POP 360

30.17 小结 361

30.18 练习 362

第31章 文件传输和远程文件存取 363

31.1 简介 363

31.2 数据传输和分布式计算 363

31.3 存储中间结果 363

31.4 通用文件传输 364

31.5 交互式和批处理传输模式 364

31.6 文件传输协议 365

31.7 FTP通用模式和用户接口 365

31.8 FTP命令 366

31.9 连接、认证和文件存取权限 367

31.10 匿名文件存取 367

31.11 双向文件传输 368

31.12 文件名称的通配符 368

31.13 文件名转换 369

31.14 改变目录和列表内容 369

31.15 文件类型和传输模式 370

31.16 使用FTP的例子 370

31.17 详细输出 373

31.18 FTP中的客户-服务器交互 373

31.19 控制和数据连接 373

31.20 数据连接和文件的结束 374

31.21 普通文件传输协议 375

31.22 网络文件系统 375

31.23 小结 376

31.24 练习 377

第32章 万维网页面和浏览 378

32.1 简介 378

32.2 浏览器界面 378

32.3 超文本和超媒体 378

32.4 文档表示 379

32.5 HTML格式和表现 379

32.6 HTML格式标记的例子 381

32.7 头部 381

32.8 列表 382

32.9 在Web页中嵌入图像 383

32.10 标识一个网页 383

32.11 从一个文档指向另一个文档的超文本链接 384

32.12 客户-服务器交互 385

32.13 Web文档传输和HTTP 385

32.14 浏览器结构 387

32.15 可选客户 388

32.16 Web浏览器的缓存 389

32.17 HTTP对缓存的支持 390

32.18 替代的传输协议 390

32.19 其他标记语言 391

32.20 小结 391

32.21 练习 392

第33章 动态Web文档技术(CGI,ASP,JSP,PHP,ColdFusion) 394

33.1 简介 394

33.2 Web文档的三种基本类型 394

33.3 每种文档类型的优缺点 395

33.4 动态文档实现 396

33.5 CGI标准 396

33.6 一个CGI程序的输出 397

33.7 CGI程序例子 398

33.8 参数和环境变量 399

33.9 状态信息和cookie 400

33.10 带有长期状态信息的CGI脚本 401

33.11 带有短期状态信息的CGI脚本 402

33.12 表单和交互 404

33.13 服务器端脚本技术 405

33.14 小结 406

33.15 练习 407

第34章 主动Web文档技术(Java,JavaScript) 408

34.1 简介 408

34.2 用于不断更新的一种早期形式 408

34.3 主动文档和服务器负载 409

34.4 主动文档的表示和转换 409

34.5 Java技术 411

34.6 Java 编程语言 411

34.6.1 语言特点 411

34.6.2 类似于C++ 412

34.7 Java 运行时环境 412

34.8 Java库 413

34.9 图形工具包 414

34.10 在特定计算机上使用Java图形 415

34.11 Java解释器和浏览器 416

34.12 编译Java程序 416

34.13 Applet例子 417

34.14 调用Applet 419

34.15 与浏览器交互的例子 419

34.16 错误和异常处理 421

34.17 JavaScript技术 421

34.18 替代 423

34.19 小结 423

34.20 练习 424

第35章 RPC和中间件 426

35.1 简介 426

35.2 客户和服务器编程 426

35.3 远程过程调用模式 427

35.4 RPC模式 428

35.5 通信存根 429

35.6 外部数据表示 430

35.7 中间件和面向对象中间件 431

35.7.1 ONC RPC 432

35.7.2 DCE RPC 432

35.7.3 MSRPC 432

35.7.4 CORBA 432

35.7.5 MSRPC2 433

35.7.6 COM/DCOM 433

35.8 小结 433

35.9 练习 434

第36章 网络管理(SNMP) 435

36.1 简介 435

36.2 管理Internet 435

36.3 隐匿失败的危险 436

36.4 网络管理软件 436

36.5 客户、服务器、管理者和代理 436

36.6 简单网络管理协议 437

36.7 获取-存储模式 438

36.8 MIB和对象名称 438

36.9 各种不同的MIB变量 439

36.10 对应于数组的MIB变量 439

36.11 小结 440

36.12 练习 440

第37章 网络安全 441

37.1 简介 441

37.2 安全网络和策略 441

37.3 安全涉及的方面 442

37.4 责任和控制 442

37.5 完整性机制 443

37.6 存取控制和口令 443

37.7 加密和机密性 443

37.8 公钥加密 444

37.9 数字签名认证 445

37.10 Internet防火墙 445

37.11 包过滤 447

37.12 使用包过滤创建防火墙 448

37.13 虚拟专用网 448

37.14 封装 450

37.15 小结 451

37.16 练习 451

第38章 初始化(配置) 452

38.1 简介 452

38.2 引导 452

38.3 启动协议软件 452

38.4 协议参数 453

38.5 协议配置 453

38.6 需要配置的条目示例 454

38.7 配置例子:使用磁盘文件 454

38.8 自动协议配置的需求 455

38.9 自动协议配置方法 455

38.10 用于发现地址的地址 456

38.11 引导中使用的协议序列 457

38.12 引导协议(BOOTP) 457

38.13 自动地址分配 459

38.14 动态主机配置协议(DHCP) 460

38.15 DHCP的优化 461

38.16 DHCP消息格式 461

38.17 DHCP和域名 462

38.18 小结 462

38.19 练习 463

附录1 网络术语和缩略语 464

附录2 ASCII字符集 503

附录3 点分十进制表示法的地址掩码 504

附录4 本书光盘的使用 506

附录5 在家里建立一个带有NAT的网络 511

附录6 Purdue大学网络实验室 516

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/15 15:34:28