• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

05-三层技术-IP业务配置指导

目录

06-mDNS中继配置

本章节下载 06-mDNS中继配置  (284.55 KB)

06-mDNS中继配置


1 mDNS中继

1.1  mDNS中继简介

mDNS(Multicast DNS,组播域名)协议是基于mDNS服务的零配置网络协议。mDNS协议致力于让网络配置更简单,支持mDNS协议的服务提供设备能够以组播方式发送服务信息,使局域网内的终端用户设备在无需获取服务提供设备信息的情况下,自动发现可提供服务的设备。

目前,mDNS协议仅定义了如何在网段内使用mDNS协议报文传播服务信息,mDNS中继用来实现跨网段转发mDNS报文,实现mDNS协议在大规模网络中的应用。

1.1.1  mDNS设备类型

一个mDNS组网环境中,主要包括以下几种设备类型:

·     mDNS终端用户设备:通过mDNS协议访问网络中提供mDNS服务的设备,如iPhone和iPad等。

·     mDNS服务提供设备:为mDNS终端用户设备提供服务的设备,如打印机和视频服务器等。

·     mDNS网关:记录网络中的mDNS服务提供设备的信息,应答mDNS终端用户设备的服务请求。关于mDNS网关功能的详细介绍,请参见“WLAN配置指导”中的“Bonjour网关配置”。

·     mDNS中继:在跨网段组网中保证mDNS终端用户设备和mDNS服务提供设备可以互通。mDNS中继还支持定时探测网络中的mDNS服务提供设备。

1.1.2  mDNS组网模型

图1-1所示,在mDNS组网中,mDNS终端用户设备(Apple TV和iPad等)和mDNS服务提供设备(打印机和服务器等)在不同的VLAN内,AP和AC间需要跨网段三层转发。因为mDNS终端用户设备和mDNS服务提供设备发送给mDNS网关的mDNS报文的目的地址填充的是组播地址,所以AC作为mDNS网关时,无法收到mDNS终端用户设备和mDNS服务提供设备发送的mDNS报文。为了解决这个问题,需要在Device A和Device B上开启mDNS中继功能。mDNS中继上配置了mDNS网关的地址,mDNS中继收到mDNS终端用户设备和mDNS服务提供设备发送的mDNS报文后,会将报文的目的地址改为mDNS网关的地址并转发出去,保证mDNS网关可以收到mDNS终端用户设备和mDNS服务提供设备发送的mDNS报文。

图1-1 带mDNS中继的组网图

 

1.1.3  mDNS中继的作用

在mDNS网络中,mDNS中继的主要功能包括:

·     mDNS服务提供设备通告服务,mDNS中继收到mDNS服务提供设备发送的通告报文后,将报文目的IP地址改为mDNS网关的IP地址,单播转发给mDNS网关。

·     mDNS终端用户设备请求支持,mDNS中继收到mDNS终端用户设备发送的请求报文后,将报文目的IP地址改为mDNS网关的IP地址,单播转发给mDNS网关。收到mDNS网关的mDNS应答报文后,将目的地址替换为组播地址转发给mDNS终端用户设备。

·     mDNS中继定时探测功能,mDNS中继支持定时发送mDNS请求报文探测VLAN/VSI内mDNS服务提供设备,并将收到的mDNS应答报文转发给mDNS网关,保证mDNS网关能及时更新记录的mDNS服务表项信息。

1.1.4  mDNS服务提供设备通告服务

mDNS服务提供设备接入网络后,将所能提供的服务通告给mDNS网关。mDNS服务提供设备的通告信息包括主机名和服务名,主机名用来标识服务提供设备,服务名用来标识设备提供的服务类型等信息。

图1-2 mDNS服务提供设备通告服务原理图

 

图1-2所示,mDNS服务提供设备通告过程如下:

(1)     探测主机名阶段

a.     mDNS服务提供设备接入网络后,就自动生成一个主机名。为了确保网络中主机名唯一性,mDNS服务器发送一个目的地址为组播地址224.0.0.251的mDNS请求报文进行探测,并启动探测周期定时器。

b.     mDNS中继收到该请求报文后,将目的地址替换为mDNS网关的IP地址,将该请求报文单播转发给mDNS网关。

c.     mDNS网关收到mDNS请求报文后,查询本地记录的主机名信息中是否有相同的主机名。如果存在相同的主机名,则mDNS网关回复一个mDNS冲突报文给mDNS中继。mDNS中继收到冲突报文后,将报文的目的地址改为组播地址224.0.0.251后转发给mDNS服务提供设备。

