第1章 TCP/IP引论 1
1.1什么是TCP/IP 1
1.2TCP/IP的起源和历史 2
1.2.1TCP/IP的设计目标 2
1.2.2TCP/IP年表 2
1.2.3谁“拥有”Internet 5
1.2.4管理TCP/IP的标准化组织 5
1.3TCP/IP标准和RFC 6
1.4OSI网络参考模型概览 7
1.4.1将网络划分为层次的模型 7
1.4.2ISO/OSI网络参考模型 8
1.4.3协议层如何运作 8
1.5TCP/IP组网模型 13
1.5.1TCP/IP网络访问层 13
1.5.2TCP/IP网络访问层协议 14
1.5.3TCP/IP互联网层功能 15
1.5.4TCP/IP互联网层协议 15
1.5.5TCP/IP传输层功能 16
1.5.6TCP/IP传输层协议 16
1.5.7TCP/IP应用层 17
1.6TCP/IP协议、服务、套接字与端口 18
1.6.1TCP/IP协议号 18
1.6.2TCP/IP端口号 19
1.6.3TCP/IP套接字 20
1.7TCP/IP中的数据封装 20
1.8关于协议分析 20
1.8.1协议分析的有用规则 21
1.8.2协议分析器的要素 21
1.8.3混杂模式网卡和驱动程序 22
1.8.4将协议分析器安装在网络上 25
本章小结 26
习题 27
动手实践项目 30
案例 33
第2章 IP寻址及相关问题 34
2.1IP寻址基础 34
2.2IP地址解剖 36
2.3IP地址类 36
2.3.1详谈A类地址 37
2.3.2详谈B类地址 38
2.3.3详谈C类地址 38
2.3.4详谈D类和E类地址 39
2.4网络、广播、多播及其他特殊IP地址 40
2.4.1广播数据包结构 40
2.4.2多播数据包和地址结构 41
2.5正在耗尽的IP地址空间 42
2.6理解基本的二进制算术 44
2.6.1将十进制转换为二进制 44
2.6.2将二进制转换为十进制 45
2.6.3高阶位模式 45
2.6.4低阶位模式 46
2.7IP网络、子网与掩码 46
2.7.1IP子网和超网 47
2.8无类域间路由 51
2.9公用和专用IP地址 52
2.10管理IP地址信息的访问 54
2.11得到公用IP地址 54
2.12IP寻址模式 55
2.12.1网络空间 55
2.12.2主机空间 56
本章小结 57
习题 58
动手实践项目 60
案例 62
第3章 数据链路层与网络层TCP/IP协议 65
3.1数据链路协议 65
3.1.1串行线路网际协议 66
3.1.2点到点协议 67
3.1.3PPP链路的特别处理 69
3.2帧类型 70
3.2.1以太网帧类型 70
3.2.2令牌环帧类型 75
3.3IP环境中的硬件地址 78
3.3.1ARP数据包字段和功能 80
3.3.2ARP缓冲区 83
3.3.3代理ARP 84
3.3.4反向ARP 85
3.4关于IP协议 85
3.4.1发送IP数据报 86
3.4.2路由解析过程 87
3.5IP数据包的寿命 89
3.6分段与重组 89
3.7服务交付选项 92
3.7.1优先级 92
3.7.2服务类型 92
3.7.3差异化服务和显式拥塞通告 94
3.8IP首部字段和功能 94
3.8.1版本字段 94
3.8.2首部长度字段 95
3.8.3服务类型字段 95
3.8.4新的TOS字段功能:差异化服务和拥塞控制 96
3.8.5总长度字段 98
3.8.6标识字段 98
3.8.7标志字段 98
3.8.8分段偏移字段 99
3.8.9生存时间(TTL)字段 100
3.8.10协议字段 100
3.8.11首部校验和字段 100
3.8.12源地址字段 100
3.8.13目的地址字段 101
3.8.14选项字段 101
本章小结 101
习题 103
动手实践项目 105
案例 108
第4章 Internet控制消息协议 109
4.1理解Internet控制消息协议 109
4.1.1RFC 792概览 110
4.1.2IP网络中ICMP的至关重要角色 110
4.2ICMP测试和故障诊断顺序 111
4.2.1使用PING作可连接性测试 111
4.2.2使用TRACEROUTE做路径发现 112
4.2.3使用PATHPING做路径发现 114
4.2.4使用ICMP的路径MTU发现 114
4.2.5ICMP的路由序列 117
4.2.6ICMP的安全问题 120
4.3ICMP数据包字段和功能 122
4.3.1不变ICMP字段 122
4.3.2可变的ICMP结构和功能 125
本章小结 137
习题 137
动手实践项目 140
案例 144
第5章 传输层TCP/IP协议 145
5.1UDP:一个无连接传输层协议 145
5.1.1UDP概览 146
5.1.2UDP首部字段和功能 147
5.1.3UDP端口号和进程 149
5.2TCP:一个面向连接的协议 150
5.2.1TCP概览 151
5.2.2TCP启动连接过程 151
5.2.3TCP半开连接 155
5.2.4TCP保持活动过程 156
5.2.5TCP连接终止 157
5.2.6TCP连接状态 158
5.2.7TCP序列和确认过程 158
5.2.8TCP出错检测和错误恢复过程 160
5.2.9TCP阻塞控制 161
5.2.10TCP滑动窗口 163
5.2.11TCP首部字段和功能 164
5.3在TCP和UDP之间做出选择 167
本章小结 168
习题 168
动手实践项目 171
案例 174
第6章 基本TCP/IP服务 176
6.1应用层IP协议如何工作和运行 176
6.2理解FTP 178
6.2.1FTP元素 178
6.2.2FTP通信样例 180
6.2.3主动与被动FTP 182
6.3理解Telnet 184
6.3.1Telnet元素 184
6.4理解SMTP 187
6.4.1SMTP元素 188
6.4.2SMTP通信示例 190
6.5理解HTTP 191
6.5.1HTTP元素 192
6.5.2HTTP通信样例 193
6.6理解MSN Messenger 195
6.6.1MSN Messenger元素 195
6.6.2MSN Messenger命令 196
6.6.3MSN Messenger通信样例 198
6.7理解VoIP 199
6.7.1VoIP元素 200
6.7.2VoIP通信样例 202
6.8其他基于TCP/IP的常用服务 203
6.8.1Echo 204
6.8.2今日语录 204
6.8.3字符发生器 204
6.8.4Whois 205
6.8.5简单文件传输协议 205
6.8.6Finger 205
6.8.7远程过程调用 206
6.8.8简单网络管理协议 206
6.8.9TCP/IP上的NetBIOS 206
6.9解码应用层协议 207
本章小结 209
习题 210
动手实践项目 212
案例 216
第7章 域名系统 217
7.1DNS历史和背景 218
7.1.1DNS数据库结构 219
7.1.2DNS名称空间 220
7.1.3DNS数据库记录 221
7.1.4委托DNS授权 222
7.1.5DNS服务器的类型 222
7.1.6DNS的客户端一方 224
7.2域名服务器如何工作 224
7.2.1递归查询 225
7.2.2迭代或非递归查询 226
7.3DNS缓冲的重要性 226
7.4DNS配置文件和资源记录格式 227
7.4.1授权开始记录 228
7.4.2地址和别名记录 229
7.4.3将地址映射为名称 231
7.5处理回送地址 231
7.5.1得到和存储根服务器数据 232
7.5.2考察named.root文件 232
7.6NSLOOKUP命令 233
7.6.1NSLOOKUP细节 234
7.6.2使用NSLOOKUP 234
7.7DNS查询/响应数据包格式 236
7.8DNS实现 242
7.8.1DNS的困难 243
7.8.2有关DNS的附加阅读材料 244
本章小结 244
习题 245
动手实践项目 247
案例 253
第8章 动态主机配置协议 254
8.1DHCP介绍 254
8.1.1DHCP如何工作 255
8.1.2租用的角色 256
8.1.3DHCP软件部件 257
8.1.4DHCP租用类型 257
8.1.5DHCP租用的更多信息 258
8.2理解使用DHCP的IP地址管理 259
8.3DHCP地址发现 260
8.3.1发现数据包 260
8.3.2提供数据包 262
8.3.3请求数据包 263
8.3.4确认数据包 263
8.4地址更新过程 264
8.4.1更新时间(T1) 264
8.4.2重新绑定时间(T2) 265
8.5DHCP地址释放过程 266
8.6DHCP数据包结构 266
8.6.1DHCP选项 268
8.7DHCP中的广播和单播 272
8.8使用DHCP中继代理通信 272
8.9微软DHCP范围和类 273
8.10建立一个简单的DHCP服务器 274
8.11DHCP故障诊断 277
本章小结 278
习题 279
动手实践项目 282
案例 284
第9章 保护TCP/IP环境的安全 285
9.1理解计算机和网络安全 285
9.1.1IP安全的原则 286
9.1.2理解典型的IP攻击、利用以及闯入 287
9.1.3与IP攻击相关的常见类型 289
9.1.4最脆弱的IP服务是什么 290
9.1.5漏洞、后门及其他非法入口点 291
9.2IP攻击剖析 292
9.2.1侦察和发现过程 292
9.2.2攻击 294
9.2.3隐藏 294
9.3常见的IP攻击点 294
9.3.1病毒、蠕虫以及木马程序 294
9.3.2拒绝服务攻击 297
9.3.3分布式拒绝服务攻击 298
9.3.4缓冲区溢出 299
9.3.5欺骗 300
9.3.6TCP会话劫持 301
9.3.7网络嗅探 302
9.4维护IP安全 303
9.4.1应用安全补丁和修复包 303
9.4.2知道要阻塞哪些端口 304
9.4.3识别攻击签名 305
9.4.4使用IP安全 307
9.4.5保护网络边界 309
9.4.6理解防火墙基础 311
9.4.7理解代理服务器基础 313
9.4.8实现防火墙和管理软件 314
9.4.9规划和实现,循序渐进 314
9.4.10理解测试-攻击-调整循环 315
9.4.11理解IDS和IPS在IP安全中的角色 316
9.4.12更新反病毒引擎和病毒列表 317
9.4.13安全更新过程 318
9.5理解安全策略和恢复计划 318
9.6Windows XP和Windows Server 2003:另一代的网络安全 321
9.7蜜罐和蜜网 322
本章小结 323
习题 324
动手实践项目 326
案例 329
第10章 IP环境中的路由 330
10.1理解路由 330
10.1.1在路由表中如何存放记录 332
10.1.2路由协议和被路由协议 332
10.1.3分组路由协议 333
10.2路由特性 336
10.2.1路由汇聚 336
10.2.2水平分割 337
10.2.3毒性反转 337
10.2.4生存时间 337
10.2.5多播与广播的更新行为 338
10.2.6ICMP路由器公告 338
10.2.7黑洞 338
10.2.8区域、自治系统和边界路由器 338
10.3内部网关协议 340
10.3.1RIP 340
10.3.2开放式最短路径优先 343
10.3.3增强型内部网关路由协议 346
10.4边界网关协议 346
10.5管理内部互联网络的路由 347
10.6异构网络 348
10.7广域网上的路由 348
10.7.1几个小型办公室 349
10.7.2集中星型结构 349
10.7.3多协议 349
10.7.4移动用户 349
10.8路由到Internet上和从Internet上路由 350
10.9保护路由器和路由行为的安全 351
10.10诊断IP路由故障 352
本章小结 352
习题 353
动手实践项目 355
案例 357
第11章 监控和管理IP网络 358
11.1理解网络管理实践和原理 358
11.1.1网络管理架构 359
11.1.2OSI网络管理模型 360
11.1.3实际网络管理 361
11.1.4带内管理与带外管理的比较 361
11.2理解SNMP 363
11.2.1管理信息库对象 363
11.2.2SNMP代理 367
11.2.3SNMP管理器 367
11.2.4SNMP消息 367
11.2.5SNMP安全 368
11.3安装、配置SNMP代理与控制台 370
11.3.1代理安装 370
11.3.2代理配置 370
11.3.3控制台安装 371
11.3.4控制台配置 372
11.4SNMP控制台、工具、实用程序和关键文件 372
11.5将SNMP与其他管理环境集成 373
11.6SNMP的故障诊断 373
本章小结 374
习题 375
动手实践项目 377
案例 379
第12章 TCP/IP、NETBIOS与WINS 380
12.1NetBIOS的历史 380
12.2什么是NetBIOS(以及为什么我要关注它) 381
12.3Windows 2000、Windows XP、Windows Server 2003如何使用NetBIOS 382
12.4NetBIOS和TCP/IP 383
12.4.1仅仅使用DNS 383
12.4.2仅仅使用NBF 383
12.4.3将NetBIOS和TCP/IP结合起来 384
12.5NetBIOS如何工作 385
12.5.1NetBIOS流量 386
12.5.2注册和挑战NetBIOS名称 386
12.5.3NetBIOS名称解析 386
12.5.4其他NetBIOS服务 387
12.6NetBIOS名称 387
12.6.1NetBIOS名称的结构 387
12.6.2NetBIOS范围标识符 389
12.7NetBIOS名称注册和解析 389
12.7.1通过结点类型的名称解析体制 390
12.7.2NetBIOS名称缓冲和LMHOSTS文件 392
12.7.3WINS名称注册和解析 392
12.7.4DNS和HOSTS文件 394
12.8TCP/IP上的NetBIOS 395
12.9NetBIOS和DNS名称解析 395
12.9.1从NetBIOS名称创建可用的主机名称 396
12.9.2将已编码NetBIOS名称转换为完整限定域名 397
12.10WINS服务器 397
12.10.1WINS如何工作 398
12.10.2不同的WINS配置 398
12.11将WINS与DNS集成起来 400
12.11.1在WINS中为NetBIOS名称解析指向DNS 402
12.11.2用于NetBIOS名称的反向DNS查找 403
12.11.3Windows Server 2003 WINS改进 404
12.12诊断和排除WINS和NetBIOS故障 404
12.12.1失效的常见根源 404
12.12.2诊断NetBIOS和WINS问题的工具 404
12.13NETSTAT 405
12.13.1NetBIOS和WINS中的典型错误 406
12.13.2NetBIOS的安全缺陷 407
本章小结 407
习题 408
动手实践项目 410
案例 414
第13章 IPv6 416
13.1为什么要创建新版本的IP 416
13.2IPv6地址空间 417
13.2.1地址格式和分配 418
13.2.2地址类型 421
13.3路由考虑 426
13.3.1相邻发现和路由器公告 427
13.3.2分段中的路径MTU发现和变化 428
13.4使用IPv6协议 428
13.5IPv6中的名称解析 429
13.6IPv6数据包格式 429
13.6.1基本IPv6首部格式 429
13.7新的和增强的IPv6特性 437
13.7.1自动配置 437
13.7.2安全性 439
13.7.3服务质量 440
13.7.4路由器警报和逐跳选项 441
13.7.5移动用户 442
13.8IPv4和IPv6的共存 444
13.8.1双栈方法 444
13.8.2通过IPv4云隧道传输 445
13.8.3IPv6的采纳速度 445
13.9过渡到IPv6:现实 446
13.9.1互操作性 446
13.9.2从Windows的观点看过渡到IPv6 447
13.9.3可用性 448
13.9.4下一步怎么样 448
本章小结 449
习题 450
动手实践项目 452
案例 454
附录A重要的RFC 455
附录B关键联机IP资源 467
B.1一般IP/Internet概览 467
B.2IP/Internet历史 467
B.3Internet和组网主题的综合指示 467
B.4RFC资源 468
B.5IP寻址、子网划分和超网划分 468
B.6二进制算数概览 468
B.7综合的IP协议信息 468
B.8DNS信息 469
B.9IP安全 469
B.10IP路由 469
B.11SNMP 470
B.12TCP/IP上的NETBIOS 470
B.13IPv6 470
B.14TCP/IP新闻组 471
附录C命令行IP实用程序 472
C.1ARP 472
C.2IPCONFIG 473
C.3Netsh 473
C.4NETSTAT 474
C.5PATHPING 475
C.6PING 475
C.7ROUTE 476
C.8TRACERT 477
附录DWindows 2000、Windows Server 2003、Windows XP注册表设置 478
附录E配套网站的内容 484
E.1工具 484
E.2跟踪(数据)文件 485
附录FTCP/UDP端口号 487
附录G DHCP选项 488
术语表 489