CIFS协议文档.doc

上传人:doc321 文档编号:14940147 上传时间:2022-02-25 格式:DOC 页数:17 大小:147.50KB
返回 下载 相关 举报
CIFS协议文档.doc_第1页
第1页 / 共17页
CIFS协议文档.doc_第2页
第2页 / 共17页
CIFS协议文档.doc_第3页
第3页 / 共17页
CIFS协议文档.doc_第4页
第4页 / 共17页
CIFS协议文档.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《CIFS协议文档.doc》由会员分享,可在线阅读,更多相关《CIFS协议文档.doc(17页珍藏版)》请在三一文库上搜索。

1、目录1CIFS协议 31.1CIFS协议概述 31.2CIFS协议头格式 31.2.1头域 31.2.2命令域 31.2.3错误类域 51.2.4错误代码域 51.2.5flags域 51.2.6flags2域 61.2.7填充或安全签名域 81.2.8TID域 81.2.9PID域 81.2.10UID域 81.2.11MID域 81.2.12 Wordcount和Parameterwords(参数域) 81.2.13Bytecount和buffer域(缓冲) 91.3CIFS协议的安全机制 91.3.1用户级安全 91.3.2共享级安全 91.3.3加密 91.4CIFS协议的完整性 10

2、1.4.1机会锁 101.5CIFS协议包交换流程 101.5.1包交换的第一部分协商和参数传递 101.5.1.1建立NetBIOS会话 111.5.1.2CIFS协议版本协商 111.5.1.3用户登录 121.5.1.4连接特定资源 121.5.2包交换的第二部分数据交换 131.5.2.1属性、操作等参数传递 131.5.2.2数据交换 142NetBIOS协议 152.1NetBIOS概述 152.2NetBIOS名称服务 152.2.1NetBIOS名称 152.2.2NetBIOS名称属性和格式 152.2.3NetBIOS名称解析方式 152.2.4NetBIOS名称识别策略

3、162.2.5NetBIOS名称管理 162.3NetBIOS会话服务 162.3.1概述 162.3.2NetBIOS会话原语 172.4NetBIOS数据报服务 171、CIFS协议1.1 CIFS协议概述通用网际文件系统(CIFS)是微软服务器消息块协议(SMB)的增强版本,是计算机用户在企业内部网和因特网上共享文件的标准方法。CIFS 通过定义一种与应用程序在本地磁盘和网络文件服务器上共享数据的方式相兼容的远程文件访问协议使之能够在因特网上进行协作。定义了客户端向服务器端的请求和服务器端得应答报文。CIFS数据包格式为标准头部+2个可变长区域。CIFS协议有很多版本,每个协议的版本称为

4、一种方言,并分配一个唯一的字符串来识别。当客户端希望访问远程服务器上的文件时,第一次发送的CIFS数据包是一个协商版本的数据包。在这个数据包中,客户端列出了自己可以提供的版本字符串。服务器在响应数据包中选择其中一种版本字符串发送给客户端。这样两者就协商出一个CIFS协议的版本。1.2CIFS协议头格式012345670123456701234567012345670xFFSMBCommandError classMust be zeroError codeError code(continued)FlagsFlags2填充或者安全签名,通常标准的填充是0树ID(TID)进程ID(PID)用户I

5、D(UID)多重识别码(MID)wordcountParameterwordswordcountBytecountBufferbytecount1.2.1头域每个CIFS数据包的开始包含4个字节的头。第一个字节是0xFF,第二个字节是字母S的ASCII表示,第三个字节和第四个字节分别为M和B。1.2.2命令域命令域为1个字节,用来表示CIFS数据包的类型。其各种命令对应的数值见下:SMB_COM_CREATE_DIRECTORY 0x00SMB_COM_DELETE_DIRECTORY 0x01SMB_COM_OPEN 0x02SMB_COM_CREATE 0x03SMB_COM_CLOSE

6、0x04SMB_COM_FLUSH 0x05SMB_COM_DELETE 0x06SMB_COM_RENAME 0x07SMB_COM_QUERY_INFORMATION 0x08SMB_COM_SET_INFORMATION 0x09SMB_COM_READ 0x0ASMB_COM_WRITE 0x0BSMB_COM_LOCK_BYTE_RANGE 0x0CSMB_COM_UNLOCK_BYTE_RANGE 0x0DSMB_COM_CREATE_TEMPORARY 0x0ESMB_COM_CREATE_NEW 0x0FSMB_COM_CHECK_DIRECTORY 0x10SMB_COM_P