d.     mDNS冲突提供设备收到冲突报文后,会重新生成一个主机名,再启动探测过程。

(2)     通告主机名阶段

a.     如果在探测周期到期后,mDNS服务提供设备都未收到mDNS冲突报文,则mDNS服务提供设备发送一个目的地址为组播地址224.0.0.251的mDNS请求报文进行通告。

b.     mDNS中继收到该请求报文后,将目的地址替换为mDNS网关的IP地址,将该请求报文单播转发给mDNS网关。

c.     mDNS网关收到mDNS请求报文后,记录请求报文中的主机名和IP地址信息。

(3)     探测服务名阶段

a.     主机名通告结束后,mDNS服务提供设备为了确保网络中服务名的唯一性,发送一个目的地址为组播地址224.0.0.251的mDNS请求报文进行探测,并启动探测周期定时器。

b.     mDNS中继收到该请求报文后,将目的地址替换为mDNS网关的IP地址,将该请求报文单播转发给mDNS网关。

c.     mDNS网关收到mDNS请求报文后,查询本地记录的服务名信息中是否有相同的服务名。如果存在相同的服务名,则mDNS网关回复一个mDNS冲突报文给mDNS中继。mDNS中继收到冲突报文后,将报文的目的地址改为组播地址224.0.0.251后转发给mDNS服务提供设备。

d.     mDNS冲突提供设备收到冲突报文后,会重新生成一个服务名,再启动探测过程。

(4)     通告服务名阶段

a.     如果在探测周期到期后,mDNS服务提供设备都未收到mDNS冲突报文,则mDNS服务提供设备发送一个目的地址为组播地址224.0.0.251的mDNS请求报文进行通告。

b.     mDNS中继收到该请求报文后,将目的地址替换为mDNS网关的IP地址,将该请求报文单播转发给mDNS网关。

c.     mDNS网关收到mDNS请求报文后,记录请求报文中的服务名信息。

1.1.5  mDNS终端用户设备请求支持

图1-3所示,mDNS终端用户设备需要访问某些服务前,为了确定网络中是否存在对应的服务提供设备,需要发送一个目的地址为组播地址224.0.0.251的mDNS查询报文。mDNS中继收到请求报文后,将目的地址替换为mDNS网关的IP地址,将该请求报文单播转发给mDNS网关。mDNS网关收到请求报文后,根据报文中的服务名称查询记录的表项。如果查到对应的表项信息,将服务提供设备的主机名和IP地址放到应答报文中,单播发送给mDNS中继。mDNS中继将应答报文的目的地址改为组播地址224.0.0.251后转发给mDNS终端用户设备。终端用户设备收到应答报文后,可以根据报文中的IP地址访问对应的服务提供设备。其他mDNS终端用户设备收到应答报文后,也会学习并记录报文中的mDNS服务提供设备信息。

图1-3 mDNS终端用户设备请求支持原理图

 

1.1.6  mDNS中继定时探测功能

mDNS服务提供设备接入网络时,会主动向mDNS网关发送通告报文。mDNS网关收到某个mDNS服务提供设备的通告报文后,根据报文内的信息创建对应的mDNS服务提供设备的表项信息。如果mDNS网关接入网络之前,网络中已经存在mDNS服务提供设备,则mDNS服务提供设备不会主动向mDNS网关发送报文。mDNS网关就无法获知该mDNS服务提供设备的信息。

mDNS网关上维护着网络中所有mDNS服务提供设备的服务信息表项,在表项老化时间到达前,mDNS网关如果收到mDNS服务提供设备的更新消息,则重置老化时间;如果未收到mDNS服务提供设备的更新消息,则删除对应的服务信息表项。当网络规模较大,大量VLAN或VSI中都存在mDNS服务提供设备时,mDNS网关可能无法及时收到所有mDNS服务提供设备的更新消息,导致mDNS服务提供设备的服务信息表项被误删除。

为了解决上述问题,需要在mDNS中继上开启mDNS中继的定时探测功能。开启本功能后,mDNS中继会按照配置的探测时间间隔向开启了mDNS中继功能的VLAN/VSI内发送mDNS请求报文。mDNS服务提供设备收到请求报文后,会向mDNS中继发送mDNS应答报文。mDNS中继收到应答报文后,会将应答报文单播转发给mDNS网关,保证mDNS网关可以及时学习到网络中所有mDNS服务提供设备的最新信息。

