当前位置:首页 > 工业技术
TCP/IP协议原理与应用 原书第4版
TCP/IP协议原理与应用 原书第4版

TCP/IP协议原理与应用 原书第4版PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:(美)卡雷尔,(美)查普尔,(美)蒂特尔著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302342335
  • 页数:550 页
图书介绍:本书采用理论与实践相结合的方法,将复杂、深奥的TCP/IP知识与我们已经使用的系统(Windows等)和工具结合起来,让读者能够以直观的方式探索TCP/IP的精髓,并通过每章末尾的练习和动手实践项目,深化读者对关键概念的理解,本书同时还讲授常用网络管理和监视工具的用法。书后的几个附录也是深入学习和探讨TCP/IP不可或缺的资源,参考和运用这些资源有助于读者深入、全面地掌握与TCP/IP相关的知识和工具。
《TCP/IP协议原理与应用 原书第4版》目录
标签:原理 应用

第1章 TCP/IP引论 1

1.1 什么是TCP/IP 1

1.2 TCP/IP的起源和历史 2

1.2.1 TCP/IP的设计目标 2

1.2.2 TCP/IP大事年表 2

1.2.3 谁“拥有”Internet 4

1.2.4 管理TCP/IP的标准化组织 5

1.2.5 IPv4与IPv6 5

1.3 TCP/IP标准和RFC 6

1.4 OSI网络参考模型概览 7

1.4.1 网络分层 7

1.4.2 ISO/OSI网络参考模型 8

1.4.3 协议层如何工作 8

1.5 TCP/IP网络模型 12

1.5.1 TCP/IP网络访问层 13

1.5.2 TCP/IP网络访问层协议 13

1.5.3 TCP/IP互联网层的功能 14

1.5.4 TCP/IP互联网层协议 15

1.5.5 TCP/IP传输层的功能 16

1.5.6 TCP/IP传输层协议 16

1.5.7 TCP/IP应用层 16

1.6 TCP/IP协议、服务、套接字与端口 17

1.6.1 TCP/IP协议号 18

1.6.2 TCP/IP端口号 19

1.6.3 TCP/IP套接字 19

1.7 TCP/IP中的数据封装 19

1.8 关于协议分析 20

1.8.1 协议分析的有用规则 20

1.8.2 协议分析器的要素 21

1.8.3 将协议分析器安装在网络上 24

本章小结 25

习题 27

动手项目 29

动手项目1-1:安装Wireshark 29

动手项目1-2:启动Wireshark 30

动手项目1-3:捕获基本数据包 30

动手项目1-4:探寻基本数据包和统计信息 32

动手项目1-5:选择一个过滤器并捕获数据包 34

动手项目1-6:创建一个显示过滤器 36

动手项目1-7:查看一个完整的数据包解码 37

案例项目 37

案例项目1-1:解决小型网络中的网络连接问题 37

案例项目1-2:讨论升级到IPv6的理由 37

案例项目1-3:确定正在使用的是哪种IP协议 37

案例项目1-4:解释协议错误或广播数据流的后果 37

第2章 IP寻址及其他 38

2.1 IP寻址基础 38

2.2 IPv4寻址 40

2.2.1 IPv4地址类 40

2.2.2 网络、广播、多播及其他特殊IP地址 41

2.2.3 广播数据包结构 42

2.2.4 IPv4网络与子网掩码 44

2.2.5 IPv4子网与超网 45

2.2.6 无类域间路由 47

2.2.7 公用和专用IPv4地址 48

2.2.8 管理对IPv4地址的访问 49

2.3 获得公用IP地址 50

2.4 IPv4寻址模式 50

2.4.1 网络空间 51

2.4.2 主机空间 52

2.5 正在耗尽的IPv4地址空间 53

2.6 IPv6概述 54

2.7 IPv6寻址 55

2.7.1 地址格式与表示法 55

2.7.2 网络与主机部分 56

2.7.3 作用域标识符 56

2.7.4 接口标识符 56

2.7.5 URL中的原始IPv6地址 58

