决定数据包去向Windows路由表透析

决定数据包去向Windows路由表透析,第1张

时间可以这样流逝,真是神奇。人们倾向于认为计算机技术属于高科技,但TCP/IP协议在过去的三十年中以各种形式出现,无处不在。因此,TCP/IP协议有时间真正走向成熟,变得更加稳定可靠。然而,说到电脑,事情就没那么简单了。当通过网络路由数据包时,有时会出现错误。在这种情况下,熟悉Windows路由表会很有帮助。路由表可以确定来自有问题机器的数据分组的目的地。在本文中,我将向您展示如何查看Windows路由表,以及如何使Windows路由表中包含的数据有意义。
检查Windows路由表

路由表是Windows TCP/IP协议栈的重要组成部分。但是,路由表并不是Windows操作系统给普通用户看的东西。如果要查看这个路由表,必须打开命令提示符对话框,输入“ROUTE PRINT”命令。然后,您将看到一个类似于图a所示的图表。

答:这是Windows路由表的外观。

 在我深入讨论这个路由表之前,我建议你在命令提示符对话框中输入另一个命令。这个命令是:IPCONFIG /ALL在深入讨论这个路由表之前,我建议您在命令提示符对话框中输入另一个命令。此命令是: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屏幕显示了一些基本的TCP/IP信息,如IP地址和默认网关。然而,路由表并不那么容易理解。因此,我将花一些时间讨论如何读取路由表,以及路由表中的信息意味着什么。

要理解这些栏目中信息的含义,您需要了解一些路由器的工作原理。路由器的工作是协调一个网络和另一个网络之间的通信。因此,一个路由器包含多个网卡,每个网卡连接到不同的网段。

当用户将数据包发送到本地计算机外部的不同网段时,该数据包将被发送到路由器。路由器将决定该数据包应该转发到哪个网段。这个路由器连接两个网段还是十几个网段都无所谓。决策过程是一样的,所有的决策都是根据路由表做出的。

如果你想在执行“Route Print”命令后查看屏幕上显示的内容,你会发现路由表分为五列。第一列是网络目的地址。列出路由器连接的所有网段。“网络掩码”列提供该网段本身的子网掩码,而不是连接到该网段的网卡的子网掩码。这基本上使路由器能够确定目的网络的地址类别。

第三列是网关。一旦路由器确定要将数据包转发到哪个目的网络,它将检查网关列表。网关表告诉路由器该数据包应该转发到哪个IP地址才能到达目的网络。

接口栏告诉路由器哪个网卡连接到适当的目的网络。从技术上讲,接口一栏只告诉路由器分配给网卡的IP地址。该网卡将路由器连接到目的网络。但是,路由器足够聪明,知道这个地址绑定到哪个物理网卡。

最后一栏是测量。测量本身就是一门科学。不过,我会试着向你简单解释一下他们是做什么的。我听说过一个解释测量的新方法,就是用机场词汇来解释。想象一下,我需要从北卡罗来纳州的加洛特飞往佛罗里达州的迈阿密。因为加洛特机场很大,我可以有很多选择去迈阿密海滩。我可以坐西北航空空的航班。那趟航班可以把我带到密歇根州的底特律,然后从底特律飞到迈阿密。也可以坐大陆航空空飞休斯顿,然后飞迈阿密。还有一个选择就是乘坐美航空直飞迈阿密。我该选哪条线?

在现实生活中,有许多因素值得考虑,如机票的价格和出发时间。但是,让我们假设都是一样的。如果航班除了路线都一样,那么我会选择中途停留最少的航班。这将使我能够尽快到达我的目的地。由于停靠的次数少了,我出现转机问题的机会也就少了,行李丢失等问题也会减少。

路由以同样的方式工作。很多时候,路由器有很多方法发送数据包。在这种情况下,用最短(或最可靠)的路径发送数据包是有意义的。测量在这里发挥了作用。通常,Windows不会查看度量列,除非有多条路径可以到达一个目标。如果有多条路径,Windows将查看度量列以确定最短路径。这是一个非常简单的解释。不过,这个解释说明了要点。

附加路由

前面,我介绍了“路线打印”命令。然而,您实际上可以使用“Route”命令做很多事情。“Route”命令的参数如下:

路线[-f][-p][命令[目的地] []

f开关是可选的。此开关告诉Windows清除路由表中的所有网关输入记录。如果此-f开关与其他命令一起使用,则在执行此命令中的其他命令之前,将清除所有网关输入记录。

-p开关保持指定的路由不变。一般来说,服务器重启后,你用“ROUTE”命令指定的任何路由都会被删除。p开关告诉Windows保持这个路由,即使系统重新启动。

“ROUTE”命令参数的命令部分相对简单。该命令集包含四个选项:打印、添加、删除和更改。我向您介绍了“路由打印”命令。甚至这个命令也包含其他选项。例如,您可以在该命令中使用通配符。例如,如果您只想输出与192.x.x.x子网相关的路由,您可以使用此命令:“ROUTE PRINT 192*”。

“路线删除”命令的工作方式与“路线打印”非常相似。只需输入“ROUTE DELETE”命令,然后输入要从路由表中删除的目的地址和网关。例如,如果要删除192.0.0.0网关,可以输入以下命令:“ROUTE DELETE 192.0.0.0”。

“路线更改”和“路线添加”命令的基本参数是相同的。输入此命令时,必须指定目标、子网掩码和网关。您也可以指定测量和接口,但是这是可选的。例如,如果您想添加一个参数最低的目的地,您可以输入以下命令:route add 147 . 0 . 0 . 0 255 . 0 . 0 148.100.100.100。

在该命令中,147.0.0.0是您新添加的目的地址。25.0.0.0是该目的地址的子网掩码,148.100.100.100是网关。您可以使用METRIC和IF参数来扩展此命令的功能。示例:路由添加147 . 0 . 0 . 0 255 . 0 . 0 148.100.100.100公制1if1

测量参数是可选的。但是,它指定了要测量或路由的跳数。IF参数告诉Windows使用哪个网卡。在这种特殊情况下,Windows将使用绑定到Windows的网卡作为接口1。如果不使用IF参数,Windows将搜索可用的网卡。

结论

在本文中,我解释了如何使用“ROUTE”命令显示Windows路由表,以及如何在必要时修改这些路由表。如果你需要一些额外的帮助,你可以输入“ROUTE/?”命令可以获得更多的参数示例。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 决定数据包去向Windows路由表透析

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情