openWrt启动mDNS服务
引言
:一般情况下,openwrt会自动启动mDNS服务的,但由于我刷写的镜像的问题,我的openWrt并没有启动mDNS这个守护进程。在解决这个问题的过程中遇到一些问题,在此记录一下。
mDNS网络协议
DNS(Domain Name System,域名系统)是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
在局域网中,设备和设备之前相互通信需要知道对方的ip地址的。然而,大多数情况,设备的ip不是静态ip地址,而是通过dhcp 协议动态分配的ip 地址,如何发现局域网的设备呢?
现在物联网设备和app之间的通信,要么app通过广播,要么通过组播,发一些特定信息,感兴趣设备应答,实现局域网设备的发现。但是,使用mDNS比这方便多了。
mdns 即多播dns(Multicast DNS),mDNS主要实现了在没有传统DNS服务器的情况下使局域网内的主机实现相互发现和通信,使用的端口为5353,遵从dns协议,使用现有的DNS信息结构、名语法和资源记录类型,并且没有指定新的操作代码或响应代码。
mDNS是基于UDP协议的,使用的组播地址为:224.0.0.