前 言 为什么写本书 网络工程师每天都面对巨大的挑战。服务器可能崩溃,广域网链路可能达到饱和,或者由于某些未知的原因应用程序的性能变得像爬虫蠕动般缓慢,这些都导致了网络工程师和应用程序开发人员毫无根据地相互指责。当问题发生时,如果没有适当的工具和培训,网络工程师通常不得不问:为什么用户得不到DHCP地址?为什么用户不能登录到服务器?甚至还有更令人厌烦的问题:为什么网速这么慢?在所有这些混乱中,上层管理人员也经常要问:为什么这些问题没有得到解决?大部分的大型网络基础结构在其配置中都有综合故障检修工具,但是他们通常在错误的工作中选用了错误的工具。如何才能最好地使用配置中的工具和自己的网络知识来快速、果断地解决网络基础结构中的问题?本书内容就是对这个问题的解答。 作者写这本书就是为了前面提到的网络工程师。我们十分尊敬他们,他们是实干家,是他们使网络正常运行,而当网络不能运行时又是他们最先得到通知。在我们支持台式计算机、服务器及大型复杂网络基础结构的十多年经验中,我们得到一个结论:最好的网络工程师就是那些能真正解决疑难故障的人。 那些善于解决故障的人通常都是顽强的和有求知欲的。这两种品质可以使这些人整晚不睡觉去尝试着解决一些故障。他们知道答案就在某个地方等待着他们去揭示,而他们也一直顽强地钻研,直到他们找到答案为止。那些真正有求知欲的人很可能读了许多关于TCP/IP协议的好书,其中包括W.Richard Stevens的TCP/IP Illustrated(Addison-Wesley,1994年1月出版)和Douglas Comer的Internetworking with TCP/IP(Prentice Hall 2000年1月出版)这两本书。迄今为止,这些书仍是了解TCP/IP的标志性书籍,但是这些书主要集中于理论而缺乏实际的例子(当然,我们仍然建议每一个分析员自己的书架要有这两本书)。我们找出协议中最重要的概念并将它们应用于网络分析员在TCP/IP网络中遇到的最常见的故障中,以此来填补以上两本书与实际应用之间的差距。为了满足读者进一步的求知欲望,对于那些对复杂细节及协议内部操作有兴趣的读者,我们还提供了附录A,附录A中有对此进行进一步详述的站点。 本书的目的就是为读者提供成功维护现实网络中的协议所必需的信息。由于TCP/IP是现在最通用的协议,因此就很容易决定整本书都集中于TCP/IP的分析和TCP/IP故障诊断方法。作者试图介绍一些可帮助您掌握理解并诊断与TCP/IP协议相关问题的知识,而不是一本有很多复杂和通俗细节的书。 您很快就将认识到这本书中的很多例子都是针对Cisco或Microsoft公司产品的。因为这两个供应商的产品是目前使用最普遍的,所以作者选用了和它们系统相关的例子。这些例子决不是Cisco或Microsoft公司所特有的,在绝大多数的示例中,可以将书中的例子应用到任何一个供应商的硬件或软件上。特定的例子则应用于某个标注的供应商。顺着这条线,您会注意到在例子中提到和使用了许多分析工具。工具的类型不是最重要的,只要它能提供所必须或所描述的功能就行。 对技术的理解是最重要的,同时这也是这本书着重介绍的内容。 本书读者对象 虽然本书提供了网络分析技术和TCP/IP协议的简介,但此书并不是针对初学者的。读者对OSI模型需要有一个基本的理解,对运行TCP/IP的服务器操作系统也要有一定的管理经验。 很多已经熟悉协议的高级读者将能够从每章的示例研究中得到更多的收获。本书将帮助您成为一个更加出色的网络分析员。如果您是一位网络管理员并渴望对客户机和服务器之间的通信有更多的了解,那么本书可以作为一个好的起点。如果您已经熟悉路由器和交换机的配置,那么本书将教会您配置命令中的技巧,教会您打破常规的思考方式。 本书介绍各种技巧以及如何在配置中以最佳方式使用工具来保持网络的平稳运行。 本书的组织结构 本书分成三个部分 ● 第Ⅰ部分:网络分析基础。将回答“为什么要进行协议分析”以及“应该使用什么工具”等问题。该部分解释了捕获和操作跟踪文件的过程。同时对OSI模型和网络通信的基本概念进行了复习,复习这些知识有助于您学习后面的章节。 ● 第Ⅱ部分:核心协议。建立了理解这些核心协议的基础,TCP/IP正是基于这些核心协议而构建的。正是这些协议为应用层的其他所有协议提供了支持。 ● 第Ⅲ部分: TCP/IP相关协议。通过揭示实现标准协议和供应商无关协议的内部工作原理来扩展对它们的了解和研究。该部分详细分析了域名系统(Domain Name System,DNS)、超文本传输协议(Hypertext Transport Protocol,HTTP)以及文件传输协议(File Transport Protocol,FTP)等应用程序,并且深入研究了Microsoft公司的TCP/IP实现,其中包括了服务器消息块协议(Server Message Block Protocol)。 每章都补充了很多来自实际网络中的例子和示例研究。 这些例子和示例研究用来说明如何应用所讨论的知识和技术。 工具 本书使用了几个不同的分析工具来阐明故障诊断的例子。然而理解这些例子不必掌握这些工具,查看合作中网站的跟踪文件时需要用到这些工具。网站会指导您下载Ethereal协议分析仪的免费版本,该软件用于查看跟踪文件。 合作网站 本书的合作网站包括了诸如RFC(Request for Comment,请求注解)和IETF (Internet Engineering Task Force,Internet工程任务组)制定的标准协议,还包括了与本书讨论的协议相关的其他资源。该网站还包括了本书中大部分例子的在线视频和示例研究中的跟踪文件,您可以自己加载和检查这些内容。最后,它还提供了网络分析员的工具包中所必需的几种共享软件和免费软件。如果需要了解该网站的更多信息,请参见附录A。