计算机网络中"4+1"功能协议层结构分别采用了何种检错技术?
计算机中"4+1"功能协议层结构分别采用了何种检错技术?
在中小企业和其他单位里,Windows是应用最为广泛的操作系统。在应用过程中,经常出现一些意想不到的问题,这时,准确地找到故障原因成为关键。有关网络方面的问题往往比较复杂,因此,Windows操作系统提供了许多检错工具,为检查网络是否出现问题提供了很多方便。下面,根据笔者多年的网络管理实践经验,介绍Windows操作系统的检错工具与应用,和大家分享。其中Ping指令一般读者比较熟悉,本文不再讨论。 一、net——测试远程资源 net 与其说是一个指令,不如说是一个指令组。对于该指令组,在Windows NT上,比在Windows 98上多了一些参数,在此只介绍Windows 98提供的net指令参数。各种次指令与用途略述如附表。 以下介绍net diag的用法,执行net diag指令后,屏幕会出现下列信息。 C:\>net diag Microsoft Network Diagnostics will use a NetBIOS provider. Searching for diagnostic server... No diagnostic servers were detected on the network. Is Microsoft Network Diagnostics currently running on any other computers on the network ? (Y/N)  This computer will now begin acting as a diagnostic server. Press any key to stop acting as a diagnostic server. 使用时必须找一台没有问题的机器来配合测试,首先在该机器上执行net diag命令,出现以下信息: Searching for diagnostic server... 之后按回车键,接着计算机会问是不是要把该机器当成测试服务器,回答“y(yes)”,机器开始不停地送出广播封包。到要测试的机器上执行 net diag命令,这时机器会去监听网络上是否有诊断服务器送出来的测试封包,假如网卡没有问题,则会出现收到封包的信息。 接收封包测试成功,表示网卡可以将数据链路层的封包解框,但这并不一定表示网卡没有坏,所以接下来还必须测试传送封包的能力,看看网卡是不是可以将封包加框,必须将刚才步骤颠倒过来,测试其传送封包的能力,假设都没有问题,那么就证明网卡可以正常工作。 使用这种非厂商提供的程序,必须使用微软的NDIS界面与网卡所附的第二层驱动程序,所以使用此方法来测试,需先执行net logon命令,将它们捆绑在一起。如果无法登录网络,请制作一片DOS开机磁盘,将网卡所附的NDIS DOS驱动程序,以“Device= ”的方式写在 s中,再用它开机就可以正确执行net指令了。这样有点麻烦,但是当没有网卡测试工具时,就只好这么做。 Windows 98提供的net指令组参数 二、ipconfig——测试IP设置 这个指令用来显示基本IP设定,如果使用“ipconfig /all”命令,则可以显示更多的配置,画面如下。 各种配置中Netbios名称服务有5种配置是Windows系统特有的,分别叙述如下。 1.Node Type . . . . . . . . . : Broadcast 表示本机以广播方式从主要名称浏览器取得Netbios名称表列,而不透过WINS服务器解析Netbios名称(Broadcast会浪费带宽)。 2.NetBIOS Scope ID. . . . . . : 表示未设定辖区号码,辖区号码用来定义Netbios群组,以便在同一子网域中分隔电脑共享资源成不同的表列。 3.IP Routing Enabled. . . . . : No 表示不要启动IP路由。 4.WINS Proxy Enabled. . . . . : No 表示不要成为WINS在本地网域代理者,如果设成Yes,可以让本机成为远端WINS的本地端代理器,可以有效降低带宽用量。 5.NetBIOS Resolution Uses DNS : Yes 表示要使用DNS来做Netbios名称解析。 三、 Tracert——测试线路 这个工具用来追踪封包从一台机器到另一台机器,将会经由网络走哪一条路径。这个工具对于追踪网络断线特别有用,当然系统管理员必须对网络实际连接的结构有所了解,才能派上用场。其使用实例如下: C:\>tracert 如果出现3个星号,表示路径选择失败,从失败的位置可以找出网络故障的范围,如果连续很多星号超过应有的路由数,这就表示所有路径已测试完毕,没有办法连接该主机。还可以在Tracert指令后面加上“-h 100”表示要追踪100个“跳”(hops),每选择一次路由是一“跳”,一般内定值是30,事实上已绰绰有余。 四、 Netstat——测试路由表 这个指令也像net指令一样,有许多功能,不过一般是用来观察路由表,在Windows和Unix上都可使用。在Windows的环境下,还可以用route print命令来观察路由表。由于校园网络已转型成网际网络的一环,将来的结构会变成Unix和Windows混合环境,所以早一点熟悉Unix指令也不错。 路由和IP网络的实际连线有直接的关系,当2台机器之间的路径出现复数选择时,静态路由就无法解决问题,而要依靠动态路由协定来和其他路由器求得最佳路径,这在中小单位目前的网络环境里很少遇到,所以现在去设定动态路由协定,实在是多此一举,也浪费网络资源。 在netstat -r的回应信息中最后一道信息如下: TCP lyand:1115 :nbsession ESTABLISHED  这是表示目前有一条连线正在作用中,操作者的电脑(lyand)正根据TCP协定连接到 这台主机的nbsession口。这个口就是TCP 137口,是用来查Netbios名称的。由于笔者在 上安装了SAMBA服务,然后透过网上邻居来编修和制作网页,所以会看到这样的信息。 五、Nbtstat——测试Netbios服务 这道指令乍看之下,会误以为是netstat,nbt也就是NETBEUI,也就是Netbios over TCP/IP。前面已经解释过,这是将Netbios广播封包重新封装成TCP/IP格式,以便与远端的WINS服务器通讯。 nbtstat -s用来显示目前本机透过Netbios名称服务取用资源的情形。 C:\>nbtstat -s NetBIOS Connection Table Local Name State In/Out Remote Host Input Output SHANE < 00 > Connected Out WWW < 20 > 426KB 629KB SHANE < 03 > Listening SHANE Listening ROOT < 03 > Listening 检查得知目前已连接至名叫WWW的电脑,取用了若干资料。下面的Listening表示本机正等待别人来使用共享资源。Windows系统并不会去分辨本机有没有资源提供给别人分享,而是无论如何都会将Netbios服务开启,这也就是为什么即使没有东西在分享,要在网上邻居看到主机列表,同样要花相当久的时间。还好Netbios是终将淘汰的东西,但Windows 2000还是向下支持了Netbios,以避免与旧有Windows环境脱节。 六、 Nslookup——测试域名系统 这是用来检测DNS名称解析的工具,DNS是连接Internet必要的服务。需要注意的是,Windows系统中只有Windows NT系列有提供这个指令,所以请不要在Windows 98上面做这项检错。同时任何已登录的DNS,要修改IP或网域名称,一定要经过正常行政程序通知上一层管理员,请上一层管理员帮助修改纪录,这样改变才是有效的。 参考资料: