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

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

【技术领域】
[0001] 本发明涉及网络通信【技术领域】,尤其是涉及一种组播域名系统(英文multicast Domain Name System,缩写:mDNS)中报文传输的方法、装置及系统。

【背景技术】
[0002] 零配置联网,(英文:zero-configuration networking,缩写:zeroconf)是指一种 当计算机设备或网络外围设备互联时,能够自动创建一套可用的基于互联网协议套件(英 文:Internet Protocol Suite)的计算机网络的特殊技术。
[0003] 其中,Bonjour技术是零配置联网技术中的一种,Bonjour技术基于组播域名系 统以及域名系统(英文:Domain Name System,缩写:DNS)的服务发现(英文:DNS_based Service Discovery,缩写:DNS-SD)实现。通过Bonjour技术,在网络中的用户终端可以自 动传播自身的服务信息,并可以获得网络中其他用户终端的服务信息,用户终端和用户终 端之间就像在打招呼。用户终端的服务信息是提供服务的用户终端的信息,包括提供服务 的用户终端的服务类型,例如打印、视频播放等服务,还可以包括提供服务的用户终端的标 识等信息,提供服务的用户终端的标识可以是提供服务的用户终端在网络中的地址,或者 和提供服务的用户终端提供的服务类型对应的服务名。通过Bonjour技术,能够使网际协 议(Internet Protocol, IP)网络中的用户终端提供的服务,例如打印、视频播放等,即使在 没有网络管理员的情况下也可以被网络中的其它用户终端找到。
[0004] 但是在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获知提供服务的用户终端所 提供的服务。
[0005] 由于网络中有多个VLAN,各个VLAN中的用户终端的服务信息都由gateway发送给 发送的请求服务的报文的用户终端,所以在基于mDNS的网络中需要传输较多的服务信息, 造成网络带宽浪费。


【发明内容】

[0006] 本发明提供了一种组播域名系统mDNS中报文传输的方法、装置及系统,用以解决 通常情况下在基于mDNS的多VLAN的网络中需要传输较多的服务信息,造成网络带宽浪费 的问题。
[0007] 第一方面,提供了一种组播域名系统mDNS中报文传输的方法,包括:中继将用户 终端发来的用于查询mDNS中服务信息的组播已知-应答(英文:Known-Answer)服务查询报 文变换为单播Known-Answer服务查询报文并发送给网关,所述单播Known-Answer服务查 询报文的身份标识字段中包含所述中继为发送所述组播Known-Answer服务查询报文的用 户终端确定的终端标识;所述中继接收网关发来的包含所述用户终端未知的服务信息的单 播Known-Answer服务应答报文,所述用户终端未知的服务信息是网关基于接收到的单播 Known-Answer服务查询报文中包含的终端标识,在建立的终端标识和已知的服务信息的对 应关系中,将所述终端标识对应的用户终端全部已知的服务信息去除后获得的;所述中继 将单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文后发送给用户 终端。
[0008] 在第一方面的第一种可能的实现方式中,所述单播Known-Answer服务查询报文 的身份标识字段中包含的终端标识是下述中的一种:所述用户终端的媒体接入控制地址; 所述用户终端的网际协议地址;根据所述用户终端的地址生成的所述用户终端的编号;中 继为所述用户终端分配的编号。
[0009] 第二方面,提供了一种组播域名系统mDNS中报文传输的方法,包括:网关获得中 继发来的单播Known-Answer服务查询报文的身份标识字段中的终端标识,以及获得所述 单播Known-Answer服务查询报文中已知的服务信息;所述网关根据所述网关保存的终端 标识和已知的服务信息的对应关系,将从所述单播Known-Answer服务查询报文中获得的 已知的服务信息添加到在网关保存的终端标识和已知的服务信息的对应关系中,和从所述 单播Known-Answer服务查询报文中获得的终端标识对应的已知的服务信息中;在已添加 从所述单播Known-Answer服务查询报文中获得的已知的服务信息的所述网关保存的终端 标识和已知的服务信息的对应关系中,确定从所述单播Known-Answer服务查询报文中获 得的终端标识对应的已知的服务信息;网关确定与从接收到的所述单播Known-Answer服 务查询报文中获得的用户终端请求的服务类型对应的全部服务信息;网关将确定出的已知 的服务信息从确定出的全部服务信息中去除后,得到和从所述单播Known-Answer服务查 询报文中获得的终端标识对应的用户终端所请求的服务类型对应的用户终端未知的服务 信息;网关向中继发送包含所述未知的服务信息的单播Known-Answer服务应答报文。
[0010] 在第二方面的第一种可能的实现方式中,网关在所述单播Known-Answer服务查 询报文中获得的终端标识和已知的服务信息之后,还包括:若在所述网关保存的终端标识 和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查询报文中获得 的终端标识,则在所述网关保存的终端标识和已知的服务信息的对应关系中,建立从所述 单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询 报文中获得的已知的服务信息的对应关系。
[0011] 结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的 实现方式中,在网关获得中继发来的单播Known-Answer服务查询报文的身份标识字段中 的终端标识后,还包括:网关获得所述中继的地址;所述网关保存的终端标识和已知的服 务信息的对应关系中还包括中继的地址。
[0012] 第三方面,提供了一种组播域名系统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服务应答报 文发送给用户终端。
[0013] 在第三方面的第一种可能的实现方式中,所述报文发送单元发送的单播 Known-Answer服务查询报文的身份标识字段中包含的终端标识是下述中的一种:所述用 户终端的媒体接入控制地址;所述用户终端的网际协议地址;根据所述用户终端的地址生 成的所述用户终端的编号;中继为所述用户终端分配的编号。
[0014] 第四方面,提供了一种组播域名系统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服务应答报文。
[0015] 在第四方面的第一种可能的实现方式中,所述对应关系确定单元,还用于若在保 存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服务查 询报文中获得的终端标识,则在保存的终端标识和已知的服务信息的对应关系中,建立从 所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务 查询报文中获得的已知的服务信息的对应关系。
[0016] 结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的 实现方式中,所述获得单元,还用于在获得中继发来的单播Known-Answer服务查询报文的 身份标识字段中的终端标识后,获得所述中继的地址,并将获得的中继的地址传输给对应 关系确定单元;所述对应关系确定单元,用于获得所述获得单元传输的中继的地址,并在保 存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
[0017] 第五方面,提供了一种组播域名系统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服务应答报文。
[0018] 在第五方面的第一种可能的实现方式中,所述单播Known-Answer服务查询报文 的身份标识字段中包含的终端标识是下述中的一种:所述用户终端的媒体接入控制地址; 所述用户终端的网际协议地址;根据所述用户终端的地址生成的所述用户终端的编号;中 继为所述用户终端分配的编号。
[0019] 结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第二种可能的 实现方式中,所述网关,还用于若在所述网关保存的终端标识和已知的服务信息的对应关 系中,未包含从所述单播Known-Answer服务查询报文中获得的终端标识,则在所述网关保 存的终端标识和已知的服务信息的对应关系中,建立从所述单播Known-Answer服务查询 报文中获得的终端标识和从所述单播Known-Answer服务查询报文中获得的已知的服务信 息的对应关系。
[0020] 结合第五方面,第五方面的第一种可能的实现方式,以及第五方面的第二种可能 的实现方式中的任意一个,在第五方面的第三种可能的实现方式中,所述网关,还用于获得 所述中继的地址;所述网关保存的终端标识和已知的服务信息的对应关系中还包括中继的 地址。
[0021] 第六方面,提出一种中继,包括:接口和信号处理器,其中所述接口和信号处理器 之间通过总线连接,并通过总线传输数据。所述接口,用于接收用户终端发来的用于查询 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服务应答报文传输给报文发送给用户终端。
[0022] 在第六方面的第一种可能的实现方式中,所述接口发送的单播Known-Answer服 务查询报文的身份标识字段中包含的终端标识是下述中的一种:所述用户终端的媒体接入 控制地址;所述用户终端的网际协议地址;根据所述用户终端的地址生成的所述用户终端 的编号;中继为所述用户终端分配的编号。
[0023] 第七方面,还提出一种网关,包括:接口、存储器和信号处理器,其中所述接口、 存储器和信号处理器之间通过总线连接,并通过总线传输数据。所述接口用于接收中继 发来的单播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服务应答报文。
[0024] 在第七方面的第一种可能的实现方式中,上述信号处理器,还用于若在所述存储 器保存的终端标识和已知的服务信息的对应关系中,未包含从所述单播Known-Answer服 务查询报文中获得的终端标识时,则在所述网关保存的终端标识和已知的服务信息的对 应关系中,建立从所述单播Known-Answer服务查询报文中获得的终端标识和从所述单播 Known-Answer服务查询报文中获得的已知的服务信息的对应关系,并将建立的从所述单播 Known-Answer服务查询报文中获得的终端标识和从所述单播Known-Answer服务查询报文 中获得的已知的服务信息的对应关系传输给存储器保存。
[0025] 结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第二种可能的 实现方式中,上述信号处理器,还用于在获得中继发来的单播Known-Answer服务查询报文 的身份标识字段中的终端标识后,获得所述中继的地址,并将获得的中继的地址传输给存 储器。存储器,用于获得所述信号处理器传输的中继的地址,并在保存的终端标识和已知的 服务信息的对应关系中还包括中继的地址。
[0026] 本发明提出的技术方案中,中继将用户终端发来的组播Known-Answer服务查询 报文变换为单播Known-Answer服务查询报文,然后发送给网关,其中在发给网关的单播 Known-Answer服务查询报文中包含该用户终端的终端标识、用户终端请求的服务类型、以 及用户终端已知的服务信息,网关可以根据接收到的单播Known-Answer服务查询报文中 包含的终端标识,区分发送Known-Answer服务查询报文的用户终端,然后根据同一用户终 端的所有已知的服务信息进行统一回复包含未知服务信息的单播Known-Answer服务应答 报文,由中继将单播Known-Answer服务应答报文变换为组播Known-Answer服务应答报文 发送给终端。本发明提出的技术方案在基于mDNS的多VLAN的网络中实施Known-Answer 机制,减少了网络带宽的浪费。

