第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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




