当前位置:首页 > 工业技术
TCP/IP详解  卷1  Volume 1  协议  The protocols
TCP/IP详解  卷1  Volume 1  协议  The protocols

TCP/IP详解 卷1 Volume 1 协议 The protocolsPDF电子书下载

工业技术

  • 电子书积分:19 积分如何计算积分?
  • 作 者:(美)凯文R.福尔(Kevin R.Fall),(美)W.理查德·史蒂文斯(W.Richard Stevens)著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111453833
  • 页数:683 页
图书介绍:本书是TCP/IP领域的经典之作!书中主要讲述TCP/IP协议,不仅仅讲述RFC的标准协议,而且结合大量实例讲述了TCP/IP协议族的定义原因,以及在各种不同的操作系统中的应用及工作方式,使读者可以轻松掌握TCP/IP的知识。本书内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案。本书适合任何希望理解TCP/IP协议如何实现的人阅读,更是TCP/IP领域研究人员和开发人员的权威参考书。无论是初学者还是功底深厚的网络领域高手,本书都是案头必备。
《TCP/IP详解 卷1 Volume 1 协议 The protocols》目录
标签:详解

第1章 概述 1

1.1 体系结构原则 2

1.1.1 分组、连接和数据报 2

1.1.2 端到端论点和命运共享 3

1.1.3 差错控制和流量控制 4

1.2 设计和实现 5

1.2.1 分层 5

1.2.2 分层实现中的复用、分解和封装 6

1.3 TCP/IP协议族结构和协议 9

1.3.1 ARPANET参考模型 9

1.3.2 TCP/IP中的复用、分解和封装 11

1.3.3 端口号 12

1.3.4 名称、地址和DNS 12

1.4 Internet、内联网和外联网 13

1.5 设计应用 13

1.5.1 客户机/服务器 14

1.5.2 对等 14

1.5.3 应用程序编程接口 14

1.6 标准化进程 15

1.6.1 RFC 15

1.6.2 其他标准 15

1.7 实现和软件分发 16

1.8 与Internet体系结构相关的攻击 17

1.9 总结 17

1.10 参考文献 18

第2章 Internet地址结构 21

2.1 引言 21

2.2 表示IP地址 21

2.3 基本的IP地址结构 23

2.3.1 分类寻址 23

2.3.2 子网寻址 24

2.3.3 子网掩码 26

2.3.4 可变长度子网掩码 27

2.3.5 广播地址 28

2.3.6 IPv6地址和接口标识符 29

2.4 CIDR和聚合 31

2.4.1 前缀 31

2.4.2 聚合 32

2.5 特殊用途地址 34

2.5.1 IPv4/IPv6地址转换 35

2.5.2 组播地址 36

2.5.3 IPv4组播地址 36

2.5.4 IPv6组播地址 38

2.5.5 任播地址 41

2.6 分配 42

2.6.1 单播 42

2.6.2 组播 44

2.7 单播地址分配 44

2.7.1 单个供应商/无网络/单个地址 44

2.7.2 单个供应商/单个网络/单个地址 45

2.7.3 单个供应商/多个网络/多个地址 45

2.7.4 多个供应商/多个网络/多个地址(多宿主) 46

2.8 与IP地址相关的攻击 48

2.9 总结 48

2.10 参考文献 49

第3章 链路层 54

3.1 引言 54

3.2 以太网和IEEE 802局域网/城域网标准 54

3.2.1 IEEE 802局域网/城域网标准 56

3.2.2 以太网帧格式 57

3.2.3 802.1p/q:虚拟局域网和QoS标签 60

3.2.4 802.1AX:链路聚合(以前的802.3 ad) 62

3.3 全双工、省电、自动协商和802.1X流量控制 64

3.3.1 双工不匹配 65

3.3.2 局域网唤醒(WoL)、省电和魔术分组 65

3.3.3 链路层流量控制 66

3.4 网桥和交换机 67

3.4.1 生成树协议 70

3.4.2 802.1 ak:多注册协议 76

3.5 无线局域网——IEEE 802.11(Wi-Fi) 76

3.5.1 802.1 1帧 77

3.5.2 省电模式和时间同步功能 81

3.5.3 802.11介质访问控制 82

3.5.4 物理层的细节:速率、信道和频率 84

3.5.5 Wi-Fi安全 88

3.5.6 Wi-Fi网状网(802.11s) 89

3.6 点到点协议 89

3.6.1 链路控制协议 89

3.6.2 多链路PPP 93

3.6.3 压缩控制协议 95

3.6.4 PPP认证 95

3.6.5 网络控制协议 96

3.6.6 头部压缩 96

3.6.7 例子 97

3.7 环回 99

3.8 MTU和路径MTU 101

3.9 隧道基础 102

3.9.1 单向链路 105

3.10 与链路层相关的攻击 106

3.11 总结 107

3.12 参考文献 108

第4章 地址解析协议 113

4.1 引言 113

4.2 一个例子 113

4.2.1 直接交付和ARP 114

4.3 ARP缓存 115

4.4 ARP帧格式 116

4.5 ARP例子 117

4.5.1 正常的例子 117

4.5.2 对一个不存在主机的ARP请求 118

4.6 ARP缓存超时 119

4.7 代理ARP 119

4.8 免费ARP和地址冲突检测 120

4.9 arp命令 121

4.10 使用ARP设置一台嵌入式设备的IPv4地址 121

4.11 与ARP相关的攻击 122

4.12 总结 122

4.13 参考文献 123

第5章 Internet协议 124

5.1 引言 124

5.2 IPv4头部和IPv6头部 125

5.2.1 IP头部字段 125

5.2.2 Internet校验和 127

5.2.3 DS字段和ECN(以前称为ToS字节或IPv6流量类别) 129

5.2.4 IP选项 131

5.3 IPv6扩展头部 133

5.3.1 IPv6选项 134

5.3.2 路由头部 137

5.3.3 分片头部 139

5.4 IP转发 143

5.4.1 转发表 144

5.4.2 IP转发行动 144

5.4.3 例子 145

5.4.4 讨论 148

5.5 移动IP 149

5.5.1 基本模型:双向隧道 149

5.5.2 路由优化 150

5.5.3 讨论 152

5.6 IP数据报的主机处理 152

5.6.1 主机模式 152

5.6.2 地址选择 153

5.7 与IP相关的攻击 156

5.8 总结 156

5.9 参考文献 157

第6章 系统配置:DHCP和自动配置 161

6.1 引言 161

6.2 动态主机配置协议 161

6.2.1 地址池和租用 162

6.2.2 DHCP和BOOTP消息格式 163

6.2.3 DHCP和BOOTP选项 164

6.2.4 DHCP协议操作 165

6.2.5 DHCPv6 174

6.2.6 使用DHCP中继 185

6.2.7 DHCP认证 188

6.2.8 重新配置扩展 189

6.2.9 快速确认 189

6.2.10 位置信息(LCI和LoST) 190

6.2.11 移动和切换信息(MoS和ANDSF) 190

6.2.12 DHCP嗅探 191

6.3 无状态地址自动配置 191

6.3.1 IPv4链路本地地址的动态配置 191

6.3.2 链路本地地址的IPv6 SLAAC 192

6.4 DHCP和DNS交互 198

6.5 以太网上的PPP 199

6.6 与系统配置相关的攻击 201

6.7 总结 203

6.8 参考文献 204

第7章 防火墙和网络地址转换 209

7.1 引言 209

7.2 防火墙 209

7.2.1 包过滤防火墙 209

7.2.2 代理防火墙 210

7.3 网络地址转换 212

7.3.1 传统的NAT:基本NAT和NAPT 213

7.3.2 地址和端口转换行为 217

7.3.3 过滤行为 219

7.3.4 位于NAT之后的服务器 219

7.3.5 发夹和NAT环回 220

7.3.6 NAT编辑器 220

7.3.7 服务提供者NAT和服务提供者IPv6转换 220

7.4 NAT穿越 221

7.4.1 针孔和打孔 221

7.4.2 单边的自地址确定 222

7.4.3 NAT的会话穿越工具 223

7.4.4 利用NAT中继的穿越 228

7.4.5 交互连接建立 233

7.5 配置包过滤防火墙和NAT 235

7.5.1 防火墙规则 235

7.5.2 NAT规则 236

7.5.3 与NAT和防火墙的直接交互:UPnP、NAT-PMP和PCP 237

7.6 IPv4/IPv6共存和过渡中的NAT 238

7.6.1 双协议栈精简版 239

7.6.2 使用NAT和ALG的IPv4/IPv6转换 239

7.7 与防火墙和NAT相关的攻击 243

7.8 总结 243

7.9 参考文献 244

第8章 ICMPv4和ICMPv6:Internet控制报文协议 248

8.1 引言 248

8.1.1 在IPv4和IPv6中的封装 248

8.2 ICMP报文 249

8.2.1 ICMPv4报文 250

8.2.2 ICMPv6报文 251

8.2.3 处理ICMP报文 253

8.3 ICMP差错报文 253

8.3.1 扩展的ICMP和多部报文 254

8.3.2 目的不可达(ICMPv4类型3,ICMPv6类型1)和数据包太大(ICMPv6类型2) 255

8.3.3 重定向(ICMPv4类型5,ICMPv6类型137) 261

8.3.4 ICMP超时(ICMPv4类型11,ICMPv6类型3) 263

8.3.5 参数问题(ICMPv4类型12,ICMPv6类型4) 266

8.4 ICMP查询/信息类报文 267

8.4.1 回显请求/应答(ping)(ICMPv4类型0/8,ICMPv6类型129/128) 268

8.4.2 路由器发现:路由器请求和通告(ICMPv4类型9,10) 269

8.4.3 本地代理地址发现请求/应答(ICMPv6类型144/145) 271

8.4.4 移动前缀请求/通告(ICMPv6类型146/147) 272

8.4.5 移动IPv6快速切换报文(ICMPv6类型154) 273

8.4.6 组播侦听查询/报告/完成(ICMPv6类型130/131/132) 273

8.4.7 版本2组播侦听发现(ICMPv6类型143) 274

8.4.8 组播路由器发现(IGMP类型48/49/50,ICMPv6类型151/152/153) 278

8.5 IPv6中的邻居发现 278

8.5.1 ICMPv6路由器请求和通告(ICMPv6类型133,134) 279

8.5.2 ICMPv6邻居请求和通告(ICMPv6类型135,136) 280

8.5.3 ICMPv6反向邻居发现请求/通告(ICMPv6类型141/142) 283

8.5.4 邻居不可达检测 283

8.5.5 安全邻居发现 284

8.5.6 ICMPv6邻居发现选项 287

8.6 ICMPv4和ICMPv6转换 298

8.6.1 从ICMPv4转换到ICMPv6 299

8.6.2 从ICMPv6转换到ICMPv4 300

8.7 与ICMP相关的攻击 301

8.8 总结 303

8.9 参考文献 303

第9章 广播和本地组播(IGMP和MLD) 307

9.1 引言 307

9.2 广播 308

9.2.1 使用广播地址 308

9.2.2 发送广播数据报 310

9.3 组播 311

9.3.1 将IP组播地址转换为802 MAC/以太网地址 312

9.3.2 例子 313

9.3.3 发送组播数据报 314

9.3.4 接收组播数据报 316

9.3.5 主机地址过滤 317

9.4 互联网组管理协议和组播侦听发现协议 318

9.4.1 组成员的IGMP和MLD处理(“组成员部分”) 321

9.4.2 组播路由器的IGMP和MLD处理(“组播路由器部分”) 323

9.4.3 例子 324

9.4.4 轻量级IGMPv3和MLDv2 328

9.4.5 IGMP和MLD健壮性 329

9.4.6 IGMP和MLD计数器和变量 330

9.4.7 IGMP和MLD探听 331

9.5 与IGMP和MLD相关的攻击 332

9.6 总结 332

9.7 参考文献 333

第10章 用户数据报协议和IP分片 335

10.1 引言 335

10.2 UDP头部 335

10.3 UDP校验和 336

10.4 例子 338

10.5 UDP和IPv6 340

10.5.1 Teredo:通过IPv4网络隧道传输IPv6 341

10.6 UDP-Lite 345

10.7 IP分片 345

10.7.1 例子:UDP/IPv4分片 346

10.7.2 重组超时 348

10.8 采用UDP的路径MTU发现 349

10.8.1 例子 349

10.9 IP分片和ARP/ND之间的交互 351

10.10 最大UDP数据报长度 352

10.10.1 实现限制 352

10.10.2 数据报截断 353

10.11 UDP服务器的设计 353

10.11.1 IP地址和UDP端口号 353

10.11.2 限制本地IP地址 354

10.11.3 使用多地址 355

10.11.4 限制远端IP地址 356

10.11.5 每端口多服务器的使用 357

10.11.6 跨越地址族:IPv4和IPv6 357

10.11.7 流量和拥塞控制的缺失 357

10.12 UDP/IPv4和UDP/IPv6数据报的转换 358

10.13 互联网中的UDP 358

10.14 与UDP和IP分片相关的攻击 359

10.15 总结 360

10.16 参考文献 360

第11章 名称解析和域名系统 362

11.1 引言 362

11.2 DNS名称空间 362

11.2.1 DNS命名语法 365

11.3 名称服务器和区域 366

11.4 缓存 366

11.5 DNS协议 367

11.5.1 DNS消息格式 369

11.5.2 DNS扩展格式(EDNS0) 372

11.5.3 UDP或TCP 372

11.5.4 问题(查询)和区域区段格式 373

11.5.5 回答、授权和额外信息区段格式 373

11.5.6 资源记录类型 374

11.5.7 动态更新(DNS UPDATE) 394

11.5.8 区域传输和DNS通知 397

11.6 排序列表、循环和分离DNS 402

11.7 开放DNS服务器和DynDNS 403

11.8 透明度和扩展性 404

11.9 从IPv4向IPv6转换DNS 404

11.10 LLMNR和mDNS 405

11.11 LDAP 406

11.12 与DNS相关的攻击 406

11.13 总结 407

11.14 参考文献 408

第12章 TCP:传输控制协议(初步) 412

12.1 引言 412

12.1.1 ARQ和重传 412

12.1.2 分组窗口和滑动窗口 413

12.1.3 变量窗口:流量控制和拥塞控制 414

12.1.4 设置重传超时 415

12.2 TCP的引入 415

12.2.1 TCP服务模型 416

12.2.2 TCP中的可靠性 416

12.3 TCP头部和封装 418

12.4 总结 420

12.5 参考文献 421

第13章 TCP连接管理 423

13.1 引言 423

13.2 TCP连接的建立与终止 423

13.2.1 TCP半关闭 425

13.2.2 同时打开与关闭 426

13.2.3 初始序列号 427

13.2.4 例子 428

13.2.5 连接建立超时 429

13.2.6 连接与转换器 430

13.3 TCP选项 431

13.3.1 最大段大小选项 431

13.3.2 选择确认选项 432

13.3.3 窗口缩放选项 433

13.3.4 时间戳选项与防回绕序列号 433

13.3.5 用户超时选项 435

13.3.6 认证选项 436

13.4 TCP的路径最大传输单元发现 436

13.4.1 例子 437

13.5 TCP状态转换 439

13.5.1 TCP状态转换图 440

13.5.2 TIME_WAIT状态 442

13.5.3 静默时间的概念 446

13.5.4 FIN_WAIT_2状态 446

13.5.5 同时打开与关闭的转换 446

13.6 重置报文段 447

13.6.1 针对不存在端口的连接请求 447

13.6.2 终止一条连接 447

13.6.3 半开连接 449

13.6.4 时间等待错误 451

13.7 TCP服务器选项 451

13.7.1 TCP端口号 452

13.7.2 限制本地IP地址 453

13.7.3 限制外部节点 454

13.7.4 进入连接队列 455

13.8 与TCP连接管理相关的攻击 458

13.9 总结 459

13.10 参考文献 460

第14章 TCP超时与重传 462

14.1 引言 462

14.2 简单的超时与重传举例 462

14.3 设置重传超时 464

14.3.1 经典方法 465

14.3.2 标准方法 465

14.3.3 Linux采用的方法 468

14.3.4 RTT估计器行为 471

14.3.5 RTTM对丢包和失序的鲁棒性 472

14.4 基于计时器的重传 473

14.4.1 例子 473

14.5 快速重传 475

14.5.1 例子 475

14.6 带选择确认的重传 478

14.6.1 SACK接收端行为 479

14.6.2 SACK发送端行为 479

14.6.3 例子 480

14.7 伪超时与重传 482

14.7.1 重复SACK(DSACK)扩展 482

14.7.2 Eifel检测算法 483

14.7.3 前移RTO恢复(F-RTO) 484

14.7.4 Eifel响应算法 484

14.8 包失序与包重复 485

14.8.1 失序 486

14.8.2 重复 487

14.9 目的度量 487

14.10 重新组包 488

14.11 与TCP重传相关的攻击 489

14.12 总结 489

14.13 参考文献 490

第15章 TCP数据流与窗口管理 492

15.1 引言 492

15.2 交互式通信 492

15.3 延时确认 494

15.4 Nagle算法 495

15.4.1 延时ACK与Nagle算法结合 497

15.4.2 禁用Nagle算法 498

15.5 流量控制与窗口管理 498

15.5.1 滑动窗口 499

15.5.2 零窗口与TCP持续计时器 501

15.5.3 糊涂窗口综合征 503

15.5.4 大容量缓存与自动调优 509

15.6 紧急机制 512

15.6.1 例子 512

15.7 与窗口管理相关的攻击 514

15.8 总结 515

15.9 参考文献 515

第16章 TCP拥塞控制 517

16.1 引言 517

16.1.1 TCP拥塞检测 517

16.1.2 减缓TCP发送 518

16.2 一些经典算法 519

16.2.1 慢启动 520

16.2.2 拥塞避免 521

16.2.3 慢启动和拥塞避免的选择 523

16.2.4 Tahoe、Reno以及快速恢复算法 523

16.2.5 标准TCP 524

16.3 对标准算法的改进 524

16.3.1 NewReno 525

16.3.2 采用选择确认机制的TCP拥塞控制 525

16.3.3 转发确认(FACK)和速率减半 526

16.3.4 限制传输 527

16.3.5 拥塞窗口校验 527

16.4 伪RTO处理——Eifel响应算法 528

16.5 扩展举例 528

16.5.1 慢启动行为 531

16.5.2 发送暂停和本地拥塞(事件1) 532

16.5.3 延伸ACK和本地拥塞恢复 535

16.5.4 快速重传和SACK恢复(事件2) 538

16.5.5 其他本地拥塞和快速重传事件 539

16.5.6 超时、重传和撤销cwnd修改 542

16.5.7 连接结束 545

16.6 共享拥塞状态信息 545

16.7 TCP友好性 546

16.8 高速环境下的TCP 547

16.8.1 高速TCP与受限的慢启动 547

16.8.2 二进制增长拥塞控制(BIC和CUBIC) 549

16.9 基于延迟的拥塞控制算法 552

16.9.1 Vegas算法 552

16.9.2 FAST算法 553

16.9.3 TCP Westwood算法和Westwood+算法 553

16.9.4 复合TCP 553

16.10 缓冲区膨胀 555

16.11 积极队列管理和ECN 556

16.12 与TCP拥塞控制相关的攻击 557

16.13 总结 558

16.14 参考文献 560

第17章 TCP保活机制 563

17.1 引言 563

17.2 描述 564

17.2.1 保活功能举例 565

17.3 与TCp保活机制相关的攻击 569

17.4 总结 570

17.5 参考文献 570

第18章 安全:可扩展身份认证协议、IP安全协议、传输层安全、DNS安全、域名密钥识别邮件 571

18.1 引言 571

18.2 信息安全的基本原则 572

18.3 网络通信的威胁 572

18.4 基础的加密与安全机制 573

18.4.1 密码系统 573

18.4.2 RSA公钥密码算法 575

18.4.3 Diffie-Hellman-Merkle密钥协商协议 576

18.4.4 签密与椭圆曲线密码 577

18.4.5 密钥派生与完全正向保密 577

18.4.6 伪随机数、生成器与函数族 578

18.4.7 随机数与混淆值 578

18.4.8 加密散列函数与消息摘要 578

18.4.9 消息认证码 579

18.4.10 加密套件与密码套件 580

18.5 证书、证书颁发机构与公钥基础设施 582

18.5.1 公钥证书、证书颁发机构与X.509标准 583

18.5.2 验证与撤销证书 587

18.5.3 属性证书 589

18.6 TCP/IP安全协议与分层 590

18.7 网络访问控制:802.1X,802.1AE,EAP,PANA 591

18.7.1 EAP方法与密钥派生 594

18.7.2 EAP重新认证协议 595

18.7.3 网络接入认证信息承载协议 595

18.8 第3层IP安全(IPsec) 596

18.8.1 Internet密钥交换协议(IKEv2) 597

18.8.2 认证头部 606

18.8.3 封装安全负载 609

18.8.4 组播 612

18.8.5 L2TP/IPsec 613

18.8.6 IPsec NAT穿越 613

18.8.7 例子 614

18.9 传输层安全(TLS和DTLS) 622

18.9.1 TLS 1.2 623

18.9.2 DTLS 633

18.10 DNS安全(DNSSEC) 636

18.10.1 DNSSEC资源记录 637

18.10.2 DNSSEC运行 642

18.10.3 事务认证(TSIG,TKEY,SIG(0)) 648

18.10.4 带有DNS64的DNSSEC 652

18.11 域名密钥识别邮件 652

18.11.1 DKIM签名 652

18.11.2 例子 653

18.12 与安全协议相关的攻击 654

18.13 总结 655

18.14 参考文献 657

缩略语 666

相关图书
作者其它书籍
返回顶部