1.1.7  协议规范

和mDNS相关的协议规范有:

·     RFC 6762:Multicast DNS

1.2  mDNS中继配置任务简介

mDNS中继配置任务如下:

(1)     指定mDNS网关的地址

(2)     开启mDNS中继功能

(3)     (可选)配置mDNS中继转发mDNS报文的源地址

(4)     (可选)开启mDNS中继定时探测功能

1.3  指定mDNS网关的地址

1. 功能简介

在mDNS中继上指定mDNS网关地址后,mDNS中继收到mDNS终端用户设备发送的mDNS请求报文后,会将报文目的组播地址修改为指定的mDNS网关的地址,并向mDNS网关单播转发mDNS请求报文。当mDNS中继收到mDNS网关应答的单播报文后,会将该单播报文转换成组播报文,在mDNS终端用户设备所在的VLAN或VSI内发送,保证发送请求的mDNS终端用户设备能收到应答报文,其他mDNS终端用户设备收到报文后,也能学习应答报文中的服务信息或刷新自身保存的服务信息。

2. 配置步骤

表1-1 配置mDNS网关的地址

操作

命令

说明

进入系统视图

system-view

-

配置mDNS网关的地址

mdns relay gateway ip ip-address [ vpn-instance vpn-instance-name ]

缺省情况下,mDNS中继上未指定mDNS网关的地址

 

1.4  开启mDNS中继功能

1.4.1  配置限制和指导

只有在mDNS中继上指定mDNS网关的地址后,mDNS中继功能才能生效。

1.4.2  在VLAN内开启mDNS中继功能

表1-2 VLAN内开启mDNS中继功能

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

开启mDNS中继功能

mdns relay enable

缺省情况下,mDNS中继功能处于关闭状态

 

1.4.3  在VSI内开启mDNS中继功能

表1-3 VSI内开启mDNS中继功能

操作

命令

说明

进入系统视图

system-view

-

进入VSI视图

vsi vsi-name

-

开启mDNS中继功能

mdns relay enable

缺省情况下,mDNS中继功能处于关闭状态

 

1.5  配置mDNS中继转发mDNS报文的源地址

1.5.1  功能简介

如果mDNS中继向某个VLAN/VSI内发送mDNS探测报文或转发mDNS应答报文时,则使用该VLAN接口/VSI虚接口的IP地址作为mDNS报文的源地址。如果VLAN接口/VSI虚接口上未配置IP地址,则mDNS中继无法发送mDNS探测报文。如果mDNS中继设备上接入大量VLAN/VSI,为每个VLAN/VSI虚接口都配置一个IP地址,会极大浪费IP地址资源。通过本命令配置了mDNS中继转发mDNS报文的源地址后,当mDNS中继在某个VLAN/VSI内开启mDNS定时探测功能时,会将mDNS探测报文的源地址修改为该地址,再向VLAN/VSI内发送探测报文。mDNS中继收到mDNS组播报文后,将报文源地址修改为指定的IP地址,再转发给mDNS网关。

1.5.2  配置限制和指导

指定的ip-address必须是mDNS中继上的IP地址,且该地址到mDNS网关路由可达,否则mDNS中继无法收到应答报文。

建议将源IP地址指定为mDNS中继连接mDNS网关接口的IP地址。

1.5.3  在VLAN内配置mDNS中继转发mDNS报文的源地址

表1-4 VLAN内配置mDNS中继转发mDNS报文的源地址

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

配置mDNS中继转发报文的源地址

mdns relay source ip { ip-address | interface interface-type interface-number }

缺省情况下,如果mDNS中继向某个VLAN内发送mDNS探测报文或转发mDNS应答报文时,则使用该VLAN接口的IP地址作为mDNS报文的源地址。mDNS中继收到mDNS组播报文后,将报文源地址修改为出接口地址,再转发给mDNS网关

 

1.5.4  在VSI内配置mDNS中继转发mDNS报文的源地址

表1-5 VSI内配置mDNS中继转发mDNS报文的源地址

操作

命令

说明

进入系统视图

system-view

-

进入VSI视图

vsi vsi-name

-

配置mDNS中继转发报文的源地址

mdns relay source ip { ip-address | interface interface-type interface-number }

缺省情况下,如果mDNS中继向某个VSI内发送mDNS探测报文或转发mDNS应答报文时,则使用该VSI虚接口的IP地址作为mDNS报文的源地址。mDNS中继收到mDNS组播报文后,将报文源地址修改为出接口地址,再转发给mDNS网关

 

1.6  开启mDNS中继定时探测功能

1.6.1  功能简介

开启本功能后,mDNS中继会按照配置的探测时间间隔向开启了mDNS中继功能的VLAN/VSI内发送mDNS请求报文。mDNS服务提供设备收到请求报文后,会向mDNS中继发送mDNS应答报文。mDNS中继收到应答报文后,会将应答报文单播转发给mDNS网关,保证mDNS网关可以及时学习到网络中所有mDNS服务提供设备的最新信息。

1.6.2  在VLAN内开启mDNS中继定时探测功能

表1-6 VLAN内开启mDNS中继定时探测功能

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

开启mDNS中继定时探测功能

mdns relay probe interval interval

缺省情况下,mDNS中继的定时探测功能处于关闭状态

 

1.6.3  在VSI内开启mDNS中继定时探测功能

表1-7 VSI内开启mDNS中继定时探测功能

操作

命令

说明

进入系统视图

system-view

-

进入VSI视图

vsi vsi-name

-

开启mDNS中继定时探测功能

mdns relay probe interval interval

缺省情况下,mDNS中继的定时探测功能处于关闭状态

 

1.7  mDNS中继显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后mDNS中继的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令清除mDNS中继的相关信息。

表1-8 mDNS中继显示和维护

操作

命令

显示mDNS中继的配置信息

display mdns relay

显示mDNS中继的报文统计信息

display mdns relay statistics

清除mDNS中继的报文统计信息

reset mdns relay statistics

 

1.8  mDNS中继典型配置举例

1.8.1  mDNS中继基本组网配置举例

1. 组网需求

图1-4所示,某企业内部使用mDNS协议通信,工作区属于VLAN10,服务区属于VLAN20。VLAN10内终端设备通过AP设备接入,VLAN20内的服务设备通过mDNS中继接入。工作区使用192.168.1.0网段,服务区使用192.168.2.0网段,mDNS中继和mDNS网关间使用192.168.3.0网段。为了使工作区的工作人员需要使用服务区的打印机执行打印操作,需要在交换机设备上配置mDNS中继功能。

2. 组网图

图1-4 mDNS中继基本组网图

 

3. 配置步骤

(1)     配置mDNS网关

配置mDNS网关功能,配置AP、mDNS中继和mDNS网关间路由可达,具体配置过程略。

(2)     配置mDNS中继

# 配置mDNS网关地址为192.168.3.2。

<Switch> system-view

[Switch] mdns relay gateway ip 192.168.3.2

# 在VLAN10内开启mDNS中继功能。

[Switch] vlan 10

[Switch-vlan10] mdns relay enable

# 配置mDNS中继转发报文的源地址为192.168.3.1。

[Switch-vlan10] mdns relay source ip 192.168.3.1

[Switch-vlan10] quit

# 在VLAN20内开启mDNS中继功能。

[Switch] vlan 20

[Switch-vlan20] mdns relay enable

# 配置mDNS中继转发报文的源地址为192.168.3.1。

[Switch-vlan20] mdns relay source ip 192.168.3.1

[Switch-vlan20] quit

4. 验证配置

# 显示mDNS中继的配置信息。

[Switch] display mdns relay

mDNS relay configuration:

mDNS gateway IP: 192.168.3.2

mDNS relay configuration in VLANs:

VLAN ID  Source IP address           Probe interval (sec)

10       192.168.3.1                 --

20       192.168.3.1                 --

VLAN 10内的iPad可以访问VLAN 20内的打印机,并完成打印工作。

1.9  mDNS中继常见故障处理

1.9.1  mDNS中继无法收到mDNS报文

1. 故障现象

mDNS中继无法收到mDNS报文。

2. 故障分析

可能有以下几个原因:

·     未开启mDNS中继功能;

·     未指定mDNS网关地址;

3. 处理过程

(1)     执行display mdns relay命令,查看当前的配置信息。

(2)     查看配置信息后,进行如下处理:

¡     如果mDNS中继功能未开启,则配置mdns relay enable命令开启。

¡     如果mDNS中继上不存在mDNS网关的地址,则配置mdns relay gateway ip命令指定。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们