什么是NetBIOS协议? - 转载

英文原义:NetBIOS Services Protocols

 

中文释义:(RFC-1001,1002)网络基本输入/输出系统协议

 

注解:该协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,几乎所有的局域网都是在NetBIOS协议的基础上工作的。

 

应用:在Windows操作系统中,默认情况下在安装TCP/IP协议后会自动安装NetBIOS。比如在Windows 2000/XP中,当选择“自动获得IP”后会启用DHCP服务器,从该服务器使用NetBIOS设置;如果使用静态IP地址或DHCP服务器不提供NetBIOS设置,则启用TCP/IP上的NetBIOS。具体的设置方法如下:首先打开“控制面板”,双击“网络连接”图标,打开本地连接属性。接着,在属性窗口的“常规”选项卡中选择“Internet协议(TCP/IP)”,单击“属性”按钮。然后在打开的窗口中,单击“高级”按钮;在“高级TCP/IP设置”窗口中选择“WINS”选项卡,在“NetBIOS设置”区域中就可以相应的NetBIOS设置。

 

Netbios使程序和局域网操作能力之间的接口标准化。有它们,可以将程序细化到为osi模型的哪一层所写,使程序能移植到其他网络上。在Netbios局域网环境下,计算机通过名字被系统知道。网络中每台计算机都有通过不同方法编的永久性名称。这些名称将在下面做进一步讨论。

 

通过使用Netbios的数据报或广播方式,在Netbios局域网上的pc机建立会话彼此联络。会话允许更多的信息被传送,探测错误,和纠正。通信是在一对一的基础上的。数据报或广播方式允许一台计算机和多台其他的计算机同时通信,但信息大小受限。使用数据报或广播方式没有探测错误和纠正。然而,数据报通信可以不必建立一个会话。

 

在这种环境下所有的通信以一种称为“网络控制块“的格式提交给NetBIOS。内存中这些块的分配依赖于用户程序。这些“网络控制块“分配到域中,分别为输入/输出保留。

 

在当今的环境中,NetBIOS是使用很普遍的协议。以太网,令牌环,IBMPC网都支持NetBIOS。在它原始版本中,它仅作为程序和网络适配器的接口。从那以后,传输类功能加入NetBIOS,使它功能日益增多。

在NetBIOS里,面向连接(tcp)和无连接(udp)通信均支持。它支持广播和复播,支持三个分开的服务:命名,会话,数据报。

 

在NetBIOS环境中有两类名称:独特的和集合的。独特的名称必须在网络中独特。集合的名称不必在网络中独特,所有同名过程属于同一集合。每个NetBIOS节点包含一张该节点当前使用名称的表。

 

NetBIOS命名允许16个字母用在NetBIOS名称中。而微软只允许15个字母用在NetBIOS名称中,第十六个为NetBIOS后缀。NetBIOS后缀用在Microsoftnetworking软件中,区别安装的功能,登记的设备和服务。

### NetBIOS协议的作用及应用场景 NetBIOS(Network Basic Input/Output System)是一种用于局域网通信的会话层协议,它定义了应用程序与网络介质之间的通信接口标准[^2]。以下是NetBIOS在IT环境中的作用及典型应用场景: #### 1. 提供会话层服务 NetBIOS为应用程序提供了建立、维护和终止会话的功能。通过这些服务,应用程序能够在不同设备之间交换数据,而无需关心底层网络的具体实现细节[^2]。 #### 2. 支持多种网络架构 NetBIOS可以运行在多种局域网技术上,例如以太网(Ethernet)和令牌环网(Token Ring),并且能够适配不同的网络协议,如TCP/IP、PPP和X.25等。这种灵活性使得NetBIOS成为早期局域网环境中不可或缺的一部分。 #### 3. 定义网络接口规范 NetBIOS定义了一组网络接口规范,允许应用程序通过这些接口访问底层网络服务。尽管NetBIOS本身并不直接处理数据传输,但它提供了一个抽象层,简化了开发人员的工作[^1]。 #### 4. 动态名称解析 在Windows操作系统中,NetBIOS常用于动态名称解析。例如,在安装TCP/IP协议后,系统会自动启用NetBIOS支持,从而允许设备通过名称而非IP地址进行通信[^3]。 #### 典型应用场景 - **文件和打印共享**:NetBIOS常用于Windows网络中的文件和打印机共享功能,使用户能够轻松访问远程资源。 - **局域网游戏**:许多基于局域网的游戏利用NetBIOS实现玩家之间的连接和数据同步。 - **小型企业网络**:在没有DNS服务器的小型企业网络中,NetBIOS可以帮助设备通过名称相互识别和通信。 ```python # 示例代码:检查NetBIOS是否启用 import os def check_netbios_status(): command = "netstat -ano | findstr 137" result = os.popen(command).read() if result: return "NetBIOS is enabled." else: return "NetBIOS is disabled." print(check_netbios_status()) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值