设为首页 加入收藏

TOP

1.1.3 NetBIOS编程基础(1)
2013-10-07 15:51:55 来源: 作者: 【 】 浏览:77
Tags:1.1.3 NetBIOS 编程 基础

1.1.3  NetBIOS编程(www.cppentry.com)基础(1)

NetBIOS是用于网络的基本输入/输出系统,是一个应用程序接口,用于源与目的地之间的交换,即能够支持计算机应用程序与设备通信时要用到的各种具有明确而简单的通信协议,必须用特殊的命令序列来调用NetBIOS。

在参考层次模型中,NetBIOS处于表示层和会话层之间,是参考模型的高层。因此其接口程序的应用在很大程度上(并且从本质上)与较低层次的各种活动隔离开。它支持IEEE 802.2的逻辑链路控制协议。现在NetBIOS正迅速地成为不同操作系统环境下普遍使用的通信平台,这些操作系统包括PC DOS、OS/2、Unix和Windows。

1. 处理过程

NetBIOS提供会话服务的建立过程如下。

(1) 建立会话

该过程类似于C/S模式中的连接建立过程,在此不再讨论。需注意的是,NetBIOS的Client方是采用Call呼叫对方,而不是Connect。

(2) 传送数据

因为NetBIOS的会话服务是以双工流的形式实现的,因此会话双方(或多方)均可以同时发送或接收数据,而无须考虑对方的状态。

NetBIOS的命令发送支持两种模式,一种是send,其数据块最大长度为64KB,且位于连续的内存空间;另一种则是chain send命令。顾名思义,它是以多个缓冲区(两个)提供发送数据的,因此该命令一次可最大传送64KB×2的数据。与此对应的NetBIOS接收命令有如下3种。

receive:它以建立会话时所获得的唯一标识对方的会话号为句柄接收数据。

receive any:该命令可从一个name建立的多个会话上取得数据。

receive any-any:它可从任何会话上接收任何数据。

(3) 终止会话

当会话一方发出hang up命令后,即可终止对话,并释放相应的资源。

2. NetBIOS命令

NetBIOS作为一种接口,拥有许多实现某些功能的接口。最为常用的NetBIOS命令如表1-3所示。

表1-3  NetBIOS命令一览表

  < xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

命令代码

功能说明

wait

no wait

名字管理

add name

add group name

delete name

30h

36h

31h

b0h

b6h

b1h

增加本地唯一名

增加本地小组名

删除本地名字

数据报服务

send datagram

send broadcast

receive datagram

receive broadcast

20h

22h

21h

23h

a0h

a2h

a2h

a3h

发送数据报

发送广播数据报

接收数据报

接收广播数据报

会话服务

call

listen

send

chain send

send no-ack

chain send no-ack

receive

receive any

hang up

10h

11h

14h

17h

71h

72h

15h

16h

12h

90h

91h

94h

97h

f1h

f2h

95h

96h

92h

呼叫建立会话

侦听建立会话

按会话号发送数据
按会话号发送双缓冲数据

按会话号发送数据,不应答

发送双缓冲数据,不应答

按会话号接收数据

从任意会话号上接收数据

拆除当前会话

一般命令

repeat

adapter status

session status

cancel

unlink

32h

33h

34h

35h

70h

 

b3h

b4h

初始化网络适配器

读取网络适配器状态

按名字读取当前会话状态

撤消一个NetBIOS命令

断开远程连接

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.1.2 MAC地址的原理 下一篇1.1.3 NetBIOS编程基础(2)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)