第1章 导论 1
1.1 计算机网络的发展 1
1.2 网络系统的复杂性 1
1.3 对复杂性的控制 2
1.4 概念和术语 2
1.5 本书的结构 2
1.6 小结 3
第一部分 数据传输 5
第2章 传输介质 6
2.1 概述 6
2.2 铜缆 6
2.3 光纤 7
2.4 无线电波 8
2.5 微波 8
2.6 红外线 9
2.7 激光 9
2.8 小结 9
2.9 习题 9
第3章 局域异步通信(RS-232) 11
3.1 概述 11
3.2 异步通信的必要性 11
3.3 用电流发送位串 11
3.4 通信标准 11
3.5 RS-232异步字符传输 12
3.6 波特率、帧对齐和差错 13
3.7 全双工异步通信 14
3.8 硬件限制 15
3.9 硬件带宽与位串的传输 15
3.10 小结 16
3.11 习题 16
第4章 远程通信(载波和调制解调器) 18
4.1 概述 18
4.2 远程发送信号 18
4.3 用于调制和解调的调制解调器硬件 20
4.4 租用串行数据线路 20
4.5 光学、无线和拨号调制解调器 21
4.6 载波频率和多路复用 22
4.7 时分多路复用 23
4.8 小结 23
4.9 习题 24
第二部分 包传输 25
第5章 包、帧和差错检测 26
5.1 概述 26
5.2 包的概念 26
5.3 包和时分多路复用 27
5.4 包和物理帧 28
5.5 字节填充 29
5.6 传输差错 30
5.7 奇偶位与奇偶校验 30
5.8 差错检测中的概率和算术 31
5.9 用校验和检测差错 32
5.10 用循环冗余校验检测差错 32
5.11 模块联接 33
5.12 帧格式和差错检测机制 34
5.13 小结 35
5.14 习题 35
第6章 局域网技术与网络拓扑 37
6.1 概述 37
6.2 直接点对点通信 37
6.3 共享通信信道 38
6.4 局域网的重要性与访问的局部性 39
6.5 局域网拓扑结构 39
6.6 总线网络实例:以太网 41
6.7 多路存取网络上的载波侦听 42
6.8 冲突检测与重发 42
6.9 总线网络另一实例:Local Talk 43
6.10 环状网络实例:IBM令牌环 44
6.11 环状网络另一实例:FDDI 45
6.12 星形网络实例:ATM 46
6.13 小结 47
6.14 习题 48
第7章 硬件编址与帧类型标识 49
7.1 概述 49
7.2 指定接收方 49
7.3 局域网硬件如何用地址识别包 50
7.4 物理地址格式 51
7.5 广播与广播地址 52
7.6 标识包内容 52
7.7 帧头部和帧格式 52
7.8 帧格式实例 53
7.9 没有自标识帧的网络的使用 54
7.10 网络分析器、物理地址和帧类型 55
7.11 小结 56
7.12 以太网地址分配 57
7.13 习题 57
第8章 局域网布线、物理拓扑结构与接口硬件 59
8.1 概述 59
8.2 计算机与局域网的速度 59
8.3 网络接口硬件 59
8.4 网络接口卡与网络的连接 61
8.5 粗缆以太网布线 61
8.6 多路复用连接 62
8.7 细缆以太网布线 63
8.8 双绞线以太网 64
8.9 布线方案的优缺点 65
8.10 拓扑悖论 65
8.11 网络接口卡与布线方案 66
8.12 布线方案与其它网络技术 67
8.13 小结 68
8.14 习题 69
第9章 局域网扩展:光纤调制解调器、中继器、网桥与交换机 70
9.1 概述 70
9.2 距离限制与局域网设计 70
9.3 光纤扩展 70
9.4 中继器 71
9.5 网桥 73
9.6 帧识别 74
9.7 桥接网络的启动与稳态特性 74
9.8 规划一个桥接网络 75
9.9 大楼间桥接 75
9.10 远程桥接 76
9.11 网桥环 77
9.12 分布生成树 78
9.13 交换 78
9.14 交换机与集线器的结合 79
9.15 其他桥接与交换技术 79
9.16 小结 79
9.17 习题 80
第10章 广域网技术与路由 82
10.1 概述 82
10.2 大型网络和广域 82
10.3 包交换 82
10.4 广域网的构成 83
10.5 存储与转发 84
10.6 广域网的物理编址 84
10.7 下一跳转发 85
10.8 源地址独立性 85
10.9 分层地址与路由的关系 86
10.10 广域网中的路由 86
10.11 默认路由的使用 87
10.12 路由表计算 88
10.13 图中最短路径的计算 89
10.14 分布式路由计算 90
10.15 矢量距离路由 91
10.16 链接状态路由 92
10.17 广域网技术实例 92
10.18 小结 94
10.19 习题 94
第11章 网络所有权、服务模式与性能 96
11.1 概述 96
11.2 网络所有权 96
11.3 服务模式 97
11.4 连接期限与保持 98
11.5 服务模式实例 99
11.6 地址与连接标识 99
11.7 网络性能与指标 101
11.8 小结 103
11.9 习题 103
第12章 协议与分层 104
12.1 概述 104
12.2 协议的必要性 104
12.3 协议系列 104
12.4 协议设计规划 105
12.5 七层模型 105
12.6 栈:分层软件 106
12.7 分层软件怎样工作 108
12.8 多层嵌套头部 108
12.9 分层的科学依据 108
12.10 技术协议的使用 109
12.11 协议设计的技巧 115
12.12 小结 115
12.13 习题 116
第三部分 网络互联 117
第13章 网络互联:概念、结构与协议 118
13.1 概述 118
13.2 网络互联的动机 118
13.3 通用服务概念 118
13.4 异构世界中的通用服务 119
13.5 网络互联 119
13.6 用路由器连接物理网 119
13.7 互联网体系结构 120
13.8 实现通用服务 120
13.9 虚拟网络 121
13.10 网络互联协议 122
13.11 网络互联与TCP/IP的重要性 122
13.12 分层与TCP/IP协议 122
13.13 主机、路由器与协议层 123
13.14 小结 124
13.15 习题 124
第14章 IP:互联网协议地址 125
14.1 概述 125
14.2 虚拟互联网地址 125
14.3 IP编址方案 126
14.4 IP地址分层 126
14.5 IP地址分类 126
14.6 地址类别的计算 127
14.7 点分十进制表示法 128
14.8 类别和点分十进制表示法 129
14.9 地址空间的划分 129
14.10 地址的授权 129
14.11 编址实例 130
14.12 特殊IP地址 130
14.13 特殊IP地址小结 132
14.14 伯克利广播地址格式 133
14.15 路由器与IP编址原则 133
14.16 多宿主主机 134
14.17 小结 134
14.18 习题 134
第15章 协议地址绑定 136
15.1 概述 136
15.2 协议地址和包传递 136
15.3 地址解析 136
15.4 地址解析技术 137
15.5 查表法地址解析 138
15.6 相近形式计算地址解析 139
15.7 报文交换法地址解析 139
15.8 地址解析协议 140
15.9 ARP报文传递 141
15.10 ARP报文格式 141
15.11 发送一个ARP报文 142
15.12 识别ARP帧 143
15.13 缓存ARP应答 143
15.14 处理接收到的ARP报文 143
15.15 分层、地址解析、协议地址 144
15.16 小结 144
15.17 习题 145
第16章 IP数据报和数据报转发 146
16.1 概述 146
16.2 无连接服务 146
16.3 虚拟包 146
16.4 IP数据报 147
16.5 IP数据报的转发 148
16.6 IP地址与路由表项 148
16.7 掩码字段和数据报转发 149
16.8 目的地和下一跳地址 150
16.9 尽最大努力传递 150
16.10 IP数据报头部格式 150
16.11 小结 151
16.12 习题 152
第17章 IP封装、分段与重组 153
17.1 概述 153
17.2 数据报传输与帧 153
17.3 封装 153
17.4 在互联网上的传输 154
17.5 MTU、数据报尺寸和封装 155
17.6 重组 156
17.7 标识一个数据报 157
17.8 段丢失 157
17.9 段的进一步分解 157
17.10 小结 158
17.11 习题 158
第18章 IP的未来:IP6 159
18.1 概述 159
18.2 IP的业绩 159
18.3 变革的动机 159
18.4 名称与版本号 160
18.5 IPv6特性 160
18.6 IPv6数据报格式 161
18.7 Ipv6基本头部格式 161
18.8 IPv6对多重头部的处理 163
18.9 分段、重组和路径MTU 163
18.10 多重头部的作用 164
18.11 IPv6编址 165
18.12 IPv6冒分十六进制表示法 165
18.13 小结 166
18.14 习题 166
第19章 差错报告机制 167
19.1 概述 167
19.2 尽最大努力语义与差错检测 167
19.3 互联网控制报文协议 167
19.4 ICMP报文传送 168
19.5 用ICMP报文测试可达性 169
19.6 用ICMP跟踪路由 170
19.7 用ICMP发现路径MTU 170
19.8 小结 171
19.9 习题 171
第20章 TCP:可靠传输服务 172
20.1 概述 172
20.2 可靠传输的必要性 172
20.3 传输控制协议 172
20.4 TCP为应用提供的服务 172
20.5 端对端服务和数据报 173
20.6 实现可靠性 174
20.7 包丢失与重发 174
20.8 适应性重发 175
20.9 重发时间的对比 176
20.10 缓冲、流控与窗口 176
20.11 三次握手 177
20.12 拥塞控制 178
20.13 TCP段格式 179
20.14 小结 179
20.15 习题 180
第四部分 网络应用 181
第21章 客户-服务器交互 182
21.1 概述 182
21.2 应用软件提供的功能 182
21.3 互联网提供的功能 183
21.4 建立通信 183
21.5 客户-服务器模式 183
21.6 客户与服务器的特性 184
21.7 服务器程序与服务类计算机 184
21.8 请求、应答与数据流向 184
21.9 传输协议与客户-服务器交互 185
21.10 单机上的多重服务 185
21.11 标识一个特定服务 186
21.12 为一个服务建立多个服务器副本 186
21.13 动态服务器创建 187
21.14 传输协议与无二义性通信 187
21.15 面向连接与无连接的传送 188
21.16 支持多种协议的服务 188
21.17 复杂的客户-服务器交互 188
21.18 交互与循环依赖 189
21.19 小结 189
第22章 套接字接口 191
22.1 概述 191
22.2 应用程序接口 191
22.3 套接字API 191
22.4 套接字与套接字库 192
22.5 套接字通信与UNIX I/O 192
22.6 套接字、描述符与网络I/O 193
22.7 参数与套接字API 193
22.8 实现套接字API的过程 194
22.9 用套接字进行读写 198
22.10 其他套接字过程 199
22.11 套接字、线程与继承 199
22.12 小结 200
22.13 习题 200
第23章 客户与服务器实例 201
23.1 概述 201
23.2 面向连接的通信 201
23.3 一个服务实例 201
23.4 实例程序的命令行参数 201
23.5 套接字过程调用的顺序 202
23.6 客户实例代码 203
23.7 服务器实例代码 205
23.8 流服务与多重recv调用 208
23.9 套接字过程与阻塞 208
23.10 代码长度与差错报告 208
23.11 在另一种服务上使用实例客户 209
23.12 使用另一个客户来测试服务器 209
23.13 小结 210
23.14 习题 210
第24章 基于域名系统的命名 211
24.1 概述 211
24.2 计算机域名的结构 211
24.3 地理结构 212
24.4 组织内的域名 213
24.5 DNS客户-服务器模型 214
24.6 DNS服务器层次 214
24.7 服务器结构 216
24.8 访问的局部性与多重服务器 216
24.9 服务器之间的链接 216
24.10 域名解析 217
24.11 DNS性能的优化 218
24.12 DNS项的类型 218
24.13 使用CNAME类型的别名 219
24.14 多重类型的重要结果 219
24.15 缩写与DNS 220
24.16 小结 220
24.17 习题 220
第25章 电子邮件的表示与传输 222
25.1 概述 222
25.2 电子邮件模式 222
25.3 电子邮箱与地址 222
25.4 电子邮件信息格式 223
25.5 复制副本 224
25.6 多用途互联网邮件扩充 225
25.7 电子邮件与应用程序 226
25.8 邮件传输 226
25.9 简单邮件传输协议 227
25.10 单机多重接收的优化 227
25.11 邮件分发器、列表和转发器 227
25.12 邮件网关 228
25.13 自动邮件列表 229
25.14 邮件中继与电子邮件地址 229
25.15 邮箱访问 230
25.16 拨号连接与POP 231
25.17 小结 232
25.18 习题 232
第26章 文件传输与远程文件访问 234
26.1 概述 234
26.2 数据传输与分布计算 234
26.3 存储中间结果 234
26.4 通用文件传输 235
26.5 交互与批传输模式 235
26.6 文件传输协议 236
26.7 FTP通用模型与用户接口 236
26.8 FTP命令 236
26.9 连接、授权与文件权限 237
26.10 匿名文件访问 238
26.11 任意方向文件传输 238
26.12 文件名的通配符扩展 239
26.13 文件名转换 239
26.14 改变目录与列出内容 239
26.15 文件类型与传输模式 240
26.16 FTP应用实例 240
26.17 冗长输出 242
26.18 FTP中的客户-服务器交互 243
26.19 控制与数据连接 243
26.20 数据连接与文件结束 243
26.21 普通文件传输协议 244
26.22 网络文件系统 244
26.23 小结 245
26.24 习题 246
第27章 万维网页面与浏览 247
27.1 概述 247
27.2 浏览器界面 247
27.3 超文本与超媒体 247
27.4 文档表示方式 248
27.5 HTML格式与表示方式 248
27.6 HTML格式标记实例 249
27.7 标题 250
27.8 列表 250
27.9 在Web页中嵌入图形 251
27.10 标识网页 252
27.11 文档之间的超文本链接 252
27.12 客户-服务器交互 253
27.13 Web文档传输与HTTP 253
27.14 浏览器结构 253
27.15 可选客户 254
27.16 Web浏览器中的缓存 255
27.17 小结 256
27.18 习题 257
第28章 动态Web文档的CGI技术 258
28.1 概述 258
28.2 Web文档的三种基本形式 258
28.3 各种文档格式的优缺点 259
28.4 动态文档的实现 260
28.5 CGI标准 260
28.6 CGI程序的输出 260
28.7 CGI程序实例 261
28.8 参数和环境变量 262
28.9 状态信息 263
28.10 带有长期状态信息的CGI程序 263
28.11 带有短期状态信息的CGI程序 264
28.12 窗体与交互 266
28.13 小结 267
28.14 习题 267
第29章 活动Web文档和Java技术 268
29.1 概述 268
29.2 早期的屏幕连续更新技术 268
29.3 减少服务器开销的活动文档技术 269
29.4 活动文档的表示形式及其相互转换 269
29.5 Java技术 270
29.6 Java程序设计语言 270
29.7 Java运行环境 271
29.8 Java类库 272
29.9 图形工具箱 273
29.10 在特定计算机上使用Java图形功能 274
29.11 Java解释器与浏览器 274
29.12 编译Java程序 274
29.13 applet实例 275
29.14 调用applet 276
29.15 与浏览器交互的实例 277
29.16差 错与异常处理 278
29.17替 代技术 279
29.18小 结 279
29.19习 题 280
第30章 网络管理 281
30.1 概述 281
30.2 互联网管理 281
30.3 潜在故障隐患 281
30.4 网络管理软件 282
30.5 客户与服务器、管理员与代理 282
30.6 简单网络管理协议 283
30.7 存取模式 283
30.8 管理信息库与对象名 284
30.9 MIB变量的多样性 284
30.10 与数组相对应的MIB变量 284
30.11 小结 285
30.12 习题 285
第31章 网络安全 286
31.1 概述 286
31.2 安全网络与安全策略 286
31.3 安全性指标 287
31.4 安全责任和控制 287
31.5 完整性机制 287
31.6 访问控制与口令 287
31.7 加密与保密 288
31.8 公共密钥加密 288
31.9 数字签名的鉴定 289
31.10 包过滤 289
31.11 互联网防火墙概念 290
31.12 小结 291
31.13 习题 291
第32章 初始化(配置) 292
32.1 概述 292
32.2 自举 292
32.3 启动协议软件 292
32.4 协议参数 293
32.5 协议配置 293
32.6 需要配置项目的实例 293
32.7 配置实例:使用磁盘文件 294
32.8 自动协议配置的必要性 294
32.9 自动协议配置的方法 295
32.10 寻址地址 295
32.11 自举过程中使用协议的顺序 296
32.12 自举协议 296
32.13 自动地址分配 298
32.14 动态主机配置协议 298
32.15 DHCP的优化 299
32.16 DHCP报文格式 299
32.17 DHCP与域名 299
32.18 小结 300
32.19 习题 301
附录1 网络术语和缩略语汇编 302
附录2 ASCII字符集 319
参考文献 320