今天,同学把她的笔记本拿来,说是电脑能连上无线网,自己的电脑却不能上网,但是其它连接到网络的用户正常访问。我没多想,以为是DNS问题,心想应该很简单,于是拿来折腾了一番。
我回到宿舍,连接到我们宿舍的路由器上,准备实验。
首先,我需要确定问题。我首先打开IE,发现不能浏览网页,上面有个网络诊断按钮,我点击测试能不能诊断出结果,结果不出所料,没有结果信息。然后我打开QQ,发现QQ竟然也不能登录,我排除了DNS设置问题。然后我打开网络和共享中心对话框,如图1所示:
说明网卡硬件和驱动等配置并无问题。
一年多以前,有一位同学曾经因为电脑上不上网找过我,我记得我当时重置了她的电脑网络配置便可以上网了。于是我百度了一下命令:netsh winsock reset 。其实我并不想很快重置她的笔记本,我想深入了解一下,观察异常症状。我使用了ipconfig /all 命令查看信息,结果没有收获。我又用流量监管助手查看了一下上下传的流量,发现流量不少,并且基本相同。然后,我就没忍住给同学的笔记本重置了网络配置,结果PC上网正常了。
我很伤心,因为电脑出问题时非常难得的,我打算借此机会好好了解,结果却不小心重置了。那么现在再回来分析网络配置重置命令:netsh winsock reset。
netsh winsock reset的作用是重置winsock目录。而winsock则是windows sockets,是windows下的网络编程接口,它工作在应用层。
我们有必要了解应用层。我们知道ISO组织建立了OSI参考模型。OSI参考模型共有七层,由底向上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。应用层下面的各层提供了传输服务,但它们并不为用户工作。由此可知,如果winsock中的配置不当,将导致其开放的API功能不支持,从而使应用程序调用API不能正确、成功执行,从而导致电脑中的应用程序不能访问网络,而操作系统却知道自己可以访问网络,于是出现图1所示现象。