7、ROCESS_EXIT 0x11SMB_COM_SEEK 0x12SMB_COM_LOCK_AND_READ 0x13SMB_COM_WRITE_AND_UNLOCK 0x14SMB_COM_READ_RAW 0x1ASMB_COM_READ_MPX 0x1BSMB_COM_READ_MPX_SECONDARY 0x1CSMB_COM_WRITE_RAW 0x1DSMB_COM_WRITE_MPX 0x1ESMB_COM_WRITE_COMPLETE 0x20SMB_COM_SET_INFORMATION2 0x22SMB_COM_QUERY_INFORMATION2 0x23SMB_COM_

8、LOCKING_ANDX 0x24SMB_COM_TRANSACTION 0x25SMB_COM_TRANSACTION_SECONDARY 0x26SMB_COM_IOCTL 0x27SMB_COM_IOCTL_SECONDARY 0x28SMB_COM_COPY 0x29SMB_COM_MOVE 0x2ASMB_COM_ECHO 0x2BSMB_COM_WRITE_AND_CLOSE 0x2CSMB_COM_OPEN_ANDX 0x2DSMB_COM_READ_ANDX 0x2ESMB_COM_WRITE_ANDX 0x2FSMB_COM_CLOSE_AND_TREE_DISC 0x31S

9、MB_COM_TRANSACTION2 0x32SMB_COM_TRANSACTION2_SECONDARY 0x33SMB_COM_FIND_CLOSE2 0x34SMB_COM_FIND_NOTIFY_CLOSE 0x35SMB_COM_TREE_CONNECT 0x70SMB_COM_TREE_DISCONNECT 0x71SMB_COM_NEGOTIATE 0x72SMB_COM_SESSION_SETUP_ANDX 0x73SMB_COM_LOGOFF_ANDX 0x74SMB_COM_TREE_CONNECT_ANDX 0x75SMB_COM_QUERY_INFORMATION_D

10、ISK 0x80SMB_COM_SEARCH 0x81SMB_COM_FIND 0x82SMB_COM_FIND_UNIQUE 0x83SMB_COM_NT_TRANSACT 0xA0SMB_COM_NT_TRANSACT_SECONDARY 0xA1SMB_COM_NT_CREATE_ANDX 0xA2SMB_COM_NT_CANCEL 0xA4SMB_COM_OPEN_PRINT_FILE 0xC0SMB_COM_WRITE_PRINT_FILE 0xC1SMB_COM_CLOSE_PRINT_FILE 0xC2SMB_COM_GET_PRINT_QUEUE 0xC3SMB_COM_REA

11、D_BULK 0xD8SMB_COM_WRITE_BULK 0xD9SMB_COM_WRITE_BULK_DATA 0xDA1.2.3错误类域服务器用来指明请求是否成功。通常情况下为0表示成功,如果不为零,这个域表示该错误代码是什么类。错误类为以下值之一:ERRDOS (0X01) - 错误是从核心DOS操作系统设置ERRSRV (0x02) - 错误是由服务器的网络文件管理器 ERRHRD (0x03) - 硬件错误 ERRCMD (0xFF) - 命令没有在“SMB”格式 1.2.4错误代码域该域为2字节长度,表示已发生的错误的类型。通常为0表示没有错误。各种错误对应的数值见下:1.2.5

12、flags域长度为1字节,此域包含了8个独立的标志。没有设置的标志客户端必须设定为0,服务器需要忽略该标志。编号从最低位到最高位其定义如下:0:为过时的请求保留位(LOCK_AND_READ,LOCK_AND_CLOSE);1:保留位。(必须为0);2:保留位。(必须为0);3:设置为1时,路径名无视大小写,设置为0时,路径名是区分大小写的。4:保留位。(客户端必须设置为0,服务器端忽略该位);5:为过时的请求保留位(SMB_COM_OPEN,SMB_COM_CREATE,SMB_COM_CREATE_NEW);6:为过时的请求保留位(SMB_COM_OPEN,SMB_COM_CREATE,S

13、MB_COM_CREATE_NEW);7:设置为1时,表示是服务器对客户端请求的应答,其命令域常与客户端请求的命令域相同。该域可以通过设置为0和1明确区分是请求还是应答。1.2.6flags2域2字节,定义了更多的标志位。0:设置为1,表示服务器可能在响应中返回长文件名。(KNOWS_LONG_NAMES)1:设置为1,表示客户端知道扩展属性。(KNOWS_EAS)2:设置为1,表示SMB需要验证。(诚信检查?)(SECURITY_SIGNATURE)3:保留位。6:设置为1,任何请求的路径名为长路径名。(IS_LONG_NAME)11:设置为1,客户端知道扩展安全协商。(EXT_SEC)12

14、:设置为1,SMB中的任何请求的路径名需在分布式文件系统中解决。(DFS)13:设置为1,表明如果客户端没有读权限但有执行权限,读命令被允许。这个标志只对读请求有效。14:设置为1,返回的错误代码为32位。否则错误类和错误域包含DOS-style错误信息。当传输协商的NT状态代码时,该域在每个SMB中都必须为1。16:设置为1,表示数据包中的字符编码为UNICODE,设置为0,表示数据包中的字符编码为ASCII。1.2.7填充或安全签名域通常标准的填充是0,此栏通常设置为0。1.2.8TID域TID是一个16位的数字,用来标识这个CIFS数据包指的是什么资源(通常为磁盘共享或者打印机)。当数据

15、包交换没有牵涉到某个资源时,这个域是无意义的,可以忽略的。如果某客户端希望对某资源进行访问,则该客户端发送的CIFS数据包中的命令域设置为SMB_COM_TREE_CONNECT_ANDX。在这个包中就指定共享或者打印机的名称。然后服务器将对该资源和客户端进行验证,然后发送应答表示成功。在这个应答数据包中,服务器可以将TID域设置为任何数字。而从那时起,如果客户端希望对该资源提出请求,TID就会被设置为上次客户端给定的TID数字。1.2.9PID域PID是一个16位的数字,用来标识客户端上的哪个进程发出的CIFS请求。服务器使用这个数字来检查并发问题(通常是为了保证文件不会被竞争中的客户端进程

16、所损坏)。1.2.10UID域UID是一个16位的数字,迎来标识在客户端发出CIFS请求的用户。客户端必须发送一个包含用户名和密码的CIFS数据包请求来获得服务器给定的UID。服务器在验证了用户名和密码之后会应答该请求,该应答中包含一个服务器生成的UID。之后该客户端在未来的CIFS请求中均使用该UID。如果客户端的请求需要检查权限,服务器将验证请求的UID有没有必须的权限。一个UID只为已形成的NetBIOS会话有效。服务器和不同的用户的其他会话可能使用相同的UID。注意:如果服务器是在共享级的安全模式下,UID是无意义的,可以忽略。1.2.11MID域MID是一个16位数字,用来标识多个客

17、户端的要求。每当客户端发送一个CIFS数据包,服务器就检查MID来看它是否还有没有应答的请求。如果有,它保证了新要求会被被赋予一个新的MID以区别以前的请求。每当服务器应答一个CIFS请求时,发送的应答包中确保和相应地请求中的MID相同。这样,用户就知道哪些未完成的请求与收到的应答是对应的。1.2.12 Wordcount和Parameterwords(参数域)CIFS数据包使用这两个域来表示命令的具体参数数据。Parameterwords域是一个可变长(需是16位的整数倍)。Wordcount域实际表明parameterwords域的长度(以2字节为单位)。每种数据包类型的wordcount

18、域在CIFS1.0草案中有定义。每个单独的命令都有2个wordcount定义,一个是给客户端定义的,一个是给服务器端定义的。这是必要的,因为请求和应答不一定需要相同的wordcount。1.2.13 Bytecount和buffer(缓冲区)和wordcount、parameterwords的定义非常相似。Buffer域的长度是可变的。Bytecount表示buffer域有多少字节。参数域和缓冲区的主要区别是存储什么类型的数据。参数域通常包含少量的数据包命令参数选项,而缓冲区包含大量的原始数据(如共享文件中的数据)。1.3CIFS协议的安全机制CIFS提供认证和授权这2种安全机制,其中认证又包

19、括共享级认证和用户级认证。A是一个对CIFS客户端标记为网络共享可用的共享服务器(通常是一个文件夹或者打印机)。限制访问共享文件有两种办法:1.3.1用户级安全希望访问该共享的客户端必须提供用户名和密码。(windows NT 和windows 2000)用户级认证方式为不同用户提供不同的用户名,因此能提供高于共享级认证的安全性,但用户名和口令是以明文方式传送或者虽然加密也容易受到字典攻击,因此也存在被监听和破解的威胁。进一步的改进方法可以加密用户名和口令,还可以利用服务器消息块SMB(Server Message Block)的签名机制实现客户机和服务器之间的双向认证。1.3.2共享级安全被

