网络基础:NetBIOS
网络基础小补。
利用 NetBIOS 名称与其他计算机通信
网络中的计算机之间必须知道IP地址后才能相互通信。但对人来说IP难以记忆,NetBIOS计算机名称比较容易记忆。当计算机使用 NetBIOS 名称与其他计算机通信时,必须先通过 NetBIOS名称找到IP地址,然后再通过IP地址通信。由NetBIOS名称找出IP地址的操作被称为NetBIOS名称解析(NetBIOS name resolution)。
NetBIOS名称是什么?
NetBIOS名称是一个长度为16个字符的字符串。MS网络中用到NetBIOS名称的地方有:计算机名,域名,工作组名。
名称示例
NetBIOS 计算机名:nick-os
DNS主机名:nick-os.mydomain.net
计算机全名:加不加域不一样
不加域时:nick-os
加入域后:nick-os.mydomain.net
全域名 (Fully Qualified Domain Name, FQDN) 或 DNS名称。
nick-os.mydomain.net
(没有加入域时,就没有什么 “全域名”和 “DNS名称”)
如何查看当前机器注册的NetBIOS名称:
nbtstat -n
通过NetBIOS名称来解析IP地址
主要有下面三种方式:
1. 查看NetBIOS名称缓存区
我们也可以通过命令来查看当前的NetBIOS名称缓存区:
nbtstat -c
2. 通过广播的方式搜索对方的IP地址(应尽量避免使用这种方式)
3. 直接向WINS服务器查询
NetBIOS节点类型
上面的三种方法都可以解析到IP地址,但究竟会用哪一种呢?
这取决于计算机采用的NetBIOS节点类型(node-type):
B-node: 广播方式
P-node: 直接向WINS服务器查询
M-node: B与P的混合方式(mixed),先广播,若失败,再向WINS服务器查询
H-node: 也是B与P的混合方式(hybird),但是先向WINS服务器查询,若失败,之后才广播
查看 NetBIOS节点类型:
ipconfig /all
采用H节点的WINS客户端,其NetBIOS名称解析的完整顺序为:
1. 检查要查询的计算机名称是不是自己的计算机名称。
2. 检查NetBIOS名称缓存区。
3. 向WINS服务器查询。
4. 发出广播消息。
5. 检查LMHOSTS文件。
6. 检查HOSTS文件或向DNS服务器查询。
LMHOSTS文件和HOSTS文件存放于 “%systemroot%\system32\drivers\etc”目录下。
最新文章
- Linux系统下输出某进程内存占用信息的c程序实现
- LeetCode: Largest Rectangle in Histogram(直方图最大面积)
- Symbol not found for architecture arm64 错误
- javascript数据类型理解整理
- 与TableView插入、删除、移动、多选,刷新控件
- spark 加载文件
- android初体验——HelloWord
- thinkphp分页效果的制作,按查询条件分页正确做法
- JDBC 基本操作: CRUD
- jQuery技术内幕预览版.pdf1
- php 编译安装的一个 configure 配置
- 最经常使用的两种C++序列化方案的使用心得(protobuf和boost serialization)
- 【JAVAWEB学习笔记】21_多条件查询、attr和prop的区别和分页的实现
- HybridApp Exception
- EF6中使用事务的方法
- Asp.Net Core Identity+EFCore + Mysql踩坑记录
- 使用CompletionService结合ExecutorService批处理调用存储过程任务实例
- 关于python的感想和turtle作图
- RNQOJ PID28 / [Stupid]愚蠢的宠物
- centos升级openssh版本