CN101068250B - 网络设备id的分配方法及装置 - Google Patents
网络设备id的分配方法及装置 Download PDFInfo
- Publication number
- CN101068250B CN101068250B CN200710100337XA CN200710100337A CN101068250B CN 101068250 B CN101068250 B CN 101068250B CN 200710100337X A CN200710100337X A CN 200710100337XA CN 200710100337 A CN200710100337 A CN 200710100337A CN 101068250 B CN101068250 B CN 101068250B
- Authority
- CN
- China
- Prior art keywords
- network equipment
- unit
- topology
- priority
- topology location
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种网络设备ID的分配方法及装置,该方法包括以下步骤:当网络设备的ID发生冲突时,比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级,保持拓扑位置优先级最高的网络设备的ID不变,重新分配其他发生冲突的网络设备的ID。该装置包括:拓扑位置优先级比较模块,用于比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级,确定需要重新分配ID的网络设备;ID分配模块,与所述拓扑位置优先级比较模块连接,用于对需要重新分配ID的网络设备重新分配ID。通过本发明的网络设备ID的分配方法及装置,减少了拓扑计算时Fabric的计算开销,缩短了计算时间,提高了运行速度;加强了对UNIT堆叠结果的预判力和控制力。
Description
技术领域
本发明涉及网络技术领域,尤其是一种网络设备ID的分配方法及装置。
背景技术
随着宽带应用的普及以及企业信息应用需求的增长,网络的整体速度不断提高,大吞吐量数据交换和各种智能应用的需要也日益增加。为了使数据交换设备满足大型网络对端口的数量要求,一般在较大型网络中都采用将设备进行堆叠的方式来解决:将多台具备堆叠功能的网络设备(也称为堆叠设备,本发明中以UNIT标识)通过堆叠端口连接起来,组成一个环形或链形的联合交换设备(本发明中以Fabric标识,也称为一个堆叠系统);其中,每台UNIT只有两个堆叠端口,分别为“UP”端口和“DOWN”端口,堆叠设备的连接方式仅允许一台UNIT的DOWN端口连接另外一台UNIT的UP端口。
可以看出,每一次Fabric中UNIT的变化,包括UNIT之间通过堆叠端口连接,形成Fabric的合并操作(称为merge),以及UNIT之间通过断开堆叠端口的分离操作(称为Split),都会带来Fabric的重新拓扑发现,形成适应网络需求的新的Fabric。对于任一Fabric,都包括若干台通过堆叠线缆连接的UNIT,每一UNIT基于其媒体存取控制(Media Access control,以下简称MAC)地址唯一标识,并拥有包含其本地MAC地址和Fabric中其它UNIT的MAC地址的地址表;当Fabric架构发生变化时,每一台UNIT都会基于拓扑发现算法的要求,向其他UNIT发送携带有MAC地址的用于拓扑发现的广播(Advertisement,以下简称Ad)报文,从而各个UNIT彼此间便得知周围UNIT信息,并进一步建立邻居(neighbor)关系;接下来通过比较彼此的信息,选出一台UNIT作为主UNIT(Master),其它UNIT则成为从UNIT(SLAVEUNIT);此时,拓扑发现过程开始收敛,Master会为每一个UNIT分配一个UNIT ID用以区分彼此,并随后向所有SLAVE UNIT发布心跳(Heart Beat,以下简称HB)报文,该HB报文中包括该Fabric内所有UNIT的相关信息,如UNIT ID、MAC地址等等,这样每一个接收到HB报文的SLAVE UNIT都能获知其他UNIT和本UNIT之间的位置关系,并根据Master分配给自己的UNIT ID,进行各种业务层面的设置。
从上述Fabric拓扑构架的过程可以看出,在拓朴发现并收敛后,Fabric中UNIT ID具有区分彼此的作用,因此必须保证同一个Fabric中UNIT ID的单一性;该UNIT ID既可以由用户手动设置,也可以由所在Fabric自动配置。由于在实际Fabric的Merge过程中,新加入的UNIT ID可能与原有UNIT ID冲突,即两台UNIT具有相同的ID,因此必须进行UNIT ID的重新分配。
在现有技术中,根据下面的原则分配UNIT ID:
1、首先比较UNIT ID的分配方式,手动设置成高优先级的为优,自动配置的次优;
2、如果皆为手动设置,或者皆为自动配置,则比较UNIT的MAC地址,MAC地址小的为优;
经过比较,较优的一方保留UNIT ID不变,次优的一方需要重新分配ID,从而保证Fabric中每一个UNIT都配置有唯一的UNIT ID。显然,按照现有技术中的比较规则,虽然可以进行手动设置,但是由于方式比较单一,在发生ID冲突的UNIT都是手动设置的情况下,还是要通过MAC地址作为ID分配的依据。由此可见,在绝大部分情况下,都是依赖于MAC地址来实现UNIT ID的重新分配,因此往往导致原先已分配的UNIT ID发生改变,使得Fabric单元之间的数据同步工作量变大,造成堆叠效率不高。同时,由于被执行Merge操作的UNIT其MAC地址不可控,难以确保指定某个设备竞争某一UNIT ID成功,因此很有可能导致Master的UNIT ID在拓扑计算结束之后发生改变,主控权转移,则基于拓扑管理的所有Fabric模块软件都需相应进行大量的重新计算,间接导致随后在各个UNIT之间的同步数据和在各个UNIT内部进行的业务数据更新。大量的重新计算和业务数据更新,将导致在Fabric之上开发的应用系统发生错误的几率大幅度升高以及应用系统设计关联度的复杂化;由于Fabric中关联度增加一倍就会导致应用系统设计、调试和测试的复杂度及工作量以指数级提升,因此这种关联度的复杂化将最终导致Fabric开发周期长和开发成本过高;显然,应用系统开发成本高和错误多,必然带来用户使用的不易上手,使作为基础的Fabric难以在更大范围内推广。
发明内容
本发明实施例的目的在于提供一种网络设备的ID分配方法及装置,当网络设备的ID发生冲突时,根据网络设备的位置优先级来重新分配发生冲突的网络设备的ID,从而克服现有技术中依赖于MAC地址来实现UNIT ID的重新分配的缺陷。
为了实现上述目的,本发明的实施例提供了一种网络设备ID的分配方法,包括以下步骤:
当网络设备的ID发生冲突时,比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级,保持拓扑位置优先级最高的网络设备的ID不变,重新分配其他发生冲突的网络设备的ID;
其中,在比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级之前,还包括:
对发生ID冲突的网络设备的固有优先级的设置方式进行判断,如果所有发生ID冲突的网络设备的固有优先级的设置方式均为手动设置或者自动设置,则继续执行比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级的步骤;
如果只有一个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,则保持该网络设备的ID不变,重新分配其他发生冲突的网络设备的ID;
如果有数个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,而其他产生ID冲突的网络设备的固有优先级的设置方式为自动设置,则继续比较所述固有优先级的设置方式为手动设置的数个产生ID冲突的网络设备在拓扑结构中的拓扑位置优先级,保持拓扑位置优先级最高的网络设备的ID不变,重新分配其他发生冲突的网络设备的ID。
本发明的实施例还提供了一种网络设备ID的分配装置,包括:拓扑位置优先级比较模块,用于比较发生ID冲突的网络设备在拓扑结构中的拓扑位置优先级,保持拓扑位置优先级最高的网络设备的ID不变,确定其他发生冲突的网络设备为需要重新分配ID的网络设备;
ID分配模块,与所述拓扑位置优先级比较模块连接,用于对需要重新分配ID的网络设备,重新分配ID;
固有优先级设置模式判断模块,与所述拓扑位置优先级比较模块和所述ID分配模块连接,用于对发生ID冲突的网络设备的固有优先级的设置方式进行判断;
如果所有发生ID冲突的网络设备的固有优先级的设置方式均为手动设置或者自动设置,则触发拓扑位置优先级比较模块执行比较所有发生冲突的网络设备在拓扑结构中的拓扑位置优先级;
如果有数个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,而其他产生ID冲突的网络设备的固有优先级的设置方式为自动设置,则触发拓扑位置优先级比较模块执行比较所述固有优先级的设置方式为手动设置的数个产生ID冲突的网络设备在拓扑结构中的拓扑位置优先级;
如果只有一个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,则确定其他固有优先级为自动设置的网络设备为需要重新分配ID的网络设备,并触发ID分配模块对其重新分配ID。
由上述技术方案可知,本发明的实施例采具有以下有益效果:
1、减少了拓扑计算时Fabric的计算开销,缩短了计算时间,提高了运行速度;
2、加强了对UNIT堆叠结果的预判力和控制力。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明实施例1的流程图;
图2为本发明具体实施例2的Merge为链形拓扑的ID调整前的结构示意图;
图3为本发明具体实施例2的Merge为链形拓扑的ID调整后的结构示意图;
图4为本发明具体实施例3的Merge为链形拓扑的ID调整前的结构示意图;
图5为本发明具体实施例3的Merge为链形拓扑的ID调整后的结构示意图;
图6为本发明具体实施例4的Merge为链形拓扑的ID调整前的结构示意图;
图7为本发明具体实施例4的Merge为链形拓扑的ID调整后的结构示意图;
图8为本发明具体实施例5的Merge为环形拓扑的ID调整前的结构示意图;
图9为本发明具体实施例5的Merge为环形拓扑的ID调整后的结构示意图;
图10为本发明具体实施例6的Merge为环形拓扑的ID调整前的结构示意图;
图11为本发明具体实施例6的Merge为环形拓扑的ID调整后的结构示意图;
图12为本发明实施例7的结构示意图一;
图13为本发明实施例7的结构示意图二;
图14为本发明实施例7的结构示意图三。
具体实施方式
如果用户在Fabric的拓扑计算进行之前,就能够以直观的方式预判拓扑计算结果,将较为容易地对Fabric进行调控,比如当有新的UNIT加入Fabric时,能够尽可能地保持原先已经分配了ID的UNIT不改变其ID,使Fabric无需因为ID的调整进行大规模的重新计算。本发明为了克服现有技术中依赖MAC地址进行UNIT ID分配所带来的大量计算和不可控性,提供了通过比较拓扑位置优先级(即根据网络设备在拓扑结构中的位置来确定的该网络设备的优先级,越靠近拓扑位置高优先级端的优先级越高,其中所述拓扑位置高优先级端的确定将在下文详细说明)的高低来控制UNIT ID分配。
对于处于拓扑结构中的网络设备,除了拓扑位置优先级之外,网络设备本身还存在着固有优先级,对于固有优先级的设置有两种模式,一种为手动设置的优先级,一种为自动设置的优先级,其中手动设置的优先级高于自动设置的优先级。当网络设备的ID发生冲突的时候,也可以首先对设备的固有优先级进行判断,如果发生ID冲突的设备都是手动设置的固有优先级,或都是自动设置的固有优先级,则通过拓扑位置优先级的高低来控制UNIT ID分配,即保持拓扑位置优先级高的网络设备的ID不变,重新分配拓扑位置优先级低的ID;如果发生ID冲突的设备中一个是手动设置的固有优先级,其他的是自动设置的固有优先级,则保持手动设置的固有优先级的网络设备的ID不变,重新分配自动设置固有优先级的网络设备的ID。下面通过几个实施例来详细说明解决ID冲突的过程。
参见图1,其为本发明实施例1的流程图,具体包括以下步骤:
步骤A、启动Fabric的拓扑发现过程;
目前,堆叠设备一般都会进行拓扑自动发现,即当Fabric中UNIT发生增减或者Fabric的结构发生变化时,以及手动指定优先级时,以及连接/断开堆叠端口时,都会触发启动Fabric的拓扑发现过程。
步骤B、拓扑发现过程收敛,识别所述Fabric内各个UNIT的相关信息以及Fabric的拓扑结构;
由于每一个UNIT仅具有UP和DOWN两个端口,且彼此相邻的两个UNIT,其连接方式必然是其中一个UNIT的UP端口连接另一UNIT的DOWN端口,因此构成的拓扑结构可以有两种物理形态:一种是环形拓扑,其任一UNIT的UP端口都与相邻UNIT的DOWN端口连接,DOWN端口与另一相邻UNIT的UP端口连接,从而组成一个环形。这种方式的一个特点是没有边缘UNIT,所有UNIT都处于相同的相对位置上;另一种是链形拓扑,就是每个非边缘的UNIT的两个端口连接方式和环形相同,但边缘UNIT有一个UP端口或DOWN端口没有和其他任何端口相连,所有UNIT组成一个不封闭的链路。
可以看出,通过本步骤B,能够识别出Fabric的拓扑结构为链形拓扑或者环形拓扑。具体的识别方式可以由本领域技术人员根据现有技术实现,比如,拓扑结构中的一个UNIT可以通过一个端口发出Ad报文,如果不能从另一端口收到该Ad报文,则说明所在的拓扑结构为链形拓扑,如果从另一端口收到该Ad报文,则说明所在的拓扑结构为环形拓扑。
步骤C、识别Fabric中UNIT ID是否发生冲突,是则执行步骤D,否则结束;
步骤D、对发生ID冲突的UNIT的固有优先级的设置方式进行判断,如果所有发生ID冲突的UNIT的固有优先级的设置方式均为手动设置或者自动设置,则执行步骤E;如果只有一个产生ID冲突的UNIT的固有优先级的设置方式为手动设置,则执行步骤F;如果有数个产生ID冲突的UNIT的固有优先级的设置方式为手动设置,而其他产生ID冲突的UNIT的固有优先级的设置方式为自动设置,则执行步骤G;
步骤E、根据所述冲突UNIT在拓扑结构中的拓扑位置优先级,保持发生ID冲突UNIT中拓扑位置优先级最高的ID,并为其他冲突UNIT重新分配ID;所述重新分配的ID可以从ID池中尚未被分配出去的ID中选取;结束;
在现有技术中,一旦固有优先级相同就不得不借助于MAC地址进行ID的分配,由于MAC地址的不可控性,因此很难保证某一UNIT在拓扑发现过程中竞争某一ID成功;相比较而言,在本步骤E中,通过引入拓扑结构中的位置关系,只要保证某一UNIT在Merge时相对于其他UNIT的拓扑位置优先级高,就可以保证某一UNIT在拓扑发现过程中竞争某一ID成功,大大提高了对UNIT堆叠的控制力。
步骤F、保持手动设置固有优先级的UNIT的ID,并为自动设置固有优先级的UNIT重新分配ID;所述重新分配的ID可以从ID池中尚未被分配的ID中获取得到;结束;
步骤G、由于手动设置的固有优先级高于自动设置的固有优先级,当在发生冲突的UNIT中,同时存在数个手动设置的固有优先级的UNIT和数个自动设置的固有优先级UNIT时,要保持ID不变的UNIT仅存在于手动设置的固有优先级的UNIT中,因此,只需要比较数个手动设置的固有优先级的UNIT的拓扑位置优先级即可。该步骤具体为:根据固有优先级的设置方式为手动设置的数个产生ID冲突的UNIT在拓扑结构中的拓扑位置优先级,保持拓扑位置优先级最高的UNIT的ID不变,重新分配其他发生冲突的UNIT的ID,所述重新分配的ID可以从ID池中尚未被分配出去的ID中选取,结束。
通过上述步骤A~G,无论在拓扑发现过程中是否存在UNIT ID冲突的情况,Fabric中各个UNIT ID都已被确定下来并为下一步计算做好了准备,各个UNIT也得到了彼此之间的位置关系,能够进行各种业务层面的设置;由于计算路程开销和进行业务层面设置的操作为本领域技术人员所公知,且不在本发明技术方案的讨论范畴内,因此不再赘述。
可以看出,上述实施例1提供了根据UNIT的固有优先级+相对位置来分配UNIT ID的技术方案,通过引入拓扑结构中的位置关系,只要保证某一UNIT在Merge时与其他UNIT的相对位置,就可以保证某一UNIT在拓扑发现过程中竞争某一ID成功,因此通过对位置关系的控制,即可以保证具有所期望的UNIT ID不发生改变,从而减少拓扑计算时Fabric的计算开销,提高系统运行速度,也可以预见拓扑发现过程后的系统情况,加强对UNIT堆叠结果的预判力和控制力。
上述实现UNIT堆叠的方法的实施例1,都是根据拓扑结构中的拓扑位置关系进行ID分配,拓扑结构中的位置关系,可以通过以下方式来确定:
一般来说,有两种拓扑结构,一是链形拓扑,另一种是环形拓扑。对于链形拓扑,只要确定一端作为基准,则从此端到另一端的顺序就显而易见了;对于环形拓扑,则需选定一个UNIT并从该UNIT的一个端口将环形拓扑从逻辑上加以断开,按照链形拓扑的方式加以处理,则同样可以整理出UNIT之间的顺序。
当所述拓扑结构为链形拓扑时,所述拓扑位置高优先级端为:所述链形拓扑中设备DOWN端口所指向的一端或者所述链形拓扑中设备UP端口所指向的一端;所述拓扑位置低优先级端为:所述链形拓扑中与拓扑位置高优先级端相对的另一端。
形象一点来说,链形拓扑中仅有一个UNIT的UP端口以及一个UNIT的DOWN端口处于无连接状态,构成了链形拓扑的两端。以处于无连接状态的DOWN端口为高优先级端为例,其在链形拓扑中,处于其他UNIT的DOWN端口所指向的末端。相应的,也可以将所述链形拓扑的UP端口所指向的一端并确定为高优先级端,不会对本发明的技术方案产生影响。
在上述本发明所提供的实现UNIT堆叠的方法的实施例中,需要指出的是,由于链形拓扑中各个UNIT的相对位置明确,因此本实施例对于链形拓扑产生的效果尤其明显,本领域技术人员能够简洁直观地预测Fabric的拓扑发现结果,通过控制新的UNIT或者Fabric的接入方向,从而达到保证某一UNIT竞争某一ID成功,或者尽可能保持原先已经分配ID的UNIT不改变其ID,即保证当发生UNIT的split/merge事件时,原有Fabric中各UNIT的编号不发生变化。
相对而言,环形拓扑从几何意义上来说,不可能区分组成环的各个圆弧在位置上有什么先后之分,但可以通过其他方式确定位置优先级的高低,有如下两种方式:
第一,如果是通过将所有堆叠端口在同一时刻接好,从而形成一个环形拓扑,那么确定位置优先级高低的方法就是:
以MAC最小UNIT的两个堆叠端口之一作为拓扑位置高优先级端,并从此端在逻辑上将环形的拓扑断开而当作链形拓扑来对待,发生ID冲突的那些UNIT就能够根据相对拓扑位置高优先级端位置的远近来确定位置优先级高低,保持或重新分配UNIT ID,因而在确定拓扑位置高优先级端后,无须再像现有技术中那样,对优先级冲突的UNIT进行MAC地址的比较,这样,将Fabric计算的结果和UNIT之间的位置相关联,便于控制拓扑计算结果,而不必受UNIT的MAC地址的限制,能够提高系统堆叠效率。
第二,先将要Merge的Fabric先Merge成一个新的链形拓扑,等拓扑收敛结束,再将此新的链形拓扑中,没有链接上的DOWN端口和UP端口链接好,最终形成一个环形。这种方式确定位置优先级高低的方法就是:
由于在先Merge成链形时,就按照前述处理链形拓扑的方式,将链形拓扑断开处两个堆叠端口之一指定为高优先级端,这样便可以按照链形拓扑结构Merge的方式来确定拓扑位置优先级,进而通过位置优先级来处理ID冲突问题。具体操作方法就是,把将要成为环形的Fabric先按Merge成链形的方式连接,由于拓扑位置高优先级端是事前规定好的,因此可以将使用者希望保持ID不变的UNIT或者Fabric放在更加紧靠高优先级端的位置,此时,如果发生ID冲突时,根据生成的链形结构进行位置优先级比较,确定重新分配ID的UNIT,并进行ID重新分配,等拓扑收敛结束,再将剩下两个未链接的堆叠端口连上,最终Merge成环形。
在上述过程中,使最终的拓扑收敛之前发现并处理的是链形拓扑,并且可用通过人工干预,在形成链形拓扑结构的过程中,将使用者希望保持ID不变的UNIT或者Fabric放在更加紧靠高优先级端的位置,从而达到较佳的ID调整效果。
如果使用者不介意哪些UNIT ID发生变化,也可以由系统自行决定,那就是前述第一种按照MAC地址来进行高优先级端选择的方式。
可以看出,通过上述本发明所提供的实现UNIT堆叠方法的实施例,能够加强对UNIT堆叠结果的预判力和控制力,提高系统堆叠效率,并由此降低基于Fabric的应用系统的错误率和复杂度,从应用系统设计和开发者而言,使得作为应用系统基础的Fabric管理更加稳定,能够极大地提高应用系统的稳定性,新应用的开发效率大幅度提高,缩短开发周期。
下面通过具体的实施例进行进一步说明。
参见图2和图3,其为本发明具体实施例2的Merge为链形拓扑的ID调整前后的结构示意图,四个UNIT组成Fabric A,其UNIT ID分别是1、2、3和4;新加入一UNIT其ID为1。由于最后形成的拓扑是链形,可以看出,各个UNIT的DOWN端口都指向了链形拓扑的左端,即Fabric A中UNIT 1的DOWN端口所在端;在本实施例中将该端确定为拓扑位置高优先级端:
冲突的ID是Fabric A中的UNIT 1和新加入的UNIT 1(如图2所示),并且其固有优先级都为手动设置的,此种情况下,需要从空间位置的角度来考虑。由于Fabric A中的UNIT 1更加靠近拓扑位置高优先级端,因此新加入UNIT 1的ID会发生改变,即使MAC地址比Fabric A中UNIT 1的MAC地址小,其ID也会发生改变,因为在这种情况下,比较的依据就是各自靠近拓扑位置高优先级端距离的远近,而非原先技术方案的比较MAC地址;而ID将被分配成尚未被占用的5,而不会去抢占原Fabric A内UNIT 1的ID。进行ID调整后的链形拓扑状况如图3所示。
从本实施例可以看出,分配UNIT ID的结果只和各个UNIT距离拓扑位置高优先级端距离的远近有关。
参见图4和图5,其为本发明具体实施例3的Merge为链形拓扑的ID调整前后的结构示意图,四个UNIT组成Fabric A,其UNIT ID分别是1、2、3和4;新加入UNIT 1,且两个UNIT 1的固有优先级都是自动设置的。由于最后形成的拓扑是链形,可以看出,各个UNIT的DOWN端口都指向了链形拓扑的左端,即新加入的UNIT 1的DOWN端口所在端;在本实施例中将该端确定为拓扑位置高优先级端:
冲突的ID是Fabric A中的UNIT 1和新加入的UNIT 1(如图4所示),并且其固有优先级都是自动设置的,因此从空间位置的角度来考虑。新加入UNIT 1更加靠近高拓扑位置优先级端,所以其ID不会发生改变,而将FabricA内UNIT 1的ID被改变为原先尚未被分配的5。进行ID调整后的链形拓扑状况如图5所示。
参见图6和图7,其为本发明具体实施例4的Merge为链形拓扑的ID调整前后的结构示意图,四个UNIT组成Fabric A,其UNIT ID分别是1、2、3和4;新加入UNIT 1。在本实施例中,新加入UNIT 1的固有优先级为自动设置,而原有的UNIT1的固有优先级为手动设置。各个UNIT的DOWN端口都指向了链形拓扑的左端,即新加入的UNIT 1的DOWN端口所在端,在本实施例中将该端确定为拓扑位置高优先级端:
虽然新加入的UNIT 1是从DOWN方向加入(如图6所示),但由于其固有优先级为自动设置,而原有的UNIT1的固有优先级为手动设置,所以新加入的UNIT 1就被分配一个尚未占用的UNIT ID,比如8,而原有的UNIT1保持不变。进行ID调整后的链形拓扑状况如图7所示。
从上述链形拓扑的具体实施例可以看出,新加入的UNIT 1本身也是一个Fabric,其地位和Fabric A是一样的,并不存在某个Fabric中的UNIT ID就一定不能改,所谓的不改某些UNIT的ID,是指使用者能够利用规则达到其特定的目的。
在使用时,如果不希望新加入的UNIT/Fabric抢占某个Fabric内UNIT的ID,同时也不想手动设置优先级,只要将这个UNIT/Fabric放到拓扑位置优先级较低的位置就可以了。因此,管理员能够预见拓扑计算后的结果,增强了对Fabric的控制能力。
参见图8和图9,其为本发明具体实施例5的Merge为环形拓扑的ID调整前后的结构示意图,Fabric A由靠左边的UNIT 1、UNIT 2和UNIT 3组成:
UNIT 1的MAC地址是:0x003333333333;
UNIT 2的MAC地址是:0x004444444444;
UNIT 3的MAC地址是:0x005555555555;
Fabric B由靠右边的UNIT 1和UNIT 2组成:
UNIT 1的MAC地址是:0x001111111111;
UNIT2的MAC地址是:0x002222222222。
通过在同一时间连接上两根堆叠线缆(图8中的两条粗线条所示),Fabric A和Fabric B组成了一个环形的Fabric。上述各UNIT的固有优先级均为自动设置。
由于在上述5个UNIT中,MAC地址最小的是位于原Fabric B中的UNIT1(0x001111111111),因此该UNIT 1的DOWN端口被确定为拓扑位置高优先级端,原Fabric A中的UNIT 3的UP端口被确定为拓扑位置低优先级端。
对于发生ID冲突的Fabric A的UNIT 1和Fabric B的UNIT 1,由于按照UNIT 1(Fabric B)、UNIT 2(Fabric B)、UNIT 1(Fabric A)、UNIT 2(FabricA)、UNIT3(Fabric A)的顺序,Fabric B的UNIT 1更靠近拓扑位置高优先级端,因此按照相对位置调整Fabric A的UNIT 1的ID为4;
对于发生ID冲突的Fabric A的UNIT 2和Fabric B的UNIT 2,由于按照UNIT 1(Fabric B)、UNIT 2(Fabric B)、UNIT 1(Fabric A)、UNIT 2(FabricA)、UNIT3(Fabric A)的顺序,Fabric B的UNIT 2更靠近拓扑位置高优先级端,因此按照相对位置调整Fabric A的UNIT 2的ID为5;
进行ID调整后的链形拓扑状况如图9所示。
上面举例的是两个Fabric发生Merge的情况,其实,三个乃至更多的Fabric发生Merge事件,成为环形拓扑的情况也是同上述方式一样处理。参见图10和11,其为本发明具体实施例6的Merge为环形拓扑的ID调整前后的结构示意图,Fabric A由靠左边的UNIT 1、UNIT 2组成:
UNIT 1的MAC地址是:0x003333333333;固有优先级为手动设置;
UNIT 2的MAC地址是:0x004444444444;固有优先级为手动设置;
Fabric B由位于中央的UNIT 1和UNIT 2组成:
UNIT 1的MAC地址是:0x001111111111;固有优先级为手动设置;
UNIT 2的MAC地址是:0x002222222222;固有优先级为自动设置;
Fabric C由靠右边的UNIT 1和UNIT 2组成:
UNIT 1的MAC地址是:0x005555555555;固有优先级为手动设置;
UNIT 2的MAC地址是:0x006666666666;固有优先级为自动设置。
通过在同一时间连接上三根堆叠线缆(图10中的三条粗线条所示),Fabric A、Fabric B和Fabric C组成了一个环形的Fabric。
首先确定高优先级端,由于在上述6个UNIT中,MAC地址最小的是位于原Fabric B中的UNIT 1(0x001111111111),因此该UNIT 1的DOWN端口被确定为拓扑位置高优先级端,原Fabric A中的UNIT 2的UP端口被确定为拓扑位置低优先级端。
由于发生ID冲突的UNIT 1,其固有优先级均为手动设置,因此还需要以位置关系为依据进行判断,按照UNIT 1(Fabric B)、UNIT 2(Fabric B)、UNIT 1(Fabric C)、UNIT 2(Fabric C)、UNIT 1(Fabric A)、UNIT 2(FabricA)的顺序,由于UNIT 1(Fabric B)最靠近拓扑位置高优先级端,因此其ID保持不变,而UNIT 1(Fabric A)和UNIT 1(Fabric C)则的ID需要重新分配,具体可以为:UNIT 1(Fabric C)变化为3,UNIT 1(Fabric A)变化为4;
由于发生ID冲突的UNIT 2,其中UNIT2(FabricA)的固有优先级为手动设置,而其它两个UNIT2的固有优先级为自动设置,因此,UNIT 2(FabricA)ID保持不变,UNIT 2(Fabric B)ID变为5,UNIT 2(Fabric C)ID变为6;进行ID调整后的链形拓扑状况如图11所示。
参见图12、13及14,其为本发明实施例7的结构示意图,本实施例为一网络设备ID的分配装置,如图12所示,该装置包括:
拓扑位置优先级比较模块1,用于比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级,确定需要重新分配ID的网络设备;
ID分配模块2,与所述拓扑位置优先级比较模块连接,用于对需要重新分配ID的网络设备,重新分配ID。
进一步的,如图13所示,该装置还可以包括:
固有优先级设置模式判断模块3,与所述拓扑位置优先级比较模块和所述ID分配模块连接,用于对发生ID冲突的网络设备的固有优先级的设置方式进行判断;
如果所有发生ID冲突的网络设备的固有优先级的设置方式均为手动设置或者自动设置,触发所述拓扑位置优先级比较模块执行比较所有发生冲突的网络设备在拓扑结构中的拓扑位置优先级;
如果有数个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,而其他产生ID冲突的网络设备的固有优先级的设置方式为自动设置,触发所述拓扑位置优先级比较模块执行比较所述固有优先级的设置方式为手动设置的数个产生ID冲突的网络设备在拓扑结构中的拓扑位置优先级;
如果只有一个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,则确定其他固有优先级为自动设置的网络设备为需要重新分配ID的网络设备,并触发ID分配模块对其重新分配ID。
进一步的,如图14所示,该装置还可以包括:
ID池4,与所述ID分配模块连接,用于向所述ID分配模块提供尚未被分配出去的ID。
综上所述,通过本发明实施例提供的网络设备ID的分配方法及装置,能够摆脱Fabric对于MAC地址的单纯依赖,减少了拓扑计算时Fabric的计算开销,缩短了计算时间,提高了运行速度;并进一步加强了对UNIT堆叠结果的预判力和控制力;因此,实现了和上层各应用业务模块配合的高度适应性和灵活性。
本领域技术人员应当理解,本发明所提供的UNIT可以是路由器、交换机等现有堆叠设备,但同样适用于其他通过一对一的方式相连的设备系统,这种连接关系可以是物理连接也可以是虚拟连接。
本领域技术人员应当理解,可以将根据网络设备在拓扑结构中的位置将上述拓扑位置优先级赋予具体的数值,通过比较所述拓扑位置优先级具体数值的大小来比较位置优先级的高低,对于此种方式同样落入本发明的保护范围中。
在本发明的实施例中,手动设置的优先级高于自动设置的优先级,但本领域技术人员应当理解,在手动设置和自动设置的优先级关系的设定上,同样可以设定为自动设置的优先级高于手动设置的优先级,对于此种变化同样落入本发明的保护范围。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (6)
1.一种网络设备ID的分配方法,其特征在于,包括以下步骤:
当网络设备的ID发生冲突时,比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级,保持拓扑位置优先级最高的网络设备的ID不变,重新分配其他发生冲突的网络设备的ID;
其中,在比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级之前,还包括:
对发生ID冲突的网络设备的固有优先级的设置方式进行判断,如果所有发生ID冲突的网络设备的固有优先级的设置方式均为手动设置或者自动设置,则继续执行比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级的步骤;
如果只有一个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,则保持该网络设备的ID不变,重新分配其他发生冲突的网络设备的ID;
如果有数个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,而其他产生ID冲突的网络设备的固有优先级的设置方式为自动设置,则继续比较所述固有优先级的设置方式为手动设置的数个产生ID冲突的网络设备在拓扑结构中的拓扑位置优先级,保持拓扑位置优先级最高的网络设备的ID不变,重新分配其他发生冲突的网络设备的ID。
2.根据权利要求1所述的方法,其特征在于,当拓扑结构为链形时,所述拓扑位置优先级的高低通过如下方式确定:高拓扑位置优先级端为:所述链形拓扑中网络设备DOWN端口所指向的一端或者所述链形拓扑中设备UP端口所指向的一端;所述低拓扑位置优先级端为:所述链形拓扑中与高拓扑位置优先级端相对的另一端;所述拓扑位置优先级的高低根据网络设备在拓扑结构中距离高位置优先级端或低位置优先级端的远近来确定。
3.根据权利要求1所述的方法,其特征在于,当拓扑结构为环形时,所述拓扑位置优先级的高低通过如下方式确定:拓扑位置高优先级端为:所述环形拓扑中MAC地址最小堆叠设备的DOWN端口所在的一端或者UP端口所在的一端;拓扑位置低优先级端为:与所述拓扑位置高优先级端连接的另一堆叠设备的端口确定为拓扑位置低优先级端;所述拓扑位置优先级的高低根据网络设备在拓扑结构中距离高位置优先级端或低位置优先级端的远近来确定。
4.根据权利要求1所述的方法,其特征在于,所述重新分配其他发生冲突的网络设备的ID具体为:从ID池中选取尚未被分配出去的ID分配给所述其他发生冲突的网络设备。
5.一种网络设备ID的分配装置,其特征在于,包括:
拓扑位置优先级比较模块,用于比较发生冲突的网络设备在拓扑结构中的拓扑位置优先级,保持拓扑位置优先级最高的网络设备的ID不变,确定其他发生冲突的网络设备为需要重新分配ID的网络设备;
ID分配模块,与所述拓扑位置优先级比较模块连接,用于对需要重新分配ID的网络设备,重新分配ID;
固有优先级设置模式判断模块,与所述拓扑位置优先级比较模块和所述ID分配模块连接,用于对发生ID冲突的网络设备的固有优先级的设置方式进行判断;
如果所有发生ID冲突的网络设备的固有优先级的设置方式均为手动设置或者自动设置,则触发拓扑位置优先级比较模块执行比较所有发生冲突的网络设备在拓扑结构中的拓扑位置优先级;
如果有数个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,而其他产生ID冲突的网络设备的固有优先级的设置方式为自动设置,则触发拓扑位置优先级比较模块执行比较所述固有优先级的设置方式为手动设置的数个产生ID冲突的网络设备在拓扑结构中的拓扑位置优先级;
如果只有一个产生ID冲突的网络设备的固有优先级的设置方式为手动设置,则确定其他固有优先级为自动设置的网络设备为需要重新分配ID的网络设备,并触发ID分配模块对其重新分配ID。
6.根据权利要求5所述的装置,其特征在于,还包括:
ID池,与所述ID分配模块连接,用于向所述ID分配模块提供尚未被分配出去的ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710100337XA CN101068250B (zh) | 2007-06-08 | 2007-06-08 | 网络设备id的分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710100337XA CN101068250B (zh) | 2007-06-08 | 2007-06-08 | 网络设备id的分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101068250A CN101068250A (zh) | 2007-11-07 |
CN101068250B true CN101068250B (zh) | 2011-08-31 |
Family
ID=38880686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710100337XA Active CN101068250B (zh) | 2007-06-08 | 2007-06-08 | 网络设备id的分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101068250B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163077B (zh) * | 2007-11-12 | 2010-12-08 | 中兴通讯股份有限公司 | 一种堆叠系统的合并方法 |
WO2014074541A2 (en) * | 2012-11-12 | 2014-05-15 | Alcatel Lucent | System and method for a pass thru mode in a virtual chassis system |
CN103916494B (zh) * | 2014-04-18 | 2017-08-25 | 福建星网锐捷网络有限公司 | 编号的处理方法和设备 |
CN105100966B (zh) * | 2015-07-10 | 2017-07-21 | 北京鑫丰南格科技股份有限公司 | 一种呼叫系统id分配方法及装置 |
CN105245637B (zh) * | 2015-10-27 | 2019-06-25 | 迈普通信技术股份有限公司 | 一种冲突处理方法及设备 |
US9985729B2 (en) | 2016-02-23 | 2018-05-29 | International Business Machines Corporation | Management of frame priorities in fibre channel |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770738A (zh) * | 2004-10-28 | 2006-05-10 | 阿尔卡特公司 | 具备自动建立机制的堆叠管理器协议 |
CN1794663A (zh) * | 2005-12-31 | 2006-06-28 | 杭州华为三康技术有限公司 | 堆叠系统中文件的访问方法 |
-
2007
- 2007-06-08 CN CN200710100337XA patent/CN101068250B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770738A (zh) * | 2004-10-28 | 2006-05-10 | 阿尔卡特公司 | 具备自动建立机制的堆叠管理器协议 |
CN1794663A (zh) * | 2005-12-31 | 2006-06-28 | 杭州华为三康技术有限公司 | 堆叠系统中文件的访问方法 |
Non-Patent Citations (1)
Title |
---|
全文. |
Also Published As
Publication number | Publication date |
---|---|
CN101068250A (zh) | 2007-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101068250B (zh) | 网络设备id的分配方法及装置 | |
CN104079657B (zh) | 基于模板的可配置的集群部署装置及方法 | |
KR20220054396A (ko) | 딥러닝 트레이닝 태스크의 작동 방법 및 장치 | |
CN103718519A (zh) | 实现分离式架构网络中的ospf | |
CN101605102A (zh) | 一种irf堆叠中的负载分担方法及装置 | |
CN101572726A (zh) | 在基于多处理器网格的系统中用于分层路由的方法和装置 | |
CN104025552A (zh) | 链路聚合中流量多路复用的同步 | |
CN110580547B (zh) | 用于拆卸废旧产品的并行不完全拆卸线的设置方法 | |
CN101415007A (zh) | 多平台统一接入方法及系统 | |
KR20130125814A (ko) | 가상 터미널을 지원하는 멀티캐스트 데이터 전달 방법 및 장치 | |
CN105009084A (zh) | 分布式计算平台中的服务分配 | |
CN102299933A (zh) | 一种分布式控制系统的工程组态管理方法及系统 | |
CN105871592A (zh) | 分布式体系构架电话调度设备的双机热备份方法 | |
CN102880137A (zh) | 流水线工序的控制方法和装置 | |
CN100435524C (zh) | 堆叠系统中设备的拓扑结构形成方法 | |
CN103763135A (zh) | 一种pe流量调度方法及装置 | |
CN113055232B (zh) | 一种网络配置部署方法、装置与设备 | |
CN106506625A (zh) | 四控服务器及四控服务器通信方法 | |
CN100384146C (zh) | 管理分布式网络设备的方法 | |
CN111556137A (zh) | 一种自组织异构网络中分布式系统的数据同步方法及系统 | |
CN103686750B (zh) | 一种云无线接入网架构下的动态频率复用方法 | |
CN1996874A (zh) | 一种升级为自动交换光网络设备的装置和方法 | |
CN105591911B (zh) | 一种lsp的生成方法和装置 | |
CN101977123A (zh) | 虚拟专用局域网站点id生成方法、系统及装置 | |
CN116260590A (zh) | 一种跨链场景下的高并发中继事务协调方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |