CN107046537B - 一种基于DNS-SD的OCF客户端对AllJoyn服务的发现方法 - Google Patents
一种基于DNS-SD的OCF客户端对AllJoyn服务的发现方法 Download PDFInfo
- Publication number
- CN107046537B CN107046537B CN201710212565.XA CN201710212565A CN107046537B CN 107046537 B CN107046537 B CN 107046537B CN 201710212565 A CN201710212565 A CN 201710212565A CN 107046537 B CN107046537 B CN 107046537B
- Authority
- CN
- China
- Prior art keywords
- alljoyn
- dns
- ocf
- resource
- message
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于DNS‑SD的OCF客户端对AllJoyn服务的发现方法,其通过发送符合AllJoyn服务发现机制的DNS‑SD消息去发现AllJoyn服务资源。通过本方案可以实现OCF客户端设备对AllJoyn服务资源的发现,实现了OCF协议与AllJoyn协议互联互通。
Description
技术领域
本发明涉及网络技术,具体涉及OCF客户端对AllJoyn服务的发现技术。
背景技术
AllJoyn的服务发现机制采用Next-generation Name service(NGNS),NGNS发现协议采用了通过使用AllJoyn申请的多播地址和端口来发送基于多播的mDNS。AllJoyn服务消费端调用FindAdvertiseName()初始化NGNS消息序列,NGNS通过多播DNS发送基于DNS-SD的查询消息;NGNS使用AllJoyn申请的多播地址和端口来发送基于多播的DNS,IPv4组播地址为224.0.0.251,IPv6组播地址为FF02::FB,组播端口号为5353;任何与搜索名字匹配的服务提供端通过单播方式发送DNS-SD消息响应服务消费端。
OCF的服务发现是基于CoAP discovery机制。所有发布中的OCF设备加入“AllCoAP Nodes”多播分组,如IPv6中的FF0X::FD或监听端口“5683”。需要发现资源的OCF客户端也加入该多播分组。OCF客户端发送一个发现请求给多播分组和端口“5683”,请求的URI为/oic/res。如果OCF客户端正处在发现指定资源类型的过程中,则它应使用带有指定“rt”参数的查询指令,否则所有的OCF设备都会回复此请求。
可见,AllJoyn系统的服务发现机制和OCF的资源发现机制使用两种完全不同的发现协议,因此,AllJoyn设备与OCF设备之间无法互相发现。
发明内容
针对现有AllJoyn设备与OCF设备之间无法互相发现的问题,需要一种能够实现AllJoyn设备与OCF设备之间互相发现的方案。
为此,本发明所要解决的技术问题是提供一种基于DNS-SD的OCF客户端对AllJoyn服务的发现方法,使得AllJoyn设备与OCF设备之间可互相发现。
为了解决上述技术问题,本发明提供的基于DNS-SD的OCF客户端对AllJoyn服务的发现方法,通过发送符合AllJoyn服务发现机制的DNS-SD消息去发现AllJoyn服务资源。
在本方案中,在OCF客户端,通过OCF的资源发现接口发现AllJoyn服务资源,并将该资源生成AllJoyn标准的DNS-SD查询消息。
在本方案中,OCF客户端的资源发现接口将OCF的resource URI映射为DNS-SD消息中的TXT记录的“PATH={URI}”,对应于AllJoyn的对象路径;
将OCF的resourcetype映射为DNS-SD消息中TXT记录的“NAME={resourcetype}”,对应于AllJoyn的well-known name;
将OCF的resourceinteface映射为DNS-SD消息中TXT记录的“IF={resourceinterface}”,对应于AllJoyn的接口。
在本方案中,以多播的方式发送DNS-SD消息。
在本方案中,AllJoyn服务端收到DNS-SD查询消息后,进行匹配,在AllJoyn服务和OCF要发现的资源相互匹配后,返回相应的DNS-SD响应消息给OCF客户端。
在本方案中,OCF客户端在接收到DNS-SD响应消息后,进行解析得到AllJoyn服务的资源属性。
通过本方案可以实现OCF客户端设备对AllJoyn服务资源的发现,实现了OCF协议与AllJoyn协议互联互通。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为本方案中DNS-SD消息的生成流程图;
图2为本方案中OCF客户端发现AllJoyn服务资源的流程图;
图3为本发明实例中OCF客户端发现AllJoyn服务资源的流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本方案基于DNS-SD消息,有效实现OCF客户端对AllJoyn服务的发现。由OCF客户端通过发送符合AllJoyn服务发现机制的DNS-SD消息去发现AllJoyn服务资源。
为此,本方案在OCF客户端,使用OCF的资源发现接口去发现AllJoyn服务资源,此时使用的AllJoyn服务资源符合OCF标准资源定义规范,拥有resource URI,resource type等;OCF客户端的资源发现接口将该资源生成AllJoyn标准的DNS-SD查询消息,由此实现对OCF客户端设备对AllJoyn服务资源的发现。
其中,DNS-SD(DNS-Based Service Discovery)定义了一种配置DNS PTR,SRV和TXT记录的常规方法。
而AllJoyn客户端通过如下名字格式来查询某一DNS PTR记录,从而发现某一服务的所有实例:
<Service>.<Domain>。
DNS-SD响应方返回DNS SRV和DNS TXT记录,且SRV和TXT有如下的命名格式:
<Instance>.<Service>.<Domain>。
在此基础上,为生成符合AllJoyn服务发现机制的DNS-SD消息(即AllJoyn标准的DNS-SD消息),OCF客户端发现资源接口需要提供resource URI,resource type和resourceinterface。
同时,OCF资源与AllJoyn DNS-SD消息之间采用如下的映射规则:
将OCF的resource URI映射为DNS-SD消息中的TXT记录的“PATH={URI}”,对应于AllJoyn的对象路径;
将OCF的resourcetype映射为DNS-SD消息中TXT记录的“NAME={resourcetype}”,对应于AllJoyn的well-known name;
将OCF的resourceinterface映射为DNS-SD消息中TXT记录的“IF={resourceinterface}”,对应于AllJoyn的接口。
据此,本方案中DNS-SD消息的生成流程如下(参见图1):
(1)定义要发现的AllJoyn服务的ResourceURI、Resource Type和ResourceInterface,以及OCF客户端应用程序调用findResource()方法;
(2)C++SDK通过进程间通信调用底层栈的资源发现方法OCDoResource()方法;
(3)OCStack接收到待发现AllJoyn资源的参数,按照上述对应的映射规则转化封装成DNS-SD消息;
(4)调用Socket,以多播的方式发送DNS-SD消息,其中IPv4组播地址为224.0.0.251,IPv6组播地址为FF02::FB,组播端口号为5353。
基于上述的DNS-SD查询消息,OCF客户端在发送DNS-SD查询消息后,AllJoyn服务端收到该DNS-SD查询消息,如果AllJoyn服务端拥有和DNS-SD查询消息相同的well-knownname,将会返回相应的DNS-SD响应消息给OCF客户端,至此,完成OCF客户端对AllJoyn服务的发现过程。
由此,OCF客户端基于DNS-SD消息发现AllJoyn服务的流程如下(参见图2):
(1)AllJoyn服务提供端连接AllJoyn router,注册总线对象,申请well-knownname;
(2)AllJoyn服务对象开启mDNS端口监听;
(3)OCF客户端初始化,调用OCF资源发现接口,寻找AllJoyn资源;
(4)OCStack根据发现的AllJoyn资源属性生成DNS-SD查询消息;
(5)按照mDNS多播发送DNS-SD查询消息;
(6)AllJoyn服务端收到DNS-SD查询消息,解析TXT记录,匹配对应的well-knownname和接口;
(7)AllJoyn服务和OCF要发现的资源相互匹配,AllJoyn服务端发送DNS-SD回复;
(8)OCF客户端收到DNS-SD回复,解析TXT记录,得到AllJoyn服务的资源属性,完成对AllJoyn服务资源的发现过程。
下面以资源发现的实例具体阐述OCF客户端基于DNS-SD消息对AllJoyn服务的发现过程。
首先,如下表所示,分别为AllJoyn标准服务对象和OCF标准资源进行定义:
由此,OCF客户端对AllJoyn服务的发现的整个流程如下(参见图3):
(1)AllJoyn服务提供端注册总线对象,对象路径为:/org/freedesktop/example,接口为:org.alljoyn.example.test。
(2)AllJoyncore向AllJoyn路由申请well-known name:org.alljoyn.example。
(3)AllJoyn服务端绑定端口,开启mDNS端口监听。
(4)OCF客户端调用资源发现函数,发现资源:
Resource type:org.alljoyn.example,
Resource URI:/org/freedesktop/example,
Resouece interface:org.alljoyn.example.test。
(5)OCStack根据AllJoyn资源属性生成对应的DNS-SD查询消息。
(6)mDNS多播发送DNS-SD查询消息。
(7)AllJoyn服务端通过mDNS端口监听,收到DNS-SD查询消息,解析TXT记录,匹配对应的well-known name,对象路径和接口;
(8)在AllJoyn服务和OCF要发现的资源相互匹配后,AllJoyn服务端发送DNS-SD回复(单播响应)。
(9)OCF客户端收到DNS-SD回复,解析TXT记录,得到AllJoyn服务的资源属性,完成对AllJoyn服务资源的发现过程。
由上实例可知,本方案实现了OCF客户端对AllJoyn服务的发现,有效实现了OCF协议与AllJoyn协议互联互通。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (3)
1.一种基于DNS-SD的OCF客户端对AllJoyn服务的发现方法,其特征在于,
所述OCF客户端通过OCF的资源发现接口发现AllJoyn服务资源,所述AllJoyn服务资源符合OCF标准资源定义规范;
所述OCF客户端的所述资源发现接口将所述AllJoyn服务资源生成AllJoyn标准的DNS-SD消息;
所述OCF客户端向AllJoyn服务端发送符合AllJoyn服务发现机制的所述DNS-SD消息;所述AllJoyn服务端收到所述DNS-SD消息后进行匹配,在所述AllJoyn服务和OCF要发现的资源相互匹配后,返回相应的DNS-SD响应消息给所述OCF客户端;
所述OCF客户端在接收到所述DNS-SD响应消息后,进行解析得到所述AllJoyn服务的资源属性。
2.根据权利要求1所述的OCF客户端对AllJoyn服务的发现方法,其特征在于,所述OCF客户端的所述资源发现接口将OCF的resource URI映射为所述DNS-SD消息中的TXT记录的“PATH={URI}”,对应于AllJoyn的对象路径;
将OCF的resourcetype映射为所述DNS-SD消息中TXT记录的“NAME={resourcetype}”,对应于AllJoyn的well-known name;
将OCF的resourceinteface映射为所述DNS-SD消息中TXT记录的“IF={resourceinterface}”,对应于AllJoyn的接口。
3.根据权利要求1所述的OCF客户端对AllJoyn服务的发现方法,其特征在于,以多播的方式发送所述DNS-SD消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710212565.XA CN107046537B (zh) | 2017-04-01 | 2017-04-01 | 一种基于DNS-SD的OCF客户端对AllJoyn服务的发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710212565.XA CN107046537B (zh) | 2017-04-01 | 2017-04-01 | 一种基于DNS-SD的OCF客户端对AllJoyn服务的发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107046537A CN107046537A (zh) | 2017-08-15 |
CN107046537B true CN107046537B (zh) | 2020-04-28 |
Family
ID=59544244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710212565.XA Active CN107046537B (zh) | 2017-04-01 | 2017-04-01 | 一种基于DNS-SD的OCF客户端对AllJoyn服务的发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107046537B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858838B (zh) * | 2018-08-24 | 2021-03-09 | Oppo广东移动通信有限公司 | 桥接通信的方法和设备 |
CN109446439B (zh) * | 2018-09-30 | 2022-09-06 | 青岛海尔科技有限公司 | 一种资源目录的选择方法、装置、系统及存储介质 |
CN109361551B (zh) * | 2018-11-21 | 2020-06-30 | 四川长虹电器股份有限公司 | 一种局域网双通道设备发现方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013088323A2 (en) * | 2011-12-16 | 2013-06-20 | Koninklijke Philips Electronics N.V. | Operation of wireless resource-constrained devices in ip networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9906605B2 (en) * | 2014-05-23 | 2018-02-27 | Qualcomm Connected Experiences, Inc. | Enhanced DNS-based service discovery in an internet of things (IoT) environment |
-
2017
- 2017-04-01 CN CN201710212565.XA patent/CN107046537B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013088323A2 (en) * | 2011-12-16 | 2013-06-20 | Koninklijke Philips Electronics N.V. | Operation of wireless resource-constrained devices in ip networks |
Non-Patent Citations (2)
Title |
---|
slides-94-dnssd-2的时间页;x;《时间页》;20151031 * |
Use of DNS-SD/mDNS by AllJoyn;Dave Thaler;《IETF》;20151031;第3-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107046537A (zh) | 2017-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102047197B1 (ko) | 사물 인터넷을 위한 광역 서비스 발견 | |
US10863422B2 (en) | Mechanisms for ad hoc service discovery | |
US9281955B2 (en) | Interoperability of data plane based overlays and control plane based overlays in a network environment | |
US9832168B2 (en) | Service discovery within multi-link networks | |
US10659430B2 (en) | Systems and methods for dynamic network address modification related applications | |
US9479422B2 (en) | mDNS-DNS architecture | |
US9143421B2 (en) | Network system capable of implementing stun with the assistance of two network devices and method thereof | |
EP2922321B1 (en) | 6lowpan network-based service discovery | |
CN101141488B (zh) | 组播服务代理的实现方法及系统和节点发现方法 | |
WO2015003566A1 (zh) | 组播域名系统中报文传输的方法、装置及系统 | |
CN107046537B (zh) | 一种基于DNS-SD的OCF客户端对AllJoyn服务的发现方法 | |
WO2018214809A1 (zh) | 消息发送方法及装置、存储介质 | |
CN107800597B (zh) | 家电设备的数据传输方法、装置和计算机可读存储介质 | |
WO2011157126A2 (zh) | 一种报文转发方法和网间路由装置 | |
US20160173326A1 (en) | Network configuration using service identifier | |
WO2013117112A1 (zh) | 传感器网络解析互通平台、传感器网络互通方法及系统 | |
KR102270909B1 (ko) | 멀티미디어 공유 방법, 등록 방법, 서버 및 프록시 서버 | |
Stolikj et al. | Context based service discovery in unmanaged networks using mDNS/DNS-SD | |
WO2014110737A1 (zh) | 网络中的设备配置方法、设备和系统 | |
US20150032898A1 (en) | Method for establishing a virtual community network connection and a system for implementing said method | |
Moritz et al. | Devices profile for web services in wireless sensor networks: Adaptations and enhancements | |
WO2016095751A1 (zh) | 一种域名解析方法及装置 | |
CN112887452B (zh) | 局域网间通信方法与系统、nat网关 | |
WO2012167660A1 (zh) | 一种获取cim资源的方法和装置 | |
Henneke et al. | Leveraging OPC-UA discovery by software-defined networking and network function virtualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |