用于三维torus光电混合网络的路由方法

文档序号:7770274阅读:167来源:国知局
用于三维torus光电混合网络的路由方法
【专利摘要】本发明公开了一种用于三维torus光电混合网络的路由方法,其实施步骤如下:1)节点在时隙开始阶段解析输入端口输入的报文和新报文的目的地址并选择输出端口;2)节点首先判断三个输入端口是否都有报文输入,如果三个输入端口都有报文输入且本节点有待发送的新报文,则暂停发送新报文并在下一个时隙开始时尝试发送该新报文;然后跳转执行下一步;3)节点首先判断为所有报文选择的输出端口是否冲突,如果发生输出端口冲突,则根据预设优先级别对发生输出端口冲突的报文的输出端口进行重新分配;最终将各个报文按照对应的输出端口发送给下一节点。本发明具有硬件利用率好、通信效率高、通信性能好、无死锁、活锁及饿死现象的优点。
【专利说明】用于三维torus光电混合网络的路由方法
【技术领域】
[0001]本发明涉及高性能计算机通信领域,具体涉及一种用于三维torus光电混合网络的路由方法。
【背景技术】
[0002]近年来,随着高性能计算技术的发展,高性能计算机内部核的数目不断增加,核间通信需求不断提高,对交换网络的网络延迟和带宽提出了新的更高要求。三维torus光电混合网络则用于实现高性能计算机的通信,能够有效解决交换网络的网络延迟和带宽问题。
[0003]三维torus光电混合网络包含一个光数据网络和一个具有同样拓扑结构的电控制网络。光数据网络用于传输数据,电控制网络用于传输控制信号,该控制信号用来控制光网络数据的传输方向。光数据网络的基本功能单元为网络节点,每个节点包含电控制网络和若干个光交换单元(Photonic Switch Element),电控制网络用于发送、接收和解析路由信息,并向光交换单元发出控制信号,设置这些光交换单元的状态。在三维torus光电混合网络中,节点之间使用光网络来传输数据报文、使用电网络来传输电控制信息。光数据网络和电控制网络具有同构的拓扑结构,在相邻的两个节点间同时建立光链路和电链路,从而形成一个光电混合互连网络结构。在这种光电混合网络中,报文的路由过程实际上就是报文在光交换单元和光链路组成的路径上进行传输的过程。因此,对于任何一个节点,其上的路由算法实际上就是设置该节点光交换单元的状态。
[0004]以4X4X4三维torus光电混合网络为例,一个mXnXp的三维torus光电混合网络由mXnXp个节点组成,每个节点可用坐标(X,y, z) (x=0, I, 2,..., m_l ;y=0, I, 2,…n-1 ;z=0, 1,2…p-1)表示,每个节点包含三个端口 X-、Y-和Z-,三个输出端口 X+、Y+和Z+ ;在4X4X4三维torus光电混合网络中,贝U有m、η、ρ的值均为4,每个节点的坐标(x, y, z)中x、y、z的取值均为O~3。在三维torus光电混合网络中,所有节点都按照时隙同步模式传输数据。比如报文P的数据信息的第一位在某个时隙开始时刻h从一个节点N1的X+、Y+或Z+端口发出后,经过一个时隙的时间Λ !',在七片Λ T时刻,报文P的数据信息的第一位到达相邻的下一个节点N2的X-、Y-或Z-端口,同时,报文P的最后一位刚从N1发送出来,这种按照时隙同步模式传输数据的网络假定报文在相邻节点间的传输时间等于一个时隙。因此,在在Δ T时刻,节点N1和节点N2间的光链路“充满”数据。然后报文P的数据信息的第一位接着从节点N2的X+、Y+或Z+端口送出,在tj2 Δ T时刻,P报文的第一位到达节点N3的X-、Y-或Z-端口,此时其最后一位到达节点N2的发送端口。这样,整个报文在到达目的节点之前将沿着网络链路流水前进。
[0005]目前,三维torus光电混合网络常用的路由算法包括如下三种。
[0006]第一种,维序路由算法。在维序路由算法中,每个数据包每次只在一个维上路由,当在该维上到达了目的坐标之后,再按照由低维到高维的顺序在其他维上路由。因为数据包严格按照单调的维数变化在通道内路由,所以维序路由是没有死锁的,维序路由算法在负载较轻和负载均匀的条件下能够比较好的工作,但维序路由算法在网络负载加重或负载不均匀时,性能会急剧下降。
[0007]第二种,确定性路由算法。确定性路由算法是指从节点A到节点B是一个固定的路径,与网络状况无关。确定性路由算法在网络没有拥塞时,具有高可靠性和低延迟。每个路由器都有一个包括一个全局路由表,网络改变时,路由表随之更新。确定性路由算法的硬件设计和实现简单,在网络流量不大时,具有较小的网络时延,是无死锁和无活锁路由,但是确定性路由算法的可扩张性较差,每次网络规模的变化,都会带来大量的网络带宽开销。
[0008]第三,随机路由算法。随机路由算法基于概率将报文按不同的路径发送到目的节点,并假定每个分组迟早都能到达其目的节点。为了避免分组在网络中无限制地游走,算法规定了报文的生存时间。报文在网络中随机路由时都有一个最长时间限制,超过此时间,报文将被丢弃。随机路由算法虽然实现简单,且能容错,但是随机路由算法的网络延迟较大,难以满足延迟要求高的网络应用。

【发明内容】

[0009]本发明要解决的技术问题是提供一种硬件利用率好、通信效率高、通信性能好、无死锁、活锁及饿死现象的用于三维torus光电混合网络的路由方法。
[0010]为了解决上述技术问题,本发明采用的技术方案为:
一种用于三维torus光电混合网络的路由方法,其实施步骤如下:
1)节点在每个时隙的开始阶段,解析X-端口、Υ_端口、Z-端口三个输入端口到达节点的报文的目的地址,如果本节点有待发送的新报文则解析新报文的目的地址,根据维序路由算法决定所有被解析报文的输出端口;
2)判断所述三个输入端口是否都有报文输入,当所述三个输入端口都有报文输入且本节点有待发送的新报文时,则暂停发送新报文并将在下一个时隙开始时尝试发送该新报文;否则,跳转执行下一步;
3)首先判断所有报文的输出端口是否发生冲突,如果输出端口发生冲突,则根据预设的优先级别对输出端口发生冲突的报文的输出端口进行重新分配;最后将各个报文按照对应的输出端口发送至下一节点。
[0011]作为本发明用于三维torus光电混合网络的路由方法的进一步改进:
所述步骤I)中解析X-端口、Y-端口、Z-端口三个输入端口到达节点的报文的目的地址时,按照X-端口、Y-端口、Z-端口的优先顺序依次解析三个输入端口到达节点的报文的目的地址,来自X-端口的报文的目的地址首先被解析,来自Y-端口的报文的目的地址其次被解析,来自Z-端口的报文的目的地址最后被解析。
[0012]所述步骤3)中预设的优先级别具体是指:x-端口输入的报文优先级大于Y-端口输入的报文,Y-端口输入的报文优先级大于Z-端口输入的报文,X-端口输入的报文、Y-端口输入的报文、Z-端口输入的报文的优先级均大于待发送的新报文。
[0013]所述步骤3)的详细步骤如下:
3.1)判断所有报文的输出端口是否发生冲突,如果输出端口发生冲突,则跳转执行步骤3.2),否则跳转执行步骤3.5); 3.2)判断本节点是否有待发送的新报文,如果有待发送的新报文则跳转执行步骤3.3),否则跳转执行步骤3.4);
3.3)检查输出端口发生冲突的类型,如果有两个输入端口到达节点的报文,且所述两个输入端口到达节点的报文的输出端口均和待发送新报文的输出端口相同,则跳转执行步骤3.3.1);如果有两个输入端口的报文,但所述两个输入端口到达节点的报文中仅有一个报文的输出端口与新报文的输出端口相同,则跳转执行步骤3.3.2);如果有两个输入端口到达节点的报文,所述两个输入端口到达节点的报文的输出端口均与新报文的输出端口不同,但所述两个输入端口到达节点的报文的输出端口之间相同,则跳转执行步骤3.3.3);如果仅有一个输入端口到达节点的报文,且所述输入端口到达节点的报文的输出端口与新报文的输出端口相同,则跳转执行步骤3.3.4);
3.3.1)保持所述两个输入端口到达节点的报文中优先级较高报文的输出端口不变,随机选取一个空闲的输出端口并重新分配给两个输入端口到达节点的报文中优先级较低的报文,并将最后剩下的一个空闲的输出端口重新分配给待发送的新报文,跳转执行步骤3.5);
3.3.2)保持所述两个输入端口到达节点的报文的输出端口的输出端口均不变,将最后剩下的一个空闲的输出端口重新分配给待发送的新报文,跳转执行步骤3.5);
3.3.3)保持所述两个输入端口到达节点的报文中优先级较高报文的输出端口不变,保持待发送新报文的输出端口不变,将最后剩下的一个空闲的输出端口重新分配给所述两个输入端口的报文中优先级较低的报文,跳转执行步骤3.5);
3.3.4)保持输入端口到达节点的报文的输出端口不变,随机选择一个空闲输出端口并重新分配给待发送的新报文,跳转执行步骤3.5);
3.4)检查输出端口发生冲突的类型,如果有三个输入端口到达节点的报文,且三个输入端口到达节点的报文的输出端口均相同,则跳转执行步骤3.4.1);如果有三个输入端口到达节点的报文,且仅有两个输入端口到达节点的报文的输出端口相同,则跳转执行步骤3.4.2);如果仅有两个输入端口的报文,且所述两个输入端口的报文之间的输出端口相同,则跳转执行步骤3.4.3);
3.4.1)保持三个输入端口到达节点的报文中优先级最高报文的输出端口不变,随机选取一个空闲的输出端口重新分配给三个输入端口到达节点的报文中优先级次高的报文,并将最后剩下的一个空闲的输出端口重新分配给三个输入端口到达节点的报文中优先级最低的报文,跳转执行步骤3.5);
3.4.2)保持三个输入端口到达节点的报文中输出端口不相同报文的输出端口不变,保持所述两个输入端口的报文中优先级较高的报文的输出端口不变,将最后剩下的一个空闲的输出端口重新分配给所述两个输入端口的报文中优先级较低的报文,跳转执行步骤3.5);
3.4.3)保持所述两个输入端口到达节点的报文中优先级较高的报文的输出端口不变,随机选取一个空闲的输出端口重新分配给所述两个输入端口到达节点的报文中优先级较低的报文,跳转执行步骤3.5);
3.5)将各个报文按照对应的输出端口发送至下一节点。
[0014]本发明具有下述优点:本发明提出了一种基于维序路由和随机路由的混合路由方法,本发明的节点在每个时隙的开始阶段,为输入报文以及新报文解析目的地址并选择输出端口,根据三个输入端口的情况决定新报文的发送时隙,且节点首先判断为所有报文选择的输出端口中是否有报文发生输出端口冲突,如果发生输出端口冲突,则根据预设优先级别对发生输出端口冲突的报文的输出端口进行重新分配,最终将各个报文按照对应的输出端口发送给下一节点,因此能够充分利用空闲的链路发送新报文以及解决报文之间的输出端口冲突,数据传输效率相对现有算法有了很大的提升,而且能够可避免网络产生死锁、活锁及饿死现象,具有硬件利用率好、通信效率高、通信性能好、无死锁、活锁及饿死现象的优点。
【专利附图】

【附图说明】
[0015]图1为本发明实施例的基本流程示意图。
[0016]图2为应用本发明实施例的电控制网络节点的结构示意图。
【具体实施方式】
[0017]如图1所示,本实施例用于三维torus光电混合网络的路由方法的实施步骤如下:
1)节点在每个时隙的开始阶段,解析X-端口、Y-端口、Z-端口三个输入端口到达节点的报文的目的地址,如果本节点有待发送的新报文则解析新报文的目的地址,根据维序路由算法决定所有被解析报文的输出端口;
2)判断三个输入端口是否都有报文输入,当三个输入端口都有报文输入且本节点有待发送的新报文时,则暂停发送新报文并将在下一个时隙开始时尝试发送该新报文;否则,跳转执行下一步;
3)首先判断所有报文的输出端口是否发生冲突,如果输出端口发生冲突,则根据预设的优先级别对输出端口发生冲突的报文的输出端口进行重新分配;最后将各个报文按照对应的输出端口发送至下一节点。
[0018]本实施例中,步骤I)中解析X-端口、Y-端口、Z-端口三个输入端口到达节点的报文的目的地址时,按照X-端口、Y-端口、Z-端口的优先顺序依次解析三个输入端口到达节点的报文的目的地址,来自X-端口的报文的目的地址首先被解析,来自Y-端口的报文的目的地址其次被解析,来自Z-端口的报文的目的地址最后被解析。
[0019]本实施例中,步骤3)中预设的优先级别具体是指:Χ-端口输入的报文优先级大于Y-端口输入的报文,Y-端口输入的报文优先级大于Z-端口输入的报文,X-端口输入的报文、Y-端口输入的报文、Z-端口输入的报文的优先级均大于待发送的新报文,从而能够提高端口输入的报文的发送效率,而且支持X-端口、Υ-端口、Z-端口的优先级细粒度处理,通信效率更好。此外,本实施例同样也可以根据需要采用其它的预设优先级,同样也能够实现对发生输出端口冲突的报文的输出端口进行重新分配。
[0020]本实施例中,步骤3)的详细步骤如下:
3.1)判断所有报文的输出端口是否发生冲突,如果输出端口发生冲突,则跳转执行步骤3.2),否则跳转执行步骤3.5);
3.2)判断本节点是否有待发送的新报文,如果有待发送的新报文则跳转执行步骤3.3),否则跳转执行步骤3.4);
3.3)检查输出端口发生冲突的类型,如果有两个输入端口到达节点的报文,且两个输入端口到达节点的报文的输出端口均和待发送新报文的输出端口相同,则跳转执行步骤3.3.1);如果有两个输入端口的报文,但两个输入端口到达节点的报文中仅有一个报文的输出端口与新报文的输出端口相同,则跳转执行步骤3.3.2);如果有两个输入端口到达节点的报文,两个输入端口到达节点的报文的输出端口均与新报文的输出端口不同,但两个输入端口到达节点的报文的输出端口之间相同,则跳转执行步骤3.3.3);如果仅有一个输入端口到达节点的报文,且输入端口到达节点的报文的输出端口与新报文的输出端口相同,则跳转执行步骤3.3.4);
3.3.1)保持两个输入端口到达节点的报文中优先级较高报文的输出端口不变,随机选取一个空闲的输出端口并重新分配给两个输入端口到达节点的报文中优先级较低的报文,并将最后剩下的一个空闲的输出端口重新分配给待发送的新报文,跳转执行步骤3.5);
3.3.2)保持两个输入端口到达节点的报文的输出端口的输出端口均不变,将最后剩下的一个空闲的输出端口重新分配给待发送的新报文,跳转执行步骤3.5);
3.3.3)保持两个输入端口到达节点的报文中优先级较高报文的输出端口不变,保持待发送新报文的输出端口不变,将最后剩下的一个空闲的输出端口重新分配给两个输入端口的报文中优先级较低的报文,跳转执行步骤3.5);
3.3.4)保持输入端口到达节点的报文的输出端口不变,随机选择一个空闲输出端口并重新分配给待发送的新报文,跳转执行步骤3.5);
3.4)检查输出端口发生冲突的类型,如果有三个输入端口到达节点的报文,且三个输入端口到达节点的报文的输出端口均相同,则跳转执行步骤3.4.1);如果有三个输入端口到达节点的报文,且仅有两个输入端口到达节点的报文的输出端口相同,则跳转执行步骤3.4.2);如果仅有两个输入端口的报文,且两个输入端口的报文之间的输出端口相同,则跳转执行步骤3.4.3);
3.4.1)保持三个输入端口到达节点的报文中优先级最高报文的输出端口不变,随机选取一个空闲的输出端口重新分配给三个输入端口到达节点的报文中优先级次高的报文,并将最后剩下的一个空闲的输出端口重新分配给三个输入端口到达节点的报文中优先级最低的报文,跳转执行步骤3.5);
3.4.2)保持三个输入端口到达节点的报文中输出端口不相同报文的输出端口不变,保持两个输入端口的报文中优先级较高的报文的输出端口不变,将最后剩下的一个空闲的输出端口重新分配给两个输入端口的报文中优先级较低的报文,跳转执行步骤3.5);
3.4.3)保持两个输入端口到达节点的报文中优先级较高的报文的输出端口不变,随机选取一个空闲的输出端口重新分配给两个输入端口到达节点的报文中优先级较低的报文,跳转执行步骤3.5);
3.5)将各个报文按照对应的输出端口发送至下一节点。
[0021]如图2所示,应用本实施例的三维torus光电混合网络的电控制网络中的电控制节点的核心模块为处理单元(PE),每个输入端口(X-、Y-或Z-端口)可以通过处理单元PE的控制连接到任意一个输出端口(X+、Y+或Z+端口),处理单元PE则用于执行本实施例的路由方法,为电控制节点和光数据节点同步选择输出端口。[0022]如图2所示,处理单元PE包括控制信息解析模块、路由判断及仲裁模块、控制信息转发模块、光交换单元控制器。控制信息解析模块用于解析报文的目的地址,节点在每个时隙的开始阶段通过控制信息解析模块解析X-端口、Y-端口、Z-端口三个输入端口到达节点的报文的目的地址,如果本节点有待发送的新报文,则通过控制信息解析模块解析新报文的目的地址。路由判断及仲裁模块用于决定被解析报文的输出端口以及对输出端口发生冲突的报文的输出端口进行重新分配,路由判断及仲裁模块在每个时隙的开始阶段根据维序路由算法决定所有被解析报文的输出端口,然后判断三个输入端口是否都有报文输入,当三个输入端口都有报文输入且本节点有待发送的新报文时,则暂停发送新报文并将在下一个时隙开始时尝试发送该新报文;否则,首先判断所有报文的输出端口是否发生冲突,如果输出端口发生冲突,则根据预设的优先级别对输出端口发生冲突的报文的输出端口进行重新分配。控制信息转发模块用于向下一节点转发电控制信息,光交换单元控制器则用于向下一节点转发光数据,从而实现报文在三维torus光电混合网络上的传输。
[0023]为了进一步描述清楚,本实施例以新报文P从源节点S经过若干中间节点N发送到目的节点D为例,对源节点S和中间节点N的路由过程进行进一步的说明。
[0024]参见步骤3.3),新报文P从源节点S发送出去的详细工作过程如下:
Al)源节点S在时隙开始时,首先解析从Χ-、gama_或Z-端口到达源节点S的报文的目的地址,然后解析报文P (新报文)的目的地址,并根据维序路由策略决定所有被解析报文的输出端口。本实施例中解析目的地址时,报文的优先级顺序为来自X-端口的报文优先级大于来自Y-端口的报文,来自Y-端口的报文优先级大于来自Z-端口的报文,来自Z-端口的报文优先级大于报文P (新报文),报文P (新报文)具有最低的优先级。
[0025]Α2)如果X-端口、gama-端口和Z-端口都有报文发送,那么源节点S暂停发送报文P,并在下一个时隙开始时,尝试发送报文P。
[0026]A3)否则的话,判断报文的输出端口是否有重复。如果所选择的输出端口没有重复,说明不存在输出冲突,那么每个报文分别按照选择的输出端口发送报文。
[0027]Α4)如果所选择的输出端口有重复,说明存在冲突。那么根据随机路由策略和报文优先级顺序(X-端口报文具有最高优先级,报文P优先级最低),解决冲突:
Α4.1)如果有两个输入端口报文且他们选择的输出端口和报文P相同,那么保持优先级较高的报文的输出端口不变,随机选取一个空闲的输出端口给优先级较低的输入端口的报文,报文P从最后剩下的输出端口输出。
[0028]Α4.2)如果有两个输入端口报文,但是这两个报文的输出端口和报文P的输出端口不完全相同。那么保持不冲突的报文的输出端口,并按照优先级,保持优先级较高的那个报文的输出端口,将优先级相对较低的那个报文从最后剩下的输出端口输出。
[0029]Α4.3)如果有两个输入端口报文,这两个报文的输出端口和报文P的输出端口均不相同,但是两个输入端口报文之间的输出端口相同。那么保持不冲突的报文P的输出端口不变,并按照优先级,在两个输入端口报文中保持优先级较高的那个报文的输出端口,将优先级相对较低的那个报文从最后剩下的输出端口输出。
[0030]Α4.4)仅有一个输入端口有报文且输出端口相同,那么按照优先级,保持这个输入端口、报文的输出端口,然后随机选择一个空闲输出端口,将报文P从这个输出端口输出。
[0031]参见步骤3.4),报文P到达中间节点N时的详细工作过程如下: BI)在每个时隙的开始阶段,依次解析从Χ-、Υ_或Z-端口到达中间节点N的报文的目的地址(X-端口报文的目的地址首先被解析,Z-端口的最后被解析),并根据维序路由策略决定报文的输出端口。
[0032]Β2)如果所选择的输出端口没有重复,说明不存在输出冲突。那么每个报文分别按照选择的输出端口发送报文。
[0033]Β3)如果所选择的输出端口有重复,说明存在冲突。那么根据随机路由策略和报文优先级顺序(X-端口报文具有最高优先级,Z-端口优先级最低),解决冲突:
Β3.1)如果X-、Y-和Z-端口都有报文且输出端口完全相同,那么保持X-端口报文的输出端口不变,随机选取一个空闲的输出端口给Y-端口的报文,Z-端口的报文从最后剩下的输出端口输出。
[0034]Β3.2)如果Χ-、Υ_和Z-端口都有报文且输出端口部分相同(如X-和Y-的输出端口相同,Z-不同)。那么保持不冲突的报文的输出端口,并按照优先级,保持优先级较高的那个报文的输出端口,将优先级相对较低的那个报文从最后剩下的输出端口输出。
[0035]Β3.3)仅有两个输入端口有报文且输出端口相同,那么按照优先级,保持优先级较高的那个报文的输出端口,然后随机选择一个空闲输出端口,将优先级相对较低的那个报文这个输出端口输出。
[0036]Cl)报文P经过多个中间节点N传输后最终到达目的节点D,由目的节点D将其接收,报文P的传输过程结束。
[0037]以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种用于三维torus光电混合网络的路由方法,其特征在于实施步骤如下: .1)节点在每个时隙的开始阶段,解析X-端口、Y-端口、Z-端口三个输入端口到达节点的报文的目的地址,如果本节点有待发送的新报文则解析新报文的目的地址,根据维序路由算法决定所有被解析报文的输出端口; .2)判断所述三个输入端口是否都有报文输入,当所述三个输入端口都有报文输入且本节点有待发送的新报文时,则暂停发送新报文并将在下一个时隙开始时尝试发送该新报文;否则,跳转执行下一步; .3)首先判断所有报文的输出端口是否发生冲突,如果输出端口发生冲突,则根据预设的优先级别对输出端口发生冲突的报文的输出端口进行重新分配;最后将各个报文按照对应的输出端口发送至下一节点。
2.根据权利要求1所述的用于三维torus光电混合网络的路由方法,其特征在于:所述步骤I)中解析X-端口、Y-端口、Z-端口三个输入端口到达节点的报文的目的地址时,按照X-端口、Y-端口、Z-端口的优先顺序依次解析三个输入端口到达节点的报文的目的地址,来自X-端口的报文的目的地址首先被解析,来自Y-端口的报文的目的地址其次被解析,来自Z-端口的报文的目的地址最后被解析。
3.根据权利要求2所述的用于三维torus光电混合网络的路由方法,其特征在于,所述步骤3)中预设的优先级别具体是指:X-端口输入的报文优先级大于Y-端口输入的报文,Y-端口输入的报文优先级大于Z-端口输入的报文,X-端口输入的报文、Y-端口输入的报文、Z-端口输入的报文的优先级均大于待发送的新报文。
4.根据权利要求3所述的用于三维torus光电混合网络的路由方法,其特征在于,所述步骤3)的详细步骤如下: .3.1)判断所有报文的输出端口是否发生冲突,如果输出端口发生冲突,则跳转执行步骤3.2),否则跳转执行步骤3.5); .3.2)判断本节点是否有待发送的新报文,如果有待发送的新报文则跳转执行步骤.3.3),否则跳转执行步骤3.4); .3.3)检查输出端口发生冲突的类型,如果有两个输入端口到达节点的报文,且所述两个输入端口到达节点的报文的输出端口均和待发送新报文的输出端口相同,则跳转执行步骤3.3.1);如果有两个输入端口的报文,但所述两个输入端口到达节点的报文中仅有一个报文的输出端口与新报文的输出端口相同,则跳转执行步骤3.3.2);如果有两个输入端口到达节点的报文,所述两个输入端口到达节点的报文的输出端口均与新报文的输出端口不同,但所述两个输入端口到达节点的报文的输出端口之间相同,则跳转执行步骤3.3.3);如果仅有一个输入端口到达节点的报文,且所述输入端口到达节点的报文的输出端口与新报文的输出端口相同,则跳转执行步骤3.3.4); .3.3.1) 保持所述两个输入端口到达节点的报文中优先级较高报文的输出端口不变,随机选取一个空闲的输出端口并重新分配给两个输入端口到达节点的报文中优先级较低的报文,并将最后剩下的一个空闲的输出端口重新分配给待发送的新报文,跳转执行步骤.3.5); .3.3.2)保持所述两个输入端口到达节点的报文的输出端口的输出端口均不变,将最后剩下的一个空闲的输出端口重新分配给待发送的新报文,跳转执行步骤3.5);`3.3.3)保持所述两个输入端口到达节点的报文中优先级较高报文的输出端口不变,保持待发送新报文的输出端口不变,将最后剩下的一个空闲的输出端口重新分配给所述两个输入端口的报文中优先级较低的报文,跳转执行步骤3.5); `3.3.4)保持输入端口到达节点的报文的输出端口不变,随机选择一个空闲输出端口并重新分配给待发送的新报文,跳转执行步骤3.5); ` 3.4)检查输出端口发生冲突的类型,如果有三个输入端口到达节点的报文,且三个输入端口到达节点的报文的输出端口均相同,则跳转执行步骤3.4.1);如果有三个输入端口到达节点的报文,且仅有两个输入端口到达节点的报文的输出端口相同,则跳转执行步骤`3.4.2);如果仅有两个输入端口的报文,且所述两个输入端口的报文之间的输出端口相同,则跳转执行步骤3.4.3); `3.4.1)保持三个输入端口到达节点的报文中优先级最高报文的输出端口不变,随机选取一个空闲的输出端口重新分配给三个输入端口到达节点的报文中优先级次高的报文,并将最后剩下的一个空闲的输出端口重新分配给三个输入端口到达节点的报文中优先级最低的报文,跳转执行步骤3.5); ` 3.4.2)保持三个输入端口到达节点的报文中输出端口不相同报文的输出端口不变,保持所述两个输入端口的报文中优先级较高的报文的输出端口不变,将最后剩下的一个空闲的输出端口重新分配给所述两个输入端口的报文中优先级较低的报文,跳转执行步骤`3.5); `3.4.3)保持所述两个输入端口到达节点的报文中优先级较高的报文的输出端口不变,随机选取一个空闲的输出端口重新分配给所述两个输入端口到达节点的报文中优先级较低的报文,跳转执行步骤3.5); ` 3.5)将各个报文按照对应的输出端口发送至下一节点。
【文档编号】H04L12/851GK103491023SQ201310417134
【公开日】2014年1月1日 申请日期:2013年9月13日 优先权日:2013年9月13日
【发明者】窦文华, 鲁佳, 韩岗, 李宝亮, 周乐文, 任双印, 彭超, 钱悦, 窦强, 郭龙飞, 苏醒, 任斌, 叶进, 覃晨 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1