CN104283979A - 组播域名系统中报文传输的方法、装置及系统 - Google Patents

组播域名系统中报文传输的方法、装置及系统 Download PDF

Info

Publication number
CN104283979A
CN104283979A CN201310291011.5A CN201310291011A CN104283979A CN 104283979 A CN104283979 A CN 104283979A CN 201310291011 A CN201310291011 A CN 201310291011A CN 104283979 A CN104283979 A CN 104283979A
Authority
CN
China
Prior art keywords
services
information
answer service
message
clean culture
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
CN201310291011.5A
Other languages
English (en)
Other versions
CN104283979B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310291011.5A priority Critical patent/CN104283979B/zh
Priority to PCT/CN2014/081327 priority patent/WO2015003566A1/zh
Priority to EP14822797.8A priority patent/EP3013020B1/en
Publication of CN104283979A publication Critical patent/CN104283979A/zh
Priority to US14/992,085 priority patent/US9774563B2/en
Application granted granted Critical
Publication of CN104283979B publication Critical patent/CN104283979B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing

Abstract

本发明公开了一种组播域名系统mDNS中报文传输的方法、装置及系统,用以解决通常情况下在基于mDNS的网络中需要传输较多的服务信息,造成网络带宽浪费的问题。其中该方法包括:中继将用户终端发来的用于查询mDNS中服务信息的Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并发送给网关,中继接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,以及中继将所述单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文后发送给用户终端。

Description

组播域名系统中报文传输的方法、装置及系统
技术领域
本发明涉及网络通信技术领域,尤其是涉及一种组播域名系统(英文:multicast Domain Name System,缩写:mDNS)中报文传输的方法、装置及系统。
背景技术
零配置联网,(英文:zero-configuration networking,缩写:zeroconf)是指一种当计算机设备或网络外围设备互联时,能够自动创建一套可用的基于互联网协议套件(英文:Internet Protocol Suite)的计算机网络的特殊技术。
其中,Bonjour技术是零配置联网技术中的一种,Bonjour技术基于组播域名系统以及域名系统(英文:Domain Name System,缩写:DNS)的服务发现(英文:DNS-based Service Discovery,缩写:DNS-SD)实现。通过Bonjour技术,在网络中的用户终端可以自动传播自身的服务信息,并可以获得网络中其他用户终端的服务信息,用户终端和用户终端之间就像在打招呼。用户终端的服务信息是提供服务的用户终端的信息,包括提供服务的用户终端的服务类型,例如打印、视频播放等服务,还可以包括提供服务的用户终端的标识等信息,提供服务的用户终端的标识可以是提供服务的用户终端在网络中的地址,或者和提供服务的用户终端提供的服务类型对应的服务名。通过Bonjour技术,能够使网际协议(Internet Protocol,IP)网络中的用户终端提供的服务,例如打印、视频播放等,即使在没有网络管理员的情况下也可以被网络中的其它用户终端找到。
但是在Bonjour技术中,由于mDNS使用保留的组播地址,因此只有当所有用户终端在同一个虚拟局域网(英文:Virtual Local Area Network,缩写:VLAN)中时,才能够实现Bonjour技术。使得Bonjour技术在实施中存在一定的局限性。为增强Bonjour技术的应用性,可以通过在网络中增加中继(英文:relay)和网关(英文:gateway)来提高Bonjour技术的应用范围。其中relay是用于支持用户终端和gateway之间的报文传输的网络设备,gateway是对relay转发来的由用户终端发送的报文进行处理的网络设备,并且gateway将处理结果通过relay转发给用户终端。如图1所示,在每一个VLAN中有且仅有一个relay,一个relay可以位于不同的VLAN中。每一个VLAN中的relay可以通过有线或者无线的方式和不同的支持Bonjour技术的用户终端连接。relay与支持Bonjour的用户终端在同一个VLAN中,将接收到的由用户终端发送的组播报文转换成单播报文之后,将转换后的单播报文发送给gateway。多个VLAN的relay可以和同一个gateway连接,relay将位于不同VLAN中的用户终端发送的报文,通过连接的gateway进行报文转发。gateway收集并记录各VLAN中relay转发的用户终端发送的请求服务的报文中包含的relay的地址,并根据接收到的请求服务的报文查找对应的提供服务的用户终端,并根据记录的relay的地址,将查找结果通过relay发送给用户终端。当请求服务的用户终端和提供服务的用户终端位于不同的VLAN中时,请求服务的用户终端通过relay和gateway获知提供服务的用户终端所提供的服务。
由于网络中有多个VLAN,各个VLAN中的用户终端的服务信息都由gateway发送给发送的请求服务的报文的用户终端,所以在基于mDNS的网络中需要传输较多的服务信息,造成网络带宽浪费。
发明内容
本发明提供了一种组播域名系统mDNS中报文传输的方法、装置及系统,用以解决通常情况下在基于mDNS的多VLAN的网络中需要传输较多的服务信息,造成网络带宽浪费的问题。
第一方面,提供了一种组播域名系统mDNS中报文传输的方法,包括:中继将用户终端发来的用于查询mDNS中服务信息的组播已知-应答(英文:Known-Answer)服务查询报文变换为单播Known-Answer服务查询报文并发送给网关,所述单播Known-Answer服务查询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用户终端确定的终端标识;所述中继接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,所述用户终端未知的服务信息是网关基于接收到的单播Known-Answer服务查询报文中包含的终端标识,在建立的终端标识和已知的服务信息的对应关系中,将所述终端标识对应的用户终端全部已知的服务信息去除后获得的;所述中继将单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文后发送给用户终端。
在第一方面的第一种可能的实现方式中,所述单播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:所述用户终端的媒体接入控制地址;所述用户终端的网际协议地址;根据所述用户终端的地址生成的所述用户终端的编号;中继为所述用户终端分配的编号。
第二方面,提供了一种组播域名系统mDNS中报文传输的方法,包括:网关获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中已知的服务信息;所述网关根据所述网关保存的终端标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的已知的服务信息添加到在网关保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中;在已添加从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息;网关确定与从接收到的所述单播Known-Answer服务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;网关将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息;网关向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
在第二方面的第一种可能的实现方式中,网关在所述单播Known-Answer服务查询报文中获得的终端标识和已知的服务信息之后,还包括:若在所述网关保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识,则在所述网关保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,在网关获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识后,还包括:网关获得所述中继的地址;所述网关保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
第三方面,提供了一种组播域名系统mDNS中报文传输的装置,包括:报文接收单元,用于接收用户终端发来的用于查询mDNS中服务信息的组播Known-Answer服务查询报文,并将接收到的组播Known-Answer服务查询报文传输给报文变换单元;报文变换单元,用于获得所述报文接收单元传输的组播Known-Answer服务查询报文,将获得的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并传输给报文发送单元;报文发送单元,用于获得报文变换单元传输的单播Known-Answer服务查询报文,并将获得的单播Known-Answer服务查询报文发送给网关,其中所述单播Known-Answer服务查询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用户终端确定的终端标识;所述报文接收单元,还用于接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,并将所述单播Known-Answer服务应答报文传输给报文变换单元,其中所述用户终端未知的服务信息是网关基于接收到的单播Known-Answer服务查询报文中包含的终端标识,在建立的终端标识和已知的服务信息的对应关系中,将所述终端标识对应的用户终端全部已知的服务信息去除后获得的;所述报文变换单元,还用于获得所述报文接收单元传输的单播Known-Answer服务应答报文,将获得的单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文,并将所述组播Known-Answer服务应答报文传输给报文发送单元;所述报文发送单元,还用于获得报文变换单元传输的组播Known-Answer服务应答报文,将所述组播Known-Answer服务应答报文发送给用户终端。
在第三方面的第一种可能的实现方式中,所述报文发送单元发送的单播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:所述用户终端的媒体接入控制地址;所述用户终端的网际协议地址;根据所述用户终端的地址生成的所述用户终端的编号;中继为所述用户终端分配的编号。
第四方面,提供了一种组播域名系统mDNS中报文传输的装置,包括:接收单元,用于接收中继发来的单播Known-Answer服务查询报文,并将所述单播Known-Answer服务查询报文传输给获得单元;获得单元,用于获得所述接收单元传输的单播Known-Answer服务查询报文,获得所述单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中已知的服务信息,并将获得的终端标识和用户终端已知的服务信息传输给对应关系确定单元;对应关系确定单元,用于获得所述获得单元传输的获得的终端标识和用户终端已知的服务信息,根据保存的终端标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的已知的服务信息添加到在保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中,并将更新后的终端标识和已知的服务信息的对应关系传输给所述获得单元;所述获得单元,还用于获得所述对应关系确定单元传输的更新后的终端标识和已知的服务信息的对应关系,并在已添加从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息,并将获得的已知的服务信息传输给服务信息确定单元;服务信息确定单元,用于获得所述获得单元传输的已知的服务信息,并确定与从接收到的所述单播Known-Answer服务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;并将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息,将所述未知的服务信息传输给发送单元;所述发送单元,用于获得所述服务信息确定单元传输的未知的服务信息,并向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
在第四方面的第一种可能的实现方式中,所述对应关系确定单元,还用于若在保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识,则在保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述获得单元,还用于在获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识后,获得所述中继的地址,并将获得的中继的地址传输给对应关系确定单元;所述对应关系确定单元,用于获得所述获得单元传输的中继的地址,并在保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
第五方面,提供了一种组播域名系统mDNS中报文传输的系统,包括中继和网关,其中:所述中继,用于中继将用户终端发来的用于查询mDNS中服务信息的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并发送给网关,所述单播Known-Answer服务查询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用户终端确定的终端标识;以及接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,并将所述单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文后发送给用户终端;所述网关,用于获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中已知的服务信息;并根据保存的终端标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的已知的服务信息添加到在网关保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中;以及在已添加从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息;并确定与从接收到的所述单播Known-Answer服务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息;向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
在第五方面的第一种可能的实现方式中,所述单播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:所述用户终端的媒体接入控制地址;所述用户终端的网际协议地址;根据所述用户终端的地址生成的所述用户终端的编号;中继为所述用户终端分配的编号。
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述网关,还用于若在所述网关保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识,则在所述网关保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系。
结合第五方面,第五方面的第一种可能的实现方式,以及第五方面的第二种可能的实现方式中的任意一个,在第五方面的第三种可能的实现方式中,所述网关,还用于获得所述中继的地址;所述网关保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
第六方面,提出一种中继,包括:接口和信号处理器,其中所述接口和信号处理器之间通过总线连接,并通过总线传输数据。所述接口,用于接收用户终端发来的用于查询mDNS中服务信息的组播Known-Answer服务查询报文,并将接收到的组播Known-Answer服务查询报文传输给报文信号处理器。信号处理器,用于获得所述接口传输的组播Known-Answer服务查询报文,将获得的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并传输给所述接口。上述接口,还用于获得所述信号处理器传输的单播Known-Answer服务查询报文,并将获得的单播Known-Answer服务查询报文发送给网关,其中所述单播Known-Answer服务查询报文中包含用户终端请求的服务类型,以及在所述单播Known-Answer服务查询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用户终端确定的终端标识。上述接口,还用于接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,并将所述单播Known-Answer服务应答报文传输给信号处理器,其中所述用户终端未知的服务信息是网关基于接收到的单播Known-Answer服务查询报文中包含的终端标识,在建立的终端标识和已知的服务信息的对应关系中,将所述终端标识对应的用户终端全部已知的服务信息去除后获得的。信号处理器,还用于获得所述接口传输的单播Known-Answer服务应答报文,将获得的单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文,并将所述组播Known-Answer服务应答报文传输给报文发送给用户终端。
在第六方面的第一种可能的实现方式中,所述接口发送的单播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:所述用户终端的媒体接入控制地址;所述用户终端的网际协议地址;根据所述用户终端的地址生成的所述用户终端的编号;中继为所述用户终端分配的编号。
第七方面,还提出一种网关,包括:接口、存储器和信号处理器,其中所述接口、存储器和信号处理器之间通过总线连接,并通过总线传输数据。所述接口用于接收中继发来的单播Known-Answer服务查询报文,并将所述单播Known-Answer服务查询报文传输给信号处理器。存储器,用于存储程序指令,并将存储的程序指令传输给信号处理器。信号处理器,用于获得存储器存储的程序指令,执行以下步骤:获得所述接口传输的单播Known-Answer服务查询报文,获得所述单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中包含的用户终端请求的服务类型,和所述服务类型对应的用户终端已知的服务信息,并将获得的终端标识、服务类型和用户终端已知的服务信息传输给存储器。上述信号处理器112,还用于根据存储器111保存的终端标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的已知的服务信息添加到在保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中,并将更新后的终端标识和已知的服务信息的对应关系传输给所述存储器。上述信号处理器还用于获得所述存储器传输的更新后的终端标识和已知的服务信息的对应关系,并在已添加从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息,并确定与从接收到的所述单播Known-Answer服务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;并将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息,将所述未知的服务信息传输给接口。上述接口,还用于获得所述信号处理器传输的未知的服务信息,并向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
在第七方面的第一种可能的实现方式中,上述信号处理器,还用于若在所述存储器保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识时,则在所述网关保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系,并将建立的从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系传输给存储器保存。
结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,上述信号处理器,还用于在获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识后,获得所述中继的地址,并将获得的中继的地址传输给存储器。存储器,用于获得所述信号处理器传输的中继的地址,并在保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
本发明提出的技术方案中,中继将用户终端发来的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文,然后发送给网关,其中在发给网关的单播Known-Answer服务查询报文中包含该用户终端的终端标识、用户终端请求的服务类型、以及用户终端已知的服务信息,网关可以根据接收到的单播Known-Answer服务查询报文中包含的终端标识,区分发送Known-Answer服务查询报文的用户终端,然后根据同一用户终端的所有已知的服务信息进行统一回复包含未知服务信息的单播Known-Answer服务应答报文,由中继将单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文发送给终端。本发明提出的技术方案在基于mDNS的多VLAN的网络中实施Known-Answer机制,减少了网络带宽的浪费。
附图说明
图1为将Bonjour技术应用在VLAN中的系统结构组成示意图;
图2为本发明实施例一中,提出的组播报文的报文头结构示意图;
图3为本发明实施例一中,提出的Known-Answer机制工作原理示意图;
图4为本发明实施例二中,提出的mDNS中报文传输的方法流程图;
图5为Bonjour技术中网关获得服务信息的方法流程图;
图6为本发明实施例三中,提出的应用在中继侧的mDNS中报文传输的方法流程图;
图7为本发明实施例三中,提出的mDNS中报文传输装置结构组成示意图;
图8为本发明实施例三中,提出的一种中继结构组成示意图;
图9为本发明实施例三中,提出的应用在网关侧的mDNS中报文传输的方法流程图;
图10为本发明实施例三中,提出的一种mDNS中报文传输装置结构组成示意图;
图11为本发明实施例三中,提出的一种网关结构组成示意图。
具体实施方式
为节约基于mDNS运行的网络的流量,通常在mDNS中实施已知-应答(英文:Known-Answer)机制。Known-Answer机制是指请求服务的用户终端发送服务查询报文,在服务查询报文中包含已知的服务信息,服务查询报文的接收方接收到服务查询报文进行处理时,可以不必回复上述已知的服务信息。其中,服务信息是提供服务的用户终端的信息,包括提供服务的用户终端的服务类型,例如打印、视频播放等服务,还可以包括提供服务的用户终端的标识等信息,提供服务的用户终端的标识可以是提供服务的用户终端在网络中的地址,或者和提供服务的用户终端提供的服务类型对应的服务名。但是,如果简单的将Known-Answer机制应用于多VLAN的应用Bonjour技术的网络中,并不能解决网络带宽浪费的问题。例如,如果请求服务的用户终端已知的服务信息较多,则该用户终端需要发送多个组播形式的服务查询报文告知接收方(如gateway)已知的服务信息。然而,在基于mDNS运行的网络中,用户终端发送的服务请求报文经过relay处理后,报文的源地址会被替换成relay的地址,然后再发送给gateway。因此,gateway无法根据报文中的源地址区分服务请求报文来自哪个用户终端,则gateway对同一个用户终端发来的多条服务请求报文进行多次回复,使得在gateway中存储的服务信息多的情况下网络带宽浪费大。
为了解决通常情况下在基于mDNS的网络中实现Known-Answer机制时,需要传输较多的应答报文,使得网络带宽浪费的问题,本发明提出的技术方案中,中继将用户终端发来的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文,然后发送给网关,其中在发给网关的单播Known-Answer服务查询报文中包含该用户终端的终端标识,网关可以根据接收到的单播Known-Answer服务查询报文中包含的终端标识,区分同一个用户终端发送的所有Known-Answer服务查询报文,然后再进行统一回复包含服务信息的单播Known-Answer服务应答报文,由中继将单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文发送给终端。用以解决通常情况下在基于mDNS的网络中实施Known-Answer机制时需要传输较多的服务信息,造成网络带宽浪费的问题。
下面将结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
本发明各实施例提出的方案中,所提及的用户终端是指支持Bonjour的用户终端,为便于阐述,后文简称用户终端。
实施例一
本发明实施例一提出一种mDNS中报文传输的系统,在多VLAN的应用Bonjour技术的网络中引入Known-Answer机制。其系统架构可以参见图1所示,该系统包含至少一个relay,上述至少一个relay中的每个relay可以通过有线或者无线的方式和用户终端连接。relay与和该relay连接的用户终端在同一个VLAN中,并且每一个VLAN中有且只有一个relay,一个relay可以配置在不同的VLAN中。为实现Known-Answer机制,gateway接收并记录各VLAN中relay转发的用户终端发送的服务查询报文中的用户终端的终端标识,并根据接收到的服务查询报文执行相应的处理后,将处理结果通过服务应答报文发送给relay,由relay转发给用户终端。当请求服务的用户终端和提供服务的用户终端位于不同的VLAN中时,请求服务的用户终端和提供服务的用户终端都通过各自所在的VLAN中的relay来访问gateway。
本发明实施例一提出的技术方案中,将Known-Answer机制应用在mDNS中时,用户终端在自身所在的VLAN中发送用于通知自身已知的服务信息的组播Known-Answer服务查询报文。其中,服务信息是提供服务的用户终端的信息,包括提供服务的用户终端的服务类型,例如打印、视频播放等服务,还可以包括提供服务的用户终端的标识等信息,提供服务的用户终端的标识可以是提供服务的用户终端在网络中的地址,或者和提供服务的用户终端提供的服务类型对应的服务名。与该用户终端在同一VLAN的中继,接收到用户终端发来的请求某一服务类型的组播Known-Answer服务查询报文。中继获取接收到的用户终端发来的组播Known-Answer服务查询报文的源地址,中继根据该源地址确定该用户终端的终端标识(英文:Identity,缩写ID)。中继确定出的该用户终端的终端标识可以是用户终端的媒体接入控制(英文:Media AccessControl,缩写:MAC)地址,可以是用户终端的IP地址,可以是根据用户终端的地址,例如MAC地址、IP地址或其组合,生成的可以标识该用户终端的值,还可以是中继为该用户终端分配,例如按照顺序的方式或者按照随机的方式分配的编号。在用户终端的终端标识是中继该用户终端分配的编号的情况下,中继保存为该用户终端分配的编号与该用户终端的地址的对应关系,如果收到的组播Known-Answer服务查询报文的源地址为该对应关系中已有的地址,则中继确定在该对应关系中与接收到的组播Known-Answer服务查询报文的源地址对应的编号为该用户终端的终端标识。
中继将确定出的终端标识包含在单播Known-Answer服务查询报文中发送给网关。单播Known-Answer服务查询报文是中继将接收到的用户终端发来的组播Known-Answer服务查询报文变换后形成的。
具体的,中继将接收到的用户终端发来的组播Known-Answer服务查询报文的源地址替换为中继的地址,将接收到的用户终端发来的组播Known-Answer服务查询报文的目的地址替换为网关的地址,并将确定出的终端标识写入到组播Known-Answer服务查询报文的身份标识字段,形成单播Known-Answer服务查询报文。其中,用户终端的地址可以是用户终端在网络中的IP地址,中继的地址可以是中继在网络中的IP地址,网关的地址可以是网关在网络中的IP地址。
中继将形成的包含终端标识的单播Known-Answer服务查询报文发送给网关。因此该单播Known-Answer服务查询报文包含该中继为发送组播Known-Answer服务查询报文的用户终端确定的终端标识,以及该用户终端已知的服务信息。
网关接收中继发来的单播Known-Answer服务查询报文,获得接收到的单播Known-Answer服务查询报文中的终端标识,获得单播Known-Answer服务查询报文中的用户终端请求的服务类型,以及和用户终端请求的服务类型对应的用户终端已知的服务信息,网关保存单播Known-Answer服务查询报文中获得的终端标识和终端标识对应的用户终端已知的服务信息的对应关系。即,如果单播Known-Answer服务查询报文中的终端标识不在网关保存的终端标识和已知的服务信息的对应关系中,网关在保存的终端标识和已知的服务信息的对应关系中建立单播Known-Answer服务查询报文中获得的终端标识和终端标识对应的用户终端已知的服务信息的对应关系;如果单播Known-Answer服务查询报文中的终端标识在网关保存的终端标识和已知的服务信息的对应关系中,网关在已保存的对应关系中添加终端标识对应的用户终端已知的服务信息的对应关系。
可选的,网关在建立获得的终端标识和终端标识对应的用户终端已知的服务信息的对应关系的时候,可以建立发送单播Known-Answer服务查询报文的中继的地址、终端标识和对应的已知的服务信息三者之间的对应关系。其中,中继的地址可以是中继在网络中的IP地址,或者是其他能够唯一标识一个中继的地址。以中继的地址是中继在网络中的IP地址、终端标识是中继为该用户终端按照顺序的方式或者按照随机的方式,分配的编号为例,建立的中继的地址、终端标识和对应的已知的服务信息三者之间的对应关系,具体可以参见下述表1所示:
表1
在终端标识是中继为该用户终端分配的编号的情况下,为了防止不同中继分配的编号重复导致gateway混淆用户终端,gateway建立中继的地址、终端标识和对应的已知的服务信息三者之间的对应关系,以区分不同中继的编号。但在终端标识是中继为该用户终端分配的编号的情况下,并不一定要采取上述机制避免混淆。例如,中继之间可以相互通告已经使用过的编号,或者在不同中继中配置不重叠的可分配的编号的编号池。
如果用户终端已知的服务信息比较多的情况下,用户终端会将已知的服务信息分为多次发送,具体处理过程如下述:
用户终端在所在的VLAN中再次发送用于查询mDNS中服务信息的组播Known-Answer服务查询报文。
与用户终端在同一VLAN的中继,接收到用户终端再次发来的用于查询mDNS中服务信息的组播Known-Answer服务查询报文,中继确定接收到的用户终端发来的组播Known-Answer服务查询报文中的地址,中继确定该用户终端的终端标识。中继将组播Known-Answer服务查询报文中的源地址替换为该中继的地址,将组播Known-Answer服务查询报文中的目的地址替换为网关的地址,形成单播Known-Answer服务查询报文发送给网关。因此该单播Known-Answer服务通知报文包含该中继为发送组播Known-Answer服务查询报文的用户终端确定的终端标识、用户终端请求的服务类型和与该用户终端请求的服务类型对应的已知的服务信息。
网关接收中继发送的单播Known-Answer服务查询报文,在接收到的中继发来的单播Known-Answer服务查询报文中获得终端标识,获得用户终端请求的服务类型,以及获得用户终端已知的服务信息。根据获得的终端标识,在已经建立的终端标识和已知的服务信息的对应关系中,确定在终端标识和已知的服务信息的对应关系中是否已经存储有相同的终端标识,如果存储有相同的终端标识,则将中继发来的单播Known-Answer服务查询报文中获得的用户终端已知的服务信息添加到终端标识和已知的服务信息的对应关系中。如果在终端标识和已知的服务信息的对应关系中没有存储本次获得的终端标识,网关建立中继发来的单播Known-Answer服务查询报文中获得的终端标识和获得的已知的服务信息的对应关系。网关获得全部的用户终端已知的服务信息后,在和用户终端请求的服务类型对应的全部服务信息中,将用户终端的终端标识对应的已知服务信息去除,获得该终端标识对应的用户终端未知的服务信息,将未知的服务信息通过单播Known-Answer服务应答报文发送给中继。上述全部服务信息是网关已知的所有的服务信息。
中继接收到网关发送的包含用户终端未知的服务信息的单播Known-Answer服务应答报文后,将接收该单播Known-Answer服务应答报文中的地址修改为mDNS中的组播地址,得到包含用户终端未知的服务信息的组播Known-Answer服务应答报文,将得到的组播Known-Answer服务应答报文发送给用户终端。后续用户终端可以根据组播Known-Answer服务应答报文获得用户终端未知的服务信息。
其中,在mDNS协议中,组播报文的报文头结构如图2所示,分别包含身份标识字段(如图2中所示的ID字段)、QDCOUNT字段、ANCOUNT字段、NSCOUNT字段和ARCOUNT字段。为保证同一个VLAN中的所有用户终端都可以接收到该VLAN的中继发送的组播报文,并从接收到的组播报文中获得包含的服务信息,按照请求注解协议(英文:Request For Comments,缩写:RFC)6762中规定,在ID字段需要写入0。而在本发明实施例一上述提出的技术方案中,在现有mDNS协议的基础上进行了改进,在进行组播报文传输时,可以修改组播报文的ID字段,在ID字段中写入用户终端的终端标识,并以此ID字段的值来区分用户终端,在网关中,会对应存储该ID字段的值,即用户终端的终端标识,和已知的服务信息,从而在跨VLAN时,实现了Known-Answer机制,节省基于mDNS的网络的传输资源。
举一例来详细阐述,如图3所示,假设用户终端的标识为UE1,UE1请求查询的服务类型为无线播放(英文:airplay)的服务信息。airplay是指在Bonjour技术中,请求服务的用户终端发现具有提供播放视频能力的用户终端,并通过具有提供播放视频能力的用户终端,请求服务的用户终端在具有提供播放视频能力的用户终端上播放视频的服务。如图3所示,例如提供airplay服务的服务信息为TV1,~TV10,其中TV1~TV10是提供airplay服务的用户终端的服务名。即服务名为TV1~TV10的用户终端均可以提供airplay服务。在引入Known-Answer机制的基于mDNS的网络中,UE1发送报文接收地址为组播地址的airplay服务查询报文(为便于阐述,可以将报文接收地址为组播地址的airplay服务查询报文简称为组播airplay服务查询报文)时,在组播airplay服务查询报文中包含UE1已经知道的能够提供服务类型是airplay的服务信息,例如UE1已知的服务信息为TV1~TV7。由于已知的服务信息比较多,则UE1需要分为两次发送该些服务信息,例如用户终端UE1第一次发送的包含服务信息为TV1~TV4的组播airplay服务查询报文。中继确定用户终端UE1的终端标识,例如以用户终端的MAC地址为例,并将接收到的组播airplay服务查询报文变换为单播airplay服务查询报文(为便于阐述,可以将报文的接收地址为单播地址的airplay服务查询报文简称为单播airplay服务查询报文),然后中继将包含用户终端UE1的MAC地址和用户终端UE1请求的服务类型的单播airplay服务查询报文发送给网关,网关接收到单播airplay服务查询报文后,对接收到的单播airplay服务查询报文进行处理,获得单播airplay服务查询报文中的终端标识、用户终端UE1请求的服务类型和与UE1请求的服务类型对应的用户终端UE1已知的服务信息。网关是第一次获得该用户终端的终端标识和用户终端UE1已知的服务信息,网关建立终端标识和与UE1请求的服务类型对应的用户终端UE1已知的服务信息的对应关系。
用户终端UE1已经发送了包含TV1~TV4的服务信息的组播Known-Answer服务查询报文,网关已经记录了用户终端UE1的MAC地址和用户终端UE1已知的服务信息TV1~TV4的服务信息的对应关系。则第二次,用户终端UE1发送包含TV5~TV7的服务信息的组播Known-Answer服务查询报文。
中继接收到用户终端UE1再次发送的组播Known-Answer服务查询报文中包含TV5~TV7的服务信息。中继确定组播Known-Answer服务查询报文中的用户终端UE1的MAC地址,并将接收到的包含TV5~TV7的服务信息的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文发送给网关。在发送的单播Known-Answer服务查询报文中包含用户终端UE1的MAC地址。
用户终端UE1是分两次发送已知的服务信息,因此对于网关来说,网关一共接收到两次由中继发送的包含用户终端UE1的MAC地址的单播Known-Answer服务查询报文,网关在接收到的第一次由中继发送的单播Known-Answer服务查询报文中,获得用户终端UE1的MAC地址和该用户终端已知的服务信息(如上文阐述的TV1~TV4),建立用户终端UE1的MAC地址和该用户终端UE1已知的服务信息对应关系,网关在第二次由中继发送的单播Known-Answer服务查询报文中,获得用户终端UE1的MAC地址和该用户终端UE1已知的服务信息(如上文阐述的TV5~TV7),由于已经存储有相同的MAC地址,因此网关将服务信息TV5~TV7添加到已经建立的MAC地址和用户终端UE1已知的对应关系中。则用户终端UE1通过发送两次组播Known-Answer服务查询报文,使得网关完整的获知了用户终端UE1已知的全部服务信息。根据Known-Answer机制,如果一共有TV1~TV10共10个服务信息,由于UE1已知的服务信息是TV1~TV7,因此,网关只需要将服务信息TV8~TV10包含在单播Known-Answer服务应答报文中发送给中继。
中继接收到网关发送的包含用户终端未知的服务信息TV8~TV10的单播Known-Answer服务应答报文后,将接收该单播Known-Answer服务应答报文中的地址修改为mDNS中的组播地址,得到包含用户终端未知的服务信息的组播Known-Answer服务应答报文,将得到的组播Known-Answer服务应答报文发送给用户终端。后续用户终端可以根据组播Known-Answer服务应答报文获知网络中的全部服务信息TV1~TV10。其中10个服务信息中,用户在终端UE1已知的服务信息是TV1~TV7,由网关告知的服务信息是TV8~TV10。
本发明实施例一上述提出的技术方案中,在mDNS中实现Known-Answer机制时,网关会根据接收到的单播Known-Answer服务查询报文,建立获得的终端标识和用户终端已知的服务信息之间的对应关系,后续在实现Known-Answer机制时,在用户终端已知的服务信息比较多的情况下,尽管用户终端会分为几次发送Known-Answer服务查询报文,告知用户终端自身已知的服务信息,但是由于在网管中建立有终端标识和用户终端已知的服务信息之间的对应关系,网关可以在获知用户终端全部已知的服务信息之后,再进行相应的处理,告知该用户终端未知的服务信息,从而可以较好地节省网络传输资源。
实施例二
基于图1所示的系统架构,本发明实施例二提出一种mDNS中报文传输的方法,如图4所示,mDNS中报文传输的方法具体处理流程如下述:
步骤41,用户终端在自身所在的VLAN中发送服务信息的组播Known-Answer服务查询报文。
以图1所示的用户终端UE1为例来进行详细阐述。UE1在自身所在的VLAN中发送用于通知自身已知的服务信息的组播Known-Answer服务查询报文。服务信息包括能够提供服务的用户终端的终端标识、能够提供服务的用户终端的服务名,以及用户终端所提供的服务类型,如打印、视频播放等。UE1请求查询airplay的服务信息。UE1已知的能够提供Airplay服务的服务信息分别是TV1~TV3。UE1可以通过发送多条组播Known-Answer服务查询报文,逐个告知自身已知的服务信息,也可以在一条组播Known-Answer服务查询报文中包含全部自身已知的服务信息TV1,TV2和TV3。本发明实施例二这里以用户终端UE1分别发送两条组播Known-Answer服务查询报文,告知已知的服务信息TV1,TV2和TV3。假设在第一条组播Known-Answer服务查询报文包含UE1已知的服务信息为TV1和TV2,在第二条组播Known-Answer服务查询报文包含UE1已知的服务信息为TV3。
步骤42,中继确定接收到的用户终端发来的组播Known-Answer服务查询报文中的地址,并根据获得的地址确定该用户终端的终端标识。
如图1所示的系统架构,和用户终端UE1连接的中继,先后接收到两条由用户终端UE1发送的组播Known-Answer服务查询报文。本发明实施例二假设两条组播Known-Answer服务查询报文中的地址是UE1在网络中的IP地址。中继为用户终端确定ID,确定的ID可以是该用户终端UE1的MAC地址,也可以是中继的地址+用户终端UE1所在VLAN中的编号。本步骤中以确定的ID是MAC地址为例来进行阐述。后文中也将继续引用该条件。
步骤43,中继将组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文发送给网关。
由于中继对用户终端发来的组播Known-Answer服务查询报文处理方式相同,因此本步骤中仅以中继对接收到的用户终端发来的一条组播Known-Answer服务查询报文处理为例进行详细阐述。
在上述步骤42~步骤43中,与UE1在同一VLAN的中继,接收到UE1发来的组播Known-Answer服务查询报文,中继确定接收到的UE1发来的组播Known-Answer服务查询报文中的地址,中继确定UE1的ID,将确定的ID包含在变换后的单播Known-Answer服务查询报文中发送给网关。其中,中继将接收到的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文,首先将确定出的组播Known-Answer服务查询报文中的地址替换为该中继的地址,将确定出的组播Known-Answer服务查询报文中的地址替换为网关地址,形成单播Known-Answer服务查询报文发送给网关。即在发送的单播Known-Answer服务查询报文中包含为发送组播Known-Answer通知查询报文的用户终端确定的终端标识和该用户终端已知的服务信息。
步骤44,网关接收中继发来的单播Known-Answer服务查询报文,获得接收到的单播Known-Answer服务查询报文中包含的终端标识和终端标识对应的用户终端已知的服务信息。
步骤45,网关根据获得的终端标识和终端标识对应的用户终端已知的服务信息,建立获得的终端标识和终端标识对应的用户终端已知的服务信息的对应关系。
由于用户终端UE1是将服务信息通过两条组播Known-Answer服务查询报文发送给中继,再由中继将两条组播Known-Answer服务查询报文分别变换为两条单播Known-Answer服务查询报文后发送给网关的,因此,网关在接收到第一条单播Known-Answer服务查询报文时,获得第一条单播Known-Answer服务查询报文中携带的UE1的MAC地址,和UE1已知的服务信息TV1~TV2,建立UE1的MAC地址与UE1已知的服务信息TV1~TV2的对应关系。网关在接收到第二条单播Known-Answer服务查询报文时,获得第二条单播Known-Answer服务查询报文中携带的UE1的MAC地址,和UE1已知的服务信息TV3,由于网关已经建立了UE1的MAC地址和UE1已知的服务信息TV1~TV2的对应关系,此时网关将UE1已知的服务信息TV3添加到该对应关系中,即在接收到第二条单播Known-Answer服务查询报文时,网关建立用户终端UE1的MAC地址和UE1已知的服务信息TV1~TV3的对应关系。
一种较佳地实现方式,网关在建立获得的终端标识和终端标识对应的用户终端已知的服务信息的对应关系的时候,可以建立发送单播Known-Answer服务查询报文中包含的中继的地址、终端标识和对应的已知的服务信息三者之间的对应关系。其中,中继的地址可以是IP地址。具体可以参见上述表1所示,本步骤中不再赘述。
在终端标识是中继为该用户终端分配的编号的情况下,为了防止不同中继分配的编号重复导致gateway混淆用户终端,gateway建立中继的地址、终端标识和对应的已知的服务信息三者之间的对应关系,以区分不同中继的编号。但在终端标识是中继为该用户终端分配的编号的情况下,并不一定要采取上述机制避免混淆。例如,中继之间可以相互通告已经使用过的编号,或者在不同中继中配置不重叠的可分配的编号的编号池。
在上述步骤41~步骤45中,在用户终端已知的服务信息比较多的情况下,尽管用户终端会分为几次发送Known-Answer服务查询报文,告知用户终端自身已知的服务信息,但是由于在网关中建立有终端标识和用户终端已知的服务信息之间的对应关系,网关可以在获知用户终端全部已知的服务信息之后,再进行相应的应答,告知该用户终端未知的服务信息,从而可以较好地节省网络传输资源。
步骤46,网关在建立终端标识和用户终端已知的服务信息的对应关系之后,网关在接收到的中继发来的单播Known-Answer服务查询报文中获得终端标识。
步骤47,根据获得的终端标识,在已经建立的终端标识和用户终端已知的服务信息的对应关系中,确定获得的终端标识对应的全部已知的服务信息。以及网关获得和单播Known-Answer服务查询报文对应的全部服务信息。
其中,网关获得和接收到的单播Known-Answer服务查询报文对应的全部服务信息的实施方式,可以是在系统组建过程中,提供服务的用户终端上报的,也可以是在系统中添加提供服务的用户终端时,网关记录的相关服务信息。本发明实施例二给出一种网关获得网络中全部服务信息的处理流程,为便于阐述,将请求服务的用户终端称之为客户端,用UE1表示,提供服务的用户终端称之为服务端,用UE2表示,UE2设置有标识自身的主机名和其所提供的服务信息的服务名。假设UE1和UE2不在同一个VLAN中,具体如图5所示,其具体处理流程如下述:
步骤501,UE2添加到系统中之后,UE2采用组播的方式发送用于探测主机名是否冲突的主机名探测报文。
主机名探测报文中包含目的地址是组播地址,以及发送探测报文的UE2的源地址,因此采用组播的方式发送主机名探测报文也可以称之为组播主机名探测报文。
步骤502,和UE2设置在同一VLAN中的relay将接收到的主机名探测报文进行变换,变换为单播形式的主机名探测报文,然后将变换后的单播形式的主机名探测报文发送给gateway。
其中,和UE2设置在同一VLAN中的relay接收到UE2发来的组播形式的主机名探测报文,将主机名探测报文中的源地址、目的地址进行替换。具体为将主机名探测报文中的源地址替换为relay的地址,将主机名探测报文中的目的地址替换为gateway的地址,然后发送给gateway。基于单播形式发送的主机名探测报文,也可以称之为单播主机名探测报文。
步骤503,gateway接收到单播主机名探测报文后,对接收到的单播主机名探测报文进行处理,确定UE2的主机名是否与网络上其它用户终端的主机名冲突。
步骤504,在gateway确定出UE2的主机名和网络上其它用于提供服务的用户终端的主机名不冲突时,UE2在自身所在的VLAN内,采用组播的方式发送通知UE2自身的主机名的主机名通知报文。
其中,采用组播的方式发送通知UE2自身的主机名的主机名通知报文也可以称之为组播主机名通知报文。
步骤505,和UE2设置在同一VLAN中的relay将接收到的组播形式的主机名通知报文进行变换,变换为单播形式的主机名通知报文,发送给gateway。
具体地,relay将接收到的组播形式的主机名通知报文进行变换,变换为单播形式的主机名通知报文的具体实施方式请参见步骤502中的详细阐述,本步骤中不再赘述。
步骤506,gateway接收到单播形式的主机名通知报文后,记录UE2的主机名。
步骤507,UE2采用组播的方式发送探测服务名是否冲突的服务名探测报文。
服务名探测报文中包含发送服务名探测报文的UE2的源地址和目的地址。采用组播的方式发送探测服务名是否冲突的服务名探测报文也可以称之为组播服务名探测报文。
步骤508,和UE2设置在同一VLAN中的relay将接收到的组播形式的服务名探测报文进行变换,变换为单播形式的服务名探测报文,然后将变换后的单播形式的服务名探测报文发送给gateway。
relay将接收到的组播服务名探测报文进行变换,变换为单播形式的服务名探测报文(也可以称之为单播服务名探测报文),然后单播服务名探测报文发送给gateway。其中,relay将接收到的组播服务名探测报文进行变换,变换为单播服务名探测报文的具体实施方式请参见步骤502中的详细阐述,本步骤中不再赘述。
步骤509,gateway接收到服务名探测报文后,对接收到的服务名探测报文进行处理,确定UE2的服务名是否与网络上其它用户终端的服务名冲突。
步骤510,在gateway确定出UE2的服务名和网络上其它用户终端的服务名不冲突时,记录UE2的服务名。
步骤511,UE2在自身所在的VLAN内,发送通知UE2自身的服务信息为airplay服务的组播服务通知报文。
步骤512,和UE2设置在同一VLAN中的relay将接收到的组播服务通知询报文进行变换,变换为单播服务通知报文,发送给gateway。
具体地,relay将接收到的组播形式的报文进行变换,变换为单播形式的报文的具体实施方式请参见步骤502中的详细阐述,本步骤中不再赘述。
步骤513,gateway接收到单播服务通知报文后,记录UE2提供的服务信息为airplay服务。
一种较佳地实现方式,gateway可以建立UE2的主机名、服务名以及UE2提供的服务信息三者之间的对应关系。
步骤48,网关在获得的全部服务信息中,去除获得的终端标识对应的已知的服务信息,得到该终端标识对应的未知的服务信息。
假设网关获得的全部服务信息为TV1~TV10,网关建立的终端标识和已知的服务信息的对应关系中,UE1已知的服务信息是TV1~TV3,则可以得到UE1未知的服务信息为TV4~TV10。
步骤49,网关发送包含用户终端未知的服务信息的单播Known-Answer服务应答报文给中继。
网关发送包含用户终端未知的服务信息TV4~TV10的单播Known-Answer服务应答报文给中继。
步骤50,中继接收到网关发送的单播Known-Answer服务应答报文后,将该单播Known-Answer服务应答报文中包含的目的地址修改为mDNS中的组播地址,得到组播Known-Answer服务应答报文。
步骤51,将得到的组播Known-Answer服务应答报文在该中继所在的VLAN中发送。
在上述步骤50~步骤51中,中继可以将该单播Known-Answer服务应答报文中包含的目的地址修改为224.0.0.251后发送,用户终端可以根据组播Known-Answer服务应答报文获知网络中的全部服务信息。
其中,在mDNS协议中,组播报文的报文头结构如图3所示,分别包含身份标识字段(如图3中所示的ID字段)、QDCOUNT字段、ANCOUNT字段、NSCOUNT字段和ARCOUNT字段。
本发明实施二上述提出的技术方案中,在现有mDNS协议的基础上进行了改进,在进行组播报文传输时,可以修改组播报文的ID字段,在ID字段中写入用户终端的终端标识,并以此ID字段的值来区分用户终端,在网关中,会对应存储该ID字段的值,即用户终端的终端标识,和已知的服务信息,从而在跨VLAN时,实现了Known-Answer机制,节省基于mDNS的网络的传输资源。
其中,本发明实施例二上述提出的mDNS中报文传输的方法流程,仅是一种较佳地实现方式,具体实施时,可以是在用户终端需要查询服务信息时发送组播Known-Answer服务查询报文,触发网关建立终端标识和已知的服务信息的对应关系。也可以是用户终端定时发送组播Known-Answer服务查询报文,告知网关自身已知的服务信息。
实施例三
相应地,对于系统中的中继来说,该方法在实施时,如图6所示,具体处理流程如下述:
步骤61,中继将接收到的用户终端发来的用于查询mDNS中服务信息的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并发送给网关。
在单播Known-Answer服务查询报文中可以包含用户终端请求的服务类型,也可以不包含用户终端请求的服务类型。在单播Known-Answer服务查询报文的身份标识字段中包含中继为发送组播Known-Answer服务查询报文的用户终端确定的终端标识。
中继接收到用户终端发来的用于查询mDNS中服务信息的组播Known-Answer服务查询报文,中继确定接收到的用户终端发来的组播Known-Answer服务查询报文的源地址,中继根据确定出的源地址为该用户终端确定ID,将确定的ID写入到组播Known-Answer服务查询报文的身份标识字段,将确定出的组播Known-Answer服务查询报文中的源地址替换为该中继的地址,将确定出的组播Known-Answer服务查询报文中的目的地址替换为网关地址,形成单播Known-Answer服务查询报文发送给网关。
具体地,中继将接收到的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文的具体实施方式请参见上述实施例一和实施例二中的详细阐述,本发明实施例三不再赘述。
具体地,在单播播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:
A:用户终端的媒体接入控制地址。
B:用户终端的网际协议地址。
C:根据用户终端的地址生成的用户终端的编号。
D:中继为用户终端分配的编号。
步骤62,中继接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文。
其中用户终端未知的服务信息是网关基于接收到的单播Known-Answer服务查询报文中包含的终端标识,在建立的终端标识和已知的服务信息的对应关系中,将所述终端标识对应的用户终端全部已知的服务信息去除后获得的。
步骤63,将单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文后发送给用户终端。
相应地,本发明实施例三还提出一种mDNS中报文传输的装置,其结构组成如图7所示,包括:
报文接收单元701,用于接收用户终端发来的用于查询mDNS中服务信息的组播Known-Answer服务查询报文,并将接收到的组播Known-Answer服务查询报文传输给报文变换单元702。
报文变换单元702,用于获得所述报文接收单元701传输的组播Known-Answer服务查询报文,将获得的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并传输给报文发送单元703。
报文发送单元703,用于获得报文变换单元702传输的单播Known-Answer服务查询报文,并将获得的单播Known-Answer服务查询报文发送给网关,其中所述单播Known-Answer服务查询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用户终端确定的终端标识。
上述报文接收单元701,还用于接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,并将所述单播Known-Answer服务应答报文传输给报文变换单元702,其中所述用户终端未知的服务信息是网关基于接收到的单播Known-Answer服务查询报文中包含的终端标识,在建立的终端标识和已知的服务信息的对应关系中,将所述终端标识对应的用户终端全部已知的服务信息去除后获得的;
上述报文变换单元702,还用于获得所述报文接收单元701传输的单播Known-Answer服务应答报文,将获得的单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文,并将所述组播Known-Answer服务应答报文传输给报文发送单元703。
上述报文发送单元703,还用于获得报文变换单元702传输的组播Known-Answer服务应答报文,将所述组播Known-Answer服务应答报文发送给用户终端。
具体地,上述报文发送单元703发送的单播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:所述用户终端的媒体接入控制地址;所述用户终端的网际协议地址;根据所述用户终端的地址生成的所述用户终端的编号;中继为所述用户终端分配的编号。
相应地,本发明实施例三还提出一种中继,如图8所示,包括接口801、信号处理器802,接口801和信号处理器802之间连接并传输数据。
接口801,用于接收用户终端发来的用于查询mDNS中服务信息的组播Known-Answer服务查询报文,并将接收到的组播Known-Answer服务查询报文传输给报文信号处理器802。
接口801可以为以下一种或多种:提供有线接口的网络接口控制器(英文:network interface controller,缩写:NIC),例如以太网NIC,该以太网NIC可以提供铜线和/或光纤接口;提供无线接口的NIC,例如无线局域网(英文:wireless local area network,缩写:WLAN)NIC。
信号处理器802,用于获得所述接口801传输的组播Known-Answer服务查询报文,将获得的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并传输给所述接口801。
信号处理器802可以是中央处理器(英文:central processing unit,缩写:CPU),或者是CPU和硬件芯片的组合。信号处理器802还可以是网络处理器(英文:network processor,缩写:NP)。或者是CPU和NP的组合,或者是NP和硬件芯片的组合。
上述硬件芯片可以是以下一种或多种的组合:专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD)。
可选地,在信号处理器802为CPU或者CPU与硬件芯片的组合的情况下,中继还可以包括存储器,存储器用于存储程序代码,所处信号处理器从存储器中获得存储的程序代码,按照获得的程序代理执行相应地处理。
存储器可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);或者非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);或者上述种类的存储器的组合。
上述接口801,还用于获得所述信号处理器802传输的单播Known-Answer服务查询报文,并将获得的单播Known-Answer服务查询报文发送给网关,其中所述单播Known-Answer服务查询报文中包含用户终端请求的服务类型,以及在所述单播Known-Answer服务查询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用户终端确定的终端标识。
其中,接口801发送的单播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:由信号处理器802获得的用户终端的媒体接入控制地址,由信号处理器802获得的用户终端的网际协议地址。或者是信号处理器802根据用户终端的地址生成的所述用户终端的编号,或者是信号处理器802为所述用户终端分配的编号。在终端标识是信号处理器802根据用户终端的地址生成的所述用户终端的编号,或者是信号处理器802为所述用户终端分配的编号时,需要将根据用户终端的地址生成的所述用户终端的编号,或者是信号处理器802为所述用户终端分配的编号传输给存储器,存储器存储信号处理器802为所述用户终端分配的编号,或者信号处理器802为所述用户终端分配的编号。
上述接口801,还用于接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,并将所述单播Known-Answer服务应答报文传输给信号处理器,其中所述用户终端未知的服务信息是网关基于接收到的单播Known-Answer服务查询报文中包含的终端标识,在建立的终端标识和已知的服务信息的对应关系中,将所述终端标识对应的用户终端全部已知的服务信息去除后获得的。
上述信号处理器802,还用于获得所述接口801传输的单播Known-Answer服务应答报文,将获得的单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文,并将所述组播Known-Answer服务应答报文传输给报文发送给用户终端。
对于系统中的网关来说,该方法具体处理流程如图9所示:
步骤91,网关获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中的用户终端已知的服务信息。
终端标识是中继接收到的用户终端发送的组播Known-Answer服务查询报文时,为用户终端确定的。中继为发送组播Known-Answer服务查询报文的用户终端确定终端标识的具体实施方式请参见上述实施例一和实施例二中的详细阐述,本发明实施例三不再赘述。
步骤92,网关根据保存的终端标识和已知的服务信息的对应关系,将从单播Known-Answer服务查询报文中获得的已知的服务信息添加到在网关保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中。
步骤93,在已添加从单播Known-Answer服务查询报文中获得的已知的服务信息的网关保存的终端标识和已知的服务信息的对应关系中,确定从单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息。
其中,网关在所述单播Known-Answer服务查询报文中获得的终端标识和已知的服务信息之后,还包括:若在网关保存的终端标识和已知的服务信息的对应关系中,未包含从单播Known-Answer服务查询报文中获得的终端标识,则在所述网关保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系。
步骤94,网关将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息。
步骤95,网关向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
可选地,在网关获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识后,还包括:网关获得中继的地址;网关保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
相应地,本发明实施例三还提出一种mDNS中报文传输的装置,如图10所示,包括:
接收单元101,用于接收中继发来的单播Known-Answer服务查询报文,并将所述单播Known-Answer服务查询报文传输给获得单元102。
获得单元102,用于获得所述接收单元101传输的单播Known-Answer服务查询报文,获得所述单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中的用户终端已知的服务信息,并将获得的终端标识和用户终端已知的服务信息传输给对应关系确定单元103。
对应关系确定单元103,用于获得所述获得单元102传输的获得的终端标识、服务类型和用户终端已知的服务信息,根据保存的终端标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的已知的服务信息添加到在保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中,并将更新后的终端标识和已知的服务信息的对应关系传输给所述获得单元102。
上述获得单元102,还用于获得所述对应关系确定单元103传输的更新后的终端标识和已知的服务信息的对应关系,并在已添加从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息,并将获得的已知的服务信息传输给服务信息确定单元104。
服务信息确定单元104,用于获得所述获得单元102传输的已知的服务信息,并确定与从接收到的所述单播Known-Answer服务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;并将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息,将所述未知的服务信息传输给发送单元。
发送单元105,用于获得所述服务信息确定单元104传输的未知的服务信息,并向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
具体地,上述对应关系确定单元103,还用于若在保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识,则在所述网关保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系。
具体地,上述获得单元102,还用于在获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识后,获得所述中继的地址,并将获得的中继的地址传输给对应关系确定单元103。上述对应关系确定单元103,用于获得所述获得单元传输的中继的地址,并在保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
相应地,本发明实施例三还提出一种网关,如图11所示,包括:接口110、存储器111和信号处理器112。接口110、存储器111和信号处理器112之间通过总线连接,并通过总线传输数据。
接口110,用于接收中继发来的单播Known-Answer服务查询报文,并将所述单播Known-Answer服务查询报文传输给信号处理器112。
接口110可以为以下一种或多种:提供有线接口的NIC,例如以太网NIC,该以太网NIC可以提供铜线和/或光纤接口;提供无线接口的NIC,例如WLANNIC。
存储器111,用于存储程序指令,并将存储的程序指令传输给信号处理器112。
存储器111可以是易失性存储器,例如RAM。HDD、或SSD等,或者是上述种类的存储器的组合。
信号处理器112,用于获得存储器111存储的程序指令,执行以下步骤:获得所述接口110传输的单播Known-Answer服务查询报文,获得所述单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中包含的用户终端请求的服务类型,和所述服务类型对应的用户终端已知的服务信息,并将获得的终端标识、服务类型和用户终端已知的服务信息传输给存储器111。
信号处理器112可以是CPU,或者是CPU和硬件芯片的组合。信号处理器112还可以是NP。或者是CPU和NP的组合,或者是NP和硬件芯片的组合。
上述硬件芯片可以是ASIC、FPGA、CPLD中的一种或多种的组合。
存储器111,还用于获得所述信号处理器112传输的获得的终端标识、服务类型和用户终端已知的服务信息。
上述信号处理器112,还用于根据存储器111保存的终端标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的已知的服务信息添加到在保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中,并将更新后的终端标识和已知的服务信息的对应关系传输给所述存储器111。
上述信号处理器112,还用于获得所述存储器111传输的更新后的终端标识和已知的服务信息的对应关系,并在已添加从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息,并确定与从接收到的所述单播Known-Answer服务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;并将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息,将所述未知的服务信息传输给接口110。
上述接口110,还用于获得所述信号处理器112传输的未知的服务信息,并向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
具体地,上述信号处理器112,还用于若在所述存储器111保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识时,则在所述网关保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系,并将建立的从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系传输给存储器111保存。
具体地,上述信号处理器112,还用于在获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识后,获得所述中继的地址,并将获得的中继的地址传输给存储器111。存储器111,用于获得所述信号处理器112传输的中继的地址,并在保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、只读存储器、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

Claims (14)

1.一种组播域名系统mDNS中报文传输的方法,其特征在于,包括:
中继将用户终端发来的用于查询mDNS中服务信息的组播已知-应答Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并发送给网关,所述单播Known-Answer服务查询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用户终端确定的终端标识;
所述中继接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,所述用户终端未知的服务信息是网关基于接收到的单播Known-Answer服务查询报文中包含的终端标识,在建立的终端标识和已知的服务信息的对应关系中,将所述终端标识对应的用户终端全部已知的服务信息去除后获得的;
所述中继将单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文后发送给用户终端。
2.如权利要求1所述的方法,其特征在于,所述单播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:
所述用户终端的媒体接入控制地址;
所述用户终端的网际协议地址;
根据所述用户终端的地址生成的所述用户终端的编号;
中继为所述用户终端分配的编号。
3.一种组播域名系统mDNS中报文传输的方法,其特征在于,包括:
网关获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中已知的服务信息;
所述网关根据所述网关保存的终端标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的已知的服务信息添加到在网关保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中;
在已添加从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息;
网关确定与从接收到的所述单播Known-Answer服务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;
网关将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息;
网关向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
4.如权利要求3所述的方法,其特征在于,网关在所述单播Known-Answer服务查询报文中获得的终端标识和已知的服务信息之后,还包括:
若在所述网关保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识,则在所述网关保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系。
5.如权利要求3或4所述的方法,其特征在于,在网关获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识后,还包括:
网关获得所述中继的地址;
所述网关保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
6.一种组播域名系统mDNS中报文传输的装置,其特征在于,包括:
报文接收单元,用于接收用户终端发来的用于查询mDNS中服务信息的组播已知-应答Known-Answer服务查询报文,并将接收到的组播Known-Answer服务查询报文传输给报文变换单元;
报文变换单元,用于获得所述报文接收单元传输的组播Known-Answer服务查询报文,将获得的组播已知-应答Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并传输给报文发送单元;
报文发送单元,用于获得报文变换单元传输的单播Known-Answer服务查询报文,并将获得的单播Known-Answer服务查询报文发送给网关,其中所述单播Known-Answer服务查询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用户终端确定的终端标识;
所述报文接收单元,还用于接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,并将所述单播Known-Answer服务应答报文传输给报文变换单元,其中所述用户终端未知的服务信息是网关基于接收到的单播Known-Answer服务查询报文中包含的终端标识,在建立的终端标识和已知的服务信息的对应关系中,将所述终端标识对应的用户终端全部已知的服务信息去除后获得的;
所述报文变换单元,还用于获得所述报文接收单元传输的单播Known-Answer服务应答报文,将获得的单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文,并将所述组播Known-Answer服务应答报文传输给报文发送单元;
所述报文发送单元,还用于获得报文变换单元传输的组播Known-Answer服务应答报文,将所述组播Known-Answer服务应答报文发送给用户终端。
7.如权利要求6所述的装置,其特征在于,所述报文发送单元发送的单播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:
所述用户终端的媒体接入控制地址;
所述用户终端的网际协议地址;
根据所述用户终端的地址生成的所述用户终端的编号;
中继为所述用户终端分配的编号。
8.一种组播域名系统mDNS中报文传输的装置,其特征在于,包括:
接收单元,用于接收中继发来的单播Known-Answer服务查询报文,并将所述单播Known-Answer服务查询报文传输给获得单元;
获得单元,用于获得所述接收单元传输的单播Known-Answer服务查询报文,获得所述单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中已知的服务信息,并将获得的终端标识和用户终端已知的服务信息传输给对应关系确定单元;
对应关系确定单元,用于获得所述获得单元传输的获得的终端标识和用户终端已知的服务信息,根据保存的终端标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的已知的服务信息添加到在保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中,并将更新后的终端标识和已知的服务信息的对应关系传输给所述获得单元;
所述获得单元,还用于获得所述对应关系确定单元传输的更新后的终端标识和已知的服务信息的对应关系,并在已添加从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息,并将获得的已知的服务信息传输给服务信息确定单元;
服务信息确定单元,用于获得所述获得单元传输的已知的服务信息,并确定与从接收到的所述单播Known-Answer服务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;并将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息,将所述未知的服务信息传输给发送单元;
所述发送单元,用于获得所述服务信息确定单元传输的未知的服务信息,并向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
9.如权利要求8所述的装置,其特征在于,所述对应关系确定单元,还用于若在保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识,则在保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系。
10.如权利要求8或9所述的装置,其特征在于,所述获得单元,还用于在获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识后,获得所述中继的地址,并将获得的中继的地址传输给对应关系确定单元;
所述对应关系确定单元,用于获得所述获得单元传输的中继的地址,并在保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
11.一种组播域名系统mDNS中报文传输的系统,其特征在于,包括中继和网关,其中:
所述中继,用于中继将用户终端发来的用于查询mDNS中服务信息的组播已知-应答Known-Answer服务查询报文变换为单播Known-Answer服务查询报文并发送给网关,所述单播Known-Answer服务查询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用户终端确定的终端标识;以及接收网关发来的包含所述用户终端未知的服务信息的单播Known-Answer服务应答报文,并将所述单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文后发送给用户终端;
所述网关,用于获得中继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述单播Known-Answer服务查询报文中已知的服务信息;并根据保存的终端标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的已知的服务信息添加到在网关保存的终端标识和已知的服务信息的对应关系中,和从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中;以及在已添加从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息;并确定与从接收到的所述单播Known-Answer服务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;将确定出的已知的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务信息;向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
12.如权利要求11所述的系统,其特征在于,所述单播Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:
所述用户终端的媒体接入控制地址;
所述用户终端的网际协议地址;
根据所述用户终端的地址生成的所述用户终端的编号;
中继为所述用户终端分配的编号。
13.如权利要求11或12所述的系统,其特征在于,所述网关,还用于若在所述网关保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识,则在所述网关保存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信息的对应关系。
14.如权利要求11~13任一所述的系统,其特征在于,所述网关,还用于获得所述中继的地址;所述网关保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
CN201310291011.5A 2013-07-11 2013-07-11 组播域名系统中报文传输的方法、装置及系统 Active CN104283979B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310291011.5A CN104283979B (zh) 2013-07-11 2013-07-11 组播域名系统中报文传输的方法、装置及系统
PCT/CN2014/081327 WO2015003566A1 (zh) 2013-07-11 2014-07-01 组播域名系统中报文传输的方法、装置及系统
EP14822797.8A EP3013020B1 (en) 2013-07-11 2014-07-01 Method, device and system for transmitting packet in multicast domain name system
US14/992,085 US9774563B2 (en) 2013-07-11 2016-01-11 Packet transmission method, apparatus, and system in multicast domain name system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310291011.5A CN104283979B (zh) 2013-07-11 2013-07-11 组播域名系统中报文传输的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104283979A true CN104283979A (zh) 2015-01-14
CN104283979B CN104283979B (zh) 2017-11-17

Family

ID=52258450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310291011.5A Active CN104283979B (zh) 2013-07-11 2013-07-11 组播域名系统中报文传输的方法、装置及系统

Country Status (4)

Country Link
US (1) US9774563B2 (zh)
EP (1) EP3013020B1 (zh)
CN (1) CN104283979B (zh)
WO (1) WO2015003566A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935564A (zh) * 2015-04-14 2015-09-23 闪联信息技术工程中心有限公司 使基于mDNS协议的设备及服务在局域网中互相发现的方法
WO2016115669A1 (zh) * 2015-01-19 2016-07-28 华为技术有限公司 一种数据通信方法及终端
CN109151089A (zh) * 2018-08-28 2019-01-04 新华三技术有限公司合肥分公司 mDNS信息传递方法及装置
CN109246024A (zh) * 2018-09-29 2019-01-18 新华三技术有限公司 一种组网中负载分担方法、装置、终端设备及存储介质
CN109379291A (zh) * 2018-09-29 2019-02-22 新华三技术有限公司合肥分公司 一种组网中服务请求的处理方法及装置
CN109981819A (zh) * 2019-03-22 2019-07-05 新华三技术有限公司合肥分公司 mDNS报文处理方法、装置和组网系统
CN111131452A (zh) * 2019-12-24 2020-05-08 杭州迪普科技股份有限公司 一种更新mDNS网关服务状态的方法及装置
KR20200056977A (ko) * 2017-09-30 2020-05-25 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 채널 자원 세트의 지시 방법, 단말 기기 및 네트워크 기기
CN111669330A (zh) * 2019-03-08 2020-09-15 华为技术有限公司 一种bier报文的发送方法和装置
US20210399947A1 (en) * 2020-06-17 2021-12-23 Hewlett Packard Enterprise Development Lp System and method for reconfiguring a network using network traffic comparisions

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US9548965B2 (en) * 2013-08-26 2017-01-17 Nicira, Inc. Proxy methods for suppressing broadcast traffic in a network
US10516568B2 (en) 2014-09-30 2019-12-24 Nicira, Inc. Controller driven reconfiguration of a multi-layered application or service model
US9531590B2 (en) 2014-09-30 2016-12-27 Nicira, Inc. Load balancing across a group of load balancers
US10594743B2 (en) 2015-04-03 2020-03-17 Nicira, Inc. Method, apparatus, and system for implementing a content switch
KR20170070639A (ko) * 2015-12-14 2017-06-22 삼성전자주식회사 통신 시스템에서 데이터 송수신 방법 및 장치
US10721213B1 (en) * 2016-06-01 2020-07-21 Architecture Technology Corporation IP source obfuscation
US10805181B2 (en) 2017-10-29 2020-10-13 Nicira, Inc. Service operation chaining
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
CN110163382A (zh) * 2018-02-12 2019-08-23 北京京东尚科信息技术有限公司 信息生成方法和装置
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US11467861B2 (en) 2019-02-22 2022-10-11 Vmware, Inc. Configuring distributed forwarding for performing service chain operations
GB201904224D0 (en) * 2019-03-27 2019-05-08 Sec Dep For Foreign And Commonwealth Affairs A network filter
US11030019B2 (en) * 2019-04-09 2021-06-08 International Business Machines Corporation Deletion of events based on a plurality of factors in a connected car computing environment
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11223494B2 (en) * 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11743172B2 (en) 2020-04-06 2023-08-29 Vmware, Inc. Using multiple transport mechanisms to provide services at the edge of a network
US11496437B2 (en) 2020-04-06 2022-11-08 Vmware, Inc. Selective ARP proxy
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11805101B2 (en) 2021-04-06 2023-10-31 Vmware, Inc. Secured suppression of address discovery messages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069159A (zh) * 2005-12-28 2007-11-07 松下电工株式会社 用于发现服务并与该服务对话的系统和方法
CN101212315A (zh) * 2006-12-25 2008-07-02 上海贝尔阿尔卡特股份有限公司 一种实现组播业务计费的方法及其装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6769031B1 (en) * 2000-09-29 2004-07-27 Interland, Inc. Dynamically incorporating updates to active configuration information
US9998321B2 (en) * 2002-03-19 2018-06-12 Apple Inc. Method and apparatus for supporting duplicate suppression when issuing multicast queries using DNS-format message packets
US7573903B2 (en) * 2005-01-13 2009-08-11 Yokogawa Electric Corporation IPv6/IPv4 translator
US7730187B2 (en) * 2006-10-05 2010-06-01 Limelight Networks, Inc. Remote domain name service
US20070253377A1 (en) * 2006-04-28 2007-11-01 Motorola, Inc. Apparatus and method for name resolution in an aggregation of mobile networks
US7694016B2 (en) * 2007-02-07 2010-04-06 Nominum, Inc. Composite DNS zones
US20090063686A1 (en) * 2007-08-30 2009-03-05 Schmidt Brian K Automated service discovery and dynamic connection management
US8676989B2 (en) * 2009-04-23 2014-03-18 Opendns, Inc. Robust domain name resolution
WO2011123812A1 (en) * 2010-04-03 2011-10-06 Openwave Systems Inc. Reverse dns lookup with modified reverse mappings
CN102457583B (zh) * 2010-10-19 2014-09-10 中兴通讯股份有限公司 一种虚拟机移动性的实现方法及系统
US8671221B2 (en) * 2010-11-17 2014-03-11 Hola Networks Ltd. Method and system for increasing speed of domain name system resolution within a computing device
US9007980B2 (en) * 2011-06-07 2015-04-14 Verizon Patent And Licensing Inc. Multicast-unicast handoff services
US9137281B2 (en) * 2012-06-22 2015-09-15 Guest Tek Interactive Entertainment Ltd. Dynamically enabling guest device supporting network-based media sharing protocol to share media content over local area computer network of lodging establishment with subset of in-room media devices connected thereto
US8813228B2 (en) * 2012-06-29 2014-08-19 Deloitte Development Llc Collective threat intelligence gathering system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069159A (zh) * 2005-12-28 2007-11-07 松下电工株式会社 用于发现服务并与该服务对话的系统和方法
CN101212315A (zh) * 2006-12-25 2008-07-02 上海贝尔阿尔卡特股份有限公司 一种实现组播业务计费的方法及其装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S. CHESHIRE .ET AL: "IETF RFC 6762", 《IETF》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107211483B (zh) * 2015-01-19 2020-07-24 华为技术有限公司 一种数据通信方法及终端
US9967918B2 (en) 2015-01-19 2018-05-08 Huawei Technologies Co., Ltd. Data communication method and terminal
WO2016115669A1 (zh) * 2015-01-19 2016-07-28 华为技术有限公司 一种数据通信方法及终端
US10187927B2 (en) 2015-01-19 2019-01-22 Huawei Technologies Co., Ltd. Data communication method and terminal
CN107211483A (zh) * 2015-01-19 2017-09-26 华为技术有限公司 一种数据通信方法及终端
CN104935564B (zh) * 2015-04-14 2018-01-16 闪联信息技术工程中心有限公司 使基于mDNS协议的设备及服务在局域网中互相发现的方法
CN104935564A (zh) * 2015-04-14 2015-09-23 闪联信息技术工程中心有限公司 使基于mDNS协议的设备及服务在局域网中互相发现的方法
KR20200056977A (ko) * 2017-09-30 2020-05-25 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 채널 자원 세트의 지시 방법, 단말 기기 및 네트워크 기기
US11576169B2 (en) 2017-09-30 2023-02-07 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Channel resource indication method, terminal device and network device
KR102424636B1 (ko) 2017-09-30 2022-07-22 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 채널 자원의 지시 방법, 단말 기기 및 네트워크 기기
CN109151089A (zh) * 2018-08-28 2019-01-04 新华三技术有限公司合肥分公司 mDNS信息传递方法及装置
CN109151089B (zh) * 2018-08-28 2021-10-12 新华三技术有限公司合肥分公司 mDNS信息传递方法及装置
CN109246024A (zh) * 2018-09-29 2019-01-18 新华三技术有限公司 一种组网中负载分担方法、装置、终端设备及存储介质
CN109379291A (zh) * 2018-09-29 2019-02-22 新华三技术有限公司合肥分公司 一种组网中服务请求的处理方法及装置
CN109246024B (zh) * 2018-09-29 2022-06-10 新华三技术有限公司 一种组网中负载分担方法、装置、终端设备及存储介质
CN111669330A (zh) * 2019-03-08 2020-09-15 华为技术有限公司 一种bier报文的发送方法和装置
US11902049B2 (en) 2019-03-08 2024-02-13 Huawei Technologies Co., Ltd. BIER packet sending method and apparatus
CN111669330B (zh) * 2019-03-08 2022-04-05 华为技术有限公司 一种bier报文的发送方法和装置
CN109981819A (zh) * 2019-03-22 2019-07-05 新华三技术有限公司合肥分公司 mDNS报文处理方法、装置和组网系统
CN111131452A (zh) * 2019-12-24 2020-05-08 杭州迪普科技股份有限公司 一种更新mDNS网关服务状态的方法及装置
US11824640B2 (en) * 2020-06-17 2023-11-21 Hewlett Packard Enterprise Development Lp System and method for reconfiguring a network using network traffic comparisions
US20210399947A1 (en) * 2020-06-17 2021-12-23 Hewlett Packard Enterprise Development Lp System and method for reconfiguring a network using network traffic comparisions

Also Published As

Publication number Publication date
EP3013020A1 (en) 2016-04-27
EP3013020A4 (en) 2016-07-27
US20160127306A1 (en) 2016-05-05
CN104283979B (zh) 2017-11-17
EP3013020B1 (en) 2019-01-02
WO2015003566A1 (zh) 2015-01-15
US9774563B2 (en) 2017-09-26

Similar Documents

Publication Publication Date Title
CN104283979A (zh) 组播域名系统中报文传输的方法、装置及系统
JP6785376B2 (ja) IoTデバイスコネクティビティ、ディスカバリ、ネットワーキング
US10659430B2 (en) Systems and methods for dynamic network address modification related applications
CN105577736B (zh) 一种电力线载波通讯终端控制装置、系统及方法
JP4331154B2 (ja) 情報処理システム、トンネル通信装置、及びトンネル通信方法
CN106605421B (zh) 用于服务节点的匿名访问和控制的方法和装置
CN107404512B (zh) 资源订阅方法、资源订阅装置和资源订阅系統
JP2019506800A (ja) M2mデバイスを構成するための方法および装置
US11523324B2 (en) Method for configuring a wireless communication coverage extension system and a wireless communication coverage extension system implementing said method
CN103312571A (zh) 一种发现设备的方法及装置
CN110572808B (zh) 蓝牙Mesh网络系统、建立方法、配网器、设备及介质
CN105337855A (zh) 一种处理修改后的报文方法和装置
EP2842276A1 (en) Home network packet delivery
US20160173326A1 (en) Network configuration using service identifier
CN105634805A (zh) 一种无线组网环境下主控设备对附加设备统一配置的方法
KR100785482B1 (ko) 한 개 이상의 서브 네트워크간 컴포넌트를 디스커버리 하는방법 및 그 장치
CN113364660A (zh) Lvs负载均衡中的数据包处理方法及装置
CN107231249B (zh) 转发节点的物理拓扑信息的获取方法、控制器和转发节点
US10574797B2 (en) Method for configuring a device connected to a field bus
CN114679354A (zh) 网关设备、桥接方法及装置、存储介质
WO2017119219A1 (ja) 通信方法
JP2017098738A (ja) 制御装置、通信システム、制御方法およびプログラム
WO2011139138A1 (en) Method of providing multi address binding in a network
US20170265067A1 (en) Communication terminal device and transmission and reception method therefor, and recording medium containing computer program
US11044223B2 (en) Connection establishment for node connected to multiple IP networks

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