20、共享的文件本身需要一个密码来访问,客户端访问不需要用户名,用户的身份不需要确认。(windows 95和windows98)在共享级认证方式下,整个共享点只有一个单一的口令用于共享访问,提供的安全保障有限,只能用于对安全性要求不高的公共资源共享或临时资源共享等场合。1.3.3加密用户和共享级安全性中,实际的密码是以加密格式发送到服务器的。常用两种加密方法较新的NT style和老的LAN manage style,但两种加密方法均采用挑战-应答认证,服务器向客户端发送一个随机字符串并期望得到响应,客户端将用户名和随机数合并后用HASH函数生成一个字节串发送给服务器(其在HASH函数中使用的密钥

21、就是由口令生成的?)就是这个地方不是很明白,在HASH中,这个随机串扮演什么角色。我理解的是:当时用户注册时就将用户名明文存储在服务器中,而密码是经过HASH(或者其他处理)得到的长度确定的字符串存放于服务器中,这样突破服务器只知道用户名,不知道密码。但是这个密码形成的字符串(设为m)却可以用来验证。客户端将自己的用户名和随机串合并成一个长串,密码再次经过相同的步骤形成定长字符串作为HASH的密码使用。即如下式:username(用户名)key(密码)string(随机字符串)m是处理过的key,由key可以很容易得到m,由m得到key很难客户端发送=HASHm(username|string

22、)服务器将该字节串和自己的计算结果比较,若二者相同则通过认证,否则认证失败。1.4CIFS协议的完整性1.4.1机会锁机会锁(数据完整性,感觉和数据库中的锁异曲同工),当CIFS数据包指定打开一个文件,就需要对该文件加一个机会锁,如果服务器将这个文件加锁后,其他客户端实体就不能再访问这个文件。这允许客户端对这个文件进行任何它想要的修改二不需要将其立即写入服务器。1. level II oplock 2. Exclusive oplock3. Batch oplock1.5CIFS协议包交换流程CIFS数据包交换流程一共分为两个部分:1. 第一部分(当客户端启动与服务器建立连接时):一个NetB

23、IOS会话建立、CIFS版本协商、发送用户名和密码,这样,服务器端的一个资源被连接。2. 第二部分:访问一个共享文件从中读取需要的数据。注意:客户端总是发送到服务器的TCP的139端口,而服务器应答给客户端自己选择的临时端口。此外,以下CIFS域可设为下面的默认值,当然也可以根据自己的具体情况进行设定:1. error class/error codes :客户端发送时总为0,服务器端应答时也为0。2. Flags:所有数据包均设置成0x00。(区分大小写路径)3. Flags2:所有数据包均设置成0x0001。(支持长文件名)4. 填充和安全签名:所有数据包均设为0.1.5.1包交换的第一部

24、分协商和参数传递当CIFS客户端确定希望访问CIFS服务器上的资源,交换下面的数据包。首先,NetBIOS会话建立,提供可靠的传输服务。然后,客户端和服务器端协商CIFS版本。然后客户端登录到服务器,发送用户名和密码,服务器验证成功后客户端连接到所需的资源。1.5.1.1建立NetBIOS会话包1C-S请求:目的:建立NetBIOS会话(listen 和 call)首先客户端在139端口建立一个与服务器之间的全双工TCP连接。完成之后,客户端通过建立TCP连接和发送NetBIOS会话请求数据包。会话的请求报文中包含客户端的NetBIOS名称,服务器的NetBIOS名称和一个整数常量表示数据包的

25、目的是建立一个NetBIOS会话。包2S-C应答:目的:NetBIOS会话确认如果上述会话请求数据包中包含服务器的NetBIOS名称,而且数据包是正确的格式,服务器会发送一个简单的会话确认数据包(4字节)来表明会话建立成功或者失败。1.5.1.2CIFS协议版本协商包3C-S请求:目的:CIFS协议版本协商客户端发送一个CIFS请求数据包包含SMB_COM_NEGOTIATE命令,缓冲区中包含客户端可以解析的CIFS协议版本。具体各个域的值为:Command:SMB_COM_NEGOTIATE(0x72)TID:在这个包中被忽略PID:设置为客户端处理进程的IDUID:在这个包中被忽略MID:

26、任何唯一的编号Wordcount:0Parameterwords:无Butecount:设置为119(可根据客户端可以解析的版本数变化)Buffer:包含119字节的版本描述包4S-C应答:目的:CIFS协议版本协商服务器响应客户端的协商请求,从客户端给定的版本中选择一个。应答数据包中各个域的值为:Command:SMB_COM_NEGOTIATE(0x72)TID:在这个包中被忽略PID:因为是从服务器发送,被忽略UID:在这个包中被忽略MID:匹配客户端发送的唯一的编号Wordcount:取决于选择的版本。Parameterwords:包含选定的版本和许多服务器属性。比较重要的是MAXMP

27、XCOUNT(客户端可以发起的请求最大数)和32位能力标志。Bytecount:可变,通常大于8Buffer:通常包含一个8字节的随机字符串,在以后的数据包中,客户端用来加密。1.5.1.3用户登录包5C-S请求:目的:用户登录客户端发送CIFS数据包,包含用户名和密码,以获得一个UID。这个数据包也要转发客户端功能给服务器,所以即使使用共享级安全也必须发送这个数据包。数据包各个域的值如下:Command:SMB_SESSION_SETUP_ANDX(0x73)TID:在这个包中北忽略PID:设置为客户端处理进程的IDUID:在这个包中被忽略MID:任何唯一的编号Wordcount:12Par

28、ameterwords:列出了客户端的功能。也包含了要在下面缓冲区中提供的密码的大小。Bytecount:可变值,下面的缓冲区包含加密的用户名、密码、操作系统的名称和LAN Manager。Bytecount的值取决于这些尸体的字符串的大小Buffer:包含用户名、密码、操作系统的名称等。包6S-C应答:目的:返回给客户端UID或者返回错误,如果验证不成功的话。一旦服务器受到加密的用户名和密码,检查后如果是正确的,发送应答数据包,包中包含UID。如果结果是错误的,这个响应将返回错误类,并设置响应的错误代码。数据包的各个域的值如下:Command:SMB_COM_SESSION_SETUP_AN

29、DX(0x73)TID:在这个包中被忽略PID:因为是从服务器发送,被忽略UID:16位数字,是该服务器分配给客户端的用户身份IDMID:匹配客户端发送的唯一的编号Wordcount:3Parameterwords:没有和正常操作有关的内容Bytecount:可变值,下面的缓冲区包含说明服务器操作系统和LAN Manager类型的字符串Buffer:包含表示服务器操作系统和LAN Manager类型1.5.1.4连接特定资源包7C-S请求:目的:连接到特定资源客户端已被认证,可以连接到世界的共享文件。在这个数据包中,客户端指定它希望访问的共享文件。共享名为UNC格式。数据包中各个域的值如下:C

30、ommand:SMB_COM_TREE_CONNECT_ANDX(0x75)TID:在这个包中被忽略PID:设置为客户端处理进程的IDUID:为包6中服务器发送的UIDMID:任何唯一的编号Wordcount:4Parameterwords:没有与正常操作有关的内容Bytecount:可变值,取决于一下要求的UNC字符串的大小Buffer:包含客户端希望访问的共享的名称包8S-C应答:目的:返回TID或者错误,如果共享名称不存在如果共享名称存在,也拥有访问权限,则服务器返回一个成功的响应和TID。如果共享不存在或者用户不具有访问权限,服务器返回相应地错误类和错误代码。如果这个数据包是一个表示成

31、功的响应,则客户端可以访问既定的共享文件了。这是客户端和服务器交换的最后的数据包。数据包中各个域的值如下:Command:SMB_COM_SESSION_SETUP_ANDX(0x73)TID:16位数字代表服务器分配给指定共享资源的TIDPID:因为是从服务器发送,被忽略UID:16位数字,是该服务器分配给客户端的用户身份IDMID:匹配客户端发送的唯一的编号Wordcount:3Parameterwords:没有与正常操作有关的内容Bytecount:可变值,取决于下面的缓冲区Buffer:包含本地文件系统和设备类型的字符串1.5.2包交换的第二部分数据交换以打开和读取文件数据为例。1.5

32、.2.1属性、操作等参数传递包1C-S请求:目的:打开一个文件数据包中各个域的值如下:Command:SMB_COM_OPEN_ANDX(0x2D)TID:上面服务器应答给定的TIDPID:设置为处理客户端处理进程的IDUID:设置为服务器返回的表示客户端的UIDMID:任何唯一的编号Wordcount:15Parameterwords:指定模式(读、写或者读写)和共享模式(无、读、写)等许多开放的选择Bytecount:可变值,依赖于文件名的字符串Buffer:包含要打开的文件的名称包2S-C应答:目的:显示文件的ID,或者如果有问题则返回错误代码服务器检查,如果请求的文件名存在,且UID指

33、定的用户有权访问该文件,则发送一个响应包,其中包含FID以便以后对该文件的访问。如果条件不满足,服务器返回相应地错误类和错误代码。数据包中各个域的值如下:Command:SMB_COM_OPEN_ANDX(0x2D)TID:16位数字代表服务器分配给指定共享资源的TIDPID:因为是从服务器发送,被忽略UID:16位数字,是该服务器分配给客户端的用户身份IDMID:匹配客户端发送的唯一的编号Wordcount:15Parameterwords:表明要发生动作的类型的许多标志和非常重要的16位FIDBytecount:0Buffer:没有数据1.5.2.2数据交换包3C-S请求:目的:从文件中读

34、取数据包中各个域的值如下:Command:SMB_COM_READ_ANDX(0x2E)TID:16位数字代表服务器分配给指定共享资源的TIDPID:设置为客户端处理进程的IDUID:16位数字,是该服务器分配给客户端的用户身份IDMID:任何唯一的编号Wordcount:10Parameterwords:包含FID使得服务器端知道客户端要打开那一个文件。还包含一个32位文件编译和16位计数值,用来决定有多少文件数据返回Bytecount:0Buffer:没有数据包4S-C应答:目的:返回文件中的数据数据包中各个域的值如下:Command:SMB_COM_READ_ANDX(0x2E)TID:

35、16位数字代表服务器分配给指定共享资源的TIDPID:因为是从服务器发送,被忽略UID:16位数字,是该服务器分配给客户端的用户身份IDMID:匹配客户端发送的唯一的编号Wordcount:12Parameterwords:表明实际读的数据的长度(?)Bytecount:可变值Buffer:客户端所要求的文件数据2、NetBIOS协议2.1NetBIOS协议概述NetBIOS协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,几

36、乎所有的局域网都是在NetBIOS协议的基础上工作的。2.2 NetBIOS名称服务2.2.1NetBIOS名称:NetBIOS具备独立的名称解析概念和能力,其使用的名称解析方式和TCP/IP标准解析方式不同。如果经过NetBIOS名称解析并获得相应地IP位置后,NetBIOS会话就可以建立普通的TCP连接了。NetBIOS的名字解析是动态的。计算机必须先注册自己的名称然后才能解析该名称。虽然动态解析很方便,但由于其复杂性和低效性,使得NetBIOS只能使用于小范围的局域网。2.2.2NetBIOS 名称属性与格式:1.已注册的NetBIOS名称唯一指代一台工作站或者组名;2.和IP位置类比,

37、NetBIOS名称没有分层格式,即没有“点”(“.”字符);3.NetBIOS名称必须包含A-Z、a-z、0-9范围之内的字符,或者$( ) - . 字符之一;4.NetBIOS命名允许16个字母用在NetBIOS名称中。而微软只允许15个字母用在NetBIOS名称中,第十六个为NetBIOS后缀。NetBIOS后缀用在Microsoft Networking 软件中,区别安装的功能,登记的设备和服务。 2.2.3NetBIOS名称解析方式:1.本地广播。可以通过广播某设备的NetBIOS名称查找对应的IP位置,也可通过广播注册自己的NetBIOS名称。(通过广播本设备的名称向其他设备宣告自己

38、使用了这个NetBIOS名称);2.缓冲。每个支持NetBIOS的计算机中维护一个NetBIOS名称和对应IP位置的列表;3.NetBIOS名称服务器(NBNS);4.预定义文件lmhosts;5.DNS和hosts文件配合识别。2.2.4NetBIOS名称识别策略:1.B-node:通过广播方式来进行注册和识别NetBIOS名称。对IP协议上的NetBIOS需要基于UDP进行广播。适用于小网络;2.P-node:使用NetBIOS名称服务器进行名称注册登记和名称识别;3.M-node:综合使用广播和NBNS服务器。首先通过B-node广播方式进行名称识别过程,广播方式失败后再使用P-node方式查询;4.H-node:首先查找NBNS服务器,然后再使用广播方式查询。windows实际使用的是对标准H-node方式的扩展。windows系列的计算机首先检查缓存中的内容,然后再查看WINS服务器(Miscrosoft实现的NBNS名字服务器为WINS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1