CN116527579A - 一种通信方法及通信装置 - Google Patents
一种通信方法及通信装置 Download PDFInfo
- Publication number
- CN116527579A CN116527579A CN202210327033.1A CN202210327033A CN116527579A CN 116527579 A CN116527579 A CN 116527579A CN 202210327033 A CN202210327033 A CN 202210327033A CN 116527579 A CN116527579 A CN 116527579A
- Authority
- CN
- China
- Prior art keywords
- node
- address
- message
- field
- discovery
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 209
- 238000004891 communication Methods 0.000 title claims abstract description 137
- 230000008859 change Effects 0.000 claims description 41
- 238000012790 confirmation Methods 0.000 claims description 25
- 230000003993 interaction Effects 0.000 abstract description 28
- 206010033799 Paralysis Diseases 0.000 abstract description 13
- 238000012545 processing Methods 0.000 description 45
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 14
- 102220582676 Biotinidase_S20A_mutation Human genes 0.000 description 5
- 102220582675 Biotinidase_S20D_mutation Human genes 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 102220061996 rs786203944 Human genes 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005059 dormancy Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供了一种通信方法及通信装置,用于在树型的网络拓扑场景中通过上下级节点之间的交互实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。在该方法中,第一节点发送第一发现报文,该第一发现报文用于请求分配地址;该第一节点接收来自第二节点的第一提供报文,该第一提供报文包括第二节点为第一节点分配的第一地址;该第一节点接收来自该第三节点的第二发现报文,该第二发现报文用于请求分配地址;该第一节点向该第三节点发送第二提供报文,该第二提供报文包括第一节点为第三节点分配的第二地址。
Description
本申请要求于2022年01月24日提交中国专利局、申请号为202210082179.4、发明名称为“一种NewIP树型拓扑层次化地址端到端动态分配的方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及通信装置。
背景技术
层次化地址,是在树型的网络拓扑场景中使用的一种编址方式,能够减少设备转发表项数量、提升业务收敛性能。
目前,在树型的网络拓扑场景中,包含有两类设备,一类设备是存在下级节点的设备,这一类设备可以称为网络设备;另一类是不存在下级节点的设备,这一类设备可以称为终端设备。其中,对于网络设备而言,其层次化地址需要手工配置。
然而,在上述实现方式中,需要耗费人力进行手工配置。特别的,当网络拓扑发生改变时,例如新增设备或移除设备的情况下,由于设备修改配置工作量大,手工配置的方式也有可能出现配置出错而导致网络瘫痪的情况出现。
为此,如何优化树型的网络拓扑场景中的地址分配方式,是一个亟待解决的技术问题。
发明内容
本申请提供了一种通信方法及通信装置,用于在树型的网络拓扑场景中通过上下级节点之间的交互实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。
本申请实施例第一方面提供了一种通信方法,该方法由第一节点执行,或者,该方法由第一节点中的部分组件(例如处理器、芯片或芯片系统等)执行,或者,该方法由能实现全部或部分第一节点功能的逻辑模块或软件实现。在第一方面及其可能的实现方式中,以该通信方法由第一节点执行为例进行描述,其中,第一节点可以为路由器、交换机、虚拟机等设备。在该方法中,第一节点发送第一发现报文,该第一发现报文用于请求分配地址;该第一节点接收来自第二节点的第一提供报文,该第一提供报文包括该第二节点为该第一节点分配的第一地址;其中,该第一地址包括第一字段和第二字段,该第一字段的取值为该第二节点的地址的取值且该第二节点为该第一节点的上级节点,该第二字段的取值为该第一节点的标识;该第一节点接收来自第三节点的第二发现报文,该第二发现报文用于请求分配地址,该第三节点为该第一节点的下级节点;该第一节点向该第三节点发送第二提供报文,该第二提供报文包括该第一节点为该第三节点分配的第二地址,该第二地址包括第三字段和第四字段,该第三字段的取值为该第一地址的取值,该第四字段的取值为该第三节点的标识。
基于上述技术方案,第一节点接收的第一提供报文包含有第一地址,该第一地址中第一字段的取值为第二节点的地址的取值且该第一地址中第二字段的取值为该第一节点的标识;并且,第一节点发送的第二提供报文包含有第二地址,该第二地址中第三字段的取值为该第一节点的地址的取值且该第二地址中第四字段的取值为第三节点的标识。其中,该第二节点为该第一节点的上级节点且该第三节点为该第一节点的下级节点,即第一节点既能够接收上级节点分配的层次化地址,也能够向下级节点分配层次化地址。换言之,在包含有第二节点、第一节点和第三节点的树型的网络拓扑场景中,第一节点既能作为终端设备接收上级节点的自动分配的层次化地址,也能够作为网络设备自动向下级节点分配层次化地址。从而,在树型的网络拓扑场景中通过上下级节点之间的交互实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。
应理解,层次化地址为新互联网协议(NewIP)的特性之一,为此,上述技术效果也可以表述为在树型的网络拓扑场景中通过上下级节点之间的交互实现NewIP协议中层次化地址的自动分配。
需要说明的是,本申请实施例中所涉及的发现报文(如第一发现报文,以及后文的第二发现报文,第三发现报文,第四发现报文等)用于请求分配地址,即该发现报文为该发现报文的发送端不具备地址的情况下所发送的报文。为此,该发送端可以以泛洪的方式发送该发现报文,以期该发现报文能被多个接收端接收并获得该发现报文的响应(即提供报文)。
可选地,该发现报文的发送端存在向上级节点通信的接口(可称为北向接口)以及向下级节点通信的接口(可称为南向接口)的情况下,由于一般情况下仅有上级节点具备分配地址的能力,为此,该发现报文也可以为通过向上级节点通信的接口泛洪的方式发送,以节省开销。
可见,发现报文的发送端可以在不同的场景下灵活地选用上述发送方式。例如,在该发送端(由于未经过配置而)无法确定所连接的节点中哪些节点是上级节点的情况下,发送端可以采用全体泛洪的方式发送该发现报文。又如,在该发送端能够感知所连接的节点中哪些节点是上级节点的情况下,可以采用选择性泛洪的方式发送该发现报文,以节省开销。
此外,在本申请实施例中,上级节点可以为下级节点分配的地址中包括取值为该下级节点的标识的字段(例如第二节点为第一节点分配的第一地址中的第二字段,第一节点为第三节点分配的第二地址中的第四字段,以及后文存在的其他分配的字段),由于该上级节点可能为多个下级节点分配地址,为此,该字段的目的是用于通过不同的取值用以区分该多个下级节点。
可选地,取值为该下级节点的标识的字段可以存在多种取值情况,可以为上级节点配置的取值(例如该取值为上级节点按照多个下级节点发送发现报文的时间顺序所配置的序号,该取值为该上级节点分别接收来自多个下级节点的发现报文的时间戳等),也可以为多个下级节点预配置的互不相同的取值(例如该取值为多个下级节点的媒介接入控制(media access control,MAC)地址,该取值为多个下级节点的设备编号等),或者是其他的实现方式,此处不做限定。
在第一方面的一种可能的实现方式中,在该第一节点向该第三节点发送第二提供报文之后,该方法还包括:在确定与该第二节点断开连接之后,该第一节点向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址。
基于上述技术方案,在该第一节点确定与该第二节点断开连接的情况下,第一节点确定该第二节点为该第一节点分配的第一地址失效且第一节点基于该第一地址分配的第二地址失效。为此,该第一节点向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址,使得第三节点明确该第二地址失效并清除该第二地址。从而,在网络拓扑发生改变(例如第一节点与第二节点断开连接)时,通过不同节点之间的协商实现层次化地址的动态更新。
在第一方面的一种可能的实现方式中,在第一节点向第三节点发送第二提供报文之后之后,该方法还包括:在确定与该第二节点断开连接之后,该第一节点发送第三发现报文,该第三发现报文用于请求分配地址;该第一节点接收来自第四节点的第三提供报文,该第三提供报文包括该第四节点为该第一节点分配的第三地址;其中,该第四节点为该第一节点的上级节点,该第三地址包括第五字段和第六字段,该第五字段的取值为该第四节点的地址的取值,该第六字段的取值为该第一节点的标识。
基于上述技术方案,在该第一节点确定与该第二节点断开连接的情况下,第一节点确定该第二节点为该第一节点分配的第一地址失效。为此,该第一节点可以向该其它上级节点(例如第四节点)发送用于请求分配地址的第三发现报文,并获取来自该第四节点为该第一节点分配的第三地址。从而,在网络拓扑发生改变(例如第一节点与第二节点断开连接)时,通过不同节点之间的协商实现层次化地址的动态更新。
可选地,第三地址中第六字段的取值和第一地址中的第二字段的取值均为第一节点的标识,如前文所示,作为下级节点的第一节点的标识可以存在多种实现方式。为此,第三地址中第六字段的取值和第一地址中的第二字段的取值可以是同一取值,或者,第三地址中第六字段的取值和第一地址中的第二字段的取值也可以是不同的取值,即不同上级节点为第一节点分配的标识可以相同,也可以不同,此处不做限定。
在第一方面的一种可能的实现方式中,在该第一节点接收来自第二节点的第一提供报文之后,该方法还包括:在确定与该第二节点断开连接之后,该第一节点清除该第一地址。
基于上述技术方案,该第一节点确定与该第二节点断开连接之后,该第一节点确定第二节点为该第一节点所分配的第一地址将会失效。为此,该第一节点可以在本地清除该第一地址,后续可以通过发现报文向上级节点获取新的地址。
在第一方面的一种可能的实现方式中,该第一节点确定与该第二节点断开连接包括以下至少一项:该第一节点确定与该第二节点之间的端口状态为故障(down);或,该第一节点确定该第一地址续租超时;或,该第一节点接收来自该第二节点的第二变更报文,以指示该第一节点清除该第一地址。
应理解,第一节点与该第二节点断开连接,可以包括该第一节点与第二节点之间的链路断开,也可以包括该第一节点与该第二节点之间的链路休眠,还可以包括第二节点(或第二节点的上级节点)故障等,此处不做限定。
基于上述技术方案,对于第一节点而言,第一节点可以通过上述多种方式明确第二节点断开连接,并进一步明确该第二节点为该第一节点分配的第一地址失效。
在第一方面的一种可能的实现方式中,在该第一节点接收来自该第二节点的该第一提供报文之前,该方法还包括:该第一节点接收第四发现报文,该第四发现报文用于请求分配地址;该第一节点发送第一非确认报文,该第一非确认报文用于指示拒绝分配地址。
基于上述技术方案,在该第一节点接收来自该第二节点的该第一提供报文之前,即第一节点未收到上级节点分配的地址之前,该第一节点不具备向下级节点分配地址的能力(或称第一节点当前的层次化地址无效)。为此,该第一节点接收用于请求分配地址的第四发现报文之后,该第一节点发送用于指示拒绝分配地址的第一非确认报文,使得该第一非确认报文的接收方明确该第一节点当前不具备分配地址的能力。
在第一方面的一种可能的实现方式中,在该第一节点接收来自该第二节点的第一提供报文之前,该方法还包括:该第一节点接收来自该第三节点的第二非确认报文,该第二非确认报文用于指示拒绝分配地址。
基于上述技术方案,在该第一节点接收第一提供报文之前,即第一节点未收到上级节点分配的地址之前,第一节点并不明确自身的地址,相应的,第一节点的下级节点(例如第三节点)也不明确自身的地址。其中,第一节点所发送第一发现报文的数量可以为多个,某个第一发现报文被第三节点接收之后,由于该第三节点不具备分配地址的能力(或称第三节点当前的层次化地址无效),该第三节点会向该第一节点发送用于指示拒绝分配地址的第二非确认报文,使得第一节点基于该第二非确认报文明确第三节点当前不具备分配地址的能力。
此外,上述用于指示拒绝分配地址的非确认报文(包括第一非确认报文、第二非确认报文,以及后文可能出现的第三非确认报文、第四非确认报文和第五非确认报文等)为基于发现报文所反馈的报文。其中,发现报文的发送端所发送的发现报文可以是以泛洪(全体泛洪或选择性的泛洪)的方式发送的。为此,发现报文的接收端在多种情况下都有可能接收到该发现报文。其中,在该发现报文的接收端尚未接收到来自上级节点分配的地址(即该接收端不具备地址分配能力,或称该接收端的当前层次化地址无效)的情况下,在接收到发现报文之后,该接收端反馈的报文为用于指示拒绝分配地址的非确认报文;而在该发现报文的接收端确定已接收到来自上级节点分配的地址(即该接收端具备地址分配能力,或称该接收端的当前层次化地址有效)的情况下,在接收到发现报文之后,该接收端反馈的报文为用于分配地址的提供报文。从而,对于任一上级节点而言,该上级节点当前的层次化地址无效的情况下会基于接收到的发现报文反馈非确认报文,该上级节点当前的层次化地址有效的情况下会基于接收到的发现报文反馈提供报文,即该上级节点的层次化地址有效之后才会为下级节点分配地址以使得该下级节点的层次化地址有效。从而,基于该非确认报文和提供报文的反馈,在树形网络中通过从上级节点到下级节点的按序分配地址的方式,实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。
在第一方面的一种可能的实现方式中,在该第一节点接收来自该第二节点的第一提供报文之后且在该第一节点向该第三节点发送该第二提供报文之前,该方法还包括:该第一节点向该第二节点发送第一请求报文,该第一请求报文用于指示请求使用该第一地址;该第一节点接收来自该第二节点的第一确认报文,该第一确认报文用于指示允许使用该第一地址。
基于上述技术方案,在该第一节点接收来自该第二节点的第一提供报文之后,该第一节点向该第二节点发送用于指示请求使用该第一地址的第一请求报文,并接收来自该第二节点的用于指示允许使用该第一地址的第一确认报文。使得第一节点基于该第一确认报文明确能够基于该第一地址分配地址的情况下,该第一节点向该第三节点发送包含有基于该第一地址所分配的第二地址的第二提供报文。
此外,第二节点可能存在多个下级节点,而该多个下级节点都有可能向该第二节点发送用于请求分配地址的发现报文,而第二节点有可能不止将该第一地址分配给第一节点,还可能将该第一地址分配给其它下级节点。为此,第一节点可以通过该第一请求报文以及第一确认报文的交互,以明确该第二节点允许该第一节点使用该第一地址,即明确该第一节点之外的其他节点未被允许使用该第一地址,以避免地址分配冲突。
在第一方面的一种可能的实现方式中,在该第一节点接收来自该第二节点的该第一确认报文之前,该方法还包括:该第一节点接收第五发现报文,该第五发现报文用于请求分配地址;该第一节点发送第三非确认报文,该第三非确认报文用于指示拒绝分配地址。
基于上述技术方案,在该第一节点接收来自该第二节点的该第一确认报文之前,由于第一节点并不明确第二节点是否允许该第一节点使用该第一地址,即第一节点并不明确第一节点是否能够基于该第一地址为下级节点分配地址。为此,该第一节点接收用于请求分配地址的第五发现报文之后,该第一节点发送用于指示拒绝分配地址的第三非确认报文,以使得该第三非确认报文的接收方明确该第一节点当前不具备分配地址的能力。
在第一方面的一种可能的实现方式中,在该第一节点向该第三节点发送第二提供报文之后,该方法还包括:该第一节点接收来自该第三节点的第二请求报文,该第二请求报文用于指示请求使用该第二地址;该第一节点向该第三节点发送第二确认报文,该第二确认报文用于指示允许使用该第二地址。
基于上述技术方案,在该第一节点向该第三节点发送第二提供报文之后,该第一节点接收来自第三节点的用于指示请求使用该第二地址的第二请求报文之后,该第一节点向该第三节点发送用于指示允许使用该第二地址的第二确认报文。使得第三节点基于该第二确认报文能够明确该第二地址为允许使用的地址。
此外,第一节点可能存在多个下级节点,而该多个下级节点都有可能向该第一节点发送用于请求分配地址的发现报文,而第一节点有可能不止将该第二地址分配给第三节点,还可能将该第二地址分配给其它下级节点。为此,第二节点可以通过该第二请求报文以及第二确认报文的交互,以明确该第一节点允许该第二节点使用该第二地址,即明确该第二节点之外的其他节点未被允许使用该第二地址,以避免地址分配冲突。
在第一方面的一种可能的实现方式中,该第一地址和第二地址为NewIP地址。
基于上述技术方案,层次化地址为新互联网协议(NewIP)的特性之一,为此,该实现方式中不同节点(包括第一节点、第二节点和第三节点等)之间可以基于NewIP这一协议进行通信,在此基础上,上述节点所分配的地址(包括第一地址、第二地址以及可能存在的第三地址等)为NewIP地址。
在第一方面的一种可能的实现方式中,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为动态主机配置协议(dynamic host configurationprotocol,DHCP)报文。
基于上述技术方案,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为DHCP报文,即该第一发现报文和该第二发现报文可以为DHCP中的动态主机配置协议发现(DHCP discover)报文,该第一提供报文和该第二提供报文可以为DHCP中的动态主机配置协议提供(DHCP offer)报文。使得该实现方式能够复用DHCP的报文处理机制实现层次化地址的自动分配。
可选地,本申请涉及的其他发现报文(例如第三发现报文、第四发现报文、第五发现报文等)都可以为DHCP discover报文,本申请涉及的其他提供报文都可以为DHCP offer报文。类似地,本申请涉及的请求报文(例如第一请求报文、第二请求报文等)也可以为DHCP中的动态主机配置协议请求(DHCP request)报文,本申请涉及的确认报文(例如第一确认报文、第二确认报文等)也可以为DHCP中的动态主机配置协议确认(DHCP ACK)报文,本申请涉及的非确认报文(例如第一非确认报文、第二非确认报文等)也可以为DHCP中的动态主机配置协议非确认(DHCP NAK)报文。
应理解,层次化地址为新互联网协议(NewIP)的特性之一,为此,上述技术方案也可以表述为通过对DHCP协议的扩展,以支持NewIP协议中层次化地址的自动分配。
需要说明的是,上述技术方案中以本申请涉及的报文(例如该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文等)为DHCP报文作为示例进行说明。在实际应用中,当网络拓扑中的各个节点应用不同于DHCP的其它地址分配协议的情况下,例如引导程序协议(bootstrap protocol,BOOTP)、私有化的地址分配协议,或者其它地址分配协议的情况下,本申请涉及的报文还可以为该其他地址分配协议中的报文。
在第一方面的一种可能的实现方式中,在该第一地址中,该第一字段位于该第二字段之前;和/或,在该第二地址中,该第三字段位于该第四字段之前。
基于上述技术方案,在该第一地址中,取值为上级节点(即该第二节点)的地址的取值的第一字段可以位于取值为该第一节点的标识的第二字段之前,以便于基于该第一节点的第一地址明确第一节点的上级节点的地址以及第一节点所在网络的网络拓扑关系。
类似地,在该第二地址中,取值为上级节点(即该第一节点)的地址的取值的第三字段可以位于取值为该第三节点的标识的第四字段之前,以便于基于该第三节点的第二地址明确第三节点的上级节点的地址以及第三节点所在网络的网络拓扑关系。
在第一方面的一种可能的实现方式中,该方法应用于树形网络,该第二节点为该树形网络的根节点或该树形网络的中间节点。
基于上述技术方案,作为第一节点的上级节点,该第二节点既可以为网络拓扑中的根节点(即仅具备下级节点不具备上级节点),第二节点也可以为网络拓扑中的中间节点(即具备下级节点且具备上级节点),此处不做限定。
在第一方面的一种可能的实现方式中,该方法应用于树形网络,该第三节点为该树形网络的叶子节点或该树形网络的中间节点。
基于上述技术方案,作为第一节点的下级节点,该第三节点既可以为网络拓扑中的叶子节点(即仅具备上级节点不具备下级节点),第三节点也可以为网络拓扑中的中间节点(即具备下级节点且具备上级节点),此处不做限定。
本申请实施例第二方面提供了一种通信方法,该方法由通信系统实现。例如,该方法由通信系统中的各个节点(包括第一节点、第二节点和第三节点等)执行,或者,该方法由各个节点(包括第一节点、第二节点和第三节点等)中的部分组件(例如处理器、芯片或芯片系统等)执行,或者,该方法由能实现全部或部分各个节点(包括第一节点、第二节点和第三节点等)功能的逻辑模块或软件实现。在第二方面及其可能的实现方式中,以该通信方法由各个节点(包括第一节点、第二节点和第三节点等)执行为例进行描述,其中,各个节点(包括第一节点、第二节点和第三节点等)可以为路由器、交换机、虚拟机等设备。其中,该第二节点为该第一节点的上级节点且该第三节点为该第一节点的下级节点。
在该方法中,该第一节点发送第一发现报文,该第一发现报文用于请求分配地址;该第二节点接收该第一发现报文,并向该第一节点发送第一提供报文,该第一提供报文该第二节点为该第一节点分配的包括第一地址;其中,该第一地址包括第一字段和第二字段,该第一字段的取值为第二节点的地址的取值,该第二字段的取值为该第一节点的标识;该第一节点接收该第一提供报文;该第三节点发送第二发现报文,该第二发现报文用于请求分配地址;该第一节点接收该第二发现报文,并向该第三节点发送第二提供报文,该第二提供报文包括该第一节点为该第三节点分配的第二地址,该第二地址包括第三字段和第四字段,该第三字段的取值为该第一地址的取值,该第四字段的取值为该第三节点的标识;该第三节点接收该第二提供报文。
基于上述技术方案,第一节点接收的来自于第二节点的第一提供报文包含有第一地址,该第一地址中第一字段的取值为第二节点的地址的取值且该第一地址中第二字段的取值为该第一节点的标识;并且,第一节点向第三节点发送的第二提供报文包含有第二地址,该第二地址中第三字段的取值为该第一节点的地址的取值且该第二地址中第四字段的取值为第三节点的标识。其中,该第二节点为该第一节点的上级节点且该第三节点为该第一节点的下级节点,即第一节点既能够接收上级节点分配的层次化地址,也能够向下级节点分配层次化地址。换言之,在包含有第二节点、第一节点和第三节点的树型的网络拓扑场景中,第一节点既能作为终端设备接收上级节点的自动分配的层次化地址,也能够作为网络设备自动向下级节点分配层次化地址。从而,在树型的网络拓扑场景中通过上下级节点之间的交互实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。
应理解,层次化地址为新互联网协议(NewIP)的特性之一,为此,上述技术效果也可以表述为在树型的网络拓扑场景中通过上下级节点之间的交互实现NewIP协议中层次化地址的自动分配。
需要说明的是,本申请实施例中所涉及的发现报文(如第一发现报文,以及后文的第二发现报文,第三发现报文,第四发现报文等)用于请求分配地址,即该发现报文为该发现报文的发送端不具备地址的情况下所发送的报文。为此,该发送端可以以泛洪的方式发送该发现报文,以期该发现报文能被多个接收端接收并获得该发现报文的响应(即提供报文)。
可选地,该发现报文的发送端存在向上级节点通信的接口(可称为北向接口)以及向下级节点通信的接口(可称为南向接口)的情况下,由于一般情况下仅有上级节点具备分配地址的能力,为此,该发现报文也可以为通过向上级节点通信的接口泛洪的方式发送,以节省开销。
可见,发现报文的发送端可以在不同的场景下灵活地选用上述发送方式。例如,在该发送端(由于未经过配置而)无法确定所连接的节点中哪些节点是上级节点的情况下,发送端可以采用全体泛洪的方式发送该发现报文。又如,在该发送端能够感知所连接的节点中哪些节点是上级节点的情况下,可以采用选择性泛洪的方式发送该发现报文,以节省开销。
此外,在本申请实施例中,上级节点可以为下级节点分配的地址中包括取值为该下级节点的标识的字段(例如第二节点为第一节点分配的第一地址中的第二字段,第一节点为第三节点分配的第二地址中的第四字段,以及后文存在的其他分配的字段),由于该上级节点可能为多个下级节点分配地址,为此,该字段的目的是用于通过不同的取值用以区分该多个下级节点。
可选地,取值为该下级节点的标识的字段可以存在多种取值情况,可以为上级节点配置的取值(例如该取值为上级节点按照多个下级节点发送发现报文的时间顺序所配置的序号,该取值为该上级节点分别接收来自多个下级节点的发现报文的时间戳等),也可以为多个下级节点预配置的互不相同的取值(例如该取值为多个下级节点的媒介接入控制(media access control,MAC)地址,该取值为多个下级节点的设备编号等),或者是其他的实现方式,此处不做限定。
在第二方面的一种可能的实现方式中,在该第一节点向该第三节点发送第二提供报文之后,该方法还包括:在该第一节点确定与该第二节点断开连接之后,该第一节点向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址;该第三节点接收该第一变更报文,并清除该第二地址。
基于上述技术方案,在该第一节点确定与该第二节点断开连接的情况下,第一节点确定该第二节点为该第一节点分配的第一地址失效且第一节点基于该第一地址分配的第二地址失效。为此,该第一节点向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址,使得第三节点明确该第二地址失效并清除该第二地址。从而,在网络拓扑发生改变(例如第一节点与第二节点断开连接)时,通过不同节点之间的协商实现层次化地址的动态更新。
在第二方面的一种可能的实现方式中,该方法还包括:该第三节点向该第三节点的下级节点发送该第一变更报文。
基于上述技术方案,在第三节点还包含有下级节点的情况下,在第三节点接收该第一变更报文之后,第三节点还可以向该第三节点的下级节点发送该第一变更报文,以指示该第三节点的下级节点清除该第三节点所分配的地址,使得第三节点的下级节点明确所分配的地址失效并清除该地址。从而,在网络拓扑发生改变(例如第一节点与第二节点断开连接)时,通过不同节点之间的协商,在多层网络拓扑中实现层次化地址的动态更新。
在第二方面的一种可能的实现方式中,该系统还包括第四节点,该第四节点为该第一节点的上级节点,在该第一节点向该第三节点发送该第二提供报文之后,该方法还包括:在确定与该第二节点断开连接之后,该第一节点发送第三发现报文,该第三发现报文用于请求分配地址;该第四节点接收该第三发现报文,并向该第一节点发送第三提供报文,该第三提供报文包括该第四节点为该第一节点分配的第三地址;其中,该第三地址包括第五字段和第六字段,该第五字段的取值为第四节点的地址的取值,该第六字段的取值为该第一节点的标识;该第一节点接收该第三提供报文。
基于上述技术方案,在该第一节点确定与该第二节点断开连接的情况下,第一节点确定该第二节点为该第一节点分配的第一地址失效。为此,该第一节点可以向该其它上级节点(例如第四节点)发送用于请求分配地址的第三发现报文,并获取来自该第四节点为该第一节点分配的第三地址;换言之,在该第一节点确定该第一节点的上级节点由第二节点变为第四节点之后,该第一节点从该第四节点处获取新的地址。从而,在网络拓扑发生改变(例如第一节点与第二节点断开连接)时,通过不同节点之间的协商实现层次化地址的动态更新。
可选地,第三地址中第六字段的取值和第一地址中的第二字段的取值均为第一节点的标识,如前文所示,作为下级节点的第一节点的标识可以存在多种实现方式。为此,第三地址中第六字段的取值和第一地址中的第二字段的取值可以是同一取值,或者,第三地址中第六字段的取值和第一地址中的第二字段的取值也可以是不同的取值,即不同上级节点为第一节点分配的标识可以相同,也可以不同,此处不做限定。
在第二方面的一种可能的实现方式中,该方法还包括:该第三节点接收该第三发现报文;该第三节点向该第一节点发送第四非确认报文,该第四非确认报文用于指示拒绝分配地址;该第一节点接收该第四非确认报文。
基于上述技术方案,在该第一节点接收来自该第四节点的该第三提供报文之前,即第一节点未收到上级节点分配的地址之前,该第一节点不具备向下级节点分配地址的能力(或称第一节点当前的层次化地址无效)。为此,该第一节点接收用于请求分配地址的第四发现报文之后,该第一节点发送用于指示拒绝分配地址的第四非确认报文,使得该第四非确认报文的接收方明确该第一节点当前不具备分配地址的能力。
在第二方面的一种可能的实现方式中,在该第一节点接收来自该第二节点的第一提供报文之后,该方法还包括:在确定与该第二节点断开连接之后,该第一节点清除该第一地址。
基于上述技术方案,该第一节点确定与该第二节点断开连接之后,该第一节点确定第二节点为该第一节点所分配的第一地址将会失效。为此,该第一节点可以在本地清除该第一地址,后续可以通过发现报文向上级节点获取新的地址。
在第二方面的一种可能的实现方式中,该第一节点确定与该第二节点断开连接包括以下至少一项:该第一节点确定与该第二节点之间的端口状态为故障down;或,该第一节点确定该第一地址续租超时;或,该第一节点接收来自该第二节点的第二变更报文,以指示该第一节点清除该第一地址。
应理解,第一节点与该第二节点断开连接,可以包括该第一节点与第二节点之间的链路断开,也可以包括该第一节点与该第二节点之间的链路休眠,还可以包括第二节点(或第二节点的上级节点)故障等,此处不做限定。
基于上述技术方案,对于第一节点而言,第一节点可以通过上述多种方式明确与该第二节点断开连接,并进一步明确该第二节点为该第一节点分配的第一地址失效。
在第二方面的一种可能的实现方式中,在该第一节点接收该第一提供报文之前,该方法还包括:该第三节点发送第四发现报文,该第四发现报文用于请求分配地址;该第一节点接收该第四发现报文,并向该第三节点发送第一非确认报文,该第一非确认报文用于指示拒绝分配地址;该第三节点接收该第一非确认报文。
基于上述技术方案,在该第一节点接收来自该第二节点的该第一提供报文之前,即第一节点未收到上级节点分配的地址之前,该第一节点不具备向下级节点分配地址的能力(或称第一节点当前的层次化地址无效)。为此,该第一节点接收用于请求分配地址的第四发现报文之后,该第一节点发送用于指示拒绝分配地址的第一非确认报文,使得该第一非确认报文的接收方明确该第一节点当前不具备分配地址的能力。
在第二方面的一种可能的实现方式中,在该第一节点接收第一提供报文之前,该方法还包括:该第三节点接收该第一发现报文;该第三节点向该第一节点发送第二非确认报文,该第二非确认报文用于指示拒绝分配地址;该第一节点接收该第二非确认报文。
基于上述技术方案,在该第一节点接收第一提供报文之前,即第一节点未收到上级节点分配的地址之前,第一节点并不明确自身的地址,相应的,第一节点的下级节点(例如第三节点)也不明确自身的地址。其中,第一节点所发送第一发现报文的数量可以为多个,某个第一发现报文被第三节点接收之后,由于该第三节点不具备分配地址的能力(或称第三节点当前的层次化地址无效),该第三节点会向该第一节点发送用于指示拒绝分配地址的第二非确认报文,使得第一节点基于该第二非确认报文明确第三节点当前不具备分配地址的能力。
此外,在上述用于指示拒绝分配地址的非确认报文(包括第一非确认报文、第二非确认报文,以及后文可能出现的第三非确认报文、第四非确认报文和第五非确认报文等)为基于发现报文所反馈的报文。其中,发现报文的发送端所发送的发现报文可以是以泛洪(全体泛洪或选择性的泛洪)的方式发送的。为此,发现报文的接收端在多种情况下都有可能接收到该发现报文。其中,在该发现报文的接收端尚未接收到来自上级节点分配的地址(即该接收端不具备地址分配能力,或称该接收端的当前层次化地址无效)的情况下,在接收到发现报文之后,该接收端反馈的报文为用于指示拒绝分配地址的非确认报文;而在该发现报文的接收端确定已接收到来自上级节点分配的地址(即该接收端具备地址分配能力,或称该接收端的当前层次化地址有效)的情况下,在接收到发现报文之后,该接收端反馈的报文为用于分配地址的提供报文。从而,对于任一上级节点而言,该上级节点当前的层次化地址无效的情况下会基于接收到的发现报文反馈非确认报文,该上级节点当前的层次化地址有效的情况下会基于接收到的发现报文反馈提供报文,即该上级节点的层次化地址有效之后才会为下级节点分配地址以使得该下级节点的层次化地址有效。从而,基于该非确认报文和提供报文的反馈,在树形网络中通过从上级节点到下级节点的按序分配地址的方式,实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。
在第二方面的一种可能的实现方式中,在该第一节点接收第一提供报文之后且在该第一节点发送该第二提供报文之前,该方法还包括:该第一节点发送第一请求报文,该第一请求报文用于指示请求使用该第一地址;该第二节点接收该第一请求报文,并向该第一节点发送第一确认报文,该第一确认报文用于指示允许使用该第一地址;该第一节点接收该第一确认报文。
基于上述技术方案,在该第一节点接收来自该第二节点的第一提供报文之后,该第一节点向该第二节点发送用于指示请求使用该第一地址的第一请求报文,并接收来自该第二节点的用于指示允许使用该第一地址的第一确认报文。使得第一节点基于该第一确认报文明确能够基于该第一地址分配地址的情况下,该第一节点向该第三节点发送包含有基于该第一地址所分配的第二地址的第二提供报文。
此外,第二节点可能存在多个下级节点,而该多个下级节点都有可能向该第二节点发送用于请求分配地址的发现报文,而第二节点有可能不止将该第一地址分配给第一节点,还可能将该第一地址分配给其它下级节点。为此,第一节点可以通过该第一请求报文以及第一确认报文的交互,以明确该第二节点允许该第一节点使用该第一地址,即明确该第一节点之外的其他节点未被允许使用该第一地址,以避免地址分配冲突。
在第二方面的一种可能的实现方式中,在该第一节点接收第一确认报文之前,该方法还包括:该第三节点发送第五发现报文,该第五发现报文用于请求分配地址;该第一节点接收该第五发现报文,并向该第三节点发送第三非确认报文,该第三非确认报文用于指示拒绝分配地址;该第三节点接收该第三非确认报文。
基于上述技术方案,在该第一节点接收来自该第二节点的该第一确认报文之前,由于第一节点并不明确第二节点是否允许该第一节点使用该第一地址,即第一节点并不明确第一节点是否能够基于该第一地址为下级节点分配地址。为此,该第一节点接收用于请求分配地址的第五发现报文之后,该第一节点发送用于指示拒绝分配地址的第三非确认报文,以使得该第三非确认报文的接收方明确该第一节点当前不具备分配地址的能力。
在第二方面的一种可能的实现方式中,在该第一节点发送第二提供报文之后,该方法还包括:该第三节点发送第二请求报文,该第二请求报文用于指示请求使用该第二地址;该第一节点接收该第二请求报文,并向该第三节点发送第二确认报文,该第二确认报文用于指示允许使用该第二地址;该第三节点接收该第二确认报文。
基于上述技术方案,在该第一节点向该第三节点发送第二提供报文之后,该第一节点接收来自第三节点的用于指示请求使用该第二地址的第二请求报文之后,该第一节点向该第三节点发送用于指示允许使用该第二地址的第二确认报文。使得第三节点基于该第二确认报文能够明确该第二地址为允许使用的地址。
此外,第一节点可能存在多个下级节点,而该多个下级节点都有可能向该第一节点发送用于请求分配地址的发现报文,而第一节点有可能不止将该第二地址分配给第三节点,还可能将该第二地址分配给其它下级节点。为此,第二节点可以通过该第二请求报文以及第二确认报文的交互,以明确该第一节点允许该第二节点使用该第二地址,即明确该第二节点之外的其他节点未被允许使用该第二地址,以避免地址分配冲突。
在第二方面的一种可能的实现方式中,该第一地址和第二地址为NewIP地址。
基于上述技术方案,层次化地址为新互联网协议(NewIP)的特性之一,为此,该实现方式中不同节点(包括第一节点、第二节点和第三节点等)之间可以基于NewIP这一协议进行通信,在此基础上,上述节点所分配的地址(包括第一地址、第二地址以及可能存在的第三地址等)为NewIP地址。
在第二方面的一种可能的实现方式中,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为动态主机配置协议DHCP报文。
基于上述技术方案,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为DHCP报文,即该第一发现报文和该第二发现报文可以为DHCP中的动态主机配置协议发现(DHCP discover)报文,该第一提供报文和该第二提供报文可以为DHCP中的动态主机配置协议提供(DHCP offer)报文。使得该实现方式能够复用DHCP的报文处理机制实现层次化地址的自动分配。
可选地,本申请涉及的其他发现报文(例如第三发现报文、第四发现报文、第五发现报文等)都可以为DHCP discover报文,本申请涉及的其他提供报文都可以为DHCP offer报文。类似地,本申请涉及的请求报文(例如第一请求报文、第二请求报文等)也可以为DHCP中的动态主机配置协议请求(DHCP request)报文,本申请涉及的确认报文(例如第一确认报文、第二确认报文等)也可以为DHCP中的动态主机配置协议确认(DHCP ACK)报文,本申请涉及的非确认报文(例如第一非确认报文、第二非确认报文等)也可以为DHCP中的动态主机配置协议非确认(DHCP NAK)报文。
应理解,层次化地址为新互联网协议(NewIP)的特性之一,为此,上述技术方案也可以表述为通过对DHCP协议的扩展,以支持NewIP协议中层次化地址的自动分配。
需要说明的是,上述技术方案中以本申请涉及的报文(例如该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文等)为DHCP报文作为示例进行说明。在实际应用中,当网络拓扑中的各个节点应用不同于DHCP的其它地址分配协议的情况下,例如引导程序协议(bootstrap protocol,BOOTP)、私有化的地址分配协议,或者其它地址分配协议的情况下,本申请涉及的报文还可以为该其他地址分配协议中的报文。
在第二方面的一种可能的实现方式中,在该第一地址中,该第一字段位于该第二字段之前;和/或,在该第二地址中,该第三字段位于该第四字段之前。
基于上述技术方案,在该第一地址中,取值为上级节点(即该第二节点)的地址的取值的第一字段可以位于取值为该第一节点的标识的第二字段之前,以便于基于该第一节点的第一地址明确第一节点的上级节点的地址以及第一节点所在网络的网络拓扑关系。
类似地,在该第二地址中,取值为上级节点(即该第一节点)的地址的取值的第三字段可以位于取值为该第三节点的标识的第四字段之前,以便于基于该第三节点的第二地址明确第三节点的上级节点的地址以及第三节点所在网络的网络拓扑关系。
在第二方面的一种可能的实现方式中,该方法应用于树形网络,该第二节点为该树形网络的根节点或该树形网络的中间节点。
基于上述技术方案,作为第一节点的上级节点,该第二节点既可以为网络拓扑中的根节点(即仅具备下级节点不具备上级节点),第二节点也可以为网络拓扑中的中间节点(即具备下级节点且具备上级节点),此处不做限定。
类似地,作为第一节点的上级节点,该第四节点既可以为网络拓扑中的根节点(即仅具备下级节点不具备上级节点),第四节点也可以为网络拓扑中的中间节点(即具备下级节点且具备上级节点),此处不做限定。
在第二方面的一种可能的实现方式中,该方法应用于树形网络,该第三节点为该树形网络的叶子节点或该树形网络的中间节点。
基于上述技术方案,作为第一节点的下级节点,该第三节点既可以为网络拓扑中的叶子节点(即仅具备上级节点不具备下级节点),第三节点也可以为网络拓扑中的中间节点(即具备下级节点且具备上级节点),此处不做限定。
本申请实施例第三方面提供了一种通信装置,该装置可以实现上述第一方面或第一方面任一种可能的实现方式中的方法。该装置包括用于执行上述方法的相应的单元或模块。该装置包括的单元或模块可以通过软件和/或硬件方式实现。例如,该装置可以为通信装置,或者,该装置可以为通信装置中的组件(例如处理器、芯片或芯片系统等),或者该装置还可以为能实现全部或部分通信装置功能的逻辑模块或软件。
该通信装置包括处理单元和收发单元;
该发送单元用于发送第一发现报文,该第一发现报文用于请求分配地址;
该接收单元用于接收来自第二节点的第一提供报文,该第一提供报文包括该第二节点为该第一节点分配的第一地址;其中,该第二节点为该第一节点的上级节点,该第一地址包括第一字段和第二字段,该第一字段的取值为该第二节点的地址的取值,该第二字段的取值为该第一节点的标识;
该接收单元还用于接收来自该第三节点的第二发现报文,该第三节点为该第一节点的下级节点,该第二发现报文用于请求分配地址;
该发送单元还用于向该第三节点发送第二提供报文,该第二提供报文包括该第一节点为该第三节点分配的第二地址,该第二地址包括第三字段和第四字段,该第三字段的取值为该第一地址的取值,该第四字段的取值为该第三节点的标识。
在第三方面的一种可能的实现方式中,该装置还包括处理单元;该发送单元还用于在该处理单元确定与该第二节点断开连接之后,向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址。
在第三方面的一种可能的实现方式中,在该处理单元确定与该第二节点断开连接之后,该发送单元还用于发送第三发现报文,该第三发现报文用于请求分配地址;该接收单元还用于接收来自第四节点的第三提供报文,该第三提供报文包括该第四节点为该第一节点分配的第三地址;其中,该第三地址包括第五字段和第六字段,该第五字段的取值为该第四节点的地址的取值且该第四节点为该第一节点的上级节点,该第六字段的取值为该第一节点的标识。
在第三方面的一种可能的实现方式中,在该处理单元确定与该第二节点断开连接之后,该处理单元还用于清除该第一地址。
在第三方面的一种可能的实现方式中,该处理单元确定与该第二节点断开连接包括以下至少一项:
该处理单元确定与该第二节点之间的端口状态为故障(down);或,
该处理单元确定该第一地址续租超时;或,
该处理单元确定该接收单元接收来自该第二节点的第二变更报文,以指示该第一节点清除该第一地址。
在第三方面的一种可能的实现方式中,该接收单元还用于接收第四发现报文,该第四发现报文用于请求分配地址;该发送单元还用于发送第一非确认报文,该第一非确认报文用于指示拒绝分配地址。
在第三方面的一种可能的实现方式中,该接收单元还用于接收来自该第三节点的第二非确认报文,该第二非确认报文用于指示拒绝分配地址。
在第三方面的一种可能的实现方式中,该发送单元还用于向该第二节点发送第一请求报文,该第一请求报文用于指示请求使用该第一地址;该接收单元还用于接收来自该第二节点的第一确认报文,该第一确认报文用于指示允许使用该第一地址。
在第三方面的一种可能的实现方式中,该接收单元还用于接收第五发现报文,该第五发现报文用于请求分配地址;该发送单元还用于发送第三非确认报文,该第三非确认报文用于指示拒绝分配地址。
在第三方面的一种可能的实现方式中,该接收单元还用于接收来自该第三节点的第二请求报文,该第二请求报文用于指示请求使用该第二地址;该发送单元还用于向该第三节点发送第二确认报文,该第二确认报文用于指示允许使用该第二地址。
在第三方面的一种可能的实现方式中,该第一地址和该第二地址均为NewIP地址。
在第三方面的一种可能的实现方式中,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为动态主机配置协议DHCP报文。
在第三方面的一种可能的实现方式中,在该第一地址中,该第一字段位于该第二字段之前;和/或,在该第二地址中,该第三字段位于该第四字段之前。
在第三方面的一种可能的实现方式中,该装置应用于树形网络,该第二节点为该树形网络的根节点或该树形网络的中间节点。
在第三方面的一种可能的实现方式中,该方法应用于树形网络,该第三节点为该树形网络的叶子节点或该树形网络的中间节点。
本申请实施例第三方面中,通信装置的组成模块还可以用于执行第一方面的各个可能实现方式中所执行的步骤,并实现相应的技术效果,具体均可以参阅第一方面,此处不再赘述。
本申请实施例第四方面提供了一种通信系统,该系统包括多个通信装置,且该多个通信装置分别对应于不同的节点(包括第一节点、第二节点、第三节点等,且该第二节点为该第一节点的上级节点且该第三节点为该第一节点的下级节点)。
在该通信系统中,对于该多个通信装置的任一通信装置而言,该任一通信装置均包括发送单元和接收单元。此外,该任一装置可以实现上述第二方面或第二方面任一种可能的实现方式中的方法。该任一装置包括用于执行上述方法的相应的单元或模块。该任一装置包括的单元或模块可以通过软件和/或硬件方式实现。例如,该装置任一可以为通信装置,或者,该任一装置可以为通信装置中的组件(例如处理器、芯片或芯片系统等),或者该任一装置还可以为能实现全部或部分通信装置功能的逻辑模块或软件。
在该通信系统中,该第一节点的发送单元用于发送第一发现报文,该第一发现报文用于请求分配地址;该第二节点的接收单元用于接收该第一发现报文,该第二节点的发送单元用于向该第一节点发送第一提供报文,该第一提供报文包括该第二节点为该第一节点分配的第一地址;其中,该第一地址包括第一字段和第二字段,该第一字段的取值为第二节点的地址的取值且该第二节点为该第一节点的上级节点,该第二字段的取值为该第一节点的标识;该第一节点的接收单元用于接收该第一提供报文;该第三节点的发送单元用于发送第二发现报文,该第二发现报文用于请求分配地址;该第一节点的接收单元还用于接收该第二发现报文,该第一节点的发送单元还用于向该第三节点发送第二提供报文,该第二提供报文包括该第一节点为该第三节点分配的第二地址,该第二地址包括第三字段和第四字段,该第三字段的取值为该第一地址的取值,该第四字段的取值为该第三节点的标识且该第三节点为该第一节点的下级节点;该第三节点的接收单元用于接收该第二提供报文。
在第四方面的一种可能的实现方式中,该第一节点还包括处理单元;在该第一节点的处理单元确定与该第二节点断开连接之后,该第一节点的发送单元还用于向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址;该第三节点的接收单元还用于接收该第一变更报文,并清除该第二地址。
在第四方面的一种可能的实现方式中,该第三节点的发送单元还用于向该第三节点的下级节点发送该第一变更报文。
在第四方面的一种可能的实现方式中,该系统还包括第四节点且该第四节点为该第一节点的上级节点;在该第一节点的处理单元确定与该第二节点断开连接之后,该第一节点的发送单元还用于发送第三发现报文,该第三发现报文用于请求分配地址;该第四节点的接收单元用于接收该第三发现报文,该第四节点的发送单元用于向该第一节点发送第三提供报文,该第三提供报文包括该第四节点为该第一节点分配的第三地址;其中,该第三地址包括第五字段和第六字段,该第五字段的取值为第四节点的地址的取值,该第六字段的取值为该第一节点的标识;该第一节点的接收单元还用于接收该第三提供报文。
在第四方面的一种可能的实现方式中,该第三节点的接收单元还用于接收该第三发现报文;该第三节点的发送单元还用于向该第一节点发送第四非确认报文,该第四非确认报文用于指示拒绝分配地址。
在第四方面的一种可能的实现方式中,在该第一节点的处理单元确定与该第二节点断开连接之后,该第一节点的处理单元还用于清除该第一地址。
在第四方面的一种可能的实现方式中,该第一节点的处理单元确定与该第二节点断开连接包括以下至少一项:
该第一节点的处理单元确定与该第二节点之间的端口状态为故障down;或,
该第一节点的处理单元确定该第一地址续租超时;或,
该第一节点的处理单元确定该第一节点的接收单元接收来自该第二节点的第二变更报文,以指示该第一节点清除该第一地址。
在第四方面的一种可能的实现方式中,该第三节点的发送单元还用于发送第四发现报文,该第四发现报文用于请求分配地址;该第一节点的接收单元还用于接收该第四发现报文,并向该第三节点发送第一非确认报文,该第一非确认报文用于指示拒绝分配地址。
在第四方面的一种可能的实现方式中,该第一节点的接收单元还用于接收来自该第三节点的第二非确认报文,该第二非确认报文用于指示拒绝分配地址。
在第四方面的一种可能的实现方式中,该第一节点的发送单元还用于发送第一请求报文,该第一请求报文用于指示请求使用该第一地址;该第二节点的接收单元还用于接收该第一请求报文,并向该第一节点发送第一确认报文,该第一确认报文用于指示允许使用该第一地址;该第一节点的接收单元还用于接收该第一确认报文。
在第四方面的一种可能的实现方式中,该第三节点的发送单元还用于发送第五发现报文,该第五发现报文用于请求分配地址;该第一节点的接收单元还用于接收该第五发现报文,并向该第三节点发送第三非确认报文,该第三非确认报文用于指示拒绝分配地址;该第三节点的接收单元还用于接收该第三非确认报文。
在第四方面的一种可能的实现方式中,该第三节点的发送单元还用于发送第二请求报文,该第二请求报文用于指示请求使用该第二地址;该第一节点的接收单元还用于接收该第二请求报文,该第一节点的发送单元还用于向该第三节点发送第二确认报文,该第二确认报文用于指示允许使用该第二地址;该第三节点的接收单元还用于接收该第二确认报文。
在第四方面的一种可能的实现方式中,该第一地址和该第二地址均为NewIP地址。
在第四方面的一种可能的实现方式中,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为动态主机配置协议DHCP报文。
在第四方面的一种可能的实现方式中,在该第一地址中,该第一字段位于该第二字段之前;和/或,在该第二地址中,该第三字段位于该第四字段之前。
在第四方面的一种可能的实现方式中,该通信系统应用于树形网络,该第二节点为该树形网络的根节点或该树形网络的中间节点。
在第四方面的一种可能的实现方式中,该通信系统应用于树形网络,该第三节点为该树形网络的叶子节点或该树形网络的中间节点。
本申请实施例第四方面中,通信装置的组成模块还可以用于执行第二方面的各个可能实现方式中所执行的步骤,并实现相应的技术效果,具体均可以参阅第二方面,此处不再赘述。
本申请实施例第五方面提供了一种通信装置,包括至少一个处理器,该至少一个处理器与存储器耦合;
该存储器用于存储程序或指令;
该至少一个处理器用于执行该程序或指令,以使该装置实现前述第一方面或第一方面任意一种可能的实现方式所述的方法。
本申请实施例第六方面提供了一种通信装置,包括至少一个处理器,该至少一个处理器与存储器耦合;
该存储器用于存储程序或指令;
该至少一个处理器用于执行该程序或指令,以使该装置实现前述第二方面或第二方面中通信系统内任一节点(包括第一节点、第二节点、第三节点、第四节点或其它节点等)对应的任意一种可能的实现方式所述的方法。
本申请实施例第七方面提供一种计算机可读存储介质,该存储介质用于存储一个或多个计算机执行指令,当计算机执行指令被处理器执行时,该处理器执行如上述第一方面或第一方面任意一种可能的实现方式所述的方法。
本申请实施例第八方面提供一种计算机可读存储介质,该存储介质用于存储多份计算机执行指令,该多份计算机执行指令分别对应于前述第二方面或第二方面中通信系统所包含的节点(包括第一节点、第二节点、第三节点、第四节点或其它节点等),当该多份计算机执行指令被处理器执行时,该处理器执行如上述第二方面或第二方面任意一种可能的实现方式所述的方法。
本申请实施例第九方面提供一种计算机程序产品(或称计算机程序),当计算机程序产品被处理器执行时,该处理器执行上述第一方面或第一方面任意一种可能实现方式的方法。
本申请实施例第十方面提供一种计算机程序产品(或称计算机程序),当计算机程序产品被处理器执行时,该处理器执行上述第二方面或第二方面任意一种可能实现方式的方法。
本申请实施例第十一方面提供了一种芯片,该芯片包括至少一个处理器,用于支持第一节点实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,该芯片系统还可以包括存储器,存储器,用于保存该通信装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。可选的,该芯片系统还包括接口电路,该接口电路为该至少一个处理器提供程序指令和/或数据。
本申请实施例第十二方面提供了一种芯片,该芯片包括至少一个处理器,用于支持通信系统中的节点(包括第一节点、第二节点、第三节点、第四节点或其它节点等)实现上述第二方面或第二方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,该芯片系统还可以包括存储器,存储器,用于保存该通信装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。可选的,该芯片系统还包括接口电路,该接口电路为该至少一个处理器提供程序指令和/或数据。
本申请实施例第十三方面提供了一种通信系统,该通信系统包括上述第三方面及其任一可能实现方式中的通信装置,和/或,该通信系统包括上述第四方面及其任一可能实现方式中的多个通信装置,和/或,该通信系统包括上述第五方面及其任一可能实现方式中的通信装置,和/或,该通信系统包括上述第六方面及其任一可能实现方式中的节点(包括第一节点、第二节点、第三节点,以及可能存在的第四节点或其它节点等)。
其中,第三方面至第十三方面中任一种设计方式所带来的技术效果可参见上述第一方面或第二方面中不同实现方式所带来的技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请应用场景的一个示意图;
图2为本申请应用场景的另一个示意图;
图3为本申请应用场景的另一个示意图;
图4为本申请提供的通信方法的一个示意图;
图5为本申请提供的通信方法的另一个示意图;
图6a为本申请应用场景的另一个示意图;
图6b为本申请应用场景的另一个示意图;
图6c为本申请提供的通信方法的另一个示意图;
图6d为本申请提供的通信方法的另一个示意图;
图6e为本申请提供的通信方法的另一个示意图;
图7a为本申请应用场景的另一个示意图;
图7b为本申请应用场景的另一个示意图;
图7c为本申请应用场景的另一个示意图;
图8为本申请提供的通信方法的另一个示意图;
图9a为本申请应用场景的另一个示意图;
图9b为本申请应用场景的另一个示意图;
图9c为本申请应用场景的另一个示意图;
图9d为本申请应用场景的另一个示意图;
图10为本申请提供的通信装置的一个示意图;
图11为本申请提供的通信系统的一个示意图;
图12为本申请提供的通信装置的另一个示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本申请实施例中的术语“系统”和“网络”可被互换使用。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A、同时存在A和B、单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如“A,B和C中的至少一个”包括A,B,C,AB,AC,BC或ABC。以及,除非有特别说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
参见图1,为本申请实施例提供的通信系统的架构示意图。如图1所示,该系统包括多个网络设备,例如网络设备101、网络设备102、网络设备103、网络设备104和网络设备105,以及可能存在的其他网络设备。在图1所示通信系统中,靠近终端设备的网络设备可以称为用户边缘(customer edge,CE)设备,该CE设备可以是路由器、交换机或其他转发设备。
示例性的,以图1最左侧的网络设备101和最右侧的网络设备102分别连接终端设备1和终端设备2为例,网络设备101和网络设备102作为CE设备。其中,终端设备1与终端设备2进行通信的过程中,需要分别经过网络设备101至网络设备105的转发。例如,终端设备1向网络设备2所发送的报文需要分别经过网络设备101、网络设备103、网络设备105、网络设备104和网络设备102的转发;又如,终端设备2向终端设备1所发送的报文需要分别经过网络设备102、网络设备104、网络设备105、网络设备103和网络设备101的转发。换言之,终端设备可以通过CE设备加入网络。
需要说明的是,终端设备与CE设备之间可以是直连的方式,也可以通过其它设备中转的方式实现,例如该其他设备可以包括接入点(access point,AP)、基站等,此处不做具体的限定。
应理解,终端设备,又可以称为用户设备(user equipment,UE)、移动台(mobilestation,MS)、移动终端(mobile terminal,MT)、终端等,是一种向用户提供语音和/或数据连通性的设备,或,设置于该设备内的芯片,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端设备的举例为:手机、台式电脑、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、支持5G加入的家庭网关设备(5G-residential gateway,5G-RG)等。
可选的,在图1中,网络设备103、网络设备104和网络设备105是路由器(router)、交换机(switch)、(具备转发能力的)虚拟机等设备。
需要说明的是,当网络设备1和网络设备2作为CE设备的情况下,图1所示CE设备与转发网络中的网络设备(例如CE设备101与网络设备103,或者,CE设备102与网络设备104)之间的连接可以为有线连接/无线连接,且该连接还可以通过其它设备进行中转。例如,该其它设备可以包括无线加入网(radio access network,RAN)节点(或设备),又可以称为基站。目前,一些RAN设备的举例为:5G通信系统中的新一代基站(generation Node B,gNodeB)、传输接收点(transmission reception point,TRP)、演进型节点B(evolved NodeB,eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved Node B,或home Node B,HNB)、基带单元(base band unit,BBU),或无线保真(wireless fidelity,Wi-Fi)接入点(access point,AP)等。
示例性地,在图1所述系统中,连接于用户边缘设备的网络设备为运营商边缘(provider edge,PE)设备。PE设备用于传输用户边缘设备101和用户边缘设备102之间的消息。例如,在图1中,网络设备103和网络设备104均为PE设备,用户边缘设备101与运营商边缘设备103连接,用户边缘设备102与运营商边缘设备104连接。而其他网络设备包括运营商(provider,P)设备,例如网络设备105。其中,运营商边缘设备103和运营商边缘设备104通过一个或多个运营商(provider,P)设备105连接。
图1所示通信系统中,不同的节点(例如一个或多个网络设备、一个或多个终端设备等)之间所组成的网络拓扑结构可以由多种方式,本申请主要应用于树型的网络拓扑结构。其中,层次化地址,是在树型的网络拓扑场景中使用的一种编址方式,能够减少设备转发表项数量、提升业务收敛性能。
需要说明的是,在本申请中,层次化地址为新互联网协议(NewIP)的特性之一,层次化地址也可以称为可变地址、变长IP地址体系下的IP地址、长度可变的地址、灵活的(flexible)地址、flexible IP地址或者其它的名称,此处不做限定。
目前,在树型的网络拓扑场景中,包含有两类设备,一类设备是存在下级节点的设备,在实际网络场景中,这一类设备通常为网络设备;另一类是不存在下级节点的设备,在实际网络场景中,这一类设备通常为终端设备。
示例性的,以图2所示包含有4层设备的网络拓扑场景为例。其中,图2所示网络拓扑场景可以为图1所示通信系统的一部分。例如,图1中网络设备103可以记为图2中的网络设备A,图1中网络设备101可以记为图2中的网络设备B,图1中网络设备101所接入的终端设备1可以记为图2中的终端设备A。此外,图1中网络设备101还可以接入其它的网络设备的情况下,该其它的网络设备还可以进一步接入其它的终端设备,其中,该其它的网络设备中可以记为图2中的网络设备C,且接入该其它的网络设备的终端设备可以记为图2中的终端设备B。如图2所示,第1层包括网络设备A,第2层包括网络设备B,第三层包括网络设备C以及终端A,第四层包括终端B。并且,网络设备(包括网络设备A、网络设备B和网络设备C等)的地址由手工配置生成。
此外,在图2所示属性网络拓扑场景中,除第一层设备中的网络设备A(由于网络设备A不具备上级节点,因此网络设备A也可以称为根节点)外,每个节点仅有一个直连上级节点(或称为父节点)。并且,层次化地址是指除了根节点之外,每个节点的节点地址包含有上层节点的地址;即每个节点的节点地址可以包括两个部分,一个部分为该节点的父节点的地址(或称为前缀地址),另一个部分为该节点的标识(identifier,ID)。换言之,除了根节点之外,其它节点的节点地址构成可以表示为“前缀地址+ID”。此外,每个节点的地址可以称为该节点的自身地址,又可以称为locator地址等,为便于描述,后文将该节点的地址记为locator地址为例进行说明。
例如,对于网络设备B而言,表示该网络设备B的locator地址可以记为“1/2”,其中,“1/2”中的“1”为父节点(即网络设备A)的地址,“1/2”中的“2”为网络设备B的ID。又如,对于终端A而言,表示该终端设备A的locator地址可以记为“1/2/2”,其中,“1/2/2”中的“1/2”为父节点(即网络设备B)的地址,“1/2/2”中的最后一位“2”为该终端设备A的ID。
进一步地,在当前层次化地址的实现过程中,对于网络设备而言,其层次化地址需要手工配置,下面将以图3所示示例进一步说明。
如图3所示,图2中的网络设备A可以为图3中的汇聚交换机(switch,SW),且所包含的千兆以太网(Gigabit Ethernet,ge)接口记为ge0;图2中网络设备B可以为图3中的接入SW,且所包含的北向ge接口记为ge1,所包含的南向ge接口记为ge2和ge3;图2中的网络设备C可以为图3中的接入点(access point,AP)。在图3所示网络拓扑场景中,所有网络设备的层次化地址均为手工配置。此外,作为终端设备(例如终端A和终端B),该终端设备的地址可以由接入的网络设备(例如接入SW或AP)动态分配。
应理解,图2和图3所示网络拓扑场景仅仅为一个实现示例,在实际应用中,以图2为例,图2所示网络设备A还可以接入其它的上级节点,或者,图2所示网络设备A还可以接入不同于网络设备B的其他下级节点,或者,图2所示网络设备B还可以接入不同于网络设备C和终端A的其他下级节点等,此处不做限定。
然而,在上述实现方式中,需要耗费人力进行手工配置。特别的,当网络拓扑发生改变时,例如新增设备或移除设备的情况下,由于设备修改配置工作量大,手工配置的方式也有可能出现配置出错而导致网络瘫痪的情况出现。
为此,如何优化树型的网络拓扑场景中的地址分配方式,是一个亟待解决的技术问题。
为了解决上述问题,本申请提供了一种通信方法及通信装置,用于在树型的网络拓扑场景中通过上下级节点之间的交互实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。下面将结合附图,对本申请提供的方案进行详细的介绍。
请参阅图4,为本申请实施例提供的通信方法100的一个示意图,该方法包括如下步骤。
示例性的,图4所示通信方法100可以应用于前述图2和图3所示网络拓扑场景中。在该通信方法100中,第一节点可以为网络拓扑中既具备上级节点也具备下级节点的节点,例如图2中的网络设备B或网络设备C,又如图3中的接入SW或AP;第二节点可以为网络拓扑中的根节点或中间节点,例如图2中的网络设备A、网络设备B或网络设备C,又如图3中的汇聚SW、接入SW或AP;第三节点可以为网络拓扑中的叶子节点或中间节点,例如图2中的网络设备B、网络设备C、终端A或终端B,又如图3中的接入SW、AP、终端A或终端B。
S101.第一节点发送第一发现报文。
本实施例中,第一节点在步骤S101中发送第一发现报文,相应的,第二节点在步骤S101中接收第一发现报文。其中,该第一发现报文用于请求分配地址。
需要说明的是,本申请实施例中所涉及的发现报文(如步骤S101中的第一发现报文,以及后文的第二发现报文,第三发现报文,第四发现报文等)用于请求分配地址,即该发现报文为该发现报文的发送端不具备地址的情况下所发送的报文。为此,该发送端可以以泛洪的方式发送该发现报文,以期该发现报文能被多个接收端接收并获得该发现报文的响应(即提供报文)。
作为一种实现示例,以图4所示通信方法100应用于图2所示网络拓扑为例,第一节点可以为图2中的网络设备B,第二节点可以为图2中的网络设备A,第三节点可以为图2中的网络设备C。此时,在图2所示网络拓扑中,作为网络设备B的第一节点可以向所连接的所有节点以泛洪的方式发送该发现报文,即网络设备B在步骤S101中向网络设备A、网络设备C和终端A均发送该第一发现报文。
可选地,该发现报文的发送端存在向上级节点通信的接口(可称为北向接口)以及向下级节点通信的接口(可称为南向接口)的情况下,由于一般情况下仅有上级节点具备分配地址的能力,为此,该发现报文也可以为通过向上级节点通信的接口泛洪的方式发送,以节省开销。
示例性的,在上述实现示例中,在图2所示网络拓扑中,作为网络设备B的第一节点可以向所连接的上级节点以选择性泛洪的方式发送该发现报文,即网络设备B在步骤S101中向网络设备A发送该第一发现报文,而不向网络设备C和终端A发送该第一发现报文。
可见,发现报文的发送端可以在不同的场景下灵活地选用上述发送方式。例如,在该发送端(由于未经过配置而)无法确定所连接的节点中哪些节点是上级节点的情况下,发送端可以采用全体泛洪的方式发送该发现报文。又如,在该发送端能够感知所连接的节点中哪些节点是上级节点的情况下,可以采用选择性泛洪的方式发送该发现报文,以节省开销。
S102.第二节点发送第一提供报文。
本实施例中,第二节点在步骤S102中发送第一提供报文,相应的,第一节点在步骤S102中接收第一提供报文。其中,该第一提供报文包括该第二节点为该第一节点分配的第一地址;该第一地址包括第一字段和第二字段,该第一字段的取值为该第二节点的地址的取值且该第二节点为该第一节点的上级节点,该第二字段的取值为该第一节点的标识。
在一种可能的实现方式中,图4所示方法可以应用于树形网络,该第二节点为该树形网络的根节点或该树形网络的中间节点。具体地,作为第一节点的上级节点,该第二节点既可以为网络拓扑中的根节点(即仅具备下级节点不具备上级节点),第二节点也可以为网络拓扑中的中间节点(即具备下级节点且具备上级节点),此处不做限定。
S103.第三节点发送第二发现报文。
本实施例中,第三节点在步骤S103中发送第二发现报文,相应的,第一节点在步骤S103中接收第二发现报文。其中,该第二发现报文用于请求分配地址。
在一种可能的实现方式中,该第三节点为叶子节点或中间节点。具体地,作为第一节点的下级节点,该第三节点既可以为网络拓扑中的叶子节点(即仅具备上级节点不具备下级节点),第三节点也可以为网络拓扑中的中间节点(即具备下级节点且具备上级节点),此处不做限定。
S104.第一节点发送第二提供报文。
本实施例中,第一节点在步骤S104中发送第二提供报文,相应的,第三节点在步骤S104中接收第二提供报文。其中,该第二提供报文包括该第一节点为该第三节点分配的第二地址,该第二地址包括第三字段和第四字段,该第三字段的取值为该第一地址的取值,该第四字段的取值为该第三节点的标识且该第三节点为该第一节点的下级节点。
在一种可能的实现方式中,第二节点在步骤S102发送的第一提供报文所携带的第一地址中,该第一字段位于该第二字段之前;和/或,第一节点在步骤S104发送的第二提供报文所携带的第二地址中,该第三字段位于该第四字段之前。
具体地,在该第一地址中,取值为上级节点(即该第二节点)的地址的取值的第一字段可以位于取值为该第一节点的标识的第二字段之前,以便于基于该第一节点的第一地址明确第一节点的上级节点的地址以及第一节点所在网络的网络拓扑关系。类似地,在该第二地址中,取值为上级节点(即该第一节点)的地址的取值的第三字段可以位于取值为该第三节点的标识的第四字段之前,以便于基于该第三节点的第二地址明确第三节点的上级节点的地址以及第三节点所在网络的网络拓扑关系。
在一种可能的实现方式中,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为动态主机配置协议DHCP报文。具体地,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为DHCP报文,即该第一发现报文和该第二发现报文可以为DHCP中的动态主机配置协议发现(DHCP discover)报文,该第一提供报文和该第二提供报文可以为DHCP中的动态主机配置协议提供(DHCP offer)报文。使得该实现方式能够复用DHCP的报文处理机制实现层次化地址的自动分配。
可选地,本申请涉及的其他发现报文(例如后文提及的第三发现报文、第四发现报文、第五发现报文等)都可以为DHCP discover报文,本申请涉及的其他提供报文都可以为DHCP offer报文。类似地,本申请涉及的请求报文(例如后文提及的第一请求报文、第二请求报文等)也可以为DHCP中的动态主机配置协议请求(DHCP request)报文,本申请涉及的确认报文(例如后文提及的第一确认报文、第二确认报文等)也可以为DHCP中的动态主机配置协议确认(DHCP ACK)报文,本申请涉及的非确认报文(例如后文提及的第一非确认报文、第二非确认报文等)也可以为DHCP中的动态主机配置协议非确认(DHCP NAK)报文。
应理解,层次化地址为新互联网协议(NewIP)的特性之一,为此,上述技术方案也可以表述为通过对DHCP协议的扩展,以支持NewIP协议中层次化地址的自动分配。
基于图4所示技术方案,第一节点在步骤S102中接收的来自于第二节点的第一提供报文包含有第一地址,该第一地址中第一字段的取值为第二节点的地址的取值且该第一地址中第二字段的取值为该第一节点的标识;并且,第一节点在步骤S104中向第三节点发送的第二提供报文包含有第二地址,该第二地址中第三字段的取值为该第一节点的地址的取值且该第二地址中第四字段的取值为第三节点的标识。其中,该第二节点为该第一节点的上级节点且该第三节点为该第一节点的下级节点,即第一节点既能够接收上级节点分配的层次化地址,也能够向下级节点分配层次化地址。换言之,在包含有第二节点、第一节点和第三节点的树型的网络拓扑场景中,第一节点既能作为终端设备接收上级节点的自动分配的层次化地址,也能够作为网络设备自动向下级节点分配层次化地址。从而,在树型的网络拓扑场景中通过上下级节点之间的交互实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。
应理解,层次化地址为新互联网协议(NewIP)的特性之一,为此,上述技术效果也可以表述为在树型的网络拓扑场景中通过上下级节点之间的交互实现NewIP协议中层次化地址的自动分配。
需要说明的是,在本申请中,层次化地址也可以称为可变地址、长度可变的地址、灵活的(flexible)地址、flexible IP地址或者其它的名称,此处不做限定。
作为一种实现示例,以图4所示通信方法100应用于图2所示网络拓扑为例,第一节点可以为图2中的网络设备B,第二节点可以为图2中的网络设备A,第三节点可以为图2中的网络设备C。此时,在图2所示网络拓扑中,作为网络设备B的第一节点在步骤S101中向网络设备A发送第一发现报文之后,该网络设备B在步骤S102中接收的来自于该网络设备A的第一提供报文包含有第一地址,该第一地址中第一字段的取值为该网络设备A的地址的取值且该第一地址中第二字段的取值为该该网络设备B的标识;并且,该网络设备B在步骤S104中向该网络设备C发送的第二提供报文包含有第二地址,该第二地址中第三字段的取值为该第一节点的地址的取值且该第二地址中第四字段的取值为该网络设备C的标识。其中,该该网络设备A为该该网络设备B的上级节点且该该网络设备C为该该网络设备B的下级节点,即该网络设备B既能够接收该网络设备A分配的层次化地址,也能够向该网络设备C分配层次化地址。换言之,在图2所示树型的网络拓扑场景中,该网络设备B既能作为终端设备接收该网络设备A的自动分配的层次化地址,也能够作为网络设备自动向该网络设备C分配层次化地址。从而,在树型的网络拓扑场景中通过上下级节点之间的交互实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。
请参阅图5,为本申请实施例提供的通信方法200的一个示意图,该方法包括如下步骤。
S201.第一节点发送第一发现报文。
本实施例中,第一节点在步骤S201中发送第一发现报文,相应的,第二节点在步骤S201中接收第一发现报文。其中,该第一发现报文用于请求分配地址。
S202.第二节点发送第一提供报文。
本实施例中,第二节点在步骤S202中发送第一提供报文,相应的,第一节点在步骤S202中接收第一提供报文。其中,该第一提供报文包括该第二节点为该第一节点分配的第一地址;该第一地址包括第一字段和第二字段,该第一字段的取值为该第二节点的地址的取值且该第二节点为该第一节点的上级节点,该第二字段的取值为该第一节点的标识。
需要说明的是,步骤S201和步骤S202的实现过程可以参考步骤S101和步骤S102的实现过程,并实现相应的技术效果,此处不做限定。
在一种可能的实现方式中,在图5所述实现过程中,在步骤S202之前,该方法还包括步骤S20A和步骤S20B:
S20A.第三节点发送发现报文。
S20B.第一节点发送非确认报文。
具体地,该第一节点在步骤S202中接收该第一提供报文之前,该第三节点还可以在步骤S20A中发送第四发现报文,该第四发现报文用于请求分配地址;该第一节点在S20A中接收该第四发现报文,该第一节点在步骤S20B中向该第三节点发送第一非确认报文,该第一非确认报文用于指示拒绝分配地址。在该实现过程中,在该第一节点接收来自该第二节点的该第一提供报文之前,即第一节点未收到上级节点分配的地址之前,该第一节点不具备向下级节点分配地址的能力(或称第一节点当前的层次化地址无效)。为此,该第一节点接收用于请求分配地址的第四发现报文之后,该第一节点发送用于指示拒绝分配地址的第一非确认报文,使得该第一非确认报文的接收方明确该第一节点当前不具备分配地址的能力。
在一种可能的实现方式中,第一节点在步骤S202中接收第一提供报文之前,该第一节点还有可能接收来自该第三节点的第二非确认报文,该第二非确认报文用于指示拒绝分配地址。具体地,在该第一节点接收第一提供报文之前,即第一节点未收到上级节点分配的地址之前,第一节点并不明确自身的地址,相应的,第一节点的下级节点(例如第三节点)也不明确自身的地址。其中,第一节点所发送第一发现报文的数量可以为多个,某个第一发现报文被第三节点接收之后,由于该第三节点不具备分配地址的能力(或称第三节点当前的层次化地址无效),该第三节点会向该第一节点发送用于指示拒绝分配地址的第二非确认报文,使得第一节点基于该第二非确认报文明确第三节点当前不具备分配地址的能力。
S203.第一节点发送第一请求报文。
本实施例中,第一节点在步骤S203中发送第一请求报文,相应的,第二节点在步骤S203中接收第一请求报文。其中,该第一请求报文用于请求使用该第一地址。
S204.第二节点发送第一确认报文。
本实施例中,第二节点在步骤S204中发送第一确认报文,相应的,第一节点在步骤S204中接收第一确认报文。其中,该第一确认报文用于指示允许使用该第一地址。
具体地,在第一节点在步骤S203中接收第一提供报文之后,该第一节点还可以在步骤S203中向第二节点发送第一请求报文,该第一请求报文用于指示请求使用该第一地址;该第二节点在步骤S203中接收该第一请求报文,该第二节点在步骤S204中向该第一节点发送第一确认报文,该第一确认报文用于指示允许使用该第一地址;使得该第一节点在步骤S204中接收该第一确认报文。
具体地,在该第一节点接收来自该第二节点的第一提供报文之后,该第一节点向该第二节点发送用于指示请求使用该第一地址的第一请求报文,并接收来自该第二节点的用于指示允许使用该第一地址的第一确认报文。使得第一节点基于该第一确认报文明确能够基于该第一地址分配地址的情况下,该第一节点向该第三节点发送包含有基于该第一地址所分配的第二地址的第二提供报文。
此外,第二节点可能存在多个下级节点,而该多个下级节点都有可能向该第二节点发送用于请求分配地址的发现报文,而第二节点有可能不止将该第一地址分配给第一节点,还可能将该第一地址分配给其它下级节点。为此,第一节点可以通过该第一请求报文以及第一确认报文的交互,以明确该第二节点允许该第一节点使用该第一地址,即明确该第一节点之外的其他节点未被允许使用该第一地址,以避免地址分配冲突。
作为一种实现示例,以图5所示通信方法200应用于图2所示网络拓扑为例,第一节点可以为图2中的网络设备B,第二节点可以为图2中的网络设备A,第三节点可以为图2中的网络设备C。由于网络设备A的下级节点包括作为第一节点的网络设备B之外,还可能包括其它的节点(例如终端C),使得网络设备A也可能将该第一地址分配给该终端C使用,为此,作为第一节点的网络设备B可以通过步骤S203和步骤S204的交互过程明确该网络设备A允许该网络设备B使用该第一地址,即明确该网络设备B之外的其他节点(例如终端C)未被允许使用该第一地址,以避免地址分配冲突。
在一种可能的实现方式中,在图5所述实现过程中,在步骤S204之前,该方法还包括步骤S20C和步骤S20D:
S20C.第三节点发送发现报文。
S20D.第一节点发送非确认报文。
具体地,第一节点在步骤S204中接收第一确认报文之前,该第三节点还可以在步骤S20C中发送第五发现报文,该第五发现报文用于请求分配地址;该第一节点在步骤S20C中接收该第五发现报文,该第一节点在步骤S20D中向该第三节点发送第三非确认报文,该第三非确认报文用于指示拒绝分配地址;该第三节点接收该第三非确认报文。在该实现过程中,在该第一节点接收来自该第二节点的该第一确认报文之前,由于第一节点并不明确第二节点是否允许该第一节点使用该第一地址,即第一节点并不明确第一节点是否能够基于该第一地址为下级节点分配地址。为此,该第一节点接收用于请求分配地址的第五发现报文之后,该第一节点发送用于指示拒绝分配地址的第三非确认报文,以使得该第三非确认报文的接收方明确该第一节点当前不具备分配地址的能力。
此外,在上述用于指示拒绝分配地址的非确认报文(包括步骤S20B中的非确认报文、步骤S20D中的非确认报文,以及后文可能出现的第三非确认报文、第四非确认报文和第五非确认报文等)为基于发现报文所反馈的报文。其中,发现报文的发送端所发送的发现报文可以是以泛洪(全体泛洪或选择性的泛洪)的方式发送的。为此,发现报文的接收端在多种情况下都有可能接收到该发现报文。其中,在该发现报文的接收端尚未接收到来自上级节点分配的地址(即该接收端不具备地址分配能力,或称该接收端的当前层次化地址无效)的情况下,在接收到发现报文之后,该接收端反馈的报文为用于指示拒绝分配地址的非确认报文;而在该发现报文的接收端确定已接收到来自上级节点分配的地址(即该接收端具备地址分配能力,或称该接收端的当前层次化地址有效)的情况下,在接收到发现报文之后,该接收端反馈的报文为用于分配地址的提供报文。从而,对于任一上级节点而言,该上级节点当前的层次化地址无效的情况下会基于接收到的发现报文反馈非确认报文,该上级节点当前的层次化地址有效的情况下会基于接收到的发现报文反馈提供报文,即该上级节点的层次化地址有效之后才会为下级节点分配地址以使得该下级节点的层次化地址有效。从而,基于该非确认报文和提供报文的反馈,在树形网络中通过从上级节点到下级节点的按序分配地址的方式,实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。
S205.第三节点发送第二发现报文。
本实施例中,第三节点在步骤S205中发送第二发现报文,相应的,第一节点在步骤S205中接收第二发现报文。其中,该第二发现报文用于请求分配地址。
S206.第一节点发送第二提供报文。
本实施例中,第一节点在步骤S206中发送第二提供报文,相应的,第三节点在步骤S206中接收第二提供报文。其中,该第二提供报文包括该第一节点为该第三节点分配的第二地址,该第二地址包括第三字段和第四字段,该第三字段的取值为该第一地址的取值,该第四字段的取值为该第三节点的标识且该第三节点为该第一节点的下级节点。
需要说明的是,步骤S205和步骤S206的实现过程可以参考步骤S103和步骤S104的实现过程,并实现相应的技术效果,此处不做限定。
S207.第三节点发送第二请求报文。
本实施例中,第三节点在步骤S207中发送第二请求报文,相应的,第一节点在步骤S207中接收第二请求报文。其中,该第二请求报文用于请求使用该第二地址。
S208.第一节点发送第二确认报文。
本实施例中,第一节点在步骤S208中发送第二确认报文,相应的,第三节点在步骤S208中接收第二确认报文。其中,该第二确认报文用于指示允许使用该第二地址。
基于上述技术方案,第一节点在步骤S206中发送第二提供报文之后,该第三节点还可以在步骤S207中发送第二请求报文,该第二请求报文用于指示请求使用该第二地址;该第一节点在步骤S207中接收该第二请求报文,该第一节点在步骤S208中向该第三节点发送第二确认报文,该第二确认报文用于指示允许使用该第二地址;使得该第三节点在步骤S208中接收该第二确认报文,使得第三节点基于该第二确认报文能够明确该第二地址为允许使用的地址。
此外,第一节点可能存在多个下级节点,而该多个下级节点都有可能向该第一节点发送用于请求分配地址的发现报文,而第一节点有可能不止将该第二地址分配给第三节点,还可能将该第二地址分配给其它下级节点。为此,第二节点可以通过该第二请求报文以及第二确认报文的交互,以明确该第一节点允许该第二节点使用该第二地址,即明确该第二节点之外的其他节点未被允许使用该第二地址,以避免地址分配冲突。
作为一种实现示例,以图5所示通信方法200应用于图2所示网络拓扑为例,第一节点可以为图2中的网络设备B,第二节点可以为图2中的网络设备A,第三节点可以为图2中的网络设备C。由于网络设备B的下级节点包括作为第三节点的网络设备C之外,还包括终端A,使得网络设备B也可能将该第二地址分配给该终端A使用,为此,作为第三节点的网络设备C可以通过步骤S207和步骤S208的交互过程明确该网络设备B允许该网络设备C使用该第二地址,即明确该网络设备C之外的其他节点(例如终端A)未被允许使用该第二地址,以避免地址分配冲突。
应理解,该第三节点可以为树形网络拓扑场景中的中间节点,即该第三节点有可能还存在下级节点。类似于前述步骤S20A至步骤S20D的实现过程,在步骤S206或步骤S208之前,第三节点也可能接收到来自第三节点的下级节点发送的“发现报文”,由于该第三节点尚未具备分配地址的能力(或称第三节点当前的层次化地址无效),该第三节点可以回复“非确认报文”用以指示该第三节点当前不具备分配地址的能力。此外,在步骤S206或步骤S208之后,即该第三节点获取该第二地址或第三节点确定第一节点允许该第三节点使用该第二地址的情况下,该第三节点若再次接收到下级节点的“发送报文”,则该第三节点可以基于该第二地址进一步为该第三节点的下级节点分配地址。类似的,第三节点所分配的地址可以包括两个字段,一个字段的取值为该第三节点的地址,另一个字段的取值为该第三节点的下级节点的ID。
下面将结合更多的附图,对图4和图5所描述的实施例的实现过程进行示例性描述。
应理解,下述示例中,以不同节点之间基于DHCP相关报文实现为例进行说明,在实际应用中,还可以使用其它的报文,例如BOOTP、私有化的地址分配协议,或者其它协议。
前述图3所示不同节点的网络拓扑场景可以应用前述图4和图5所描述的实施例,实现过程可以如图6a所示。
在图6a中,网络设备A可以为汇聚交换机(switch,SW),且所包含的千兆以太网(Gigabit Ethernet,ge)接口记为ge0,并且,网络设备A可以作为述图4和图5所描述的实施例中的第二节点;网络设备B可以为接入SW,且所包含的北向ge接口记为ge1,所包含的南向ge接口记为ge2和ge3,并且,网络设备B可以作为述图4和图5所描述的实施例中的第一节点;网络设备C可以为接入点(access point,AP),并且网络设备C和终端A中的任意一个都可以作为述图4和图5所描述的实施例中的第三节点。
如图6a所示,除了网络设备A(即根节点)之外,各个节点均处于locator无效(invalid)的初始状态,各个节点可以通过通信接口向其它设备发送用于请求地址的dhcpdicover报文,即图4和图5所描述的实施例中发现报文(包括第一发现报文、第二发现报文等)的收发过程。在dhcp dicover报文发送之后,各个节点的实现过程如图6b所示。
如图6b所示,由于网络设备A已预配置地址(记为“locator 1”),使得网络设备A具备分配地址的能力,使得该网络设备A接收到网络设备B的dhcp dicover报文,向网络设备B发送携带有网络设备B(被网络设备A分配)的地址(记为“1/2”)的dhcp offer报文,即图4和图5所描述的实施例中发现报文(包括第一提供报文等)的收发过程。
而对于网络设备B而言,网络设备B在图6a所示过程中以泛洪的方式发送dhcpdicover报文之后,在网络设备B并未在图6b中接收到网络设备A分配的地址之前,在网络设备B接收来自下级节点(包括网络设备C和终端A)的dhcp dicover报文之后,则网络设备B会向下级节点(包括网络设备C和终端A)发送dhcp nak报文,用以指示下级节点当前该网络设备B并不具备分配地址的能力(或称网络设备B当前的层次化地址无效)。类似地,由于网络设备C并未接收到网络设备分配的地址,则网络设备C会向下级节点(包括终端B)发送dhcpnak报文,用以指示下级节点当前该网络设备C并不具备分配地址的能力(或称网络设备C当前的层次化地址无效)。即,图4和图5所描述的实施例中非确认报文(包括第一非确认报文、第二非确认报文等)的收发过程。
需要说明的是,网络设备A作为根节点,可以通过多种方式获取该预配置的地址,例如外接服务器的方式中接收服务器的指令以获取该预配置的地址,手工配置的方式获取该预配置的地址,或者其它的实现方式,此处不做限定。
在一种可能的实现过程中,网络设备A(图6c和图6e中记为设备A)、网络设备B(图6c和图6e中记为设备B)、网络设备C(图6c和图6e中记为设备C)、终端A(图6c和图6e中记为终端a)的交互过程还可以参考图6c至图6e所示实现方式。
前述图6a和图6b中,网络设备A和网络设备B的交互过程可以如图6c所示。网络设备B首先向网络设备A发送用于请求地址的dhcp dicover报文,网络设备A收到dhcpdicover报文之后向该网络设备B发送携带有网络设备B(被分配)的地址(记为“1/2”)的dhcp offer报文;此后,网络设备B向网络设备A发送请求使用该网络设备B的地址的dhcprequest报文,网络设备A收到dhcp request报文之后,向该网络设备B发送允许使用该地址的dhcp ack报文。
进一步可选地,网络设备A和网络设备B的交互过程中,网络设备C也可以参与其中,如图6c所示。网络设备C可在收到dhcp offer报文之前可以向上级节点(即网络设备B)多次发送dhcp discover报文。其中,在网络设备B尚未具备分配地址能力(即网络设备B接收dhcp ack报文或dhcp offer报文)之前,网络设备B可以向网络设备C发送用于指示拒绝分配地址的dhcp nak报文;而在网络设备B具备分配地址能力(即网络设备B接收dhcp ack报文或dhcp offer报文)之后,网络设备B可以向网络设备C发送用于携带有网络设备C(被分配)的地址(记为“1/2/2”)的dhcp offer报文。
进一步可选地,图6a和图6b所示场景中,各个节点之间的通信过程的报文交互可以参考图6e所示方式实现。在图6e中,以各个设备确定本地层次化地址有效并为下级节点分配地址的过程记为“OP”过程,以各个设备确定本地层次化地址无效并拒绝为下级节点分配地址的过程记为“loop”过程。
需要说明的是,对于图6e的具备上级节点的任一节点(例如设备B、设备C和终端a)而言,该节点需要执行图6e中的“OP”过程获取来自上级节点所分配的地址,而在该节点执行图6e中的“OP”过程之前,该节点由于未获取到本地地址,则该节点可以在任意时刻之前执行与上级节点的“loop”过程或该节点可以在任意时刻之前执行与下级节点的“loop”过程。以图6e中的设备C为例,该设备C在执行与设备B之间的“OP”过程之前,在设备B基于设备A与设备B之间的“OP”过程之前该设备B并不具备分配地址的能力,为此,该设备B收到设备C的dhcp discover报文之后会执行设备B与设备C之间的“loop”过程;并且,该设备C在执行与设备B之间的“OP”过程之前,该设备C并不具备分配地址的能力,为此,该设备C收到终端a的dhcp discover报文之后会执行设备C与终端a之间的“loop”过程。
此外,对于图6e的具备上级节点的任一节点(例如设备B、设备C和终端a)而言,该节点需要执行图6e中的“OP”过程获取来自上级节点所分配的地址,而在该节点执行图6e中的“OP”过程之后,该节点由于已获取到本地地址,则该节点无需再执行dhcp discover报文的发送,即该节点(确定与上级节点断开连接之前)不会再与上级节点或下级节点执行执行“loop”过程或“OP”过程。
示例性的,网络设备A和网络设备B之间的“OP”过程可以参考前述图6c中网络设备A和网络设备B的交互过程,网络设备B与网络设备C之间的“loop”过程可以参考前述图6c中网络设备B和网络设备C的交互过程。
应理解,在上述示例中,由于网络设备B和网络设备C分别具备各自的上级节点和下级节点,即网络设备B和网络设备C都可以作为网络中DHCP服务器(Server)和DHCP终端(Client)的角色,使得网络设备B和网络设备C均可以作为第一节点执行前述图4和图5所示实施例。特别的,在该示例中,由于图6e中终端设备A由于是叶子节点且不具备作为DHCP服务器(Server)的能力,终端设备A在接收dhcp discover报文之后,忽略该dhcp discover报文不作处理。
需要说明的是,网络设备、网络设备A和网络设备C分别作为第二节点、第一节点和第三节点的情况下,图6c至图6e所示实现过程还可以参考前述图5中步骤S201至步骤S209的实现过程,并实现相应的技术效果,此处不做赘述。
在一种可能的实现方式中,图6a和图6b所示场景中各个节点的层次化地址分配之后,还可以基于图4和图5所示实施例实现网络拓扑中新增节点的实现过程,下面将结合图7a至图7c所示场景进行示例性描述。
如图7a至图7c所示,网络设备D意图通过网络设备B接入网络,网络设备D可以作为图4和图5所示实施例中的第一节点执行响应的过程。
在图7a中,网络设备D向网络设备B发送用于请求地址的dhcp dicover报文(应理解,由于网络设备B的本地层次化地址有效,所以网络设备B不会向网络设备D发送dhcpdicover报文);
在图7b中,由于网络设备B的本地层次化地址有效,则网络设备B执行地址分配过程,即网络设备B向网络设备D发送携带有网络设备D的地址“记为1/2/3”的dhcp offer报文;
在图7c中,网络设备D进一步接收dhcp ack报文(图中省略了网络设备D发送dhcprequest报文的过程)之后,网络设备D的地址生效,并具备向该网络设备D的下级节点分配地址的能力。
基于图6c至图6e,以及图7a至图7c所示报文的交互过程可知,网络设备B在接收dhcp ack报文(或接收dhcp offer报文)之前,网络设备处于locater invalid状态,而在网络设备B接收dhcp ack报文(或接收dhcp offer报文)之后,明确该网络设备B的地址为“1/2”,并确定该网络设备B具备向网络设备B的下级节点分配地址的能力;此外,网络设备B还可以为网络拓扑中新增的网络设备D分配地址,并使得网络设备D具备基于所分配的地址进一步向网络设备D的下级节点分配地址的能力。从而,在树型的网络拓扑场景中通过上下级节点之间的交互实现层次化地址的自动分配,以避免由于手工配置出错而导致网络瘫痪的情况出现,提升网络的稳定性。
在网络的长时间运行过程中,难以避免会出现某两个节点之间的链路故障或者某个节点发生故障,或者是需要将某个节点从当前网络中移除,或者是出于节能的目的需要对网络中某个节点下达休眠/唤醒的指令,这都可能导致网络中其它节点感知到该节点的断开连接。本申请提供的通信方法也能支持在某个节点断开的场景下的地址动态分配的过程,下面将结合更多的实施例进行说明。
请参阅图8,为本申请实施例提供的通信方法300的一个示意图,该方法包括如下步骤。
S301.第一节点发送第一发现报文。
本实施例中,第一节点在步骤S301中发送第一发现报文,相应的,第二节点在步骤S301中接收第一发现报文。其中,该第一发现报文用于请求分配地址。
S302.第二节点发送第一提供报文。
本实施例中,第二节点在步骤S302中发送第一提供报文,相应的,第一节点在步骤S302中接收第一提供报文。其中,该第一提供报文包括该第二节点为该第一节点分配的第一地址;该第一地址包括第一字段和第二字段,该第一字段的取值为该第二节点的地址的取值且该第二节点为该第一节点的上级节点,该第二字段的取值为该第一节点的标识。
S303.第一节点发送第一请求报文。
本实施例中,第一节点在步骤S303中发送第一请求报文,相应的,第二节点在步骤S303中接收第一请求报文。其中,该第一请求报文用于请求使用该第一地址。
S304.第二节点发送第一确认报文。
本实施例中,第二节点在步骤S304中发送第一确认报文,相应的,第一节点在步骤S304中接收第一确认报文。其中,该第一确认报文用于指示允许使用该第一地址。
需要说明的是,步骤S301至步骤S304的实现过程可以参考步骤S201至步骤S204的实现过程,并实现相应的技术效果,此处不做限定。
S305.第一节点确定与第二节点断开连接。
应理解,第一节点与该第二节点断开连接,可以包括该第一节点与第二节点之间的链路断开,也可以包括该第一节点与该第二节点之间的链路休眠,还可以包括第二节点(或第二节点的上级节点)故障等,此处不做限定。
在一种可能的实现方式中,第一节点在步骤S302中向该第三节点发送第二提供报文之后(或在步骤S304中向该第三节点发送第二确认报文之后),该方法还包括:该第一节点在步骤S305中确定与该第二节点断开连接之后,该第一节点向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址;该第三节点接收该第一变更报文,并清除该第二地址。
具体地,在该第一节点确定与该第二节点断开连接的情况下,第一节点确定该第二节点为该第一节点分配的第一地址失效且第一节点基于该第一地址分配的第二地址失效。为此,该第一节点向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址,使得第三节点明确该第二地址失效并清除该第二地址。从而,在网络拓扑发生改变(例如第一节点与第二节点断开连接)时,通过不同节点之间的协商实现层次化地址的动态更新。
可选地,该第一节点在步骤S205中确定与该第二节点断开连接之后,该第一节点确定第二节点为该第一节点所分配的第一地址将会失效。为此,该第一节点可以在本地清除该第一地址,后续可以通过发现报文向上级节点获取新的地址。
进一步可选地,在第三节点还包含有下级节点的情况下,在第三节点接收该第一变更报文之后,第三节点还可以向该第三节点的下级节点发送该第一变更报文,以指示该第三节点的下级节点清除该第三节点所分配的地址,使得第三节点的下级节点明确所分配的地址失效并清除该地址。从而,在网络拓扑发生改变(例如第一节点与第二节点断开连接)时,通过不同节点之间的协商,在多层网络拓扑中实现层次化地址的动态更新。
在一种可能的实现方式中,在步骤S305中,该第一节点确定与该第二节点断开连接包括以下至少一项:该第一节点确定与该第二节点之间的端口状态为故障down;或,该第一节点确定该第一地址续租超时;或,该第一节点接收来自该第二节点的第二变更报文,以指示该第一节点清除该第一地址。基于上述技术方案,对于第一节点而言,第一节点可以通过上述多种方式明确第一节点与第二节点断开连接,并进一步明确该第二节点为该第一节点分配的第一地址失效。
需要说明的是,当图8所示不同节点之间所应用的协议为DHCP的情况下,变更报文(包括第一变更报文、第二变更报文等)可以为DHCP的扩展报文,例如记为dhcp变更(change)报文。
S306.第一节点发送第三发现报文。
本实施例中,第一节点在步骤S306中发送第三发现报文,相应的,第四节点在步骤S306中接收第三发现报文。其中,该第三发现报文用于请求分配地址。
S307.第四节点发送第三提供报文。
本实施例中,第四节点在步骤S307中发送第二提供报文,相应的,第一节点在步骤S307中接收第三提供报文。其中,该第三提供报文包括该第四节点为该第一节点分配的第三地址;其中,该第三地址包括第五字段和第六字段,该第五字段的取值为第四节点的地址的取值,该第六字段的取值为该第一节点的标识。
具体地,该第一节点所在的通信系统还包括第四节点且该第四节点为该第一节点的上级节点;该第一节点在步骤S305中确定与该第二节点断开连接之后,该第一节点还可以在步骤S306中发送第三发现报文,该第三发现报文用于请求分配地址;该第四节点在步骤S306中接收该第三发现报文,该第四节点在步骤S307中向该第一节点发送第三提供报文,该第三提供报文包括该第四节点为该第一节点分配的第三地址;其中,该第三地址包括第五字段和第六字段,该第五字段的取值为第四节点的地址的取值,该第六字段的取值为该第一节点的标识;该第一节点接收该第三提供报文。其中,在该第一节点确定与该第二节点断开连接的情况下,第一节点确定该第二节点为该第一节点分配的第一地址失效。为此,该第一节点可以向该其它上级节点(例如第四节点)发送用于请求分配地址的第三发现报文,并获取来自该第四节点为该第一节点分配的第三地址。从而,在网络拓扑发生改变(例如第一节点与第二节点断开连接)时,通过不同节点之间的协商实现层次化地址的动态更新。
在一种可能的实现方式中,该方法还包括:该第三节点接收该第三发现报文;该第三节点向该第一节点发送第四非确认报文,该第四非确认报文用于指示拒绝分配地址。具体地,该第一节点在步骤S307中接收来自该第四节点的该第三提供报文之前,即第一节点未收到上级节点分配的地址之前,该第一节点不具备向下级节点分配地址的能力。为此,该第一节点接收用于请求分配地址的第四发现报文之后,该第一节点发送用于指示拒绝分配地址的第四非确认报文,使得该第四非确认报文的接收方明确该第一节点当前不具备分配地址的能力。
S308.第一节点发送第三请求报文。
本实施例中,第一节点在步骤S308中发送第三请求报文,相应的,第四节点在步骤S308中接收第三请求报文。其中,该第三请求报文用于请求使用该第三地址。
S309.第四节点发送第三确认报文。
本实施例中,第四节点在步骤S309中发送第三确认报文,相应的,第一节点在步骤S309中接收第三确认报文。其中,该第三确认报文用于指示允许使用该第三地址。
需要说明的是,步骤S308和步骤S309为可选步骤,第一节点可以不执行。
下面将结合更多的附图,对图8所描述的实施例的实现过程进行示例性描述。
应理解,下述示例中,以不同节点之间基于DHCP相关报文实现为例进行说明,在实际应用中,还可以使用其它的报文,例如BOOTP、私有化的地址分配协议,或者其它协议。
前述图7a至图7c所示不同节点的网络拓扑场景可以应用图8所描述的实施例,实现过程可以如图9a至图9d所示,如图9a至图9d所示,网络设备D可以作为第一节点执行前述图8所描述的实施例。
在图9a中,由于网络设备B将与网络设备D之间的通信端口回收(或网络设备B故障,或网络设备与网络设备D之间的链路故障等),导致网络设备D检测到上级节点(即网络设备B)不可达。在这种情况下,网络设备D将会清除网络设备B为该网络设备D所分配的地址,并且,网络设备D若存在其它的下级节点时,该网络设备D还会向该下级节点(如果存在的话)下发dhcp change报文,使得该下级节点基于该dhcp change报文清除本地的层次化地址并进一步将dhcp change报文发送给在下一级节点(如果存在的话),直到网络拓扑中的叶子节点为止。
在图9b中,网络设备D向上级节点(例如图9b中的网络设备F)发送用于请求地址的dhcp discover报文。
在图9c中,在网络设备D接收dhcp offer报文之前,网络设备D的下级节点(如果存在的话)与网络设备D之间还会交互dhcp discover报文和dhcp nak报文。
在图9d中,网络设备F与网络设备D之间交互dhcp ack报文,以实现为该网络设备D分配地址的过程,其中,为网络设备D所分配的地址可以记为“2/1/1”。类似地,网络设备D在该过程中也会持续与下级节点(如果存在的话)交互dhcp discover报文和dhcp nak报文。
在图9d之后,网络设备D基于网络设备F下发的dhcp offer报文(或dhcp ack报文)获取地址之后,网络设备D可以进一步为网络设备D的下级节点分配地址。
需要说明的是,网络设备D在上述图9b中与网络设备F之间的交互过程,还可以参考前述实施例中网络设备D与网络设备B在图7a至图7c所示实施例中的交互过程的描述,并实现响应的技术效果,此处不做赘述。
基于上述技术方案可知,在树形的网络拓扑场景中,某个节点在离开原上级节点之后,挂接在该节点下的其它设备也需要更新本地层次化地址;并且,该节点还可以再次连接至上级节点,从上级节点处获取地址并基于所获取的地址进一步向下级节点分配地址。从而,在网络拓扑发生改变(例如第一节点与第二节点断开连接)时,通过不同节点之间的协商实现层次化地址的动态更新。
上面从方法的角度对本申请实施例进行了介绍,下面从装置的角度对本申请实施例提供的通信装置进行说明。
请参阅图10,本申请实施例提供了一种通信装置,该通信装置1000可以实现上述方法实施例中通信装置(包括第一节点、第二节点、第三节点、第四节点或其它节点)的功能,因此也能实现上述方法实施例所具备的有益效果。
如图10所示,该通信装置1000包括接收单元1001和发送单元1002。
可选地,该通信装置1000还包括处理单元1003。
在该通信装置1000用于实现前述实施例中第一节点的功能的情况下,该通信装置1000包括如下实现过程。
该发送单元1002用于发送第一发现报文,该第一发现报文用于请求分配地址;该接收单元1001用于接收来自第二节点的第一提供报文,该第一提供报文包括该第二节点为该第一节点分配的第一地址;其中,该第一地址包括第一字段和第二字段,该第一字段的取值为该第二节点的地址的取值且该第二节点为该第一节点的上级节点,该第二字段的取值为该第一节点的标识;该接收单元1001还用于接收来自该第三节点的第二发现报文,该第二发现报文用于请求分配地址;该发送单元1002还用于向该第三节点发送第二提供报文,该第二提供报文包括该第一节点为该第三节点分配的第二地址,该第二地址包括第三字段和第四字段,该第三字段的取值为该第一地址的取值,该第四字段的取值为该第三节点的标识且该第三节点为该第一节点的下级节点。
在一种可能的实现方式中,该装置还包括处理单元1003;该发送单元1002还用于在该处理单元1003确定与该第二节点断开连接之后,向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址。
在一种可能的实现方式中,在该处理单元1003确定与该第二节点断开连接之后,该发送单元1002还用于发送第三发现报文,该第三发现报文用于请求分配地址;该接收单元1001还用于接收来自第四节点的第三提供报文,该第三提供报文包括该第四节点为该第一节点分配的第三地址;其中,该第三地址包括第五字段和第六字段,该第五字段的取值为该第四节点的地址的取值且该第四节点为该第一节点的上级节点,该第六字段的取值为该第一节点的标识。
在一种可能的实现方式中,在该处理单元1003确定与该第二节点断开连接之后,该处理单元1003还用于清除该第一地址。
在一种可能的实现方式中,该处理单元1003确定与该第二节点断开连接包括以下至少一项:
该处理单元1003确定与该第二节点之间的端口状态为故障(down);或,
该处理单元1003确定该第一地址续租超时;或,
该处理单元1003确定该接收单元1001接收来自该第二节点的第二变更报文,以指示该第一节点清除该第一地址。
在一种可能的实现方式中,该接收单元1001还用于接收第四发现报文,该第四发现报文用于请求分配地址;该发送单元1002还用于发送第一非确认报文,该第一非确认报文用于指示拒绝分配地址。
在一种可能的实现方式中,该接收单元1001还用于接收来自该第三节点的第二非确认报文,该第二非确认报文用于指示拒绝分配地址。
在一种可能的实现方式中,该发送单元1002还用于向该第二节点发送第一请求报文,该第一请求报文用于指示请求使用该第一地址;该接收单元1001还用于接收来自该第二节点的第一确认报文,该第一确认报文用于指示允许使用该第一地址。
在一种可能的实现方式中,该接收单元1001还用于接收第五发现报文,该第五发现报文用于请求分配地址;该发送单元1002还用于发送第三非确认报文,该第三非确认报文用于指示拒绝分配地址。
在一种可能的实现方式中,该接收单元1001还用于接收来自该第三节点的第二请求报文,该第二请求报文用于指示请求使用该第二地址;该发送单元1002还用于向该第三节点发送第二确认报文,该第二确认报文用于指示允许使用该第二地址。
在一种可能的实现方式中,该第一地址和该第二地址均为NewIP地址。
在一种可能的实现方式中,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为动态主机配置协议DHCP报文。
在一种可能的实现方式中,在该第一地址中,该第一字段位于该第二字段之前;和/或,在该第二地址中,该第三字段位于该第四字段之前。
在一种可能的实现方式中,该装置应用于树形网络,该第二节点为该树形网络的根节点或该树形网络的中间节点。
在一种可能的实现方式中,该装置应用于树形网络,该第三节点为该树形网络的叶子节点或该树形网络的中间节点。
需要说明的是,上述通信装置1000的各单元的信息执行过程等内容,具体可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种通信系统,前述任一实施例提供的通信方法可以应用于图11所示通信系统中。如图11所示,该系统包括多个通信装置,且该多个通信装置分别对应于不同的节点(包括第一节点、第二节点、第三节点等,且该第二节点为该第一节点的上级节点且该第三节点为该第一节点的下级节点)。
在图11所示通信系统中,在箭头指向之前的网络拓扑中,第二节点位于网络拓扑中的第n(n为自然数)层,第一节点位于网络拓扑中的第n+1层,第三节点位于网络拓扑中的第n+2层。在箭头指向之后的网络拓扑中,第二节点和第四节点位于网络拓扑中的第n(n为自然数)层,第一节点位于网络拓扑中的第n+1层,第三节点位于网络拓扑中的第n+2层。图11所示的箭头指向指示的场景为,第一节点确定与该第二节点断开连接之后,该第一节点连接至第四节点。
可选地,网络拓扑中的第n+1层、第n+2层以及第n+3层中还存在其它节点,或者不存在其它节点,此处不做限定。
可选地,第四节点和第二节点均可以为根节点(n取值为0)或中间节点(n取值大于0)。
进一步可选地,当n取值大于0的情况下,第四节点和第二节点可以连接至相同的上级节点,或连接至不同的上级节点,此处不做限定。
在该通信系统中,对于该多个通信装置的任一通信装置而言,该任一通信装置均可以通过图10所示方式实现,即该任一通信装置均包括接收单元1001和发送单元1002。
可选地,该任一通信装置还包括处理单元1003。
在该通信系统中,该第一节点的发送单元用于发送第一发现报文,该第一发现报文用于请求分配地址;该第二节点的接收单元用于接收该第一发现报文,该第二节点的发送单元用于向该第一节点发送第一提供报文,该第一提供报文包括该第二节点为该第一节点分配的第一地址;其中,该第一地址包括第一字段和第二字段,该第一字段的取值为第二节点的地址的取值且该第二节点为该第一节点的上级节点,该第二字段的取值为该第一节点的标识;该第一节点的接收单元用于接收该第一提供报文;该第三节点的发送单元用于发送第二发现报文,该第二发现报文用于请求分配地址;该第一节点的接收单元还用于接收该第二发现报文,该第一节点的发送单元还用于向该第三节点发送第二提供报文,该第二提供报文包括该第一节点为该第三节点分配的第二地址,该第二地址包括第三字段和第四字段,该第三字段的取值为该第一地址的取值,该第四字段的取值为该第三节点的标识且该第三节点为该第一节点的下级节点;该第三节点的接收单元用于接收该第二提供报文。
在一种可能的实现方式中,该第一节点还包括处理单元;在该第一节点的处理单元确定与该第二节点断开连接之后,该第一节点的发送单元还用于向该第三节点发送第一变更报文,以指示该第三节点清除该第二地址;该第三节点的接收单元还用于接收该第一变更报文,并清除该第二地址。
在一种可能的实现方式中,该第三节点的发送单元还用于向该第三节点的下级节点发送该第一变更报文。
在一种可能的实现方式中,该系统还包括第四节点且该第四节点为该第一节点的上级节点;在该第一节点的处理单元确定与该第二节点断开连接之后,该第一节点的发送单元还用于发送第三发现报文,该第三发现报文用于请求分配地址;该第四节点的接收单元用于接收该第三发现报文,该第四节点的发送单元用于向该第一节点发送第三提供报文,该第三提供报文包括该第四节点为该第一节点分配的第三地址;其中,该第三地址包括第五字段和第六字段,该第五字段的取值为第四节点的地址的取值,该第六字段的取值为该第一节点的标识;该第一节点的接收单元还用于接收该第三提供报文。
在一种可能的实现方式中,该第三节点的接收单元还用于接收该第三发现报文;该第三节点的发送单元还用于向该第一节点发送第四非确认报文,该第四非确认报文用于指示拒绝分配地址。
在一种可能的实现方式中,在该第一节点的处理单元确定与该第二节点断开连接之后,该第一节点的处理单元还用于清除该第一地址。
在一种可能的实现方式中,该第一节点的处理单元确定与该第二节点断开连接包括以下至少一项:
该第一节点的处理单元确定与该第二节点之间的端口状态为故障down;或,
该第一节点的处理单元确定该第一地址续租超时;或,
该第一节点的处理单元确定该第一节点的接收单元接收来自该第二节点的第二变更报文,以指示该第一节点清除该第一地址。
在一种可能的实现方式中,该第三节点的发送单元还用于发送第四发现报文,该第四发现报文用于请求分配地址;该第一节点的接收单元还用于接收该第四发现报文,并向该第三节点发送第一非确认报文,该第一非确认报文用于指示拒绝分配地址。
在一种可能的实现方式中,该第一节点的接收单元还用于接收来自该第三节点的第二非确认报文,该第二非确认报文用于指示拒绝分配地址。
在一种可能的实现方式中,该第一节点的发送单元还用于发送第一请求报文,该第一请求报文用于指示请求使用该第一地址;该第二节点的接收单元还用于接收该第一请求报文,并向该第一节点发送第一确认报文,该第一确认报文用于指示允许使用该第一地址;该第一节点的接收单元还用于接收该第一确认报文。
在一种可能的实现方式中,该第三节点的发送单元还用于发送第五发现报文,该第五发现报文用于请求分配地址;该第一节点的接收单元还用于接收该第五发现报文,并向该第三节点发送第三非确认报文,该第三非确认报文用于指示拒绝分配地址;该第三节点的接收单元还用于接收该第三非确认报文。
在一种可能的实现方式中,该第三节点的发送单元还用于发送第二请求报文,该第二请求报文用于指示请求使用该第二地址;该第一节点的接收单元还用于接收该第二请求报文,该第一节点的发送单元还用于向该第三节点发送第二确认报文,该第二确认报文用于指示允许使用该第二地址;该第三节点的接收单元还用于接收该第二确认报文。
在一种可能的实现方式中,该第一地址和该第二地址均为NewIP地址。
在一种可能的实现方式中,该第一发现报文、该第一提供报文、该第二发现报文和该第二提供报文均为动态主机配置协议DHCP报文。
在一种可能的实现方式中,在该第一地址中,该第一字段位于该第二字段之前;和/或,在该第二地址中,该第三字段位于该第四字段之前。
在一种可能的实现方式中,该通信系统应用于树形网络,该第二节点为该树形网络的根节点或该树形网络的中间节点。
在一种可能的实现方式中,该通信系统应用于树形网络,该第三节点为该树形网络的叶子节点或该树形网络的中间节点。
需要说明的是,该通信系统中各个通信装置的执行过程等内容,具体可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种通信装置1200,参见图12所示,图12为本申请实施例提供的一种通信装置1200的结构示意图。
可选的,该通信装置1200执行前述任一实施例中通信装置(例如图4或图5所示实现方式中第一节点,第二节点和第三节点等)的功能。
可选地,图12中通信装置1300可以用于执行其它通信装置的功能。例如,当通信装置1200为第一节点的情况下,通信装置1300可以用于执行第二节点的功能,通信装置1400可以用于执行第三节点的功能;又如,当通信装置1200为第三节点的情况下,通信装置1300可以用于执行第一节点的功能,通信装置1300可以用于执行第三节点的下级节点的功能。
附图12所示通信装置1200包括存储器1202和至少一个处理器1201。
可选地,处理器1201通过读取存储器1202中保存的指令实现上述实施例中的方法,或者,处理器1201也可以通过内部存储的指令实现上述实施例中的方法。在处理器1201通过读取存储器1202中保存的指令实现上述实施例中的方法的情况下,存储器1202中保存实现本申请上述实施例提供的方法的指令。
可选地,至少一个处理器1201是一个或多个CPU,或者是单核CPU,也可以是多核CPU。
存储器1202包括但不限于是RAM、ROM、EPROM、快闪存储器、或光存储器等。存储器1202中保存有操作系统的指令。
存储器1202中存储的程序指令被所述至少一个处理器1201读取后,通信装置执行前述实施例中对应的操作。
可选地,附图12所示的通信装置还包括网络接口1203。网络接口1203可以是有线接口,例如FDDI,GE接口;网络接口1203也可以是无线接口。网络接口1203用于在前述实施例中接收接收/发送数据。
处理器1201读取存储器1202中的程序指令后,通信装置1200能够执行的其他功能请参照前面各个方法实施例中的描述。
可选地,通信装置1200还包括总线1204,上述处理器1201、存储器1202通常通过总线1204相互连接,也可以采用其他方式相互连接。
可选地,通信装置1200还包括输入输出接口1205,输入输出接口1205用于与输入设备连接,接收用户、或者与通信装置1200能够联动的其他设备通过输入设备输入的相关配置信息(如m的取值、n的取值、第三时域位置对应的时域长度、第四时域位置对应的时域长度等)。输入设备包括但不限于键盘、触摸屏、麦克风等等。
本申请实施例提供的通信装置1200用于执行上述各个方法实施例提供的通信装置执行的方法,并实现对应的有益效果。
图12所示通信装置1200的具体实现方式,均可以参考前述的各个方法实施例中的叙述,并实现相应的技术效果,此处不再一一赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (36)
1.一种通信方法,其特征在于,包括:
第一节点发送第一发现报文,所述第一发现报文用于请求分配地址;
所述第一节点接收来自第二节点的第一提供报文,所述第一提供报文包括所述第二节点为所述第一节点分配的第一地址;其中,所述第二节点为所述第一节点的上级节点,所述第一地址包括第一字段和第二字段,所述第一字段的取值为所述第二节点的地址的取值,所述第二字段的取值为所述第一节点的标识;
所述第一节点接收来自第三节点的第二发现报文,所述第二发现报文用于请求分配地址,所述第三节点为所述第一节点的下级节点;
所述第一节点向所述第三节点发送第二提供报文,所述第二提供报文包括所述第一节点为所述第三节点分配的第二地址,所述第二地址包括第三字段和第四字段,所述第三字段的取值为所述第一地址的取值,所述第四字段的取值为所述第三节点的标识。
2.根据权利要求1所述的方法,其特征在于,在所述第一节点向所述第三节点发送第二提供报文之后,所述方法还包括:
在确定与所述第二节点断开连接之后,所述第一节点向所述第三节点发送第一变更报文,以指示所述第三节点清除所述第二地址。
3.根据权利要求1或2所述的方法,其特征在于,在所述第一节点向所述第三节点发送所述第二提供报文之后,所述方法还包括:
在确定与所述第二节点断开连接之后,所述第一节点发送第三发现报文,所述第三发现报文用于请求分配地址;
所述第一节点接收来自第四节点的第三提供报文,所述第三提供报文包括所述第四节点为所述第一节点分配的第三地址;其中,所述第四节点为所述第一节点的上级节点,所述第三地址包括第五字段和第六字段,所述第五字段的取值为所述第四节点的地址的取值,所述第六字段的取值为所述第一节点的标识。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述第一节点接收来自所述第二节点的所述第一提供报文之后,所述方法还包括:
在确定与所述第二节点断开连接之后,所述第一节点清除所述第一地址。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述确定与所述第二节点断开连接包括以下至少一项:
确定与所述第二节点之间的端口状态为故障down;或,
确定所述第一地址续租超时;或,
所述第一节点接收来自所述第二节点的第二变更报文,以指示所述第一节点清除所述第一地址。
6.根据权利要求1至5任一项所述的方法,其特征在于,在所述第一节点接收来自所述第二节点的所述第一提供报文之前,所述方法还包括:
所述第一节点接收第四发现报文,所述第四发现报文用于请求分配地址;
所述第一节点发送第一非确认报文,所述第一非确认报文用于指示拒绝分配地址。
7.根据权利要求1至6任一项所述的方法,其特征在于,在所述第一节点接收来自所述第二节点的第一提供报文之前,所述方法还包括:
所述第一节点接收来自所述第三节点的第二非确认报文,所述第二非确认报文用于指示拒绝分配地址。
8.根据权利要求1至7任一项所述的方法,其特征在于,在所述第一节点接收来自所述第二节点的第一提供报文之后且在所述第一节点向所述第三节点发送所述第二提供报文之前,所述方法还包括:
所述第一节点向所述第二节点发送第一请求报文,所述第一请求报文用于指示请求使用所述第一地址;
所述第一节点接收来自所述第二节点的第一确认报文,所述第一确认报文用于指示允许使用所述第一地址。
9.根据权利要求8所述的方法,其特征在于,在所述第一节点接收来自所述第二节点的所述第一确认报文之前,所述方法还包括:
所述第一节点接收第五发现报文,所述第五发现报文用于请求分配地址;
所述第一节点发送第三非确认报文,所述第三非确认报文用于指示拒绝分配地址。
10.根据权利要求1至9任一项所述的方法,其特征在于,在所述第一节点向所述第三节点发送第二提供报文之后,所述方法还包括:
所述第一节点接收来自所述第三节点的第二请求报文,所述第二请求报文用于指示请求使用所述第二地址;
所述第一节点向所述第三节点发送第二确认报文,所述第二确认报文用于指示允许使用所述第二地址。
11.根据权利要求1至10任一项所述的方法,其特征在于,
所述第一发现报文、所述第一提供报文、所述第二发现报文和所述第二提供报文均为动态主机配置协议DHCP报文。
12.根据权利要求1至10任一项所述的方法,其特征在于,
所述第一地址和所述第二地址均为新互联网协议NewIP地址。
13.根据权利要求1至12任一项所述的方法,其特征在于,
在所述第一地址中,所述第一字段位于所述第二字段之前;
和/或,
在所述第二地址中,所述第三字段位于所述第四字段之前。
14.根据权利要求1至13任一项所述的方法,其特征在于,所述方法应用于树形网络,所述第二节点为所述树形网络的根节点或所述树形网络的中间节点。
15.根据权利要求1至14任一项所述的方法,其特征在于,所述方法应用于树形网络,所述第三节点为所述树形网络的叶子节点或所述树形网络的中间节点。
16.一种通信方法,其特征在于,所述方法应用于包含有第一节点、第二节点和第三节点的通信系统,所述第二节点为所述第一节点的上级节点且所述第三节点为所述第一节点的下级节点;
所述方法包括:
所述第一节点发送第一发现报文,所述第一发现报文用于请求分配地址;
所述第二节点接收所述第一发现报文,并向所述第一节点发送第一提供报文,所述第一提供报文包括所述第二节点为所述第一节点分配的第一地址;其中,所述第一地址包括第一字段和第二字段,所述第一字段的取值为第二节点的地址的取值,所述第二字段的取值为所述第一节点的标识;
所述第一节点接收所述第一提供报文;
所述第三节点发送第二发现报文,所述第二发现报文用于请求分配地址;
所述第一节点接收所述第二发现报文,并向所述第三节点发送第二提供报文,所述第二提供报文包括所述第一节点为所述第三节点分配的第二地址,所述第二地址包括第三字段和第四字段,所述第三字段的取值为所述第一地址的取值,所述第四字段的取值为所述第三节点的标识;
所述第三节点接收所述第二提供报文。
17.根据权利要求16所述的方法,其特征在于,在所述第一节点向所述第三节点发送第二提供报文之后,所述方法还包括:
在确定与所述第二节点断开连接之后,所述第一节点向所述第三节点发送第一变更报文,以指示所述第三节点清除所述第二地址;
所述第三节点接收所述第一变更报文,并清除所述第二地址。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
所述第三节点向所述第三节点的下级节点发送所述第一变更报文。
19.根据权利要求16至18任一项所述的方法,其特征在于,所述系统还包括第四节点,所述第四节点为所述第一节点的上级节点;在所述第一节点向所述第三节点发送所述第二提供报文之后,所述方法还包括:
在确定与所述第二节点断开连接之后,所述第一节点发送第三发现报文,所述第三发现报文用于请求分配地址;
所述第四节点接收所述第三发现报文,并向所述第一节点发送第三提供报文,所述第三提供报文包括所述第四节点为所述第一节点分配的第三地址;其中,所述第三地址包括第五字段和第六字段,所述第五字段的取值为第四节点的地址的取值,所述第六字段的取值为所述第一节点的标识;
所述第一节点接收所述第三提供报文。
20.根据权利要求19所述的方法,其特征在于,所述方法还包括:
所述第三节点接收所述第三发现报文;
所述第三节点向所述第一节点发送第四非确认报文,所述第四非确认报文用于指示拒绝分配地址;
所述第一节点接收所述第四非确认报文。
21.根据权利要求16至20任一项所述的方法,其特征在于,在所述第一节点接收来自所述第二节点的所述第一提供报文之后,所述方法还包括:
在确定与所述第二节点断开连接之后,所述第一节点清除所述第一地址。
22.根据权利要求17至21任一项所述的方法,其特征在于,所述确定与所述第二节点断开连接包括以下至少一项:
确定与所述第二节点之间的端口状态为故障down;或,
确定所述第一地址续租超时;或,
所述第一节点接收来自所述第二节点的第二变更报文,以指示所述第一节点清除所述第一地址。
23.根据权利要求16至22任一项所述的方法,其特征在于,在所述第一节点接收所述第一提供报文之前,所述方法还包括:
所述第三节点发送第四发现报文,所述第四发现报文用于请求分配地址;
所述第一节点接收所述第四发现报文,并向所述第三节点发送第一非确认报文,所述第一非确认报文用于指示拒绝分配地址;
所述第三节点接收所述第一非确认报文。
24.根据权利要求16至23任一项所述的方法,其特征在于,在所述第一节点接收所述第一提供报文之前,所述方法还包括:
所述第三节点接收所述第一发现报文;
所述第三节点向所述第一节点发送第二非确认报文,所述第二非确认报文用于指示拒绝分配地址;
所述第一节点接收所述第二非确认报文。
25.根据权利要求16至24任一项所述的方法,其特征在于,在所述第一节点接收第一提供报文之后且在所述第一节点发送所述第二提供报文之前,所述方法还包括:
所述第一节点发送第一请求报文,所述第一请求报文用于指示请求使用所述第一地址;
所述第二节点接收所述第一请求报文,并向所述第一节点发送第一确认报文,所述第一确认报文用于指示允许使用所述第一地址;
所述第一节点接收所述第一确认报文。
26.根据权利要求25所述的方法,其特征在于,在所述第一节点接收第一确认报文之前,所述方法还包括:
所述第三节点发送第五发现报文,所述第五发现报文用于请求分配地址;
所述第一节点接收所述第五发现报文,并向所述第三节点发送第三非确认报文,所述第三非确认报文用于指示拒绝分配地址;
所述第三节点接收所述第三非确认报文。
27.根据权利要求16至26任一项所述的方法,其特征在于,在所述第一节点发送第二提供报文之后,所述方法还包括:
所述第三节点发送第二请求报文,所述第二请求报文用于指示请求使用所述第二地址;
所述第一节点接收所述第二请求报文,并向所述第三节点发送第二确认报文,所述第二确认报文用于指示允许使用所述第二地址;
所述第三节点接收所述第二确认报文。
28.根据权利要求16至27任一项所述的方法,其特征在于,
所述第一发现报文、所述第一提供报文、所述第二发现报文和所述第二提供报文均为动态主机配置协议DHCP报文。
29.根据权利要求16至28任一项所述的方法,其特征在于,
所述第一地址和所述第二地址均为新互联网协议NewIP地址。
30.根据权利要求16至29任一项所述的方法,其特征在于,
在所述第一地址中,所述第一字段位于所述第二字段之前;
和/或,
在所述第二地址中,所述第三字段位于所述第四字段之前。
31.根据权利要求16至30任一项所述的方法,其特征在于,所述方法应用于树形网络,所述第二节点为所述树形网络的根节点或所述树形网络的中间节点。
32.根据权利要求16至31任一项所述的方法,其特征在于,所述方法应用于树形网络,所述第三节点为所述树形网络的叶子节点或所述树形网络的中间节点。
33.一种通信装置,其特征在于,包括接收单元和发送单元,所述接收单元和所述发送单元用于执行如权利要求1至15任一项所述的方法。
34.一种通信装置,其特征在于,包括至少一个处理器,以及与所述至少一个处理器耦合的存储器;
所述存储器用于存储程序或指令;
所述至少一个处理器用于执行所述程序或指令,以使所述通信装置实现如权利要求1至15任一项所述的方法。
35.一种通信系统,其特征在于,包括第一节点、第二节点和第三节点,其中,所述第二节点为所述第一节点的上级节点且所述第三节点为所述第一节点的下级节点;
所述通信系统用于实现如权利要求16至32任一项所述的方法。
36.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,使得如权利要求1至32中任一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/137884 WO2023138256A1 (zh) | 2022-01-24 | 2022-12-09 | 一种通信方法及通信装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210082179 | 2022-01-24 | ||
CN2022100821794 | 2022-01-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116527579A true CN116527579A (zh) | 2023-08-01 |
Family
ID=87403457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210327033.1A Pending CN116527579A (zh) | 2022-01-24 | 2022-03-30 | 一种通信方法及通信装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116527579A (zh) |
-
2022
- 2022-03-30 CN CN202210327033.1A patent/CN116527579A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020233532A1 (zh) | 虚拟网络通信方法、设备及系统 | |
US9712383B2 (en) | Device abstraction in autonomous wireless local area networks | |
KR101239450B1 (ko) | 확장형 wlan 게이트웨이 | |
CN102984295B (zh) | 一种移动终端及其地址分配方法 | |
CN102801623B (zh) | 一种多接入数据转发方法及设备 | |
KR20100103639A (ko) | 다중 무선 네트워크에 동시 액세스하기 위한 장치 및 방법 | |
JP2013509751A (ja) | 無線リモートユニットのリンク自己適応方法及び装置 | |
CN102958197A (zh) | 建立x2业务信令连接的方法及基站、蜂窝节点网关 | |
US20220360526A1 (en) | Routing information publishing method, apparatus, and system | |
CN101459532A (zh) | 一种多网口设备自动组网的方法及设备 | |
JP7426513B2 (ja) | 室内ユニットと室外ユニットの間のマルチpdn実装方法及び記憶媒体 | |
WO2022017099A1 (zh) | 通信方法、cp设备及nat设备 | |
US9503418B2 (en) | Method and apparatus for obtaining remote IP address | |
CN103401954A (zh) | 虚拟dhcp的实现方法 | |
WO2011153870A1 (zh) | 一种实现本地交换传输的系统、方法及基站 | |
CN115174310B (zh) | Pdn拨号及配置方法、系统、装置、设备及存储介质 | |
CN102984294A (zh) | IPv6域名服务器DNS地址分配、获取方法及装置 | |
CN116527579A (zh) | 一种通信方法及通信装置 | |
CN113613274B (zh) | 基于Mesh组网下的智能接入配置方法 | |
WO2023138256A1 (zh) | 一种通信方法及通信装置 | |
CN104009857A (zh) | 基于设备位置的网络组态配置系统及其配置方法 | |
CN112714202B (zh) | 设备配置方法及装置 | |
WO2022087795A1 (zh) | 资源映射方法、装置、设备及存储介质 | |
CN112203302A (zh) | 接入设备配置方法和网管系统 | |
CN114079613A (zh) | 一种通信方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |