教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

第2章 基于NetBIOS的网络编程

来源:网络收集 时间:2026-08-08
导读: 第2章 基于NetBIOS的网络编程 网络基本输入/输出系统(NetBIOS)是一个 传统的应用程序接口(API),用于数据源和目的 地之间的数据交换。 NetBIOS 同时兼容于较老的 操作系统,如O S / 2和D O S等。NetBIOS为程 序提供了请求低级网络服务的统一命令集,从而实 现

第2章 基于NetBIOS的网络编程

网络基本输入/输出系统(NetBIOS)是一个 传统的应用程序接口(API),用于数据源和目的 地之间的数据交换。 NetBIOS 同时兼容于较老的 操作系统,如O S / 2和D O S等。NetBIOS为程 序提供了请求低级网络服务的统一命令集,从而实 现了给局域网(LAN)提供网络以及其他特殊功能 的目的。 目前NetBIOS改进版(NetBEUI)与TCP/IP以 及IPX/SPX合称为LAN通信三大协议。此外,几乎 所有的LAN都是在NetBIOS协议基础上工作的。

第2章 基于NetBIOS的网络编程2.1 NetBIOS的基本概念2.2 NetBIOS命令

2.3 数据报通信程序设计2.4 会话通信程序设计

2.1.1 NetBIOS概述NetBIOS是一种标准的应用程序编程接口 (API),1983年由Sytex公司专为IBM开发成 功,它为网络通信定义了一种编程接口。1985 年 , IBM 创 建 了 NetBIOS 扩 展 用 户 接 口 NetBEUI,它同NetBIOS接口集成在一起,构 成了一套完整的协议。后来由于NetBIOS接口 愈来愈流行,所以各大厂商也开始在其他(如 TCP/IP)协议上实施NetBIOS程序接口。

NetBIOS特性1、NetBIOS API接口适用于为数众多的网络 协议,使得程序接口“与协议无关”。 2、NetBIOS协议短小精练,与TCP/IP和 IPX/SPX相比具有极高的网络通信性能, 非常适用于实时性要求较高的小型LAN网 络环境 3、NetBIOS同时提供了“面向连接”与“非 面向连接(无连接)”服务

NetBIOS特性4、利用NetBIOS接口编程必须注意以下三个问题:① 为保证两个NetBIOS应用程序通过网络进行正常 通信,那么对它们各自执行的计算机来说,至少 必须安装一种两者通用的协议 ② Microsoft TCP/IP和NetBEUI在默认的情况下已 提供了NetBIOS接口,但是IPX/SPX却并非如此; ③ 与TCP/IP和IPX/SPX不同,NetBEUI不是一种 “可路由”协议,因此要想在两个不同子网中保 证两个NetBIOS应用程序正常通信,那么在配置 网络时,至少应安装一种可路由的传送协议。

NetBIOS在Windows中的应用

Windows的客户机/服务器(C/S)网络系统就 是基于NetBIOS的网络;Windows NT操作系 统中的大量的内部联网工作也都是利用 NetBIOS来完成的。 微软还为许多协议提供了标准NetBIOS界面, 如TCP/IP、NetBEUI和NWLink,使NetBIOS 的应用更加趋于方便 网络应用举例:浏览网上邻居、共享文件

DHCP是Dynamic Host Configuration Protocol的缩写, 它是TCP/IP协议簇中的一 种,主要是用来给网络客户 机分配动态的IP地址。这些 被分配的IP地址都是DHCP 服务器预先保留的一个由多 个地址组成的地址集,并且 它们一般是一段连续的地址。 在TCP/IP上使用NetBIOS需 要LMHOSTS与WINS服务器 来注册NetBIOS名字。

Windows 2000/XP中的NetBIOS的设置

Windows 2000/XP中的

NetBEUI的设置

2.1.2 LANA编号问题:传送协议与NetBIOS如何对应起来呢?

LANA编号——LAN适配器编号定义:每个LANA编号对应于网卡及传输协议的 唯一组合。举例:假定某工作站安装了两块网卡,以及两种 具 有 NetBIOS 能 力 地 传 输 协 议 : TCP/IP 和 NetBEUI,那么总共就有4个LANA编号。

LANA编号下面是它们之间的一种对应关系: 0 NetBEUI—网卡1若某工作站装有两块网卡以及 三种具有NetBIOS能力的传输 协议(如TCP/IP、NetBEUI和 IPX/SPX),那么它有多少个 LANA编号?

12

TCP/IP—网卡1NetBEUI—网卡2

3

TCP/IP—网卡2

通 常 , LANA 编 号 的 范 围 在 0 ~ 9 之 间 , 除 LANA 0之外,其它编号由操作系统自行分配, LANA 0表示的是“默认”LANA

2.1.3 NetBIOS名字 NetBIOS是一种按名字工作的系统,

NetBIOS保留一张名字表,每个名字都 是16字节长。 NetBIOS名字有两种类型:– 唯一名:某个节点的应用进程在网络中注册

的独一无二的名字。 – 组名:多个节点可拥有同一组名。主要用于 多点发送的数据通信,

NetBIOS名字注意:1、为一个节点指定名字时,注意不要用“*” 号或二进制“0”开头,也不要用“IBM”这 3个字母开头。 2、对每个LANA来说,能够添加的名字的最 大数量是254,名字号从1到254(0和255由 系统保留)

2.1.4 NetBIOS接口函数NetBIOS API函数: UCHAR Netbios(PNCB pncb)(1)该函数只有一个参数pncb,它对应于指向 某个网络控制块NCB的一个指针,在NCB结构 中,包含了为执行一个Netbios命令相对应的 Netbios函数需要用到的全部信息。结构定义见 书上P14-P15:

typedef struct _NCB { UCHAR ncb_command; //指定要执行的 Netbios命令 UCHAR ncb_retcode; //指定操作的返回值 UCHAR ncb_lsn; //对应一个本地交互编 号,成功执行NCBCALL或NCBLISTEN 命令后,函数会返回一个新的交互编号 UCHAR ncb_num; //指定本地名字的编号, NCBADDNAME或NCBADDGRNAME命 令的每一次使用,都会返回一个新的编号 PUCHAR ncb_buffer; //指向数据缓冲区 WORD ncb_length; //指定缓冲区的长度 UCHAR ncb_callname[NCBNAMSZ]; //指定 远程应用程序名字

UCHAR ncb_name[NCBNAMSZ]; //指定应用程 序已知的名字 UCHAR ncb_rto; //设置接收操作的超时期限 UCHAR ncb_sto; //设置发送操作的超时期限 void (CALLBACK*ncb_post) (struct _NCB *); // 指定异步命令完成后需 要使用的post例程的地址 UCHAR ncb_lana_num; //指定要在上面执行命 令的LANA编号 UCHAR ncb_cmd_cplt; //指定操作代码的返回 值 UCHAR ncb_reserve[10]; //保留,必须为0 HANDLE ncb_event; //指定设置Nonsignaled 状态的一个windows事件对象的句柄 } NCB,*PNCB;

并不是在对NetBIOS的每次调用中都需要用到 Ncb结构内的全部成员,在调用一个NetBIOS 命令时

并不一定要填写每一个NCB域;此外, NCB中的一些域具有输出参数的功能,命令执

行后的返回值将填充到这些域中。还应当注意的是,在填写NCB结构成员之前,

必须对这个NCB结构清零,消除残留参数的影响,然后再开始填写结构内的相应成员。

…… 此处隐藏:1495字,全部文档内容请下载后查看。喜欢就下载吧 ……
第2章 基于NetBIOS的网络编程.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1336750.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)