TCP/IP是Internet和企业通信网络的中枢,在近十年中变得更加复杂。如果您是一位网络专业人员,要适应这种复杂性,就需要在新的层次上对网络问题进行故障诊断——使用一些大多数书本上没有介绍过的解决方法。本书从TCP/IP协议的角度讲述了如何分析和解决故障。KevinBurns提供了对TCP/IP和相关协议的具体分析,并且以他在实际网络环境中遇到的问题为示例阐述了解决方法。
本书重点讲述了实际的解决方法,教您处理下列问题:
● 选择正确的方法或工具进行问题诊断
● 正确地配置协议分析仪宋捕获需要的数据
● 使用OSI模型分别从底层到问题发生的层次进行故障诊断
● 分析TCP/IP协议包的核心协议,以理解它们的作用和它们之间的相互关系
● 度量网络性能并将这些标准应用于问题解决的过程中
● 解释TCP/IP报文解码并根据所得信息果断地确定实际的解决方法
第1部分网络分析基础
第1章协议分析导论
1.1网络通信简史
1.2OSI解决方案
1.2.1定义层
1.2.2各层的协议分析
1.2.3总结
1.3TCP/IP的历史
1.4本章小结
第2章分析工具与分析方法
2.1网络管理工具回顾
2.1.1按功能对网络管理工具分类
2.1.2按功能的执行方式对网络管理工具分类
2.2解决问题的工具——协议分析仪
2.2.1为什么要进行协议分析
2.2.2协议分析仪的功能
2.2.3配置并使用分析仪
2.2.4分析提示
2.3本章小结
第11部分核心协议
第3章网际协议内部运行机制
3.1回顾第2层通信
3.1.1多路复用
3.1.2差错控制
3.1.3寻址
3.1.4示例研究:NetBEUI通信
3.1.5第2层通信网络的局限
3.2网络层协议
3.3网际协议寻址
3.3.11P寻址
3.3.2保留寻址
3.3.3类别寻址
3.3.4无类寻址
3.41P通信
3.4.1地址解析协议(ARP)
3.4.21P路由选择
3.51P报文格式
3.5.1版本
3.5.2报文头长
3.5.3服务类型
3.5.4数据报长
3.5.5段1D
3.5.6分段标志
3.5.7段偏移
3.5.8生存期
3.5.9协议
3.5.10报头校验和
3.5.11源端IP地址
3.5.12目的端IP地址
3.5.13选项
3.5.14数据
3.5.15示例研究:TTL过期
3.5.16示例研究:本地路由选择回顾
3.61Pv6简介
3.6.11Pv6报文头
3.6.21Pv6地址格式
3.6.31Pv6的其他变化
3.7本章小结
第4章网际控制报文协议
4.1网络的可靠性
4.1.1面向连接的网络与无连接网络
4.1.2反馈
4.2对ICMP的研究
4.2.11CMP报文头
4.2.21CMP类型与代码
4.2.31CMP报文细节
4.2.4使用ICMP进行网络诊断
4.3本章小结
第5章用户数据报协议
5.1传输层回顾
5.2UDP报文头
5.2.1源端口
5.2.2目的端口
5.2.3UDP长
5.2.4UDP校验和
5.2.5数据
5.3UDP通信过程
5.4UDP通信示例研究
5.4.1名字解析服务
5.4.2路由选择信息协议
5.4.3简单网络管理协议
5.4.4UDP与防火墙
5.4.5路由跟踪警告
5.5本章小结
第6章传输控制协议
6.1TCP简介
6.1.1可靠传输协议的要求
6.1.2TCP报文头
6.1.3TCP实现
6.2TCP连接管理
6.2.1TCP连接打开
6.2.2TCP连接关闭
6.2.3半关闭
6.2.4TCP重置
6.3TCP通信量管理
6.3.1数据排序和确认
6.3.2TCP重传
6.3.3延迟确认
6.3.4Push标志
6.3.5TCP滑动窗口
6.3.6慢启动和避免拥塞
6.3.7Nagle算法
6.3.8数据保护
6.3.9TCP专家诊断
6.4TCP应用程序分析
6.4.1TCP与吞吐量
6.4.2TCP的高性能扩展
6.5本章小结
第III部分TCP/P相关协议
第7章上层协议
7.1上层协议简介
7.L1分析上层协议
7.1.2本章目标
7.2域名系统
7.2.1DNS数据库
7.2.2DNS消息格式
7.2.3使用NSLookup
7.2.4名字服务器
7.2.5资源记录
7.2.6分析DNS
7.3文件传输协议
7.3.1FTP命令和响应
7.3.2示例研究:主动传输故障
7.3.3示例研究:被动传输故障
7.3.4示例研究:通过防火墙的FTP故障
7.3.5示例研究:回顾FTP传输故障
7.4超文本传输协议
7.4.1HTTP请求
7.4.2HTTP响应
7.4.3HTTP报文头和消息
7.4.4高速缓存控制报文头
7.4.5HTTP代理
7.4.6测量代理延迟
7.4.7分析高级Web体系结构
7.4.8示例研究:Web站点故障
7.5简单邮件传输协议
7.6本章小结
第8章与Microsoft公司相关的协议
8.1动态主机配置协议
8.1.1DHCP报文头
8.1.2DHCP处理
8.1.3DHCP消息
8.1.4DHCP选项
8.1.5DHCP租用
8.2TCP/IP上的NetBIOS
8.2.1NetBlOS名字
8.2.2NetBIOS服务
8.2.3NetBIOS操作
8.3服务器消息块(SMB)
8.3.1SMB报文头
8.3.2SMB命令
8.3.3SMB响应
8.3.4SMB操作分析
8.3.5进程间通信
8.3.6MiCrOSOn公司应用程序
8.4本章小结
附录AWeb站点上的内容
A.1系统要求
A.2Web站点上的内容
A.2.1标准和RFC
A.2.2作者提供的资料
A.2.3应用程序
A.3使用Flash视频示例
A.4故障诊断
附录BSMB状态代码
KevinBurns是Philadelphia和Pennsylvania州Tracemasters有限公司的创办者,该公司是一家专门研究网络分析和培训的咨询机构。Kevin有十多年的设计、实现和分析多协议多供应商网络的经验。另外,他还曾在多个专家讨论会和公司宣传该书中讨论的一些技术。
为什么写本书
网络工程师每天都面对巨大的挑战。服务器可能崩溃,广域网链路可能达到饱和,或者由于某些未知的原因应用程序的性能变得像爬虫蠕动般缓慢;这些都导致了网络工程师和应用程序开发人员毫无根据地相互指责。当问题发生时,如果没有适当的工具和培训,网络工程师通常不得不问:为什么用户得不到DHCP地址?为什么用户不能登录到服务器?甚至还有更令人厌烦的问题:为什么网速这么慢?在所有这些混乱中,上层管理人员也经常要问:为什么这些问题没有得到解决?大部分的大型网络基础结构在其配置中都有综合故障检修工具,但是他们通常在错误的工作中选用了错误的工具。如何才能最好地使用配置中的工具和自己的网络知识来快速、果断地解决网络基础结构中的问题?本书内容就是对这个问题的解答。
作者写这本书就是为了前面提到的网络工程师。我们十分尊敬他们,他们是实干家,是他们使网络正常运行,而当网络不能运行时又是他们最先得到通知。在我们支持台式计算机、服务器及大型复杂网络基础结构的十多年经验中,我们得到一个结论:最好的网络工程师就是那些能真正解决疑难故障的人。
那些善于解决故障的人通常都是顽强的和有求知欲的。这两种品质可以使这些人整晚不睡觉去尝试着解决一些故障。他们知道答案就在某个地方等待着他们去揭示,而他们也一直顽强地钻研,直到他们找到答案为止。那些真正有求知欲的人很可能读了许多关于TCP/IP协议的好书,其中包括W.Richard Stevens的TCP/IP Illustrated(Addison-Wesley,1994年1月出版)和DouglasComer的InternetworkingwithTCP/IP(PrenticeHall2000年1月出版)这两本书。迄今为止,这些书仍是了解TCP/IP的标志性书籍,但是这些书主要集中于理论而缺乏实际的例子(当然,我们仍然建议每一个分析员自己的书架要有这两本书)。我们找出协议中最重要的概念并将它们应用于网络分析员在TCP/IP网络中遇到的最常见的故障中,以此来填补以上两本书与实际应用之间的差距。为了满足读者进一步的求知欲望,对于那些对复杂细节及协议内部操作有兴趣的读者,我们还提供了附录A,附录A中有对此进行进一步详述的站点。
本书的目的就是为读者提供成功维护现实网络中的协议所必需的信息。由于TCP/IP是现在最通用的协议,因此就很容易决定整本书都集中于TCP/IP的分析和TCP/IP故障诊断方法。作者试图介绍一些可帮助您掌握理解并诊断与TCP/IP协议相关问题的知识,而不是一本有很多复杂和通俗细节的书。
您很快就将认识到这本书中的很多例子都是针对Cisco或Microsoft公司产品的。因为这两个供应商的产品是目前使用最普遍的,所以作者选用了和它们系统相关的例子。这些例子决不是Cisco或Microsoft公司所特有的,在绝大多数的示例中,可以将书中的例子应用到任何一个供应商的硬件或软件上。特定的例子则应用于某个标注的供应商。顺着这条线,您会注意到在例子中提到和使用了许多分析工具。工具的类型不是最重要的,只要它能提供所必须或所描述的功能就行。
对技术的理解是最重要的,同时这也是这本书着重介绍的内容。
本书读者对象
虽然本书提供了网络分析技术和TCP/IP协议的简介,但此书并不是针对初学者的。读者对OSI模型需要有一个基本的理解,对运行TCP/IP的服务器操作系统也要有——定的管理经验。
很多已经熟悉协议的高级读者将能够从每章的示例研究中得到更多的收获。本书将帮助您成为一个更加出色的网络分析员。如果您是一位网络管理员并渴望对客户机和服务器之间的通信有更多的了解,那么本书可以作为一个好的起点。如果您已经熟悉路由器和交换机的配置,那么本书将教会您配置命令中的技巧,教会您打破常规的思考方式。
本书介绍各种技巧以及如何在配置中以最佳方式使用工具不保持网络的平稳运行:。
本书的组织结构
本书分成三个部分
●第1部分:网络分析基础。将回答“为什么要进行协议分析”以及“应该使用什么工具”等问题。该部分解释了捕获和操作跟踪文件的过程。同时对OSI模型和网络通信的基本概念进行了复习,复习这些知识有助于您学习后面的章节。
●第Ⅱ部分:核心协议。建立了理解这些核心协议的基础,TCP/IP正是基于这些核心协议而构建的。正是这些协议为应用层的其他所有协议提供了支持。
●第Ⅲ部分: TCP/IP相关协议。通过揭示实现标准协议和供应商无关协议的内部:工作原理来扩展对它们的了解和研究。该部分详细分析了域名系统(DomainNameSystem,DNS)、超文本传输协议(HypertextTransportProtocol,HTTP)以及文件传输协议(FileTransportProtocol,FTP)等应用程序,并且深入研究了Microsoft公司的TCP/IP实现,其中包括了服务器消息块协议(ServerMessageBlockProtoc01)。每章都补充了很多来自实际网络中的例子和示例研究。这些例子和示例研究用来说明如何应用所讨论的知识和技术。
工具
本书使用了几个不同的分析工具来阐明故障诊断的例子。然而理解这些例子不必掌握这些工具,查看合作中网站的跟踪文件时需要用到这些工具。网站会指导您下载Ethereal协议分析仪的免费版本,该软件用于查看跟踪文件。
合作网站
本书的合作网站(可以通过在浏览器中输入以下的地址访问:www.wiley.com/compbooks/burns)包括了诸如RFC(RequestforComment,请求注解)和IETF(IntemetEngineeringTaskForce,Internet工程任务组)制定的标准协议,还包括了与本书讨论的协议相关的其他资源。该网站还包括了本书中大部分例子的在线视频和示例研究中的跟踪文件,您可以自己加载和检查这些内容。最后,它还提供了网络分析员的工具包中所必需的几种共享软件和免费软件。如果需要了解该网站的更多信息,请参见附录A。