NCSI 概述
重要
以前由 Azure Front Door 托管的公共 NCSI 探测服务器现在由 Akamai 托管。 此更改于 2023 年 6 月 20 日发生。 要更好地了解这对用户有何影响,请参阅 NCSI 常见问题解答页。
网络连接状态指示器 (NCSI) 是有助于直观显示当前网络连接状态的一项功能。 默认情况下,NCSI 图标位于任务栏的右下角。 它的外观取决于设备如何连接到网络以及运行哪个操作系统。
图标 | 说明 |
---|---|
已连接(有线) | |
已连接(无线) | |
已连接(未连接 Internet) |
单击此图标可查看网络状态,单击“网络和 Internet 设置”链接可查看更多网络适配器详细信息。 根据运行的 Windows 版本,NCSI 图标的任务栏选项可能有所不同。
NCSI 功能
NCSI 使用网络探测,即,先向终结点发送网络请求,然后接收响应。 NCSI 的探测称为“主动探测”,是一种 HTTP 请求/响应。 它还使用被动轮询,称为“被动探测”,即被动地检查网络流量以确定连接性。
Windows 中 NCSI 的用途是什么?
NCSI 是负责确定是否存在网络连接以及该连接是 Internet 连接还是仅本地连接的组件。 之所以开发 NCSI,是为了使应用程序无需自行确定网络配置,因而免除由此带来的复杂性。 每次尝试通过网络执行任务,都需要持续关注网络是否仍可访问。 发生网络中断时,即使是间歇性中断,应用程序也会使操作超时,并不断地测试网络,直到连接稳定。
这种活动看起来微不足道,但需要考虑到,应用程序必须针对大量的环境因素执行检查,例如在代理、热点或强制验证门户的后面运行时。 NCSI 必须知道它检测到的网络是否可以满足请求。 它是需要完全的 Internet 访问权限还是专用公司网络访问权限? 用户必须等待 NCSI 完成或超时,同时应用程序需要确定如何处理受限连接或无网络连接的情况。
主动探测
主动探测是向使用特定 NCSI 地址的 Web 探测服务器发送的 HTTP 请求。 该服务器由 Microsoft 托管在 Internet 上,但也可以是企业自己的专用探测服务器,只是后面这种情况比较少见。 当 NCSI 发送探测并收到有效响应时,它会认为客户端设备已建立 Internet 连接。
如果 NCSI 未检测到 Internet 连接,则要么是探测未完成,要么是探测在完成过程中失败。 无法完成的部分原因可能是出现设备、网络配置或其他环境问题。 在完成过程中失败的一个例子是收到“HTTP 403 禁止”响应,这通常表示代理阻止了出站探测。
警告
不要出于解决 NCSI 问题的目的禁用主动探测,因为仅凭被动轮询无法确定所有网络连接问题。
HTTP 探测主机和内容是预定义的,可在以下注册表路径中找到:
HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
NCSI 并行发送单独的 IPv4 和 IPv6 主动探测。 如果任一探测成功,NCSI 将判定设备建立了 Internet 连接。
被动探测
类似于主动探测,被动探测使用从收到的数据包中获知的信息来确定网络状态。 这两种探测方法相互补充,因为它们以不同的方式确定间歇性网络状况。 某些状况会阻止主动探测正常运行,例如,临时路由器出现间歇性连接问题,而客户端设备的接口状态未出现任何变化。 如果发生这种可能导致主动探测生成漏报结果的间歇性连接问题,被动轮询可以确定该连接状态是因网络流量所致,并保持 Internet 连接。
注意
从 Windows 11 开始,NCSI 托管在网络列表管理器服务(也称为网络配置文件管理器)中。 以前的操作系统迭代托管在网络位置感知 (NLA) 服务中。
被动探测的主要目标是根据收到的数据包数据更新 NCSI 为所有活动网络接口确定的连接状态。 对于每个活动接口,该探测可以通过不断检查入站数据包来了解从发送方遍历的跃点数,并相应地将状态更新为 Internet 连接或本地连接。
主动和被动探测都可能遇到问题。 有关详细信息,请参阅网络探测失败的原因。
代理
在执行主动探测时,NCSI 使用存储的代理信息来与代理一起工作。 主动探测不能离开企业网络空间进入 Internet 的最常见问题的原因是:
- 代理存在但尚未被发现。
- 已发现代理,但客户端设备在探测时无法访问该代理。
- 代理自动配置 (PAC) 文件配置错误,未将
www.msftconnecttest.com
映射到正确的代理。 - 代理配置错误。
NCSI 将从以下注册表路径检测手动预配的代理地址:
HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\ManualProxies
提示
在 Windows 10 中,用户可以通过导航到“开始”>“设置”>“网络和 Internet”>“代理”>“手动代理设置”来执行手动代理配置。
强制网络门户
与 NCSI 检测企业内部代理以成功将探测导航到 Internet 的方式相同,它还会确定移动设备使用者在企业环境之外面临的阻碍。 强制验证门户在机场、医院、咖啡店等公共环境中很普遍,但也可以充当企业网络附属扩展中的网关。
强制验证门户可能会向探测发送 HTTP 重定向或空响应,而不是允许探测通过 Internet。 只要满足以下条件,NCSI 就能确定它是否在强制验证门户后面执行:
- 已发送主动 HTTP 探测,但不是通过已知代理发送的。
- 探测收到了响应。
- 响应有效负载与预期内容“Microsoft 连接测试”不匹配。