2.7.6 地址类型 58

2.7.7 地址分配 62

2.8 IPv6寻址与子网划分的因素 63

2.9 从IPv4转换到IPv6 64

本章小结 65

习题 67

动手项目 68

动手项目2-1:安装IP子网计算器程序 68

动手项目2-2:熟悉IP子网计算器软件 69

动手项目2-3:为所需IPv4子网数计算子网掩码 70

动手项目2-4:使用在线教程学习子网划分 71

动手项目2-5:查看与IPv6寻址有关的RFC文档 71

动手项目2-6:找出计算机的IPv6地址 71

动手项目2-7:访问和使用计算机的ARP表 72

案例项目 73

案例项目2-1:设计一个公司网络 73

案例项目2-2:为一个站点实现一个网络 73

案例项目2-3:设计一个IPv6地址空间 74

第3章 基本的IP数据包结构:首部与有效载荷 75

3.1 IP数据包与数据包结构 75

3.2 IPv4首部字段及其功能 75

3.2.1 版本字段 76

3.2.2 首部长度字段 76

3.2.3 服务类型字段 76

3.2.4 TOS字段的功能:差分服务和拥塞控制 77

3.2.5 总长度字段 80

3.2.6 标识符字段 80

3.2.7 标志字段 81

3.2.8 分段偏移量字段 81

3.2.9 生存时间字段 82

3.2.10 协议字段 82

3.2.11 首部校验和字段 82

3.2.12 源地址字段 83

3.2.13 目的地址字段 83

3.2.14 可选字段 83

3.2.15 填充字段 84

3.3 IPv6首部字段及其功能 84

3.3.1 版本字段 84

3.3.2 流量类型字段 84

3.3.3 数据流标签字段 85

3.3.4 有效载荷长度字段 85

3.3.5 下一个首部字段的作用 85

3.3.6 跳限制字段 86

3.3.7 源地址字段 86

3.3.8 目的地址字段 86

3.4 IPv6扩展首部 86

3.4.1 扩展首部的顺序 87

3.4.2 逐跳选项扩展首部 88

3.4.3 目的地选项扩展首部 88

3.4.4 路由扩展首部 89

3.4.5 分段扩展首部 89

3.4.6 认证扩展首部 90

3.4.7 封装安全有效载荷扩展首部和尾部 91

3.4.8 超大包 92

3.4.9 服务质量 92

3.4.10 路由器警告与逐跳选项 93

3.5 IPv6 MTU与数据包处理 94

3.6 IPv6的上层协议校验和 95

3.7 IPv6首部结构与IPv4首部结构 97

3.7.1 IPv4与IPv6首部比较 97

3.7.2 从IPv4转换到IPv6的小结 98

本章小结 99

习题 100

动手项目 103

动手项目3-1:使用Wireshark软件查看IPv4数据包首部 103

动手项目3-2:使用Wireshark软件查看IPv6数据包首部 104

动手项目3-3:在Wireshark软件中查看IPv6上层协议 106

案例项目 107

案例项目3-1:Wireshark与NetMon软件 107

案例项目3-2:解释校验和错误 107

案例项目3-3:查看IPv6的下一个首部字段 107

第4章 数据链路层与网络层TCP/IP协议 109

4.1 数据链路协议 109

4.2 点到点协议 111

4.3 帧的类型与大小 112

4.3.1 以太网帧类型 112

4.3.2 Ethernet II帧结构 113

4.4 IP环境中的硬件地址 116

4.4.1 地址解析协议与网络发现协议 116

4.4.2 ARP协议的特性与处理 117

4.4.3 NDP协议的特征与处理 123

4.5 理解IP协议 124

4.5.1 发送IP数据报 125

4.5.2 路由解析过程 126

4.5.3 IPv4与IPv6如何不同 128

4.6 IP数据包的寿命 129

4.7 分段与重组 130

4.8 服务交付选项 132

4.9 优先级 132

4.10 服务类型 132

4.11 理解IP路由 134

4.11.1 在路由表中如何存放记录 135

4.11.2 路由协议和被路由协议 136

4.11.3 为路由协议分组 136

4.12 路由特性 140

4.12.1 路由汇聚 140

4.12.2 IPv4路由机制 140

4.13 IPv6路由考虑 143

4.13.1 IPv6路由机制 144

4.13.2 IPv6中的多播侦听器发现 149

4.14 路由协议 153

4.14.1 IPv4路由协议 153

4.14.2 IPv6路由协议 160

4.15 管理内部网的路由 165

4.16 广域网上的路由 166

4.16.1 几个小型办公室 166

4.16.2 辐射型结构 167

4.16.3 多协议 167

4.16.4 移动用户 167

4.16.5 移动IP 167

4.16.6 本地区移动性 168

4.17 往返于Internet的路由 168

4.18 保护路由器和路由行为的安全 169

4.19 IP路由故障诊断 170

本章小结 170

习题 173

动手项目 176

动手项目4-1:管理本地ARP缓冲区 176

动手项目4-2:读取本地IPv4路由表 176

动手项目4-3:读取本地IPv6路由表和邻居缓冲区 177

动手项目4-4:用Wireshark软件查看IPv4和IPv6路由协议 178

案例项目 180

案例项目4-1:查看跟踪文件 180

案例项目4-2:基于跳限制值来确定IPv6数据报传输的距离 180

案例项目4-3:TCP/IP网络的QoS 180

第5章 Internet控制消息协议 181

5.1 ICMP基础 181

5.2 ICMPv4 183

5.2.1 RFC792概览 183

5.2.2 ICMPv4的首部 183

5.2.3 ICMPv4消息的类型 187

5.2.4 可变的ICMP结构和功能 190

5.3 ICMPv6 200

5.3.1 ICMPv6概述 200

5.3.2 ICMPv6消息的类型 200

5.3.3 ICMPv6首部 202

5.4 ICMPv6错误消息 202

5.4.1 目的地不可达消息 202

5.4.2 数据报太大消息 203

5.4.3 超时消息 204

5.4.4 参数问题消息 204

5.5 ICMPv6信息消息 205

5.5.1 Echo请求与Echo应答消息 205

5.5.2 路由器公告与路由器请求消息 206

5.5.3 邻居请求与邻居公告消息 207

5.5.4 重定向消息 208

5.5.5 路由器重编号消息 209

5.5.6 ICMPv4与ICMPv6消息的简单比较 210

5.6 路径MTU发现 210

5.7 ICMP测试和故障诊断顺序 211

5.7.1 使用ping进行可连接性测试 212

5.7.2 使用Traceroute进行路径发现 213

5.7.3 使用Pathping进行路径发现 214

5.7.4 使用ICMP的路径MTU发现 214

5.7.5 ICMP的路由序列 217

5.7.6 ICMPv4的安全问题 220

5.7.7 ICMPv6的安全问题 222

5.8 解码ICMP数据包 222

5.8.1 ICMPv4 222

5.8.2 ICMPv6 223

本章小结 224

习题 225

动手项目 227

动手项目5-1:在网络上使用ICMPv4 Echo请求消息ping另一个设备 227

动手项目5-2:为你的数据流构建一个过滤器 228

动手项目5-3:捕获ICMPv6 Echo请求与Echo应答数据包 229

动手项目5-4:捕获ICMPv6邻居请求与邻居公告消息 229

案例项目 230

案例项目5-1:确定默认网关设置 230

案例项目5-2:ICMPv6安全性问题 231

案例项目5-3:测试路径MTU发现 231

案例项目5-4:研究一下Jon Postel 231

第6章 IPv6的邻居发现 232

6.1 理解邻居发现 232

6.2 IPv6邻居发现协议与IPv4协议的比较 233

6.3 邻居发现消息的格式 234

6.3.1 路由器请求消息 234

6.3.2 路由器公告消息 235

6.3.3 邻居请求消息 238

6.3.4 邻居公告消息 239

6.3.5 重定向消息 241

6.4 邻居发现选项的格式 243

6.4.1 源链路层地址与目标链路层地址选项 243

6.4.2 前缀信息选项 244

6.4.3 重定向首部选项 246

6.4.4 MTU选项 247

6.4.5 公告时间间隔选项 248

6.4.6 宿主智能体信息选项 249

6.4.7 路由信息选项 249

6.5 概念主机模型 250

6.5.1 在主机上存储邻居数据 250

6.5.2 概念发送算法 251

6.6 邻居发现过程 252

6.6.1 地址解析 253

6.6.2 邻居不可达检测 254

6.6.3 重复地址检测 255

6.6.4 路由器发现 256

6.6.5 重定向 257

本章小结 260

习题 260

动手项目 263

动手项目6-1:查看ICMPv6邻居发现消息 263

动手项目6-2:创建一个过滤器,查看特定主机的邻居公告消息 264

动手项目6-3:创建一个过滤器,查看邻居公告消息,该消息是对邻居请求重复地址检测消息的应答消息 265

动手项目6-4:创建一个过滤器,查看设置了M和O标志的路由器公告消息 266

动手项目6-5:创建一个过滤器,查看具有前缀信息的路由器公告消息 266

案例项目 268

案例项目6-1:理解邻居请求和邻居公告消息 268

案例项目6-2:排除网络问题 268

案例项目6-3: 描述起始的IPv6主机通信 268

第7章 IP地址自动配置 269

7.1 理解自动寻址 270

7.2 动态主机配置协议介绍 270

7.2.1 DHCP的工作原理 271

7.2.2 租用的角色 272

7.2.3 DHCP软件部件 272

7.2.4 DHCP租用类型 273

7.2.5 DHCP租用的更多信息 274

7.3 IPv4自动配置 274

7.3.1 自动专用IP寻址(APIPA) 275

7.3.2 DHCPv4 275

7.4 IPv6自动配置 289

7.4.1 IPv6自动配置的类型 289

7.4.2 IPv6自动配置的地址的功能状态 293

7.4.3 结点网卡标识符 294

7.4.4 DHCPv6 296

7.4.5 IPv6自动配置过程 305

7.5 Microsoft Windows操作系统中的自动配置 308

7.6 Microsoft Windows 2008的DHCP范围 308

7.7 创建一个简单的DHCP服务器 309

7.8 DHCP故障诊断 314

本章小结 316

习题 317

动手项目 319

动手项目7-1:查看DHCP启动序列 319

动手项目7-2:查看DHCP更新、重新绑定和重新初始化序列 320

动手项目7-3:查看DHCPv6启动序列 320

动手项目7-4:查看和管理DHCP与DHCPv6租借信息 321

案例项目 322

案例项目7-1:DHCP设计与实现 322

案例项目7-2:静态与动态IPv4地址问题 322

案例项目7-3:解决DHCP地址问题 322

案例项目7-4:DHCPv6设计与实现 322

第8章 IP网络中的名称解析 323

8.1 理解名称解析的基础 323

8.2 网络名称解析协议 324

8.2.1 TCP/IP上的NetBIOS 324

8.2.2 WINS 325

8.2.3 DNS 327

8.2.4 LLMNR 328

8.3 IPv4网络中的名称解析 329

8.3.1 DNS数据库结构 330

8.3.2 DNS名称空间 331

8.3.3 DNS数据库记录 332

8.3.4 委托DNS授权 333

8.3.5 DNS服务器的类型 333

8.4 域名服务器的工作原理 335

8.4.1 递归查询 336

8.4.2 迭代或非递归查询 336

8.5 DNS缓存的重要性 337

8.6 DNS配置文件和资源记录格式 338

8.6.1 授权开始记录 338

8.6.2 地址和别名记录 340

8.6.3 将地址映射为名称 341

8.7 IPv6网络中的名称解析 342

8.7.1 IPv6的DNS 343

8.7.2 源地址与目的地址选择 345

8.7.3 源地址选择算法 346

8.7.4 目的地址选择算法 347

8.7.5 使用地址选择 349

8.8 Windows操作系统对名称解析的支持 351

8.8.1 主机文件 351

8.8.2 DNS解析器 352

8.8.3 DNS服务器服务 354

8.8.4 DNS动态更新 355

8.8.5 源地址与目的地址选择 356

8.8.6 LLMNR支持 358

8.8.7 使用ipv6-literal.net名称 359

8.8.8 对等体名称解析协议 360

8.9 解决名称解析问题与失败的故障 362

8.9.1 故障的常见原因 362

8.9.2 解决NetBIOS与WINS问题的工具 363

8.9.3 解决DNS问题的工具 363

8.9.4 nbtstat 364

8.9.5 netstat 365

8.9.6 nslookup 365

本章小结 368

习题 370

动手项目 372

动手项目8-1:作用于DNS解析器缓存 372

动手项目8-2:使用DNS动态更新来设置Windows 7 373

动手项目8-3:把IPv6地址转换为一个ipv6-literal.net名称 373

动手项目8-4:捕获并查看你的DNS数据流 374

动手项目8-5:安装DNS服务器软件并配置查找区域 375

动手项目8-6:创建其他区域 377

案例项目 377

案例项目8-1:收集IPv6地址数据以配置名称服务器 377

案例项目8-2:请解释一下只用于缓存的服务器的使用 378

案例项目8-3:理解在网络基础设施中所需要的最少DNS服务器数量 378

第9章 TCP/IP传输层协议 379

9.1 理解UDP与TCP 379

9.1.1 IPv4与IPv6上的UDP 380

9.1.2 IPv4与IPv6上的TCP 381

9.2 UDP 383

9.2.1 UDP首部字段和功能 384

9.2.2 UDP端口号与进程 386

9.2.3 UDP与IPv6 387

9.3 TCP 388

9.3.1 TCP与IPv4 388

9.3.2 TCP与IPv6 403

9.4 UDP、TCP与IPv6扩展首部 404

9.5 在TCP和UDP之间做出选择 405

本章小结 406

习题 407

动手项目 409

动手项目9-1:查看UDP首部结构 409

动手项目9-2:查看IPv4与IPv6的TCP首部 410

动手项目9-3:查看TCP握手进程 411

案例项目 412

案例项目9-1:使用Wireshark软件清查网络 412

案例项目9-2:发现动态端口号 412

案例项目9-3:TCP窗口大小问题 412

案例项目9-4:理解重复ACK 413

第10章 从IPv4转换到IPv6 414

10.1 IPv4与IPv6如何相互作用 414

10.1.1 双重栈技术 415

10.1.2 通过IPv4云的隧道技术 415

10.1.3 采用IPv6的进展 416

10.1.4 转换到IPv6的实际问题 416

10.1.5 互操作性 416

10.1.6 网络元素 417

10.1.7 软件 417

10.1.8 从Windows的角度看IPv6转换 418

10.1.9 可用性 418

10.1.10 下一步的工作 419

10.2 IPv4/IPv6混合网络与网络结点 419

10.2.1 基本的混合网络模型 419

10.2.2 嵌套的混合网络模型 420

10.2.3 真实的混合网络模型 420

10.3 IPv6转换地址 422

10.4 IPv4/IPv6转换机制 423

10.4.1 用于IPv4与IPv6的双重栈协议 423

10.4.2 双重IP层体系结构 424

10.4.3 双重栈体系结构 424

10.4.4 双重体系结构与隧道技术 425

10.4.5 IPv6-over-IPv4隧道技术 425

10.4.6 DNS基础设施 426

10.5 IPv4与IPv6混合的隧道配置 427

10.5.1 路由器到路由器的隧道配置 427

10.5.2 主机到路由器与路由器到主机的隧道配置 428

10.5.3 主机到主机的隧道配置 429

10.5.4 隧道技术的类型 429

10.6 ISATAP隧道技术 430

10.6.1 ISATAP概述 430

