1.本技术涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术:2.当网络内存在各种大量服务端(例如,打印机、摄像头等等)时,由于配置比较繁琐,且管理人员不希望在客户端配置大量服务端的地址等信息,此时,客户端通常会使用ws-discovery协议来自动发现各种服务端。
3.当服务端上线时,服务端主动发送你好(hello)报文。客户端接收到hello报文后,将hello报文内包括的服务类型、网络(web)服务地址、服务端的uuid等信息在本地保存。当客户端需要某种服务时,客户端发送探测(probe)报文或解析(resolve)报文来查找服务端。服务端接收到探测报文或解析报文后,确定自身能够提供服务,则服务端向客户端发送探测匹配(probematch,针对probe报文的回应)报文或解析匹配(resolvematch,针对resolve报文的回应)报文。客户端可通过探针匹配报文或者解析匹配报文包括的web服务地址与服务端建立连接,并使用服务端提供的服务。
4.在客户端发送探测报文、决议报文的过程中,如图1所示,图1为现有客户端通过ws-discovery协议发现服务端的组网示意图。接入客户端发送探测报文、解析报文到达接入交换机(access)后,将出现以下三种情况:
5.1)接入交换机已配置三层组播模式并与核心交换机单线连接:接入交换机与核心交换机各提供一个接口进行连接。接入交换机将上述报文从自身所有的路由口发送出去。核心交换机接收到上述报文后,不会再将上述报文从与接入交换机连接的接口发送至接入交换机。此时,服务端将无法接收到客户端发送的上述报文,服务端也无法响应客户端。
6.2)接入交换机未配置三层组播模式:此时,接入交换机根据上述报文包括的虚拟局域网(英文:virtual local area network,简称:vlan)标识,向与vlan标识匹配的接口发送组播报文,该接口允许包括该vlan标识的报文通过。若客户端(client)1向接入交换机发送上述报文,则仅打印机(print)1响应上述报文;若client2向接入交换机发送上述报文,则仅print2响应该上述报文。但是,在实际网络内,当前存在多台print,但客户端仅可获取处于相同vlan内的服务端消息。
7.3)接入交换机已配置三层组播模式并与核心交换机双线连接:接入交换机与核心交换机各提供两个接口(例如,a口、b口)进行连接。接入交换机将上述报文从a口发出。当核心交换机接收到上述报文后,仍将再次进行组播发送,比如,核心交换机将上述报文从b口发出。但是,接入交换机即使再次接收到上述报文,也仅会根据报文包括的vlan标识,向与vlan标识匹配的接口发送上述报文。报文的发送过程也最终与情况2)相同,客户端仅可获取处于相同vlan内的服务端消息。
8.为了让网络中的资源得到充分的利用,目前亟需一种方式,使得处于不同vlan内的服务端可被全部客户端发现,服务端资源能够被客户端使用;并且,当客户端数量较多时,避免客户端在全网内通过组播方式,查找服务端,增加网络负担。
技术实现要素:9.有鉴于此,本技术提供了一种通信方法及装置,用以实现处于不同vlan内的服务端均可被客户端发现,并且,避免客户端在全网内通过组播方式查找服务端,减少网络负担。
10.第一方面,本技术提供了一种通信方法,所述方法应用于接入交换机,所述方法包括:
11.接收客户端发送的服务请求报文,所述服务请求报文包括服务需求信息;
12.根据所述服务需求信息,在本地服务资源表中,查找是否存在与所述服务需求信息匹配的服务资源表项,所述服务资源表项包括服务端信息;
13.若存在,则向所述客户端发送服务响应报文,所述服务响应报文包括所述服务端信息,以使得所述客户端根据所述服务端信息与服务端建立连接,并使用所述服务端提供的服务;
14.其中,所述服务端信息对应的服务端与所述客户端处于相同vlan或不同vlan。
15.第二方面,本技术提供了一种通信装置,所述装置应用于接入交换机,所述装置包括:
16.接收单元,用于接收客户端发送的服务请求报文,所述服务请求报文包括服务需求信息;
17.查找单元,用于根据所述服务需求信息,在本地服务资源表中,查找是否存在与所述服务需求信息匹配的服务资源表项,所述服务资源表项包括服务端信息;
18.发送单元,用于若存在,则向所述客户端发送服务响应报文,所述服务响应报文包括所述服务端信息,以使得所述客户端根据所述服务端信息与服务端建立连接,并使用所述服务端提供的服务;
19.其中,所述服务端信息对应的服务端与所述客户端处于相同vlan或不同vlan。
20.第三方面,本技术提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本技术第一方面所提供的方法。
21.因此,通过应用本技术提供的通信方法及装置,接入交换机接收客户端发送的服务请求报文,该服务请求报文包括服务需求信息;根据服务需求信息,在本地服务资源表中,接入交换机查找是否存在与服务需求信息匹配的服务资源表项,该服务资源表项包括服务端信息;若存在,则接入交换机向客户端发送服务响应报文,该服务响应报文包括服务端信息,以使得客户端根据服务端信息与服务端建立连接,并使用服务端提供的服务;其中,服务端信息对应的服务端与客户端处于相同vlan或不同vlan。
22.如此,接入交换机将提供服务的各类服务端的资源存储在本地服务资源表中,客户端查找服务端时无需在全网内通过组播方式查找服务端,接入交换机可向客户端提供匹配的服务端信息,减少网络负担;同时,服务端信息对应的服务端可与客户端处于相同或不同vlan,实现处于不同vlan内的服务端均可被客户端发现。
附图说明
23.图1为现有客户端通过ws-discovery协议发现服务端的组网示意图;
24.图2为本技术实施例提供的通信方法的流程图;
25.图3为本技术实施例提供的通信装置结构图;
26.图4为本技术实施例提供的网络设备硬件结构体。
具体实施方式
27.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本技术相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
28.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
29.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
30.下面对本技术实施例提供的通信方法进行详细地说明。参见图2,图2为本技术实施例提供的通信方法的流程图。该方法应用于接入交换机。本技术实施例提供的通信方法可包括如下所示步骤。
31.步骤210、接收客户端发送的服务请求报文,所述服务请求报文包括服务需求信息。
32.具体地,当客户端需要某种服务时,客户端发送服务请求报文,该服务请求报文包括服务需求信息。
33.客户端向接入交换机发送服务请求报文。接入交换机接收到服务请求报文后,从中获取服务需求信息。
34.在本技术实施例中,根据现有ws-discovery协议的定义,客户端发送的服务请求报文包括探测报文或者解析报文。服务需求信息包括服务类型、客户端的所属vlan、服务端的通用唯一识别码(英文:universally unique identifier,简称:uuid)。
35.当服务请求报文为探测报文时,该探测报文包括服务类型以及客户端的所属vlan;当服务请求报文为解析报文时,该解析报文包括服务端的uuid。
36.上述服务类型具体指客户端所需的服务类型,比如,客户端需要打印服务,则服务类型为打印机类型;客户端需要摄像服务,则服务类型为摄像头类型。
37.步骤220、根据所述服务需求信息,在本地服务资源表中,查找是否存在与所述服务需求信息匹配的服务资源表项,所述服务资源表项包括服务端信息。
38.具体地,根据步骤210的描述,接入交换机获取到服务需求信息后,在本地服务资源表中,查找是否存在与服务需求信息匹配的服务资源表项。该服务资源表项包括服务端信息。
39.在一种实现方式中,若服务需求信息为服务类型以及客户端的所属vlan,上述在本地服务资源表中,查找是否存在与服务需求信息匹配的服务资源表项,具体过程为:
40.根据客户端的所属vlan,接入交换机在vlan配置策略中,确定客户端的所属vlan是否存在于配置的用户vlan列表中;若存在,则接入交换机从vlan配置策略中,获取与用户vlan列表匹配的服务端vlan列表,其中,服务端vlan列表与用户vlan列表相同或不同;根据服务端vlan列表,在本地服务资源表中,接入交换机获取处于服务端vlan列表内的服务端对应的服务资源表项;根据服务类型,在已获取的服务资源表项中,接入交换机确定是否存在与服务类型匹配的服务资源表项;若存在,则接入交换机从与服务类型匹配的服务资源表项中,获取服务端的web服务地址。
41.例如,客户端的所属vlan为vlan 1,服务类型为打印机类型。接入交换机已支持多条vlan配置策略。valn配置策略包括用户vlan列表以及与该用户vlan列表对应的服务端vlan列表。比如,用户vlan列表为1-2;与其对应的服务端vlan列表为2-3。
42.接入交换机内已生成一本地服务资源表,该本地服务资源表内包括多条服务资源表项,每条服务资源表项包括服务端信息。该服务端信息包括服务端的服务类型和范围、web服务地址、uuid以及所属vlan。在后续实施例中,将详细说明接入交换机生成本地服务资源表的过程,在本实施例中不再描述。
43.在本示例中,客户端的所属vlan为vlan 1,则接入交换机确定vlan 1已存在与用户vlan列表中。接入交换机获取与vlan 1匹配的服务端vlan 2-3。根据服务端vlan 2-3,接入交换机在本地服务资源表中,获取与服务端vlan 2-3对应的服务资源表项。其中,获取的服务资源表项的数量可为多条。比如,接入交换机获取10条服务资源表项,10条服务资源表项中,5个服务端归属vlan 2,5个服务端归属vlan 3。
44.根据打印机类型,在获取的10条服务资源表项中,接入交换机确定存在与打印机类型匹配的服务资源表项为6条,其中,6条服务资源表项中,2个服务端归属vlan 2,4个服务端归属vlan 3。接入交换机从6条服务资源表项中,分别获取6个服务端的web服务地址。
45.在另一种实现方式中,若服务需求信息为服务端的uuid,上述在本地服务资源表中,查找是否存在与服务需求信息匹配的服务资源表项,具体过程为:
46.根据服务端的uuid,接入交换机在本地服务资源表中,确定是否存在与服务端的uuid对应的服务资源表项;若存在,则接入交换机从服务资源表项中,获取服务端的web服务地址。
47.例如,服务端的uuid为70edallc-200a-4a5e-b60e-ed793e77ace3,则接入交换机在本地服务资源表中,确定存在与70edallc-200a-4a5e-b60e-ed793e77ace3对应的1条服务资源表项,并从该服务资源表项中,获取1个服务端的web服务地址。
48.可以理解的是,该服务端所属vlan与客户端的所属vlan相同或不同。比如,该服务端所属vlan 2、或者vlan 3。
49.步骤230、若存在,则向所述客户端发送服务响应报文,所述服务响应报文包括所述服务端信息,以使得所述客户端根据所述服务端信息与服务端建立连接,并使用所述服务端提供的服务。
50.具体地,根据步骤220的描述,本地服务资源表中存在与服务需求信息匹配的服务资源表项。接入交换机从匹配的服务资源表项中获取服务端信息。
51.接入交换机获取到服务端信息后,生成服务响应报文,该服务响应报文包括服务端信息。
52.接入交换机向客户端发送服务响应报文。客户端接收到服务响应报文后,从中获取服务端信息。根据服务端信息,客户端与服务端建立通信连接,并使用服务端提供的服务。
53.其中,服务端信息具体为服务端的web服务地址。
54.在本技术实施例中,根据现有ws-discovery协议的定义,接入交换机根据客户端发送的服务请求报文对应生成并发送服务响应报文。
55.例如,当服务请求报文为探测报文时,服务响应报文为探测匹配报文,该探测匹配报文包括服务端的web服务地址;当服务请求报文为解析报文时,服务响应报文为解析匹配报文,该解析匹配报文包括服务端的web服务地址。
56.因此,通过应用本技术提供的通信方法,接入交换机接收客户端发送的服务请求报文,该服务请求报文包括服务需求信息;根据服务需求信息,在本地服务资源表中,接入交换机查找是否存在与服务需求信息匹配的服务资源表项,该服务资源表项包括服务端信息;若存在,则接入交换机向客户端发送服务响应报文,该服务响应报文包括服务端信息,以使得客户端根据服务端信息与服务端建立连接,并使用服务端提供的服务;其中,服务端信息对应的服务端与客户端处于相同vlan或不同vlan。
57.如此,接入交换机将提供服务的各类服务端的资源存储在本地服务资源表中,客户端查找服务端时无需在全网内通过组播方式查找服务端,接入交换机可向客户端提供匹配的服务端信息,减少网络负担;同时,服务端信息对应的服务端可与客户端处于相同或不同vlan,实现处于不同vlan内的服务端均可被客户端发现。
58.可选地,在本技术实施例中,还包括接入交换机生成本地服务资源表的过程。
59.具体地,在一种实现方式中,当服务端上线时,服务端主动发送第一hello报文,该第一hello报文包括服务端的服务类型和范围、web服务地址、uuid以及所属vlan。接入交换机接收第一hello报文,并从中获取服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
60.接入交换机生成服务端的服务资源表项,服务资源表项包括服务端信息,该服务端信息包括服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
61.根据支持的vlan配置策略,接入交换机以服务端的身份在配置的用户vlan列表包括的vlan内发送第二hello报文,也即是第二hello报文包括的uuid为服务端的uuid。处于用户vlan列表包括的vlan内的客户端均接收到第二hello报文;其中,配置的用户vlan列表包括的vlan与服务端所属vlan相同或不同。
62.其中,支持的vlan配置策略中,可配置指定用户vlan列表或者组网内全部vlan列表。在本技术实施例中,以配置指定用户vlan列表为例进行说明。在实际应用中,接入交换机也可根据支持的vlan配置策略在组网内全部vlan内发送第二hello报文。
63.例如,处于vlan 3内的服务端主动发送第一hello报文。接入交换机接收到第一hello报文后,从中获取服务端的服务类型和范围、web服务地址、uuid以及所属vlan。接入交换机内已配置用户vlan列表为1-2,接入交换机以服务端的身份在vlan 1-2内发送第二hello报文。vlan 1-2内的客户端均接收到第二hello报文,如此,使得处于vlan 3内的服务
端的服务端信息也可被vlan 1-2内的客户端获取,实现跨vlan发现服务。
64.在另一种实现方式中,当服务端上线时,服务端主动发送第一hello报文,该第一hello报文包括服务端的uuid以及所属vlan。接入交换机接收第一hello报文,并从中获取服务端的uuid以及所属vlan。
65.由于接入交换机未从第一hello报文中获取服务端的web服务地址,则在服务端的所属vlan内,接入交换机发送解析报文,该解析报文包括服务端的uuid。服务端所属vlan内的全部服务端接收到解析报文后,与上述uuid相同的服务端生成并向接入交换机发送解析匹配报文,该解析匹配报文包括服务端的服务类型和范围、web服务地址。
66.接入交换机接收服务端发送的解析匹配报文,并从中获取服务端的服务类型和范围、web服务地址。接入交换机生成服务端的服务资源表项,服务资源表项包括服务端信息,该服务端信息包括服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
67.根据支持的vlan配置策略,接入交换机以服务端的身份在配置的用户vlan列表包括的vlan内发送第二hello报文,第二hello报文包括所述服务端的服务类型和范围、web服务地址、uuid以及所属vlan,也即是第二hello报文包括的uuid为服务端的uuid。用户vlan列表包括的vlan内的客户端均接收到第二hello报文;其中,配置的用户vlan列表包括的vlan与服务端所属vlan相同或不同。
68.其中,支持的vlan配置策略中,可配置指定用户vlan列表或者组网内全部vlan列表。在本技术实施例中,以配置指定用户vlan类别为例进行说明。在实际应用中,接入交换机也可根据支持的vlan配置策略在组网内全部vlan内发送第二hello报文。
69.例如,处于vlan 3内的服务端主动发送第一hello报文。接入交换机接收到第一hello报文后,从中获取服务端的uuid以及所属vlan。接入交换机在vlan 3内发送解析报文,vlan 3内的全部服务端接收到解析报文后,与上述uuid相同的服务端向接入交换机发送解析匹配报文。
70.接入交换机内已配置用户vlan列表为1-2,接入交换机以服务端的身份在vlan 1-2内发送第二hello报文。vlan 1-2内的客户端均接收到第二hello报文,如此,使得处于vlan 3内的服务端的服务端信息也可被vlan 1-2内的客户端获取,实现跨vlan发现服务。
71.可选地,在本技术实施例中,还包括接入交换机接收服务端发送的bye报文的过程。
72.具体地,当服务端离开组网时,服务端向接入交换机发送第一bye报文,第一bye报文包括服务端的uuid。接入交换机接收第一bye报文,并从中获取服务端的uuid。根据服务端的uuid,接入交换机在本地服务资源表中,删除与服务端的uuid匹配的服务资源表项。
73.若未支持vlan配置策略功能,在组网内全部的vlan内,接入交换机以服务端的身份发送第二bye报文,也即是第二bye报文包括的uuid为服务端的uuid。
74.若已支持vlan策略功能,在配置的用户vlan列表包括的vlan内,接入交换机发送第二bye报文,也即是第二bye报文包括的uuid为服务端的uuid。
75.如此,使得组网内全部客户端均接收到bye,并根据bye报文确定服务端离开组网,删除本地已存储的服务端的服务端信息。
76.可选地,在本技术实施例中,还包括接入交换机在组网内定期探测服务端的过程。
77.具体地,管理人员可对接入交换机配置定期探测服务端的功能,以便及时、快速的
发现组网内当前可提供服务的服务端。
78.在探测服务端的过程中,接入交换机可对管理人员指定的服务进行服务端探测。例如,管理人员指定接入交换机探测打印服务,探测周期为60s-38400s。
79.根据预设的探测周期(例如,60s),在配置的服务端vlan列表包括的vlan内,接入交换机生成并发送探测报文,该探测报文用于获取服务端vlan列表包括的vlan内当前可提供服务的服务端的服务端信息。服务端信息包括服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
80.可以理解的是,上述探测报文与前文描述的探测报文不同,本实施例中,探测报文包括服务类型以及服务端vlan列表包括的vlan。服务端接收到探测报文后,从中获取服务类型。若自身可提供与服务类型匹配的服务,则服务端生成探测匹配报文,并将自身的服务端信息携带在探测匹配报文内。接入交换机通过服务端发送的探测匹配报文,获取服务端vlan列表包括的vlan内当前可提供对应服务的服务端,并确定每个服务端提供的具体服务、web服务地址等。
81.可选地,在本技术实施例中,还包括在本地服务资源表中未查找到与服务需求信息匹配的服务资源表项后,接入交换机需代替客户端再次探测服务的过程。
82.具体地,根据步骤220的描述,若未存在,则接入交换机在服务端vlan列表包括的每个vlan内,发送探测报文,一个探测报文包括服务类型以及服务端vlan列表包括的一个vlan。当接收到可提供服务的第一服务端发送的探测匹配报文时,接入交换机获取探测匹配报文包括的第一服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
83.接入交换机生成第一服务端的第一服务资源表项,该第一服务资源表项包括第一服务端信息,该第一服务端信息包括第一服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
84.接入交换机向客户端发送服务响应报文,该服务响应报文包括第一服务端的web服务地址,以使得客户端根据第一服务端的web服务地址与第一服务端建立连接,并使用第一服务端提供的服务;其中,第一服务端与客户端处于相同vlan或不同vlan。
85.在一种实现方式中,客户端的所属vlan为vlan 1,服务类型为打印机类型。接入交换机已支持的vlan配置策略中用户vlan列表为1-2;与其对应的服务端vlan列表为2-3。
86.根据vlan 1,接入交换机确定vlan 1已存在与用户vlan列表中。接入交换机获取与vlan 1匹配的服务端vlan 2-3。根据服务端vlan 2-3,接入交换机在本地服务资源表中,获取与服务端vlan 2-3对应的服务资源表项。其中,获取的服务资源表项的数量可为多条。比如,接入交换机获取10条服务资源表项,10条服务资源表项中,5个服务端归属vlan 2,5个服务端归属vlan 3。
87.根据打印机类型,在获取的10条服务资源表项中,接入交换机确定未存在与打印机类型匹配的服务资源表项。接入交换机在vlan 2-3内,生成并发送探测报文,一个探测报文包括vlan 2以及打印机类型;另一个探测报文包括vlan 3以及打印机类型。也即是,接入交换机代替客户端再次在vlan 2-3内探测打印类型的服务。
88.若在vlan 2-3内新加入第一服务端,该第一服务端可提供打印类型的服务,则该第一服务端接收到探测报文后,生成并发送探测匹配报文,该探测匹配报文包括第一服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
89.接入交换机接收到探测匹配报文后,生成第一服务端的第一服务资源表项,该第一服务资源表项包括第一服务端信息,该第一服务端信息包括第一服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
90.接入交换机向客户端发送服务响应报文,该服务响应报文包括第一服务端的web服务地址,以使得客户端根据第一服务端的web服务地址与第一服务端建立连接,并使用第一服务端提供的服务。
91.需要说明的是,若接入交换机内仅配置了用户vlan列表而未配置服务端vlan列表,则在查找过程中,接入交换机确定本地未配置服务端vlan,则停止查找。此时,接入交换机确定未存在匹配的服务资源表项。
92.同时,上述服务响应报文与前述实施例相同,根据客户端发送的不同服务请求报文,本实施例中的服务响应报文与服务请求报文一一对应。
93.在另一种实现方式中,服务端的uuid为70edallc-200a-4a5e-b60e-ed793e77ace3,则接入交换机在本地服务资源表中,确定未存在与70edallc-200a-4a5e-b60e-ed793e77ace3对应的服务资源表项。接入交换机在已配置的服务端vlan列表包括的vlan内(例如,vlan 2-3),生成并发送探测报文,一个探测报文包括vlan2以及打印机类型;另一个探测报文包括vlan3以及打印机类型。
94.也即是,接入交换机代替客户端再次在vlan 2-3内探测打印类型的服务。
95.若在vlan 2-3内新加入第一服务端,该第一服务端可提供打印类型的服务,则该第一服务端接收到探测报文后,生成并发送探测匹配报文,该探测匹配报文包括第一服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
96.接入交换机接收到探测匹配报文后,生成第一服务端的第一服务资源表项,该第一服务资源表项包括第一服务端信息,该第一服务端信息包括第一服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
97.接入交换机向客户端发送服务响应报文,该服务响应报文包括第一服务端的web服务地址,以使得客户端根据第一服务端的web服务地址与第一服务端建立连接,并使用第一服务端提供的服务。
98.需要说明的是,上述服务响应报文与前述实施例相同,根据客户端发送的不同服务请求报文,本实施例中的服务响应报文与服务请求报文一一对应。
99.可选地,在本技术实施例中,还包括服务端在vlan内迁移后,接入交换机根据服务端的uuid判断所属vlan是否变更,并根据变更结果更新服务资源表项、在迁移前后的vlan内分别发送bye报文或者hello报文的过程。
100.具体地,若接入交换机确定服务端已从第一vlan内迁移至第二vlan内,则接入交换机从本地服务资源表中,获取服务端处于第一vlan内对应的第一服务资源表项,该服务资源表项包括服务端的所属vlan,所属vlan为第一vlan的标识。
101.接入交换机判断服务端的uuid是否已变更;若未变更,则接入交换机更新第一服务资源表项包括的服务端的所属vlan,得到服务端处于第二vlan内对应的第二服务资源表项,所属vlan为第二vlan的标识。
102.根据支持的vlan配置策略,接入交换机判断第一vlan所在的第一用户vlan列表是否与第二vlan所在的第二用户vlan列表相同;若不同,则接入交换机在第一用户vlan列表
包括的vlan内发送bye报文,该bye报文包括服务端的uuid,并在第二用户vlan列表包括的vlan内发送hello报文,该hello报文包括服务端的服务类型和范围、web服务地址、uuid以及所属vlan。
103.需要说明的是,接入交换机可通过主动探测的方式或者接收服务端发送的hello报文的方式,确定服务端是否已进行vlan迁移的过程。接入交换机可通过比较第一服务资源表项中服务端的uuid与通过主动探测的方式或者接收服务端发送的hello报文的方式获取的服务端的uuid,确定服务端的uuid是否已变更。
104.可选地,在本技术实施例中,还包括接入交换机对服务资源表项进行老化的过程。
105.具体地,接入交换机定期对服务资源表项进行老化,以将长时间未更新的服务资源表项删除,节省服务资源表所占资源。接入交换机为服务资源表项设置老化时间,接入交换机获取服务资源表项的老化时间(例如,120s);当老化时间已到达预设的时间区间(例如,预设的时间区间为老化时间的80%-82%)时,接入交换机向服务资源表项对应的服务端发送解析报文。
106.若未接收到服务端发送的解析匹配报文时,则接入交换机重复执行当老化时间已到达预设的时间区间时,向服务资源表项对应的服务端发送解析报文的过程,直至老化时间已到达第一时间区间(例如,第一时间区间为老化时间的95%-97%)且再次发送解析报文后停止。
107.在一个示例中,当老化时间已到达80%-82%时,接入交换机向服务资源表项对应的服务端发送解析报文。若未接收到服务端发送的解析匹配报文时,则当老化时间已到达85%-87%时,接入交换机再次向服务端发送解析报文。若未接收到服务端发送的解析匹配报文时,则当老化时间已到达90%-92%时,接入交换机再次向服务端发送解析报文。若未接收到服务端发送的解析匹配报文时,则当老化时间已到达95%-97%时,接入交换机再次向服务端发送解析报文。若未接收到服务端发送的解析匹配报文,则接入交换机不再继续向服务端发送解析报文。
108.若老化时间超时且未接收到服务端发送的解析匹配报文,则接入交换机从本地服务资源表中,删除服务端的服务资源表项。
109.根据支持的vlan配置策略,在配置的用户vlan列表包括的vlan内发送bye报文,该bye报文包括服务端的uuid,以使得用户vlan列表包括的vlan内的客户端删除本地已存储的服务端的服务端信息;
110.用户vlan列表与服务端vlan列表匹配,服务端vlan列表内包括服务端所属服务端vlan。
111.需要说明的是,本技术实施例中的解析报文与前文描述的解析报文相同,其包括服务端的uuid。
112.可以理解的是,在本技术实施例中,接入交换机使能网关功能时,执行步骤210-步骤230以及上述可选步骤;接入交换机去使能网关功能时,则不再执行步骤210-步骤230以及上述可选步骤,并将服务资源表进行释放。
113.基于同一发明构思,本技术实施例还提供了与通信方法对应的通信装置。参见图3,图3为本技术实施例提供的通信装置,所述装置应用于接入交换机,所述装置包括:
114.接收单元310,用于接收客户端发送的服务请求报文,所述服务请求报文包括服务
需求信息;
115.查找单元320,用于根据所述服务需求信息,在本地服务资源表中,查找是否存在与所述服务需求信息匹配的服务资源表项,所述服务资源表项包括服务端信息;
116.发送单元330,用于若存在,则向所述客户端发送服务响应报文,所述服务响应报文包括所述服务端信息,以使得所述客户端根据所述服务端信息与服务端建立连接,并使用所述服务端提供的服务;
117.其中,所述服务端信息对应的服务端与所述客户端处于相同vlan或不同vlan。
118.可选地,所述接收单元310还用于,接收服务端发送的第一hello报文,所述第一hello报文包括所述服务端的服务类型和范围、web服务地址、uuid以及所属vlan;
119.所述装置还包括:第一生成单元(图中未示出),用于生成所述服务端的服务资源表项,所述服务资源表项包括所述服务端信息,所述服务端信息包括所述服务端的服务类型和范围、web服务地址、uuid以及所属vlan;
120.所述发送单元330还用于,根据支持的vlan配置策略,在配置的用户vlan列表包括的vlan内发送第二hello报文,以使得所述用户vlan列表包括的vlan内的客户端接收到所述第二hello报文,所述第二hello报文包括所述服务端的服务类型和范围、web服务地址、uuid以及所属vlan;
121.其中,所述配置的用户vlan列表包括的vlan与服务端所属vlan相同或不同。
122.可选地,所述接收单元310还用于,接收服务端发送的第一hello报文,所述第一hello报文所述服务端的uuid以及所属vlan;
123.所述发送单元330还用于,在所属vlan内,发送解析报文,所述解析报文包括所述服务端的uuid;
124.所述接收单元310还用于,接收所述服务端发送的解析匹配报文,所述解析匹配报文包括所述服务端的服务类型和范围、web服务地址;
125.所述装置还包括:第二生成单元(图中未示出),用于生成所述服务端的服务资源表项,所述服务资源表项包括所述服务端信息,所述服务端信息包括所述服务端的服务类型和范围、web服务地址、uuid以及所属vlan;
126.所述发送单元330还用于,根据支持的vlan配置策略,在配置的用户vlan列表包括的vlan内发送第二hello报文,所述第二hello报文包括所述服务端的服务类型和范围、web服务地址、uuid以及所属vlan,以使的所述用户vlan列表包括的vlan内的客户端接收到所述第二hello报文;
127.其中,所述配置的用户vlan列表包括的vlan与服务端所属vlan相同或不同。
128.可选地,所述服务请求报文包括探测报文或者解析报文,所述服务需求信息包括服务类型、客户端的所属vlan、服务端的uuid;
129.当所述服务请求报文为所述探测报文时,所述探测报文包括所述服务类型以及所述客户端的所属vlan;
130.当所述服务请求报文为所述解析报文时,所述解析报文包括所述服务端的uuid;
131.所述服务响应报文包括探测匹配报文或者解析匹配报文,所述服务端信息包括所述服务端的web服务地址;
132.当所述服务请求报文为所述探测报文时,所述服务响应报文为所述探测匹配报
文,所述探测匹配报文包括所述服务端的web服务地址;
133.当所述服务请求报文为所述解析报文时,所述服务响应报文为所述解析匹配报文,所述解析匹配报文包括所述服务端的web服务地址。
134.可选地,所述查找单元320具体用于,根据所述客户端的所属vlan,在支持的vlan配置策略中,确定所述客户端的所属vlan是否存在于配置的用户vlan列表中;
135.若存在,则从所述vlan配置策略中,获取与用户vlan列表匹配的服务端vlan列表,所述服务端vlan列表与所述用户vlan列表相同或不同;
136.根据所述服务端vlan列表,在本地服务资源表中,获取处于所述服务端vlan列表内的服务端对应的服务资源表项;
137.根据所述服务类型,在已获取的服务资源表项中,确定是否存在与所述服务类型匹配的服务资源表项;
138.若存在,则从与所述服务类型匹配的服务资源表项中,获取所述服务端的web服务地址。
139.可选地,所述查找单元320具体用于,根据所述服务端的uuid,在本地服务资源表中,确定是否存在与所述服务端的uuid对应的服务资源表项;
140.若存在,则从所述服务资源表项中,获取所述服务端的web服务地址。
141.可选地,所述接收单元310还用于,接收所述服务端发送的第一bye报文,所述第一bye报文包括所述服务端的uuid;
142.所述装置还包括:第一删除单元(图中未示出),用于根据所述服务端的uuid,在本地服务资源表中,删除与所述服务端的uuid匹配的服务资源表项;
143.所述发送单元330还用于,若未支持vlan策略功能,在组网内全部的vlan内,发送第二bye报文,所述第二bye报文包括所述服务端的uuid;
144.若已支持vlan配置策略功能,则在配置的用户vlan列表包括的vlan内,发送第二bye报文,所述第二bye报文包括所述服务端的uuid。
145.可选地,所述发送单元330还用于,根据预设的探测周期,在配置的服务端vlan列表包括的vlan内,发送探测报文,所述探测报文用于获取所述服务端vlan列表包括的vlan内当前可提供服务的服务端的服务端信息。
146.可选地,所述发送单元330还用于,若未存在,则在所述服务端vlan列表包括的vlan内,发送探测报文,所述探测报文包括所述服务类型以及所述服务端vlan列表包括的vlan;
147.所述装置还包括:第一获取单元(图中未示出),用于当接收单元310接收到可提供服务的第一服务端发送的探测匹配报文时,获取所述探测匹配报文包括的所述第一服务端的服务类型和范围、web服务地址、uuid以及所属vlan;
148.第三生成单元(图中未示出),用于生成所述第一服务端的第一服务资源表项,所述第一服务资源表项包括第一服务端信息,所述第一服务端信息包括所述第一服务端的服务类型和范围、web服务地址、uuid以及所属vlan;
149.所述发送单元330还用于,向所述客户端发送所述探测匹配报文,所述探测匹配报文包括所述第一服务端的web服务地址,以使得所述客户端根据所述第一服务端的web服务地址与所述第一服务端建立连接,并使用所述第一服务端提供的服务;
150.其中,所述第一服务端与所述客户端处于相同vlan或不同vlan。
151.可选地,所述装置还包括:第二获取单元(图中未示出),用于若确定所述服务端已从第一vlan内迁移至第二vlan内,则从本地服务资源表中,获取所述服务端处于所述第一vlan内对应的第一服务资源表项,所述服务资源表项包括所述服务端的所属vlan,所属vlan为所述第一vlan的标识;
152.第一判断单元(图中未示出),用于判断所述服务端的uuid是否已变更;
153.更新单元(图中未示出),用于若未变更,则更新所述第一服务资源表项包括的所述服务端的所属vlan,得到所述服务端处于所述第二vlan内对应的第二服务资源表项,所属vlan为所述第二vlan的标识;
154.第二判断单元(图中未示出),用于根据支持的vlan配置策略,判断所述第一vlan所在的第一用户vlan列表是否与所述第二vlan所在的第二用户vlan列表相同;
155.所述发送单元330还用于,若不同,则在所述第一用户vlan列表包括的vlan内发送bye报文,并在所述第二用户vlan列表包括的vlan内发送hello报文。
156.可选地,所述装置还包括:第三获取单元(图中未示出),用于获取所述服务资源表项的老化时间;
157.所述发送单元330还用于,当所述老化时间已到达预设的时间区间时,向所述服务资源表项对应的所述服务端发送解析报文;
158.执行单元(图中未示出),用于若接收单元310未接收到所述服务端发送的解析匹配报文时,则重复执行当所述老化时间已到达预设的时间区间时,向所述服务资源表项对应的所述服务端发送解析报文的过程,直至所述老化时间到达第二时间区间且再次发送解析报文后停止;
159.第二删除单元(图中未示出),用于若所述老化时间超时且未接收到所述服务端发送的解析匹配报文,则从本地服务资源表中,删除所述服务资源表项;
160.所述发送单元330还用于,根据支持的vlan配置策略,在配置的用户vlan列表包括的vlan内发送bye报文,所述bye报文包括所述服务端的uuid;
161.所述用户vlan列表与服务端vlan列表匹配,所述服务端vlan列表内包括所述服务端所属服务端vlan。
162.因此,通过应用本技术提供的通信装置,接入交换机接收客户端发送的服务请求报文,该服务请求报文包括服务需求信息;根据服务需求信息,在本地服务资源表中,接入交换机查找是否存在与服务需求信息匹配的服务资源表项,该服务资源表项包括服务端信息;若存在,则接入交换机向客户端发送服务响应报文,该服务响应报文包括服务端信息,以使得客户端根据服务端信息与服务端建立连接,并使用服务端提供的服务;其中,服务端信息对应的服务端与客户端处于相同vlan或不同vlan。
163.如此,接入交换机将提供服务的各类服务端的资源存储在本地服务资源表中,客户端查找服务端时无需在全网内通过组播方式查找服务端,接入交换机可向客户端提供匹配的服务端信息,减少网络负担;同时,服务端信息对应的服务端可与客户端处于相同或不同vlan,实现处于不同vlan内的服务端均可被客户端发现。
164.基于同一发明构思,本技术实施例还提供了一种网络设备,如图4所示,包括处理器410、收发器420和机器可读存储介质430,机器可读存储介质430存储有能够被处理器410
执行的机器可执行指令,处理器410被机器可执行指令促使执行本技术实施例所提供的通信方法。前述图3所示的通信装置,可采用如图4所示的网络设备硬件结构实现。
165.上述计算机可读存储介质430可以包括随机存取存储器(英文:random access memory,简称:ram),也可以包括非易失性存储器(英文:non-volatile memory,简称:nvm),例如至少一个磁盘存储器。可选的,计算机可读存储介质430还可以是至少一个位于远离前述处理器410的存储装置。
166.上述处理器410可以是通用处理器,包括中央处理器(英文:central processing unit,简称:cpu)、网络处理器(英文:network processor,简称:np)等;还可以是数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
167.本技术实施例中,处理器410通过读取机器可读存储介质430中存储的机器可执行指令,被机器可执行指令促使能够实现处理器410自身以及调用收发器420执行前述本技术实施例描述的通信方法。
168.另外,本技术实施例提供了一种机器可读存储介质430,机器可读存储介质430存储有机器可执行指令,在被处理器410调用和执行时,机器可执行指令促使处理器410自身以及调用收发器420执行前述本技术实施例描述的通信方法。
169.上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
170.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
171.对于通信装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
172.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。