可能多数的用户都不会知道在Windows 7中还有这样一个小东西在帮助我们获得更好的网络体验,那就是网络可连接性状态指示器,即NCSI。可能这个名字大家都觉得比较绕口或是不知道它是做什么用的,换个词可能大家都能理解了,那就是网络感知。但在日常的使用中网络感知是一个吃力不讨好的功能,怎么说?看下面的情形:

 

我们每天第一次开机并登录到计算机时,会发现我们的网络并不是连接上的,如果计算机已经连接到一个已知的有线网络,网络图标会显示“正在识别”字样;如果计算机当前处于一个已知的无线网络环境中,无线网络连接会显示“正在连接”字样。这等待的这几秒钟或更长的时间是不是让我们比较恼火,从而心想这小东西转什么转,怎么要等这么久!

 

在多数正常的网络环境中,基本上这种现象都是网络感知功能导致。是不是觉得这个功能很讨厌,先不着急,请看下面。

 

网络感知会在我们刚连接到一个网络的时候收集所连接到网络的连接信息,并让程序通过Windows Vista或Windows 7系统中的API来使用这些信息,从而获得更好的网络连接性。一般情况下,网络感知会在这些时候收集所连接网络的信息:

 

  • 在计算机重新启动后用户第一次登录;
  • 计算机连接到了一个不同的网络;
  • 计算机接入了一个需要登录的AP(公共无线网络环境)。

 

通过这些信息,应用程序和服务可以筛选网络连接,并根据自己的任务选择最佳的网络连接。在这里举一个比较通俗易懂的例子,在我们使用笔记本的时候连接到了两个网络,一个有线网络和一个无线网络。这样的情形我们一般把它称为“多重网络”,这时候我们的网络感知功能就起到作用了,会自动为使用了网络感知API的应用程序选择合理的网络连接。比如,我们的无线网络只有1M的带宽,而有线则是4M带宽,现在我们需要在互联网中下载一个较大的文件,但同时我们又需要浏览其他网页。这时网络感知功能会自动的让下载工具使用有线网络,并让浏览器使用无线网络,从而在物理上做一个网络连接的隔离,以此获得更好的网络体验。这是我们在家庭或小型网络环境中非常有意义的一个功能。在企业环境中,网络感知还能够分辨出内部网络和外部网络,从而对内网络数据安全上加以保护,并保证互联网网络连接性。

 

不仅如此,网络感知功能还能够在网络连接发生变化的时候通知应用程序和服务,从而让应用程序和服务平滑的、动态的更新网络连接。在大多数情况,网络感知会收集网络连接性的信息诸如计算机的DNS后缀、域以及网关地址等。通过这些信息,可以在应用程序或服务调用网络感知时,为给定的网络中添加以下信息:

 

  • 到内部网络的连接性;
  • 到外部网络的连接性(可能包含发送DNS查询能力,并获得正确的DNS名称解析);

 

通过这些信息,可以使Windows更加智能的连接网络,给用户带来方便。在NCSI设计的时候就被确定是一项顺应网络条件建立连接的功能,也正因为如此,NCSI会在某些时候收集当前连接网络的连接信息。