发明内容
本发明的实施例提供一种基于DHCP的发现网络媒体服务器的方法和装置,解决了在DLNA客户端发现DLNA服务器时,对DLNA服务器向下经过的网络设备要求较高,且当网络上存在多个DLNA服务器时,DLNA客户端将发现多个DLNA服务器,无法进行负载均衡的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种基于DHCP的发现网络媒体服务器的方法,包括:
DHCP设备根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器;
向网关发送确定的网络媒体服务器的地址。
在第一种可能的实现方式中,所述DHCP设备为DHCP中继设备或DHCP服务器,其中,所述网络媒体服务器的地址包括所述网络媒体服务器的网际IP地址,或,所述网络媒体服务器的地址包括所述网络媒体服务器的网际IP地址和所述网络媒体服务器上与所述客户端进行通信的端口的端口号。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,若所述DHCP设备为DHCP中继设备,则在所述DHCP设备根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器之前,所述方法还包括:
接收所述网关发送的地址分配请求,所述地址分配请求为DHCP发现报文或DHCP请求报文;
根据所述DHCP中继设备上接收所述地址分配请求的第一端口的端口号确定所述网关位置信息,其中,所述网关位置信息包括第一端口的端口号,或,所述网关位置信息包括第一端口的端口号和第一端口所在的单板的单板号,或,所述网关位置信息包括第一端口的端口号、第一端口所在的单板的单板号和所述单板所在的框的框号。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,若所述DHCP设备为DHCP服务器,则在所述DHCP设备根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器之前,所述方法还包括:
接收DHCP中继设备发送的第一地址分配请求,所述第一地址分配请求携带所述网关的网关位置信息,所述网关位置信息包括所述DHCP中继设备接收所述网关发送的第二地址分配请求的第一端口的端口号,或,所述网关位置信息包括所述DHCP中继设备接收所述网关发送的第二地址分配请求的第一端口的端口号和第一端口所在的单板的单板号,或,所述网关位置信息包括所述DHCP中继设备接收所述网关发送的第二地址分配请求的第一端口的端口号、第一端口所在的单板的单板号和单板所在的框的框号;
其中,所述第二地址分配请求为所述网关发送的DHCP发现报文,所述第一地址分配请求为所述DHCP中继设备收到所述网关发送的所述DHCP发现报文后,根据DHCP获得的、携带有选项Option82的DHCP发现报文;
或者,
其中,第二地址分配请求为所述网关发送的DHCP请求报文,所述第一地址分配请求为所述DHCP中继设备收到所述网关发送的所述DHCP请求报文后,根据DHCP获得的、携带有选项Option82的DHCP请求报文。
结合第一方面或第一方面的第一种可能的实现方式至第三种可能的实现方式中的任意一种方式,在第四种可能的实现方式中,所述网络媒体服务器为数字生活网络联盟DLNA服务器或基于超文本传输协议HTTP的服务器;所述客户端为DLNA客户端;
所述方法还包括:
所述DHCP设备将基于DHCP获取到的所述网关的地址发送至所述网关。
第二方面,提供另一种基于DHCP的发现网络媒体服务器的方法,包括:
网关向DHCP设备发送地址分配请求;
接收所述DHCP设备发送的地址分配响应,所述地址分配响应包括所述DHCP设备确定的网络媒体服务器的地址;
网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向确定的网络媒体服务器发送认证请求;
在通过所述确定的网络媒体服务器认证后,接收所述确定的网络媒体服务器发送的所述确定的网络媒体服务器相关信息;
向所述DLNA客户端发送所述确定的网络媒体服务器相关信息,所述确定的网络媒体服务器相关信息用于响应所述注册请求。
在第一种可能的实现方式中,所述向所述DLNA客户端发送所述确定的网络媒体服务器相关信息包括:
向所述DLNA客户端组播发送所述确定的网络媒体服务器相关信息;或者,
在接收到请求消息后,向发送所述请求消息的DLNA客户端单播发送所述确定的网络媒体服务器相关信息。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述网络媒体服务器的地址包括所述网络媒体服务器的网际IP地址,或,所述网络媒体服务器的地址包括所述网络媒体服务器的网际IP地址和所述网络媒体服务器上与所述客户端进行通信的端口的端口号。
结合第二方面或第二方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述网络媒体服务器相关信息包括:所述确定的网络媒体服务器能够提供的业务。
结合第二方面或第二方面的第一种可能的实现方式至第三种可能的实现方式中任意一项方式,在第四种可能的实现方式中,所述地址分配响应还包括:所述DHCP设备基于DHCP获取到的所述网关的地址。
第三方面,提供一种DHCP设备,包括:
处理器,用于根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器;
发送器,用于向网关发送确定的网络媒体服务器的地址。
在第一种可能的实现方式中,所述DHCP设备为DHCP中继设备或DHCP服务器,其中,所述网络媒体服务器的地址包括所述网络媒体服务器的网际IP地址,或,所述网络媒体服务器的地址包括所述网络媒体服务器的网际IP地址和所述网络媒体服务器上与所述客户端进行通信的端口的端口号。
结合第二方面的一种可能的实现方式中,在第二种可能的实现方式中,若所述DHCP设备为DHCP中继设备,则所述DHCP设备还包括:
接收器,用于在所述DHCP设备根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器之前,接收所述网关发送的地址分配请求,所述地址分配请求为DHCP发现报文或DHCP请求报文;
所述处理器,还用于根据所述DHCP中继设备上接收所述地址分配请求的第一端口的端口号确定所述网关位置信息,其中,所述网关位置信息包括第一端口的端口号,或,所述网关位置信息包括第一端口的端口号和第一端口所在的单板的单板号,或,所述网关位置信息包括第一端口的端口号、第一端口所在的单板的单板号和所述单板所在的框的框号。
结合第二方面的一种可能的实现方式中,在第三种可能的实现方式中,若所述DHCP设备为DHCP服务器,则所述接收器,还用于在所述DHCP设备根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器之前,接收DHCP中继设备发送的第一地址分配请求,所述第一地址分配请求携带所述网关的网关位置信息,所述网关位置信息包括所述DHCP中继设备接收所述网关发送的第二地址分配请求的第一端口的端口号,或,所述网关位置信息包括所述DHCP中继设备接收所述网关发送的第二地址分配请求的第一端口的端口号和第一端口所在的单板的单板号,或,所述网关位置信息包括所述DHCP中继设备接收所述网关发送的第二地址分配请求的第一端口的端口号、第一端口所在的单板的单板号和单板所在的框的框号;
其中,所述第二地址分配请求为所述网关发送的DHCP发现报文,所述第一地址分配请求为所述DHCP中继设备收到所述网关发送的所述DHCP发现报文后,根据DHCP获得的、携带有选项Option82的DHCP发现报文;
或者,
其中,第二地址分配请求为所述网关发送的DHCP请求报文,所述第一地址分配请求为所述DHCP中继设备收到所述网关发送的所述DHCP请求报文后,根据DHCP获得的、携带有选项Option82的DHCP请求报文。
结合第二方面或第二方面的第一种可能的实现方式至第三种可能的实现方式中任意一种可能的实现方式,在第四种可能的实现方式中,所述网络媒体服务器为数字生活网络联盟DLNA服务器或基于超文本传输协议HTTP的服务器;所述客户端为DLNA客户端;
所述发送器,还用于将基于DHCP获取到的所述网关的地址发送至所述网关。
第四方面,提供一种网关,包括:
发送器,用于向DHCP设备发送地址分配请求;在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向确定的网络媒体服务器发送认证请求;向所述DLNA客户端发送所述确定的网络媒体服务器相关信息,所述确定的网络媒体服务器相关信息用于响应所述注册请求;
接收器,用于接收所述DHCP设备发送的地址分配响应,所述地址分配响应包括所述DHCP设备确定的网络媒体服务器的地址;在通过所述确定的网络媒体服务器认证后,接收所述确定的网络媒体服务器发送的所述确定的网络媒体服务器相关信息。
在第一种可能的实现方式中,所述发送器,具体用于向所述DLNA客户端组播发送所述确定的网络媒体服务器相关信息;或者,在接收到请求消息后,向发送所述请求消息的DLNA客户端单播发送所述确定的网络媒体服务器相关信息。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述网络媒体服务器的地址包括所述网络媒体服务器的网际IP地址,或,所述网络媒体服务器的地址包括所述网络媒体服务器的网际IP地址和所述网络媒体服务器上与所述客户端进行通信的端口的端口号。
结合第四方面或第四方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述网络媒体服务器相关信息包括:所述确定的网络媒体服务器能够提供的业务。
结合第四方面或第四方面的第一种可能的实现方式至第三种可能的实现方式中任意一种方式,在第四种可能的实现方式中,所述地址分配响应还包括:所述DHCP设备基于DHCP获取到的所述网关的地址。
本发明实施例提供的基于DHCP的发现网络媒体服务器的方法和装置,采用上述方案后,DHCP设备确定为DLNA客户端提供服务的网络媒体服务器(即DLNA服务器)并把DLNA服务器的地址和端口信息在DHCP消息中通知给网关,以便于网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向DLNA服务器发起认证过程,认证成功之后DLNA服务器返回具体的相关信息(如Location,USN等)。这样,网关可以向DLNA客户端通知上述网络媒体服务器相关信息,以便DLNA客户端与网络媒体服务器进行通信,不需要从DLNA服务器向下的网络设备支持组播报文复制。因此,本实施例可以避免或减少对DLNA服务器向下的网络设备的组播报文复制的要求。此外,可选地,DHCP设备根据获取的位置信息和存储的网络媒体服务器负载信息,确定与DLNA客户端进行通信的网络媒体服务器,当网络上存在多个DLNA服务器时,DHCP设备可以为DLNA客户端确定位置较近的和/或且负载较小的DLNA服务器,以便对DLNA服务器进行负载均衡。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的基于DHCP的发现网络媒体服务器的方法中,可以包括但不限于以下实体装置:DLNA服务器、DHCP中继设备、DHCP服务器、网关、DLNA客户端等。
为了更清楚的对实施例进行描述,首先对上述实体、和DLNA、和DHCP等进行简单描述。
一、DLNA
DLNA是一个由消费电子、移动电话以及电脑厂商组成的联盟组织。该组织的目标在于建立一套可以使得各厂商的产品互相连接,互相适应的工业标准,从而为消费者实现数字化生活。
DLNA的主要定义了数种装置(即DLNA服务器可以包括但不限于):
数字媒体服务器(DMS,Digital Media Server),提供了媒体的获取、录制、储存以及作为源头的装置;
数字媒体播放器(DMP,Digital Media Player),可寻找并播放或输出任何由DMS所提供的媒体的装置;
数字媒体控制器(DMC,Digital Media Controller),作为遥控装置使用,可寻找DMS上的多媒体文件,并指定可播放该媒体文件的DMP进行播放或控制多媒体文件上传到DMS或从DMS下载的装置;
其中,DLNA的核心协议为UPnP(The Universal Plug and Play,通用即插即用)协议。
二、DHCP
本实施例中可以通过DHCP方式自动获取用于通信的网关的IP地址,具体步骤可以包括:
1)DHCP发现(DISCOVER)
网关可以申请它使用的最后一个IP地址。如果该网关所在的网络中此IP仍然可用,DHCP服务器就可以准许该申请。否则,就要看该DHCP服务器是授权的还是非授权的。授权DHCP服务器会拒绝请求,使得网关立刻申请一个新的IP。非授权DHCP服务器仅仅忽略掉请求,导致网关请求的超时,于是网关就会放弃此请求而去申请一个新的IP地址。
2)DHCP提供(OFFER)
当DHCP服务器收到一个来自网关的IP租约请求时,它会为该网关提供一个IP租约。DHCP服务器为网关保留一个IP地址,然后通过网络发送DHCP OFFER消息给客户。该DHCPOFFER消息可以包含但不限于:发送DHCP OFFER的DHCP服务器的MAC地址、服务器提供的IP地址、子网掩码、租期以及提供IP的DHCP服务器的IP等。
3)DHCP请求(REQUEST)
当网关收到包含有IP租约的DHCP OFFER消息时,它必须告诉所有其他的DHCP服务器它已经接受了一个租约提供。因此,该网关会发送DHCP REQUEST消息,该DHCP REQUEST消息可以包含但不限于提供租约的DHCP服务器的IP。当其他DHCP服务器收到了DHCP REQUEST消息后,它们会收回所有可能已提供给网关的租约。然后它们把曾经给网关保留的IP地址重新放回到可用地址中,这样,它们就仍可以为其他计算机分配这个IP地址。任意数量的DHCP服务器都可以响应同一个IP租约请求,但是每一个网关只能接受一个租约提供。
4)DHCP确认(ACK)
当DHCP服务器收到来自网关的DHCP REQUEST消息后,它就开始了配置过程的最后阶段。这个响应阶段包括发送DHCP ACK消息给网关。该DHCP ACK消息可以包含但不限于:租期和网关可能请求的其他所有配置信息。
三、DHCP中继设备(即DHCP RELAY)
早期的DHCP协议只适合DLNA客户端与DHCP服务器处于同一个子网内的情况,不可以跨网段工作。DHCP RELAY在处于不同子网间的DLNA客户端与DHCP服务器承担中继服务,可以将DHCP协议报文中继到跨网段的目的DHCP服务器或DLNA客户端中。
如图1所示,DHCP RELAY的工作流程可以包括:
1)网关向DHCP RELAY发送地址配置请求。如果本子网存在DHCP服务器则不需要DHCP RELAY直接就可以进行DHCP地址配置;如果本子网里没有DHCP服务器,则发往本网络相连的带DHCP RELAY功能的网络设备;
2)DHCP RELAY收到网关的地址配置请求后,将Option82(一种消息名称)选项添加到此地址配置请求中,并将添加了Option82选项后的地址配置请求以单播方式发送给DHCP服务器;
3)DHCP服务器在接收到添加了Option82选项后的地址配置请求后,为网关配置IP地址,并向DHCP RELAY发送DHCP OFFER消息,该DHCP OFFER消息中被添加了Option82选项;
4)DHCP RELAY在接收到DHCP OFFER消息后,删除DHCP OFFER消息中添加的Option82选项,并将删除了Option82选项的DHCP OFFER消息发送至网关;
5)网关在接收到DHCP OFFER消息后向DHCP RELAY发送DHCP REQUEST消息;
6)DHCP RELAY收到网关的DHCP REQUEST消息后,将Option82(一种消息名称)选项添加到此DHCP REQUEST消息中,并将添加了Option82选项后的DHCPREQUEST消息以单播方式发送给DHCP服务器;
7)DHCP服务器在接收到添加了Option82选项后的DHCP REQUEST消息后,向DHCPRELAY发送DHCP ACK消息,该DHCP ACK消息中被添加了Option82选项;
8)DHCP RELAY将DHCP服务器配置的IP地址发送至DLNA客户端,以便DLNA客户端进行通信。
四、选项Option82
1)DLNA客户端在初始化时广播发送请求报文,这时的请求报文并不包含option82;
2)DHCP RELAY将option82添加到接收到的请求报文尾部后中继转发给DHCP服务器。DHCP option82的子选项可以是但不限于网关所连接的交换机的接口信息;
3)DHCP服务器收到DHCP RELAY转发的请求报文后,可以根据请求报文中option82选项所携带的信息和预定策略分配IP地址和其它信息,然后将带着DHCP配置信息以及option82信息的DHCP REQUEST报文发给DHCP RELAY。
4)DHCP RELAY收到DHCP服务器的DHCP REQUEST报文后将剥离报文中的option82信息,然后将带有DHCP配置信息的报文转发给网关。
本实施例应用的场景可以为但不限于:DLNA客户端与DLNA服务器位于不同的两个子网中,DHCP服务器可以与DLNA服务器位于同一子网中,网关担任中继。
本实施例提供一种基于DHCP的发现网络媒体服务器的方法,该方法的执行主体为DHCP设备,如图1所示,可以包括:
101、DHCP设备根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器;
102、向网关发送确定的网络媒体服务器的地址,以便网关在通过确定的网络媒体服务器的认证后,将接收到的确定的网络媒体服务器相关信息发送至DLNA客户端,且使DLNA客户端与确定的网络媒体服务器进行通信。
采用上述方案后,DHCP设备确定与客户端进行通信的网络媒体服务器,并把网络媒体服务器的地址和端口信息通知给网关,然后,网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向该网络媒体服务器发起认证过程;在认证成功之后,网络媒体服务器返回具体的相关信息,最后网关向客户端通知上述网络媒体服务器相关信息,以便客户端与网络媒体服务器进行通信,这样,不需要从网络媒体服务器向下的网络设备支持组播报文复制,因此,避免了对网络媒体服务器向下的网络设备的组播报文复制的要求;同时,DHCP设备根据获取的位置信息和存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器,当网络上存在多个网络媒体服务器时,DHCP设备可以为客户端确定位置较近的,且负载较小的网络媒体服务器,以便对网络媒体服务器进行负载均衡。
本实施例提供另一种基于DHCP的发现网络媒体服务器的方法,该方法的执行主体为网关,如图2所示,可以包括:
201、网关向DHCP设备发送地址分配请求,以便DHCP设备根据地址分配请求确定与客户端进行通信的网络媒体服务器;
202、接收DHCP设备发送的地址分配响应,地址分配响应包括DHCP设备确定的网络媒体服务器的地址;
203、网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向确定的网络媒体服务器发送认证请求。
204、在通过确定的网络媒体服务器认证后,接收确定的网络媒体服务器发送的确定的网络媒体服务器相关信息;
205、向客户端发送确定的网络媒体服务器相关信息,以便客户端与确定的网络媒体服务器进行通信。
采用上述方案后,DHCP设备确定与客户端进行通信的网络媒体服务器,并把网络媒体服务器的地址和端口信息通知给网关,然后,网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向该网络媒体服务器发起认证过程;在认证成功之后,网络媒体服务器返回具体的相关信息,最后网关向客户端通知上述网络媒体服务器相关信息,以便客户端与网络媒体服务器进行通信,这样,不需要从网络媒体服务器向下的网络设备支持组播报文复制,因此,避免了对网络媒体服务器向下的网络设备的组播报文复制的要求;同时,DHCP设备根据获取的位置信息和存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器,当网络上存在多个网络媒体服务器时,DHCP设备可以为客户端确定位置较近的,且负载较小的网络媒体服务器,以便对网络媒体服务器进行负载均衡。
网络媒体服务器可以但不限于为:DLNA服务器或其他基于HTTP(HTTP-Hypertexttransfer protocol,超文本传输协议)的服务器,客户端也可以为与网络媒体服务器向对应的客户端。下面提供的实施例均以网络媒体服务器为DLNA服务器,且客户端为DLNA客户端为例进行说明。
本实施例提供另一种基于DHCP的发现网络媒体服务器的方法,该方法是对图1和图2所示的方法的进一步扩展,其中,DHCP设备可以为:DHCP中继设备或DHCP服务器,本实施例以DHCP设备为DHCP中继设备为例进行说明。为了使更容易理解本实施例,如图3所示,提供本实施例的基于DHCP的发现网络媒体服务器的方法的数据交互图。
如图4所示,还提供本实施例的基于DHCP的发现网络媒体服务器的方法流程图。
具体的,如图4所示,本实施例具体可以包括:
401、网关向DHCP中继设备发送地址分配请求。
402、DHCP中继设备接收网关发送的地址分配请求。
DLNA客户端在通过网关与网络进行通信之前(可以为但不限于DLNA客户端),网关需要一个IP地址,因此,DHCP中继设备接收并向DHCP服务器转发网关发送的地址分配请求,以便DHCP服务器为网关分配IP地址。
进一步的,地址分配请求可以但不限于:为DHCP发现报文或DHCP请求报文。
403、DHCP中继设备添加option82到地址分配请求中,并将添加有option82的地址分配请求发送至DHCP服务器,以便DHCP服务器为网关分配用于通信的地址(即IP地址),option82可以包括位置信息。
本实施例对DHCP服务器为网关分配地址的方法不作限定,为本领域技术人员熟知的技术,在此不再赘述。
本实施例对为网关分配IP地址的方法不作限定,为本领域技术人员熟知的技术,且可以根据实际需要进行设定,在此不再赘述。
404、DHCP中继设备根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器,并接收DHCP服务器发送的地址分配响应。
地址分配响应可以但不限于包括:DHCP服务器为网关分配的用于通信的IP地址。
进一步的,DHCP中继设备可以根据DHCP中继设备上接收地址分配请求的第一端口的端口号确定网关位置信息,其中,网关位置信息包括第一端口的端口号,或,网关位置信息包括第一端口的端口号和第一端口所在的单板的单板号,或,网关位置信息包括第一端口的端口号、第一端口所在的单板的单板号和单板所在的框的框号。
作为本实施例的一种实施方式,DHCP中继设备还可以将获取到的网关位置信息添加到相应的option82中。
作为本实施例的一种实施方式,DHCP中继设备根据获取的网关位置信息和存储的网络媒体服务器负载信息,确定与DLNA客户端进行通信的网络媒体服务器的方法(即可以称为DLNA服务器,以下实施例均以DLNA服务器为例进行说明)可以为但不限于:DHCP中继设备获取距离网关位置较近,且负载较小的DLNA服务器。
DHCP中继设备可以代替DLNA客户端并根据获取的DLNA客户端的地址和存储的网络媒体服务器负载信息,确定与DLNA客户端进行通信的DLNA服务器。这样,与现有技术中的DLNA客户端确定DLNA服务器相比,规避了DLNA服务器需要通过其向下的网络设备向DLNA客户端广播DLNA服务器可以提供的服务以及其他信息等,而导致对该网络设备的要求较高的问题。同时,当***中存在至少一个DLNA服务器时,DHCP中继设备可以根据DLNA服务器的负载信息,为DLNA客户端确定一个负载较小的DLNA服务器,使得至少一个DLNA服务器的负载较均衡。
本实施例对获取DLNA服务器的方法不作限定,可以根据实际需要进行设定,在此不再赘述。
405、DHCP中继设备将确定的网络媒体服务器的地址添加到地址分配响应中,并向网关发送添加有确定的网络媒体服务器的地址的地址分配响应。
此时,地址分配响应还可以包括:确定的网络媒体服务器的地址和为网关分配的用于通信的IP地址,即DHCP中继设备将基于DHCP获取到的网关的地址发送至网关。
网络媒体服务器的地址可以但不限于包括:网络媒体服务器的网际IP地址,或,网络媒体服务器的地址包括网络媒体服务器的网际IP地址和网络媒体服务器上与客户端进行通信的端口的端口号。
进一步的,确定的DLNA服务器地址可以被添加到DHCP ACK消息中一同被发送至网关,也可以与其他消息一起发送至网关。其中,DHCP ACK消息已在上述说明书中介绍过,在此不再赘述。
本实施例对向网关发送确定的网络媒体服务器信息的方法不作限定,可以根据实际需要进行设定,在此不再赘述。
进一步的,接收到的DHCP服务器发送的地址分配响应中可能被添加了option82,在DHCP中继设备向网关发送地址分配响应之前删除地址分配响应中的option82,即DHCP中继设备向网关发送的地址分配响应中不包含option82。
406、网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向确定的网络媒体服务器发送认证请求。
407、在通过确定的网络媒体服务器认证后,接收确定的网络媒体服务器发送的确定的网络媒体服务器相关信息。
本实施例对网络媒体服务器相关信息包含的内容不作限定,可以根据实际需要进行设定,例如,可以包括网络媒体服务器可以提供的业务等,在此不再赘述。
本实施例对网络媒体服务器对网关进行认证的方法不作限定,为本领域技术人员熟知的技术,在此不再赘述。
408、网关向DLNA客户端发送确定的网络媒体服务器相关信息,以便DLNA客户端与确定的网络媒体服务器进行通信。
进一步的,向DLNA客户端发送确定的网络媒体服务器相关信息的方法可以包括:
向DLNA客户端组播发送确定的网络媒体服务器相关信息;或者,
在接收到请求消息后,向发送请求消息的DLNA客户端单播发送确定的网络媒体服务器相关信息。
其中,请求消息可以包括但不限于:SSDP m-search消息(SSDP m-查询消息)等,其中,SSDP m-search消息是在SSDP中定义的。
本实施例对网关向DLNA客户端发送确定的网络媒体服务器相关信息的方法不作限定,可以根据实际需要进行设定,在此不再赘述。
本实施例对DLNA客户端与确定的网络媒体服务器进行通信的方法不作限定,为本领域技术人员熟知的技术,且可以根据实际需要进行设定,在此不再赘述。
采用上述方案后,DHCP设备确定与DLNA客户端进行通信的网络媒体服务器(即DLNA服务器),并把DLNA服务器的地址和端口信息通知给网关,然后,网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向该DLNA服务器发起认证过程;在认证成功之后,DLNA服务器返回具体的相关信息(如Location,USN等),最后网关向DLNA客户端通知上述网络媒体服务器相关信息,以便DLNA客户端与DLNA服务器进行通信,这样,不需要从DLNA服务器向下的网络设备支持组播报文复制,因此,避免了对DLNA服务器向下的网络设备的组播报文复制的要求;同时,DHCP设备根据获取的位置信息和存储的DLNA服务器负载信息,确定与DLNA客户端进行通信的DLNA服务器,当网络上存在多个DLNA服务器时,DHCP设备可以为DLNA客户端确定位置较近的,且负载较小的DLNA服务器,以便对DLNA服务器进行负载均衡。
本实施例提供另一种基于DHCP的发现网络媒体服务器的方法,该方法是对图1和图2所示的方法的进一步扩展,且该方法的执行主体为DHCP服务器。
为了使更容易理解本实施例,如图5所示,提供本实施例的基于DHCP的发现网络媒体服务器的方法的数据交互图。
如图6所示,还提供本实施例的基于DHCP的发现网络媒体服务器的方法流程图。
如图6所示,可以包括:
601、DHCP服务器接收DHCP中继设备发送的添加了option82的第一地址分配请求。
option82可以包含:网关位置信息。
第一地址分配请求可以但不限于包括:网关的网关位置信息。
网关位置信息可以但不限于包括:DHCP中继设备接收网关发送的第二地址分配请求的第一端口的端口号;或,
网关位置信息可以但不限于包括:DHCP中继设备接收网关发送的第二地址分配请求的第一端口的端口号和第一端口所在的单板的单板号;或,
网关位置信息可以但不限于包括:DHCP中继设备接收网关发送的第二地址分配请求的第一端口的端口号、第一端口所在的单板的单板号和单板所在的框的框号。
其中,第二地址分配请求可以但不限于为网关发送的DHCP发现报文,第一地址分配请求可以但不限于为DHCP中继设备收到网关发送的DHCP发现报文后,根据DHCP获得的、携带有选项Option82的DHCP发现报文;
或者,
其中,第二地址分配请求可以但不限于为网关发送的DHCP请求报文,第一地址分配请求为DHCP中继设备收到网关发送的DHCP请求报文后,根据DHCP获得的、携带有选项Option82的DHCP请求报文。
进一步的,为了使DHCP服务器为网关分配IP地址,网关向DHCP中继设备发送地址分配请求,再由DHCP中继设备将option82添加到该地址分配请求中后发送至DHCP服务器。
602、DHCP服务器根据DHCP服务器获取的网关位置信息和DHCP服务器中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器,并为网关分配用于通信的IP地址。
进一步的,DHCP设备将基于DHCP获取到的网关的地址发送至网关。
DHCP服务器不仅可以为网关分配IP地址,而且还可以代替DLNA客户端根据从option82中获取的网关位置信息和存储的网络媒体服务器负载信息,确定与DLNA客户端进行通信的DLNA服务器。这样,与现有技术中的DLNA客户端确定DLNA服务器相比,规避了DLNA服务器需要通过其向下的网络设备向DLNA客户端广播DLNA服务器可以提供的服务以及其他信息等,而导致对该网络设备的要求较高的问题。同时,当***中存在至少一个DLNA服务器时,DHCP中继设备可以根据DLNA服务器的负载信息,为DLNA客户端确定一个负载较小的DLNA服务器,使得至少一个DLNA服务器的负载较均衡。
本实施例对为网关分配IP地址的方法不作限定,为本领域技术人员熟知的技术,且可以根据实际需要进行设定,在此不再赘述。
603、DHCP服务器向DHCP中继设备发送地址分配响应。
地址分配响应可以但不限于包括:确定的网络媒体服务器的地址和为网关分配的用于通信的IP地址,以便DHCP中继设备向网关发送地址分配响应。
进一步的,网络媒体服务器的地址可以但不限于包括:网络媒体服务器的网际IP地址,或,网络媒体服务器的地址包括网络媒体服务器的网际IP地址和网络媒体服务器上与客户端进行通信的端口的端口号。
604、DHCP中继设备相网关发送地址分配响应。
605、网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向确定的网络媒体服务器发送认证请求。
606、在通过确定的网络媒体服务器认证后,接收确定的网络媒体服务器发送的确定的网络媒体服务器相关信息。
607、网关向DLNA客户端发送确定的网络媒体服务器相关信息,以便DLNA客户端与确定的网络媒体服务器进行通信。
本实施例各步骤的具体实施方式,与图5所示的实施例的实施方式类似,在此不再赘述。
采用上述方案后,DHCP设备确定与DLNA客户端进行通信的网络媒体服务器(即DLNA服务器),并把DLNA服务器的地址和端口信息通知给网关,然后,网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向该DLNA服务器发起认证过程;在认证成功之后,DLNA服务器返回具体的相关信息(如Location,USN等),最后网关向DLNA客户端通知上述网络媒体服务器相关信息,以便DLNA客户端与DLNA服务器进行通信,这样,不需要从DLNA服务器向下的网络设备支持组播报文复制,因此,避免了对DLNA服务器向下的网络设备的组播报文复制的要求;同时,DHCP设备根据获取的位置信息和存储的DLNA服务器负载信息,确定与DLNA客户端进行通信的DLNA服务器,当网络上存在多个DLNA服务器时,DHCP设备可以为DLNA客户端确定位置较近的,且负载较小的DLNA服务器,以便对DLNA服务器进行负载均衡。
下面提供一些装置实施例,且提供的装置实施例与上述方法实施例相对应,且装置以及装置包含的接收器、确定器以及发送器等的实施方法与相应的方法实施例中记载的方法相同。
本实施例提供一种DHCP设备,如图7所示,可以包括:
处理器71,用于根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器;
发送器72,用于向网关发送确定的网络媒体服务器的地址。
采用上述方案后,确定器根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器,发送器向网关发送确定的网络媒体服务器的地址,然后,在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向该网络媒体服务器发起认证过程;在认证成功之后,网络媒体服务器返回具体的相关信息,最后网关向客户端通知上述网络媒体服务器相关信息,以便客户端与网络媒体服务器进行通信,这样,不需要从网络媒体服务器向下的网络设备支持组播报文复制,因此,避免了对网络媒体服务器向下的网络设备的组播报文复制的要求;同时,确定器根据获取的位置信息和存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器,当网络上存在多个网络媒体服务器时,确定器可以为客户端确定位置较近的,且负载较小的网络媒体服务器,以便对网络媒体服务器进行负载均衡。
本实施例提供另一种DHCP设备,该DHCP设备是对图7所示的DHCP设备的进一步扩展,如图8所示,DHCP设备可以包括:
处理器81,用于根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器;
发送器82,用于向网关发送确定的网络媒体服务器的地址。
进一步的,DHCP设备为DHCP中继设备或DHCP服务器,其中,网络媒体服务器的地址包括网络媒体服务器的网际IP地址,或,网络媒体服务器的地址包括网络媒体服务器的网际IP地址和网络媒体服务器上与客户端进行通信的端口的端口号。
进一步的,若DHCP设备为DHCP中继设备,则DHCP设备还包括:
接收器83,用于在DHCP设备根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器之前,接收网关发送的地址分配请求,地址分配请求为DHCP发现报文或DHCP请求报文;
处理器81,还用于根据DHCP中继设备上接收地址分配请求的第一端口的端口号确定网关位置信息,其中,网关位置信息包括第一端口的端口号,或,网关位置信息包括第一端口的端口号和第一端口所在的单板的单板号,或,网关位置信息包括第一端口的端口号、第一端口所在的单板的单板号和单板所在的框的框号。
进一步的,若DHCP设备为DHCP服务器,则接收器83,还用于在DHCP设备根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器之前,接收DHCP中继设备发送的第一地址分配请求,第一地址分配请求携带网关的网关位置信息,网关位置信息包括DHCP中继设备接收网关发送的第二地址分配请求的第一端口的端口号,或,网关位置信息包括DHCP中继设备接收网关发送的第二地址分配请求的第一端口的端口号和第一端口所在的单板的单板号,或,网关位置信息包括DHCP中继设备接收网关发送的第二地址分配请求的第一端口的端口号、第一端口所在的单板的单板号和单板所在的框的框号;
其中,第二地址分配请求为网关发送的DHCP发现报文,第一地址分配请求为DHCP中继设备收到网关发送的DHCP发现报文后,根据DHCP获得的、携带有选项Option82的DHCP发现报文;
或者,
其中,第二地址分配请求为网关发送的DHCP请求报文,第一地址分配请求为DHCP中继设备收到网关发送的DHCP请求报文后,根据DHCP获得的、携带有选项Option82的DHCP请求报文。
进一步的,网络媒体服务器为数字生活网络联盟DLNA服务器或基于超文本传输协议HTTP的服务器;客户端为DLNA客户端;
发送器82,还用于将基于DHCP获取到的网关的地址发送至网关。
采用上述方案后,确定器根据DHCP设备获取的网关位置信息和DHCP设备中存储的网络媒体服务器负载信息,确定与客户端进行通信的网络媒体服务器,发送器向网关发送确定的网络媒体服务器的地址,然后,在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向该DLNA服务器发起认证过程;在认证成功之后,DLNA服务器返回具体的相关信息(如Location,USN等),最后网关向DLNA客户端通知上述网络媒体服务器相关信息,以便DLNA客户端与DLNA服务器进行通信,这样,不需要从DLNA服务器向下的网络设备支持组播报文复制,因此,避免了对DLNA服务器向下的网络设备的组播报文复制的要求;同时,确定器根据获取的位置信息和存储的DLNA服务器负载信息,确定与DLNA客户端进行通信的DLNA服务器,当网络上存在多个DLNA服务器时,确定器可以为DLNA客户端确定位置较近的,且负载较小的DLNA服务器,以便对DLNA服务器进行负载均衡。
本实施例提供一种网关,如图9所示,可以包括:
发送器91,用于向DHCP设备发送地址分配请求;在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向确定的网络媒体服务器发送认证请求;向DLNA客户端发送确定的网络媒体服务器相关信息,确定的网络媒体服务器相关信息用于响应注册请求;
接收器92,用于接收DHCP设备发送的地址分配响应,地址分配响应包括DHCP设备确定的网络媒体服务器的地址;在通过确定的网络媒体服务器认证后,接收确定的网络媒体服务器发送的确定的网络媒体服务器相关信息。
进一步的,发送器91,具体用于向DLNA客户端组播发送确定的网络媒体服务器相关信息;或者,在接收到请求消息后,向发送请求消息的DLNA客户端单播发送确定的网络媒体服务器相关信息。
进一步的,网络媒体服务器的地址包括网络媒体服务器的网际IP地址,或,网络媒体服务器的地址包括网络媒体服务器的网际IP地址和网络媒体服务器上与客户端进行通信的端口的端口号。
进一步的,网络媒体服务器相关信息包括:确定的网络媒体服务器能够提供的业务。
进一步的地址分配响应还包括:DHCP设备基于DHCP获取到的网关的地址。
采用上述方案后,DHCP设备确定与DLNA客户端进行通信的网络媒体服务器(即DLNA服务器),并把DLNA服务器的地址和TCP端口信息通知给网关,然后,网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向该DLNA服务器发起认证过程;在认证成功之后,DLNA服务器返回具体的相关信息(如Location,USN等),最后发送器向DLNA客户端通知上述网络媒体服务器相关信息,以便DLNA客户端与DLNA服务器进行通信,这样,不需要从DLNA服务器向下的网络设备支持组播报文复制,因此,避免了对DLNA服务器向下的网络设备的组播报文复制的要求;同时,DHCP设备根据获取的位置信息和存储的DLNA服务器负载信息,确定与DLNA客户端进行通信的DLNA服务器,当网络上存在多个DLNA服务器时,DHCP设备可以为DLNA客户端确定位置较近的,且负载较小的DLNA服务器,以便对DLNA服务器进行负载均衡。
本实施例提供一种基于DHCP的发现网络媒体服务器的***,如图10所示,可以包括:
装置实施例中提供的DHCP设备101和网关102。
本实施例中提供的DHCP设备101和网关102的实施方式与上述装置实施例中提供的DHCP设备101和网关102的实施方式相同,在此不再赘述。
采用上述方案后,DHCP设备确定与DLNA客户端进行通信的网络媒体服务器(即DLNA服务器),并把DLNA服务器的地址和端口信息通知给网关,然后,网关在没有收到数字生活网络联盟DLNA客户端发送的触发网关进行认证的请求的情况下,向该DLNA服务器发起认证过程;在认证成功之后,DLNA服务器返回具体的相关信息(如Location,USN等),最后网关向DLNA客户端通知上述网络媒体服务器相关信息,以便DLNA客户端与DLNA服务器进行通信,这样,不需要从DLNA服务器向下的网络设备支持组播报文复制,因此,避免了对DLNA服务器向下的网络设备的组播报文复制的要求;同时,DHCP设备根据获取的位置信息和存储的DLNA服务器负载信息,确定与DLNA客户端进行通信的DLNA服务器,当网络上存在多个DLNA服务器时,DHCP设备可以为DLNA客户端确定位置较近的,且负载较小的DLNA服务器,以便对DLNA服务器进行负载均衡。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。