【专利附图】

【附图说明】
[0027] 图1为将Bon jour技术应用在VLAN中的系统结构组成示意图;
[0028] 图2为本发明实施例一中,提出的组播报文的报文头结构示意图;
[0029] 图3为本发明实施例一中,提出的Known-Answer机制工作原理示意图;
[0030] 图4为本发明实施例二中,提出的mDNS中报文传输的方法流程图;
[0031] 图5为Bon jour技术中网关获得服务信息的方法流程图;
[0032] 图6为本发明实施例三中,提出的应用在中继侧的mDNS中报文传输的方法流程 图;
[0033] 图7为本发明实施例三中,提出的mDNS中报文传输装置结构组成示意图;
[0034] 图8为本发明实施例三中,提出的一种中继结构组成示意图;
[0035] 图9为本发明实施例三中,提出的应用在网关侧的mDNS中报文传输的方法流程 图;
[0036] 图10为本发明实施例三中,提出的一种mDNS中报文传输装置结构组成示意图;
[0037] 图11为本发明实施例三中,提出的一种网关结构组成示意图。

【具体实施方式】
[0038] 为节约基于mDNS运行的网络的流量,通常在mDNS中实施已知-应答(英文: Known-Answer)机制。Known-Answer机制是指请求服务的用户终端发送服务查询报文,在 服务查询报文中包含已知的服务信息,服务查询报文的接收方接收到服务查询报文进行处 理时,可以不必回复上述已知的服务信息。其中,服务信息是提供服务的用户终端的信息, 包括提供服务的用户终端的服务类型,例如打印、视频播放等服务,还可以包括提供服务的 用户终端的标识等信息,提供服务的用户终端的标识可以是提供服务的用户终端在网络中 的地址,或者和提供服务的用户终端提供的服务类型对应的服务名。但是,如果简单的将 Known-Answer机制应用于多VLAN的应用Bonjour技术的网络中,并不能解决网络带宽浪 费的问题。例如,如果请求服务的用户终端已知的服务信息较多,则该用户终端需要发送多 个组播形式的服务查询报文告知接收方(如gateway)已知的服务信息。然而,在基于mDNS 运行的网络中,用户终端发送的服务请求报文经过relay处理后,报文的源地址会被替换 成relay的地址,然后再发送给gateway。因此,gateway无法根据报文中的源地址区分服 务请求报文来自哪个用户终端,则gateway对同一个用户终端发来的多条服务请求报文进 行多次回复,使得在gateway中存储的服务信息多的情况下网络带宽浪费大。
[0039] 为了解决通常情况下在基于mDNS的网络中实现Known-Answer机制时,需要传输 较多的应答报文,使得网络带宽浪费的问题,本发明提出的技术方案中,中继将用户终端发 来的组播Known-Answer服务查询报文变换为单播Known-Answer服务查询报文,然后发送 给网关,其中在发给网关的单播Known-Answer服务查询报文中包含该用户终端的终端标 识,网关可以根据接收到的单播Known-Answer服务查询报文中包含的终端标识,区分同一 个用户终端发送的所有Known-Answer服务查询报文,然后再进行统一回复包含服务信息 的单播Known-Answer服务应答报文,由中继将单播Known-Answer服务应答报文变换为组 播Known-Answer服务应答报文发送给终端。用以解决通常情况下在基于mDNS的网络中实 施Known-Answer机制时需要传输较多的服务信息,造成网络带宽浪费的问题。
[0040] 下面将结合各个附图对本发明实施例技术方案的主要实现原理、【具体实施方式】及 其对应能够达到的有益效果进行详细地阐述。
[0041] 本发明各实施例提出的方案中,所提及的用户终端是指支持Bonjour的用户终 端,为便于阐述,后文简称用户终端。
[0042] 实施例一
[0043] 本发明实施例一提出一种mDNS中报文传输的系统,在多VLAN的应用Bon jour技 术的网络中引入Known-Answer机制。其系统架构可以参见图1所示,该系统包含至少一个 relay,上述至少一个relay中的每个relay可以通过有线或者无线的方式和用户终端连 接。relay与和该relay连接的用户终端在同一个VLAN中,并且每一个VLAN中有且只有 一个relay,-个relay可以配置在不同的VLAN中。为实现Known-Answer机制,gateway 接收并记录各VLAN中relay转发的用户终端发送的服务查询报文中的用户终端的终端标 识,并根据接收到的服务查询报文执行相应的处理后,将处理结果通过服务应答报文发送 给relay,由relay转发给用户终端。当请求服务的用户终端和提供服务的用户终端位于不 同的VLAN中时,请求服务的用户终端和提供服务的用户终端都通过各自所在的VLAN中的 relay 来访问 gateway。
[0044] 本发明实施例一提出的技术方案中,将Known-Answer机制应用在mDNS中时,用户 终端在自身所在的VLAN中发送用于通知自身已知的服务信息的组播Known-Answer服务查 询报文。其中,服务信息是提供服务的用户终端的信息,包括提供服务的用户终端的服务类 型,例如打印、视频播放等服务,还可以包括提供服务的用户终端的标识等信息,提供服务 的用户终端的标识可以是提供服务的用户终端在网络中的地址,或者和提供服务的用户终 端提供的服务类型对应的服务名。与该用户终端在同一 VLAN的中继,接收到用户终端发来 的请求某一服务类型的组播Known-Answer服务查询报文。中继获取接收到的用户终端发 来的组播Known-Answer服务查询报文的源地址,中继根据该源地址确定该用户终端的终 端标识(英文:Identity,缩写ID)。中继确定出的该用户终端的终端标识可以是用户终端 的媒体接入控制(英文:Media AccessControl,缩写:MAC)地址,可以是用户终端的IP地 址,可以是根据用户终端的地址,例如MAC地址、IP地址或其组合,生成的可以标识该用户 终端的值,还可以是中继为该用户终端分配,例如按照顺序的方式或者按照随机的方式分 配的编号。在用户终端的终端标识是中继该用户终端分配的编号的情况下,中继保存为该 用户终端分配的编号与该用户终端的地址的对应关系,如果收到的组播Known-Answer服 务查询报文的源地址为该对应关系中已有的地址,则中继确定在该对应关系中与接收到的 组播Known-Answer服务查询报文的源地址对应的编号为该用户终端的终端标识。
[0045] 中继将确定出的终端标识包含在单播Known-Answer服务查询报文中发送 给网关。单播Known-Answer服务查询报文是中继将接收到的用户终端发来的组播 Known-Answer服务查询报文变换后形成的。
[0046] 具体的,中继将接收到的用户终端发来的组播Known-Answer服务查询报文的源 地址替换为中继的地址,将接收到的用户终端发来的组播Known-Answer服务查询报文的 目的地址替换为网关的地址,并将确定出的终端标识写入到组播Known-Answer服务查询 报文的身份标识字段,形成单播Known-Answer服务查询报文。其中,用户终端的地址可以 是用户终端在网络中的IP地址,中继的地址可以是中继在网络中的IP地址,网关的地址可 以是网关在网络中的IP地址。
[0047] 中继将形成的包含终端标识的单播Known-Answer服务查询报文发送给网关。因 此该单播Known-Answer服务查询报文包含该中继为发送组播Known-Answer服务查询报文 的用户终端确定的终端标识,以及该用户终端已知的服务信息。
[0048] 网关接收中继发来的单播Known-Answer服务查询报文,获得接收到的单播 Known-Answer服务查询报文中的终端标识,获得单播Known-Answer服务查询报文中的用 户终端请求的服务类型,以及和用户终端请求的服务类型对应的用户终端已知的服务信 息,网关保存单播Known-Answer服务查询报文中获得的终端标识和终端标识对应的用户 终端已知的服务信息的对应关系。S卩,如果单播Known-Answer服务查询报文中的终端标识 不在网关保存的终端标识和已知的服务信息的对应关系中,网关在保存的终端标识和已知 的服务信息的对应关系中建立单播Known-Answer服务查询报文中获得的终端标识和终端 标识对应的用户终端已知的服务信息的对应关系;如果单播Known-Answer服务查询报文 中的终端标识在网关保存的终端标识和已知的服务彳目息的对应关系中,网关在已保存的对 应关系中添加终端标识对应的用户终端已知的服务信息的对应关系。
[0049] 可选的,网关在建立获得的终端标识和终端标识对应的用户终端已知的服务信息 的对应关系的时候,可以建立发送单播Known-Answer服务查询报文的中继的地址、终端标 识和对应的已知的服务信息三者之间的对应关系。其中,中继的地址可以是中继在网络中 的IP地址,或者是其他能够唯一标识一个中继的地址。以中继的地址是中继在网络中的IP 地址、终端标识是中继为该用户终端按照顺序的方式或者按照随机的方式,分配的编号为 例,建立的中继的地址、终端标识和对应的已知的服务信息三者之间的对应关系,具体可以 参见下述表1所示:
[0050] 表 1
[0051]

【权利要求】
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任一所述的系统,其特征在于,所述网关,还用于获得所述中继 的地址;所述网关保存的终端标识和已知的服务信息的对应关系中还包括中继的地址。
【文档编号】H04L12/18GK104283979SQ201310291011
【公开日】2015年1月14日 申请日期:2013年7月11日 优先权日:2013年7月11日
【发明者】王春宁, 徐亦斌 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1