查看Windows路由表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时间能够以这样的方式过去令人感到惊异。人们倾向于认为计算机技术属于高科技,但是,TCP/IP协议在过去的三十年里以各种形式出现,无所不在。因此,TCP/IP 协议有时间变得真正成熟起来,并且更稳定和更可靠。然而,当涉及到计算机的时候,事情就没有那样简单了。当路由包通过网络的时候,有时候会出现错误。在这种情况下,熟悉Windows路由表是很有帮助的。路由表能够决定来自有问题的机器的数据包的去向。在本文中,我将向你介绍如何查看Windows路由表以及如何让Windows路由表中包含的数据有意义。
查看Windows路由表
路由表是Windows的TCP/IP协议栈的一个重要的部分。但是,路由表不是Windows操作系统向普通用户显示的东西。如果你要看到这个路由表,你必须要打开一个命令提示符对话框,然后输入“ROUTE PRINT”命令。然后,你将看到一个类似于图A中显示的图形。
图A:这是Windows路由表的外观
在我深入讨论这个路由表之前,我建议你在命令提示符对话框中输入另一个命令。这个命令是:IPCONFIG /ALL
我建议你使用IPCONFIG /ALL命令的理由是因为这个命令能够显示TCP/IP 协议在机器中实际上是如何设置的。的确,你可以在网卡属性页认真查看TCP/IP 协议,但是,如果你从IPCONFIG得到这个信息,这个信息会更可靠。在过去的几年里,我曾经遇到过这样一些例子,IPCONFIG报告的信息与机器中的TCP/IP 协议设置屏幕中显示的信息完全不一样。这种事情不常见,但是,如果正好出现这种错误,你就会遇到这种不匹配的情况。坦率地说,键入到TCP/IP属性页中的信息反映了你想要Windows为选择的网络设置的TCP/IP协议。IPCONFIG提供的信息显示了Windows实际上设置的协议。
即使你没有出现一些奇怪的Windows错误,从IPCONFIG获得你的配置信息仍是非常有用的。如果一台机器有多个网卡,要记住每一个网卡绑定的设置是很困难的。IPCONFIG列出了如图B所示的每一个网卡的各种设置,很容易阅读。
图B:IPCONFIG /ALL显示这台机器上每一个网卡的TCP/IP设置
检查路由表
当这篇文章要讨论路由表的时候,你现在也许很想知道我为什么让你执行IPCONFIG /ALL命令。这样做的原因是你一般来说从来不看路由表,除非你的机器出现了问题。如果你遇到了问题,开始诊断故障的最佳地方就是对比IPCONFIG 提供的信息和路由表中存储的信息。
正如你在图B中所看到的那样,IPCONFIG/ALL屏幕显示了IP地址、默认网关等一些基本的TCP/IP信息。然而,路由表却不是这样容易看懂。所以,我要用一些时间讨论如何阅读路由表以及路由表中的信息代表什么意思。
为了理解这些列中的信息代表什么意思,你需要稍微了解一下路由器是如何工作的。路由器的工作是协调一个网络与另一个网络之间的通信。因此,一台路由器包含多个网卡,每一个网卡连接到不同的网段。
当用户把一个数据包发送到本机以外的一个不同的网段时,这个数据包将被发送到路由器。路由器将决定这个数据包应该转发给哪一个网段。如果这台路由器连接两个网段或者十几个网段也没有关系。决策的过程都是一样的,而且决策都是根据路由表做出的。
如果你要查看执行“Route Print”命令之后屏幕显示的内容,你将发现路由表分为五列。第一列是网络目的地址。列出了路由器连接的所有的网段。网络
掩码列提供这个网段本身的子网掩码,而不是连接到这个网段的网卡的子网掩码。这基本上能够让路由器确定目的网络的地址类。
第三列是网关。一旦路由器确定它要把这个数据包转发到哪一个目的网络,路由器就要查看网关列表。网关表告诉路由器这个数据包应该转发到哪一个IP 地址才能达到目的网络。
接口列告诉路由器哪一个网卡连接到了合适的目的网络。从技术上说,接口列仅告诉路由器分配给网卡的IP地址。那个网卡把路由器连接到目的网络。然而,路由器很聪明,知道这个地址绑定到哪一个物理网卡。
最后一列是测量。测量本身是一种科学。但是,我将设法简单向你解释一下它们做什么。我听说过的一个最佳的解释测量的方法是用机场的词汇对此进行解释。设想一下,我需要从北卡罗来纳州的加洛特市飞往佛罗里达州的迈阿密。由于加洛特机场非常大,我要去迈阿密海滩可以有很多选择。我可以乘坐西北航空公司的班机。那个班机能把我带到密执安州的底特律,然后从底特律飞往迈阿密。我还可以乘坐大陆航空公司的班机飞往休斯顿,然后飞往迈阿密。另一个选择是乘坐美国航空公司的飞机直接飞往迈阿密。我应该选择哪一条线路呢?
在现实生活中,有许多因素值得考虑,如飞机票的价格和起飞的时间等。但是,让我们假设这一切都是相同的。如果除了航线之外,航班都是一样的,那么,我会选择中途停留最少的航班。那会使我以最快的速度到达目的地。由于停留的次数少,我的衔接出问题的机会就少,行李丢失等问题也会减少。
路由是以同样的方式工作的。许多时候,路由器有很多方法发送一个数据包。在这种情况下,以最短的(或者最可靠的)路径发送数据包是有意义的。测量就在这里发挥作用了。Windows一般不查看测量列,除非通向一个目的地有很多路径。如果有多个路径,Windows将查看测量列以确定最短的路径。这是一种非常简单的解释。但是,这种解释说明了要点。
额外的路由选择
早些时候,我曾介绍过“Route Print”命令。但是,你用“Route”命令实际上能够做很多事情。“Route”命令的参数如下:
ROUTE [-f] [-p] [command [destination] []
-f开关是可以选择的。这个开关告诉Windows清除路由表中所有的网关输入记录。如果这个-f开关与其它命令一起使用,那么,在执行这个命令中的其它指令之前,所有的网关输入记录都将被清除。
-p开关使指定的路由保持不变。一般来说,当服务器重新启动的时候,你通过“ROUTE”命令指定的任何路由都会被删除。-p开关告诉Windows保留这个路由,即使系统重新启动也不改变。