10.6.2 ISATAP的组件 431

10.6.3 ISATAP结点的路由器发现 432

10.6.4 ISATAP寻址与路由 432

10.6.5 ISATAP的通信 434

10.6.6 配置一台ISATAP路由器 435

10.7 6to4隧道技术 437

10.7.1 6to4概述 437

10.7.2 6to4的组件 438

10.7.3 6to4寻址与路由 438

10.7.4 6to4通信 439

10.7.5 ISATAP与6to4一起使用 440

10.8 Teredo隧道技术 441

10.8.1 Teredo概述 441

10.8.2 Teredo的组件 441

10.8.3 Teredo寻址与路由 442

10.8.4 Teredo的处理过程 443

本章小结 445

习题 447

动手项目 449

动手项目10-1:查看ISATAP网络中的数据流 449

动手项目10-2:查看6to4捕获文件 451

动手项目10-3:查看一个Teredo捕获文件和路由器请求数据包 452

案例项目 453

案例项目10-1:准备一个网络,进行IPv4-to-IPv6转换技术部署 453

案例项目10-2:配置要使用Teredo的Windows 7客户端 453

案例项目10-3:绘制ISATAP封装首部 453

第11章 部署IPv6 454

11.1 理解IPv6部署 454

11.2 规划IPv6部署 455

11.2.1 成功准则 456

11.2.2 体系结构的决策 456

11.2.3 迁移与转换技术 462

11.2.4 要完成的任务 467

11.3 部署和使用IPv6 471

11.3.1 构建一个IPv6测试/示范网络 472

11.3.2 开始迁移应用程序 473

11.3.3 把只支持IPv4的主机升级到支持IPv4/IPv6 473

11.3.4 使用6to4创建一个隧道式的IPv6环境 476

11.3.5 使用ISATAP创建一个隧道式的IPv6环境 477

11.4 探讨一些网络管理任务 479

本章小结 480

习题 481

动手项目 483

动手项目11-1:探索路由服务器 483

动手项目11-2:探索IPv6配置 485

案例项目 486

案例项目11-1:创建一个测试实验网络 486

案例项目11-2:创建一个迁移规划 486

第12章 构建安全的TCP/IP环境 487

12.1 理解网络安全性基础 487

12.2 IP安全的原则 488

12.3 常见的TCP/IP攻击、探测与入侵 489

12.3.1 主要术语 489

12.3.2 TCP/IP的主要弱点 490

12.3.3 灵活性与安全性 490

12.4 与IP有关的常见攻击类型 491

12.5 哪些IP服务最易受攻击 492

12.6 IP攻击的各个阶段 494

12.6.1 侦探与发现 494

12.6.2 攻击阶段 495

12.6.3 掩盖阶段 495

12.7 详论常见攻击与入侵点 496

12.7.1 病毒、蠕虫与特洛伊木马程序 496

12.7.2 广告软件与间谍软件 496

12.7.3 拒绝服务攻击 496

12.7.4 分布式拒绝服务攻击 496

12.7.5 缓冲区溢出或过载 497

12.7.6 欺骗 497

12.7.7 TCP会话劫持 498

12.7.8 网络嗅探 498

12.8 维护IP安全性 499

12.8.1 应用安全补丁与修复 499

12.8.2 知道要堵住哪些端口 501

12.8.3 使用IPSec 501

12.8.4 保护网络外设 502

12.8.5 实现防火墙 505

12.8.6 在IP安全中IDS与IPS的作用 506

12.9 蜜罐与蜜网 507

本章小结 507

习题 508

动手项目 510

动手项目12-1:在Wireshark中查看本地扫描 510

动手项目12-2:在Wireshark中查看端口扫描 511

动手项目12-3:在Wireshark中堵住端口 511

动手项目12-4:在Wireshark中查看数据流来自的端口号 512

案例项目 512

案例项目12-1:防火墙过滤器 512

案例项目12-2:防火墙研究、规划与实现 513

附录A 学生与教师在线资源 514

术语表 516

返回顶部