第2章 基于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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




