TCP/IP必备指南——针对Windows Server 2008和Windows Vista内容全面更新
本书基于Windows Server 2008和Windows Vista,深入、实用、严谨地讲述了TCP/IP协议和工作过程。网络专家Joseph Davies将带您穿过TCP/IP模型的各层,重点学习IPv4以及相关的传输和网络基础结构协议。您将由表及里地了解与发现TCP/IP的工作机制。
层层深入,从数据包结构到协议工作过程:
■网络接口层——了解区域网和广域网数据封装、ARP以及PPP。
■深入到Internet层核心协议——IPv4、ICMP和IGMP,以及IPv6的概览。
■了解TCP连接建立过程,管理数据流并恢复丢失的数据。
■探查IP寻址(DHCP)、名称解析(DNS和WINS)和集中式验证(RADIUS)消息交换。
■验证IPSec和VPN的网络和数据保护特性。
■学习使用命令行工具和注册表设置修改系统缺省行为。
作者简介:
Joseph Davies Microsoft的一位技术撰稿人。从1992年起他就一直从事于TCP/IP、网络和安全课题方面的培训和写作。他起初是作为Microsoft公司产品支持组的课件开发人员写作,之后进入Windows产品组编写网络和安全技术方面的产品帮助和资源工具箱内容。从2001年起,他开始为Windows网络技术团队编写白皮书、TechNet文章,网站以及 Microsoft Press图书。他是每月在线TechNet网络专家专栏的作者(http://www.microsoft.com/technet/ community/columns/cableguy/default.mspx)。
书中示例文件可以在机工新阅读网站www.cmpreading.com的本书网页上下载。
无
本书详细了TCP/IP协议栈中多个协议的概念、原理、处理过程以及在Windows Server 2008和Windows Vista中对于它们的支持。本书重点讨论IPv4以及相关的传输和网络基础结构支持协议。虽然书中也包括了IPv6的概览,但是不涉及深度技术细节。更多有关IPv6及其在Microsoft Windows Server 2008和Windows Vista中的实现,请参见Joseph Davies所著的《Understanding IPv6,2nd Edition》(Redmond,Wash:Microsoft Press,2008;ISBN 9780735624467)一书。
本书主要讨论协议本身(通信过程中介质上所见)和处理过程(表层下的工作机制),而不是规划、配置、部署、管理或应用程序的开发。有关TCP/IP的规划、配置、部署和管理方面的讨论,请参阅《Windows Server 2008 Networking and Network Access Protection (NAP)》(Redmond, Wash:Microsoft Press,2008;ISBN 9780735624221),Windows Server 2008帮助和支持,以及Windows Server 2008技术中心(http://technetmicrosoftcom/windowsserver/2008)。关于使用Windows套接字进行TCP/IP应用程序开发的讨论,请访问Microsoft开发人员网络(http://msdnmicrosoftcom)。
本书不包含TCP/IP在Windows Server 2008和Windows Vista中实现的代码细节,例如,内部结构、表、缓冲区以及相关的使用或编码逻辑。只有少数读者对这些细节感兴趣,并且出于安全原因和Microsoft知识产权的保护,它们不对外公开。不过,本书包含了Microsoft对于Windows Server 2008和Windows Vista中TCP/IP实现的处理过程细节以及如何通过注册表值和Netshexe工具命令来修改默认的行为。
注意除非特别说明,否则对于注册表值的修改需要重新启动系统才能生效。本书可用作深入学习TCP/IP知识的教材和详细的技术参考。本书不是TCP/IP或网络技术的初级读物。
读者对象
本书适合于以下读者:
●Windows网络顾问和规划人员所有计划或部署Windows Server 2008或Windows Vista计算机网络的人员。
●Windows网络管理员目前正在管理Windows网络和想获得有关TCP/IP及其在Windows Server 2008和Windows Vista中实现的额外技术知识的人员。
●微软认证系统工程师(MCSE)和微软认证讲师(MCT)本书可作为MCSE和MCT对于TCP/IP协议栈的标准参考。
●普通技术人员由于本书主要讲述TCP/IP协议及处理过程,与Windows Server 2008和Windows Vista中的实现独立,普通技术人员可把本书作为TCP/IP协议的深入参考资料。
●信息技术(IT)专业学生可将本书作为教育机构或组织内部全面讲授中高级TCP/IP课程的极佳教材。
预备知识
本书希望读者已经了解网络基础知识,包含基本的组网概念和广泛使用的网络技术。例如,尽管本书详细讲述了IP数据包在以太网网段上发送时的封装方法,但并不涉及以太网历史或技术细节(如信号编码、布线、拓扑或配置选项等),希望读者已经具备这方面的知识。
本书希望读者对于TCP/IP协议栈和基于Windows网络所支持的协议集有最基本的了解,包括对于TCP/IP体系结构、IP寻址、IP路由、域名解析,以及动态主机配置协议(DHCP)和Internet协议安全(IPsec)这样的网络基础结构协议作用的基本了解。
本书的组织方式
本书分为4个部分,分别对应美国国防部(DoD)高级研究计划局(DARPA)模型中的4层:
●网络接口层在这一部分中有两章讲述Windows Server 2008和Windows Vista支持的局域网(LAN)和广域网(WAN)技术,尤其是对IP数据报如何进行封装。该部分中还有一章讲述地址解析协议(ARP),它是为下一跳IP地址解析硬件地址(媒体访问控制(MAC)地址)的一个简单协议。该部分中还有一章讲述了点对点协议(PPP)协议栈,它为点对点链路提供了封装、链路协商和协议配置服务。
●Internet层协议这一部分讲述了IP、Internet控制消息协议(ICMP)和Internet组管理协议(IGMP)。关于IPv6的章节提供了IPv6的概览及其Internet上当前使用的IP版本IPv4的对比。
●传输层协议这一部分讲述了发送不可靠消息的一个简单传输层协议,用户数据报协议(UDP)和发送可靠数据的一个复杂传输层协议、传输控制协议(TCP)。
●应用层协议和服务该部分讲述了TCP/IP相关的关键基础结构协议和网络基础结构服务,例如,DHCP、域名系统(DNS)、Windows Internet名称服务(WINS)、远程身份验证拨入用户服务(RADIUS)、IPsec和虚拟专用网络(VPN)。
Network Monitor跟踪
本书中演示的数据包结构和协议操作过程都是通过Network Monitor 31显示的数据包捕获。它们演示了线缆上可见的协议或服务的实际行为。本书涉及的所有跟踪都包含在示例文件的\Captures文件夹下。书中显示或提及的所有Network Monitor捕获文件都包含在内。
Network Monitor可以捕获并查看网络通信及捕获文件。可以从http://gomicrosoftcom/fwlink / LinkID=92844安装Network Monitor 31。有关Network Monitor的最新信息,请留意Network Monitor博客http://blogstechnetcom/netmon/。
书中的“示例文件”可在华章网站(wwwhzbookcom)的本书页面上下载。
注意Network Monitor的不同版本可以显示的数据包结构也有所差异。
教师须知
如果您是一位讲授TCP/IP协议栈高级知识的教师,那么强烈推荐使用本书教授TCP/IP课程。显然,本书可以用作Windows网络管理员和系统工程师补充TCP/IP知识的教程,但由于书中的内容大部分是关于TCP/IP协议栈数据包结构和协议处理过程的细节,所以本书也可用作为独立于具体实现的TCP/IP教程。
同为教师,希望在您的努力下讲授这门有趣而又重要的技术时能够取得成功。
本版新增内容
本书是Joseph Davies和Thomas Lee所著的《Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference》的更新版,修改和更新如下:
●第2章删除了串行线路Internet协议(SLIP)、X25和异步传输模式(ATM)部分的内容。
●第3章新增Windows Server 2008和Windows Vista中的重复地址检测和邻居不可达检测行为。
●第4章删除了Shiva密码身份验证协议(SPAP)、Microsoft质询握手身份验证协议(MSCHAP)(也称为MSCHAP v1)和可扩展身份验证协议消息摘要5(EAPMD5)身份验证协议部分,新增受保护的EAP(PEAP)身份验证协议。
●第5章新增RFC 3168中定义的IP服务类型(TOS)字段中显式拥塞报告(ECN)字段的讨论。
●第10章(以前的第12章)新增RFC 3168中定义的TCP段头中ECN标志的讨论。
●第12章(以前的第14章)新增接收窗口自动调节、复合TCP、ECN和受限传输的讨论。
●第13章(以前的第15章)增加新的失效网关检测算法、Forward RTORecovery和新的丢失恢复方法。
●第14章(以前的第16章)重排和重写,重点放在DHCP协议的细节和消息交换上。
●第15章(以前的第17章)重排和重写,重点放在DNS协议的细节和消息交换上。
●第16章(以前的第18章)重排和重写,重点放在TCP/IP上的网络基本输入/输出系统(NetBIOS)协议的细节和WINS消息交换上。
●第17章(以前的第20章)重排和重写,重点放在RADIUS协议的细节和消息交换上。
●第18章(以前的第22章)新增身份验证Internet协议(AuthIP)部分的内容。
●第19章(以前的第23章)重排和重写,重点放在点对点隧道协议(PPTP)、第二层隧道协议(L2TP)的细节和消息交换上,并新增了安全套接字隧道协议(SSTP)相关的内容。
●附录(以前的第6章)更新了Windows Server 2008和Windows Vista中使用的新技术。未列出的章节中更新了Windows Server 2008和Windows Vista中新的特性、行为和设置。删除了下列章节:
●第7章。
●第19章有关Internet打印协议(IPP)的信息可参阅RFC 2567、2568、2569、2910和2911;有关通用Internet文件系统(CIFS)的信息可于http://wwwmicrosoftcom/downloads /detailsaspx FamilyID=c4adb5847ff04acfbd915f7708adb23c&displaylang=en的文档《Common Internet File System(CIFS) File Access Protocol》下载。
●第21章有关超文本传输协议(HTTP)的信息可参阅RFC 2616;有关文件传输协议(FTP)的信息可参阅RFC 959;有关网络新闻传输协议(NNTP)的信息可参阅RFC 977和2980;有关简单邮件传输协议(SMTP)的信息可参阅RFC 821。
其他在线内容
本书补充的新内容或更新的内容将发布在Microsoft Press Online Windows Server And Client Web site Web 站点上。根据Windows Server 2008的最终发布版本,更新的内容可能包括本书的内容、文章、附带内容链接、勘误和样章等。该站点位于wwwmicrosoftcom/learning/books/online/serverclient并定期更新。
支持信息
本书代表了出版时Windows Server 2008和Windows Vista提供的TCP/IP协议栈中诸多协议实现的最新信息快照,其时正值Windows Server 2008 RC 0版和Windows Vista Service Pack 1的Beta 1版。书中的内容不包含之后发布的Windows Server 2008和Windows Vista Service Pack 1版本,或者2007年11月15日之后IETF标准的变化部分。
IETF标准对于TCP/IP的最新信息可参见IETF站点:http://wwwietforg/。
我们尽全力确保书中内容的准确性。Microsoft Press在Microsoft知识库中提供了本书的勘误。要直接访问Microsoft知识库并查询书中的问题或错误,可以访问http://supportmicrosoftcom/search/ adv=1,在搜索框中输入978-0735624474,然后点击搜索。
如果对本书有任何意见、问题或看法,请通过邮件或电子邮件发送至Microsoft Press。邮件地址是:
Microsoft Press
Attn:Windows Server 2008 TCP/IP Protocols and Services Editor
One Microsoft Way
Redmond, WA 98052-6399
Email地址是: MSPInput@microsoftcom
请注意这些地址不提供产品支持。有关Windows产品的支持信息请访问Microsoft支持站点http://supportmicrosoftcom/defaultaspx。致谢
感谢参与本书各章节及附录内容技术审校工作的Microsoft的工作人员:Boyd Benson、Lee Gibson、Philippe Joubert、Jason Popp、Katarzyna Puchala、Aaron Schrader、Ben Schultz、Murari Sridharan、Brian Swander、Mark Swift和Jeff Westhead。特别要感谢Dmitry Anipko,他是Windows网络核心开发团队中的一名软件开发工程师,对于标准的IPv4以及在Windows Server 2008和Windows Vista中IPv4的实现细节,他在多个章节给了我非常详细的反馈。
我还要感谢Maureen Zimmerman(Microsoft Press内容项目经理)、Kelly D Henthorne(Abshier House的项目经理)、Jim Johnson(技术审校)、Kim Heusel(文稿编辑)、Debbie Berman(排版)以及Johnna VanHoose Dinse(索引)。
最后,我要向我的妻子Kara和女儿Katie表达我的感谢和感激之情,感谢她们对我为本书所投入的时间与精力上的耐心与宽容。
TCP/IP必备指南——针对Windows Server 2008和Windows Vista内容全面更新 本书基于Windows Server 2008和Windows Vista,深入、实用、严谨地讲述了TCP/IP协议和工作过程。网络专家Joseph Davies将带您穿过TCP/IP模型的各层,重点学习IPv4以及相关的传输和网络基础结构协议。您将由表及里地了解与发现TCP/IP的工作机制。 层层深入,从数据包结构到协议工作过程: ■网络接口层——了解区域网和广域网数据封装、ARP以及PPP。 ■深入到Internet层核心协议——IPv4、ICMP和IGMP,以及IPv6的概览。 ■了解TCP连接建立过程,管理数据流并恢复丢失的数据。 ■探查IP寻址(DHCP)、名称解析(DNS和WINS)和集中式验证(RADIUS)消息交换。 ■验证IPSec和VPN的网络和数据保护特性。 ■学习使用命令行工具和注册表设置修改系统缺省行为。 作者简介: Joseph Davies Microsoft的一位技术撰稿人。从1992年起他就一直从事于TCP/IP、网络和安全课题方面的培训和写作。他起初是作为Microsoft公司产品支持组的课件开发人员写作,之后进入Windows产品组编写网络和安全技术方面的产品帮助和资源工具箱内容。从2001年起,他开始为Windows网络技术团队编写白皮书、TechNet文章,网站以及 Microsoft Press图书。他是每月在线TechNet网络专家专栏的作者(http://www.microsoft.com/technet/ community/columns/cableguy/default.mspx)。 书中示例文件可以在华章网站www.hzbook.com的本书网页上下载。
Joseph Davies:暂无简介
贾笑明; 汪国安:暂无简介
译者序
深入学习TCP/IP,可以使我们能够更加深入地了解网络上的通信如何发生,各种协议表层之下的任务处理又是如何进行的。本书别出心裁地利用了一些实用工具。在作者的精心组织下,读者能够实际“看到”这些网络上传递的数据包如何进行封装和处理。与当今流行的Windows Server 2008和Windows Vista操作系统中所用的技术相结合,这使得本书在实用性上得到了进一步提高。
由于TCP/IP标准的独立性与平台无关性,本书重点针对协议及协议操作本身进行讨论,使它不仅可以作为Windows网络管理员深入学习TCP/IP协议并排除网络问题的极佳参考书,也可以作为一部极好的TCP/IP深入学习教程供高校师生使用。
另外,书中大量使用Network Monitor捕获英文示例,对这些示例的理解与书中所提供的数据包结构示意图有着密切的联系,所以在翻译时,我们并没有像其他图书那样将图中内容一一翻译,而是尽量保持原貌。为了方便读者阅读,在涉及字段及关键术语说明时中英并陈,这样做的目的只有一个——让读者更容易理解书中的示例,并在其指导下进行实践。
参与本书翻译的还有侯彦娥、陈倩、陈霞、张啸风、童广林、李媛、霍俊伟、李俊等。他们的配合与支持,让本书的翻译工作得以顺利完成,在此向他们表示感谢。
感谢我的家人,在本书的翻译中占去了太多与他们在一起的时间,正是他们给了我无微不至的关怀与支持,让我能够全身心地投入到工作中。
虽然已经尽最大努力保证本书在翻译中的精确性,但难免还会有疏漏之处。如果读者朋友发现任何错误,请通过我的博客与我联系,我会将最新的勘误发布到上面,我的博客地址是:http://blogsinacomcn/mengmengbug。
贾笑明
2008年9月于开封
目录
译者序
前言
第一部分网络接口层
第1章局域网技术
11局域网封装
12以太网
121以太网Ⅱ
122IEEE 8023
123IEEE 8023 SNAP
124以太网MAC地址中的特殊位
13令牌环
131IEEE 8025
132IEEE 8025 SNAP
133令牌环MAC地址中的
特殊位
14FDDI
141FDDI帧格式
142FDDI SNAP
143FDDI MAC地址中的
特殊位
15IEEE 80211
151IEEE 80211帧格式
152IEEE 80211 SNAP
16小结
第2章广域网技术
21广域网封装
22点对点协议
221异步链路上的PPP
222同步链路上的PPP
223PPP最大接收单元
224PPP多重链路协议
23帧中继
24小结
第3章地址解析协议
31ARP概述
32ARP帧结构
33Windows Server 2008和Windows Vista
中的ARP
331地址解析
332重复地址检测
333邻居不可达检测
334ARP注册表值
34逆向ARP(InARP)
35ARP代理
36小结
第4章点对点协议
41PPP连接过程
411第1阶段:使用LCP对PPP
进行配置
412第2阶段:身份验证
413第3阶段:回叫
414第4阶段:使用NCP对协议
进行配置
42PPP连接终止
43链接控制协议(LCP)
431LCP选项
432LCP协商过程
44PPP身份验证协议
441PAP
442CHAP
443MSCHAP v2
444EAP
45回叫和回叫控制协议
46网络控制协议(NCP)
461IPCP
462压缩控制协议(CCP)
463加密控制协议(ECP)
47Network Monitor示例
48以太网上的PPP
481PPPoE发现阶段
482PPPoE会话阶段
49小结
第二部分Internet层协议
第5章Internet协议
51IP简介
511IP服务
512IP最大传输单元(MTU)
52IP数据报
53IP报头
531版本
532Internet报头长度
533服务类型
534总长度
535标识
536标志
537片偏移量
538生存时间
539协议
5310报头校验和
5311源地址
5312目的地址
5313选项和填充
54分片
541分片字段
542分片示例
543重组示例
544分片的再次分片
545避免分片
546分片与Windows Server 2008和
Windows Vista中的TCP/IP
55IP选项
551复制
552选项类别
553选项编号
554严格和松散源路由
555IP路由器警报
556Internet时间戳
56小结
第6章Internet控制消息协议
61ICMP消息结构
62ICMP消息
621ICMP回显和回显应答
622ICMP目的不可达
623PMTU发现
624ICMP源端被关闭
625ICMP重定向
626ICMP路由器发现
627ICMP超时
628ICMP参数问题
629ICMP地址掩码请求和地址
掩码应答
63Pingexe工具
64Tracertexe工具
65Pathpingexe工具
66小结
第7章Internet组管理协议
71IP多播和IGMP介绍
711IP多播概述
712主机支持
713路由器支持
714启用多播的IP互联网络
715Internet多播骨干网
72IGMP消息结构
721IGMP版本1(IGMPv1)
722IGMP版本2(IGMPv2)
723IGMP版本3(IGMPv3)
73Windows Server 2008和Windows Vista
中的IGMP
731TCP/IP协议
732路由和远程访问服务
74小结
第8章Internet协议版本6
81IPv4的缺点
82IPv6寻址
821IPv6地址语法基础
822地址类型
823单播地址类型
824IPv6接口标识符
825DNS支持
83IPv6核心协议
831IPv6
832ICMPv6
833邻居发现
834多播监听发现
84IPv4和IPv6之间的差异
85小结
第三部分传输层协议
第9章用户数据报协议
91UDP介绍
92UDP应用
93UDP消息
94UDP报头
95UDP端口
96UDP伪报头
97小结
第10章传输控制协议基础
101TCP介绍
102TCP段
103TCP段头
104TCP端口
105TCP标志
106TCP伪首部
107TCP紧急数据
108TCP 选项
1081选项列表结束和无操作
1082最大段长度选项
1083TCP窗口缩放选项
1084选择性确认选项
1085TCP时间戳选项
109小结
第11章传输控制协议连接
111TCP连接
112建立TCP连接
1121第1段:同步(SYN)段
1122第2段:SYNACK段
1123第3段:ACK段
1124TCP连接的结果
113TCP半开连接
114TCP连接的维持
115TCP连接终止
1151第1段:TCP对等方1发送的
FINACK
1152第2段:TCP对等方2
发送的ACK
1153第3段:TCP对等方2发送的
FINACK
1154第4段:TCP对等方1发送的
ACK
116TCP连接重置
117TCP连接状态
118小结
第12章传输控制协议数据流
121基本的TCP数据流行为
122TCP确认
1221延迟的确认
1222邻接数据的累积确认
1223非邻接数据的选择性确认
123TCP滑动窗口
1231发送窗口
1232接收窗口
1233接收窗口自动调节
124小段
1241Nagle算法
1242糊涂窗口综合症
125发送端的流量控制
1251慢启动算法
1252拥塞避免算法
1253复合TCP
1254显式拥塞通知
1255受限传输
126小结
第13章传输控制协议重传和超时
131重传超时和往返时间
132重传行为
1321新连接的重传行为
1322失效网关检测
1323转发重传超时恢复
1324使用选择性确认(SACK)
TCP选项
133计算RTO
1331使用TCP时间戳选项
1332Karn算法
1333Karn算法和时间戳选项
134快速重传和快速恢复
135小结
第四部分应用层协议和服务
第14章动态主机配置协议
141DHCP消息
1411DHCP消息格式
1412DHCP选项
142DHCP消息交换
1421获得初始租约
1422续订租约
1423改变子网
1424探测未授权的DHCP服务器
1425更新DNS条目
143小结
第15章域名系统
151DNS消息
1511DNS名称查询请求和名称查询
应答消息
1512DNS更新和更新应答消息
152DNS消息交换
1521解析名称到地址
1522解析地址到名称
1523解析别名
1524动态更新DNS
1525在DNS服务器之间传输
区域信息
153小结
第16章Windows Internet
名称服务
161NetBT名称服务消息
1611NetBIOS名称服务消息
1612表示NetBIOS名称
1613查询RR格式
162WINS客户端和服务器消息交换
1621解析NetBIOS名称到
IP地址
1622注册NetBIOS名称
1623刷新NetBIOS名称
1624释放NetBIOS名称
163小结
第17章远程身份验证拨入用户
服务
171RADIUS消息
1711RADIUS消息结构
1712RADIUS属性
1713厂商特定属性
172RADIUS消息交换
1721网络访问身份验证
1722网络访问计费
1723RADIUS代理转发
173小结
第18章Internet协议安全
181IPsec报头
1811身份验证报头
1812封装安全有效负载(ESP)
182IPsec和安全关联
1821ISAKMP SA
1822IPsec SA
1823安全参数索引
1824创建SA
183Internet密钥交换
184ISAKMP消息结构
1841ISAKMP报头
1842SA有效负载
1843建议有效负载
1844转换有效负载
1845厂商ID有效负载
1846临时有效负载
1847密钥交换有效负载
1848通知有效负载
1849删除有效负载
18410标识有效负载
18411散列有效负载
18412证书请求有效负载
18413证书有效负载
18414签名有效负载185主要模式协商
186快速模式协商
187身份验证Internet协议
1871AuthIP信息
1872AuthIP和IKE共存
188IPsec NAT遍历
189小结
第19章虚拟专用网络
191PPTP
1911PPTP数据封装
1912PPTP控制连接
192L2TP/IPsec
1921L2TP/IPsec数据封装
1922L2TP控制连接
193SSTP
194小结
附录IP寻址
词汇表〖=A(〗1122579111114141516171819192222232323252626262830313132343437394142424445454545454646464748494951525457585859606161626364656565666768686868727272727273747474747575767879798282828282858888899090919193959899101103104105106108110112113113113114115116117117117120122125125125127129129130131131131132132132132133133134134134135135135136136137139140141141141142144145146147148149149151152155157158158158159160162163163165166167167168169170171173174174174174175176176177179181183183184184185186187188190191192192193194194196196197198200201202204205205206208211211217217218219219220220220225227228229230231234234235235236238240242242244247248250251251252253257258258260262264265265265268272272273273273273274274276276277278279279280281282282283283284284285286286286288289291291291293295296298299301302328〖=〗