CN104935564A - 使基于mDNS协议的设备及服务在局域网中互相发现的方法 - Google Patents

使基于mDNS协议的设备及服务在局域网中互相发现的方法 Download PDF

Info

Publication number
CN104935564A
CN104935564A CN201510175619.0A CN201510175619A CN104935564A CN 104935564 A CN104935564 A CN 104935564A CN 201510175619 A CN201510175619 A CN 201510175619A CN 104935564 A CN104935564 A CN 104935564A
Authority
CN
China
Prior art keywords
equipment
address
local area
multicast
area network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510175619.0A
Other languages
English (en)
Other versions
CN104935564B (zh
Inventor
渠富林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IGRS ENGINEERING LAB Ltd
Original Assignee
IGRS ENGINEERING LAB Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IGRS ENGINEERING LAB Ltd filed Critical IGRS ENGINEERING LAB Ltd
Priority to CN201510175619.0A priority Critical patent/CN104935564B/zh
Publication of CN104935564A publication Critical patent/CN104935564A/zh
Application granted granted Critical
Publication of CN104935564B publication Critical patent/CN104935564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种使基于mDNS协议的设备及服务在局域网中互相发现的方法,包括:第一设备启动后加入局域网,获取IP地址;监听5353端口并加入组播组;发送探测指令,当探测到局域网内存在相同名称的设备时更名,否则构建在线宣告消息;向组播地址的5353端口组播在线宣告消息,并向广播地址的5353端口广播在线宣告消息;第二设备采用同样的方式加入局域网,并向组播地址的5353端口组播在线宣告消息,向广播地址的5353端口广播在线宣告消息;第一设备或第二设备发出探测消息,并在收到对方的探测消息后单播宣告,完成设备的相互发现。本发明,使局域网内不支持或者不完全支持mDNS协议的设备能够正常的互相发现,不需要设备支持其它发现协议,降低了成本。

Description

使基于mDNS协议的设备及服务在局域网中互相发现的方法
技术领域
本发明涉及通信技术领域,具体涉及使基于mDNS协议的设备及服务在局域网中互相发现的方法。
背景技术
随着mDNS(multicast DNS,组播DNS)在苹果公司产品(iphone、ipad、Mac等)的广泛应用,以及越来越多的硬件和软件厂商对其设备中mDNS协议的支持,mDNS协议基本已经成为局域网内设备和服务互相发现的业界标准,mDNS的使用场景最多的情况是在局域网内,在局域网内,要通过一台主机和其他主机进行通信时,需要知道对方的IP地址,但是在一般使用DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)动态分配IP地址的局域网内,各个主机的IP地址是由DHCP服务器来分配IP地址的,所以有些时候并不能够知道对方的IP地址,mDNS便能解决这个问题。
通过5353端口,每个进入局域网内的主机,如果开启了mDNS服务的话,都会向局域网内的所有主机组播一个消息,例如,我是谁以及我的IP地址是多少等,然后其他开启mDNS服务的主机就会发出响应,例如,我是谁以及我的IP地址是多少等。比如,A主机进入了局域网,开启了mDNS服务,并向mDNS服务注册一下信息:我提供FTP服务,我的IP地址是192.168.1.101,端口号是21。当B主机进入局域网,并向B主机的mDNS服务请求,我要找局域网内FTP服务器,此时B主机的mDNS就会去局域网内向其他的mDNS询问,并且会告诉B主机,有一个IP地址为192.168.1.101,端口号是21的主机,也就是A主机提供FTP服务,所以B主机就知道了A主机的IP地址和端口号了。
但是由于某些设备(部分安卓手机、部分路由器)对于mDNS协议并不支持或者不完全支持,造成了设备之间在局域网内无法正常发现的问题。
现有技术解决设备之间在局域网内无法正常发现的方案为:当设备不支持mDNS协议而导致设备不能互相被发现时,使设备支持其它发现协议,然而,使用其它发现协议虽然可以解决设备之间互相发现的问题,但是由于增加了协议,所以需要所有的设备都要支持该协议,增加了应用程序的开发成本,因此该方案虽可以解决设备之间互相发现的问题,但成本较高。
综上所述,现有方案的缺陷为在解决设备之间互相发现的问题时,由于增加了协议而导致成本较高。
发明内容
本发明所要解决的技术问题是现有方案在解决设备之间互相发现的问题时,由于增加了协议而导致成本较高的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种使基于mDNS协议的设备及服务在局域网中互相发现的方法,包括以下步骤:
基于mDNS协议的第一设备启动后加入局域网,获取到一个IP地址;
所述第一设备监听5353端口并加入组播组;
所述第一设备发送探测指令,探测局域网内是否存在相同名称的设备,若存在则更名,否则构建在线宣告消息;
所述第一设备向组播地址的5353端口组播第一设备在线宣告消息,并向其IP地址同网段的广播地址的5353端口广播第一设备在线宣告消息;
第二设备采用上述同样的方式加入所述局域网,并向组播地址的5353端口组播第二设备在线宣告消息,向其IP地址同网段的广播地址的5353端口广播第二设备在线宣告消息;
所述第一设备或第二设备发出探测消息,所述第一设备或第二设备在收到对方的探测消息后单播宣告,完成所述第一设备与所述第二设备的相互发现。
在上述方法中,所述第一设备或第二设备单播宣告后,判断距上次组播和广播在线宣告消息的时间是否已达到生存时间值,若是则再次分别向组播地址的5353端口组播在线宣告消息,并向其IP地址同网段的广播地址的5353端口广播在线宣告消息;否则等待探测消息,并在收到对方的探测消息后单播宣告。
在上述方法中,所述第一设备或第二设备加入所述局域网后开启mDNS服务。
本发明,通过在设备启动并加入局域网后,不仅仅向组播地址的5353端口组播设备在线宣告消息,同时向其IP地址同网段的广播地址的5353端口广播设备在线宣告消息,使得局域网内不支持或者不完全支持mDNS协议的设备能够正常的互相发现,不需要设备支持其它发现协议,降低了成本。
附图说明
图1为本发明实施例提供的一种使基于mDNS协议的设备及服务在局域网中互相发现的方法流程图。
具体实施方式
本发明提供了一种使基于mDNS协议的设备及服务在局域网中互相发现的方法,当基于mDNS协议的设备加入局域网后不仅仅向组播地址的5353端口组播设备在线宣告消息,同时向其IP地址同网段的广播地址的5353端口广播设备在线宣告消息,弥补了mDNS协议的不足,使局域网内不支持或者不完全支持mDNS协议的设备能够正常的互相发现,不需要设备支持其它发现协议,解决了现有方案成本较高的问题。下面结合说明书附图和具体实施方式对本发明做出详细的说明。
本发明实施例提供了一种使基于mDNS协议的设备及服务在局域网中互相发现的方法,如图1所示,包括以下步骤:
步骤101、基于mDNS协议的第一设备启动后加入局域网,获取到一个IP地址192.168.0.101。
步骤102、第一设备监听5353端口并加入组播地址为224.0.0.251的组播组。
步骤103、第一设备发送探测指令,探测局域网内是否存在相同名称的设备,若存在则更名,否则构建在线宣告消息。
如,第一设备名称为Device1,发送探测指令,探测局域网内是否存在名称为Device1的设备,若存在,则第一设备修改自己的名称,否则第一设备构建在线宣告消息。
步骤104、第一设备向组播地址的5353端口组播第一设备在线宣告消息,并向其IP地址同网段的广播地址的5353端口广播第一设备在线宣告消息。
步骤105、第二设备采用上述同样的方式加入局域网,并向组播地址的5353端口组播第二设备在线宣告消息,向其IP地址同网段的广播地址的5353端口广播第二设备在线宣告消息。
上述方法中,第一设备或第二设备加入局域网后开启mDNS服务。
步骤106、第一设备或第二设备发出探测消息,第一设备或第二设备在收到对方的探测消息后单播宣告,完成第一设备与第二设备的相互发现。
步骤107、第一设备或第二设备单播宣告后,判断距上次组播和广播在线宣告消息的时间是否已达到生存时间值,若是,则执行步骤108;否则,执行步骤109。
其中,生存时间值为30分钟,生存时间值是IPV4(Internet ProtocolVersion 4,网际协议版本4)包头中一个8bit字段,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量,在该方案中表示DNS记录在DNS服务器上的缓存时间,当各地的DNS服务器接收到解析请求时,就会向域名指定的NS服务器发出解析请求,从而获得解析记录,在获得这个记录之后,记录会在DNS服务器中保存一段时间,这段时间内如果再接收到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录,而这个记录在DNS服务器上保留的时间就是生存时间值,所述生存时间值不仅仅限于此值,还可为其它值。
步骤108、第一设备或第二设备再次分别向组播地址的5353端口组播在线宣告消息,并向其IP地址同网段的广播地址的5353端口广播在线宣告消息。
步骤109、第一设备或第二设备等待探测消息,并在收到对方的探测消息后单播宣告。
本发明,通过在设备启动并加入局域网后,不仅仅向组播地址的5353端口组播设备在线宣告消息,同时向其IP地址同网段的广播地址的5353端口广播设备在线宣告消息,使得局域网内不支持或者不完全支持mDNS协议的设备能够正常的互相发现,不需要设备支持其它发现协议,降低了成本。
本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

Claims (3)

1.使基于mDNS协议的设备及服务在局域网中互相发现的方法,其特征在于,包括以下步骤:
基于mDNS协议的第一设备启动后加入局域网,获取到一个IP地址;
所述第一设备监听5353端口并加入组播组;
所述第一设备发送探测指令,探测局域网内是否存在相同名称的设备,若存在则更名,否则构建在线宣告消息;
所述第一设备向组播地址的5353端口组播第一设备在线宣告消息,并向其IP地址同网段的广播地址的5353端口广播第一设备在线宣告消息;
第二设备采用上述同样的方式加入所述局域网,并向组播地址的5353端口组播第二设备在线宣告消息,向其IP地址同网段的广播地址的5353端口广播第二设备在线宣告消息;
所述第一设备或第二设备发出探测消息,所述第一设备或第二设备在收到对方的探测消息后单播宣告,完成所述第一设备与所述第二设备的相互发现。
2.如权利要求1所述的方法,其特征在于,所述第一设备或第二设备单播宣告后,判断距上次组播和广播在线宣告消息的时间是否已达到生存时间值,若是则再次分别向组播地址的5353端口组播在线宣告消息,并向其IP地址同网段的广播地址的5353端口广播在线宣告消息;否则等待探测消息,并在收到对方的探测消息后单播宣告。
3.如权利要求1所述的方法,其特征在于,所述第一设备或第二设备加入所述局域网后开启mDNS服务。
CN201510175619.0A 2015-04-14 2015-04-14 使基于mDNS协议的设备及服务在局域网中互相发现的方法 Active CN104935564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510175619.0A CN104935564B (zh) 2015-04-14 2015-04-14 使基于mDNS协议的设备及服务在局域网中互相发现的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510175619.0A CN104935564B (zh) 2015-04-14 2015-04-14 使基于mDNS协议的设备及服务在局域网中互相发现的方法

Publications (2)

Publication Number Publication Date
CN104935564A true CN104935564A (zh) 2015-09-23
CN104935564B CN104935564B (zh) 2018-01-16

Family

ID=54122536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510175619.0A Active CN104935564B (zh) 2015-04-14 2015-04-14 使基于mDNS协议的设备及服务在局域网中互相发现的方法

Country Status (1)

Country Link
CN (1) CN104935564B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493213A (zh) * 2017-09-26 2017-12-19 四川长虹电器股份有限公司 一种提高局域网设备发现能力的方法
CN107528919A (zh) * 2017-09-25 2017-12-29 江苏英索纳智能科技有限公司 一种局域网设备发现和驱动程序自动安装的方法及装置
CN107800745A (zh) * 2016-09-06 2018-03-13 北京京东尚科信息技术有限公司 基于mDNS进行服务宣告和服务发现的方法
TWI687075B (zh) * 2017-11-08 2020-03-01 日商雅來德特雷希思控股股份有限公司 無線通訊裝置及方法
CN113840004A (zh) * 2021-05-28 2021-12-24 善理通益信息科技(深圳)有限公司 一种局域网内的服务发现机制的实现方法及装置
CN115190106A (zh) * 2022-06-17 2022-10-14 苏州迈科网络安全技术股份有限公司 一种基于mdns协议的设备感知方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004107124A2 (en) * 2003-05-27 2004-12-09 Nokia Corporation System and method for user interaction in a peer-to-peer environment
CN101141488A (zh) * 2006-09-08 2008-03-12 华为技术有限公司 组播服务代理的实现方法及系统和节点发现方法
CN103312571A (zh) * 2013-05-28 2013-09-18 北京小米科技有限责任公司 一种发现设备的方法及装置
CN104283979A (zh) * 2013-07-11 2015-01-14 华为技术有限公司 组播域名系统中报文传输的方法、装置及系统
CN104488199A (zh) * 2014-03-17 2015-04-01 华为终端有限公司 一种终端间同步内容的方法和终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004107124A2 (en) * 2003-05-27 2004-12-09 Nokia Corporation System and method for user interaction in a peer-to-peer environment
CN101141488A (zh) * 2006-09-08 2008-03-12 华为技术有限公司 组播服务代理的实现方法及系统和节点发现方法
CN103312571A (zh) * 2013-05-28 2013-09-18 北京小米科技有限责任公司 一种发现设备的方法及装置
CN104283979A (zh) * 2013-07-11 2015-01-14 华为技术有限公司 组播域名系统中报文传输的方法、装置及系统
CN104488199A (zh) * 2014-03-17 2015-04-01 华为终端有限公司 一种终端间同步内容的方法和终端

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107800745A (zh) * 2016-09-06 2018-03-13 北京京东尚科信息技术有限公司 基于mDNS进行服务宣告和服务发现的方法
CN107800745B (zh) * 2016-09-06 2021-06-29 北京京东尚科信息技术有限公司 基于mDNS进行服务宣告和服务发现的方法、装置和计算机可读存储介质
CN107528919A (zh) * 2017-09-25 2017-12-29 江苏英索纳智能科技有限公司 一种局域网设备发现和驱动程序自动安装的方法及装置
CN107493213A (zh) * 2017-09-26 2017-12-19 四川长虹电器股份有限公司 一种提高局域网设备发现能力的方法
TWI687075B (zh) * 2017-11-08 2020-03-01 日商雅來德特雷希思控股股份有限公司 無線通訊裝置及方法
US10834666B2 (en) 2017-11-08 2020-11-10 Allied Telesis Holdings K.K. Wireless communication device and method
CN113840004A (zh) * 2021-05-28 2021-12-24 善理通益信息科技(深圳)有限公司 一种局域网内的服务发现机制的实现方法及装置
CN115190106A (zh) * 2022-06-17 2022-10-14 苏州迈科网络安全技术股份有限公司 一种基于mdns协议的设备感知方法

Also Published As

Publication number Publication date
CN104935564B (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
US9832168B2 (en) Service discovery within multi-link networks
CN104935564A (zh) 使基于mDNS协议的设备及服务在局域网中互相发现的方法
EP2919444B1 (en) Method, relay device, and system for acquiring internet protocol address in network
US8451839B2 (en) Method and apparatus for managing route information and forwarding data in access devices
EP2362587B1 (en) Method and apparatus for realizing ARP request broadcasting limitation
EP2154821A1 (en) Method and apparatus for sending and receiving multicast packets
US20090285215A1 (en) Internet Protocol Version Six (IPv6) Addressing and Packet Filtering in Broadband Networks
US20140325090A1 (en) Discovery and disconnection of client addresses in an access node for an ip network
US20190036875A1 (en) Methods And Apparatus For Configuring An M2M Device
JP2007036374A (ja) パケット転送装置、通信網及びパケット転送方法
CN101883158A (zh) 获取虚拟局域网标识和网络协议地址的方法及客户端
CA2660711A1 (en) System and method for routing and domain name system support of a mobile node
US20160119186A1 (en) Zero-configuration networking protocol
US20140313933A1 (en) Method, apparatus, and system for layer 2 interworking based on ipv6
CN109274588A (zh) Ip报文的处理方法及装置
JP5241957B2 (ja) 加入者装置をIPv6対応のアグリゲーションネットワークに接続するための方法および装置
CN105634805A (zh) 一种无线组网环境下主控设备对附加设备统一配置的方法
CN101325587A (zh) 一种dhcp会话监测方法
CN113938427A (zh) 通信方法及系统、路由节点
WO2015117455A1 (zh) 一种网络接入方法、系统及终端设备、计算机存储介质
CN103051739A (zh) 一种网络终端及其配置ip地址方法
CN111225080B (zh) 一种网关下挂设备信息的获取方法
CN104935677B (zh) 一种nat64资源获取方法及获取/分配装置
US9923799B2 (en) Data processing
CN100362814C (zh) IPv6的计费实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method of enabling devices and services based on mDNS protocol to discover mutually in local area network

Effective date of registration: 20190610

Granted publication date: 20180116

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: IGRS Engineering Lab Ltd.

Registration number: 2019990000530

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20200728

Granted publication date: 20180116

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: IGRS ENGINEERING LAB Ltd.

Registration number: 2019990000530

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method of discovering devices and services based on mDNS protocol in LAN

Effective date of registration: 20200728

Granted publication date: 20180116

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: IGRS ENGINEERING LAB Ltd.

Registration number: Y2020990000840

PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20220712

Granted publication date: 20180116

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: IGRS ENGINEERING LAB Ltd.

Registration number: Y2020990000840

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method of discovering devices and services based on mDNS protocol in LAN

Effective date of registration: 20220712

Granted publication date: 20180116

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: IGRS ENGINEERING LAB Ltd.

Registration number: Y2022990000445

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230420

Granted publication date: 20180116

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: IGRS ENGINEERING LAB Ltd.

Registration number: Y2022990000445

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method for mutual discovery of devices and services based on the mDNS protocol in a local area network

Effective date of registration: 20230420

Granted publication date: 20180116

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: IGRS ENGINEERING LAB Ltd.

Registration number: Y2023990000228

PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20180116

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: IGRS ENGINEERING LAB Ltd.

Registration number: Y2023990000228

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method for mutual discovery of devices and services based on the mDNS protocol in a local area network

Granted publication date: 20180116

Pledgee: Beijing technology intellectual property financing Company limited by guarantee

Pledgor: IGRS ENGINEERING LAB Ltd.

Registration number: Y2024990000131