IP链路的连接畅通是计算机正常接入网络的基础。例如,交换机、路由器等网络设备的连接与配置不正确,网卡和网络协议配置错误,计算机的IP地址信息设置不正确等都会造成IP链路的连接问题。因此,需要运用一些测验软件来判断网络逻辑链路是否畅通。 2.1 简单IP链路测验工具 Win系统自身提供了一些功能比较简单的IP链路测验工具,例如ping、pathping、tracert等工具。 IP网络连通性测验——ping ping命令是网络中运用频率相当高的命令,在网络不通或传输不稳定时,管理员都会运用ping命令测验网络连通性。ping命令内置于Win系统的TCP/IP协议中,运用ICMP协议来简单地发送一个数据包并请求应答,接收请求的目的主机再次运用ICMP发回同所接收的数据一样的数据。ping命令可以清楚了解每个数据包的发送和接收的往返时间,并报告无响应数据包的百分比,对确定网络是否正确连接、网络连接的状况(包遗失率)是十分有用。 1.使用实例 ping命令使用非常广泛,不仅可以测验与其他计算机的连通性,还可以用来测验网卡是否安装正确、通过主机名查看IP地址等。一般情况下,可以通过“ping IP地址”或“ping计算机名”的方式来检测网络连通性。 实例1:通过IP地址测验与其他计算机的连通性 通过ping IP地址的方式可以判断本地计算机与其他计算机的连通性,或者判断对方计算机是否在线等。这是局域网中最常用的操作。 例如,测验与局域网中一个IP地址为192.168.1.100的计算机是否能够连通。在命令提示符中输入如下命令: ping 192.168.1.100 按回车键运行,ping命令便开始测验,如果能够连通,就会返回一些数值,如time、TTL值等,如图2-1所示,说明对方计算机当前在线,并且能与该计算机连通。根据所返回的time(运用时间)和TTL(生存时间)值,还可以了解到网络的大致性能。time值越大,说明ping的时间越长,网络延时越大,则网络性能也就越不好;time值越小,则说明网络状况越好。 图2-1 ping IP地址 图2-2 不能ping通 如果不知道对方计算机的IP地址,只知道对方的计算机名,也可以运用ping命令测验,同时,还可以得到对方计算机的IP地址。 例如,现在要测验局域网中一台名为“chenzhicheng”计算机的连通性,在命令提示符中输入如下命令: ping chenzhicheng 按回车键运行,ping命令开始测验,如果能够连接,就会返回相应数值,如图2-3所示,说明与该计算机的连接正常。在返回值中,还会显示对方计算机的IP地址,即192.168.1.254。 图2-3 ping计算机名 图2-4 未检查到主机名 用户在浏览网页时,经常会遇到网页不能正常打开的情况。此时可以运用ping命令检查本地计算机到Internet的连通性,同时也可以获得该网站的IP地址。在命令提示符中输入如下命令: ping www.163.com 按回车键运行,显示如图2-5所示运行结果。首先会返回该网站的主机头名www.cache.split. netease.com, IP地址为202.108.9.16,然后返回与该网站的连通信息。说明可以解析域名并与网易网站连通。 图2-5 ping网站域名 有许多网站设置了不返回ICMP包,在运用ping命令时也会返回“请求超时”的消息,因此,测验时应多ping几个网站。如果此时依旧可以解析出该网站的IP地址,说明本地计算机可以连接DNS服务器。如果网络中没有专用的DNS服务器,则说明计算机可以上网。 实例4:查看局域网中一台计算机的计算机名 如果已知道某台计算机的IP地址为192.168.1.11,现在想知道该计算机的计算机名,可在命令提示符中输入如下命令: ping -a 192.168.1.11 按回车键运行,如果可以连通,即可在返回结果的“Pinging HSTJL-PC [192.168.1.11] with 32 bytes of data:”字段中显示,对应IP地址192.168.1.11的计算机名为“HSTJL-PC”,如图2-6所示。 图2-6 查看计算机名 如果想知道网络中某台服务器或设备的性能如何,也可以通过长时间不断地进行ping操作,来查看丢包现象,从而判断对方设备的性能。 在命令提示符中输入如下命令: ping -t 192.168.1.11 按回车键运行,ping命令便会开始不间断地ping该IP地址,如图2-7所示。从该图中可以看出,经常出现与该IP地址的不能连通的情况,说明该服务器或网络设备并不稳定。 图2-7 测验服务器或设备性能 ping命令加上-t参数运行后,会一直ping下去,不会自动停止,需运用Ctrl+C组合键手动停止。 2.ping命令的使用 造成网络性能问题的原因有很多,要搞定网络连接性问题,需逐步排除各个环节。例如本地网卡、网络协议、本地网络电缆,以及到远程计算机的连接等,这些问题的检测均可运用ping命令完成。 (1)测验网卡 如果计算机与不能与其他计算机或Internet正常连接,首先就要检查本地网卡是否正常。网卡一般会因驱动程序安装不正常、没有安装必需的通信协议等情况造成不能连接网络。此时,可运用“ping本地IP地址”或“ping 127.0.0.1”进行测验,通过测验可以得到以下信息。 是否正确安装了网卡 如果测验成功,说明网卡没有问题;如果测验不成功,说明该网卡驱动程序或TCP/IP协议没有正常安装。 检查网卡驱动步骤为:打开“设备管理器”,展开“网络适配器”列表,查看网卡是否有一个黄色的“! ”。如果有,就需重新安装驱动程序。 提示 127.0.0.1是本地网卡的默认回环地址,无论网卡中是否分配了IP地址,该地址都会存在,且仅在本地计算机中有效,在网络中无效。 是否正确安装了TCP/IP协议 如果测验成功,说明网卡TCP/IP协议没有问题。如果不成功并且网卡驱动程序安装正常,则应检查本地网卡的“本地连接”属性,查看是否正确安装了TCP/IP协议。 是否正确配置了IP地址和子网掩码 如果“ping 127.0.0.1”成功,但“ping本地IP地址”不成功,说明没有正确配置IP地址。应打开本地网卡的“本地连接”属性,检查IP地址和子网掩码是否设置正确,并进行正确配置。 (2)测验局域网连接 通过ping局域网内其他计算机或服务器的计算机名或IP地址,可测验网络(或同一VLAN)的连接是否正常。 检测IP地址和子网掩码设置是否正确 如果局域网内的计算机ping不通,则应检查网络连接的IP地址和子网掩码配置是否正确。 确认网络连接是否正常 如果IP地址和子网掩码设置成功,但仍ping不通,应当对网络设备和通讯介质逐段测验、检查和排除。 (3)测验与远程主机的连接 通过ping命令可以测验与远程主机的连接是否正常,尤其是与Internet的连接。该测验可通过ping远程主机的IP地址或域名,判断网络中的问题。 确认是否能连接Internet 如果计算机不能浏览网页,可以ping网站域名,如果能ping通,说明计算机与Internet连接正常,请检查本地DNS服务或系统问题。如果不能ping通,可能是对方网站没有运行,或者本地计算机根本不能连接Internet,请检查本地网关或服务器问题。 确认DNS服务器设置是否正常 如果运用ping命令可以ping通Internet上的IP地址,但打不开网页,则可能是DNS服务器设置有问题,请ping本地DNS服务器看是否能正常连接,并在网络连接属性中检查DNS服务器设置。 确认本地Internet连接是否正常 如果与任何一个主机的连接都超时,或者丢包率都非常高,则应当与ISP共同检查Internet连接,包括线路、Modem和路由器等多方面的设置。 3.ping命令参数 ping命令的功能非常强大,除以上功能外,若配合相应的参数运用,还可实现更多的功能。 ping命令的语法如下: ping [-t] [-a] [-n Count] [-l Size] [-f] [-i TTL] [-v TOS] [-r Count] [-s Count] [{-j HostList — -k HostList}] [-w Timeout] [-R] [-R] [-S SrcAddr] [-4] [-6] TargetName 参数说明: -t:向目的地连续发送回响请求信息。 -a:对目的地IP地址进行反向名称解析。如果解析成功,ping将显示相应的主机名。 -n count:定义用来测验所发出的测验包的个数,默认值为4。 -l Size:指定发送的回响请求消息中“数据”字段的长度(以字节为单位)。默认值为32, Size的最大值是65527。由于过大的数据包会占用大量的带宽,因此,曾被黑客作为攻击服务器的一种手段。 -f:指定发送的“回显请求”中其IP标头中的“不分段”标记被设置为1(只适用于IPv4)。“回显请求”消息不能在到目标的途中被路由器分段。 -i TTL:指定回响请求消息的IP数据头中的TTL值。其默认值是是主机的默认TTL值,TTL的最大值为255。 -v TOS:指定发送的“回显请求”消息的IP标头中的“服务类型(TOS)”字段值(只适用于IPv4可用)。TOS的值是0到255之间的十进制数,默认值是0。 -r Count:指定IP标头中的“记录路由”选项,用于记录由“回显请求”消息和相应的“回显请求”消息运用的路径(只适用于IPv4)。Count的最小值必须为1,最大值为9。 -s Count:指定IP数据头中的“Internet时间戳”选项,用于记录每个跃点的回响请求消息和相应的回响应答消息的到达时间。Count的最小值是1,最大值是4。 -j HostList:指定“回显请求”消息对于HostList中指定的中间目标集在IP标头中运用“稀疏来源路由”选项(只适用于IPv4)。运用稀疏来源路由时,相邻的中间目标可以由一个或多个路由器分隔开。 -k HostList:指定“回显请求”消息对于HostList中指定的中间目标集在IP标头中运用“严格来源路由”选项(只适用于IPv4)。 -w Timeout:指定等待回响应答消息响应的时间(以微秒计),该回响应答消息响应接收到的指定回响请求消息。如果在超时时间内未接收到回响应答消息,将会显示“请求超时”的错误消息。默认的超时时间为4000毫秒(4秒)。 -4:指定将IPv4用于ping。不需要用该参数识别带有IPv4地址的目标主机。仅需要它按名称识别主机。 -6:指定将IPv6用于ping。不需要用该参数识别带有IPv6地址的目标主机。仅需要它按名称识别主机。 TargetName:指定目标主机的名称或IP地址。 4.常见的出错信息 用户在运用ping命令诊断网络问题过程中,经常会遇到如下的一些错误提示信息,这些错误信息,正是排除问题的重要突破口。 unknown host unknown host(不知名主机),表示该远程主机的名字不能被命名服务器转换成IP地址。问题原因可能是命名服务器有问题,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有问题。 Network unreachable Network unreachable(网络不能到达),这是本地系统没有到达远程系统的路由,可用netstat -rn检查路由表来确定路由配置情况。 No answer No answer(无响应),表示远程系统没有响应。这种问题说明本地系统有一条到达远程主机的路由,但却接收不到发回的任何分组报文。问题原因可能是远程主机没有工作、本地或远程主机网络配置不正确、本地或远程的路由器没有工作、通信线路有问题或远程主机存在路由选择问题。 timed out timed out(超时),表示与远程主机的链接超时,数据包遗失。问题原因可能是到路由器的连接问题、路由器不能通过,也可能是远程主机已经死机。 2.1.2 路径信息提示工具——pathping pathping工具提供有关在源和目标之间的中间跃点处,网络滞后和网络遗失的信息。pathping在一段时间内将多个回响请求消息发送到源和目标之间的各个路由器,然后根据各个路由器返回的数据包计算结果。因为pathping可以表示在任何特定路由器或链接处的数据包的遗失程度,所以根据这些信息可以确定存在网络问题的路由器或子网。 1.使用实例 实例1:显示本地计算机和服务器之间的路径信息 在命令行提示符下键入如下命令: pathping -n www.heuet.com 按回车键运行,显示如图2-8所示运行结果。 图2-8 显示本地计算机和服务器之间的路径信息 在Address列中所显示的链接遗失速率(以垂直线 — 表示)表明造成路径上转发的数据包遗失的链路处于堵塞状态。路由器显示的遗失速率(由IP地址标识)表明这些路由器可能已经超载。 实例2:显示连接到远程网关的路径信息 在命令提示符下中输入如下命令: pathping -n 192.168.1.10 按回车键运行,显示如图2-9所示运行结果。 图2-9 显示连接到远程网关的提示信息 pathping命令的语法如下: pathping [-n] [-h MaximumHops] [-g HostList] [-p Period] [-q NumQueries [-w Timeout] [-i IPAddress] [-4 IPv4] [-6 IPv6][TargetName] 参数说明: -n:阻止pathping试图将中间路由器的IP地址解析为各自的名称,运用该参数可以加快显示pathping的结果。 -h MaximumHops:在搜索目标(目的)的路径中指定跃点的最大数,默认值为30跃点。 -g HostList:指定回显请求消息在IP标题中运用“稀疏资源路由”选项,该IP标题带有HostList中指定的中间目标集。 -p Period:指定两个连续的ping之间的时间间隔(以毫秒为单位)。默认值为250毫秒(1/4秒)。 -q NumQueries:指定发送到路径中每个路由器的回显请求消息数。默认值为100个查询。 -w Timeout:指定等待应答的时间(以毫秒为单位)。默认值为3000毫秒(3秒)。 -I IPAddress:指定源地址。 -T:在向路由所经过的每个网络设备发送的回显请求消息上附加一个二级优先级标记(例如802.1p)。这有助于标识不具有二级优先级功能的网络设备。 -R:确定路由所经过的每个网络设备是否支持“资源预留设置协议”(RSVP)。 -4 IPv4:指定pathping只运用IPv4 -6 IPv6:指定pathping只运用IPv6。 TargetName:指定目的端,它既可以是IP地址,也可以是主机名。 注意事项: pathping参数是区分大小写的。 为避免网络堵塞,建议以非常慢的速度发送ping信号。 为减小突发遗失所造成的影响,发送ping信号不要过于频繁。 运用-p参数时,ping将单独发送到各个中间跃点。因此,向同一跃点发送ping命令的时间间隔为Period乘以跃点数。 运用-w参数时,可以同时发送多个ping命令。因此,Timeout参数中指定的时间间隔不受ping之间等待的Period参数指定的时间间隔的限制。 只有“Internet协议(TCP/IP)”协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。 2.1.3 测验路由路径——tracert tracert命令是Win操作系统自带的命令,它通过递增“生存时间(TTL)”的值将Internet控制消息协议(ICMP)回应数据包或ICMPv6消息发送给目标,可以确定到达目标主机的路径。路径将以列表形式显示,其中包含源主机与目标主机之间路径中路由器的近侧路由器接口。 1.跟踪网站路由 tracert命令通过跟踪目标主机的方式,确定到达目标主机所需的路径。当网络出现问题时,运用tracert命令可以确定出现问题的具体位置,找出在经过哪个路由时出现了问题,从而使网络管理员缩小排查范围,因此也是网络问题排除过程中一款常用的小工具。 例如,现在要查看到网站www.coolpen.net所经过的路由及运用时间。在命令提示符下输入如下命令: tracert www.coolpen.net 按回车键运行,显示如图2-10所示运行结果。默认状态下,tracert可以显示30条记录。 图2-10 跟踪路由 注意 在运用tracert命令检测网络的过程中,很可能会遇到“Request timed out”的提示信息,出现这种情况,可能是由于当时网络稳定性差,也可能是由于所到达的路由器设置问题。如果连续4次都出现该提示信息,说明遇到的是拒绝tracert命令访问的路由器。 2.tracert命令参数 tracert命令的语法如下: tracert [-d] [-h MaximumHops] [-j HostList] [-w Timeout] [-R] [-S SrcAddr] [-4][-6] TargetName 参数说明: -d:防止tracert试图将中间路由器的IP地址解析为计算机名称。可加速显示tracert的结果。 -h MaximumHops:指定搜索目标主机的路径中存在的跃点(路由器)的最大数。默认值为30。 -j HostList:指定回应请求消息将IP报头中的松散源路由选项与Hostlist中指定的中间目标集在一起运用。注意,只有跟踪IPv4的目标地址时才运用该参数。 -w Timeout:指定等待“Request timed out.”消息或正常回应消息的时间(以毫秒为单位)。如果在限定时间内未收到消息,则显示一个*。默认的超时时间为4000毫秒(4秒),用户可以根据自己的网络连接状况设定相应的时间值。 -R:指定IPv6路由扩展标头使用来将“回显请求”消息发送到本地主机,运用目标作为中间目标并测验反向路由。 -4:指定tracert.exe只能将IPv4用于本跟踪。 -6:指定tracert.exe只能将IPv6用于本跟踪。 TargetName:指定目标名称,可以是IP地址或目标计算机的名称。 |