Microsoft Windows 2000 TCPIP白皮书.doc_第1页
Microsoft Windows 2000 TCPIP白皮书.doc_第2页
Microsoft Windows 2000 TCPIP白皮书.doc_第3页
Microsoft Windows 2000 TCPIP白皮书.doc_第4页
Microsoft Windows 2000 TCPIP白皮书.doc_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Windows 2000 TCP/IP 白皮书 Microsoft Windows 2000 TCP/IP 实现详述 操作系统 白皮书 摘要 本白皮书详述了 Microsoft Windows 2000 操作系统 TCP/IP 的实现,同时它也是 Microsoft Windows 2000 TCP/IP 手册的补充。本文对 Microsoft TCP/IP 协议组件进行了细致入微的分析。文中使用了网络跟踪来阐明主要概念。这些跟踪是使用 Microsoft 网络监视器收集并设置格式的,后者是一个基于软件的协议跟踪与分析工具,它包含在 Microsoft Systems Management Server 产品中。本文面向的读者是熟悉 TCP/IP 的网络工程师与技术支持人员。 引言 Microsoft 将 TCP/IP 作为其平台的战略性企业网络传输协议。在九十年代初期,Microsoft 就启动了开发 TCP/IP 栈与服务的宏伟计划,后者可大大改善 Microsoft 网络的可伸缩性。随着 Microsoft Windows NT 3.5 操作系统的发行,Microsoft 引入了一个完全重写的 TCP/IP 栈。新栈加入了过去十年中有关性能和管理方面的最新成果。该栈是高性能、可移植的 32 位工业标准 TCP/IP 协议的实现。它随着每个 Windows NT 版本不断演化,增加新的功能与服务,改进了性能和可靠性。 设计 TCP/IP 栈的目的在于,使它: 符合标准 可互操作 可移植 可伸缩 高性能 通用 自调整 便于管理 自适应 本文说明 Windows 2000 的实现细节,它也是 Microsoft Windows 2000 TCP/IP 手册的补充。本文细致入微地分析了 Microsoft TCP/IP 的实现,面向的读者是熟悉 TCP/IP 网络工程师与技术支持人员。 本文使用网络跟踪来帮助阐明概念。这些跟踪是使用 Microsoft 网络监视器 2.0 收集并设置格式的,后者是一个基于软件的协议跟踪与分析工具,它包含在 Microsoft Systems Management Server 产品中。Windows 2000 Server 包含网络监视器的简化功能。该版本与 Systems Management Server 版的主要区别在于,有限版仅能捕获安装它的计算机上可查看到的帧,而不是捕获所有通过网络(需要网络适配器处于混合模式)的帧。该版本不能连接到远程网络监视代理程序。 功能 概述使用 Windows 2000 的 TCP/IP 组件,可以简便地将 Microsoft 系统集成到大型企业、政府与公用网络中,并可以在这些网络上安全地运行。Windows 2000 是一个支持 Internet 的操作系统。 支持的标准功能Windows 2000 支持以下标准功能: 可以使用不同媒体类型,绑定到多个网络适配器 逻辑与物理多宿主 内部 IP 路由选择功能 网际分组管理协议 (IGMP) 2 版(IP 多播) 重复 IP 地址检测 多个默认网关 间隔网关检测 自动路径最大传输单位 (PMTU) 发现 网际协议安全 (IPSec) 服务质量 (QoS) ATM 服务 虚拟专用网络 (VPN) 第 2 层隧道协议 (L2TP) 性能改进此外,Windows 2000 具有以下性能改进: 协议栈调整,包括增大默认窗口大小与高延迟链接新算法,它可增大吞吐量 TCP 可缩放的窗口大小(由 RFC 1323 支持) 选择性确认 (SACK) TCP 快速重传 往返时间 (RTT) 与重传超时 (RTO) 计算的改进 管理大量连接的性能改进 硬件任务卸载机制 可用服务Windows 2000 Server 操作系统系列提供下列服务: 动态主机配置协议 (DHCP) 客户与服务 Windows Internet 名称服务 (WINS),它是一个 NetBIOS 名称客户与服务器程序 动态域名服务器 (DDNS) 拨号 (PPP/SLIP) 支持 点对点隧道协议 (PPTP) 与第 2 层隧道协议。 (L2TP),它用于远程虚拟专用网络 TCP/IP 联网打印 (lpr/lpd) SNMP 代理 NetBIOS 接口 Windows Sockets 版本 2 (Winsock2) 接口 远程过程调用 (RPC) 支持 网络动态数据交换 (NetDDE) 广域网 (WAN) 浏览支持 高性能 Microsoft Internet 信息服务 (IIS) 基本 TCP/IP 连接实用程序,包括:finger、ftp、rcp、rexec、rsh、telnet 和 tftp 简单网络协议的服务器软件,包括:字符生成器、白天、放弃、回应和当日报价 TCP/IP 管理与诊断工具,包括:arp、ipconfig、nbtstat、netstat、ping、pathping、route、nslookup 和 tracert Microsoft TCP/IP 不同版本的功能对比表 下表列出现有的功能及其所在操作系统的版本以供参考。这些功能在本文中进行了详细地阐述。 表 1 默认情况下,N 代表“否”,Y 代表“是”,D 代表“禁用” 产品Windows 95Windows 95 Winsock 2Windows 98Windows 98 SEWindows NT 4.0 SP5Windows 2000间隔网关检测NNYYYYVJ 快速重传NYYYYYAutoNetNNYYNYSACK(选择性确认)NYYYNY特大帧支持YYYYYY大窗口NDDDND动态 DNSNNNNNY媒体侦听NNNNNY局域网唤醒NNNNNYIP 转发NNNDDDNAT NNNDNDKerberos v5NNNNNYIPSec(网际协议安全)NNNNNYPPTP NNYYYYL2TPNNNNNYIP 帮助程序 APINNYYYYWinsock2 APINYYYYYGQoS APINNYYNYIP 筛选 APINNNNNY防火墙挂钩NNNNNY数据包调度程序NNNNNDRSVPNNYYNYISSLONNYYNYTrojan 筛选NNNNDD阻塞源路由选择NNNYYYICMP 路由器发现NYYYDD卸载 TCPNNNNNY卸载 IPSecNNNNNY由 Microsoft Windows 2000 TCP/IP 支持的 Internet RFC注释请求 (RFC) 是从 Internet 团体使用的系列报告、协议建议和协议标准演化而来的。可使用 FTP 从下列位置获取 RFC 的信息: src.doc.ic.ac.uk 表 2 由该版本 Microsoft TCP/IP 支持的 RFC RFC标题768用户数据报协议 (UDP)783一般的文件传输协议 (TFTP)791网际协议 (IP)792网际消息控制协议 (ICMP)793传输控制协议 (TCP)816故障隔离和恢复826地址解析协议 (ARP)854Telnet 协议 (TELNET)862回应协议 (ECHO)863放弃协议 (DISCARD)864字符生成器协议 (CHARGEN)865当日报价协议 (QUOTE)867白天协议 (DAYTIME)894基于 Ethernet 的 IP 919、 922IP 广播数据报(使用子网进行广播)950Internet 标准子网化过程959文件传输协议 (TFTP)1001、1002NetBIOS 服务协议1065、1035、1123、1886 域名系统 (DNS)1042 IEEE 802 网络上的 IP 数据报传输标准1055串行线路上的 IP 传输 (IP-SLIP) 1112网际分组管理协议 (IGMP)1122、1123主机要求(通讯与应用)1144压缩用于低速串行链路的 TCP/IP 报头1157简单网络管理协议 (SNMP)1179行式打印机监控程序协议1188FDDI 上的 IP 1191路径 MTU 发现1201ARCNET 上的 IPRFC标题1256ICMP 路由器发现消息1323高性能的 TCP 扩展件(请参见 TCP1323opts 注册表参数)1332PPP 网际协议控制协议 (IPCP)1518带有 CIDR 的 IP 地址分配的体系结构1519无类别的域间路由 (CIDR):地址分配与会合策略1534DHCP 和 BOOTP 的互操作性1542自举协议的分类及扩展 1552PPP 网际数据包交换控制协议 (IPXCP)1661点对点协议 (PPP)1662类似 HDLC 架构中的 PPP1748使用 SMIv2 的 IEEE 802.5 MIB1749使用 SMIv2 的 IEEE 802.5 站源路由 MIB1812IP 4 版路由器的要求1828使用密钥 MD5 的 IP 身份验证 1829 ESP DES-CBC 传输 1851ESP 三路 DES-CBC 传输1852使用密钥 SHA 的 IP 身份验证1886支持 IP 版本 6 的 DNS 扩展件1994PPP 质询握手身份验证协议 (CHAP)1995DNS 中的增量区域传输 1996用来提示 DNS 通知区域更改的机制 2018TCP 选择性确认选项2085防止重发的 HMAC-MD5 IP 身份验证 2104HMAC:消息身份验证的密码散列2131动态主机配置协议2 2136域名系统中的动态更新 (DNS UPDATE)2 2181对 DNS 规范的说明 2205资源保留协议 (RSVP) 版本 1 功能规范 2236网际分组管理协议 版本 2 2308DNS 查询的负缓存 (DNS NCACHE)2401网际协议安全架构2401网际协议安全架构2402IP 身份验证报头 2406IP 封装安全措施负载量 (ESP)2581TCP 阻塞控制结构模型 概述Microsoft TCP/IP 组件包含“核心协议单元”、“服务”及两者之间的“接口”。传输驱动程序接口 (TDI) 与网络设备接口规范 (NDIS) 是公用的,它们的规范可从 Microsoft 的下列网址中找到:1 和 。 此外,还有许多用户模型应用程序的更高级接口。最常用的接口是 Windows Sockets、远程过程调用 (RPC) 和 NetBIOS。 图 1 Windows 2000 TCP/IP 网络模型 即插即用Windows 2000 引入了对即插即用的支持。即插即用具有以下功能: 对已安装硬件的自动与动态识别。这包括初始系统安装、对系统两次启动之间所作静态硬件更改的识别以及对运行时硬件事件(如插接或移除以及卡的插入或拔下)的响应。 与硬件自动与动态识别对应的改进硬件配置,包括动态硬件激活、资源仲裁、设备驱动程序加载、驱动器安装等等。 支持特殊总线以及有助于实现硬件自动与动态识别和改进的硬件配置的其它硬件标准,其中包括即插即用 ISA、PCI、PCMCIA、PC 卡/CardBus、USB 和 1394。它包括标准的颁布和硬件应如何操作的建议。 一个有序的即插即用架构,驱动程序编写者可以对它进行操作。它包括基本结构如设备信息 (INF) 接口、API、内核模式通知、执行接口等等。 允许用户模式代码与应用程序了解硬件环境中的更改,以便于采取相应操作的机制。 即插即用操作并不需要使用即插即用硬件。上述前两点可能既适用于传统硬件,又适用于即插即用硬件。某些情况下,依次列举旧式设备是不可能的,因为检测方法是破坏性的或非常耗时的。 即插即用支持对协议栈的主要影响在于,网络接口可随时插上或拔下。Windows 2000 TCP/IP 栈与相关组件经改制来支持即插即用。 NDIS 接口及其它 Microsoft 网络协议使用网络设备接口规范 (NDIS) 与网卡驱动程序进行通讯。多数 OSI 模型链路层功能是在协议栈中实现的。这使得网卡驱动程序的开发变得相当简单。 网络驱动程序接口规范(3.1 到 5.0)NDIS 3.1 支持一些基本服务,允许协议模块在网络设备上发送原始数据包,并通知该模块网络设备收到的传入数据包。 NDIS 4.0 在 NDIS 3.1 的基础上,增加了以下新功能: 超带宽数据支持(用于 PC 广播) WirelessWAN 媒体扩展 高速数据包发送与接收(性能显著提高) 快速 IrDA 媒体扩展 媒体侦听(用于 PC 97 中的 Designed for Windows 徽标以及后来的“硬件设计指南”)。Microsoft Windows 2000 TCP/IP 栈利用媒体侦听信息,它在本白皮书的“自动客户机配置”一节进行了说明。 所有本地数据包筛选器(防止网络监视器独占 CPU) 许多新的 NDIS 系统功能(在 Windows 95、Windows 98、Windows NT 和 Windows 2000 之间提供小型端口二进制兼容性) 除包括 NDIS 4.0 中定义的所有功能外,NDIS 5.0 还包括下列扩展功能: NDIS 电源管理(用于网络电源管理与网络唤醒) 即插即用(Windows 95 NDIS 已有即插即用支持;因此该更改仅适用于 Windows 2000 网络驱动程序。) 支持 Windows 管理规范 (WMI),它提供与基于 Web 的企业管理 (WBEM) 兼容的 NDIS 小型端口及其有关适配器的规范 对所有 Windows 操作系统,使用单一 INF 格式。新的 INF 格式以 Windows 98 INF 格式为基础。 用于改进性能的串并转换小型端口 任务卸载机制,如 TCP 和 UDP 校验和与快速数据包转发 广播媒体扩展(用于 Windows 广播服务) 面向连接的 DIS(用于支持异步传输模式 ATM、非对称数字用户线路 ADSL 以及 Windows 驱动程序模型-连接流式结构 WDM-CSA) 支持服务质量 (QoS) 中级驱动程序支持(用于广播 PC、虚拟 LAN、QoS 数据包调度以及 IEEE 1394 网络设备的 NDIS 支持) 当系统请求更改电源级别时,NDIS 可以关掉网络适配器电源。用户或系统均可以提出此请求。例如,用户可能要将计算机置为睡眠模式;或当键盘或鼠标处于静止状态时,系统请求更改电源级别。此外,如果网络接口卡 (NIC) 支持该功能,断开网络电缆可以产生一个关闭电源请求。在这种情况下,系统关闭 NIC 电源前要等待一段时间(可配置),因为断开连接可能是由网络上的临时电缆更改引起的,而不是由将电缆从网络设备上断开引起的。 NDIS 电源管理策略是基于“无网络活动”。这意味着,在关闭 NIC 电源前所有重叠的网络组件必须均同意此请求。如果网络上有活动的会话或打开的文件,则关闭电源的请求可能会被有关的一个或所有组件拒绝。 当有网络事件时,也可以将计算机从低能耗状态唤醒。下列情况可以引发唤醒信号: 检测到网络链接状态有变化(例如,电缆重新连接) 收到网络唤醒帧 收到“神奇程序包”。(有关详细信息,请访问以下网址: 。) 在驱动程序初始化时,NDIS 就会查询小型端口功能,以确定它是否支持“神奇程序包”、模式匹配或链接变化唤醒,并确定每种唤醒方式所需的最低能耗状态。然后,网络协议查询小型端口功能。在运行时,协议使用启用唤醒、设置数据包模式以及删除数据包模式等对象标识符 (OID),来设置唤醒策略。 目前,Microsoft TCP/IP 是支持网络电源管理的唯一 Microsoft 协议栈。在小型端口初始化时,它注册以下数据包模式: 定向 IP 数据包 站 IP 地址的 ARP 广播 站分配的计算机名称的 TCP/IP 上的 NetBIOS 广播 与 NDIS 兼容的驱动程序(用于各种 NIC)可从许多厂商处获得。NDIS 接口允许多个不同类型的协议驱动程序绑定到一个 NIC 驱动程序上,也允许单个协议绑定到多个 NIC 驱动程序上。NDIS 规范阐述了用于实现这一功能的多路复用机制。可以从 Windows 网络连接文件夹查看或更改绑定。 Windows 2000 TCP/IP 为下列各项提供支持: 以太网(和 802.3 SNAP) FDDI 令牌环 (802.5) ATM(LANE 和 CLIP) ARCnet 专用广域网 (WAN) 链接,如数据电话数字服务 (DDS) 和 T 载体(Fractional T1、T1 和 T3) 拨号或永久电路交换 WAN 服务,如模拟电话、ISDN 和 xDSL 数据包交换 WAN 服务,如 X.25、帧中继与 ATM 这些新功能的目标包括: 提高使用的简便性并降低总体拥有成本 (TCO) 改进性能 启用新的媒体类型、服务与应用程序 提高驱动程序结构的灵活性 链接层功能链接层功能是在网络接口卡/驱动程序组合与低级协议栈驱动程序之间进行划分的。网络接口卡/驱动程序组合筛选器是以每一帧的目标媒体访问控制 (MAC) 地址为基础的。 通常,硬件筛选出所有传入帧,包含下列一个目标地址的帧除外: 适配器地址 所有全“1”广播地址 (FF-FF-FF-FF-FF-FF) 使用 NDIS 原语,在该主机上的协议驱动程序有注册意向的多播地址 因为最初筛选的决定是硬件作出的,NIC 丢弃任何不满足筛选标准的帧,不进行任何 CPU 处理。然后,通过硬件筛选器的所有帧(包括广播)通过硬件中断上传到 NIC 驱动程序。2 NIC 驱动程序是运行在计算机上的软件,所以任何送来的帧均需要占用一定的 CPU 时间进行处理。NIC 驱动程序从接口卡将帧调入系统内存中。然后,帧被送到(上传)相应的绑定传输驱动程序。NDIS 5.0 规范给出了这一过程的详细信息。 帧按照它们所绑定的顺序上传至所有绑定的传输驱动程序。 当数据包通过一个网络或一组网络时,源媒体访问控制地址通常是将数据包放到媒体上的 NIC 的地址,目标媒体访问控制地址则是将数据包从媒体上取下来的那个 NIC 的地址。这说明,在路由网络中,源与目标媒体访问控制地址随着通过网络层设备(路由器或第 3 层交换机)的每个跃点而改变。 最大传输单位 (MTU)每种媒体类型都有一个最大帧大小的上限。链接层负责发现 MTU,并向上述协议报告。协议栈可能会向 NDIS 驱动程序查询本地 MTU。接口的 MTU 信息被上层协议(如 TCP)所使用,这些协议自动优化每种媒体的数据包大小。有关详细信息,请参见本白皮书“传输控制协议 (TCP)”一节中有关 TCP 路径最大传输单位 (PMTU) 发现的讨论。 如果 NIC 驱动程序(如 ATM 驱动程序)使用 LAN 仿真模式,它报告的 MTU 要比该媒体类型预计值要高。例如,它可仿真以太网,但报告 MTU 为 9180 字节。Windows NT 和 Windows 2000 接受并使用该适配器报告的 MTU 大小,即使它超过给定媒体类型的正常 MTU。 有时,向协议栈报告的 MTU 比给定媒体类型的预计值要小。例如,由于链接层报头较大,使用以太网上的 QoS 的 802.1p 标准(与硬件有关)可将所报告的 MTU 减少 4 字节。 核心协议栈组件与 TDI 接口 核心协议栈组件是就是图 1 中 NDIS 和 TDI 接口之间的那些组件。它们是在 Windows 2000 Tcpip.sys 驱动程序中实现的。Microsoft 栈可通过 TDI 接口与 NDIS 接口来访问。Winsock2 接口还支持对协议栈的直接访问。 地址解析协议 (ARP)ARP 对传出的数据包执行 IP 地址到媒体访问控制 (MAC) 地址解析。由于每个传出的 IP 数据报是封装在帧中的,因此必须增加源与目标媒体访问控制地址。由 ARP 来确定每个帧的目标媒体访问控制地址。 ARP 将每个出站 IP 数据报上的目标 IP 地址与发送帧的 NIC 的 ARP 缓存进行比较。如果有匹配的项,则从缓存中检索 MAC 地址。如果没有匹配的项,ARP 在本地子网上广播一个“ARP 请求数据包”,请求拥有所讨论的 IP 地址的所有者回复其媒体访问控制地址。如果数据包正在通过一个路由器,ARP 就会解析下一个跃点路由器(而不是最终目标主机)的媒体访问控制地址。当收到 ARP 回复时,就会用新信息更新 ARP 缓存,并用于在链接层数据包寻址。 ARP 缓存您可以使用 ARP 实用程序查看、添加或删除 ARP 缓存中的项。下面列出了一些示例。手动添加的项是静态的,不会从缓存中自动删除,但是动态项可以从缓存中删除(有关详细信息,请参见“ARP 缓存老化”一节)。 arp 命令可以用于查看 ARP 缓存,如下所示: C:arp -aInterface: 23Internet Address Physical Address Type 00-00-0c-1a-eb-c5 dynamic24 00-dd-01-07-57-15 dynamicInterface: 90Internet Address Physical Address Type38 00-20-af-1d-2b-91 dynamic 本示例中的计算机是“多宿主”计算机(有多个 NIC),因此每个接口均有一个不同的 ARP 缓存。 在下面的示例中,arp -s 命令用于向主机第 2 个接口所使用的 ARP 缓存中添加静态项,该主机的 IP 地址是 2,NIC 地址是 00608C0E6C6A: C:arp -s 2 00-60-8c-0e-6c-6a 90C:arp -aInterface: 23Internet Address Physical Address Type 00-00-0c-1a-eb-c5 dynamic24 00-dd-01-07-57-15 dynamicInterface: 90Internet Address Physical Address Type38 00-20-af-1d-2b-91 dynamic2 00-60-8c-0e-6c-6a static ARP 缓存老化Windows NT 和 Windows 2000 自动调整 ARP 缓存的大小以满足系统需求。如果某个项未被任何传出数据报使用的时间持续两分钟,则该项将从 ARP 缓存中删除。十分钟后,被引用的项将从 ARP 缓存中删除。手动添加的项不会从缓存中自动删除。Windows NT 3.51 Service Pack 4 中添加了新的注册表参数 (ArpCacheLife),增加对老化的管理控制。在附录 A 中给出了这一参数的详细信息。 使用 arp -d 命令从缓存中删除项,如下所示: C:arp -d 2C:arp -aInterface: 23Internet Address Physical Address Type 00-00-0c-1a-eb-c5 dynamic24 00-dd-01-07-57-15 dynamicInterface: 90Internet Address Physical Address Type38 00-20-af-1d-2b-91 dynamic ARP 仅查询出站 IP 数据包的指定目标地址,同时将该 IP 地址解析为媒体访问控制地址。如果基于用户数据报协议 (UDP) 的应用程序将多个 IP 数据报发送到一个目标地址而中间没有任何停顿,且没有 ARP 缓存项可用,一些数据报可能被丢弃。在发送数据包流前,应用程序通过调用 iphlpapi.dll 例程 SendArp() 建立 ARP 缓存项,来弥补这一点。有关 IP 帮助程序 API 的详细信息,请参见 Microsoft Knowledge Base 文章 Q193059 或平台 SDK。 网际协议 (IP)IP 是 TCP/IP 协议的“邮局”,负责对 IP 数据进行分检和传递。在这一层,每个传入或传出的数据包被称作一个“数据报”。每个 IP 数据报包含发送者的源 IP 地址以及接收者的目标 IP 地址。与媒体访问控制地址不同,在数据包通过网络过程中数据报的 IP 地址保持不变。IP 层的功能如下所述。 路由选择路由选择是 IP 的一个主要功能。数据报是从上面的 UDP 和 TCP 和下面的 NIC 传到 IP 的。每个数据报均标有源与目标 IP 地址。IP 检查每个数据报上的目标地址,将它与本地维护的路由表进行比较,然后决定要执行的操作。对于每个数据报,有三种可能性: 它被向上传到本地主机 IP 之上的一个协议层。 可使用本地连接的一个 NIC 对它进行转发。 将它丢弃。 路由表维护四种不同类型的路由。以下按搜索地址匹配的顺序,列出了这四种路由类型: 1. 主机(到单个特定目标 IP 地址的路由) 2. 子网(到一个子网的路由) 3. 网络(到整个网络的路由) 4. 默认(没有其它匹配项时使用) 要确定一个路由用来转发 IP 数据报时,IP 使用以下步骤: 1. 对于路由表中的每个路由,IP 执行目标 IP 地址和网络掩码的位逻辑“与”操作。IP 将该结果与网络目标进行比较,看是否匹配。如果匹配,则 IP 将该路由标记为一个与目标 IP 地址匹配的路由。 2. 从匹配路由列表中,IP 确定在网络掩码中有最多位的路由。 该路由与目标 IP 地址匹配的位数最多,因而是 IP 数据报的最确定路由。这也称为查找最长或最匹配的路由。 3. 如果找到多个最匹配的路由,则 IP 使用跃点数最少的路由。如果找到多个跃点数最少的最匹配路由,则 IP 可以选用其中任何一个路由。 您可以在命令提示符下使用 route print 命令查看路由表,如下所示: C:route print=Interface List0x1 . MS TCP Loopback interface0x2 .00 a0 24 e9 cf 45 . 3Com 3C90x Ethernet Adapter0x3 .00 53 45 00 00 00 . NDISWAN Miniport0x4 .00 53 45 00 00 00 . NDISWAN Miniport0x5 .00 53 45 00 00 00 . NDISWAN Miniport0x6 .00 53 45 00 00 00 . NDISWAN Miniport=Active Routes:Network Destination Netmask Gateway Interface Metric 54 55 55 55 1 1 155 55 1Default Gateway: 54=Persistent Routes:None 以上是一台计算机的路由表,其 A 类 IP 地址为 ;子网掩码为 ;默认网关为 54。它包含下列 8 项: 第一项是默认路由地址 ()。 第二项是计算机所在的子网地址 ()。 第三项是本地主机的主机路由地址 ()。它指定环回地址,这是有意义的,因为发到本地主机的数据报应在内部环回。 第四项是网络广播地址。 第五项是环回地址 ()。 第六项用于 IP 多播,本文后面对它进行了讨论。 最后一项为有限广播(全“1”)地址。 Default Gateway 是当前活动的默认网关。这对于了解何时配置了多个网关是很有用的。 在该主机上,如果将数据包发送到 0,则最匹配的路由是本地子网路由(,掩码是 )。数据包通过本地接口 发送。如果数据包发送到 ,则最接近匹配的路由是默认路由。在这种情况下,数据包转发至默认网关。 在多数情况下,路由表是自动维护的。当主机初始化时,将添加本地网络、环回、多播以及配置的默认网关项。随着 IP 层对路由的识别,在表中就会出现更多的路由。例如,主机的默认网关使用 ICMP 可向主机建议一个到特定网络、子网或主机的更好路由,本白皮书的后面对 ICMP 进行了阐述。可以使用 route 命令手动添加路由,或者通过路由协议来添加。-p(永久)开关可与 route 命令一起使用以指定永久路由。永久路由保存在注册表中的注册表项下。 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersPersistentRoutes Windows 2000 TCP/IP 为默认网关引入了新的跃点数配置选项。该跃点数允许更好地控制在某一特定时间哪个默认网关是活动的。跃点数的默认值是 1。首选项是跃点数较低的路由,而不是跃点数较高的路由。在使用默认网关的情况下,计算机使用跃点数最低的网关,除非该网关未激活,在这种情况下,间隔网关检测就会切换到列表中的下一个最低跃点数默认网关。默认网关跃点数可以使用 TCP/IP 高级配置属性进行设置。DHCP 服务器提供基础跃点数以及默认网关列表。如果 DHCP 服务器提供基础跃点数 100 以及有三个默认网关的列表,则网关将分别使用跃点数 100、101 和 102 进行配置。DHCP 提供的基础跃点数并不适于静态配置的默认网关。 多数自治系统 (AS) 路由器使用路由信息协议 (RIP) 或开放式最短路径优先 (OSPF) 等协议,相互交换路由表。Windows 2000 Server 支持这些协议。Windows 2000 Professional 支持无声 RIP。 默认情况下,基于 Windows 的系统并不用作路由器,也不在接口间转发 IP 数据报。但是,Windows 2000 Server 中提供“路由与远程访问”服务。可以使用并配置它,以便提供完整的多协议路由服务。 管理路由与远程访问 1. 在开始菜单上,指向程序。 2. 指向管理工具,然后单击路由和远程访问。 当在同一物理网络上运行多个逻辑子网时,可以使用下列命令通知 IP 将所有子网作为本地子网处理,并对目标地址直接使用 ARP: route add MASK 这样,要发往非本地子网的数据包被直接传送到本地媒体,而不是发送到路由器。实质上,本地接口卡可以被指定为默认网关。当在一个物理网络上中使用多个 C 类网络,但没有到外部网络的路由器或在代理 ARP 环境时,这一点很有用。 重复 IP 地址检测重复地址检测是一项重要功能。当首次初始化栈或添加新的 IP 地址时,就会免费广播此本地主机 IP 地址的 ARP 请求。发送的 ARP 数量是由注册表参数 ArpRetryCount 控制的,默认值为 3。如果另一个主机回复了其中的一个 ARP,则此 IP 地址已被使用。发生这种情况时,基于 Windows 的计算机仍然启动;但是含有此违犯地址的接口被禁用,并生成系统日志项和显示错误消息。如果拥有此地址的那个主机也是基于 Windows 的计算机,则生成系统日志项,并在该计算机上显示错误消息。为了修复可能对其它计算机上 ARP 缓存造成的破坏,设置违犯地址的计算机就会重新广播另一个 ARP,还原其它计算机上 ARP 缓存中的原始数值。 在未连接到网络时,使用重复 IP 地址的计算机可以启动,在这种情况下检测不到冲突。但是,如果该计算机随后接到网络中,当它第一次发送 ARP 请求,请求另一个 IP 地址时,某个地址与之冲突的基于 Windows NT 的计算机就会检测到冲突。检测到冲突的计算机显示一条错误消息,并在系统日志中记录一个详细事件。示例事件日志项如下所示: The system detected an address conflict for IP address 23 with the system having network hardware address 00:DD:01:0F:7A:B5. Network operations on this system may be disrupted as a result. 当检测到 IP 地址冲突时,启用 DHCP 的客户机就会通知 DHCP 服务器,而不是使栈无效。它们向 DHCP 服务器请求一个新的地址,并请求服务器将冲突地址标记为错误。该功能通常称为“DHCP 拒绝”支持。 多宿主当计算机配置多于一个 IP 地址时,就被称作“多宿主”系统。多宿主有以下三种支持方式: 每个 NIC 有多个 IP 地址 o 要给一个接口添加地址,在开始菜单上,指向设置,然后单击网络和拨号连接。右键单击本地连接,然后单击属性。选择 Internet 协议 (TCP/IP),单击属性,然后单击高级。在高级设置对话框中,单击 IP 设置选项卡上的添加,添加 IP 地址。 o TCP/IP 上的 NetBIOS (NetBT) 仅绑定到每个接口的一个 IP 地址上。当发出 NetBIOS 名称注册时,每个接口只注册一个 IP 地址。注册过程在用户接口 (UI) 中最先列出的 IP 地址上进行。 每个物理网络有多个 NIC。除硬件外,没有其它限制。 多种网络与媒体类型。 除硬件与媒体支持外,没有其它限制。有关所支持的媒体类型,请参见“NDIS 接口及其它”一节。 当 IP 数据报从多宿主主机发送时,将使用到目标的最简捷路由将其传送到接口。因而,数据报可能包含多宿主主机中一个接口的源 IP 地址,但是此数据报可能是通过另一个接口放在媒体上的。帧上的源媒体访问控制地址是实际将帧传输到媒体那个接口的地址;源 IP 地址是发送应用程序提取帧的地址,不一定是与网络连接 UI 中发送接口相关的一个 IP 地址。 当计算机有多个 NIC 连接不相连的网络时(网络之间彼此断开且互不识别,如远程访问连接网络和本地连接),可能就会出现路由问题。在这种情况下,通常有必要设置到远程网络的静态路由。 在两个不相连的网络上将一台计算机配置为多宿主时,最好在主要网络或最大且最不知名的网络上设置默认网关。然后,添加静态路由或使用路由协议提供到较小或较知名的网络上主机的连接。要避免在两端配置不同的默认网关,这样可能会出现意想不到的结果且连接中断。 备注 在任一时刻计算机只能有一个活动的默认网关。 有关多宿主计算机的名称注册、解析与出站数据报的 NIC 选择的详细信息,请参见文中以下章节:传输控制协议、TCP/IP 上的 NetBIOS 以及 Windows Sockets。 无类别的域间路由 (CIDR)CIDR 摒弃了 IP 地址分配与管理过程中的类的概念,RFC 1518 和 1519 中对它进行了说明。CIDR 不使用预定义的、明确的界限,而是分配使用起始地址与一个范围来定义的地址,它将可以更有效地使用可用空间。此范围定义地址的网络部分。例如,ISP 分配给一个企业客户机的地址表示为:28 /25。它给本地使用提供 128 个地址块,其中前 25 位是地址的网络标识符部分。旧式分类的地址表示为:.0.0.0 /8, .0.0 /16 或 .0 /24。当这些地址收回时,将使用无类 CIDR 技术重新分配。 对于给定的分类系统,初始 CIDR 实施是连接 C 类空间的地址片段。该过程称为“创建超级网”。超级网用于将多个 C 类网络地址合并到一个逻辑网络中。要创建超级网,合并的 IP 网络地址必须有相同的高位,并且子网掩码应缩短以减少地址的网络部分,并将它们添加到主机部分。例如,可以将 C 类网络地址 、、 与 合并在一起,每个地址均使用子网掩码 : NET 199.199.4 (1100 0111.1100 0111.0000 0100.0000 0000)NET 199.199.5 (1100 0111.1100 0111.0000 0101.0000 0000)NET 199.199.6 (1100 0111.1100 0111.0000 0110.0000 0000)NET 199.199.7 (1100 0111.1100 0111.0000 0111.0000 0000)MASK (1111 1111.1111 1111.1111 1100.0000 0000) 当确定路由时,只使用子网掩码屏蔽的位,这样,从路由的角度看,所有这些地址都在同一网络上。使用的任何路由必须也支持 CIDR,并可能需要特殊配置。Windows 2000 TCP/IP 支持 0 位和 1 位子网,在 RFC 1878 中对它进行了详细的说明。 IP 多播IP 多播用于给不在同一网段的客户机提供有效的多播服务。例如,Windows Sockets 应用程序可以加入多播组参与一个广域会议。 Windows 2000 与 RFC 1112 二级(发送和接收)兼容。IGMP 是用于管理 IP 多播的协议,它将在本文后面进行讲述。 ATM 上的 IP Windows 2000 引进了对 ATM 上 I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论