分类：电脑/网络-互联网
问题：计算机网络中"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或网域名称，一定要经过正常行政程序通知上一层管理员，请上一层管理员帮助修改纪录，这样改变才是有效的。参考资料：