CN109151086A - 一种报文转发方法和网络设备 - Google Patents
一种报文转发方法和网络设备 Download PDFInfo
- Publication number
- CN109151086A CN109151086A CN201710466194.8A CN201710466194A CN109151086A CN 109151086 A CN109151086 A CN 109151086A CN 201710466194 A CN201710466194 A CN 201710466194A CN 109151086 A CN109151086 A CN 109151086A
- Authority
- CN
- China
- Prior art keywords
- network equipment
- response message
- mdns response
- service
- forwarding
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Abstract
本申请提供一种报文转发方法和网络设备,用于对网络中报文的转发进行控制,降低终端设备的负担。该方法包括:网络设备接收终端设备发送的组播域名系统(mDNS)应答报文,并获取所述mDNS应答报文中的转发控制参数,其中,所述转发控制参数与所述终端设备的位置相关;若所述终端设备处于与所述网络设备的位置相关的转发区域外,所述网络设备放弃转发所述mDNS应答报文。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发方法和网络设备。
背景技术
零配置网络(英文:zero-configuration networking,Zeroconf)技术是一种被广泛应用小型网络(如局域网)中的技术。处于零配置网络中的网络设备可以实现自动地址配置、域名解析和服务发现,而无需管理员进行手动配置动态主机配置协议(英文:dynamichost configuration protocol,DHCP)服务器或域名系统(英文:domain name system,DNS)服务器来生成网际协议(英文:Internet Protocol,IP)地址。
例如,Bonjour技术是零配置网络技术的一种。Bonjour技术基于组播域名系统(英文:multicast domain name system,mDNS)以及DNS服务发现(英文:DNS servicediscovery,DNS-SD)来实现。单播DNS的DNS服务器存放了域名和IP地址的映射,具有域名解析的功能。mDNS无需DNS服务器。终端设备通过组播的方式交换mDNS报文以获取其他终端设备的地址。
由于终端设备组播的报文会在整个网络中扩散,且终端设备也将接收来自网络中其他所有终端设备组播的报文,网络传输的报文数量大,传输负担重。并且,终端设备要对处理大量报文,导致终端设备的负担大。
发明内容
本申请提供一种处理报文方法和网络设备,用于对网络中报文的转发进行控制,降低终端设备的负担。
第一方面,本申请提供一种报文转发方法。该方法应用在网络设备中。该方法包括:网络设备接收终端设备发送的mDNS应答报文,并获取mDNS应答报文中与终端设备的位置相关的转发控制参数,然后,若网络设备确定终端设备处于与网络设备的位置相关的转发区域外,则网络设备放弃转发该mDNS应答报文。通过这种方法,网络设备在接收终端设备发送的mDNS应答报文后,可以在根据mDNS应答报文中的转发控制参数确定终端设备处于与网络设备所处的位置相关的转发区域外时,放弃转发该mDNS应答报文,从而实现对mDNS应答报文的转发进行控制。网络设备仅对处于转发区域内的终端设备所发送的mDNS应答报进行转发,有效终端设备接收到的mDNS应答报文,从而降低终端设备的工作负担。
在一个可能的设计中,转发控制参数包括设备标识,设备标识为与终端设备连接的网络设备的标识,则网络设备在确定邻居列表中缺少设备标识时,确定终端设备处于网络设备的位置相关的转发区域外,放弃转发mDNS应答报文,该邻居列表包括与网络设备相近且与任意终端设备连接的网络设备的标识。通过该方法,网络设备只需要通过在邻居列表中查找mDNS应答报文中的设备标识,即可确定发送mDNS应答报文的终端设备连接的网络设备是否为邻居设备,从而可以确定终端设备是否处于网络设备的位置相关的转发区域中,以确定是否放弃转发mDNS应答报文,实现方式较为快捷、可靠。
在一个可能的设计中,转发控制参数包括距离,网络设备确定终端设备处于网络设备的位置相关的转发区域外,放弃转发mDNS应答报文的过程可以是网络设备确定mDNS应答报文中的距离大于距离阈值,则放弃转发mDNS应答报文。同时,若网络设备确定mDNS应答报文中的距离小于等于距离阈值且网络设备包括接收mDNS应答报文的端口之外的网络侧端口,则网络设备增加mDNS应答报文中的距离,并向接收mDNS应答报文的端口之外的网络侧端口转发mDNS应答报文。通过该方法,网络设备通过将mDNS应答报文中的距离与阈值距离的比较,可放弃对距离大于距离阈值的mDNS应答报文的转发,例如放弃向终端侧端口的转发,降低终端设备的处理报文的负担。同时,在距离小于距离阈值时,通过增加mDNS应答报文中的距离,实现对mDNS应答报文在网络中传输的距离的记录。
在一个可能的设计中,转发控制参数包括设备标识,mDNS应答报文还包括服务类型,设备标识为与终端设备连接的网络设备的标识,服务类型指示了终端设备所提供的服务,则网络设备将在多个转发列表中选择对应于服务类型的转发列表,该转发列表包括至少一个网络设备的标识,且至少一个网络设备与提供服务类型的服务的终端设备连接,如果网络设备确定对应于服务类型的转发列表中缺少设备标识,则确定终端设备处于网络设备的位置相关的转发区域外,此时网络设备放弃向终端侧端口转发mDNS应答报文。通过该方法,网络设备可以选择与mDNS应答报文中的服务类型对应的转发列表,由于转发列表中包括提供相应服务类型的服务的终端设备所连接的网络设备的标识,故根据转发列表可以判断不同服务类型的mDNS应答报文所来自的终端设备是否处于转发区域外,有助于提高对提供各服务类型的服务的终端设备的监控。
在一个可能的设计中,网络设备还可根据mDNS应答报文中的服务类型更新服务数据,服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识,该服务数据中的与服务类型对应的一个或多个设备标识为提供服务类型的服务的一个或多个终端设备的标识或提供服务类型的服务的终端设备所连接的一个或多个网络设备的标识,以及,网络设备还可以根据服务数据更新对应于服务类型的转发列表,以使更新后的转发列表仅包括更新后的服务数据中与网络设备相近的一个或多个终端设备所连接的网络设备的标识,或者更新后的转发列表仅包括更新后的服务数据中与网络设备相近的一个或多个网络设备的标识。通过该方法,网络设备可以实现对转发列表的更新,从而更新转发列表中网络设备所表征的转发区域,实现对网络设备的位置相关的转发区域的动态更新,有助于提高转发控制的准确性。
在一个可能的设计中,转发控制参数还包括距离,则网络设备可以根据mDNS应答报文中的距离和服务类型更新服务数据,服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识以及一个或多个设备标识对应的距离,该服务数据中的与服务类型对应的一个或多个设备标识为提供服务类型的服务的终端设备所连接的一个或多个网络设备的标识。通过该方法,网络设备通过对各服务类型相关的设备标识及设备标识对应的距离的更新,使得服务类型可以对应于较近的终端设备所连接的一个或多个网络设备的标识,有助于提高报文传输的可靠性。
同时,在该可能的设计中,如果网络设备确定服务数据的一个或多个设备标识中存在至少一个网络设备的标识对应的距离小于mDNS应答报文中的距离,表明终端设备处于网络设备的位置相关的转发区域外,则网络设备放弃向终端侧端口转发mDNS应答报文,或者,若网络设备包括接收mDNS应答报文的端口之外的网络侧端口,则网络设备将增加mDNS应答报文中的距离,并向接收mDNS应答报文的端口之外的网络侧端口转发mDNS应答报文。通过该方法,网络设备通过更新服务数据中距离网络设备较近的终端设备连接的网络设备的标识,可确定距离较远的终端设备即为处于网络设备的位置相关的转发区域外的终端设备,从而放弃向终端侧设备转发距离较大的mDNS应答报文,同时在向网络侧端口发送前对mDNS应答报文中的距离进行增加,实现对mDNS应答报文的距离的更新,有助于后续接收mDNS应答报文的其他网络设备获取的距离的准确性。
在一个可能的设计中,转发控制参数包括距离,mDNS应答报文还包括服务类型,服务类型指示了终端设备所提供的服务,则网络设备将根据mDNS应答报文中的距离和服务类型更新服务数据,该服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识以及一个或多个设备标识对应的距离,服务数据中的与服务类型对应的一个或多个设备标识为提供服务类型的服务的一个或多个终端设备的标识。那么,如果网络设备确定服务数据的一个或多个设备标识中存在至少一个终端设备的标识对应的距离小于mDNS应答报文中的距离,可以确定终端设备处于网络设备的位置相关的转发区域外,则网络设备放弃向终端侧端口转发mDNS应答报文,或者,若网络设备包括接收mDNS应答报文的端口之外的网络侧端口,则网络设备将增加mDNS应答报文中的距离,并向接收mDNS应答报文的端口之外的网络侧端口转发mDNS应答报文。故通过该方法,网络设备可以放弃向终端侧设备的转发距离较大的mDNS应答报文,同时在向网络侧端口发送前对mDNS应答报文中的距离进行增加,实现对mDNS应答报文的距离的更新,有助于后续接收mDNS应答报文的其他网络设备获取的距离的准确性。通过该方法,网络设备通过对各服务类型相关的终端设备的标识及终端设备的标识对应的距离的更新,使得服务类型可以对应于较近的提供该服务类型的服务的一个或多个终端设备,便于实现终端设备的就近服务。
第二方面,本申请提供一种网络设备,该网络设备具有实现第一方面中方法的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的功能部件。
在一个可能的设计中,作为网络设备的具体结构可包括通信端口和处理器。通信端口和处理器可用于执行上述第一方面中的报文转发方法。
第三方面,本申请提供一种网络设备。该网络设备包括获取模块和处理模块。网络设备所包括的模块用于执行第一方面中的报文转发方法。
第四方面,本申请提供一种计算机存储介质,该计算机存储介质中存储有计算机程序指令,当指令在计算机上运行时,使得计算机执行第一方面中的报文转发方法。
附图说明
图1为本申请中的网络架构图;
图2为本申请中处理报文方法的流程图;
图3为本申请中mDNS应答报文的报文格式的示意图;
图4为本申请中新增资源记录的示意图一;
图5为本申请中新增资源记录的示意图二:
图6为本申请中网络设备存储的邻居列表的示意图;
图7为本申请中网络设备的结构示意图;
图8为本申请中网络设备的模块示意图。
具体实施方式
首先,对本申请中的部分用语进行解释说明。
1)终端设备,可以是支持mDNS技术的设备。终端设备可以基于mDNS发送用于请求服务的查询报文或响应其他终端设备所请求的服务。例如,该终端设备可以包括打印机、多媒体电视、摄像头、虚拟机(英文:virtual machine,VM)等。
2)网络设备,可以用于对终端设备发送的报文进行转发。本申请中网络设备可以是交换机,接入点(英文:access point,AP)等。
本申请中,当网络设备与终端设备相连时,该网络设备也可称为接入设备。理论上来讲,网络中每个网络设备都可以作为接入设备。
此外,网络设备可以包括一个或多个通信端口,该通信端口可以是与网络中的其他网络设备连接的网络侧端口,和/或,可以是与终端设备连接的用户侧端口。网络侧端口也可称为网络到网络端口(英文:network to network interface,NNI)。用户侧端口也可称为用户到网络端口(英文:user to network interface,UNI)。通信端口可以是有线端口,也可以是无线端口。例如,通信端口可以为以太网端口。如果网络设备是AP,用户侧端口可以为AP的空中端口。
3)mDNS,适用于没有DNS服务器时的域名解析。通过mDNS,终端设备可以通过组播的方式交互信息,实现终端设备之间的相互发现和通信。
例如,某个开启了mDNS服务的终端设备需要解析一个域名时,终端设备用用户数据报协议(英文:user datagram protocol,UDP)组播查询报文。如果有终端设备认为该域名是自己的,则通过生成应答报文来对该查询报文进行应答,并在应答报文中携带该进行应答的终端设备的IP地址。该终端设备以组播方式发送应答报文,以便需要解析域名的终端设备可以接收该应答报文中的IP地址,从而根据IP地址发现具有该域名的终端设备。
4)DNS-SD,是一种用于发现终端设备所能提供的服务的技术。DNS-SD通过发送查询报文查询某服务以获取所有关于该服务的信息。
终端设备发送mDNS报文以在网络中进行服务通告,以注册自身所提供的服务。例如注册格式可以是“终端设备名称.服务类型.传输协议类型.根域名.”,例如“DamonWebServer._http._tcp.local.”。当一个终端设备发送查找HTTP服务的查询报文后,将接收到由其他终端设备根据查询报文发送的关于“HTTP”传输协议类型的应答报文。
5)本申请中的术语“多个”是指两个或两个以上,鉴于此,本申请中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面将简单介绍交换机的转发报文的原理。
交换机可以根据报文的媒体访问控制(英文:media access control,MAC)地址转发报文。交换机可以用MAC学习功能记录该报文的源MAC地址与接收该报文的端口的对应关系,根据该对应关系即可转发报文。MAC学习的基本过程如下:
1、交换机接收报文时,读取报文的源MAC地址,并在转发表中记录或更新该源MAC地址与接收该报文的端口的映射;
2、交换机读取报文的目的MAC地址,并在转发表中以该目的MAC地址为索引查找相应的端口;
3、如果找到了与目的MAC地址相应的端口,则交换机用该端口转发该报文;
4、如果找不到与目的MAC地址相应的端口,则交换机广播该报文。
下面结合附图介绍本申请所应用的网络架构。
如图1所示,为本申请所应用的网络架构图,图中以二层网络的架构为例。其中,网络设备A1是终端设备1的接入设备,网络设备S1是终端设备2的接入设备,网络设备A2是终端设备3的接入设备,网络设备S3是终端设备4的接入设备,网络设备A3是终端设备5的接入设备。网络设备A1用于传输终端设备1和网络设备S1之间的报文,网络设备A2用于传输终端设备3与网络设备S2之间的报文,网络设备A3用于传输终端设备5与网络设备S3之间的报文。网络设备S2、网络设备S1和网络设备S3可以两两之间进行报文传输。
接下来,将结合说明书附图介绍本申请提供的技术方案。在下面的介绍过程中,以本申请提供的技术方案应用在图1所示的网络架构为例。
如图2所示,本申请提供一种处理报文方法,该方法可以通过前述的网络设备来执行,图2中终端设备、接入设备和网络设备可以处于同一网络中。该方法的流程描述如下:
S21、终端设备发送mDNS应答报文。接入设备接收mDNS应答报文。
本申请中,终端设备可以是支持mDNS服务的设备,其可以发送mDNS查询报文,也可以发送mDNS应答报文。
终端设备在接收到其他终端设备发送的mDNS查询报文时,如果该终端设备能够提供mDNS查询报文所请求的服务,则该终端设备可以对mDNS查询报文进行响应,生成相应的mDNS应答报文,并组播该mDNS应答报文。
如果终端设备开启了mDNS服务,终端设备在连接网络后,可发送组播报文。组播报文包括该终端设备的标识及IP地址等。接收到该组播报文后,其他有mDNS服务的终端设备以mDNS应答报文响应该组播报文。mDNS应答报文包括响应的终端设备的标识和IP地址等。在终端设备需要解析一个域名时,则可以通过mDNS查询域名对应的IP地址,广播mDNS查询报文,接收到该mDNS查询报文的其他终端设备认为域名是自己的,则对mDNS查询报文进行应答,并在mDNS应答报文中携带域名对应的IP地址,进而将该mDNS应答报文进行组播,mDNS应答报文会在整个网络中扩散,故网络中除发送mDNS查询报文的终端设备之外的其他终端设备也可以收到该mDNS应答报文。接收mDNS应答报文的终端设备会记录解析的域名和域名对应的IP地址等。
本申请中,mDNS应答报文中可以包括服务类型,服务类型可以用于指示终端设备所能提供的服务。例如,若终端设备为打印机,能够提供打印的服务,则其服务类型就可以是打印服务。
终端设备在响应其他终端设备发送的mDNS查询报文时,可生成相应的mDNS应答报文,该mDNS应答报文中的服务类型即为其他终端设备所请求的服务,同时,还在生成的mDNS应答报文中添加自身的IP地址,进而将该mDNS应答报文在网络中进行组播。
mDNS应答报文中还可以包括其他信息,例如终端设备的标识以及终端设备所采用的协议的版本信息等等。
S22、接入设备在mDNS应答报文中添加转发控制参数,该转发控制参数可以包括设备标识和/或距离。
mDNS应答报文中包括的转发控制参数与终端设备的位置相关,由处于不同位置的终端设备发送的mDNS应答报文中的转发控制参数可能不同。例如,由处于不同位置的终端设备所发送的mDNS应答报文中,转发控制参数中所包括的设备标识可能不同,距离可能也不同。
其中,设备标识可以是指接入设备的标识,即与发送mDNS应答报文的终端设备连接的网络设备的标识。在该网络中,设备标识具有唯一性,例如设备标识可以是接入设备的身份标识。那么,后续在mDNS应答报文的转发过程中,通过提取设备标识即可确定终端设备连接的接入设备。
距离可以表征mDNS应答报文在网络中的传输距离。传输距离在mDNS应答报文的转发过程中会逐渐累加。
本申请中,接入设备在mDNS应答报文中添加转发控制参数时,可以通过对mDNS应答报文中字段的设计来实现。为了更便于理解,下面将先对报文的原有格式进行介绍。
如图3所示,为mDNS应答报文的报文格式的示意图,其包括5个字段,即包头(Header)字段、查询的问题(Question)字段、应答(Answer)字段、授权应答(Authority)字段和附加信息(Additional)字段。
其中,Header字段定义了报文是请求报文还是应答报文,Question字段描述了查询的问题,例如包括查询类型(TYPE)、查询类(CLASS)、以及查询的域名(NAME)等。Header字段和Question字段是报文格式中固定存在的字段。通常来说,Answer字段包含回答查询的问题的资源记录(英文:resource record,RR),Authority字段包含授权域名服务器的资源记录,Additional字段可以包含与请求相关的资源记录,且各字段所采用的资源记录的格式相同。如图3中所示的资源记录的格式,包括域名、类型、类、生存时间、资源数据长度(RDLENGTH)和资源数据(RDATA)这几个部分。其中,域名可以记录资源数据的名称,类型和类可以与Question字段所描述的类型和类相同,生存时间表示资源记录的生命周期,通常以秒为单位,资源数据长度表示资源数据的长度,资源数据表示按查询字段的要求所返回的相关资源记录的数据。不同字段可以包括不同的资源记录的数量,资源记录中各部分的值可能不同。
本申请中,在mDNS应答报文的原有格式的基础上对字段的资源记录进行设计。所采用的方式为,在原有格式的基础上对字段中原有资源记录的值进行设计,或者,也可以在原有格式的基础上在字段中新增资源记录,并对新增的资源记录的各部分的值进行设置。新增的资源记录的格式与原有资源记录的格式相同。本申请中主要介绍新增加资源记录的方式在mDNS应答报文中添加转发控制参数。
如图4所示,为在mDNS应答报文中新增资源记录的一种示意图,新增的资源记录用于在mDNS应答报文中添加设备标识。图4中,该资源记录中的域名可以设置为“AccId”,代表该新增资源记录为用于记录设备标识的资源记录,本文中也将新增的用于记录设备标识的资源记录称为设备标识字段。设备标识字段中类型和类的值均可设置为私有扩展值,如“0xFFF0”,以便于后期终端设备可以根据该私有扩展值从mDNS应答报文包括的字段中识别报文中的设备标识字段。生存时间设置为空,即对mDNS应答报文在网络中传输的时长不作要求。资源数据长度的值可以根据需要返回的资源记录的相关数据的量进行设置,此处以设置的资源数据长度的值为4为例,表示该新增字段中资源记录的相关数据可以占用4个字节。资源数据的值会根据接入设备标识的不同而有所不同,此处以设置的资源数据的值为“AAAA”为例,表示接入设备标识为“AAAA”。
同理,如图5所示,为在mDNS应答报文中新增资源记录的另一种示意图,新增的资源记录用于在mDNS应答报文中添加距离。图中,该资源记录中的域名可以设置为“Cost”,代表该新增的资源记录为用于记录mDNS应答报文的传输距离的资源记录,本文中也将该新增的用于记录mDNS应答报文的传输距离的资源记录称为距离字段。距离字段中类型和类均可设置为私有扩展值,如“0xFFF1”,生存时间设置为空,资源数据长度可设置为4个字节,资源数据即为mDNS应答报文中在网络中传输的距离,该距离可以用相应的数值来记录。接入设备在为mDNS应答报文添加距离字段时,默认设置的资源数据的初始值可以是0或1等。
在mDNS应答报文的传输过程中,网络设备对mDNS应答报文中的距离进行累加,可以是指对mDNS应答报文携带的距离字段中的资源数据的值进行累加。例如,mDNS应答报文每被转发一次,则当前将转发mDNS应答报文的网络设备就可对mDNS应答报文中距离字段中资源数据的值进行累加,例如+1,那么,后续接收mDNS应答报文的网络设备依据mDNS应答报文的距离字段中资源数据的取值就可以确定mDNS应答报文在网络中传输的距离。
通过上述方式扩展报文格式,可在不影响mDNS应答报文原有内容的基础上额外携带转发控制参数,实现方式简单。
S23、接入设备组播mDNS应答报文。网络设备接收mDNS应答报文。
接入设备在mDNS应答报文中添加转发控制参数后,组播mDNS应答报文。网络中的网络设备,例如交换机等,可以接收携带了转发控制参数的mDNS应答报文。
S24、网络设备根据接收的mDNS应答报文,确定是否放弃转发mDNS应答报文。
本申请中,网络设备接收mDNS应答报文后,可以根据mDNS应答报文中的任意一个数据或多个数据的组合来确定是否放弃转发mDNS应答报文,包括但不限于以下几种方式:
方式一:根据转发控制参数确定终端设备确定是否放弃转发mDNS应答报文。
网络设备接收mDNS应答报文后,可以解析mDNS应答报文以获取转发控制参数。转发控制参数与发送mDNS应答报文的终端设备的位置相关,网络设备根据转发控制参数可以确定终端设备是否处于网络设备的位置相关的转发区域内。
其中,网络设备的位置相关的转发区域可以是预先通过设计人员根据网络设备所处的位置设置的区域,例如将以网络设备的位置为中心的预设距离内的区域作为转发区域。或者,转发区域也可以是预先通过网络设备根据自身所处的位置自行设置的区域,例如网络设备检测其所处位置附近的其它网络设备,并将这些网络设备的位置所形成的区域作为转发区域,等等。
终端设备的位置可以通过与终端设备的接入设备的位置来体现,或者,也可以通过终端设备发送的mDNS应答报文在网络中传输的距离来体现。
在该方式中,网络设备确定是否放弃转发mDNS应答报文时,根据转发控制参数所包括的参数的不同,包括但不仅限于以下情况:
情况一:转发控制参数包括设备标识。
网络设备接收mDNS应答报文之后可以获得mDNS应答报文中的设备标识,并根据设备标识确定终端设备是否处于网络设备的位置相关的转发区域外,进而确定是否转发mDNS应答报文。
本方式中,网络设备可以存储有邻居列表,邻居列表中记录了与该网络设备相近且与网络中任意终端设备连接的网络设备的标识。因此,可以认为邻居列表中记录了标识的网络设备可以是网络中被用作接入设备的网络设备,该网络设备所处的位置与接收mDNS应答报文的网络设备的位置相近。例如,记录了标识的网络设备可以是与接收了mDNS应答报文的网络设备的相对距离小于或等于预设距离的接入设备,其中预设距离可以是根据转发区域设置的距离,可以认为相对于接收了mDNS应答报文的网络设备的距离小于等于该预设距离的网络设备的位置处于转发区域内。本申请中将记录在邻居列表中的网络设备称为该网络设备的邻居设备。
网络中彼此之间的距离小于或等于预设距离的网络设备,这样的网络设备可以相互称为邻居设备。对于一个网络设备来说,设计人员可以在该网络设备中存储邻居列表,以记录该网络设备的邻居设备的标识。或者,邻居列表也可以是网络设备自动生成的。例如,网络中各网络设备可以检测周围的其他网络设备,并根据检测到的其他网络设备的标识自动生成邻居列表。理论上来讲,网络中每个网络设备都可以存储邻居列表。
例如,在图1所示网络架构中,对于接入设备A1来说,其周围存在的网络设备有网络设备S1、网络设备S2、网络设备A2、网络设备S3和网络设备A3,其中,网络设备A1与网络设备S1之间的距离,网络设备A1与网络设备S2之间的距离,以及网络设备A1与网络设备A2之间的距离,均小于或等于预设距离,则可以确定网络设备中网络设备S1、网络设备S2、网络设备A2为网络设备A1的邻居设备。则网络设备A1的邻居列表中存储的网络设备的标识可以包括S1、S2、A2。同理,对于网络中其他每个网络设备均可以按照该方式来确定邻居设备。
按照上述方式,则图1所示的网络中各网络设备存储的一种邻居列表如图6所示。图6所示表格中包括的是图1中网络设备A1、网络设备A2、网络设备A3、网络设备S1、网络设备S2和网络设备S3共6个网络设备的邻居列表。例如图6中,标识S2、标识S3和标识A2这3个标识所在部分即为存储在网络设备A3中的邻居列表,标识S1、标识S2和标识A2这3个标识所在部分即为存储在网络设备A1中的邻居列表。同理,对于图6中其他网络设备与邻居设备的标识的对应关系也可按照同样方式理解,此处不再赘述。
那么,本申请中,网络设备在根据转发控制参数确定终端设备是否处于与网络设备的位置相关的转发区域外时,可以是查找存储的邻居列表中是否存储了与接入设备标识相同的标识,根据查找结果确定是否放弃转发mDNS应答报文。相应的查询结果如下:
结果1、网络设备确定邻居列表中缺少与设备标识相同的标识。
则表明发送mDNS应答报文的终端设备所连接的接入设备的位置与网络设备的位置之间的距离较远,终端设备处于网络设备的转发区域外。此时,网络设备可放弃转发mDNS应答报文。
如果网络设备中的通信端口包括终端侧端口及除接收mDNS应答报文的端口之外的网络侧端口,则网络设备放弃转发mDNS应答报文可以是指网络设备仅放弃向终端侧端口转发mDNS应答报文,同时,网络设备可以向除接收mDNS应答报文的端口之外的网络侧端口发送,例如图2中在确定放弃转发mDNS应答报文时,可将mDNS应答报文向网络侧端口转发,以传输到其它网络设备(图中用虚线示出)。或者,网络设备放弃转发mDNS应答报文也可以是指网络设备放弃向除接收mDNS应答报文的端口之外的所有端口转发,即不转发mDNS应答报文,例如可丢弃mDNS应答报文。
例如,若图1中的接入设备A1在接收终端设备1发送的mDNS应答报文后,在mDNS应答报文中添加接入设备A1的标识A1,获得mDNS应答报文。接入设备A1将mDNS应答报文进行组播,网络中的网络设备S3接收mDNS应答报文,提取mDNS应答报文携带的接入设备标识A1。网络设备S3确定存储的邻居列表中缺少设备标识A1,即表明网络设备S3当前接收的mDNS应答报文不是其邻居设备转发的报文,此时,网络设备S3可以不转发mDNS应答报文。或者,网络设备S3也可以仅不向用户侧端口(连接终端设备4)转发mDNS应答报文。
结果2、邻居列表中存储了与设备标识相同的标识。
则表明发送mDNS应答报文的终端设备所连接的接入设备的位置与网络设备的位置较相近,终端设备可能处于网络设备的转发区域内。此时,网络设备可转发mDNS应答报文,即继续mDNS应答报文在网络中的组播。
网络设备在转发mDNS应答报文时,若网络设备包括接收mDNS应答报文的端口之外的网络侧端口,则可向接收应答报文的端口之外的网络侧端口转发。以及,若网络设备还包括终端侧端口,则网络设备可以删除mDNS应答报文中的转发控制参数后,向终端侧端口转发该mDNS应答报文。
例如,继续上述举例,网络设备S1在组播mDNS应答报文后,网络设备S1接收mDNS应答报文,提取mDNS应答报文中的设备标识A1,并查询确定网络设备S1存储的邻居列表中记录了标识A1,此时,网络设备S1可继续转发mDNS应答报文。例如,网络设备S1向连接网络设备S2的网络侧端口转发。或者,网络设备S1删除mDNS应答报文中的设备标识A1,向连接终端设备2的用户侧端口转发该mDNS应答报文。
通过本申请提供的技术方案,网络设备通过查询邻居列表来确定是否转发mDNS应答报文,从而使得与网络设备的终端侧端口连接的终端设备所接收的mDNS应答报文可以均是由其邻居设备发送的,这些邻居设备可以是处于网络设备的转发区域内的网络设备,以确保网络设备所转发的mDNS应答报文是由距离网络设备较近的终端设备发送的,便于实现就近服务。或者,即便网络设备接收的mDNS应答报文不是由处于转发区域内的终端设备发送的,网络设备通过放弃转发mDNS应答报文,可以有助于避免mDNS应答报文在网络中传输过远的距离,降低网络传输报文的负担。
另外,网络设备在向终端侧端口转发mDNS应答报文之前,删除了mDNS应答报文中的转发控制参数,使得接收mDNS应答报文的其他终端设备无需再处理转发控制参数,避免在其他终端设备解析报文时造成干扰。
情况二:转发控制参数包括距离。
网络设备接收mDNS应答报文之后可以获得mDNS应答报文中的距离,可以确定该距离是否大于距离阈值,以确定是否转发mDNS应答报文。
其中,距离可以表征mDNS应答报文在网络中传输的距离。例如,如果在S22中,接入设备以数值的方式设计了新增的资源记录(即距离字段)中的资源数据的值,资源数据的值可以表征mDNS应答报文在网络中传输的距离,那么,网络设备通过读取资源数据的值即可确定mDNS应答报文的距离。
距离阈值可以是根据网络设备的转发区域所设置的阈值。可以认为,如果终端设备发送的mDNS应答报文中的距离小于距离阈值,表明该终端设备处于网络设备的转发区域内,否则,表明终端设备处于网络设备的转发区域外。
若网络设备确定mDNS应答报文中的距离大于距离阈值,则网络设备将放弃转发mDNS应答报文。此时,如果网络设备中的通信端口包括终端侧端口及除接收mDNS应答报文的端口之外的网络侧端口,则网络设备放弃转发mDNS应答报文可以是指网络设备不向终端侧端口转发mDNS应答报文,但会向接收mDNS应答报文的端口之外的网络侧端口转发mDNS应答报文,并且在转发mDNS应答报文前,还将增加mDNS应答报文中的距离,例如将mDNS应答报文的距离字段中资源数据的值+1。或者,网络设备放弃转发mDNS应答报文也可以是指网络设备放弃向除接收mDNS应答报文的端口之外的所有端口转发,即不转发mDNS应答报文,此时,网络设备也可丢弃mDNS应答报文。
或者,若网络设备确定mDNS应答报文中的距离小于等于距离阈值,且网络设备包括接收mDNS应答报文的端口之外的网络侧端口,网络设备将增加mDNS应答报文中的距离,以对mDNS应答报文的距离进行累计,并向接收mDNS应答报文的端口之外的网络侧端口转发mDNS应答报文。
或者,若网络设备确定mDNS应答报文中的距离小于等于距离阈值,且网络设备包括终端侧端口,则网络设备可以删除mDNS应答报文中表示距离字段的资源记录,并向终端侧端口转发该mDNS应答报文。
例如,若距离阈值为2,图1中的接入设备A1接收终端设备1发送的mDNS应答报文,则接入设备A1在mDNS应答报文中添加的距离字段的资源数据的值为1,获得mDNS应答报文。接入设备A1将mDNS应答报文转发给网络设备S1,网络设备S1接收mDNS应答报文后,提取mDNS应答报文的距离字段,确定距离小于距离阈值,此时网络设备S1将继续转发mDNS应答报文。
其中,网络设备S1在将mDNS应答报文向网络侧端口转发前,会对距离字段中资源数据的值进行一次累加,即,将距离字段中资源数据的值+1,更新为2,表明mDNS应答报文传输的距离增大,将增加了资源数据的值的mDNS应答报文向网络侧端口转。或者,网络设备S1在将mDNS应答报文向终端侧端口转发前,将删除mDNS应答报文中的距离字段。
作为一种示例,若网络设备确定mDNS应答报文中的距离大于等于距离阈值,表明mDNS应答报文在网络中传输的距离较大,发送mDNS应答报文的终端设备可能处于转发区域之外。此时,网络设备可以放弃向终端侧端口或所有端口转发mDNS应答报文,从而有效减轻网络传输报文的负担。同时,通过放弃转发距离大于距离阈值的报文,有助于减少终端设备以及其他网络设备的接收报文的数量,降低终端设备以及网络设备的工作负担。
网络设备通过对上述的两种情况的介绍可知,通过mDNS应答报文中的转发控制参数可以实现对mDNS应答报文在网络设备的位置相关的转发区域内的转发和扩散,使得网络中被转发的mDNS应答报文均为由处于转发区域内的终端设备所发送的mDNS应答报文,有效减少了网络中传输的由转发区域之外的终端设备所发送的mDNS应答报文的数量,避免造成带宽的浪费。
当然,在不冲突的情况下,上述两种情况可结合使用。例如,转发控制参数包括设备标识和距离,那么,如果网络设备根据转发控制参数中距离确定放弃转发mDNS应答报文,那么,在接收到新的mDNS应答报文时,可以先查看该mDNS应答报文中的设备标识与已放弃转发的mDNS应答报文中的设备标识是否相同。若相同,则表明发送该新的mDNS应答报文的终端设备处于转发区域之外,此时可以直接放弃转发mDNS应答报文,而无需再进行其它判断。
进一步,本申请中,还可结合mDNS应答报文中的服务类型和转发控制数据来实现对mDNS应答报文的转发控制,包括但不仅限于以下方式:
方式二:mDNS应答报文包括服务类型,mDNS应答报文中的转发控制参数包括设备标识。
则网络设备可在存储的多个转发列表中选择对应于服务类型的转发列表,并查询选择的转发列表中是否包括mDNS应答报文中的设备标识,从而确定是否放弃转发mDNS应答报文,其中,转发列表包括至少一个网络设备的标识,该至少一个网络设备与提供服务类型的服务的终端设备连接。
也就是说,网络设备中可以存储有与不同服务类型对应的多个转发列表,每个转发列表中包括至少一个网络设备的标识,至少一个网络设备所连接的终端设备能够提供相同的服务类型的服务。例如,服务类型为打印类型,则打印类型对应的转发列表中每个标识对应的网络设备所连接的终端设备均能提供打印服务。那么,可以认为与至少一个网络设备相连的终端设备即为处于网络服务的位置相关的转发区域内的终端设备。
若网络设备确定对应于服务类型的转发列表中缺少设备标识,则网络设备可以放弃向终端侧端口转发mDNS应答报文。
在该方式下,网络设备还可以根据mDNS应答报文中的服务类型更新服务数据,服务数据包括网络设备中存储的多个服务类型中各个服务类型对应的一个或多个设备标识,服务数据中的与某个服务类型对应的一个或多个设备标识为提供该服务类型的服务的一个或多个终端设备的标识或为提供该服务类型的服务的终端设备所连接的一个或多个网络设备的标识,有助于实时了解提供各服务类型的服务的终端设备的变动。
例如,图1中,若网络设备S2中存储有与播放服务对应的转发列表,该转发列表中包括的网络设备的标识为(A1,S1,A2),其中,A1代表网络设备A1的标识,S1代表网络设备S1的标识,依此类推。且A1连接的终端设备1、S1连接的终端设备2以及A2连接的终端设备3均能提供播放服务。如果播放服务的服务数据为提供播放服务的终端设备的标识,例如可以包括(标识1,标识2,标识3),其中,标识1代表终端设备1的标识,标识2代表终端设备2的标识,依此类推。若网络设备S2接收到网络中新注册的终端设备4发送的mDNS报文,该mDNS报文表明终端设备所提供的服务类型是播放服务,且终端设备4与网络设备S3连接。此时,网络设备S2可以更新播放服务的服务数据。例如,将播放服务的服务数据中记录的终端设备的标识更新为(标识1,标识2,标识3,标识4)。或者,如果播放服务的服务数据为提供播放服务的终端设备所连接的网络设备的标识,例如为(A1,S1,A2),那么,也可以将服务数据中的网络设备的标识更新为(A1,S1,A2,S3)。理论上来说,服务数据中,终端设备的标识和网络设备的标识之间具有对应关系。
进一步,网络设备还可以根据更新后的终端设备的标识来更新播放服务的转发列表中的网络设备的标识,则更新后的转发列表仅包括更新后的服务数据中与网络设备相近的一个或多个终端设备所连接的网络设备的标识,或者更新后的转发列表仅包括更新后的服务数据中与网络设备相近的一个或多个网络设备的标识。
网络设备在根据更新后的服务数据对转发列表进行更新时,可以是将转发列表中的网络设备的标识更新为与接收mDNS应答报文的网络设备最近的终端设备所连接的网络设备的标识,该相近的终端设备所连接的网络设备的标识可以是一个或者也可以是多个,如果只有一个,则该标识可以是与接收mDNS应答报文的网络设备最近的终端设备所连接的网络设备的标识。
例如,继续上述的举例,若提供播放服务的终端设备1、终端设备2、终端设备3、终端设备4中与网络设备的位置最近的终端设备是终端设备4,最远的是终端设备1,那么,网络设备S2在根据更新服务数据后的服务数据更新转发列表时,可以将转发列表中原有的网络设备的标识更新为最近的终端设备所连接的网络设备的标识,则更新后的转发列表中包括的网络设备的标识可以是(S3)。或者,网络设备S2根据更新后的服务数据也可将转发列表中的网络设备的标识更新为多个网络设备的标识,例如更新为(A2,S3),或者为(S1,A2,S3),等等。其中,更新后的转发列表中的网络设备的标识的数量可以是预设的,或者也可以是在相近的终端设备所连接的网络设备中优选的多个网络设备的标识。
通过上述描述可知,网络设备通过根据接收的mDNS应答报文中服务类型对服务类型的服务数据的更新,可实现对各服务类型对应的转发列表动态地更新,从而使得转发列表中网络设备的标识所表征的转发区域可随转发列表中网络设备的标识的变动而更新,有助于提高对报文转发的灵活性。
方式三:mDNS应答报文包括服务类型,且mDNS应答报文中的转发控制参数包括距离。
则网络设备可以根据mDNS应答报文中的距离和服务类型更新服务数据,该方式中,服务数据可以包括多个服务类型中各个服务类型对应的一个或多个设备标识以及该一个或多个设备标识对应的距离,服务数据中的与服务类型对应的一个或多个设备标识为提供服务类型的服务的一个或多个终端设备的标识。设备标识对应的距离可以是指一个或多个网络设备连接的终端设备所发送的mDNS应答报文到达网络设备时,需在网络中传输的距离,该距离可以用前述新增的资源记录(即距离字段)中资源数据的值来表征。
例如,如图1中,服务类型为播放服务时,播放服务对应的服务数据中的设备标识包括(标识1,标识2,标识3),其中,标识1代表终端设备1的标识,标识2代表终端设备2的标识,依此类推。设备标识对应的距离为(D1’,D2’,D3’),其中,D1’代表终端设备1对应的距离,D2’代表终端设备2对应的距离,依此类推。若网络设备S2接收到终端设备4发送的mDNS应答报文,该mDNS应答报文表明终端设备提供服务类型为播放服务,且终端设备4发送的mDNS应答报文中距离为D4’。此时,网络设备S2可以更新播放服务的服务数据。例如,将播放服务的服务数据中记录的设备标识更新为(标识1,标识2,标识3,标识4),同时,还可将服务数据中设备标识对应的距离更新为(D1’,D2’,D3’,D4’)。
进一步,网络设备在确定终端设备是否处于网络设备的位置相关的转发区域外,并确定是否放弃转发接收的mDNS应答报文时,网络设备可以确定服务数据的一个或多个设备标识中是否存在至少一个终端设备的标识对应的距离小于mDNS应答报文中的距离。若存在,则网络设备放弃向终端侧端口转发mDNS应答报文。例如,只要有任意一个终端设备对应的距离小于该mDNS应答报文中的距离,如D1’<D4’,则网络设备放弃向终端侧端口转发mDNS应答报文。或者,如果有2个或更多终端设备对应的距离小于该mDNS应答报文中的距离,如D1’<D4’且D2’<D4’,则网络设备放弃向终端侧端口转发mDNS应答报文。以及,若网络设备包括接收mDNS应答报文的端口之外的网络侧端口,则网络设备放弃向终端侧端口转发mDNS应答报文的同时,还可以对mDNS应答报文中的距离进行一次累加,如将资源数据的值+1,并向接收mDNS应答报文的端口之外的网络侧端口转发mDNS应答报文。
或者,若mDNS应答报文中的距离小于服务数据中全部终端设备的标识对应的距离,那么,网络设备可以继续转发mDNS应答报文,例如网络设备可以向除接收mDNS应答报文的端口之外的全部端口转发该mDNS应答报文,并在转发前增加mDNS应答报文中的距离,如将mDNS应答报文中距离字段的数据资源的值+1。若该全部端口中包括终端侧端口,则在向终端侧端口转发mDNS应答报文前可以删除mDNS应答报文中的距离,避免在接收mDNS应答报文的其他终端设备解析报文时造成干扰。
作为一种示例,若服务数据中的与服务类型对应的一个或多个设备标识为提供服务类型的服务的终端设备所连接的一个或多个网络设备的标识。例如,图1中提供播放服务的终端设备为终端设备1、终端设备2和终端设备3,播放服务对应的服务数据包括各终端设备所连接的网络设备的标识,即接入设备的标识,例如包括(A1,S1,A2),以及各接入设备的标识对应的距离,例如(D1,D2,D3)。那么,后续网络设备在更新服务数据时,可以是对服务数据中的接入设备的标识的更新。例如,网络设备S2接收到终端设备4发送的mDNS应答报文,该mDNS应答报文表明终端设备提供服务类型为播放服务,且终端设备4连接的网络设备为网络设备为S3,且该mDNS应答报文中距离为D4,那么,更新的数据服务中网络设备的标识可以是(A1,S1,A2,S3),对应的距离可以是(D1,D2,D3,D4)。
进而,网络设备在确定终端设备是否处于网络设备的位置相关的转发区域外,并确定是否放弃转发接收的mDNS应答报文时,可以是确定服务数据中与终端设备连接的网络设备的标识对应的距离是否小于mDNS应答报文中的距离,进而根据判断结果确定是否放弃转发mDNS应答报文。其判断及转发过程与前述方式二中根据终端设备的标识对应距离及mDNS应答报文中的报文确定是否放弃转发mDNS应答报文的过程一致,此处不再赘述。
或者,若网络设备中存储有与服务类型对应的转发列表,那么,在更新服务数据后,还可以根据更新后的服务数据对该服务类型对应的转发列表中的网络设备的标识进行更新,其更新过程与方式二中更新转发列表的方法可以相同,此处不再赘述。
通过上述方式二和方式三的描述可知,网络设备通过结合mDNS应答报文中的多个参数来确定终端设备是否处于网络设备的位置相关的转发区域中,使得网络设备接收到提供各服务类型的服务的终端设备所发送的mDNS应答报文后,能够按照服务类型更新各服务类型对应的服务数据,且网络设备根据更新后的服务数据,如根据网络设备的标识或终端设备的标识即可实时地调整与网络设备的位置相关的转发区域,进而确定终端设备是否处于网络设备的转发区域外,实现方式较为灵活、可靠,有助于提高网络设备对提供相应服务类型的服务的终端设备所发送的mDNS应答报文的转发控制。
如图7所示,基于同一发明构思,本申请提供一种网络设备,该网络设备包括通信端口501和处理器502。
其中,通信端口501可以用于在终端设备与网络设备之间、以及网络设备与网络设备之间传输相应的数据,如报文。本申请中通信端口501可以包括网络侧端口和用户侧端口(图中未示出),其中,网络侧端口可以用于接收终端设备发送的组播域名系统mDNS应答报文,并获取mDNS应答报文中的转发控制参数,该转发控制参数与所述终端设备的位置相关。
可能的实施方式中,该网络设备还可以包括存储器503,均在图5中一并示出,因为存储器503不是必选器件,因此在图5中画为虚线框的形式,以与必选器件进行区分。存储器503的数量可以是一个或多个。存储器503可以包括只读存储器(ROM)、随机存取存储器(RAM)和磁盘存储器,等等。存储器503可以用于存储处理器502执行任务所需的程序代码,还可以用于存储数据。
其中,通信端口501和存储器503可以通过总线与处理器502相连接,或者也可以通过专门的连接线与处理器502连接。
处理器502进行设计编程,将前述所示的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述实施例中的所示的方法。如何对处理器502进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
该网络设备可以用于执行上述图2所示的实施例所提供的方法,例如是接收mDNS应答报文的网络设备。因此,对于该网络设备中的各功能单元所实现的功能等,可参考如前方法部分的描述,不多赘述。
如图8所示,本申请还提供一种网络设备,该网络设备包括获取模块601和处理模块602。
在实际应用中,获取模块601对应的实体设备可以是图7中的通信端口501,处理模块602对应的实体设备可以是图7中的处理器502。
本申请中的网络设备可以用于执行上述图2所述的方法,对于该网络设备中的各模块所实现的功能等,可参考如前方法部分的描述,在此不多赘述。
在上述实施例中,可以全部或部分地通过软件、硬件或者其组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、双绞线、光纤)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何介质或者是包含一个或多个介质集成的服务器、数据中心等数据存储设备。所述介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,光盘)、或者半导体介质(例如,固态硬盘(SSD))等。
Claims (22)
1.一种报文转发方法,其特征在于,包括:
网络设备接收终端设备发送的组播域名系统mDNS应答报文,并获取所述mDNS应答报文中的转发控制参数,其中,所述转发控制参数与所述终端设备的位置相关;
若所述终端设备处于与所述网络设备的位置相关的转发区域外,所述网络设备放弃转发所述mDNS应答报文。
2.如权利要求1所述的方法,其特征在于,所述转发控制参数包括设备标识,所述设备标识为与所述终端设备连接的网络设备的标识;
若所述终端设备处于所述网络设备的位置相关的转发区域外,所述网络设备放弃转发所述mDNS应答报文,包括:
若邻居列表中缺少所述设备标识,所述网络设备放弃转发所述mDNS应答报文,所述邻居列表包括与所述网络设备相近且与任意终端设备连接的网络设备的标识。
3.如权利要求1或2所述的方法,其特征在于,所述转发控制参数包括距离;
若所述终端设备处于所述网络设备的位置相关的转发区域外,所述网络设备放弃转发所述mDNS应答报文,包括:
若所述距离大于距离阈值,所述网络设备放弃转发所述mDNS应答报文;
所述方法还包括:
若所述距离小于等于所述距离阈值并且所述网络设备包括接收所述mDNS应答报文的端口之外的网络侧端口,所述网络设备增加所述mDNS应答报文中的所述距离,并向接收所述mDNS应答报文的端口之外的网络侧端口转发所述mDNS应答报文。
4.如权利要求1所述的方法,其特征在于,所述转发控制参数包括设备标识,所述mDNS应答报文还包括服务类型,所述设备标识为与所述终端设备连接的网络设备的标识,所述服务类型指示了所述终端设备所提供的服务;
若所述终端设备处于所述网络设备的位置相关的转发区域外,所述网络设备放弃转发所述mDNS应答报文,包括:
在多个转发列表中选择对应于所述服务类型的转发列表,其中,所述转发列表包括至少一个网络设备的标识,所述至少一个网络设备与提供所述服务类型的服务的终端设备连接;
若对应于所述服务类型的转发列表中缺少所述设备标识,所述网络设备放弃向终端侧端口转发所述mDNS应答报文。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
所述网络设备根据所述mDNS应答报文中的所述服务类型更新服务数据,所述服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识,所述服务数据中的与所述服务类型对应的一个或多个设备标识为提供所述服务类型的服务的一个或多个终端设备的标识或提供所述服务类型的服务的终端设备所连接的一个或多个网络设备的标识;
所述网络设备根据所述服务数据更新对应于所述服务类型的所述转发列表,更新后的所述转发列表仅包括更新后的所述服务数据中与所述网络设备相近的一个或多个终端设备所连接的网络设备的标识,或者更新后的所述转发列表仅包括更新后的所述服务数据中与所述网络设备相近的一个或多个网络设备的标识。
6.如权利要求4所述的方法,其特征在于,所述转发控制参数还包括距离;
所述方法还包括:
所述网络设备根据所述mDNS应答报文中的所述距离和所述服务类型更新服务数据,所述服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识以及所述一个或多个设备标识对应的距离,所述服务数据中的与所述服务类型对应的一个或多个设备标识为提供所述服务类型的服务的终端设备所连接的一个或多个网络设备的标识;
若所述终端设备处于所述网络设备的位置相关的转发区域外,所述网络设备放弃转发所述mDNS应答报文,包括:
若所述服务数据的一个或多个设备标识中存在至少一个网络设备的标识对应的距离小于所述mDNS应答报文中的距离,所述网络设备放弃向终端侧端口转发所述mDNS应答报文;
若所述网络设备包括接收所述mDNS应答报文的端口之外的网络侧端口,所述网络设备增加所述mDNS应答报文中的所述距离,并向接收所述mDNS应答报文的端口之外的网络侧端口转发所述mDNS应答报文。
7.如权利要求1所述的方法,其特征在于,所述转发控制参数包括距离,所述mDNS应答报文还包括服务类型,所述服务类型指示了所述终端设备所提供的服务;
所述方法还包括:
所述网络设备根据所述mDNS应答报文中的所述距离和所述服务类型更新服务数据,所述服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识以及所述一个或多个设备标识对应的距离,所述服务数据中的与所述服务类型对应的一个或多个设备标识为提供所述服务类型的服务的一个或多个终端设备的标识;
若所述终端设备处于所述网络设备的位置相关的转发区域外,所述网络设备放弃转发所述mDNS应答报文,包括:
若所述服务数据的一个或多个设备标识中存在至少一个终端设备的标识对应的距离小于所述mDNS应答报文中的距离,所述网络设备放弃向终端侧端口转发所述mDNS应答报文;
若所述网络设备包括接收所述mDNS应答报文的端口之外的网络侧端口,所述网络设备增加所述mDNS应答报文中的所述距离,并向接收所述mDNS应答报文的端口之外的网络侧端口转发所述mDNS应答报文。
8.一种网络设备,其特征在于,包括:
通信端口,包括至少一个网络侧端口,所述至少一个网络侧端口用于接收终端设备发送的组播域名系统mDNS应答报文,并获取所述mDNS应答报文中的转发控制参数,其中,所述转发控制参数与所述终端设备的位置相关;
处理器,用于若所述终端设备处于与所述网络设备的位置相关的转发区域外,放弃转发所述mDNS应答报文。
9.如权利要求8所述的网络设备,其特征在于,所述转发控制参数包括设备标识,所述设备标识为与所述终端设备连接的网络设备的标识;
所述处理器在用于若所述终端设备处于所述网络设备的位置相关的转发区域外,放弃转发所述mDNS应答报文时,具体用于:
若邻居列表中缺少所述设备标识,所述网络设备放弃转发所述mDNS应答报文,所述邻居列表包括与所述网络设备相近且与任意终端设备连接的网络设备的标识。
10.如权利要求8或9所述的网络设备,其特征在于,所述转发控制参数包括距离;
所述处理器在用于若所述终端设备处于所述网络设备的位置相关的转发区域外,放弃转发所述mDNS应答报文时,具体用于:
若所述距离大于距离阈值,放弃转发所述mDNS应答报文;
所述处理器还用于:若所述距离小于等于所述距离阈值并且所述网络设备包括接收所述mDNS应答报文的端口之外的网络侧端口,增加所述mDNS应答报文中的所述距离,并向接收所述mDNS应答报文的端口之外的网络侧端口转发所述mDNS应答报文。
11.如权利要求8所述的网络设备,其特征在于,所述通信端口还包括终端侧端口,所述转发控制参数包括设备标识,所述mDNS应答报文还包括服务类型,所述设备标识为与所述终端设备连接的网络设备的标识,所述服务类型指示了所述终端设备所提供的服务;
所述处理器在用于若所述终端设备处于所述网络设备的位置相关的转发区域外,放弃转发所述mDNS应答报文时,具体用于:
在多个转发列表中选择对应于所述服务类型的转发列表,其中,所述转发列表包括至少一个网络设备的标识,所述至少一个网络设备与提供所述服务类型的服务的终端设备连接;
若对应于所述服务类型的转发列表中缺少所述设备标识,放弃向所述终端侧端口转发所述mDNS应答报文。
12.如权利要求11所述的网络设备,其特征在于,所述处理器还用于:
根据所述mDNS应答报文中的所述服务类型更新服务数据,所述服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识,所述服务数据中的与所述服务类型对应的一个或多个设备标识为提供所述服务类型的服务的一个或多个终端设备的标识或提供所述服务类型的服务的终端设备所连接的一个或多个网络设备的标识;
及,根据所述服务数据更新对应于所述服务类型的所述转发列表,更新后的所述转发列表仅包括更新后的所述服务数据中与所述网络设备相近的一个或多个终端设备所连接的网络设备的标识,或者更新后的所述转发列表仅包括更新后的所述服务数据中与所述网络设备相近的一个或多个网络设备的标识。
13.如权利要求11所述的网络设备,其特征在于,所述转发控制参数还包括距离;
所述处理器还用于:根据所述mDNS应答报文中的所述距离和所述服务类型更新服务数据,所述服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识以及所述一个或多个设备标识对应的距离,所述服务数据中的与所述服务类型对应的一个或多个设备标识为提供所述服务类型的服务的终端设备所连接的一个或多个网络设备的标识;
所述处理器在用于若所述终端设备处于所述网络设备的位置相关的转发区域外,放弃转发所述mDNS应答报文时,具体用于:
若所述服务数据的一个或多个设备标识中存在至少一个网络设备的标识对应的距离小于所述mDNS应答报文中的距离,所述网络设备放弃向所述终端侧端口转发所述mDNS应答报文;
若所述网络设备包括接收所述mDNS应答报文的端口之外的网络侧端口,所述网络设备增加所述mDNS应答报文中的所述距离,并向接收所述mDNS应答报文的端口之外的网络侧端口转发所述mDNS应答报文。
14.如权利要求8所述的网络设备,其特征在于,所述通信端口还包括终端侧端口,所述转发控制参数包括距离,所述mDNS应答报文还包括服务类型,所述服务类型指示了所述终端设备所提供的服务;
所述处理器,还用于根据所述mDNS应答报文中的所述距离和所述服务类型更新服务数据,所述服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识以及所述一个或多个设备标识对应的距离,所述服务数据中的与所述服务类型对应的一个或多个设备标识为提供所述服务类型的服务的一个或多个终端设备的标识;
所述处理器在用于若所述终端设备处于所述网络设备的位置相关的转发区域外,放弃转发所述mDNS应答报文时,具体用于:
若所述服务数据的一个或多个设备标识中存在至少一个终端设备的标识对应的距离小于所述mDNS应答报文中的距离,放弃向所述终端侧端口转发所述mDNS应答报文;
若所述网络设备包括接收所述mDNS应答报文的端口之外的网络侧端口,增加所述mDNS应答报文中的所述距离,并向接收所述mDNS应答报文的端口之外的网络侧端口转发所述mDNS应答报文。
15.一种网络设备,其特征在于,包括:
获取模块,用于接收终端设备发送的组播域名系统mDNS应答报文,并获取所述mDNS应答报文中的转发控制参数,其中,所述转发控制参数与所述终端设备的位置相关;
处理模块,用于若所述终端设备处于与所述网络设备的位置相关的转发区域外,放弃转发所述mDNS应答报文。
16.如权利要求15所述的网络设备,其特征在于,所述转发控制参数包括设备标识,所述设备标识为与所述终端设备连接的网络设备的标识;
所述获取模块,用于若邻居列表中缺少所述设备标识,放弃转发所述mDNS应答报文,所述邻居列表包括与所述网络设备相近且与任意终端设备连接的网络设备的标识。
17.如权利要求15或16所述的网络设备,其特征在于,所述转发控制参数包括距离;
所述处理模块,用于若所述距离大于距离阈值,放弃转发所述mDNS应答报文;或者用于若所述距离小于等于所述距离阈值并且所述网络设备包括接收所述mDNS应答报文的端口之外的网络侧端口,增加所述mDNS应答报文中的所述距离,并向接收所述mDNS应答报文的端口之外的网络侧端口转发所述mDNS应答报文。
18.如权利要求15所述的网络设备,其特征在于,所述转发控制参数包括设备标识,所述mDNS应答报文还包括服务类型,所述设备标识为与所述终端设备连接的网络设备的标识,所述服务类型指示了所述终端设备所提供的服务;
所述处理模块,用于在多个转发列表中选择对应于所述服务类型的转发列表,其中,所述转发列表包括至少一个网络设备的标识,所述至少一个网络设备与提供所述服务类型的服务的终端设备连接;以及,若对应于所述服务类型的转发列表中缺少所述设备标识,放弃向所述网络设备的终端侧端口转发所述mDNS应答报文。
19.如权利要求18所述的网络设备,其特征在于,所述网络设备还包括:
第一更新模块,与所述处理模块相连,用于根据所述mDNS应答报文中的所述服务类型更新服务数据,所述服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识,所述服务数据中的与所述服务类型对应的一个或多个设备标识为提供所述服务类型的服务的一个或多个终端设备的标识或提供所述服务类型的服务的终端设备所连接的一个或多个网络设备的标识;
及,根据所述服务数据更新对应于所述服务类型的所述转发列表,更新后的所述转发列表仅包括更新后的所述服务数据中与所述网络设备相近的一个或多个终端设备所连接的网络设备的标识,或者更新后的所述转发列表仅包括更新后的所述服务数据中与所述网络设备相近的一个或多个网络设备的标识。
20.如权利要求18所述的网络设备,其特征在于,所述转发控制参数还包括距离;
所述网络设备还包括与所述处理模块相连的第二更新模块,用于根据所述mDNS应答报文中的所述距离和所述服务类型更新服务数据,所述服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识以及所述一个或多个设备标识对应的距离,所述服务数据中的与所述服务类型对应的一个或多个设备标识为提供所述服务类型的服务的终端设备所连接的一个或多个网络设备的标识;
所述处理模块还用于:若所述服务数据的一个或多个设备标识中存在至少一个网络设备的标识对应的距离小于所述mDNS应答报文中的距离,所述网络设备放弃向所述终端侧端口转发所述mDNS应答报文;以及,若所述网络设备包括接收所述mDNS应答报文的端口之外的网络侧端口,所述网络设备增加所述mDNS应答报文中的所述距离,并向接收所述mDNS应答报文的端口之外的网络侧端口转发所述mDNS应答报文。
21.如权利要求15所述的网络设备,其特征在于,所述转发控制参数包括距离,所述mDNS应答报文还包括服务类型,所述服务类型指示了所述终端设备所提供的服务;
所述网络设备还包括与所述处理模块相连的第三更新模块,用于根据所述mDNS应答报文中的所述距离和所述服务类型更新服务数据,所述服务数据包括多个服务类型中各个服务类型对应的一个或多个设备标识以及所述一个或多个设备标识对应的距离,所述服务数据中的与所述服务类型对应的一个或多个设备标识为提供所述服务类型的服务的一个或多个终端设备的标识;
所述处理模块,还用于若所述服务数据的一个或多个设备标识中存在至少一个终端设备的标识对应的距离小于所述mDNS应答报文中的距离,放弃向所述网络设备的终端侧端口转发所述mDNS应答报文;以及,若所述网络设备包括接收所述mDNS应答报文的端口之外的网络侧端口,增加所述mDNS应答报文中的所述距离,并向接收所述mDNS应答报文的端口之外的网络侧端口转发所述mDNS应答报文。
22.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710466194.8A CN109151086B (zh) | 2017-06-19 | 2017-06-19 | 一种报文转发方法和网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710466194.8A CN109151086B (zh) | 2017-06-19 | 2017-06-19 | 一种报文转发方法和网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109151086A true CN109151086A (zh) | 2019-01-04 |
CN109151086B CN109151086B (zh) | 2021-03-23 |
Family
ID=64804478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710466194.8A Active CN109151086B (zh) | 2017-06-19 | 2017-06-19 | 一种报文转发方法和网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109151086B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981819A (zh) * | 2019-03-22 | 2019-07-05 | 新华三技术有限公司合肥分公司 | mDNS报文处理方法、装置和组网系统 |
CN114143257A (zh) * | 2020-09-03 | 2022-03-04 | 华为技术有限公司 | 一种生成表项的方法、发送报文的方法、设备及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140094195A1 (en) * | 2012-09-28 | 2014-04-03 | Tencent Technology (Shenzhen) Company Limited | Terminal location obtaining method, device, and system |
CN104243190A (zh) * | 2013-06-09 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种实现零配置联网协议服务的方法和网络设备 |
CN105162900A (zh) * | 2015-09-25 | 2015-12-16 | 中国互联网络信息中心 | 一种多节点协作的域名解析和缓存方法及系统 |
CN105611503A (zh) * | 2015-12-30 | 2016-05-25 | 东软集团股份有限公司 | 一种车载网络环境下的信息通信方法及系统 |
CN105847353A (zh) * | 2016-03-22 | 2016-08-10 | 中国科学院信息工程研究所 | 一种面向移动通信网络的移动cdn内容调度方法与系统 |
-
2017
- 2017-06-19 CN CN201710466194.8A patent/CN109151086B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140094195A1 (en) * | 2012-09-28 | 2014-04-03 | Tencent Technology (Shenzhen) Company Limited | Terminal location obtaining method, device, and system |
CN104243190A (zh) * | 2013-06-09 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种实现零配置联网协议服务的方法和网络设备 |
CN105162900A (zh) * | 2015-09-25 | 2015-12-16 | 中国互联网络信息中心 | 一种多节点协作的域名解析和缓存方法及系统 |
CN105611503A (zh) * | 2015-12-30 | 2016-05-25 | 东软集团股份有限公司 | 一种车载网络环境下的信息通信方法及系统 |
CN105847353A (zh) * | 2016-03-22 | 2016-08-10 | 中国科学院信息工程研究所 | 一种面向移动通信网络的移动cdn内容调度方法与系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981819A (zh) * | 2019-03-22 | 2019-07-05 | 新华三技术有限公司合肥分公司 | mDNS报文处理方法、装置和组网系统 |
CN114143257A (zh) * | 2020-09-03 | 2022-03-04 | 华为技术有限公司 | 一种生成表项的方法、发送报文的方法、设备及系统 |
CN114143257B (zh) * | 2020-09-03 | 2023-04-28 | 华为技术有限公司 | 一种生成表项的方法、发送报文的方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109151086B (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10715482B2 (en) | Wide area service discovery for internet of things | |
US7505464B2 (en) | Method of identifying a home gateway using network traffic sniffing and apparatus employing the same | |
CN101056310B (zh) | 通信装置 | |
US8837483B2 (en) | Mapping private and public addresses | |
US8626921B2 (en) | Device and service management based on layer 2 through layer 7 device attributes | |
EP2922321B1 (en) | 6lowpan network-based service discovery | |
US8543674B2 (en) | Configuration of routers for DHCP service requests | |
US7428574B2 (en) | Device cooperation service system and electronic devices included in the system | |
KR20170039262A (ko) | 사물 인터넷(iot)에서의 디바이스 로케이션 등록을 위한 서버 | |
US20220417148A1 (en) | Packet Processing Method and Apparatus | |
KR20170038124A (ko) | Ue들 및 고정 액세스 네트워크에서 작동하는 방법 | |
EP3320668A1 (en) | Discovery of resources in a local network | |
WO2018113693A1 (zh) | 局域网设备通信管理方法、系统及网关设备 | |
CN106716939B (zh) | 数据流递送中改进的qos | |
JP5242301B2 (ja) | メッセージを転送する装置、出力方法および出力プログラム | |
KR100429902B1 (ko) | 공중망에서 사설망 내의 디바이스를 제어하기 위한 장치및 방법 | |
CN104519077A (zh) | 多媒体分享方法、注册方法、服务器及代理服务器 | |
US20110142212A1 (en) | Method and apparatus for providing service oriented common access network service | |
KR100785482B1 (ko) | 한 개 이상의 서브 네트워크간 컴포넌트를 디스커버리 하는방법 및 그 장치 | |
CN109151086A (zh) | 一种报文转发方法和网络设备 | |
JP5091217B2 (ja) | ホーム機器情報収集装置及びホーム機器情報収集方法 | |
WO2019096103A1 (zh) | 一种用于配置业务流的方法及装置 | |
CN111064825B (zh) | 一种基于arp实现dpi数据采集和控制方法和装置 | |
JP2008148243A (ja) | 通信装置、通信システム、通信方法及び通信プログラム | |
EP2077029A1 (en) | Identifying a subnet address range from dns information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |