第一部分 TCP/IP基础 1
第1章 开放式通信模型简介 1
1.1 开放式网络的发展 1
1.1.1 通信处理层次化 2
1.1.2 OSI参考模型 3
1.1.3 模型的使用 5
1.2 TCP/IP参考模型 7
1.3 小结 7
2.1.1 ARPANET 8
2.1 一段历史 8
第2章 TCP/IP和Internet 8
2.1.2 TCP/IP 9
2.1.3 国家科学基金会(NSF) 9
2.1.4 当今的Internet 12
2.2 RFC和标准化过程 12
2.2.1 获得RFC 13
2.2.2 RFC索引 13
2.2.3 有关RFC的幽默 13
2.3 Internet服务简介 13
2.3.5 WWW 14
2.3.4 Email 14
2.3.1 Whois和Finger 14
2.3.2 文件传输协议 14
2.3.3 Telnet 14
2.3.6 USENET News 15
2.4 Intranet和Extranet概览 15
2.4.1 Intranet 15
2.5.1 下一代Internet(NGI) 16
2.5.2 超速骨干网服务 16
2.5 Internet的明天 16
2.4.2 将Intranet对外开放 16
2.5.3 Internet2(12) 17
2.6 Internet管理组织 17
2.6.1 Internet协会 17
2.6.2 Internet体系结构组 17
2.6.3 Internet工程任务组 17
2.6.4 Internet工程指导组 17
2.6.9 Internet服务提供商 18
2.6.8 RFC编辑 18
2.6.7 Internet网络信息中心和其他注册组织 18
2.6.6 Internet名字和编号分配组织(ICANN) 18
2.6.5 Internet编号管理局 18
2.7 小结 19
第3章 TCP/IP概述 20
3.1 TCP/IP的优点 20
3.2 TCP/IP的层和协议 21
3.2.1 体系结构 21
3.2.2 传输控制协议 21
3.2.3 IP协议 23
3.2.4 应用层 25
3.2.5 传输层 25
3.2.6 网络层 25
3.2.7 链路层 25
3.3 远程登录(Telnet) 25
3.4 文件传输协议(FTP) 25
3.5 普通文件传输协议(TFTP) 26
3.6 简单邮件传输协议(SMTP) 26
3.7 网络文件系统(NFS) 26
3.9 TCP/IP和系统结合 27
3.8 简单网络管理协议(SNMP) 27
3.10 内部网概述 28
3.11 小结 28
第二部分 命名和寻址 29
第4章 IP网络中的名字和地址 29
4.1 IP寻址 29
4.1.1 二进制和十进制数 30
4.1.2 IPv4地址格式 30
4.2 子网的出现 34
4.2.1 分子网 35
4.2.2 可变长子网掩码(VLSM) 37
4.3 无类域前路由(CIDR) 38
4.3.1 无类地址 38
4.3.2 强化路由汇聚 39
4.3.3 超网化 39
4.3.4 CIDR怎样工作 39
4.3.5 公共地址空间 40
4.3.6 RFC 1597和1918 40
4.4 小结 40
5.1 使用地址 41
5.1.1 子网寻址 41
第5章 ARP和RARP 41
5.1.2 IP地址 43
5.2 使用地址解析协议 44
5.2.1 ARP cache 45
5.2.2 代理ARP 47
5.2.3 反向地址解析协议 47
5.3 使用ARP命令 47
5.4 小结 47
第6章 DNS:名字服务器 48
6.1 域名系统概述 48
6.2 授权局 50
6.3 DNS分布数据库 50
6.4 域和区 50
6.5 Internet顶级域 51
6.8 高速缓存 52
6.7.2 叠代查询 52
6.9 反向解析(Pointer)查询 52
6.10 DNS安全 52
6.7 名字服务解析过程 52
6.6 选择一个域名服务器 52
6.7.1 递归查询 52
6.11 资源记录 53
6.12 小结 54
第7章 WINS 55
7.1 NetBIOS 55
7.2 NetBIOS名字解析 57
7.3 动态NetBIOS名字解析 58
7.3.1 使用WINS的优点 58
7.3.2 WINS如何工作 59
7.3.4 为代理配置WINS 60
7.3.3 配置WINS客户机 60
7.3.5 配置NT 4.0系统 61
7.3.6 配置Windows 95或Windows 98系统 61
7.4 安装WINS服务器 61
7.5 WINS管理和维护 62
7.5.1 加入静态表项 62
7.5.2 维护WINS数据库 63
7.5.3 备份WINS数据库 65
7.5.4 备份WINS注册项 65
7.5.5 恢复WINS数据库 65
7.5.7 WINS复制参与者 66
7.5.6 压缩WINS数据库 66
7.5.8 WINS实现建议 67
7.6 集成WINS和DNS名字解析服务 67
7.7 DHCP服务WINS选项 67
7.8 通过LMHOSTS进行NetBIOS名字解析 68
7.9 小结 69
第8章 地址发现协议(BOOTP和DHCP) 71
8.1 “引导”协议(BOOTP) 71
8.2.1 DHCP如何工作 72
8.2 动态主机配置协议(DHCP) 72
8.2.2 理解租用地址 73
8.3 管理地址池 74
8.4 DHCP能处理的其他分配 75
8.4.1 注意重载 75
8.4.2 其他分配 75
8.5 小结 76
第三部分 IP和相关协议 77
第9章 IP协议家族 77
9.1 TCP/IP模型 77
9.1.2 协议组件 78
9.1.1 解剖TCP/IP模型 78
9.2 理解网际协议(IP) 79
9.2.1 IPv4结构 79
9.2.2 IP做什么 80
9.3 理解传输控制协议(TCP) 81
9.3.1 TCP头结构 81
9.3.2 TCP做什么 83
9.4 理解用户数据报协议(UDP) 85
9.4.1 UDP头结构 85
9.4.2 UDP能做什么 85
9.5 小结 86
9.4.3 TCP和UDP 86
第10章 IPv6 87
10.1 IPv6数据报 87
10.1.1 优先级分类 88
10.1.2 流标识 89
10.1.3 128位IP地址 89
10.1.4 IP扩展头 90
10.2 多IP地址主机 91
10.3 单播、组播和任一播头 91
10.4 从IPv4到IPv6的过渡 93
10.5 小结 94
第11章 IP网络中的路由 95
11.1 路由基本知识 95
第四部分 IP互联 95
11.1.1 静态路由 96
11.1.2 距离-向量路由 99
11.1.3 链路-状态路由 100
11.2 IP网络中的收敛 102
11.2.1 适应拓扑变化 102
11.3 计算IP网络中的路由 106
11.2.2 收敛时间 106
11.3.1 存储多条路由 107
11.3.2 初始化更新 107
11.3.3 路由度量标准 107
11.4 小结 108
第12章 路由信息协议(RIP) 109
12.1 理解RFC1058 109
12.1.1 RIP报文格式 109
12.1.2 RIP路由表 111
12.2 操作机制 112
12.2.1 计算距离向量 113
12.2.2 更新路由表 116
12.2.3 寻址问题 118
12.3 拓扑变化 120
12.3.1 收敛 120
12.3.2 计值到无穷 122
12.4 RIP的限制 127
12.4.5 缺乏负载均衡 128
12.4.4 收敛慢 128
12.4.3 对路由表更新反应强烈 128
12.4.2 固定度量 128
12.4.1 跳数限制 128
12.5 小结 129
第13章 开放式最短路径优先 130
13.1 OSPF起源 130
13.2 理解RFC 2328 OSPF,版本2 130
13.2.1 OSPF区 131
13.2.2 路由更新 134
13.3 研究OSPF数据结构 136
13.3.2 数据库描述报文 137
13.3.1 HELLO报文 137
13.3.3 链路-状态请求报文 138
13.3.4 链路-状态更新报文 138
13.3.5 链路-状态应答报文 140
13.4 计算路由 140
13.4.1 使用自动计算 140
13.4.2 使用缺省路由耗费 141
13.4.3 最短路径树 142
13.5 小结 144
14.1.1 网关 145
第14章 网关协议 145
14.1 网关、桥和路由器 145
14.1.2 网桥 146
14.1.3 路由器 146
14.1.4 自治系统 146
14.2 网关协议:基础知识 146
14.3 内部网关协议和外部网关协议 147
14.3.1 网关-网关协议(GGP) 147
14.3.2 外部网关协议(EGP) 147
14.4 小结 148
14.3.3 内部网关协议(IGP) 148
第五部分 网络服务 149
第15章 互联网打印协议 149
15.1 IPP历史 149
15.2 IPP和端用户 150
15.3 使用HP的IPP实现 151
15.4 小结 152
第16章 LDAP:目录服务 153
16.1 为什么使用目录服务 153
16.2 目录服务的功能 153
16.3 IP上的目录服务 154
16.4 OSI X.500目录模型 156
16.4.1 早期的X.500 157
16.4.2 今天的X.500 157
16.5 LDAP结构 157
16.5.1 LDAP层次结构 157
16.5.2 名字结构 158
16.6 目录系统代理和访问协议 158
16.7 轻型目录访问协议 158
16.7.1 查询信息 159
16.7.3 访问权限和安全 160
16.7.2 存储信息 160
16.8 LDAP服务器-服务器通信 161
16.8.1 LDAP数据互换格式(LDIF) 161
16.8.2 LDAP复制 162
16.9 设计LDAP服务 162
16.9.1 定义需求 162
16.9.2 设计策略 163
16.9.3 性能 164
16.9.4 网络功能 165
16.9.5 安全 166
16.10 LDAP配置 169
16.11 产品环境 169
16.11.1 创建计划 170
16.11.2 有价值的建议 171
16.12 选择LDAP软件 171
16.13 小结 174
第17章 远程访问协议 175
17.1 远程互联 175
17.1.3 数字用户环(DSL) 176
17.1.2 电缆调制解调器 176
17.1.1 ISDN 176
17.1.4 无线网络 177
17.2 远程认证拨入用户服务(RADIUS) 177
17.2.1 RADIUS认证 178
17.2.2 记账信息 179
17.3 用SLIP、CSLIP和PPP传输IP数据报文 179
17.3.1 串行线路接口协议(SLIP) 179
17.3.2 压缩的SLIP(CSLIP) 180
17.3.3 点到点协议(PPP) 180
17.4 隧道远程访问 184
17.4.1 点到点隧道协议(PPTP) 185
17.4.2 两层隧道协议(L2TP) 188
17.4.3 IPSec 192
17.5 小结 194
第18章 防火墙 195
18.1 使网络安全 195
18.2 使用防火墙 196
18.2.1 代理服务器 197
18.3 使服务安全 198
18.3.1 电子邮件(SMTP) 198
18.2.2 报文过滤器 198
18.3.2 HTTP:万维网 199
18.3.3 FTP 199
18.3.4 Telnet 199
18.3.5 Usenet:NNTP 199
18.3.6 DNS 200
18.4 建造用户自己的防火墙 200
18.5 使用商业防火墙软件 200
18.6 小结 202
19.1 使用加密 203
第19章 IP安全 203
19.1.1 公共-私钥加密 204
19.1.2 对称私钥加密 205
19.1.3 DES、IDEA及其他 205
19.2 数字签名认证 206
19.3 破译加密的数据 207
19.4 保护网络 207
19.4.1 登录名和口令 208
19.4.2 文件的目录允许权限 208
19.4.4 UNIX和Linux系统上的UUCP 209
19.4.3 信任关系 209
19.5 应付最坏情况 210
19.6 小结 210
第六部分 实现TCP/IP 211
第20章 一般配置问题 211
20.1 安装网卡 211
20.1.1 网卡 211
20.1.2 资源配置 212
20.1.3 安装适配器软件 213
20.1.5 服务 214
20.1.4 重定向器和API 214
20.1.6 NIC接口 215
20.2 网络和传输层协议 215
20.2.1 IP配置要求 215
20.2.2 配置缺省网关地址 216
20.2.3 配置名字服务器地址 217
20.2.4 配置邮件服务器地址 217
20.2.5 注册域名 218
20.3 IP配置 218
20.4 配置路由表 218
20.5 异种协议的IP封装 219
20.6 小结 220
21.1 Windows 98网络体系结构 221
第21章 Windows 98 221
21.1.1 安装网卡 222
21.1.2 更改网卡配置 224
21.1.3 当Windows 98引导失败 224
21.2 配置Windows 98的TCP/IP 225
21.2.1 写在开始之前 225
21.2.2 安装TCP/IP 225
21.2.3 配置微软的TCP/IP 225
21.2.4 DNS配置 227
21.2.5 静态配置文件 228
21.2.6 注册表配置 229
21.2.7 测试TCP/IP 231
21.3 小结 232
第22章 Windows 98拨号网络 233
22.1 配置拨号网络适配器 233
22.2 安装拨号网络 234
22.3 服务器类型 235
22.4 编写脚本 238
22.5 多重链接 238
22.6 PPTP 239
22.6.1 安装及配置PPTP 240
22.6.2 建立PPTP连接 240
22.7 Windows 98拨号服务器 241
22.8 解决拨号网络连接中的问题 242
22.8.1 确认DUN配置 242
22.8.2 PPP日志 243
22.9 小结 243
23.3 安装Windows NT4.0 244
23.2 体系结构 244
23.1 Windows NT版本 244
第23章 Windows NT4.0 244
23.4 配置TCP/IP 246
23.4.1 IP地址 246
23.4.2 DNS 248
23.4.3 WINS地址 248
23.4.4 DHCP中继 249
23.4.5 路由 250
23.5 简单TCP/IP服务 250
23.6 远程访问服务(RAS) 250
23.7.1 安装DHCP服务器服务 252
23.7 DHCPB服务器 252
23.7.2 控制DHCP服务器服务 253
23.7.3 压缩DHCP数据库 253
23.7.4 管理DHCP 254
23.8 使用Microsoft DNS 256
23.8.1 安装DNS 256
23.8.2 创建区 257
23.8.3 配置逆向域名解功能 258
23.10 TCP/IP打印服务 259
23.10.1 安装TCP/IP打印服务 259
23.8.5 增加辅助名字服务器 259
23.9 FTP和HTTP服务 259
23.8.4 配置DNS与WINS服务器的连接 259
23.10.2 安装LPR服务 260
23.11 Windows 2000新特性 260
23.12 小结 261
第24章 在Novell Net Ware中支持IP 262
24.1 Novell与TCP/IP 262
24.1.1 IP与NetWare4 262
24.1.2 NetWare 5与Pure IP初始化 262
24.2 传统解决方案:NetWare 3.x到NetWare 4.x的IP支持 263
24.2.1 IP隧道 264
24.2.2 IP中继 264
24.2.3 LAN WorkPlace 264
24.2.4 IPX-IP网关 265
24.2.5 NetWare/IP 265
24.3 NetWare 5——Novell对IP的完全支持 266
24.3.1 纯IP 266
24.3.2 多协议 266
24.4 安装选项 266
24.4.2 IPX-Only安装 267
24.4.1 NetWare 5的IP-Only安装 267
24.4.3 混合TCP/IP安装 268
24.5 IP迁移辅助工具 268
24.5.1 NDS 268
24.5.2 DNS 269
24.5.3 DHCP 269
24.5.4 DDNS 269
24.5.5 SLP 269
24.5.6 兼容模式 269
24.6.2 迁移建议 270
24.6.1 使用测试平台 270
24.6 迁移策略 270
24.5.7 迁移代理 270
24.7 小结 271
第七部分 使用TCP/IP应用 273
第25章 Whois和Finger 273
25.1 理解Whois协议 273
25.1.1 互联网注册 273
25.1.2 Whois数据库 274
25.1.3 基于Web的Whois 275
25.1.5 示例 276
25.1.4 命令行方式的Whois 276
25.1.6 基于Telnet的Whois 278
25.2 扩充Whois 279
25.2.1 提示Whois(RWhois) 279
25.2.2 WHOIS++ 280
25.3 使用Finger 280
25.3.1 Finger命令 280
25.3.2 Finger守护进程 282
25.3.3 非UNIX环境下的Finger 283
25.3.4 Finger的应用 283
25.5 小结 285
25.4 相关RFC文档 285
26.1 FTP和TFTP在网络世界中的作用 286
26.2 使用FTP传输文件 286
第26章 文件传输协议 286
26.2.1 FTP连接 287
26.2.2 使用FTP客户端建立连接 288
26.2.3 FTP安全 296
26.2.4 FTP服务器及守护进程 299
26.2.5 匿名FTP访问 299
26.3 使用TFTP 300
26.4 小结 301
26.3.1 FTP与TFTP的区别 301
26.3.2 TFTP命令 301
第27章 使用Telnet 302
27.1 理解Telnet协议 302
27.2 Telnet守护进程 303
27.3 使用Telnet 304
27.3.1 UNIX telnet命令 304
27.3.2 Telnet GUI应用 305
27.3.3 Telnet命令 305
27.3.4 示例 308
27.4.1 安全 309
27.4.2 Telnet应用 309
27.4 高级主题 309
27.4.3 使用Telnet访问其他TCP/IP服务 310
27.5 相关RFC文档 312
27.6 小结 313
28.1 理解r系列命令 314
28.1.1 安全问题 314
第28章 使用r系列实用工具 314
28.1.2 禁止使用r系列命令 315
28.1.3 增强r系列命令的安全性 316
28.2 使用r系列命令的替代方法 317
28.3 r系列命令详解 317
28.3.2 相关文件 320
28.4 在非UNIX环境下实现r系列命令的功能 321
28.5 小结 322
29.1.1 NFS的历史 323
29.1.2 为何使用NFS 323
29.1 什么是NFS 323
第29章 使用网络文件系统(NFS) 323
29.2 实现——NFS工作过程 324
29.2.1 远程过程调用(RPC)和外部数据表示(XDR) 324
29.2.2 加载类型 324
29.3 NFS使用的文件及命令 325
29.3.1 NFS守护进程 325
29.3.2 与NFS相关的文件 327
29.3.3 NFS服务器命令 329
29.3.4 NFS客户命令 331
29.4 示例:共享及加载NFS文件系统 333
29.5 NFS常见问题及解决方案 334
29.5.1 不能加载 334
29.5.2 不能卸载 334
29.5.3 硬加载与软加载 334
29.6 相关协议及产品 334
29.6.1 WebNFS 335
29.6.2 基于PC的NFS及其他客户端软件 335
29.6.3 SMB和CIFS 335
29.6.4 其他产品 336
29.7 小结 336
第30章 在应用中集成TCP/IP 337
第八部分 使用基子IP的应用 337
30.2 不断增加的Internet应用 338
30.1 使用浏览器作为表示层 338
30.3 在已有应用中集成TCP/IP 339
30.4 在其他网络中使用TCP/IP 339
30.4.1 NetBIOS与TCP/IP 339
30.4.2 IPX与UDP 340
30.4.3 ARCNET与TCP/IP 340
30.5 小结 340
31.1.2 标准及制定标准的组织 341
31.2 X.400 341
31.1 电子邮件 341
31.1.1 电子邮件的历史 341
第31章 Internet Email协议 341
31.3 简单邮件传输协议(SMTP) 343
31.3.1 MIME和SMTP 343
31.3.2 其他编码标准 344
31.3.3 SMTP命令 344
31.3.4 SMTP状态码 345
31.3.5 扩展SMTP 345
31.3.6 检查SMTP的头 346
31.3.7 SMTP的优势与不足 347
31.4 使用POP和IMAP取回客户邮件 347
31.4.1 邮局协议(POP) 347
31.4.2 互联网邮件访问协议(IMAP) 348
31.4.3 POP3与IMAP4的比较 348
31.5 高级主题 349
31.6 相关RFC文档及其他参考信息 351
31.7 小结 352
32.1.1 Web简史 353
32.1 万维网(WWW) 353
第32章 HTTP:Wond Wide Web 353
32.1.2 Web的发展 354
32.2 统一资源定位器 354
32.3 Web服务器与浏览器 355
32.4 理解HTTP 356
32.4.1 HTTP/1.1 356
32.4.2 MIME与Web 358
32.4.3 HTTP通信示例 358
32.6 Web语言 359
32.5.2 SSL和S-HTTP 359
32.5 高级主题 359
32.5.1 服务器方功能 359
32.6.1 HTML 360
32.6.2 XML 360
32.6.3 CGI 361
32.6.4 Java 361
32.6.5 JavaScript 362
32.6.6 动态服务器页面 362
32.7.3 IPv6 363
32.7.4 IPP 363
32.7.1 HTTP-ng 363
32.7.2 IIOP 363
32.7 Web的未来 363
32.8 小结 364
第33章 NNTP:互联网新闻组 365
33.1 互联网新闻组 365
33.2 新闻组和层次 366
33.3 网络新闻传输协议 367
33.3.1 获取新闻组 367
33.3.2 获取消息 369
33.3.3 发布消息 370
33.4 大量广告(Spamming)和新闻黑洞(Blackholing) 371
33.5 小结 371
第34章 Web服务 373
34.1 Web服务工作概览 373
34.2 主流Web服务器 375
34.3 运行Apache HTTP Web服务 376
34.3.1 下载、安装和配置Apache 376
34.3.2 在Windows环境下使用Apache 381
34.5 小结 383
34.4 浏览其他Web服务器 383
第九部分 使用与管理TCP/IP网络 385
第35章 协议配置与调整 385
35.1 系统的初始化问题 385
35.2 配置文件 390
35.2.1 在/etc/protocols文件中定义网络协议 390
35.2.2 在/etc/hosts文件中标识主机 391
35.2.3 TCP/IP与/etc/services文件 392
35.2.4 inetd守护进程与/etc/inetd.conf文件 394
35.2.5 在/etc/networks文件中设置网络 397
35.2.6 DNS客户与/etc/resolv.conf 397
35.3 小结 398
36.1 域名服务器 399
第36章 配置DNS 399
36.2 资源记录 400
36.3 域名解析 401
36.4 配置UNIX或Linux域名服务器(DNS) 401
36.4.1 添加资源记录 402
36.4.2 完成DNS文件 402
36.4.4 配置客户端 405
36.5 Windows和域名服务器 405
36.4.3 启动DNS守护进程 405
36.6 小结 406
第37章 网络管理 407
37.1 制定网络监控方案 407
37.2 网络问题及其解决方案 408
37.3 网络管理工具 408
37.3.1 使用协议分析器 409
37.3.2 专家系统 410
37.3.3 基于PC的分析器 410
37.3.4 网络管理协议支持 411
37.3.5 集成网络仿真/模型工具 411
37.4 配置SNMP 412
37.4.1 配置Windows SNMP 413
37.4.2 配置UNIX SNMP 414
37.4.3 SNMP安全属性 414
37.4.4 SNMP代理与管理 415
37.5 SNMP工具及命令 416
37.6 RMON及相关的MIB模型 417
37.7 建立网管需求 417
37.8 小结 419
38.1 什么是SNMP 420
第38章 SNMP:简单网络管理协议 420
38.2 管理信息基(MIB) 421
38.3 使用SNMP 421
38.4 UNIX与SNMP 422
38.4.1 在UNIX和Linux上安装SNMP 423
38.4.2 SNMP命令 424
38.5 Windows与SNMP 424
38.5.1 Windows NT 425
38.5.2 Windows 95、Windows 98和Windows 3.x 425
38.6 小结 427
39.1.1 什么是网络安全 428
第39章 加强TCP/IP传输安全 428
39.1 定义所需的网络安全 428
39.1.2 为什么网络安全非常重要 429
39.1.3 安全级别 429
39.1.4 口令与口令文件 430
39.1.5 控制对口令的访问 430
39.2 加强网络安全 431
39.2.1 攻击种类 431
39.2.2 加强网络安全 432
39.3.1 Internet守护进程与/etc/inetd.conf 434
39.3 应用配置 434
39.3.2 网络加密软件 436
39.3.3 TCP Wrapper 436
39.4 使用端口及可信端口 437
39.4.1 防火墙 437
39.4.2 包过滤 437
39.6 小结 438
39.5.3 正确的系统配置 438
39.5.1 用户帐号维护 438
39.5.2 审计 438
39.4.4 其他应用的过滤 438
39.4.3 应用层网关 438
39.5 一般安全事务 438
第40章 问题解决工具及要点 440
40.1 监视网络行为 440
40.2 标准应用程序 440
40.2.1 测试基本连接 441
40.2.2 ping命令 442
40.2.3 解决网络访问故障 443
40.4.1 TCP/IP配置参数 449
40.3 解决网络接口层问题 449
40.4 解决网络层问题 449
40.4.2 IP地址配置问题 450
40.5 解决TCP和UDP问题 453
40.6 解决应用层问题 455
40.7 小结 455
第十部分 附录 457
附录A RFC及标准化 457
附录B Linux 469
附录C 简写与缩略语 480