TCP/IP是支持互联网运行的一套协议的总称,TCP和IP是该协议族中的两个核心协议,这也正是将TCP/IP作为该协议族名称的原因。
TCP/IP作为现代网络运行的基础协议,学习、理解和深入掌握TCP/IP,将会提高我们的网络应用程序开发能力,夯实网络管理的基础,增强对网络取证的理解,以及方法的创新,提高网络安全意识,增强网络分析能力。总之,TCP/IP是研究和应用现代网络必不可少的知识,也是从事这方面工作的基石。
本书深入介绍了所有影响着TCP/IP的重要模型、协议、服务以及标准,它们影响着TCP/IP在现代网络上的行为。本书采用理论与实践相结合的方法,利用各种网络工具(如Wireshark),通过捕获网络上的真实数据包,把数据包的内部结构以可视化的形式详细分解,让读者能够以直观的方式探索TCP/IP的精髓。此外,通过每章末尾的习题、动手项目和案例项目,深化读者对关键概念的理解,掌握常见网络管理和监视工具的运用。
这是本书的第4版了。本书的翻译工作远远超出了我们的预期。除第1章外,其余各章都进行了大幅度的修订,以跟上网络协议的发展,从第3版的重心IPv4,转向了IPv6的介绍,尤其第11章和第12章的内容是全新的。第11章介绍了部署IPv6应考虑的各种需求和各种因素,以及从IPv4转移到IPv6的各种技术选择,以及在这个过程中可能会遇到的各种问题。第12章则介绍了构建安全IP网络环境需要了解的内容,以及各种安全工具的使用。因此,本书不仅兼顾了网络协议的基础知识,而且还紧跟技术的前沿发展。总之,这是一本让读者尽快掌握TCP/IP的相关知识、并将其运用到现实生活中的教科书,同时它也为读者深入探索TCP/IP提供了空间和 途径。
本书由金名、张长富主译,常颖中、陈河南、陈洁荣、陈征、陈卉、陈宗斌、单树倩、邓建松、丁梦桐、戴君、葛秀慧、贺军、胡嵬、黄达明、李飞、李健安、李宁、历旭杰、陆天波、马宏华、马金山、毛莺池、乔健、金光毅、秦忠、邱海艳、邱仲潘、宋彬、孙赫雄、孙丽、孙溢泽、索依娜、田志刚、王帅、王宇龙、王玉玲、王炜、魏明军、谢淘、徐晓蕾、殷小俊、于海泳、张海清、张海涛、张李新、赵远峰、郑朦、郑旭、周成兴、朱洪等人也参与了本书的翻译工作,在此一并表示感谢!
由于水平有限,如有不妥之处,恳请读者指正。
欢迎阅读本书第4版!TCP/IP为Transmission Control Protocol/Internet Protocol(传输控制协议/网际协议)的缩写,它定义了一组宽泛的、使得Internet能像我们今天所看到的那样发挥功能的协议和服务。在介绍TCP/IP的过程中,本书向你提供现实的示例、交互示例以及大量的动手项目,它们强化了关键概念,并传授重要监视和管理工具的用法。本书还包含了丰富的协议跟踪或解码案例,它们将帮助你理解网络上的TCP/IP看起来是什么样、它是如何工作的。
本书深入介绍了所有影响着TCP/IP的重要模型、协议、服务以及标准,它们影响着TCP/IP在现代网络上的行为。在整部书中,我们提供了强化每一章所引入概念的突出问题,以及帮助读者掌握与TCP/IP交互。除复习题外,本书还提供了详尽的动手项目,它们提供了在网络上安装、配置、使用和管理TCP/IP的第一手经验。最后,为了把每一章介绍的概念应用到现实中,还给出了案例项目,提出了要讨论的问题,并要求读者针对现实网络面临的各种情形提出创造性的解决方案。
读者对象
本书旨在服务于有志深入学习TCP/IP网络的个人,以及从事信息系统管理的专业人士。这些材料经过专门设计,让读者成为管理使用TCP/IP的网络基础设施——或者仅仅使用它的协议套件,或者与其他协议套件一起使用——的主动要素。学完整本书的读者应该能够精细地认识、分析以及诊断和解决各种TCP/IP网络问题和现象。
本书内容
第1章“TCP/IP引论”,描述了TCP/IP能力的大致轮廓,明确了它的最重要组成元素——也就是说,TCP/IP提供的协议和服务。此外,它也考察了用于组网的开放系统互连(Open System Interconnection,OSI)参考模型,该模型由国际标准化组织标准化,本章也将这个标准模型与TCP/IP支撑模型进行了比较和对比。之后,本章介绍了称之为“请求注释”(Request for Comment,RFC)标准文档的结构和起源,这些文档描述和控制了TCP/IP协议、服务以及事件。最后,本章包含了在本书后面部分发挥重要作用的关键工具的概览——这是一个称为协议分析器的软件实用程序,它捕获、拆包
以及显示网络流量的内容,包括TCP/IP流量的内容。在本书中使用的是Wireshark协议分析器。
第2章“IP寻址及其他”,介绍管理唯一IP地址(包括32位IPv4和128位IPv6地址)所涉及的错综复杂关系。以解剖数字IPv4地址作为开端,这一章考察了IPv4地址类,特别是广播与多播地址、子网与超网等特殊情况,并且评论了为什么会存在无类IPv4地址、公用与专有IPv4地址以及IPv4寻址模式。这一章的其余部分介绍了IPv6,包括地址格式与表示方法、地址形式与类型,以及地址分配。此外,还介绍了寻址模式和子网划分因素,以及讨论如何管理从IPv4转换到IPv6地址。
第3章“基本IP数据包结构:首部与有效载荷”,介绍IP数据包(IPv4和IPv6)的主要组成部分:首部描述了用于数据包路由、转发和过滤等的信息,有效载荷包含了数据包要传输的数据。本章介绍了IPv4和IPv6首部的结构,并进行了详细介绍,此外还介绍了IPv6扩展首部,以及传输与数据包处理控制的使用。本章最后把IPv4与IPv6的首部结构进行了对比,以阐述IPv6进行了哪些重新设计和修改。
第4章“TCP/IP的数据链路和网络层协议”,描述了运行在OSI参考模型的数据链路层和网络层上的TCP/IP协议。在这个语义环境中,讨论了一般意义上的数据链路层协议,考察了IP帧类型,并议论了IP环境中的硬件地址,以及支持其使用的各种协议——特别是IPv4的ARP和RARP,以及IPv6的NDP(Neighbor Discovery Protocol,邻居发现协议)。本章还涵盖了网络层的最重要TCP/IP协议——网际协议,以及IPv4和IPv6的路由协议、路由机制与路由特点,包括RIPv1与RIPv2、OSPF、EIGRP和BGP,并介绍了针对IPv4和IPv6协议和行为要考虑的因素。
第5章“Internet控制消息协议”,介绍了TCP/IP的关键网络层协议:其任务是将有关IP流量的状态和出错消息传递给其发送者以及传递给“其他感兴趣设备”,比如路由器或交换机。本章首先介绍了ICMPv4和ICMPv6的结构和功能,然后考察了ICMP测试和故障诊断方法、安全问题、ICMP消息类型和代码,最后介绍了ICMP和解码ICMP数据包的完整测试和故障诊断方法。
第6章“IPv6的邻居发现”,介绍NDP,以阐述在IPv6网络上邻居发现是如何工作的,内容包括NDP与IPv4相关协议的对比,各种NDP消息格式与选项,以及IPv6网络上的整个邻居发现过程。
第7章“IP地址自动配置”,介绍使用在IPv4和IPv6网络上的各种自动寻址模式和机制,包括动态主机配置协议(Dynamic Host Configuration Protocol,DHCP),以及用于IPv4的自动配置机制(APIPA和DHCP)和用于IPv6的自动配置机制(主机/网卡地址确定、无状态与有状态地址自动配置,以及DHCPv6)。
第8章“IP网络中的名称解析”,介绍用于把人类可读的网络名称和地址符号解析为机器可理解的网络地址的主要服务,内容包括名称解析基础,以及各种网络名称解析协议。本章详细介绍了IPv4和IPv6名称解析与域名服务(Domain Name Service,DNS),以及Windows操作系统支持的名称解析,包括设置、配置故障诊断和相关实用工具等内容。
第9章“TCP/IP的传输层协议”,介绍运行在OSI参考模型传输层上的两个关键协议——重型的、健壮的、可靠的传输控制协议(TCP),以及轻型但速度更快的用户数据报协议(UDP)。本章详细介绍了TCP,尤其是其数据包结构和功能(包括TCP的IPv6扩展首部),并简要介绍了UDP。本章最后介绍了这两个协议的常见用法。
第10章“从IPv4转换到IPv6:互操作性”,介绍当在同一个网络上IPv4与IPv6共存在时,需要处理的问题和应用的技术,在可预见的将来,很多网络肯定将面临这种情况。本章介绍了IPv4与IPv6进行交互的方式,阐述了IPv4/IPv6混合网络和结点类型,探讨了使从IPv4到IPv6的转变尽可能简单的地址转换与交换机制。本章还详细介绍了信道机制和协议,包括ISATAP、6to4和Teredo。
第11章“部署IPv6”,介绍了Internet专业人员最感兴趣的领域,也就是在现代的 TCP/IP网络上理解、规划、部署和使用IPv6。本章内容包括评估潜在的软件和硬件更改、寻址模式与自动寻址,以及针对不同类别或类型的网络服务的优先级模式。
第12章“构建安全的TCP/IP环境”,介绍了网络安全基础,特别强调了IP安全问题。本章还介绍了一些关键主题,包括外围安全、基础设施安全以及主机设备安全。
本书最后给出了一个附录A,介绍了本书配套网站上提供的所需软件和跟踪文件,而且,该网站还提供了如下内容(不止这些):
* 本书提到过的重要RFC列表,以及有关IPv6的RFC。
RFC是一个动态的文档集,因此,任何时候列出的列表,都只是体现当时的情况。关于最新的文档和标准,请访问在线RFC。
* 用于Windows桌面或Windows服务器环境下的与TCP/IP有关的命令行实用工具 列表。
* 在本书图表中使用到的Windows桌面或Windows服务器的注册表设置。
本书特点
为了确保成功的学习体验,本书包含了下述教学特点。
* 本章内容:本书中的每一章都以该章必须掌握的关键观念的列表作为开始。这个列表向提供了该章内容的快速参考以及有用的学习辅助。
* 图示及表格:大量服务器屏幕和部件的图示以可视化的形式展示了常见设置步骤、理论与概念,帮助读者学习。此外,许多表格提供了实践和理论的细节和对比,可用于快速浏览主题。本书还包含了来自IPv4和IPv6的大量协议跟踪。由于这两种协议在格式上不同,因此,它们的跟踪文件也稍微有所不同,但它们或多或少都提供了一些相同的信息,只有一些微小的差别。
* 章末材料:每一章的末尾包含了下述特点来巩固本章介绍的材料:
* 小结:提供了一个符号列表,给出了简明但完整的本章小结。
* 习题:一系列习题,测试对该章最重要概念的掌握。
* 动手项目:动手实践项目帮助应用该章学习的知识。
* 案例项目:案例带着你见识现实世界的场景。
* 学生和教师在线资源:在本书配套网站上,提供了一些压缩文件,包含完成本书的动手项目所需的跟踪(数据)文件和软件(Wireshark for Windows、Bitcricket IP Subnet Calculator)。此外,还有关于简易网络工具和实用程序的文档说明。本书的学生和教师资源可从www.cengage.com访问。
教师资源
当本书用于课堂教学时,下述补充材料可用。所有可用于本书的补充材料请与longqm@tup.tsinghua.edu.cn联系。
致谢
衷心感谢Course Technology公司提供机会修订这本涵盖IPv6的教材。我们衷心感谢他们的耐心和宽容,特别是我们的组稿编辑Nick Lombardi;产品经理Natalie Pashoukos;内容项目经理Brook Baker;以及负责书稿质量保证的技术编辑Susan Pedicini。感谢优秀的开发编辑Kent Williams,其深入和细致入微的工作使这些材料成了现在看到的这种优雅形式。
也衷心地感谢协助将本书变为成果的幕后作者团队,如Tom Lancaster(撰写了第11章),特别是James Pyles,他对好几章进行了修订,并增加了大量有关IPv6的新内容。感谢Kim Lindros和Mary Kyle,他们以主人翁的责任感加入到了本项目的管理中。
Jeff Carrell:有了上帝的帮助,任何事情都有可能。感谢我的妻子、也是我最好的朋友Cynthia的关爱、鼓励和忍耐,真心感谢在我的生命中有你。感谢我们的朋友和同事,为我提供素材和鼓励。感谢Ed Tittel为我提供这个机会、鼓舞和指导。这是一个巨大、令人兴奋又令人生畏的项目。感谢Kim Lindros和Mary Kyle,他们推动我们不断前进。很难想象,没有你们,我不可能完成本书。最后,感谢James Pyles和Tom Lancaster,他们对本书内容进行了更新,并补充了很多新内容,没有你们,也不可能完成本书。
Ed Tittel:感谢Jeff Carrell接手成为本书第4版的第一作者,并负责本书第4版的结构设计,感谢James Pyles和Tom Lancaster帮助我们提供新内容和练习。同样,再次感谢Kim Lindros和Mary Kyle,他们使得本书比预计的容易完成得多。最后,感谢我亲爱的妻子Dina和儿子Gregory,他们给我带来了无数的快乐和幸福。
Laura Chappell:特别感谢Ed Tittel和Jeff Carrell,感谢他们对本书的热情和出色写作。感谢James Pyles和Tom Lancaster对本书的大量技术贡献——没有他的帮助,本书不可能在这么短的时间内完成。此外,衷心感谢Kent Williams和Kim Lindros对本项目的推动。最后,把我最衷心的感谢送给我的孩子,Scott和Ginny,他们给我带来了欢笑和快乐。
James Pyles:感谢给我机会为本书第4版进行更新。特别感谢Ed Tittel和Kim Lindros邀请我参加进这个项目。我也非常感谢Jeff Carrell,使得我很高兴坐下来学习神秘的IPv6。还要感谢Mary Kyle优秀的管理技巧和无尽的耐心,感谢Tom Lancaster对本书无价的奉献。感谢我的妻子Lin的大力支持。
欢迎读者通过E-mail给我们发送有关本书的评论、问题和建议:
tcpip4e@networkconversions.com
开始之前阅读
致用户
本书应按顺序从头读到尾。每一章都构建在前一章提供的、对TCP/IP概念、协议、服务以及部署实践的坚实理解上。也鼓励读者研究本书中引用的在线和印刷资源。
本书的某些章节要求额外的材料来完成章节末尾的项目。本书配套的学生和教师网站包含了必要的补充文件。要下载这些资源,可以访问网站www.cengage.com,或与清华大学出版社联系:longqm@tup.tsinghua.edu.cn。
该网站包含了:
* 完成动手项目所需的软件,包括Bitcricker IP Calculator和Wireshark for Windows协议分析器。
* 指向完成动手项目所需学生数据文件(本书中称为“跟踪”或“数据包”文件)的链接。
* 一些章节的其他资源。
本书使用的是流行的Wireshark协议分析器。动手项目中用到的Wireshark版本可以从本书配套网站下载。读者也可以从Wireshark网站下载最新版本:www.wireshark.org。
致指导老师
在构建教学实验室时,应确保每一台工作站都安装了Windows Vista或Windows 7专业版、Internet Explorer 9或更新版本,以及一块能够以混杂模式工作的网卡(NIC)。在学习本书时,学生将在这些计算机上安装Wireshark、Bitcricker IP Subnet Calculator。此外,学生将需要有工作站的管理权限,以便完成本书中动手项目中包含的操作。对于少数项目来说,学生还需要访问Windows Server 2008 R2。
应对Web的修改
本书中的一些Web链接迟早会过期或被更新的信息取代。在这种情况下,请查看本书配套网站上的链接。绝大多数大型或复杂Web网站(Microsoft既是大型的又是复杂的网站)都提供了搜索引擎。只要你能够访问这些网站,就可以使用这些工具帮助你寻找所需的 东西。
最后,可以按自己的习惯随意使用通用搜索工具,比如www.google.com、www.bing.com、www.yahoo.com——来寻找与本书主题相关的信息。例如,尽管某些标准组织在线提供了有关其标准的最精确和最专业的信息,但依然还有该领域第三方的丰富资源,包括信息、培训以及辅助,它们并不像标准化组织那样遵从通常政治路线。最差的情况是,如果你找不到本书所说的某些内容,那么就去查找它。总能在某个地方找到它们。如果你自己找到了,那么请给tcpip4e@networkconversions.com发送一封电子邮件,我们将尽最大努力立即更新配套网站。此外,你将会在知道了你这样做,是帮助所有使用本书的教师和学生时得到满足。
实验要求
下面是为完成各章末尾项目所推荐的硬件和软件要求:
* 1G或更高的CPU,2GB内存、80GB硬盘空间,至少2GB的可用存储空间。
* CD-ROM驱动器。
* 连接到LAN上以混杂模式运行的网卡。
* Windows Vista或Windows 7 专业版(Service Pack 1或更高版本)以及Internet Explorer 9或更高版本。
* 已经安装和配置可以为TCP/IP访问的Windows Server 2008 R2系统。必须有静态或者通过DHCP分配的IP地址。
* Internet访问。