第1章 导论 1
1.1 计算机网络的发展 1
1.2 网络系统复杂性 1
1.3 对复杂性的控制 2
1.4 概念与术语 2
1.5 本书的结构 2
1.6 小结 2
第2章 推动力和工具 3
2.1 概述 3
2.2 资源共享 3
2.3 因特网的增长 3
2.4 探索因特网 5
2.5 对ping响应的解释 6
2.6 跟踪路由 7
2.7 小结 7
练习 8
第3章 传输介质 9
3.1 概述 9
3.2 铜缆 9
3.3 光纤 10
3.4 无线电波 10
3.5 卫星 10
3.6 地球同步卫星 11
3.7 低地球轨道卫星 11
3.8 低地球轨道卫星阵列 12
3.9 微波 12
3.10 红外线 12
3.11 激光 12
3.12 小结 13
练习 13
第4章 局域异步通信 14
4.1 概述 14
4.2 异步通信的必要性 14
4.3 用电流发送位串 14
4.4 通信标准 14
4.5 波特率、帧对齐和差错 16
4.6 全双工异步通信 16
4.7 实际硬件的限制 17
4.8 硬件带宽与位串的传输 17
4.9 噪声对通信的影响 18
4.10 数据传输率对数据联网的重要性 18
4.11 小结 19
练习 19
第5章 远程通信 20
5.1 概述 20
5.2 远程发送信号 20
5.3 用于调制和解调的调制解调器硬件 21
5.4 租用模拟数据线路 22
5.5 光学、无线和拨号调制解调器 22
5.6 载波频率和多路复用 23
5.7 基带和宽带技术 24
5.8 波分多路复用 24
5.9 分布频谱 25
5.10 时分多路复用 25
5.11 小结 25
练习 26
第6章 包、帧与差错检测 27
6.1 概述 27
6.2 包的概念 27
6.3 包和时分多路复用 28
6.4 包和物理帧 28
6.5 字节充填 29
6.6 传输差错 30
6.7 奇偶位与奇偶校验 30
6.8 差错检测中的概率和算术 31
6.9 检验和检测差错 32
6.10 循环冗余校验检测差错 32
6.11 模块联接 33
6.12 突发错误 34
6.13 帧格式和差错检测机制 34
6.14 小结 35
练习 35
第7章 局域网技术与网络拓扑 37
7.1 概述 37
7.2 直接点对点通信 37
7.3 共享通信信道 38
7.4 局域网的重要性与访问的局部性 38
7.5 局域网拓扑结构 39
7.5.1 星型拓扑 39
7.5.2 环状拓扑 39
7.5.3 总线拓扑 40
7.5.4 使用多种拓扑结构的原因 40
7.6 总线网络实例:以太网 40
7.6.1 以太网的历史 40
7.6.2 以太网上的共享 41
7.7 多路存取网络上的载波侦听 41
7.8 冲突检测与重发 41
7.9 无线局域网和CSMA/CA 42
7.10 总线网络另一实例:LocalTalk 43
7.11 环状网络实例:IBM令牌环 44
7.12 环状网络另一实例:FDDI 45
7.13 星形网络实例:ATM 46
7.14 小结 47
练习 48
第8章 硬件编址与帧类型标识 49
8.1 概述 49
8.2 指定接收方 49
8.3 局域网硬件怎样用地址过滤包 50
8.4 物理地址格式 50
8.5 广播 51
8.6 组播 52
8.7 组播地址 52
8.8 标识包的内容 53
8.9 帧头部和帧格式 53
8.10 帧格式实例 54
8.11 无自标识帧的网络的使用 55
8.12 网络分析器、物理地址和帧类型 56
8.13 小结 57
8.14 以太网地址分配 58
练习 58
第9章 局域网布线、物理拓扑结构与接口硬件 59
9.1 概述 59
9.2 计算机与局域网的速度 59
9.3 网络接口硬件 59
9.4 网络接口卡与网络的连接 60
9.5 粗缆以太网布线 61
9.6 多路复用连接 62
9.7 细缆以太网布线 63
9.8 双绞线以太网 63
9.9 布线方案的优缺点 64
9.10 拓扑悖论 65
9.11 网络接口卡与布线方案 66
9.12 布线方案与其他网络技术 66
9.13 小结 67
练习 67
第10章 局域网扩展:光纤调制解调器、中继器、网桥及交换机 69
10.1 概述 69
10.2 距离限制与局域网设计 69
10.3 光纤扩展 69
10.4 中继器 70
10.5 网桥 72
10.6 帧过滤 72
10.7 桥接网络的启动与稳态特性 73
10.8 规划一个桥接网络 73
10.9 大楼间桥接 74
10.10 远程桥接 74
10.11 网桥环 75
10.12 分布生成树 76
10.13 交换 77
10.14 交换机与集线器的结合 78
10.15 其他技术中的桥接和交换 78
10.16 小结 78
练习 79
第11章 远程数字连接技术 80
11.1 概述 80
11.2 数字电话 80
11.3 同步通信 81
11.4 数字线路和DSU/CSU 81
11.5 电话标准 82
11.6 DS术语和数据速率 83
11.7 低容量线路 83
11.8 中间容量数字线路 83
11.9 高容量线路 84
11.10 光纤传输标准 84
11.11 后缀C 84
11.12 同步光纤网 85
11.13 本地用户线路 86
11.14 ISDN 86
11.15 不对称数字用户线技术 86
11.16 其他DSL技术 88
11.17 电缆调制解调技术 89
11.18 上行通信 89
11.19 混合光纤电缆 90
11.20 光纤到街道 90
11.21 特定场合下的方法 91
11.22 小结 91
练习 91
第12章 广域网技术与路由 93
12.1 概述 93
12.2 大型网络和广域 93
12.3 包交换 93
12.4 广域网的构成 94
12.5 存储转发 94
12.6 广域网的物理编址 95
12.7 下一站转发 95
12.8 源地址独立性 96
12.9 层次地址与路由的关系 96
12.10 广域网中的路由 96
12.11 缺省路由的使用 97
12.12 路由表计算 98
12.13 图中最短路径计算 98
12.14 分布式路由计算 100
12.15 矢量距离路由 100
12.16 链接状态路由 101
12.17 广域网技术实例 101
12.17.1 ARPANET 101
12.17.2 X.25 101
12.17.3 帧中继 102
12.17.4 SMDS 102
12.17.5 ATM 102
12.18 小结 103
练习 103
第13章 网络所有权、服务模式和性能 104
13.1 概述 104
13.2 网络所有权 104
13.3 虚拟私有网络 105
13.4 服务模式 105
13.5 连接期限与保持 106
13.6 服务模式实例 107
13.7 地址与连接标识 108
13.8 网络性能特性 108
13.8.1 延迟 109
13.8.2 吞吐量 109
13.8.3 延迟与吞吐量的关系 110
13.8.4 延迟-吞吐量的乘积 110
13.9 小结 110
练习 111
第14章 协议与分层 112
14.1 概述 112
14.2 协议的必要性 112
14.3 协议系列 112
14.4 协议设计规划 113
14.5 七层模型 113
14.6 栈:分层软件 114
14.7 分层软件怎样工作 115
14.8 多层嵌套头部 115
14.9 分层的科学依据 115
14.10 协议使用的技术 116
14.10.1 无序传递的排序 116
14.10.2 排序消除重复包 117
14.10.3 重发丢失的包 117
14.10.4 避免过量延迟导致的重播 117
14.10.5 控制流量以防止数据过载 118
14.10.6 避免网络拥塞的机制 119
14.11 协议设计的技巧 120
14.12 小结 121
练习 121
第15章 网络互联:概念、结构与协议 122
15.1 概述 122
15.2 网络互联的动机 122
15.3 通用服务概念 122
15.4 异构世界中的通用服务 122
15.5 网络互联 123
15.6 用路由器连接物理网 123
15.7 互联网体系结构 123
15.8 实现通用服务 124
15.9 虚拟网络 124
15.10 网络互联协议 125
15.11 网络互联与TCP/IP的重要性 125
15.12 分层与TCP/IP协议 125
15.13 主机、路由器与协议层次 126
15.14 小结 126
练习 127
第16章 IP:互联网协议地址 128
16.1 概述 128
16.2 虚拟互联网地址 128
16.3 IP编址方案 128
16.4 IP地址层次 129
16.5 IP地址分类 129
16.6 地址类别的计算 130
16.7 点分十进制表示法 130
16.8 类别和点分十进制表示法 131
16.9 地址空间的划分 131
16.10 地址的授权 131
16.11 编址实例 132
16.12 特殊IP地址 132
16.12.1 网络地址 133
16.12.2 直接广播地址 133
16.12.3 有限广播地址 133
16.12.4 本机地址 133
16.12.5 回送地址 133
16.13 特殊IP地址小结 134
16.14 伯克利广播地址格式 134
16.15 路由器和IP编址原则 134
16.16 多穴主机 135
16.17 小结 135
练习 135
第17章 协议地址联编 137
17.1 概述 137
17.2 协议地址和包传递 137
17.3 地址解析 137
17.4 地址解析技术 138
17.5 查表法地址解析 138
17.6 相近形式计算地址解析 139
17.7 消息交换法地址解析 140
17.8 地址解析协议 140
17.9 ARP消息传递 140
17.10 ARP消息格式 141
17.11 发送一个ARP消息 142
17.12 识别ARP帧 142
17.13 暂存ARP应答 142
17.14 处理接收到的ARP消息 143
17.15 分层 ,地址解析, 协议地址 143
17.16 小结 144
练习 144
第18章 IP数据报和数据报转发 145
18.1 概述 145
18.2 无连接服务 145
18.3 虚拟包 145
18.4 IP数据报 146
18.5 IP数据报的转发 146
18.6 IP地址与路由表项 147
18.7 屏蔽码域和数据报转发 147
18.8 目的地和下一站地址 148
18.9 尽力传递 148
18.10 IP数据报头部格式 149
18.11 小结 149
练习 150
第19章 IP封装、分段与重组 151
19.1 概述 151
19.2 数据报传输与帧 151
19.3 封装 151
19.4 在互联网上的传输 151
19.5 MTU、数据报长度和封装 152
19.6 重组 153
19.7 标识一个数据报 154
19.8 段丢失 154
19.9 段的进一步分解 154
19.10 小结 155
练习 155
第20章 IP的未来 156
20.1 概述 156
20.2 IP的成就 156
20.3 变革的动机 156
20.4 名称与版本号 157
20.5 IPv6特性 157
20.6 IPv6数据报格式 158
20.7 IPv6基本头部格式 158
20.8 IPv6怎样处理多重头部 159
20.9 分段、重组和路径MTU 159
20.10 多重头部的目的 160
20.11 IPv6编址 161
20.12 IPv6冒分十六进制表示法 161
20.13 小结 162
练习 162
第21章 差错报告机制 163
21.1 概述 163
21.2 “尽力而为”语义和差错检测 163
21.3 互联网控制报文协议 163
21.4 ICMP报文传送 164
21.5 用ICMP报文测试可达性 165
21.6 用ICMP跟踪路由 165
21.7 用ICMP发现路径MTU 166
21.8 小结 167
练习 167
第22章 TCP:可靠传输服务 168
22.1 概述 168
22.2 可靠传输的必要性 168
22.3 传输控制协议 168
22.4 TCP为应用提供的服务 168
22.5 端对端服务和数据报 169
22.6 实现可靠性 169
22.7 包丢失与重发 170
22.8 自适应重发 171
22.9 重发时间的对比 171
22.10 缓冲、流控与窗口 171
22.11 三次握手 172
22.12 拥塞控制 173
22.13 TCP段格式 173
22.14 小结 174
练习 174
第23章 客户/服务器交互 176
23.1 概述 176
23.2 应用软件提供的功能 176
23.3 互联网提供的功能 176
23.4 建立通信 177
23.5 客户/服务器模式 177
23.6 客户与服务器的特性 177
23.7 服务器程序与服务器类计算机 178
23.8 请求、应答与数据流向 178
23.9 传输协议与客户/服务器交互 178
23.10 一台计算机上的多种服务 179
23.11 标识一个特定服务 179
23.12 为一个服务建立多个服务器副本 180
23.13 动态服务器创建 180
23.14 传输协议与无二义性通信 180
23.15 面向连接与无连接的传输 181
23.16 支持多种协议的服务 181
23.17 复杂的客户/服务器交互 181
23.18 交互与循环依赖 182
23.19 小结 182
练习 183
第24章 套接字接口 184
24.1 概述 184
24.2 应用程序接口 184
24.3 套接字API 184
24.4 套接字与套接字库 185
24.5 套接字通信与UNIX I/O 185
24.6 套接字、描述符与网络I/O 185
24.7 参数与套接字API 186
24.8 实现套接字API的过程 186
24.8.1 Socket过程 186
24.8.2 Close过程 186
24.8.3 Bind过程 187
24.8.4 Listen过程 188
24.8.5 Accept过程 188
24.8.6 Connect过程 188
24.8.7 Send、Sendto与Sendmsg过程 189
24.8.8 Recv、Recvfrom与Recvmsg过程 190
24.9 用套接字进行读写 190
24.10 其他套接字过程 190
24.11 套接字、线程与继承 191
24.12 小结 191
练习 192
第25章 客户与服务器实例 193
25.1 概述 193
25.2 面向连接的通信 193
25.3 一个服务实例 193
25.4 实例程序的命令行参数 193
25.5 套接字过程调用的顺序 194
25.6 客户实例代码 194
25.7 服务器实例代码 196
25.8 流服务与多重recv调用 198
25.9 套接字过程与挂起 199
25.10 代码长度与差错报告 199
25.11 在另一种服务上使用实例客户 199
25.12 使用另一个客户来测试服务器 200
25.13 小结 200
练习 200
第26章 基于域名系统的命名 202
26.1 概述 202
26.2 计算机域名的结构 202
26.3 地理结构 203
26.4 组织内的域名 203
26.5 DNS客户/服务器模型 204
26.6 DNS服务器层次 205
26.7 服务器结构 206
26.8 访问的局部性与多种服务器 206
26.9 服务器之间的链 206
26.10 域名解析 206
26.11 DNS性能的优化 207
26.12 DNS项的类型 208
26.13 使用CNAME类型的别名 208
26.14 多重类型的重要结果 209
26.15 缩写与DNS 209
26.16 小结 209
练习 210
第27章 电子邮件的表示与传输 211
27.1 概述 211
27.2 电子邮件模式 211
27.3 电子邮箱与地址 211
27.4 电子邮件信息格式 212
27.5 复制副本 213
27.6 多用途互联网邮件扩充 213
27.7 电子邮件与应用程序 214
27.8 邮件传输 214
27.9 简单邮件传输协议 215
27.10 对一台计算机上的多个接收者的优化 215
27.11 邮件分发、列表与转发 215
27.12 邮件网关 216
27.13 自动邮件列表 217
27.14 邮件中继与电子邮件地址 217
27.15 邮箱访问 218
27.16 拨号连接与POP 219
27.17 小结 219
练习 220
第28章 文件传输与远程文件访问 221
28.1 概述 221
28.2 数据传输与分布式计算 221
28.3 存储中间结果 221
28.4 通用文件传输 221
28.5 交互与批处理模式 222
28.6 文件传输协议 222
28.7 FTP通用模型与用户界面 223
28.8 FTP命令 223
28.9 连接、授权与文件权限 224
28.10 匿名文件访问 224
28.11 任意方向文件传输 225
28.12 文件名的通配符扩展 225
28.13 文件名转换 225
28.14 改变目录与列出内容 226
28.15 文件类型与传输模式 226
28.16 FTP应用实例 226
28.17 冗长输出 229
28.18 FTP中的客户/服务器交互 230
28.19 控制与数据连接 230
28.20 数据连接与文件结束 230
28.21 普通文件传输协议 231
28.22 网络文件系统 231
28.23 小结 232
练习 232
第29章 WWW页面与浏览 234
29.1 概述 234
29.2 浏览器界面 234
29.3 超文本与超媒体 234
29.4 文档表示 235
29.5 HTML格式与表示 235
29.6 HTML格式标签实例 236
29.7 头部 236
29.8 列表 237
29.9 Web页中嵌入图形图像 237
29.10 标识一页 238
29.11 文档之间的超文本链接 238
29.12 客户/服务器交互 239
29.13 Web文档传输与HTTP 239
29.14 浏览器结构 239
29.15 可选客户 240
29.16 Web浏览器中的缓存 241
29.17 小结 241
练习 242
第30章 动态Web文档的CGI技术 244
30.1 概述 244
30.2 Web文档的三种基本形式 244
30.3 每种文档类型的优缺点 244
30.4 动态文档的实现 245
30.5 CGI标准 246
30.6 CGI程序的输出 246
30.7 CGI程序实例 246
30.8 参数和环境变量 247
30.9 状态信息 248
30.10 带有长期状态信息的CGI程序 248
30.11 带有短期状态信息的CGI程序 249
30.12 表格与交互 252
30.13 小结 252
练习 252
第31章 活动Web文档的Java技术 253
31.1 概述 253
31.2 屏幕连续更新早期形式 253
31.3 活动文档技术和服务器开销 254
31.4 活动文档的表示形式及其相互转换 254
31.5 Java技术 255
31.6 Java程序设计语言 255
31.6.1 语言特点 255
31.6.2 和C++的相同之处 256
31.7 Java运行环境 256
31.8 Java类库 257
31.9 图形工具箱 257
31.10 在特定计算机上使用Java的图形功能 258
31.11 Java解释器和浏览器 259
31.12 编译Java程序 259
31.13 applet实例 259
31.14 调用applet 261
31.15 与浏览器交互的实例 261
31.16 差错和异常处理 262
31.17 替代产品 263
31.18 小结 263
练习 263
第32章 RPC和中间件 265
32.1 概述 265
32.2 客户和服务器的编程 265
32.3 远程过程调用模式 265
32.4 RPC模式 266
32.5 通信桩程序 267
32.6 外部数据表示 268
32.7 中间件和面向对象的中间件 268
32.7.1 ONC RPC 269
32.7.2 DCE RPC 269
32.7.3 MSRPC 269
32.7.4 CORBA 269
32.7.5 MSRPC2 269
32.7.6 COM/DCOM 270
32.8 小结 270
练习 270
第33章 网络管理 272
33.1 概述 272
33.2 互联网管理 272
33.3 潜在故障隐患 272
33.4 网络管理软件 273
33.5 客户、服务器、管理员与代理 273
33.6 简单网络管理协议 273
33.7 存取模式 274
33.8 管理信息库与对象名 274
33.9 MIB变量的多样性 275
33.10 与数组相对应的MIB变量 275
33.11 小结 275
练习 276
第34章 网络安全 277
34.1 概述 277
34.2 安全网络和安全策略 277
34.3 安全性指标 278
34.4 安全责任和控制 278
34.5 完整性机制 278
34.6 访问控制和口令 278
34.7 加密与保密 279
34.8 公共密钥加密 279
34.9 数字签名的鉴定 279
34.10 包过滤 280
34.11 互联网防火墙概念 281
34.12 小结 281
练习 282
第35章 初始化 283
35.1 概述 283
35.2 自举 283
35.3 启动协议软件 283
35.4 协议参数 283
35.5 协议配置 284
35.6 需要配置项目的实例 284
35.7 配置实例:使用磁盘文件 285
35.8 自动协议配置的必要性 285
35.9 自动协议配置的方法 285
35.10 寻址地址 286
35.11 自举过程中使用协议的顺序 286
35.12 自举协议 287
35.13 自动地址分配 288
35.14 动态主机配置协议 288
35.15 DHCP的优化 289
35.16 DHCP消息格式 289
35.17 DHCP与域名 290
35.18 小结 290
练习 290
附录A 网络术语和缩写词汇编 292
附录B ASCII字符集 311
附录C 如何使用本书附带的光盘 312
索引 315