关闭

关闭

封号提示

内容

首页 理解Windows中的路由表和默认网关.doc

理解Windows中的路由表和默认网关.doc

理解Windows中的路由表和默认网关.doc

上传者: Mona春草 2017-09-25 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《理解Windows中的路由表和默认网关doc》,可适用于影视/动漫领域,主题内容包含理解Windows中的路由表和默认网关理解Windows中的路由表和默认网关理解Windows中的路由表和默认网关年月日星期五:每一个Windows符等。

理解Windows中的路由表和默认网关理解Windows中的路由表和默认网关理解Windows中的路由表和默认网关年月日星期五:每一个Windows系统中都具有IP路由表它存储了本地计算机可以到达的网络目的地址范围和如何到达的路由信息。路由表是TCPIP通信的基础本地计算机上的任何TCPIP通信都受到路由表的控制。理解路由表你可以运行routeprint或netstatr显示本地计算机上的路由表如下图所示:C:DocumentsandSettingsadministratorrouteprint===InterfaceListxMSTCPLoopbackinterfacexdffcRealtekRTLxFamilyFastEthernetNIC=========PersistentRoutes:None路由表中的每一个路由项具有五个属性在此我将它们分为四个部分:、网络地址(NetworkDestination)、网络掩码(Netmask):网络地址和网络掩码相与的结果用于定义本地计算机可以到达的网络目的地址范围。通常情况下网络目的地址范围包含以下四种:主机地址某个特定主机的网络地址网络掩码为如上表中的、、子网地址某个特定子网的网络地址如上表中的、网络地址某个特定网络的网络地址如上表中的、、默认路由所有未在路由表中指定的网络地址如上表中的在后文将详细描述在添加路由时Windows要求输入的网络地址和网络掩码相与后的结果必须等于网络地址否则路由添加会失败。、网关(Gateway又称为下一跳服务器):在发送IP数据包时网关定义了针对特定的网络目的地址数据包发送到的下一跳服务器。如果是本地计算机直接连接到的网络网关通常是本地计算机对应的网络接口但是此时接口必须和网关一致如果是远程网络或默认路由网关通常是本地计算机所连接到的网络上的某个服务器或路由器。、接口(Interface):接口定义了针对特定的网络目的地址本地计算机用于发送数据包的网络接口。网关必须位于和接口相同的子网否则造成在使用此路由项时需调用其他路由项从而可能会导致路由死锁。、跃点数(Metric):跃点数用于指出路由的成本通常情况下代表到达目标地址所需要经过的跃点数量一个跃点代表经过一个路由器。跃点数越低代表路由成本越低跃点数越高代表路由成本越高。当具有多条到达相同目的网络的路由项时TCPIP会选择具有更低跃点数的路由项。路由确定过程当TCPIP需要向某个IP地址发起通信时它会对路由表进行评估以确定如何发送数据包。评估过程如下:TCPIP使用需要通信的目的IP地址和路由表中每一个路由项的网络掩码进行相与计算如果相与后的结果匹配对应路由项的网络地址则记录下此路由项当计算完路由表中所有的路由项后TCPIP选择记录下的路由项中的最长匹配路由(网络掩码中具有最多""位的路由项)来和此目的IP地址进行通信。如果存在多个最长匹配路由那么选择具有最低跃点数的路由项如果存在多个具有最低跃点数的最长匹配路由那么:如果是发送响应数据包并且数据包的源IP地址是某个最长匹配路由的接口的IP地址那么选择此最长匹配路由其他情况下均根据最长匹配路由所对应的网络接口在网络连接的高级设置中的绑定优先级来决定如下图所示:网关和接口确定过程在确定使用的路由项后网关和接口通过以下方式确定:如果路由项中的网关地址为空或者为本地计算机上的某个网络接口那么在发送数据包时:通过路由项中对应的网络接口发送源IP地址为此网络接口的IP地址源MAC地址为此网络接口的MAC地址目的IP地址为接收此数据包的目的主机的IP地址目的MAC地址为接收此数据包的目的主机的MAC地址如果路由项中的网关地址并不属于本地计算机上的任何网络接口那么在发送数据包时:通过路由项中对应的网络接口发送源IP地址为路由项中对应网络接口的IP地址源MAC地址路由项中对应网络接口的MAC地址目的IP地址为接收此数据包的目的主机的IP地址目的MAC地址为网关的MAC地址在此我以上面的路由表为基础举例进行说明:和单播IP地址的通信:在进行相与计算时、项匹配但是项为最长匹配路由因此选择项。项的网关地址为本地计算机的网络接口因此发送数据包时目的IP地址为、目的MAC地址为的MAC地址(通过ARP解析获得)。和单播IP地址的通信:在进行相与计算时、、项匹配但是项为最长匹配路由因此选择项。项的网关地址为本地环回地址因此直接将数据包发送至本地环回地址。和单播IP地址的通信:在进行相与计算时、、、、项均为最长匹配路由所以此时根据跃点数进行选择项项匹配但是具有更低的跃点数因此选择项在发送数据包时目的IP地址为、目的MAC地址为的MAC地址(通过ARP解析获得)。和单播IP地址的通信:在进行相与计算时只有项匹配在发送数据包时目的IP地址为、目的MAC地址为的MAC地址(通过ARP解析获得)。和子网广播地址的通信:在进行相与计算时、、、、项匹配但是项为最长匹配路由因此选择项。项的网关地址为本地计算机的网络接口因此在发送数据包时目的IP地址为目的MAC地址为以太网广播地址FF:FF:FF:FF:FF:FF。默认路由与默认网关由于在路由表中存储针对每个主机或子网的路由项不可行因此提出了默认路由的概念默认路由中的网关称为默认网关。默认路由的网络地址为网络掩码为它匹配任何网络通信因此当到达特定主机或特定子网的路由并未在路由表中指定时均可以通过默认路由来进行转发。如果没有设置默认路由那么无法到达未在路由表中指定路由项的网络目的地址。设置默认路由后把数据包的路由责任移交到了路由器优点是简化了本地计算机上的路由表和配置缺点则是计算机无法明确目的地址是否可达从而可能发送针对不可到达地址的流量。虽然位于路由路径上的路由器知道目的地址不可达时会使用ICMP目的地址不可达信息来通知原始发送主机但是这个过程中已经占用了额外的网络流量。在Windows系统中创建默认路由可以通过以下两种方式实现:在网络接口的TCPIP选项中设置默认网关从而创建默认路由使用routeadd命令添加网络地址为、网络掩码为的默认路由推荐大家总是使用前一种方式。配置多个默认网关你可以在单个网络接口、多个网络接口上同时配置多个默认网关但是TCPIP同时只会使用一个默认网关(默认路由)这个当前使用的默认网关称为活动默认网关(活动默认路由)。当不同网络接口所连接的网络之间没有连接性时(如一个网络接口连接到Internet而一个网络接口连接到内部网络)在多个网络接口上同时配置默认网关可能会带来连接性问题(具体的问题我将在后文描述)因此微软不推荐大家在多个网络接口上同时配置默认网关并且当你进行这种配置时会进行警告不过不会阻止你的操作。当在配置多个默认网关时将根据以下条件来选择活动默认网关:当路由表中具有多个默认网关时TCPIP根据跃点数来进行选择跃点数最低的默认网关具有最高的优先级如果路由表中具有多个具有最低跃点数的默认网关那么TCPIP根据默认网关对应的网络接口在网络连接的高级设置中的绑定优先级来决定如下图所示:死网关检测TCPIP会通过死网关检测算法来检测当前活动的默认网关是否存活如果活动默认网关发生故障则TCPIP会及时调整路由表选择使用下一个默认网关选择方式与原方式一致只是排除了发生故障的原活动默认网关。死网关检测算法的完整描述如下:当TCPIP在通过活动默认网关向某个目标IP地址进行TCP通信时如果失败的尝试次数达到TcpMaxDataRetransmissions注册表值(默认为)的一半(即次)还没有收到响应TCPIP将到达该目标IP地址的通信改为使用列表中的下一默认网关。当超过的TCP连接转向下一默认网关时TCPIP将活动默认网关修改为这些连接当前使用的默认网关。如果此时原始默认网关从故障中回复TCPIP将继续使用当前的活动默认网关而不会转移到原始默认网关除非重启计算机。如果当前的活动默认网关也出现故障那么TCPIP就会继续尝试使用列表中的下一个默认网关在尝试完整个列表后将返回到列表的开始又从第一个默认网关开始进行尝试。死网关检测仅监视TCP流量如果其他类型的流量连接失败不会切换默认网关。另外TCP是端到端的协议因此即使当前默认网关完全正常本地计算机的TCP通信失败也可能会导致切换默认网关。当不同网络接口所连接的网络之间没有连接性时(如一个网络接口连接到Internet而一个网络接口连接到内部网络)如果在多个网络接口上同时配置默认网关在活动默认网关出现故障导致切换默认网关时就可能会引起连接性故障。比如活动默认网关为Internet连接当它出现问题时此时默认网关切换为内部连接此时本地计算机将无法再访问位于Internet连接上的主机。对于这种情况微软建议使用routeadd来添加对应目的网络的匹配路由而不是设置多个默认网关。MSDN的文章windowsTCPIP的默认网关行为TCPIP主机可以使用以下方法到达远程目标地:存储针对每个远程目的地的特定于主机的路由。这显然不实用或不可行因为路由器表可能必须包含数千甚至数百万(对于Internet的情况)个路由。主机路由表必须在添加新地址或删除地址时进行变更。存储针对每个远程子网的网络路由。虽然这种方法更为可行但是也不实用因为路由器表仍然可能必须包含数百或数万(对于Internet的情况)个路由。主机路由表将必须在添加新子网或删除子网时进行变更。存储单个默认路由其可以有效地汇总不在本地子网上的所有位置。这种方法切实可行只需单个路由并且在从网络中添加或删除节点或子网时不需要进行变更。通过使用默认路由对于网络拓扑结构和可达目的地集的认知将被载入路由器而不是发送主机的职责。这种方法的优点是易于配置缺点则是主机可能发送针对不可到达地址的流量。当这种情况发生时到目标地址的路径中的某个路由器会使用一条ICMPDestinationUnreachableHostUnreachable(ICMP目的地址不可达主机不可达)信息来通知发送主机。在IP路由表中创建默认路由的默认网关设置是TCPIP主机配置的重要组成部分。默认网关的作用是对不在其子网上的所有目的地提供下一跳IP地址和接口。如果没有默认网关与远程目标地址的通信就无法进行除非向IP路由表添加额外的路由。默认网关配置您可以通过以下方式在运行WindowsXP或WindowsServer的计算机上配置一个默认网关:当使用DHCP来获得IP地址配置时默认网关就变成了"路由器DHCP"(RouterDHCP)选项中的第一个IP地址的值可在DHCP服务器上配置"路由器DHCP"选项其可指定一个或多个默认网关的有序列表。当使用用户配置的备用配置来获得IP地址配置时默认网关是"网络连接"中"Internet协议(TCPIP)"组件属性的备用配置选项卡上的默认网关字段中所指定的IP地址。您可以仅指定单个默认网关。当手动指定一个IP地址配置时默认网关是在"Internet连接协议(TCPIP)"属性的常规选项卡上的默认网关字段中键入的IP地址。为了指定多个默认网关您必须从"Internet连接协议(TCPIP)"高级属性中的IP设置选项卡上进行添加。当使用"自动专用IP寻址"(AutomaticPrivateIPAddressingAPIPA)来获得IP地址配置时未配置默认网关。APIPA仅适用于单个子网。默认网关配置将在IP路由表中创建一个默认路由。该默认路由的目的地为:子网掩码为:。在网络前缀表示法中该默认路由为:有时被缩写成:。下一跳地址即routeprint命令中的网关地址被设置为默认网关的IP地址。下一跳接口是routeprint命令的Interface列中所分配地址的接口。基于路由确定程序默认路由与所有目的地相匹配。如果没有针对目标地址的更匹配的路由则使用默认路由来确定下一跳地址和接口。默认路由流量是被转发到默认网关的发送到远程网络的流量(而不是发送到默认网关的IP地址的流量)。有关路由确定过程的更多信息请参见理解IP路由表(CableGuy年)。月文章默认路由量度默认情况下WindowsXP和WindowsServer的TCPIP基于默认网关所配置的适配器的速度来自动计算默认路由量度。例如对于一个Mbps的以太网络适配器默认路由量度被设定为而对于一个Mbps的以太网络适配器默认路由量度被设定为。为了改变DHCP分配的默认网关的这种行为可以使用"RouterMetricBaseMicrosoftspecificDHCP"选项。为了改变手动配置的默认网关的这种行为您可以针对所配置的默认网关在"Internet连接协议(TCPIP)"的高级属性中的"IP设置"选项卡上清除TCPIP网关地址对话框上的自动量度复选框。TCPIP网关地址对话框如下图所示。配置多个网关如果您有多个接口并为每个接口配置了一个默认网关那么基于接口速度的默认量度确定就会导致将最快的接口用于默认网关流量。这在计算机连接到相同网络的某些配置中也许是可取的。例如如果您有一个Mbps的以太网络适配器和一个Mbps的以太网络适配器它们连接到同一个组织的intranet(企业内联网)那么你会希望使用Mbps的适配器来发送默认网关流量。然而当计算机连接到两个或更多分散的(disjoint)网络(即在网络层没有提供对称可达性的网络)时这种默认行为可能构为问题。只有当数据包能够从任意目的地发送和接收时才存在对称可达性。例如Ping工具可用于测试对称可达性。分散网络的示例如下:没有网络层连接的网络比如:组织的intranet和测试实验室网络它们之间没有用于转发数据包的路由器。计算机能够同时连接到这两个网络但是如果没有同时到达这两个网络的路由并且连接它们的计算机没有转发数据包那么这两个网络就是分散的。具有对Internet的路由连接的专用intranet。在这种情况下存在非对称或单向可达性intranet主机能够从专用IP地址向Internet主机发送数据包但是返回流量无法送达因为用于专用地址空间的路由在Internet的路由器础结构中不存在。当组织使用以下配置时针对分散网络的连接性能将变得很重要:使用一个代理服务器(比如:MicrosoftInternetSecurityandAcceleration(ISA)Server)或者一个网络地址转换器(NAT)将其专用的intranet连接到Internet。在任一种情况下不管该组织是正在使用的是专用寻址还是公用寻址intranet的地址空间对Internet主机来说都无法直接触及。Intranet主机能够通过代理或转换功能间接访问Internet但是Internet主机不能直接访问任意intranet位置。因而它们之间不存在对称可达性。这就是组织给他们的员工所提供的Internet连接的常用配置。使用虚拟专用网络(VPN)服务器来允许远程用户或远程站点通过Internet连接到专用intranet。虽然该VPN服务器同时连接到Internet和一个专用intranet并且充当路由器但是Internet接口上的数据包过滤器配置阻止其接受任何不是基于VPN的流量。如果没有经过身份验证的VPN连接Internet主机就无法直接达到intranet位置。由于在任何时候对于默认路由流量TCPIP协议仅使用路由表中的单个默认路由因此在连接到分散网络的多个接口上配置的默认网关可能产生不必要的结果。对于ISA或VPN服务器的例子默认路由流量要么被转发到Internet要么被转发到intranet但是不会同时转发到这两个网络。从ISA或VPN服务器的角度看Internet上的所有位置都是可触及的或者intranet上的所有位置都是触及的但是无法同时触及。然而IAS或VPN服务器需要Internet和intranet上的所有位置实现同时对称可达性才能正确运作。当在多个接口上配置默认网关时选择用于当前使用的默认路由将基于以下条件:当路由表中存在具有不同量度的多个默认路由时WindowsXP和WindowsServer选择具有最低量度的默认路由。如果适配器具有不同的速度那么具有最高速度的适配器默认具有最低的量度因此将使用其转发默认路由流量。当路由表中存在多个具有最低量度的默认路由时WindowsXP和WindowsServer的TCPIP将使用与绑定次序排位最高的适配器相对应的默认路由。您可以在"网络连接"的高级设置对话框中的适配器和绑定选项卡上查看和修改绑定次序如下图所示。为了防止分散网络不可达的问题您必须在ISA或VPN服务器上完成以下步骤:在连接到具有最多路由数量的网络的接口上配置一个默认网关。在大多数分散网络的配置中具有最多路由数量的网络是Internet。不要在其他任何接口上配置默认网关。相反您应该使用静态路由或动态路由协议将其他分散网络的地址汇总到本地IP路由表。例如假设一台ISA服务器连接到Internet和一个专用intranet。该专用intranet使用专用IP地址空间。要配置这台服务器以便两个分散网络上的所有地址对ISA服务器来说都可达您需要在ISA服务器上完成以下步骤:在连接到Internet的适配器上配置一个默认网关。这样将创建一个指向Internet的默认路由使得所有Internet位置可达。通过Route工具使用连接到intranet的适配器作为持久静态路由来添加、和路由。这样将创建用于汇总所有专用intranet地址的路由使得所有intranet位置均可达。这个例子添加了静态路由。也可以将ISA服务器配置为一个"路由信息协议(RIP)"或"开放最短路径优先(OSPF)"动态路由器以便您不必汇总整个专用IP地址空间而是基于当前intranet路由拓扑结构来从IP路由表中动态添加或您可以配置"路由和远程访问"服删除特定于子网的路由。要使用RIP或OSPF务。失效网关检测失效网关检测由WindowsTCPIP用于检测默认网关的故障以及用于调整IP路由表以便在配置了多个默认网关的情况下使用下一个默认网关。当通过默认网关转发的某个TCP连接的TCP网段重传三次时(默认情况)失效网关检测将更改该远程IP地址的路由缓存项(RouteCacheEntryRCE)从而使用列表中的下一个默认网关来作为下一跳地址。RCE是路由表中的一个条目用于存储目的地的下一跳IP地址。当四分之一通过默认网关来路由的TCP连接都将它们的RCE调整为下一个默认网关时失效网关检测就会通知IP将计算机的默认网关改为调整后的连接正在使用的那个网关。如果TCP连接继续发生失败失效网关检测就会尝试使用列表中的下一个默认网关在尝试完整个列表后将返回第一个默认网关。失效网关检测仅监视TCP流量。如果其他类型的流量的连接失败默认网关不会被切换。失效网关检测可能会在某个远程路由器失败时导致默认网关配置发生变化。主机和目的地之间的路径中发生故障的远程路由器也可能导致沿着该路径转发的TCP连接失败并导致主机切换它的默认网关。由于失效网关检测依赖端到端的协议(比如:TCP)即使当前默认网关完全正常主机也可能会切换它的默认网关。有关Internet协议路由中的"自动跃点计数"功能的说明概要本文介绍windowsXP的Internet协议(IP)路由中所使用的"自动跃点计数"功能。更多信息跃点数是为用于特殊网络接口的IP路由分配的值用来标识与使用该路由有关的成本。例如可以根据链接速度、跃点计数或时间延迟来计算跃点数。"自动跃点计数"是windowsXP中的一个新增功能它可以自动为基于链接速度的本地路由配置跃点数。默认情况下将启用"自动跃点计数"功能也可以进行手动配置为其赋予一个具体的跃点数。当路由表中包含用于同一目的地的多个路由时"自动跃点计数"功能便非常有用。例如如果您的计算机具有一个兆位(Mb)的网络接口和一个Mb的网络接口并且该计算机具有一个在两个网络接口上均已配置的默认网关那么"自动跃点计数"功能就会为较慢的网络接口分配较高的跃点数。该功能会强制流向Internet的所有流量例如使用可用的最快网络接口。注意:通常情况下Microsoft不建议您跨越不相连的网络来添加默认网服务器和代理服务器等边缘服务器通常都关。例如诸如网络地址转换(NAT)被配置为连接两个或多个不相连的网络:公共Internet和一个或多个专用Intranet。在这种情况下不应在专用接口上分配默认网关因为这样做有可能导致网络上的路由不正确。下表概述了为绑定到各种速度的网络接口的路由分配跃点数的标准:链接速度跃点数大于Mb大于Mb并且小于或等于Mb大于Mb并且小于或等于Mb大于千位(Kb)并且小于或等于Mb小于或等于Kb下表列出了运行windowsXPServicePack的计算机的链接速度和跃点数。链接速度跃点数大于Mb大于Mb并且小于或等于Mb大于Mb并且小于或等于Mb大于Mb并且小于或等于Mb大于Kb并且小于或等于Mb小于或等于Kb"自动跃点计数"功能分别为网络中的每一个网络接口配置跃点数。该功能非常适用于有多个相同速度的网络接口的场合例如当每个网络接口都被分配了一个默认网关时。在这种情况下您可能需要手动配置一个网络接口上的跃点数然后启用"自动跃点计数"功能来配置其他网络接口上的跃点数。使用这种设置可以控制在IP流量路由中首先使用的网络接口。此外可以单独为每一个网关配置分配给特定默认网关的跃点数。这将有助于进一步控制用于本地路由的跃点数。例如可以启用"自动跃点计数"功能来配置分配给网络接口的路由同时手动配置分配给默认网关的跃点数。注意:如果跃点数是在网络接口级别指定的而网关被添加和配置了"自动跃点计数"功能则该网关可以继承分配给网络接口的跃点数。例如如果在网络接口级别分配了一个""的跃点数然后添加了一个网关并为该网关选中了"自动跃点计数"功能则该网关也会被分配一个""的跃点数。这种"自动跃点计数"功能和"间隔网关检测"功能不同后者强制网络来切路由和远程访问"功能也不换基于传输控制协议(TCP)重发的默认网关。此外"激活"间隔网关检测"功能。这种激活由计算机中启动TCP会话的TCPIP堆栈来执行。有关其他信息请单击下面的文章编号以查看Microsoft知识库中相应自动跃点的文章:(使用RRAS和请求拨号型连接的间隔网关检测要配置"计数"功能请按照下列步骤操作:在控制面板中双击网络连接。右键单击一个网络接口然后单击属性。单击Internet协议(TCPIP)然后单击属性。在常规选项卡上单击高级。要指定跃点数请在IP设置选项卡上单击以清除自动跃点计数复选框然后在接口跃点数字段中键入您需要的跃点数。这篇文章中的信息适用于:MicrosoftwindowsXPHomeEditionMicrosoftwindowsXPProfessionalEdition几个故障解析快速切换机器的ip地址有些人因为工作需要经常改变机器的ip地址如网管人员。(我的机器就有多个运营商的ip最多时有个运营商的其中又分私有地址和公网地址)有专门的软件可以做到快速切换但是我所下载的一个却不起作用。其实windowsnt系列的操作系统(ntkxp)都支持一个网卡绑定多个ip地址设多个网关。一台机器用哪一个ip地址访问外网取决于相关网关的跃点数机器会优先使用跃点数值最低的网关,所用的ip地址自然是与网关相对应的。在winxp环境下在tcpip属性中修改网关的跃点数(取消自动跃点)比如把其中的一个改为最小(比其他的小不一定为)就能达到使用相关联ip地址的目的。双网卡的问题呵呵这个问题我遇到过现在已经完全解决了主要是你的网卡的配置跃点数不对你的肯定是设置成了自动跃点先看看跃点数概念:跃点数表示使用路由的开销通常是到IP目标位置的跃点数目。本地子网上的任何东西都是一个跃点其后经过的每个路由器是另一个跃点。如果到同一目标有不同跃点数的多个路由则选择跃点数最低的路由。由于你的内网和外网的跃点数都是自动的所以系统自动设置跃点数为所以就冲突啦就会发生禁用其中一个另一个才能正常使用的现象:禁用了内部局域网才能上网或者是禁用外网才能搜索到局域网的机子其实你可以把你的内网的跃点数改成问题就完全解决了全过程不到一分钟~由于系统在查找路由的时候就会先找跃点数低()的内网然后才找跃点数高()的外网就能先找内网再找外网于是都能正常使用了具体设置方法如下:网上邻居右键属性本地连接(内网)右键属性选TCPIP协议属性高级取消"自动跃点计数"前面的钩填入""确定另一个外网的不用设置跃点数。当然了两个网卡的跃点数你也可以自己设置只要设置成不同的而且是内网的跃点数必须要低于外网的跃点数就行特别声明::资料来源于互联网版权归属原作者:资料内容属于网络意见与本账号立场无关:如有侵权请告知立即删除。

职业精品

精彩专题

上传我的资料

热门资料

资料评价:

/ 15
所需积分:0 立即下载

意见
反馈

返回
顶部

Q