LLMNR
Contents
LLMNR
https://www.jianshu.com/p/bfcc437a738e
什么是LLMNR
在DNS 服务器不可用时, DNS 客户端计算机可以使用本地链路多播名称解析 (LLMNR—Link-Local Multicast Name Resolution) (也称为多播 DNS 或 mDNS) 来解析本地网段上的名称。例如, 如果路由器出现故障, 从网络上的所有 DNS 服务器切断了子网, 则支持 LLMNR 的子网上的客户端可以继续在对等基础上解析名称, 直到网络连接还原为止。
LLMNR (本地链路组播名称解析) 在DNS服务器不可用时,DNS 客户端计算机可以使用本地链路组播名称解析,通过UDP发送到组播地址224.0.0.252:5355,来解析本地网段上的名称,使用的也是普通DNS的数据包格式。类似的另一种协议是mDNS (组播DNS) ,通过UDP协议发送到组播地址224.0.0.251:5353,用于家庭局域网等小型网络。
LLMNR 为使用 IPv4、IPv6 或者同时使用这两种地址的设备提供了点对点名称解析服务, 可以让同一子网中的 IPv4 和 IPv6 设备不需要 WINS 或 DNS 服务器就可以解析对方的名称。
例如,如果路由器出现故障,从网络上的所有 DNS 服务器切断了子网,则支持 LLMNR 的子网上的客户端可以继续在对等基础上解析名称,直到网络连接还原为止。除了在网络出现故障的情况下提供名称解析以外,LLMNR 在建立临时对等网络方面也非常有用。
除了在网络出现故障的情况下提供名称解析以外,LLMNR 在建立临时对等网络 (例如,机场候机区域) 方面也非常有用。
LLMNRs
工作过程
主机在自己的内部名称缓存中查询名称。如果在缓存中没有找到了名称,那么主机就会向自己配置的主DNS服务器发送查询请求。如果主机没有收到回应或收到了错误信息,主机还会尝试搜索配置的备用DNS服务器。如果主机没有配置DNS服务器,或者如果在连接DNS服务器的时候没有遇到错误但失败了,那么名称解析会失败,并转为使用LLMNR。
主机通过用户数据报协议(UDP)发送多播查询,查询主机名对应的IP地址,这个查询会被限制在本地子网(也就是所谓的链路局部)内。
链路局部范围内每台支持LLMNR,并且被配置为响应传入查询的主机在收到这个查询请求后,会将被查询的名称和自己的主机名进行比较。如果没有找到匹配的主机名,那么计算机就会丢弃这个查询。如果找到了匹配的主机名,这台计算机会传输一条包含了自己IP地址的单播信息给请求该查询的主机。
Author -
LastMod 2018-12-30