网络基础

[quote]mdns
mDNS即组播DNS(multicast DNS)。使用5353端口,在内网没有DNS服务器时,就会出现此组播信息。
在一个没有常规DNS服务器的小型网络内,可以使用mDNS来实现类似DNS的编程接口、包格式和操作语义。
组播DNS是IETF零配置网络(zeroconf)的参与者和DNS扩展(dnsext)工作组共同努力的结果。Zeroconf工作组提出了需求,DNSEXT组受到特许进行细节实现。大部分为mDNS工作的人目前都同时参与两个工作组。
mDNS主要实现了在没有传统DNS服务器的情况下使局域网内的主机实现相互发现和通信。
苹果的Bonjour就是一个基于mDNS的产品。

用mDNS解析名字
(引自:http://berryfl.diandian.com/post/2012-02-04/15295674)
局域网中,我们可能习惯用IP地址指定主机。但是,如果使用DHCP分配IP地址,我们就很难事先知道某台主机的IP地址(当然通过配置DHCP服务器可以给某个MAC地址的机器总是分配同一个IP地址,但不是每个局域网我们都能控制),这对局域网内自动化影响很大。使用名字而不是IP地址去指定主机可以解决这个问题。
使用名字涉及到解析名字,毕竟主机最终还是通过IP协议进行通信。Windows时代的做法是NetBIOS,而现代苹果的做法是mDNS。mDNS的原理不复杂,想解析名字的主机在局域网里发一个组播的DNS查询,刚好有这个名字的主机收到后响应。整个过程与ARP类似,但是mDNS是在IP层面,而且mDNS协议设计得很好,可以很自然地看成是DNS协议的补充(报文格式和DNS报文几乎一样)。

具体怎么使用mDNS呢,只需要在主机名后加.local即可,如上图所示。Mac OS X中,默认就会启动mDNSResponder进程,响应mDNS请求;Linux中,大部分发行版也是开箱即可用mDNS,它需要avahi守护进程;Windows中,默认似乎没有响应mDNS的进程,但只要安装iTunes,就会有mDNSResponder.exe。


JmDNS是multi-cast DNS的一个Java实现并可被用来在本地广域网中实现DNS服务注册与发现。 [/quote]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值