使用 Arp 解决硬件地址问题
“地址解析协议 (ARP)”允许主机查找同一物理网络上的主机的媒体访问控制地址,如果给出后者的 IP 地址。为使 ARP 更加有效,每个计算机缓存 IP 到媒体访问控制地址映射消除重复的 ARP 广播请求。
可以使用 arp 命令查看和修改本地计算机上的 ARP 表项。arp 命令对于查看 ARP 缓存和解决地址解析问题非常有用。
详细信息,请参阅查看“地址解析协议 (ARP)”缓存和添加静态 ARP 缓存项目。
使用 nbtstat 解决 NetBIOS 名称问题
TCP/IP 上的 NetBIOS (NetBT) 将 NetBIOS 名称解析成 IP 地址。TCP/IP 为 NetBIOS 名称解析提供了很多选项,包括本地缓存搜索、WINS 服务器查询、广播、DNS 服务器查询以及 Lmhosts 和主机文件搜索。
Nbtstat 是解决 NetBIOS 名称解析问题的有用工具。可以使用nbtstat 命令删除或更正预加载的项目:
nbtstat -n 显示由服务器或重定向器之类的程序在系统上本地注册的名称。
nbtstat -c 显示 NetBIOS 名称缓存,包含其他计算机的名称对地址映射。
nbtstat -R 清除名称缓存,然后从 Lmhosts 文件重新加载。
nbtstat -RR 释放在 WINS 服务器上注册的 NetBIOS 名称,然后刷新它们的注册。
nbtstat -a name 对 name 指定的计算机执行 NetBIOS 适配器状态命令。适配器状态命令将返回计算机的本地 NetBIOS 名称表,以及适配器的媒体访问控制地址。
nbtstat -S 列出当前的 NetBIOS 会话及其状态(包括统计),如下例所示:
NetBIOS connection table
Local name State In/out Remote Host Input Output
------------------------------------------------------------------
CORP1 <00> Connected Out CORPSUP1<20> 6MB 5MB
CORP1 <00> Connected Out CORPPRINT<20> 108KB 116KB
CORP1 <00> Connected Out CORPSRC1<20> 299KB 19KB
CORP1 <00> Connected Out CORPEMAIL1<20> 324KB 19KB
CORP1 <03> Listening
使用 netstat 显示连接统计
可以使用 netstat 命令显示协议统计信息和当前的 TCP/IP 连接。netstat -a 命令将显示所有连接,而 netstat -r 显示路由表和活动连接。netstat -e 命令将显示Ethernet 统计信息,而 netstat -s 显示每个协议的统计信息。如果使用 netstat -n,则不能将地址和端口号转换成名称。下面是 netstat 的输出示例:
C:\>netstat -e
Interface Statistics
Received Sent
Bytes 3995837940 47224622
Unicast packets 120099 131015
Non-unicast packets 7579544 3823
Discards 0 0
Errors 0 0
Unknown protocols 363054211
C:\>netstat -a
Active Connections
Proto Local Address Foreign Address State
TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED
TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED
TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED
TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED
TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED
TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED
UDP CORP1:1025 *:*
UDP CORP1:snmp *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
C:\>netstat -s
IP Statistics
Packets Received = 5378528
Received Header Errors = 738854
Received Address Errors = 23150
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 4616524
Output Requests = 132702
Routing Discards = 157
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures =
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0
ICMP Statistics
Received Sent
Messages 693 4
Errors 0 0
Destination Unreachable 685 0
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenches 0 0
Redirects 0 0
Echoes 4 0
Echo Replies 0 4
Timestamps 0 0
Timestamp Replies 0 0
Address Masks 0 0
Address Mask Replies 0 0
TCP Statistics
Active Opens = 597
Passive Opens = 135
Failed Connection Attempts = 107
Reset Connections = 91
Current Connections = 8
Segments Received = 106770
Segments Sent = 118431
Segments Retransmitted = 461
UDP Statistics
Datagrams Received = 4157136
No Ports = 351928
Receive Errors = 2
Datagrams Sent = 13809
使用 tracert 跟踪网络连接
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
Tracert 工作原理
通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在Tracert 实用程序中看不到。
Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。
在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机
172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地
址是 192.168.0.1。
C:\>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1 2s 3s 2s 10,0.0,1
2 75 ms 83 ms 88 ms 192.168.0.1
3 73 ms 79 ms 93 ms 172.16.0.99
Trace complete.
用 tracert 解决问题
可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 19
2.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10.
0 网络不存在(错误的 IP 地址)。
C:\>tracert 192.168.10.99
Tracing route to 192.168.10.99 over a maximum of 30 hops
1 10.0.0.1 reportsestination net unreachable.
Trace complete.
Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个
点。
Tracert 命令行选项
Tracert 命令支持多种选项,如下表所示。
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
选项 描述
-d 指定不将 IP 地址解析到主机名称。
-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。
-j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。
-w timeout 等待 timeout 为每次回复所指定的毫秒数。
target_name 目标主机的名称或 IP 地址。
详细信息,请参阅使用 tracert 命令跟踪路径。
使用 pathping 测试路由器
pathping 命令是一个路由跟踪工具,它将 ping 和 tracert 命令的功能和这两个工具所不提供的其他信息结合起来。pathping 命令在一段时间内将数据包发送到到达最终目标的路径上的每个路由器,然后基于数据包的计算机结果从每个跃点返回。由于命令显示数据包在任何给定路由器或链接上丢失的程度,因此可以很容易地确定可能导致网络问题的路由器或链接。某些选项是可用的,如下表所示。
选项 名称 功能
-n Hostnames 不将地址解析成主机名。
-h Maximum hops 搜索目标的最大跃点数。
-g Host-list 沿着路由列表释放源路由。
-p Period 在 ping 之间等待的毫秒数。
-q Num_queries 每个跃点的查询数。
-w Time-out 为每次回复所等待的毫秒数。
-T Layer 2 tag 将第 2 层优先级标记(例如,对于 IEEE 802.1p)连接到数据包并将它发送到路径中的每个网络设备。这有助于标识没有正确配置第 2 层优先级的网络设备。-T 开关用于测试服务质量 (QoS) 连通性。
-R RSVP isbase Che检查以确定路径中的每个路由器是否支持“资源保留协议 (RSVP)”,此协议允许主机为数据流保留一定量的带宽。 -R 开关用于测试服务质量 (QoS) 连通性。
默认的跃点数是 30,并且超时前的默认等待时间是 3 秒。默认时间是 250 毫秒,并且沿着路径对每个路由器进行查询的次数是 100。
以下是典型的 pathping 报告。跃点列表后所编辑的统计信息表明在每个独立路由器上数据包丢失的情况。
D:\>pathping -n msw
Tracing route to msw [7.54.1.196]
over a maximum of 30 hops:
0 172.16.87.35
1 172.16.87.218
2 192.68.52.1
3 192.68.80.1
4 7.54.247.14
5 7.54.1.196
Computing statistics for 125 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 172.16.87.35
0/ 100 = 0% |
1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.218
13/ 100 = 13% |
2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.1
0/ 100 = 0% |
3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1
0/ 100 = 0% |
4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14
0/ 100 = 0% |
5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196
Trace complete.
当运行 pathping 时,在测试问题时首先查看路由的结果。此路径与 tracert 命令所显示的路径相同。然后 pathping 命令对下一个 125 毫秒显示忙消息(此时间根据跃点计数变化)。在此期间,pathping 从以前列出的所有路由器和它们之间的链接之间收集信息。在此期间结束时,它显示测试结果。
最右边的两栏 This Node/Link Lost/Sent=Pct 和 Address 包含的信息最有用。172.16.87.218(跃点 1)和 192.68.52.1(跃点 2)丢失 13% 的数据包。 所有其他链接工作正常。在跃点 2 和 4 中的路由器也丢失寻址到它们的数据包(如 This Node /Link 栏中所示),但是该丢失不会影响转发的路径。
对链接显示的丢失率(在最右边的栏中标记为 |)表明沿路径转发丢失的数据包。该丢失表明链接阻塞。对路由器显示的丢失率(通过最右边栏中的 IP 地址显示)表明这些路由器的 CPU 可能超负荷运行。这些阻塞的路由器可能也是端对端问题的一个因素,尤其是在软件路由器转发数据包时。(作者:不详)
硬盘是计算机中最重要的存储介质,关于硬盘的维护保养,相信每个电脑用户都有所了解。不过,以前的很多文章都是针对拨号时代的单机用户,在宽带逐渐普及、大硬盘不断降价的今天,很多人一打开电脑就会让硬盘满负荷运转:看高清晰的DVDRip影片、进行不间断的BT下载、使用Windows的系统还原功能……不过,你可能并不清楚,这些新软件带来的新的应用模式,会给硬盘带来新的伤害!
新应用模式带来的隐患
1.编码错误的DVDRip
现在网上由DVD转录压缩的DVDRip格式的影片相当受欢迎。这种格式的影片清晰度和DVD相差无几,但下载一部影片只有700MB~1.3GB大小,因此很多用户喜欢将DVDRip格式的影片下载到硬盘上慢慢欣赏。不过,播放这种格式的影片对系统有较高的要求:除了CPU、显卡要求足够强劲以保证播放流畅外,硬盘负荷也非常大——因为播放DVDRip就是一个不断解码解压缩,再输送到显示系统的过程。笔者发现,在遇到有编码错误的DVDRip文件时,Windows会出现磁盘占用率非常高的现象:系统不断想要把编码转换为视频信号,但编码错误的文件索引和相应的信号段是不匹配的——此时,硬盘灯会不断地闪烁,整个系统对用户的操作响应极慢,用户点击菜单但几乎没有反应。如果编码错误较多,系统有时候甚至会死机。很多用户在此时非常不耐烦,直接按下机箱上的RESET键甚至是直接关闭计算机电源,在硬盘磁头没有正常复位的情况下,这种操作相当危险!
晨风提示:Windows XP的用户需要特别注意,当我们在Windows XP中自动预览一些体积较大的ASF、WMV等文件时,虽然没有进行正式播放,但也会出现计算机速度突然变慢、硬盘灯不断闪烁等现象,其罪魁祸首仍然是视频文件错误编码!
2. Bittorrent下载
Bittorrent下载是宽带时代新兴的P2P交换文件模式,各用户之间共享资源,互相当种子和中继站,俗称BT下载。由于每个用户的下载和上传几乎是同时进行,因此下载的速度非常快。不过,它会将下载的数据直接写进硬盘(不像FlashGet等下载工具可以调整缓存,到指定的数据量后才写入硬盘),因此对硬盘的占用率比FTP下载要大得多!
此外,BT下载事先要申请硬盘空间,在下载较大的文件的时候,一般会有2~3分钟时间整个系统优先权全部被申请空间的任务占用,其他任务反应极慢。有些人为了充分利用带宽,还会同时进行几个BT下载任务,此时就非常容易出现由于磁盘占用率过高而导致的死机故障。
因此,除非你的电脑硬件配置相当高(尤其是内存,至少要在256MB以上),否则在BT下载作出改进以前,如果要进行长时间、多任务的下载应用,最好还是采用传统的FTP软件。
3. PQMAGIC转换的危险
PQMAGIC是大名鼎鼎的分区魔术师,能在不破坏数据的情况下自由调整分区大小及格式。不过,PQMAGIC刚刚推出的时候,一般用户的硬盘也就2GB左右,而现在60~80GB的硬盘已是随处可见,PQMAGIC早就力不从心了:调整带数据的、5GB以上的分区,通常都需要1小时以上!
除了容量因素影响外,PQMAGIC调整硬盘分区时,大量的时间都花在校验数据和检测硬盘上,可以看出,在这种情况下“无损分区”是很难保证的:由于转换的速度很慢,耗时过长,转换调整过程中,很容易因为计算机断电、死机等因素造成数据丢失。这种损失通常是一个或数个分区丢失,或是容量变得异常,严重时甚至会导致整个硬盘的数据无法读取。
4.硬盘保护软件造成的异常
容易造成硬盘异常的,还有硬盘保护软件。比如“还原精灵”,由于很多人不注意在重装系统或是重新分区前将它正常卸载,往往会发生系统无法完全安装等情况。此时再想安装并卸载“还原精灵”,却又提示软件已经安装,无法继续,陷入死循环中。这种故障是由于“还原精灵”接管了INT13中断,在操作系统之前就控制了硬盘的引导,用FDISK/MBR指令也无法解决。本来这只是软件的故障,但很多人经验不足,出了问题会找各种分区工具“试验”,甚至轻率地低级格式化,在这样的折腾之下,硬盘很可能提前夭折!
5.频繁地整理磁盘碎片
磁盘碎片整理和系统还原本来是Windows提供的正常功能,不过如果你频繁地做这些操作,对硬盘是有害无利的。磁盘整理要对硬盘进行底层分析,判断哪些数据可以移动、哪些数据不可以移动,再对文件进行分类排序。在正式安排好硬盘数据结构前,它会不断随机读取写入数据到其他簇,排好顺序后再把数据移回适当位置,这些操作都会占用大量的CPU和磁盘资源。其实,对现在的大硬盘而言,文档和邮件占用的空间比例非常小,多数人买大硬盘是用来装电影和音乐的,这些分区根本无需频繁整理——因为播放多媒体文件的效果和磁盘结构根本没有关系,播放速度是由显卡和CPU决定的。
6. Windows XP的自动重启
Windows XP的自动重启功能可以自动关闭无响应的进程,自动退出非法操作的程序,从而减少用户的操作步骤。不过,这个功能也有一个很大的问题:它会在自动重新启动前关闭硬盘电源,在重新启动机器的时候再打开硬盘电源!这样一来,硬盘在不到10秒的时间间隔内,受到电流两次冲击,很可能会发生突然“死亡”的故障。为了节省一些能源设置成让系统自动关闭硬盘,对硬盘来说也是弊大于利的。
消除隐患的应对方案
1.解决编码错误
遇到编码错误的视频文件,最好的方法是通过正常途径向系统发出关机或重新启动指令,耐心等待系统自己处理完毕后重新启动计算机。然后上网搜索一些专门修复编码错误的软件来修复这些影片,再进行观看。
2.加大系统缓存
对于像BT这种线程没优化好、同时读取和写入硬盘的软件,如果一定要使用,可以通过修改注册表的方式加大磁盘缓冲,以减小硬盘读写的频率。以Windows XP为例:
单击“开始”、“运行”,键入“Regedit”后回车,打开注册表编辑器。依次展开HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\SESSION MANAGER\MEMORY MANAGEMENT分支,在右侧窗口中单击鼠标右键,选择“新建”、“DWORD”值,将新值命名为“Iopagelocklimit”,并将其值设置为“4000”(16进制,即16MB)或“8000”(即32MB),这样硬盘的读写频率会降低不少。对于BT造成的CPU占用率过高问题,可以通过调节任务的优先级来解决:在Windows 2000/XP下同时按下“Ctrl+Alt+Delete”组合键,选择“任务管理器”,然后单击“进程”选项卡,用鼠标右键单击“Btdownloadgui.exe”,选择“设置优先级”下低于“标准”的一个级别即可。不过这样调节有时会引起BT非法操作退出。
3.巧妙卸载“还原精灵”
如果你的计算机安装了“还原精灵”,但在重装系统前忘记了正确卸载“还原精灵”,导致无法分区及安装系统,那么可尝试使用以下方法来解决问题:启动计算机后在系统引导前按“Ctrl+Home”组合键,调出“还原精灵”的菜单,输入密码进去后,选择“卸载”即可。也可以在光驱中放入“还原精灵”安装光盘,找到卸载程序Uninst.exe并执行它,当出现“不能运行在……要重新启动计算机吗?”的提示时,单击“确定”,重新启动后再安装“还原精灵”,然后再将它卸载。此方法在“还原精灵”5.0、2002、2003等版本上均验证通过。
4.加速PQMAGIC的操作
在PQMAGIC中打开“常规”选项下的“PartitionMagic优选设置”,将“忽略FAT上的OS/2 EA错误”和“跳过坏扇区检查”这两个选项均选中,忽略校验数据和检测硬盘的过程,自然会大大加快PQMAGIC的速度。当然,在使用PQMAGIC对分区进行操作之前,我们应该先用磁盘扫描工具检查和修复硬盘上的错误,然后再进行分区转换操作。
此外,最好不要用PQMAGIC调整带数据的分区,更不要在调整分区容量时进行分区格式转换。最好的方法是将要调整的分区上的数据备份到不参与调整的分区(最好是其他硬盘上),然后清空调整的一个或多个分区,这样转换速度会快很多,也更安全。
5.采用NTFS格式的分区
NTFS分区的好处在这里就不用多说了吧?由于NTFS分区本身的簇很小,不容易产生磁盘碎片,微软在文件分配表和目录索引上也作了特殊处理,万一出错后恢复文件也较容易。不过为了保证系统兼容性,最好不要将引导分区设置为NTFS格式。
6.禁用自动重启功能
在Windows XP中用鼠标右键单击“我的电脑”,选择“属性”,然后单击“高级”选项卡,单击“启动和故障恢复”按钮,在打开的界面中将“系统失败”下面的“自动重新启动”前的复选框清空。不过在系统遇到像显卡驱动兼容性这样严重的故障时,Windows XP还是会自动重新启动。但此时Windows XP一般会先生成一个日志文件,以便你启动后查看,此时要抓紧时间按下RESET键启动,防止Windows XP关闭硬盘。
7.关闭硬盘节能功能
先在BIOS中的电源选项中将硬盘节能全部设置为“DISABLED”,然后在Windows的“控制面板”、“电源选项”中,将“电源方案”下面的“关闭硬盘”、“系统待机”设置为“从不”(要让系统关机和休眠,还是手工控制好)。 |
|