深入了解Windows网络API与重定向器机制
1. NetBIOS概述
在20世纪90年代之前,网络基本输入/输出系统(NetBIOS)编程API是个人计算机上使用最广泛的编程API。NetBIOS支持可靠的面向连接通信和不可靠的无连接通信。Windows为其遗留应用程序提供NetBIOS支持,但微软不鼓励应用程序开发者使用NetBIOS,因为其他API(如命名管道和Winsock)更加灵活和可移植。在Windows上,TCP/IP和IPX/SPX协议支持NetBIOS。
2. NetBIOS名称
NetBIOS采用一种命名约定,为计算机和网络服务分配一个16字节的名称,称为NetBIOS名称。NetBIOS名称的第16个字节用作修饰符,可以将名称指定为唯一名称或组名称。一个网络中只能分配一个唯一的NetBIOS名称实例,但多个应用程序可以分配相同的组名称。客户端可以通过向组名称发送消息来进行广播。
为了支持与Windows NT 4系统以及消费级Windows系统的互操作性,Windows会自动为一个域定义一个NetBIOS名称,该名称最多为管理员分配给该域的最左侧域名系统(DNS)名称的前15个字节。例如,如果一个域名为mspress.microsoft.com,那么该域的NetBIOS名称将是mspress。同样,Windows要求管理员在安装时为每台计算机分配一个NetBIOS名称。
NetBIOS还使用LAN适配器(LANA)编号的概念。每个位于网络适配器之上的NetBIOS兼容协议都会被分配一个LANA编号。例如,如果一台计算机有两个网络适配器,并且TCP/IP和NWLink都可以使用这两个适配器,那么就会有四个LANA编