Windows网络架构与崩溃分析全解析
1. Windows网络架构中的绑定机制
在Windows网络架构里,各层组件(网络API层、TDI传输驱动层、NDIS驱动层)之间的定位方式是绑定。当你通过“网络连接”文件夹添加或移除组件来更改网络配置时,就见证了绑定的过程。
安装网络组件时,需要提供该组件的INF文件。此文件包含安装和配置组件的指导说明,其中涉及绑定依赖或绑定关系。开发者可为专有组件指定绑定依赖,这样服务控制管理器不仅能按正确顺序加载组件,还会确保只有在系统中存在该专有组件所依赖的其他组件时才加载它。绑定引擎借助组件INF文件中的额外信息确定绑定关系,从而在各层组件间建立连接,这些连接明确了某一层的网络组件可使用下一层的哪些组件。
以工作站服务(重定向器)为例,它会自动绑定到TCP/IP和NWLink协议。绑定顺序决定了绑定优先级,可在“高级设置”对话框的“适配器和绑定”选项卡中查看。当重定向器收到访问远程文件的请求时,会同时向两个协议驱动提交请求。响应到来时,重定向器会等待更高优先级协议驱动的响应,之后才将结果返回给调用者。因此,重新排序绑定,让高优先级绑定同时具备高效性能或适用于网络中的大多数计算机,是很有好处的,也可在“高级设置”对话框中手动移除绑定。
网络组件注册表配置键的“Linkage”子键中的“Bind”值,存储着该组件的绑定信息。例如,查看HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Linkage\Bind,就能看到工作站服务的绑定信息。