ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

主机名、域名与网络命名概念及相关协议演进

主机名、域名与网络命名概念及相关协议演进 主机名、域名与网络命名概念及相关协议演进1 主机名与域名的区别1.1 基本定义主机名Hostname是分配给连接到计算机网络的设备的标签用于在电子通信如万维网、电子邮件或 Usenet中识别该设备。主机名在网络中用于标识特定的端点设备。域名Domain Name是互联网中用于识别和定位网络资源的命名系统。域名系统DNS将人类可读的域名解析为机器可识别的 IP 地址从而实现网络资源的定位与访问。1.2 命名结构与组合主机名与域名组合构成完全限定域名FQDN其标准格式为hostname.domain.tld其中 tld 为顶级域名如 com、org、edu 等。示例在一个校园网络中域名为 theuniversity.org校园网络中的一台机器名为 mymachine则该机的完整网络地址为mymachine.theuniversity.org1.3 访问场景分析访问场景所需名称说明局域网内部访问主机名如 mymachine同一网络内的设备可通过主机名直接解析跨网络/互联网访问完全限定域名如 mymachine.theuniversity.org域名部分用于定位目标网络主机名部分用于在该网络中定位具体设备1.4 DNS 配置中的作用在配置 DNS 时需要指定 DNS 服务器名称该名称本身也是一个主机名指向可寻址的服务器。IP 地址无法直接指向域名但可以指向域名服务器DNS 服务器。2 NetBIOS、主机名与计算机名的区别2.1 计算机名Computer Name计算机名是操作系统本地分配给设备的标识符。在 Windows 系统中可通过以下路径查看和修改计算机 → 属性 → 高级系统设置 → 计算机名计算机名仅在本地网络环境中有效外部网络无法直接识别。2.2 主机名Hostname主机名是网络层面的设备标识符。在 Windows 系统中修改计算机名通常也会同步更新主机名。主机名可通过 DNS 解析为 IP 地址从而支持网络通信。2.3 NETBIOS 名称NETBIOS 名称是用于 NETBIOS 协议的设备标识符。在 Windows 系统中NETBIOS 名称通常与计算机名相同但命名规则更为严格。NETBIOS 名称可用于在同一路由器连接的网络中进行名称解析nmblookup LEDZEPPELIN该命令返回对应设备的 IP 地址。2.4 三者对比概念作用范围说明计算机名本地系统Windows 本地标识修改后同步更新主机名主机名网络层面用于 DNS 解析和网络通信NETBIOS 名称局域网名称解析传统名称解析协议现代网络中逐渐被 DNS 替代2.5 NetBIOS 名称 vs FQDNNetBIOS 名称和 FQDN 都是用于将”人可读名称”解析为 IP 地址的命名方式但二者属于不同的命名体系NetBIOS 名称是扁平的局域网命名FQDN 是分层的 DNS 命名。对比维度NetBIOS 名称FQDN全称NetBIOS Computer Name / NetBIOS Domain NameFully Qualified Domain Name完全限定域名命名空间扁平命名空间分层 DNS 命名空间长度限制最多 15 个可用字符第 16 个字符用于标识服务类型单标签最多 63 字符完整 FQDN 最多 255 字节典型示例PC01、FILESERVER、CONTOSOserver1.widgets.microsoft.com解析方式本地广播、NetBIOS 名称缓存、WINS/NBNSDNS 递归/迭代查询适用范围主要用于局域网、Windows 工作组/域内资源访问适用于局域网、企业内网和互联网是否适合互联网不适合适合常见用途“网络邻居”显示、UNC 路径 \PC01\Share、旧版 SMB/NetBT 环境网站、邮件、AD DS 域控制器定位、现代 Windows/Linux 网络两者关系在 Windows 域环境中一台计算机通常同时拥有两类名称NetBIOS 计算机名如 PC01DNS 主机名 / FQDN如 PC01.corp.contoso.comActive Directory 域也有两个名称DNS 域名如 contoso.comNetBIOS 域名如 CONTOSO二者不必完全一致但 NetBIOS 域名仍受 15 字符限制。实际使用建议现代 Windows 网络、ActiveDirectory、跨网段访问优先使用 DNS 名称或 FQDN。访问共享、旧版应用、某些局域网发现场景可能仍会用到 NetBIOS 名称。Linux 访问 Windows 共享现代 SMB 可直接使用主机名或 IP若环境依赖 NetBIOS 发现需要确认 Samba/Winbind、NBNS 或本地 hosts/WINS 配置。远程访问场景RDP、WinRM、远程协助通常应使用 FQDN 或 IPNetBIOS 名称一般只在同一子网或依赖 NetBIOS/WINS 的旧环境中有效。NetBIOS 名称适用于局域网内的短标识符FQDN 适用于全网唯一、分层可路由的完整域名。3 NetBIOS 与 SMB 的关系3.1 SMB 协议概述服务器消息块协议Server Message BlockSMB是一种客户端-服务器应用层网络协议主要用于提供文件共享、打印机共享、串行端口共享以及网络节点间的通信服务。SMB 协议的历史演变如下SMB 1.0最初由 IBM 的 Barry Feigenbaum 在 1983 年研制用于将 DOS 的本地文件接口改造为网络文件系统。微软后续对其进行了重大改进并集成到 Windows 中。CIFSCommon Internet File System1996 年微软对 SMB 的扩展命名引入了更大的文件支持、直接 TCP/IP 传输、符号链接和硬链接等功能。CIFS 即 SMB1 的微软实现版本现已不推荐使用。SMB 2.0Windows Vista / Server 2008 起引入大幅减少协议交互次数性能与效率大幅提升。SMB 3.0Windows 8 / Server 2012 起引入支持加密、多通道、透明故障转移、SMB DirectRDMA等。SMB 3.x后续版本持续增强安全性与性能包括 SMB 3.02Windows 8.1、SMB 3.1.1Windows 10 / Server 2016等。SMB 协议可通过以下方式运行直接基于 TCP端口445SMB 直接运行在 TCP 之上无需 NetBIOS 中间层通过 NetBIOS API后者可运行于多种传输层UDP 端口 137、138 及 TCP 端口 137、139即 NetBIOS over TCP/IPNBT多种传统协议如 NBF常被误称为 NetBEUI3.2 NetBIOS 协议概述网络基本输入输出系统Network Basic Input/Output SystemNetBIOS提供与 OSI 模型会话层相关的服务允许局域网上的应用程序进行通信。作为一种 APINetBIOS 本身并非网络协议。在现代网络中NetBIOS 通常运行于 TCP/IP 之上通过 NetBIOS over TCP/IPNBT协议实现。这使得网络中的每台计算机同时拥有 IP 地址和 NetBIOS 名称。3.3 端口与服务对应关系端口协议栈说明TCP 139SMB → NetBIOS → TCP通过 NetBIOS over TCP/IP 运行 SMBTCP 445SMB → TCPSMB 直接运行在 TCP 之上直接托管Direct Hosting在 Windows 2000 及后续版本中Microsoft 引入了端口 445使 SMB 可以直接运行在 TCP 之上无需经过 NetBIOS 会话层。这种方式节省了一次往返通信延迟round trip。在 Windows 系统中可通过网络适配器属性中的「高级 IP 设置」选项控制是否启用「TCP 上的 NetBIOS」。启用时使用端口 139禁用时使用端口 445。3.4 两者的依赖关系SMB 依赖 NetBIOS 的场景SMB 需要 NetBIOS 来与支持 SMB 的设备通信这些设备不支持 SMB over TCP/IP 直接托管。NetBIOS 独立于SMBNetBIOS 是一个独立的 API 规范SMB 及其他技术均可使用 NetBIOS 接口因此 NetBIOS 不依赖 SMB。3.5 OSI 模型中的协议层次SMB 与 NetBIOS 在 OSI 模型中的层次关系如下在 Windows 系统中SMB 可直接托管于 TCP/IP 之上跳过 NetBIOS 层3.6 SMB 协议版本演进版本首次引入系统Samba 支持版本主要特性CIFSSMB 1.0Windows NT 4.0—早期版本已弃用SMB 2.0Windows Vista / Server 2008Samba 3.6性能改进多通道支持SMB 2.1Windows 7 / Server 2008 R2Samba 4.0改进的文件锁定与分布式文件系统SMB 3.0Windows 8 / Server 2012Samba 4.2透明故障转移、多通道SMB 3.02Windows 8.1 / Server 2012 R2Samba 支持 SMB 3.02 协商特性支持不完全优化跨数据中心传输SMB 3.1.1Windows 10 / Server 2016Samba 4.3默认加密、SMB DirectRDMASMB 3.1.1 (*)Windows 11 / Server 2022Samba 4.23SMB over QUIC、压缩、AES-256-GCM/CCM 加密(*)Windows 11 24H2 及 Windows Server 2025 起SMB 数据包签名变为强制要求。3.7 SMB 协议与 Samba 软件SMB 为网络文件共享协议Samba 是该协议在 Linux/Unix 平台的开源实现软件二者为协议与实现的对应关系。3.7.1 SMB 与 Samba 的区别维度SMBSamba本质应用层网络协议开源软件套件作用定义文件/打印机共享的通信规则在 Linux/Unix 上实现 SMB 协议归属微软主导的协议规范开源社区维护的软件项目运行平台Windows 原生内置Linux、Unix、NAS 等主要组件协议栈SMB1/CIFS、SMB2、SMB3smbd、nmbd、winbindd、smbclient 等SMB 为网络文件共享协议Samba 为该协议在 Linux/Unix 平台上的开源实现。Windows 原生支持 SMBLinux/Unix 系统需安装 Samba 以具备 SMB 服务能力。3.7.2 SMB 协议简介SMB 是微软主导的网络文件共享协议用于局域网内访问远程文件、打印机和其他资源。常见版本演进如下SMB1 / CIFS早期版本CIFS 是微软 1996 年对 SMB 的扩展命名现已不推荐使用。SMB2Windows Vista 起引入性能与协议效率大幅提升。SMB3Windows 8 / Server 2012 起引入支持加密、多通道、持久句柄等。在实际应用中SMB与CIFS常被混用现代环境应优先采用 SMB2/SMB3。3.7.3 Samba 软件简介Samba 是在 Linux/Unix 系统上实现 SMB 协议的开源软件使非 Windows 系统能够与 Windows 互操作。核心组件包括smbd处理文件共享、打印服务、用户认证和权限控制TCP 445/139。nmbd提供 NetBIOS 名称解析和网络浏览支持UDP 137/138。winbindd集成 Windows AD 域实现用户身份映射。smbclient / smb.conf客户端工具和服务器配置文件。典型应用场景包括 Linux 与 Windows 跨平台文件共享、打印机共享、AD 域集成以及 NAS 设备的文件服务。3.8 技术更新NetBIOS 弃用现状自 Windows 11 24H2 和 Windows Server 2025 起内置防火墙规则不再包含 SMB NetBIOS 端口137-139。仅 SMBv1 需要这些端口而 SMBv1 已被弃用并在现代系统中默认移除。使用 SMBv2 或更高版本进行的共享不使用 NetBIOS 端口 137-139。现代 Windows 系统Windows 10/11中NetBIOS over TCP/IP 默认处于禁用状态。SMB 安全强化Windows 11 24H2 和 Windows Server 2025 默认要求所有出站和入站 SMB 连接进行签名拒绝未签名数据包。SMB 客户端可配置为强制所有出站连接加密仅连接支持 SMB 3.0 及以上且支持加密的服务器。SMB 客户端可阻止远程出站连接的 NTLM 身份验证强制使用 Kerberos。SMB over QUICWindows 11 24H2 引入 SMB over QUIC 支持通过 UDP 443 端口建立 TLS 1.3 加密隧道适用于公网访问场景。需文件服务器管理员手动启用默认关闭。4 主机名、计算机名、子域名与 www 的区别4.1 计算机名计算机名是本地系统分配给设备的标识符仅在局域网范围内有效。外部网络无法直接通过计算机名访问该设备。4.2 主机名Hostname主机名是分配给网络连接设备的标签用于在网络中识别该设备。主机名不一定与计算机名相同但管理员通常会将两者设置为一致以简化维护。主机名通过 DNS 解析为 IP 地址。在计算机网络中主机名早期称为节点名Nodename是分配给连接到计算机网络的设备的标签用于在万维网、电子邮件或 Usenet 等电子通信中识别该设备。4.3 完全限定域名FQDN完全限定域名Fully Qualified Domain NameFQDN指定了域名系统中设备的精确位置包含所有域名层级包括顶级域名和根域。FQDN 的特点是不存在歧义只能被解释为一种含义。示例在局域网环境中计算机名为 giacomo1968其 FQDN 可能为giacomo1968.second_floor.big_company.com或简化为giacomo1968.big_company.com4.4 子域名子域名是域名层次结构中父域名的子域。在域名 giacomo1968.big_company.com 中giacomo1968 可视为 big_company.com 的子域名big_company 为域名称.com 为顶级域名TLD在域名系统DNS层次结构中子域名是较大域名的组成部分。以 fakename.wikipedia.org 为例的层级分析层级组成部分类型是否解析为 IP顶级域名orgTLD否仅为命名约定域名称wikipedia.org域名是如果配置了 A 记录子域名fakename子域名是如果配置了 A 记录因此en.wikipedia.org 既是子域名也是主机名如果它解析到 IP 地址mail.google.com 和 developers.google.com 同样是主机名也是 google.com 的子域名4.5 www 的含义与历史www 是万维网服务的主机名标识源于早期互联网惯例。在 1990 年代网络通常在同一个域名下提供多种服务FTP 服务ftp.example.edu电子邮件服务mail.example.edu万维网服务www.example.edu随着互联网发展许多网站仅运行单一 Web 服务因此 www 前缀的使用逐渐减少。许多网站注册域名时不使用 www但会配置 DNS 重定向将 www 请求转发至主域名。从技术角度而言www 仍可被视为一种主机名。4.6 概念层级关系总结概念DNS 层次位置是否解析为 IP说明顶级域名TLDtop-level domain最高层否如 .com、.org、.edu仅为命名约定域名称中间层是如 wikipedia.org可解析为 IP 地址子域名域名称之下视配置而定如 en.wikipedia.org 中的 en 部分主机名网络标识层是可对应子域名、域名称或 FQDN 中的主机部分FQDN完整路径是包含所有层级的完整域名无歧义4.7 补充说明在实际网络环境中计算机名、主机名、完全限定域名和子域名之间可能存在重叠。具体含义取决于上下文和网络架构配置。管理员在配置 DNS 时通常会将系统的本地主机名与外部 DNS 名称保持一致以简化网络管理和故障排查。注本文为“主机名、域名与网络命名”相关合辑。略作重排如有内容异常请看原文。Reference[1] “Domain Name System.” Wikipedia. https://en.wikipedia.org/wiki/Domain_Name_System[2] “Server Message Block.” Wikipedia. https://en.wikipedia.org/wiki/Server_Message_Block[3] “NetBIOS.” Wikipedia. https://en.wikipedia.org/wiki/NetBIOS[4] “Hostname.” Wikipedia. https://en.wikipedia.org/wiki/Hostname[5] “Fully qualified domain name.” Wikipedia. https://en.wikipedia.org/wiki/Fully_qualified_domain_name[6] “Top-level domain.” Wikipedia. https://en.wikipedia.org/wiki/Top-level_domain[7] “Difference between host name and domain name.” Super User. https://superuser.com/questions/59093/difference-between-host-name-and-domain-name[8] “Difference between NETBIOS, host name and computer name?” Super User. https://superuser.com/questions/368602/difference-between-netbios-host-name-and-computer-name[9] “Difference between NetBIOS and SMB.” Super User. https://superuser.com/questions/694469/difference-between-netbios-and-smb[10] “What is a hostname versus a computer name versus a subdomain versus www?” Super User. https://superuser.com/questions/887173/what-is-a-hostname-versus-a-computer-name-versus-a-subdomain-versus-www[11] “Accessing share via netbios vs fqdn.” Microsoft QA. https://learn.microsoft.com/en-us/answers/questions/340687/accessing-share-via-netbios-vs-fqdn
返回列表