序言
本文档旨在给出在NetBIOS网络上传输IP数据报的具有兼容性和互操作性的实现方法。
NetBIOS标准描述了创建虚拟电路并发送和接收点对点、多点传送和广播数据报的一种
方法。本规范仅用了数据报服务。
本备忘录的前期版本使用NetBIOS广播数据报服务代替NetBIOS组名服务实现IP广
播。现在这些版本已经作废。
说明
NetBIOS网络可以用以支持任何类型的IP网络及子网络[3]。通过将IP数据报封装在
NetBIOS内并将IP地址映射到NetBIOS网络中的主机上,基于IP的应用就可在这些主机上
运行。加上能将IP数据报同样封装在数据链协议(例如802.3[4])中的路由器,这些主机
就可以在互联网上进行一般性通信。
地址映射
一般说来,NetBIOS名可以是一个任何16比特(二进制数),然而,少量数值被用做保
留值或被公用网络包使用。每个主机上IP应用的NetBIOS名由该主机的因特网地址决定。
由于NetBIOS名是IP地址的映射,因此不需要物理地址查询机制(例如ARP[5])。
对于这些IP应用,IP.XX.XX.XX.XX就是任一承载IP的NetBIOS主机的名称,其中,
XX代表IP地址十六进制ascii表示法的相应字节。
这种定址方案考虑到了NetBIOS上的标准数据报协议的多路复用问题和给定包地址正
确性的快捷判定。
广播和多点传送取址
Internet广播地址用NetBIOS组名IP.FF.FF.FF.FF表示。目前为止,还没有尝试利用
NetBIOS组名提供对IP多点传送的支持。
最大传输单元
NetBIOS数据报的最大长度为512字节,因而NetBIOS网络上承载的IP最大传输单元
也为512字节。所以,任何与NetBIOS网络上的主机通信的主机都应能够重组分段数据报。
实现
要在NetBIOS主机上支持任意地址IP,初始化代码必须:
1)将IP.XX.XX.XX.XX加入主机的NetBIOS名称表。
2)将IP.FF.FF.FF.FF加入主机的NetBIOS组名表。
3)为接收目标为IP.XX.XX.XX.XX的NetBIOS数据报发出收数据报请求。
4)为接收目标为IP.FF.FF.FF.FF的NetBIOS数据报发出收数据报请求。
假如收到发往任一地址的NetBIOS数据报,交由协议栈处理,并发出另一个收数据报请
求。
假如一个IP数据报被发出,它将被作为NetBIOS数据报的数据并经由一个发数据报请
求发往IP.XX.XX.XX.XX或IP.FF.FF.FF.FF中的任一地址。
另外,IP软件可能会发出对NetBIOS网络适配器状态的查询。随着对SNMP的支持成为
对IP主机的要求,这些适配器状态查询可能是必不可少的。
最后,当一个给定的NetBIOS主机的IP支持终止时,对每个未到的接收数据报发出一
个撤消命令请求,并对所有在初始化时加入的诸如IP.XX.XX.XX.XX和IP.FF.FF.FF.FF的
地址发出一个名称删除请求。
致谢
感谢JohnBartas,JamesDavidson,和DanLadermann。没有他们此前在设计和实现
NetBIOS承载IP的努力,就没有本文。
参考资料
[1]Postel,J.,"InternetProtocol",RFC-791,September1981.
[2]IBMPCNetworkTechnicalReference,DocumentNumber6322916,
September1984.
[3]Mogul,J.,andJ.Postel,"InternetStandardSubnetting
Procedure",RFC-950,August1985.
[4]Postel,J.,andJ.Reynolds,"AStandardfortheTransmission
ofIPdatagramsoverIEEE802Networks",RFC-1042,
February1988.
[5]Plummer,D.,"AnEthernetAddressResolutionProtocol",
RFC-826,November1982.
作者地址:
LeoJ.McLaughlinIII
TheWollongongGroup
1129SanantonioRoad
PaloAlto,CA94303
Phone:(415)962-7100
EMail:ljm@TWG.COM
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05