形成路由信息的方法

文档序号:7570129阅读:410来源:国知局
专利名称:形成路由信息的方法
在例如像窄带网或ATM网(ATM=异步传输方式)的通信网中选择连接的路由时原则上有两个可选的处理方式,即“路程段接路程段的路由选择”,和“源路由”;在“路程段接路程段的路由选择”上每个转接节点自己决定,如何下传建立连接的请求;在“源路由”上,像“source node源节点”那样的源节点S(起始连接请求的用户是连接于其上的)将路由说明一起给入建立连接信息中,各转接节点必须遵循该路由说明,以便这样到达目的节点D, 如“destination node目的节点”(所请求的目的连接用户是连接于其上的)。这种路由说明信息也称之为路由信息或源路由信息,或者专门在ATM-PNNI(专用网络到节点界面)网络上称之为DTL-stack(=指定转接清单信息元栈)。
所述的ATM通信网可构造为许多由物理中继节点(“nodes节点“)和物理连接线(“physical links物理链路”)组成的局部网(“PeerGroups同级组”)。一个(等级最低的)同级组的各节点按照PNNI协议,从它们中间确定一个所谓的带头节点(“Peer Group Leader带头同级组”),它以一种单一的、逻辑的、典范节点的形式(“称为logical group node逻辑组节点”或者也称为“parent node父节点”)在一个等级更高的同级组中代表整个同级组。
形成了一个等级更高的同级组,它由多个这类父节点以及由典范地交链这些父节点的连接线组成,在此介于两个这样父节点之间的,一个典范的连接线(也称为“higher-Level logical link较高级逻辑链路”)代表所有那些物理连接线,它们从两个相邻父节点的等级区中连接各两个物理边界节点,并且在此多亏管理规定和一种一致性算法,这些连接线已获得所分配到的各自自己的标记,所谓的集合标记。
该等级可以循环地在其它等级层面中继续在等级更高的同级组中也可再次进行一次带头同级组的选择。在此所选的带头同级组在一个等级上下一个更高的同级组中,重新代表整个在它之下建立的等级区,似乎该等级区是一个单一的节点。在此同级组中也有逻辑的,典范的,像刚才所述那样再次产生的各连接线。
通过添加其它的纯逻辑连接线,所谓的“Uplinks上行链路”来完整地按PNNI协议的等级典范网(为了直观三维格子),这些上行链路按PNNI协议互相连接从等级上不同高的同级组中来的每两个节点(当位于链路下末端的节点是一个物理节点时-则是物理的,或者逻辑的)。
因此从一个等级最低的,经一物理连接线与一相邻同级组中一边界节点连接的同级组的边界节点,将一上行链路(此外也称为“lnitialer uplink初始上行链路”)引向相邻边界节点的一个带头节点,引向所谓的“Upnode上节点”也就是引向那个带头节点“ancestor node祖先节点(即父节点,或祖父节点,或祖…祖父节点),此带头节点对于这一侧边界节点的,准确地一个一定的祖先节点,是在一个共同的等级较高同级组中的一个直接相邻节点。一种这类(初始)上行链路的后果在于,所有(这一侧边界节点的),却属于各一个等级较低同级组的祖先节点,也作为所述共同的等级较高同级组,向等级图贡献各一个通向所述上节点的上行链路(此外也称为“寻址上行链路”)。
在此可以很灵活地操作这种最终基于各单个节点相应配置参数上的等级的结构形成。祖…祖父同级组的这些单个节点尤其可以拥有不同多的,结合针对于此的同级组的子等级层面。
按PNNI协议的各数据包的,Hello Packets各呼叫包的以及各PNNI布局状态数据包(“PNNI-State-Packets各布局状态包”-PTSPs)的交换经所谓的各路由检查信道(“Routing-Control-Channels”)负责使得等级最低同级组的每个物理中继节点获得针对这些和所有在等级上位于其上的,等级较高组的,包括所有上行链路布局的同一知识;此外获得针对所有包含其中的节点和连接线的占用负荷率的同一知识;以及获得针对它们的各性能(联系上的可能性,各能力,特征,费用)的同一知识。
可将该获得布局知识以一种图形G1的形式存储在一个节点中。在此节点中将每次现实的中继节点(它已为自己制备了该图形G1)特别标记为源节点S。
如果现在连接在源节点上的一个终端机表达了与某个目的地址的终端机连接的请求,则允许按PNNI路由协议交换的数据在图形G1中确定那样一个目的节点D,它宣布该目的终端机的可联系性以及它在此属于等级上最低可能的同级组。按一种合适最小准则的要求,从图形G1出发应确定一个从起始节点s通往目的节点D的,最好的路由。
ATM论坛技术委员会,说明书中专用网络到节点界面(PNNI),版本1.0,附件H在此却未预先考虑以下可能性,将经一个或多个同级组的并带有返回已通过同级组的迂回路由列入路由搜索,因此有时不可能相应地满足一种中继要求。
在其它的通信网中,例如具有用于实现PSTN(public switchedtelephon network公共交换电话网)源路由的窄带网,同样出现这些问题。仅仅如下地评判各布局信息,在避免迂回路由的条件下来确定各路由。
本发明方法的任务现在于,在重视布局信息和通信条件的情况下,针对各节点和连接线确定一个路由,并将之转换成这样一种路由信息,可能考虑最大可能的路由多样化。该任务通过具有权利要求1的各特征的方法来解决。
这些中继节点是从属于各局部网的和是任意地互相交链的。在此这些局部网可以是不同经营者的单个当地通信网或者是一个跨界通信网的中继节点群。在一个源中继节点中,经该自己的局部网和各局部网的交链,各布局信息是可供支配的,这些布局信息是存储在节点中或在一路由服务器中。此外在该源中继节点面前存在着为建立通信连接所要求的各通信条件。
根据这些布局信息选出满足各通信条件的部分数量的中继节点和连接线,并且确定一个通往目的中继节点的路由。在此收入一个路由,它在从源中继节点通往目的中继节点的方向上有一次至少离开一个局部网,和在以下的路由分布中重新返回该局部网。随后由该确定的路由形成路由信息。或者在中继节点本身中或者在可与此中继节点连接的各外界装置中,例如路由服务器中进行路由信息的形成。例如在西门子公司的Xpress中继节点中可以实现本发明的方法。
从一种例如基于通过PNNI路由协议获得的布局信息上的布局图形出发,推导出一种也许减少了的布局图形,此外使得余下的节点和边缘满足现实连接请求的各条件。要注意,不过于减少该布局图形,使得一些迂回路由成为可能,在这些迂回路由上可以通过一些节点和边缘,它们属于一个比目的节点D的更高的等级层面。
一种在此之上进行的路由选择算法产生一种经其它局部网作迂回路由的路由,因此它从应用的最小准则意义上看是一个瞬间最好路由,例如由于根据瞬间的网络负荷不可能有无迂回的路由,或者如果仍然这是可能的,则这些路由是较不利的。如果网络/局部网(同级组)是根据组织管理的观点(拥有者,各部门…)所形成的,但在地理上覆盖同一空间的话,后者的情况则尤其是可能的。
按此路由信息建立的一种通信连接绝对也包括各迂回路由,如果在遵守各通信条件下在一个局部网之内一种直接路由是不可能的话,这些迂回路由则是不可避免的。通过本发明的方法却可以绕过一个局部网之内的封锁。通过在一个连接建立时利用附加的各局部网,从根本上扩大了许可路由的数目和给通信网的经营者打开了开阔的布局可能性。
自愿地限制潜在迂回路由规模属于本发明的有利的安排。在此有利地将最高的各同级组在某种程度上是自愿地从该布局图形中去除。当专用的和公共的网络形成一个共同的等级时以及可能出于费用原因应防止经公共网的迂回路由时,这种观点则是重要的。
这些中继节点或局部网是有利地构成为窄带网或ATM网的。本发明的方法却也可应用于通信网的混合形式,使得只有通信网的各部分是以如此方式构成的。
如果至少有一部分中继节点按专用网节点协议(PNNI)的各原理运行的话,则产生一种尤其简单的本发明方法的实施。一个局部网的各中继节点在此是通过一种复合中继节点在布局信息中代表的。由此方便了一个通信网各部分的等级分类。此外在按迪杰斯特(Dijkstra)算法以有利方式进行路由确定时产生一种费用的降低。
按本发明方法的另一种有利安排,在两个通信方向上分开处理两个中继节点间的各连接线。例如通过用各两个相反定向的边缘代替每个未定向的边缘来实现这一点,在此无论前进特征还是后退特征均从属于每个单个定向的边缘。
如果各通信要求是这样的,只在其中一个方向是能建立连接的话,因此则其中一个定向的边缘可以留在布局图形中,而去除相反定向的边缘。为此对每个上行链路将一个相反定向的下行链路纳入布局图形。另一方面在迪杰斯特路由选择算法上照料到,始终只有单一地定向的边缘序列产生为路由。
因此在连接建立时在其中一个方向可以通过一个连接线,即使当在另一方向上各确定的通信条件是不满足的时候也如此。
在通过一个中继节点或一个连接线未满足通信条件时,例如由于不可能经之前确定的路由建立连接的后果或者由于不可能中断连接的结果,将有关中继节点或有关连接线报告给源中继节点或相应局部网的一个起始中继节点,据此该中继节点可以重新进行路由确定。
在确定路由时按本发明的各发展形式选择具有各最短连接线或具有最少需通过的中继节点数目的各路由。在此必要时可动用对这些中继节点的地理说明。当这些布局信息以有利方式包含涉及费用的信息,则选择费用最低的路由。在选择最有利路由时因此可以单个地或联合地考虑下列各最小准则-需通过节点的数目,-需通过节点间的距离之和,-传输延迟时间(Cell Tranfer Delay单元转换延迟),-传输延迟时间的变化(Cell Delay Variation单元延迟变化),-传输费用。
以下根据各附图借助各实施例详细说明本发明。
在此所示的1.实施例

图1 为从源中继节点A.1视角的一个ATM通信网,图2 为从转接中继节点B.2的视角的一个ATM通信网,以及图3 为从其它转接中继接点C.1视角的一个ATM通信网。
2.实施例图4 为一个ATM通信网的一种网络布局,图5 为由复合节点代表的网络布局,图6 为用于局部网A一个节点的一种布局图形,图7 为用于局部网A一个节点的一种布局图形,该局部网A具有独立的通信方向,图8 为一确定的路由。
3.实施例图9 为窄带通信网的一种网络布局,图10 为由复合节点代表的网络布局,图11 为用于局部网A一个节点的一种布局图形图12 为用于局部网A一个节点的一种布局图形,该局部网具有独立的通信方向,图13 为一个确定的路由,1.实施例(仅具有为简单的各节点的PNNI网络)在一个第一实施例(图1至3)中,根据开始时所述的ATM通信网的情况确定一个图形G2,它源自于所述图形G1,所用的办法是从图形G1中去除所有那些未经受住各通信条件的节点和连接线。
随后如此来确定一个最佳通信路由,附带考虑经等级较高的各同级组的各迂回路由,它们随后返回到已通过的等级较低的同级组。在此在一个和同一同级组上的各引出节点和重新进入节点是不同的,否则这样一种迂回路由会是一种极其多余的循环和不是最佳通信路由。
即使下列实施例集中于迂回路由类型的路由(“Routen路由”)上,而不得忽视,本发明方法对于有一个最好的,无迂回的路由供支配的正常情况,也找到此路由,并且为此路由同样正确地形成相应的路由信息。
该产生的最佳路由原则上可以包含任意多的从一个等级较高同级组到一个等级较低同级组的通道,以及反过来包含任意多的从一个等级较低同级组通向一个较高同级组的通道,在此在每个单个通道上原则上允许跳越任意多的,这就是说零,1,2,…或n<=102个等级层面。
按PNNI协议将路由信息作为所谓“各指定转接清单信息单元(DTLs)”的各信息单元的顺序一起给与连接建立申报,在此一个先行的信息单元(Repeat-Indicator重复指示符)向信息单元指出这些DTL的存储栈的操作(Push-和Pop-operationen进和出栈操作)。在此每个信息单元DTL包含正好一个路由的说明,该路由正好通过一个等级的同级组,该同级组的形式为一个或多个节点链路(以后也称为边缘)副参数和一个指明这些节点链路副之一的一个指示符。
由存储栈的最上面的信息单元DTL所说明的路由在此以源节点S开始,并且仅含有针对等级最低同级组中的节点和连接线的参数,并且必要时以通向一个上行节点的上行链路的参数结束,在此上行节点上路由在延续,也就是像它在下一个较低栈存DTL中所说明的那样。
在存储栈中的每个下一个较低的DTL包含着对各一个通过等级上下一个更高同级组的路由的各参数,在此这些参数以源节点的针对于此的祖先节点的参数开始,也许跟随着来自自身同级组的其它节点各参数和连接线各参数,以及由可能的,作为结尾的上行链路参数。存储栈最低的DTL包含针对通过等级最高的所需同级组的一个路由的各参数,它们以源节点的针对于此的祖先节点的参数开始和结束在一个节点上,带有连接于其上目的终端机的目的节点位于此节点的等级区内。
所述按PNNI协议的,DTL存储栈的结构首先看起来似乎可以不考虑由各等级较高的和等级较低节点的任意顺序组成的路由,并且似乎指明,如此来设计用于寻找一个最佳通信路经的算法,使得从一开始就排除具有这样的各顺序(具体说具有经等级更高同级组的各迂回路由)的各路由,正如在PNNI协议说明书,版本1.0,附件H中的情况那样。
可是按本发明的方法却解决以满足按PNNI协议各规范形式来说明一种具有迂回路径的路由的问题。
第一实施例解决办法的典型之处在于,由一给定的,等级较高和等级较低节点的顺序引出一个等效的节点和通信线的顺序,在该给定的顺序中也完全可能在下行方向通过上行链路,从这些节点的等级层面看该等效顺序从不下降地分布,在此顺序上也就是从不在下行方向通过各上行链路。作为因此而实现之事的代价可能在此顺序中多次出现一个和同一个等级较高的(逻辑的)节点(回线),可是由于所给定的各连接线明确地负责安排,在针对于此的子(Child)同级组中的输出和重新输入边界节点始终是不同的,最后这意味着,从不多于一次地通过一个和同一个物理节点。
以下对第一实施例阐述在一个确定路由和路由信息的中继节点中最佳路由的确定从上述图形G2引出图形G3,其方法是去除源节点S的全部祖先节点,同样去除全部的(水平的)从这些祖先节点引开的连接线和去除全部从这些祖先节点向上行方向引开的,诱发的上行链路,这些引开的连接线会在各相应的等级较高同级组中从正是这些祖先节点引向它们的相邻节点。
按PNNI协议,例如借助于迪杰斯特路由选择算法,在图形G3的基础上,以已知方式求出从源节点S通往目的节点D的一条最佳路由,在此不应不同于所有其它(水平)的连接线那样对待留在图形G3中的各上行链路。
作为最佳路由产生了以通用标记的一种顺序F1node-n(=D),link-n-1,…,node-i+1,link-i,…,link-1,node-1(=S)。
迪杰斯特路由选择算法的本性在于,不仅对一个单一的,确定的目的节点D,而且对网络的所有节点求出各自最佳的路由,从其中人们事后找出大致通往目的节点D的所关心的路由。通过迪杰斯特算法在此首先确定以顺序F1形式的此路由。
随后人们将此顺序翻转过来并形成顺序F2node-1(=S),link-1,…,link-i,node-i+1,…,link-n-1,node-n(=D)。
按照本性,该物理源节点node-1=S是等级最低层面。按本发明所有其它节点允许按顺序,任意经常地是等级较高的或等级较低的物理或逻辑的节点。尤其目的节点node-n=D不必无条件地是在顺序中出现的节点中等级最高的节点。
当node-i和node-i+1是从属于相同的等级层面时,具体说属于同一等级的同级组,一个链路link-i表现为水平的。当节点node-i的等级层面小于(或者大于)节点node-i+1的等级层面时,一个链路link-i表现为在上行方向(或者下行方向)的上行链路。
按本发明从顺序F2引出顺序F3,在其上在给定顺序中的各节点从它们的等级层面看从不下降。在此F2的各中继节点nodes和链路有时通过其它的来代替或删除。人们为此使用一种辅助变量,在此称为当前节点层面(Current Node Level),人们对它用节点node-1=S的等级层面来初始化,以及人们为此还使用一个第二波尔辅助变量,在此称为低于最高达到的层面(BelowHighestReachedLevel),人们对它用FALSE初始化。在一个迭代回线中人们从源节点node-1=S开始,经过顺序F2的所有的部分(各链路和各节点),并且有时进行代替或删除-见下列算法--------------------------------------------------------------BelowHighestReachedLevel=FALSE;current_node=node-1;//也就是=Source Node SCurrentNodeLevel=Current_node的等级层面;for i=1 step 1 to n-1 doif node-i+1的等级层面低于CurrentNodeLevel then if BelowHighestreachedLevel=FAlSE then请确定其等级层面是等同于CurrentNodeLevel的node-i+1中的那个祖先节点。
请通过所属的水平链路(带有自身的集合标记的)替代link-i,它是在下行方向通过的一个上行链路。
如何可以做这事,请参见接在此算法之后的部分任务1。
请通过所求得的祖先节点代替node i+1。
BelowHighestReachedLevel=TRUE;else请从顺序中删除link-i和node-i+1。
endelseif BelowHighestReachedLevel=TRUE then请通过那个从属的(诱发的)上行链路或者但是水平的链路代替link-i,该上行链路从通过CurrentNodeLevel给定的层面出发起动,并引向node-i+1。如何可以做此事请参见接在此算法之后的部分任务2。
将node-i+1不作改变地保留在顺序中。
BelowHighestReachedLevel=FALSE;else将link-i和node-i+1不作改变地保留在顺序中。endCurrentNodeLevel=node-i+1的层面;endNext i;--------------------------------------------------------------部分任务1应对一个给定的上行链路确定在等级较高同级组中的,所属水平链路图形G1有m个链路(将水平链路和上行链路合在一起)。从数量1,2,…,m中的数字k是一个指向针对正好一个链路的各重要信息的指针(例如它的各识别参数)。尤其存在着一个具有m单元的表格Relation Tb1。这些单元代表着从初始上行链路通向有时诱发的上行链路,通向有时从此重新诱发的上行链路,等等,通向从此诱发的在一个等级较高同级组中的诱发水平链路的从属链Relation Tb1[j1]=j2;//当以Relation Tb1(k)=j1,从1至m中没有值k时,则j1是初始上行链路,Relation Tb1[jq-1]=jq;……Relation Tb1[jr-1]=jr;……Relation Tb1[js-1]=js;Relation Tb1[js]=o;这意味着link-j1是上行链路和诱发的link-j2link-jr-1是上行链路和诱发的link-jrlink-js-1是上行链路和诱发的link-jslink-js是水平的链路。
//当以Relation Tb1[js-1]=js,从1至m中没有值js-1时,但是却有一个登录Relation Tb1[js]=o,则js是在一个等级最低同级组中的一个水平链路。
除非jq-1相当于应替代的link-i,则通过表格Relation Tb1,直到人们碰到Relation Tb1[js]=o为止。Js标记该应投入的水平链路。部分任务2对图形G1的所有m个链路存在着这样方式的一种表格LinkLevel Tb1[k]=链路k的两个界限节点的最低的等级层面;对于所有的k=1,…,m是通过jq-1来表示link-i的。从RelationTb1[jq-1]起通过表格RelationTb1,为了从一个链路来到下一个链路,并且在此不断将CurrentNodeLevel与linkLevelTb1中的各登录作比较。除非CurrentNodeLevel的值是等于linkLevelTb1[jr-1]的值,jr-1则识别所寻找的,应代替link-i的链路。
人们从顺序F3形成一个顺序F4,例如如下for i=1 step 1 to n-1 doif link-i=Uplink then请将源节点s的,如node-i+1同一等级层面的那个祖先节点并入在link-i之后。请将那个水平链路H重新添加其后,该链路H是有能力从属于等同集合标记的link-i(人们在j1=link-i上开始通过RelationTb1,并找到H=js)。endnexti;从F4人们形成DTL的一个顺序,其方法是人们将顺序F3在每个上行链路之后分成小块,并由每个这样生成的部分顺序形成一个符合PNNI协议的协同效应的DTL信息单元-以此完全说明了源节点s的按本发明的任务。
即使在重新充满路由信息的信息单元时,在一个应通过的物理中继节点(转接节点)中连接建立申报到达时,可以按本发明计入一个回线(按本发明方法的含义,是在一个还未通过的重新进入节点上的,经一个或多个同级组的一个迂回路由,它具有对一个已通过同级组的返回段)。以下借助于在等级最低同级组的第一物理中继节点中的,一个连接建立申报的到达来说明这一点如果在转送一个连接建立申报时要离开眼前等级最低的同级组,则必须事先去除针对于此的,存储栈最高的DTL。如果完全地离开某个等级区,则必须事先全部去除那些存储栈最高的信息单元DTL,它们含有通过应离开的等级区的各自同级组的路由线段。如果在转送一个连接建立申报时新进入一个等级最低的同级组,则必须求出各新的路由线段和形成新的针对于此的各DTL。必须始终如此来置放或前移各单个DTL中的指针,使得在接收连接建立申报时,所有被接收的DTL的指针各指明一个节点链路副,该节点链路副包含或者接收着的物理的,等级最低的节点,或者可是包含它的祖先节点中的一个。
作为进入一个其它同级组的进入节点的边界节点(S’)确定一个新的最好的,一直通往一个目的的节点D’的路由线段。应从该节点链路副中取此目的节点D’,此节点链路副跟随在已接收DTL的存储栈最高中的节点链路副之后,针对于此的指针指向此节点链路副。
如果因为指针已指向最后的节点链路副,这是不可能的话,则适用针对下一较低的,位于存储栈中的DTL的本身的节点链路副,等等。按本发明的意义,PNNI协议规定,也必须完完全全地符合接收的链路参数,即人们如何通往节点D’。每个例如更好地到达那里去的尝试虽然可能带来一种较好的路由线段,但是同时也导致;进入不在予先考虑边界节点上的,由目的节点D’代表的等级区,由此处出发连接建立的延续可能在一死胡同中结束。这意味着,在D’之外也还要确定水平链路link-to-D’。人们将link-to-D’取自于节点链路副,它属于那个DTL,D’位于此DTL中,并且在接收DTL时,针对于此的指针指向此DTL。
边界节点S’注意到,对于当前的连接建立请求它仅是一个转接节点,并且所接受的DTL不完全是存储栈,因此该边界节点S’从它的自己的图形G1出发如下地形成一个有时缩小的图形G1’从图形G1去除所有的节点-包括界靠的各链路-,它们带有一个大于或等于节点D’的等级层面的等级层面,但是不去除D’自己并且也不去除那些上行链路,对于它们D’是上行节点并且在此它们是从属于link-to-D’的。这就是,人们对所有拥有D’作为上行节点的上行链路作如下的检验。
如在部分任务1中那样,一个jq-1是可分配给一个上行链路的。人们通过表格RelationTb1,从RelationTb1[jq-1]出发,直到人们碰到登录RelationTb1[js]=o时为止。当js符合于Link-to-D’时,上行链路则允许留在图形G1’中。否则去除它。
完全相似于源节点S已形成图形G2’和G3’那样,并且如上面所述的确定一个DTL存储栈那样,从G1’出发形成图形G2’和G3’,在此S’承担S的功能和D’承担D的功能(请参见上面的说明)。
由得出的DTL存储栈接纳全部的DTL,最后的DTL(它含有D’)除外,并且以此完整应转送的DTL存储栈。
用图1至3阐述一个所示ATM通信网的中继节点中的路由信息的形成。在此图1至3表示一个和同一个用于一次路由搜索的ATM通信网,并且表示路由信息的形成,这却是从不同的中继节点出发来看的。
ATM通信网的等级图例如表示三个局部网TA,TB,TC。第一局部网TA包括各物理节点A.1..6。对于应观察的连接建立,节点A.1是源中继节点,并且节点A.6是目的中继节点。这些源节点和目的节点可是不必位于相同的同级组(局部网)中,也可以通过一个转接节点才产生迂回路由的需要。一个其它的局部网TB包括节点B.1..5,并且一个外加的其它局部网TC包括节点C.1..4。在一个较高的等级层面上,将局部网TA,TB(最低等级层面的同级组)合并成一个网络组TAB(较高等级层面的同级组),并且各自通过一个逻辑节点A,B来代表。在一个又是较高等级层面上,该网络组TAB(同级组)与其它外加的局部网TC合并成一个网络组TABC,在此一个逻辑节点AB代表较高等级层面的网络组TAB,并且一个逻辑节点C代表其它外加的局部网TC。
这些节点是通过各物理连接线(物理链路)互相间连接的。外加的信息分配给不同局部网节点间的链路pb1,2,3和pc1,2。
插图说明起始字母p=物理链路,h=水平链路,u=初始上行链路,U=诱发上行链路pb1,hb1,和ub1,或pb2,hb2,和ub2或者pb3,hb3,和ub3或者pc1,uc1,Uc1和hc1或者pc2,uc2,Uc2和hc2例如是用一个各自的等同的集合标记标志的。
按图1至3在其中形成路由信息的这些节点各自仅看见粗线框起的同级组(在各自的节点中存储的知识基础包括关于这些同级组的参数)。替代这些物理的,引自于等级最低同级组的连接线,这些节点看到针对于此的,从属的上行链路。只有各自的边界节点自己知道涉及此从属性,但是将此知识不通知同级组的其余各节点。
要寻找一条从源节点A.1通向目的节点A.6的路由。允许从源节点A.1通向目的节点A.6的一条直接路由的各连接线pa5,pa6是封锁住的。连接建立应取的物理路由是用粗线画入的。
源节点A.1的工作
设将以一种链路包括它们界限节点的清单形式的图形G1存储在源节点A.1中,这就是G1(A.1)-请参见图1(pa2A.2,A.1),(pa3A.3,A.1),(pa4A.4,A.5),(pa5A.5,A.1),(pa6A.6,A.5),(ub1A.2,B),(ub2A.3,B),(ub3A.4,B),(uc1A.5,c),(uc2A.6,c)。
(hb1B,A),(hb2B,A),(hb3B,A),(uc1A,C),(uc2A,C),(hc1C,AB),(hc2C,AB),去除那些已封锁的线,也即(pa5A.5,A.1),(pa6A.6,A.5),和确定图形G2(A.1)(pa2A.2,A.1),(pa3A.3,A.1),(pa4A.4,A.5),(ub1A.2,B),(ub2A.3,B),(ub3A.4,B),(uc1A.5,C),(uc2A6,C)。
(hb1B,A),(hb2B,A),(hb3B,A),(Uc1A,C),(Uc2A,C),(hc1C,AB),(hc2C,AB),去除所有的祖先节点包括界靠的线,即(hb1B,A),(hb2B,A),(hb3B,A),(Uc1A,C),(Uc2A,C),(hc1C,AB),(hc2C,AB),并且以此确定图形G3(A.1)(pa1A.2,A.1),(pa3A.3,A.1),(pa4A.4,A.5),(ub1A.2,B),(ub2A.3,B),(ub3A.4,B),(uc1A.5,C),(uc2A.6,C)。
迪杰斯特路由选择算法的应用带来顺序F1Destination Node(目的节点)D=A.6,uc2,C,uc1,A.5 pa4,A.4,ub3,B,ub1,A.2,pa2,A.1=Source Node(源节点)S。
翻转过来的顺序=F2为Source Node S=A.1,pa2,A.2,ub1,B.ub3,A.4,pa4,A.5,uc1,C,uc2,A.6=Destination Node D。
确定顺序F3
A.1,pa2,A.2,ub1,B,hb3,A,Uc1,C,hc2,AB。
确定顺序F4。
A.1,pa2,A.2,ub1,A,hb1,B,hb3,A,Uc1,AB,hc1,c,hc2,AB。
由此引导出DTL存储栈的各信息单元。按每个上行链路分裂开此顺序F4和人们从生成的各部分顺序中的每一个部分顺序形成一个信息单元DTL,如同将它们发送往下一个物理节点那样。指针指向第X个有括号的节点链路副。
1.DTL(A.1,pa2),(A.2,ub1),指针=22.DTL(A,hb1),(B,hb3),(A,Uc1),指针=13.DTL(AB,hc1),(C,hc2),(AB,x’00 00 00 00),指针=1转接节点B.2(在其它局部网TB中的进入节点)的工作转接节点B.2接收下列路由信息ri1.DTL(A,hb1),(B,hb3),(A,Uc1),指针=22.DTL(AB,hc1),(C,hc2),(AB,x’00 00 00 00)指针=1节点B.2将由它可看到的网络作为图形G1(B.2)已存储起来-请参见粗线框起的图2(pb4B.1,B.2),)(pb5B.1,B.5),(pb6B.4,B.5),(pb7B.3,B.4),(pb8B.2,B.3),(ua1B.2,A),(ua2B.3,A),(ua3B.4,A),(hb1B,A),(hb2B,A),(hb3B,A),(Uc1A,C),(Uc2A,C),(hc1C,AB),(hc2C,AB)。
因为涉及一个转接通信,形成G1’(B.2),其方法是首先确定D’(B.2)和Link-to-D’(B.2)D’(B.2)=A;Link-to-D’(B.2)=hb3。
在转接节点中从图形G1(B.2)去除大于等于逻辑节点A的等级层面的全部节点以及针对于此的界靠的各链路,可是D’(B.2)=A本身除外和那些对于它们A为上行节点的和与Link-to-D’(B.2)=hb3相关的上行链路除外。
生成了图形G1’(B.2)
(pb4B.1,B.2),(pb5B.1,B.5),(pb6B.4,B.5),(pb7B.3,B.4),(pb8B.2,B.3),(ua3B.4,A)因为对于转接节点B.1没有封锁是已知的,适用图形G1’(B.2)=图形G2’(B.2)。
由于不能继续从中去除B.1的祖先节点,适用G1’(B.2)=G2’(B.2)=G3’(B.2)。
所应用的迪杰斯特算法产生一种顺序F1D’(B.2)=A,ua3,B4,pb7,B.3,pb8,B.2=S’(B.2)以翻转的顺序从中产生F2S’(B.2)=B.2,pb8,B.3,pb7,B.4,ua3,A=D’(B.2)形成F3的作业不产生变化,这就是顺序F2=顺序F3。
从顺序F3形成顺序F4S’(B.2)=B.2,pb8,B.3,pb7,B.4,ua3,B,hb3,A=D’(B.2)从顺序F4形成路由信息ri的各信息单元DTL1.DTL(B.2,pb8),(B.3,pb7),(B.4,ua3),指针=22.DTL(B,hb3),A=D’(B.2),指针=1人们从其中不承接最后的(=2.)DTL。
由此以DTL存储栈格式将下列路由信息以ri从进入节点B.2送往其它局部网TB中的其它节点B.31.DTL,新形成的(B.2,pb8),(B.3,pb7),(B.4,ua3),指针=22.DTL,被接收和继续处理的(A,hb1),(B,hb3),(A,Uc1),指针=23.DTL,被接收和继续处理的(AB,hc1),(C,hc2),(AB,x’00 00 00 00),指针=1第一局部网TA中转接节点A.4的工作节点A.4接收以下路由信息ri1.DTL(A,hb1),(B,hb3),(A,Uc1),指针=32.DTL(AB,hc1),(C,hc2),(AB,x’00 00 00 00),指针=1节点A.4将由它可看见的网络作为图形G1(A.4)已存储起来,此图形G1(A.4)与由源节点A.1存储的图形G1(A.1)相一致,请参见上面和请参见图1(粗线框起的)。
由于涉及一个转接通信,形成图形G1’(A.4),其方法是首先确定D’(A.4)和Link-to-D’(A.4)D’(A.4)=CLink-to-D’(A.4)=hc1。
从图形G1(A.4)中去除大于等于D’(A.4)=C的等级层面的等级层面的全部节点以及针对于此的界靠的各路由,可是D’(A.4)=C本身除外和那些对于它们D’(A.4)=C是上行节点的和与link-to-D’(A.4)=hc1相关的上行链路除外。
生成图形G1’(A.4)(pa2A.2,A.1),(pa3A.3,A.1)(pa4A.4,A.5),(pa5A.5,A.1),(pa6A.6,A.5),(ub1A.2,B),(ub2A.3,B),(ub3A.4,B),(uc1A.5,C)(hb1B,A),(hb2B,A),(hb3B,A),(uc1A,C)去除已封锁的链路,并由此产生图形G2’(A.4)(pa2A.2,A.1),(pa3A.3,A.1)(pa4A.4,A.5),(ub1A.2,B),(ub2A.3,B),(ub3A.4,B),(uc1A.5,C)(hb1B,A),(hb2B,A),(hb3B,A),(Uc1A,C)如果从中已去除所有还包含的祖先节点包括界靠在其上的各连接线,则产生图形G3’(A.4)(pa2A.2,A.1),(pa3A.3,A.1)(pa4A.4,A.5),(ub1A.2,B),(ub2A.3,B),(ub3A.4,B),(uc1A.5,C)用迪杰斯特路由选择算法在其中求出下列顺序F1作为从转接节点A.4通向外加其它局部网TC的代表C的最好路由D’(A.4)=C,uc1,A.5,pa4,A.4=S’(A.4)通过将顺序翻转产生顺序F2
S’(A.4)=A.4,pa4,A.5,uc1,C=D’(A.4)由于从各出现节点的等级层面看顺序F2从不下降,则为形成顺序F3的作业不产生变化F3=F2。
从顺序F3获得顺序F4,即S’(A.4)=A.4,pa4,A.5,uc1,AB,hc1,C=D’(A.4)从顺序F4引导出路由信息ri的各下列信息单元DTL1.DTL(A.4,pa4),(A.5,uc1),指针=22.DTL(AB,hc1),(C,x’00 00 00 00),指针=1人们从中不承接最后的(=2.)DTL。
由此从转接节点A.4向节点A.5传送下列DTL存储栈内容1.DTL,新形成的(A.4,pa4),(A.5,uc1),指针=22.DTL,被接收和继续处理的(A,hb1),(B,hb3),(A,Uc1),指针=33.DTL,被接收和继续处理的(AB,hc1),(C,hc2),(AB,x”00 0000 00),指针=1外加其它局部网TC中转接节点C.1的工作节点C.1接收下列路由信息ri1.DTL(AB,hc1),(c,hc2),(AB,x’00 00 00 00),指针=2。
节点C.1已将由它可看见的网络作为图形G1(C.1)存储起来,请参见图3(pc3C.1,C.2),(pc4C.2,C.3),(pc5C.3,C.4),(pc6C.1,C.4),(uab1C.1,AB),(uab2C.4,AB),(hc1C,AB),(hc2C,AB)因为涉及一种转接通信,形成G1’(C.1),其方法是首先确定D’(C.1)和link-to-D’(C.1)D’(C.1)=ABlink-to-D’(C.1)=hc2。
从图形G1(C.1)中去除大于等于D’(C.1)=AB的等级层面的一种等级层面的全部节点,以及针对于此的各界靠链路,可是D’(C.1)=C本身除外和那些对于它们D’(C.1)=AB是上行节点的和与link-to-D’(C.1)=hc2相关的上行链路除外。
产生图形G1’(C.1)(pc3C.1,C.2),(pc4C.2,C.3),(pc5C.3,C.4),(pc6C.1,C.4),(uab2C.4,AB)由于节点C.1未找到已封锁的连接线(这些位于第一局部网TA中),G1’(C.1)=G2’(C.1)。
因为不能外加地从中去除针对节点C.1的祖先节点G1’(C.1)=G2’(C.1)=G3’(C.1)借助于迪杰斯特路由选择算法对节点C.1将顺序F1作为最好路由求出D’(C.1)=AB,uab2,C.4,pc6,C.1=S’(C.1)通过翻转顺序产生顺序F2S’(C.1),pc6,C.4,uab2,AB=D’(C.1)由于从所出现节点的等级层面看,顺序F2从不下降,则为形成顺序F3的作业不产生变化F3=F2。
从顺序F3获得顺序F4,即S’(C.1)=C.1,pc6,C.4,uab2,C,hc2,AB=D’(C.1)从顺序F4引导出路由信息ri的下列信息单元DTL1.DTL(C.1,pc6),(C.4,uab2),指针=22.DTL(C,hc2),(AB,x’00 00 00 00),指针=1从中人们不承接最后的(=2.)DTL。
由此将下列DTL存储栈从节点C.1向外加其它局部网TC中的其它节点C.4传送1.DTL,新形成的(C.1,pc6),(C.4,uab2),指针=22.DTL,被接收和继续处理的(AB,hc1),(C,hc2),(AB,x’0000 00 00),指针=2。
用于第二次重新进入第一局部网TA的,重新进入节点A.6的工作节点A.6接收下列路由信息ri1.DTL(AB,hc1),(C,hc2),(AB,x’00 00 00 00),指针=3。
只要节点A.6认出,目的终端机是直接连接它上面的,它就将连接建立申报(Setup建立)沿着针对于此的统一(UNI)接口(不再是PNNI接口)发送给此目的终端机,在此按UNI(统一)协议不随同给出信息单元。路由是封闭的。
2.实施例(具有简单和复合节点的PNNI网络)一个第二实施例表示一种通信网,在其上三个不同的网络运营者A,B和C将它们的网络交互地与各物理线(连接线P)连接(请参见图4)在城市纽约中(NY)A与C,以及B与C,在城市芝加哥中(Ch)B与C,在城市亚特兰大中(At1)A与B,在城市洛杉矶(LA) A与B以及B与C。
封锁的线是已删去的。在亚特兰大的一个局部网A终端机希望建立通往同样地在拉斯维加斯网络A中的一个目的终端机的一个连接。
点线表示一条路由的物理走向,从网络A的亚特兰大节点中开始并且结束在同样为网络A的拉斯维加斯节点中。下面表示针对于此路由的路由信息的求取。
按PNNI的概念,可将此三个局部网A,B,C各自可表示为一个等级更高同级组的逻辑组节点,在此三个网络的大小导致将它们全部表示为复合节点由一个在大地区中心里的虚拟核心,由位于大地区边缘上的各端口,由各端口核心连接线(端口和核心间的幅条),以及由各端口-端口连接线(各两个端口间的旁路例外)组成。三个网络间的这些物理横向连接线相当于所谓的水平链路(h)(请参见图5)。
由此局部网A的每个节点已将下列(等同的)按PNNI的网络图作为布局信息存储起来(请参见图6)。这是它的按PNNI布局数据库的一种视象再现。它主要地由局部网A的“准确”图象,以及由简化的,集合的,作为复合节点(Complex nodes)表示的节点组成,这些节点将局部网A,B,C作为各自的整体来代表。
建立一个全面的布局图形按本发明从按PNNI的布局数据库中引导出下列布局图形,在此布局图形上只有还定向的,即单向的棱边。每个节点(局部网A的简单节点,各端口节点和复合节点的核心节点)获得一个节点号i(k=i<=m),每个(单向的)棱边(也称为链路)获得一个棱边号j(1<=j<=n)。
布局图形(请参见图7)是作为表格存储的,它的各单元用棱边号j加下标的,并且此表格包含棱边j的两个界限节点号,即包含那个在其上定向棱边开始的节点以及那个将此棱边引到那儿的节点。棱边方向以在水平链路PTSE上使用此方向的含义相当于“引出方向”。
可是还给出了其它的信息。因此对每个棱边j建立下列登录LinkTable[j].FromNodeLinkTable[j].ToNodeLinkTable[j].ForwardAttributesPtrLinkTable[j].BackwardAttributesPtrLinkTable[j].SpokeOrBypass //真/假LinkTable[j].Included//真/假LinkTable[j].Inducedlink //诱发的上行链路棱边的//或诱发的(引出方向)水平//棱边的棱边号//或0LinkTable[j].Myuplink//当j为下行链路时,逆反棱边//的号,//否则=0LinkTable[j].AggregationToken//4字节LinkTable[j].Type//各值为水平线,//上行链路,下行链路,幅条线,//旁路此外布局图形包括m个节点。对每个节点i建立以下的各信息NodeTable[i].Type//各值为端口,核心,简单节点NodeTable[i].PortId //如果为端口节点,则4字节大的端ID>0NodeTable[i].MyNucleusNode //如果Type(类型)=端口,则为所属的核心节点号,否则为0NodeTable[i].AncestorNode //如果不存在祖先节点,则为祖先节点号或0,它的Type或是简单节点或是核心NodeTable[i].HierarchyLevel //区域0至104NodeTable[i].TransitRestricted //真/假NodeTable[i].NextPortNode //端口节点的链核心节点指向第一端口节点,第一端口节点指向第二个、最末的端口节点指向0。
//当i是一简单节点时,该值同样为0。NodeTable[i].NodeId //在端口节点和核心节点上的同一值。
通过变换可从这些登录中引导出以下参数NodeTable[i].CountIncominglinks //到达的棱边数目NodeTable[i].IncomingLinkTable[j]//在节点i中到达的棱边j布设一个节点号i,在此a)Node Table[i].Type=Simple(简单的)在分析简单节点的节点信息PTSE之后进行此赋值。通过NodeTable[i]。Node Id将此节点信息PTSE的NODE ID分配给它。
b)Node Table[i]。Type=Nukleus(核心)在分析复合节点的节点信息PTSE之后进行此赋值。用NodeTable[i]。Node Id将此节点信息PTSE的NODE ID分配给它。
c)Node Table[i]。Type=Port(端口)在分析复合节点的和针对于此的(引出方向)水平链路PTSE的或者包含一个端口ID的上行链路PTSE的节点信息PTSE之后进行此赋值。每个端口节点为自己通过Node Table[i]。My NucleusNode存储它的核心节点号,以及通过Node Table[i]。My Port ID存储它的PortID。
针对一个复合节点的端口节点的各节点号,是通过NodeTable[i]。NextPortNode各登录从在它们的核心节点上开始向前地链接的。
执行此事的中继节点(=简单节点)已特别将它自己的节点号存储起来。此号在以下用S表示(S如同起始节点)。如下来确定它的祖先节点的各节点号(它们或者是类型=简单的或者核心的),并且借助于在i=S处开始的NodeTable[i].AncestorNode将它们链接。一个更高层面联编信息组是安置在节点信息PTSE中的,该组包含下一个祖先节点的Node ID。通过搜索和与各登录NodeTable[i].Node ID的比较建立此链接。
布设一个棱边,即棱边号,在此a)LinkTable[j].Type=Horizontal(水平的)在分析一个水平链路PTSE之后进行此赋值。在此相反的棱边基于存在着一个第二互补的水平链路PTSE。当两个水平链路PTSE的源节点和远程节点参数(起始和目的节点)是为倒数的,并两者含有一个和同一个集合标记时,则两者是互为互补的。向前和后退的特征是分配给每个“水平”棱边的。这些向前特征是各自水平链路PTSE的引出方向源有效信息。这些后退特征是互补水平链路PTSE的引出方向源有效信息。
此“水平”棱边j在其号=NodeTable[i].FormNode的一个节点上开始,并且如下来确定此号如果水平链路PTSE的起始节点是一个简单节点(simple node简单节点),则单独由此简单节点确定此起始节点号。但是如果此起始节点为一复合节点,则由此复合节点和外加由水平链路PTSE中的端口ID来确定此起始节点号。由此此起始节点是一个端口节点。
水平棱边结束在其号=NodeTable[i].ToNode的一个节点上,如下来确定此号如果水平链路PTSE的目的节点是一个简单节点(simple node),则终端节点号单独由此简单节点(和它的Node ID)确定。如果目的节点却是一个复合节点,则通过外加远程端口ID才确定此终端节点号。它由此是一个端口节点。一个水平棱边j尤其已设置LinkTable[j].lnducedLink=0.
b)LinkTable[j].Type=UpLink(上行链路)在分析一个上行链路PTSE之后进行此赋值。这些向前特征是来自上行链路PTSE的引出方向源有效信息。这些后退特征位于来自上行链路PTSE的一个ULIA信息组。
上行链路棱边开始于其号=NodeTable[i].FromNode的一个节点上,如下确定此号如果上行链路PTSE的起始节点是一个简单节点,则单独由此简单节点确定此起始节点号。如果此起始节点却是一个复合节点,则由复合节点加上来自上行链路PTSE的端口ID确定此起始节点号。它然后是一个端口节点。
上行链路棱边结束在一个节点上,它的终端节点号如下来确定如果上行链路PTSE的上行节点是一简单节点,则单独由此简单节点确定此终端节点号。如果上行节点却是一个复合节点,则由复合节点加上一个端口ID确定此终端节点号,人们如下确定此终端节点号首先确定那个祖先节点,它如同所述复合上行节点有同一等级层面,然后在布局数据库中在此祖先节点上搜索那个水平链路PTSE,它的远程节点参数是复合上行节点的节点ID,并且它的集合标记与上行链路PTSE的那个集合标记是等同的。在此水平链路PTSE中所搜索的端口ID位于远程端口ID之下。然后上行链路棱边的终点是一个端口节点。
一个上行链路棱边j尤其已设置LinkTable[j]。InducedLink=j*>0,指向一个诱发的其它上行链路或指向一个诱发的水平链路。
互补下行链路棱边的起始节点和终端节点是与上行链路棱边的参数成倒数的。一个下行链路棱边j尤其具有到互补上行链路棱边j*LinkTable[j]。MyUpLink=j*>0的指向。所有其它的棱边已在此登录入0。
c)LinkTable[j].Type=DownLink(下行链路)以倒数的各界限节点和倒数的各向前和后退特征外加对上行链路棱边布设一个互补的下行链路棱边。
d)LinkTable[j].Type=Spoke(幅条)在分析复合节点的节点信息PTSE加上分析从属的节点状态参数(Nodal State Parameter)PTSE之后用input port(输入端口)x=0和Output port(输出端口)y=0(Default Spokes系统设定幅条)进行此赋值。针对一个复合节点在一个端口节点和一个核心节点之间布设两个互补的棱边。
这些向前特征是与各后退特征等同的。这适用于端口核心连接线和核心端口连接线。在以此方式布设了所有幅条棱边之后,可以根据其它的节点状态参数PTSE用x=0和y>0或x>0和y=0修正各单个(系统设定)幅条的各向前和后退特征。如果根据一个节点状态参数PTSE用input port x>0和output port y=0改变一个端口核心连接线的各向前特征,则用同一些值也改变了互补核心端口连接线的各后退特征。
d)Link Table[j].Type=Bypass(旁路)在分析一个复合节点的节点信息PTSE加上分析具有Input portx>0和Output port y>0(bypass exception旁路例外)的一条从属节点状态参数PTSE之后进行此赋值。预先考虑了,也对返回方向规定从input port y通往output port x的一个节点状态参数PTSE。这两个PTSE中的每一个含有这些同时等同为互补棱边的各后退特征的向前特征。如果这两个端口在地理上处在尽可能近地互相挨着的地方,则总是在两个端口之间考虑了一对旁路例外。
所有的棱边对于为它们布设一个棱边号j的情况,外加地获得标记LinkTable[j].Included=TRUE如果已进行了这些登录,则在图形G1中存在着布局信息。
减小布局图形G1到此所制定的布局图形是包罗最广的图形,并且当对它的制定起决定作用的各PTSE从布局数据库中消失时或添加了新的时候,则新制定此布局图形。
在一个专门的路由求出之前,此路由求取考虑了极不同的特点和通信条件,从此排除某些棱边j,也就是用LinkTable[j].Included=FALSEa)避免转接约束节点一个节点根据它的节点信息PTSE的一个转接约束位不能用于转接中继业务。这导致,对于针对于此的简单节点、端口节点或核心节点i是设置了NodeTable[i].TransitRestricted=TRUE。如果它的两个界限节点中的至少一个已将此值设置到TRUE上,并且它同时既不是路由的源中继节点又不是目的中继节点,则排除一个棱边j。此目的中继节点D始终是简单或核心类型,从来不是端口类型。如果目的节点D是核心类型的,并且它像所有从属的端口节点那样已设置了TransitRestricted=TRUE,则从布局图形中既不排除各核心节点也不排除从属的各端口节点。在实例中节点22和所有界靠的棱边。
b)不满足非公制的边界条件对各业务范畴(CBR,ABR,UBR,VBR-rt,VBR-nrt)的一个部分量只能安排各单个棱边,现实应考虑的连接请求的部分量不属于此部分量。将非公制业务质量各参数(例如Max Error Rate最大差错率)是考虑为通信条件的,它们的各单个棱边不能满足连接请求的各项要求。由图形G1排除它们。
c)类属呼叫管理控制(G-CAC)各单个棱边当前不可能有所需的带宽供支配,并且因此不能经受住类属呼叫管理控制检验。
LinkTable[i].ForwardAttributePtr和LinkTable[i].BackwardAttributePtr是各单个棱边的在此所需的现实负荷信息。不满足通信条件的棱边由图形G1排除。在实例中由于此原因排除了单方向的棱边5621-19。将根据a),b)或c)缩小的布局图形称为图形G2,d)祖先节点排除路由的源节点s的全部祖先节点,也就是排除在这些祖先节点上开始或结束的全部棱边。全部这些祖先节点位于顺序(NodeTable[i].AncestorNode)中,它以i=s开始。在实例中排除局部网A的核心和端口节点,以及全部针对于此界靠的棱边。将由此缩小的图形称为G3。
e)对迂回路由的程度的可能有的限制一个其PNNI等级层面等于h(0<h<=104)的节点是作为路由的目的中继节点D求出的。一个网络管理者也许可能如此来给定一个整型数x,只允许各迂回路由,它们不离开层面H=Max(0,h-x)的一个祖先同级组的等级层面。排除所有那些棱边,在其中至少一个界限节点有一个太高的等级层面,即有一个<H的值。在实例中没有以此理由排除棱边。将这样的受限制的图形称为G4。
迪杰斯特最好路由计算在缩小的布局图形G3或G4基础上进行迪杰斯特最好路由计算,从真正一个起始节点S=MyOwnNodeNumber(S=21)出发通向每个目的节点。一旦也对所期望的目的节点D(D=17)找到了最好的路由,此迭代就中断。
在以下称为距离的最小值判据例如是最小的管理加权和。在迪杰斯特算法的迭代中采用两种部分步骤a)在所有那些节点上更新通向源中继节点的距离,在这些节点上此距离值还不是最终有效的。
b)下一个节点的确定,对此节点当前登录的距离是最终有效的,在此对此节点也规定,哪个节点是直接的先行节点和哪个棱边是在源中继节点方向上的先行棱边。
此外还要注意,仅观察终止在各自节点中的棱边。
公制边界条件无论是单元传输延迟还是单元延迟变量都适合作为公制参数。有时为此也形成和值(如在距离上那样),并且与一个给定的上限比较。如果在部分步骤b)时发现,公制边界条件中的一个不再是满足的,并且对此目的节点通往源节点的距离还不是最终有效的,则无成效地中断此迭代。
在实例中(见图8)迪杰斯特路由选择算法求出以下用粗黑线画出的棱边顺序,从节点12开始,并在节点17上终止。
这就是说迪杰斯特路由选择算法求出顺序F1{Link#from-node#-to-node#}5721-5,85-1,31-3,153-9;269-7;237-8;148-2;112-6;426-16;4716-17从此顺序F1中去除幅条和旁路例外,即所有那些适用以下条件的棱边jLinkTable[j].Type=“Spoke”or“Bypass”,也就是5721-5,153-9;148-2;426-16;4716-17从此{Link#from-node#-to-node#}顺序F1通过形式上的转换生成一种{Node#,Link#,node#}顺序F2,其方法是人们交换form-node#和Link#,以及除外最后值地去除这些to-node#值。由此出现了由n=5个棱边和n+1=6个节点组成的顺序F2。
用于形成路由信息,即用于获得一个DTL存储栈的这些方法步骤相当于第一实施例的各方法步骤。以下重复这些方法步骤,可是已调整到在此所用的标记,以及作这些预先工作求出其各节点从它们的等级层面看从不下降的顺序F3Bhr1=FALSE; //bhr1是对BelowHighest ReachedLevel//(低于最高达到层面)的缩写current-node=node-1//即=源节点S=21current-nodeLevel=current-node的level; //即=Node Table[S].Hierarchy-Levelfor i=1 stop 1 to n-1 doif node-i+1的层面低于(从数字上说大于)current_node_level thenif bhr1=FALSE then请从node-i+1中确定其层面等于Current_node_Level的祖先节点。为此人们通过这些值来导航。NodeTable[k].AncestorNode以K=node-i+1开始直到人们碰到一个节点a它带有NodeTable[a].HierarchyLevel=Current_node_Level.
人们通过从属的逻辑组节点水平链路(具有同一集合标记的)来代替是一个下行链路的link-i。此逆反的上行链路j是等于LinkTable[link-i].MyUplink。通过导航此顺序{LinkTable[j].InducedLink}直到人们碰到具有LinkTable[j*].InducedLink=0的一条j*。j*是所搜索的水平棱边。
通过求得的祖先节点a代替node i+1。
bhr1=TRUE;else从此顺序中删去link-i和node-i+1endelseif bhr1=TRUE then
通过那个从属的(诱发的)上行链路或者再通过逻辑组节点水平链路j*代替link-i,这个上行链路起始于由current_node_level给定的层面,并且引向node-i+1。这就是说,导航通过此顺序{LinkTable[j]。Inducedlink},在j=link-i上开始直到人们以Node Table[i*]。Hierarchylevel=current-node-level的方式碰上具有LinkTable[j*]。FromNode=i*的一个j*时为止。将node-i+1不作改变地保留在顺序中。bhr1=FALSE;else将link-i和node-i+1不作改变地保留在顺序中。
endcurrent-node-level=node-i+1的层面;endNext i;在实例中人们得到由n=4个棱边和n+1=5个节点组成的顺序F3Node21,link57,Node3,link15,Node8,link14,Node6,link21,Node12从顺序F3如下地形成一个顺序F4for i=1 step 1 to n-1 doif link-i=Uplink then在link-i之后添加源节点S的那个祖先节点,它像node-i+1那样是同一层面的。重新在其后添加那个水平链路H,它由于等同的集合标记是从属于link-i的。(在j1=link-i开始通过Relation Tb1,并且找到H=js)。endNext i;此顺序F4为Node21,link57,Node12,link20,Node3,link15,Node8,link14,Node6,link21,Node12从F4中形成DTL的顺序,其方法是在每个上行链路之后将顺序F3分成块。通过针对于此的各NodeID代替节点号,以及通过针对于此的各端口ID代替棱边号。由于LinkTable[j].Inducedlink不等于0产生了上行链路识别
1.DTL(NodeTable[21].NodeId,link Table[57].PordId),//网络A在亚特兰大的节点,上行链路UAB22.DTL(NodeTable[12].NodeId,LinkTable[20].PortId,//网A,hAB2NodeTable[3].NodeId,LinkTable[15].PortId,//网B,hBC2NodeTable[8].NodeId,LinkTable[14].PortId,//网C,hBC1NodeTable[6].NodeId,LinkTable[21].PortId,//网B,hAB1NodeTable[12].NodeId,0) //网A随即应按PNNIv1.0信令协议将得到的路由信息转换成DTL信息单元[IE]。
通过此入口边缘(Entry-Border)中继节点作DTL存储栈重新充填。
当一个连接建立申报(建立报告)到达一个新同级组里的一个入口边缘中继节点S’中,则重新充填接受着的DTL存储栈,这就是说,求出一个路由段并通过路由信息(DTL)来说明。此路由段相当于那个等级上较高的链路(这既可是一个水平链路也可是一个上行链路),由存储栈最高DTL的当前转接点(Current Transit Pointer)参照此链路。以下将它称为link-to-D’。
路由段的起始点是S’本身。路由段的终点是如下求得的节点D’。
跟随在存储栈最高DTL的当前转接点的登录含有D’的NodeID(节点标识)。但是当在其中没有跟随的登录时,人们则在存储栈下一个较低DTL中找到它,跟随在针对于此的当前转接点之后,等等。
如果在存储栈最低的DTL中甚至也不含一种这样的跟随登录,则用一种人们取自于被呼叫伙伴号码信息单元(Called Party NumberInformationselement)的搜索方案规定D’。
S’搜索遍它的布局数据库,在各等级最低的节点上开始,以便找到根据此搜索方案是可达到的目的节点D’。如果此目的地址是一种所谓的任意等级(ANYCAST)地址的话,此地址通常适合于不同节点上的多个设备/服务器,则在确定D’时也检验一个可达性信息PTSE的公告显示器。
设.j*为Link-to-D’的棱边号,并且i*为D’的节点号。
j*和i*的确定人们搜索遍所有的棱边j和确定j*,下列一致性适用于此j*NodeTable[LinkTable[j].FromNode].NodeId=Node ID,查询(referenzieren)通过存储栈最高的CTP UNDLinkTable[j].PortId=PortID,查询通过存储栈最高的CTP。目的节点D’的节点号i*因此是LinkTable[j*].ToNode。
布局图形的缩小一旦节点S’确定了节点D’,它则从对它已知的布局图形中排除某些节点和棱边(如上面所述)。
当人们紧接一个未满足通信条件报告(Crankback不正常后退)之后采取一种其它的重新路由选择尝试,它则也去除所有那些事先已证实为封锁的节点包括接触棱边。
除此之外又适用去除等级层面大于等于节点D’的等级层面的这些节点包括接触棱边,D’自身除外,以及所有终止在D’中的和像link-to-D’那样有同一集合标记的上行链路除外。这就是说节点i*以及所有的棱边j除外,对这些棱边适用LinkTable[j].ToNode=i*和LinkTable[j].AggregationToken=LinkTable[j*].AggregationToken基于如此形成的布局图形上人们求出从S’向D’的一种最好的路由(口称为从代表简单节点S’的节点号向i*),并由此引导出DTL信息单元,如上面所述。人们在建立(SETUP)报告中用如此获得的各DTL重新充填DTL存储栈,最后获得的DTL除外(它的内容是已随同包含在存储栈最高接收的DTL中)。
3.实施例(窄带网的联合)。
第三实施例(请见图9至14)涉及多个窄带网经营者A,B,C的一种合伙,它们将它们的网络已连接成一个通信网(请见图9)。每个单个局部网从本身看是一个等级最低的同级组。除此之外准确地存在一个公共的等级较高的同级组,在此组中每个局部网是作为一个逻辑节点来代表的。
此概念的含义在于,一个确定的局部网的各中继节点仅须确切地知道自己的网络布局。针对其余的各局部网它们只知道通信网的“粗略”联网布局,口称为方式和方法如同它们交互地联网的那样。可达性一个确定的局部网的每个中继节点从自己局部网的每一个节点知道,哪些终端机(呼叫号)是连接到此节点上的。它此外从每个外界局部网-借助累加的登录-知道,哪些终端机(呼叫号)是连接在此局部网上的。
三个不同的网络经营者A,B和C交互地用物理导线(P)连接它们的局部网在城市德累斯顿(DD)A与C,以及B与C,在城市汉堡(HH)B与C,在城市慕尼黑(M)A与B,在城市科隆(K)A与B以及B与C图9中的点线表示一条首先要求出路由的物理走向,在局部网A的源中继节点(慕尼黑)中开始和结束在同样为网络A的目的中继节点(斯图加特)中。
相似于PNNI概念,局部网A,B,C中的每一个可以表示为复合的逻辑节点,这就是说,包括大地区中心里的一个虚拟的核心,大地边缘上的各端口,各端口核心连接线(幅条),端口端口连接线(旁路例外)(请见图10)。
下列图形G1,一种所谓的高层面图形(HL)(请见图11)是存储在源中继节点中或在进行形成路由信息设施中棱边HL-1 节点HL-1 -节点HL-2棱边HL-2 节点HL-1 -节点HL-3棱边HL-3 节点HL-1 -节点HL-4棱边HL-4 节点HL-1 -节点HL-5棱边HL-5 节点HL-1 -节点HL-6棱边HL-6 节点HL-1 -节点HL-5棱边HL-7 节点HL-2 -节点HL-6棱边HL-8 节点HL-2 -节点HL-11棱边HL-9 节点HL-3 -节点HL-10棱边HL-10 节点HL-4 -节点HL-9棱边HL-11 节点HL-5 -节点HL-14棱边HL-12 节点HL-6 -节点HL-15棱边HL-13 节点HL-7 -节点HL-11棱边HL-14 节点HL-7 -节点HL-10棱边HL-15 节点HL-7 -节点HL-9棱边HL-16 节点HL-7 -节点HL-8棱边HL-17 节点HL-8 -节点HL-9棱边HL-18 节点HL-8 -节点HL-13棱边HL-19 节点HL-12 -节点HL-13棱边HL-20 节点HL-12 -节点HL-14棱边HL-21 节点HL-12 -节点HL-15从小的节点号向较大的节点号进行连接线(各链路,棱边)的识别。
应将此图形G1以同等程度输入参与各局部网的各中继节点中。每个核心节点,每个端口节点以及每个棱边因此得到一个单意的号。此号能使得,每个中继节点在此针对于此的节点号或棱边号之下理解同一事物。
每个中继节点从核心或端口角度看得到一个标记,每个棱边得到一个“幅条”,“旁路例外”,或者再是“水平”形式的标记。此外每个中继节点得到它的地理座标。每个核心节点以合适的累加形式得到关于哪些终端机是此局部网的内部用户的说明。每个中继节点和每个棱边得到一个高层面标记HL。
平行于此,一个完全确定的局部网的每个中继节点得到此确定局部网的一个布局图形G2(低层面图形LL),例如局部网A的每个中继节点得到下列布局图形(请见图12)棱边LL-1 节点LL-1 -节点LL-2棱边LL-2 节点LL-1 -节点LL-4棱边LL-3 节点LL-1 -节点LL-5棱边LL-4 节点LL-2 -节点LL-3棱边LL-5 节点LL-3 -节点LL-4棱边LL-6 节点LL-4 -节点LL-5棱边LL-7 节点LL-4 -节点LL-6棱边LL-8 节点LL-6 -节点LL-7棱边LL-9 节点LL-6 -节点LL-8棱边LL-10 节点LL-7 -节点LL-8棱边LL-11 节点LL-7 -节点LL-9棱边LL-12 节点LL-8 -节点LL-9从小节点号向更大节点号进行各棱边的识别。每个中继节点和每个棱边是用“低层面(Low-Level)”=LL标记的。
源中继节点统一高层面图形和低层面图形,其方法是它清除这些自己的高层面端口节点,图形中此自己的高层面核心节点,以及这些自己的幅条和旁路例外棱边。与此相反地如此来改变这些水平的,从这些自己的端口节点引开的棱边,使得这些棱边从现在起按低层面图形从各中继节点引开。它们继续保持作为HL标记的。
一个确定局部网的每个端口拥有有关哪些HL节点代表自己局部网的布局信息。每个端口此外针对自己局部网的HL端口节点知道各自从属的LL节点。
如此统一的图形G3为棱边HL-1 节点HL-1 -节点HL-2棱边HL-2 节点HL-1 -节点HL-3棱边HL-3 节点HL-1 -节点HL-4棱边HL-4 节点HL-1 -节点HL-5棱边HL-5 节点HL-1 -节点HL-6棱边HL-6 节点HL-1 -节点HL-5棱边HL-7 节点HL-2 -节点HL-6棱边HL-8 节点HL-2 -节点HL-11棱边HL-9 节点HL-3 -节点HL-10棱边HL-10 节点HL-4 -节点HL-9棱边HL-11 节点HL-5 -节点LL-6棱边HL-12 节点HL-6 -节点LL-1棱边HL-13 节点HL-7 -节点HL-11棱边HL-14 节点HL-7 -节点HL-10棱边HL-15 节点HL-7 -节点HL-9棱边HL-16 节点HL-7 -节点HL-8棱边HL-17 节点HL-8 -节点HL-9棱边HL-18 节点HL-8 -节点LL-9棱边LL-1 节点LL-1 -节点LL-2棱边LL-2 节点LL-1 -节点LL-4棱边LL-3 节点LL-1 -节点LL-5棱边LL-4 节点LL-2 -节点LL-3棱边LL-5 节点LL-3 -节点LL-4棱边LL-6 节点LL-4 -节点LL-5棱边LL-7 节点LL-4 -节点LL-6棱边LL-8 节点LL-6 -节点LL-7棱边LL-9 节点LL-6 -节点LL-8棱边LL-10 节点LL-7 -节点LL-8棱边LL-11 节点LL-7 -节点LL-9棱边LL-12 节点LL-8 -节点LL-9基于此布局图形G3,局部网A的各自源中继节点进行一个迪杰斯特最好路由计算,并且得到一个节点-棱边-节点顺序,在实例中在源中继节点(慕尼黑)上开始,并且结束在规定的目的中继节点(斯图加特)上。
慕尼黑=Kn.LL-9,Ka.HL-11,Kn.HL-5,Ka.HL-4,Kn.HL-1,Ka.HL-3,Kn.HL-3,Ka.HL-9,Kn.HL-10,Ka.HL-14,Kn.HL-7,Ka.HL-13,Kn.HL-11,Ka.HL-8,Kn.HL-2,Ka.HL-7,Kn.HL-6,Ka.HL-5,Kn.LL-1,Ka.LL-1,Kn.LL-2=斯图加特。(请见图13)用一种单一的信息单元将所求得的节点-棱边-节点顺序随同输给一个连接建立申报。。在将此连接建立申报第一次发出之前,分析和处理完此信息单元。在此清除此第一节点(=源中继节点)。分析第一棱边,以便求出通往下一个中继节点的正确中继线。在此之后同样在信息单元中清除此棱边。由此切除“旧的”,这就是说已经分析过的信息。
当连接建立申报到达一个中继节点上时,在此信息单元的最上面的节点是一个HL节点(HL端口节点)时,接收着的中继节点则必须计算通过当前到达的局部网的一个路由段(在此路由段中只出现LL节点),此中继节点必须将相应的节点棱边顺序接受进路由信息单元中,并且必须相应地推进此连接建立。
情况A最上面的节点是一个LL节点号(接收着的中继节点的号)。当未接收到棱边号时,此目的中继节点是已达到了。另外的情况下,经在最上面碰到的棱边继续送出连接建立请求。但是之前切除最上面的节点号和最上面的棱边号。
情况B最上面的节点是一个HL节点号(也即一个HL端口节点号)。可将此号改写为接收着的中继节点的LL节点号。还要检验,是否应重新离开当前达到的局部网-或者立即或者在横穿过自己的局部网之后。当人们在搜索遍所接收路由信息单元时(从上向下)或者碰上一个LL节点,或者碰上一个外界网的一个HL(端口)节点时,重新离开此局部网。当或者一个局部网外界的HL节点,或者一个LL节点(它属于一个外界的局部网)作为第二最上面的节点号存在时,在此立即离开此局部网。
情况B.1不能重新离开此网络。去除所接收路由信息单元的整个内容。根据被呼叫终端机的,接收的“被呼叫伙伴号”-信息单元确定LL目的节点。人们计算一个往那儿去的最好路由,和将求出的节点-棱边-节点顺序添加进路由信息单元中,-最先第一的节点和最先第一的棱边除外。
情况B.2.1应立即重新离开此局部网。经在最上面找到的棱边继续传送连接建立申请,但是事先切除最上面的节点,并且同样切除此最上面的棱边。
情况B.2.2在横穿后应重新离开此局部网。在从上向下搜索遍时,在路由信息单元中找到最后的,属于自己网络(HL-出口端口节点)的HL节点。将此改写到针对于此的LL节点(LL-出口节点)上,并且计算一个通向此中继节点的最好路由。从接收的路由信息单元中清除最上面的登录,包括HL出口端口节点的登录。人们计算在当前中继节点上开始的和在LL出口节点上结束的一个最好路由,并且将针对于此的节点-棱边-节点顺序从最上面添加入路由信息单元,(在此人们当然去除起始节点和起始棱边),并且经此去除的起始棱边继续转送连接建立申报。
在此用于路由信息形成的方法上,在连接建立的方向上离开一个局部网(在此为局部网A),并且以后在一个另外的端口上开始地重新进入。
如果人们对所述路由信息单元添加地引入一个用于中继显示的信息单元(不正常退回;类似于在PNNI v1.0上的那样),这个信息单元是随带在中断的释放(RELEASE)报警中的,以便报告一个封锁着的节点,这使得人们可以起动一个有目的地重新选择路由,在此重新选择路由时保证了,不会再次探访此封锁的节点。
将正封锁着的LL节点进行报警。将释放报警送回到源中继节点,或者再送回到封锁着节点的局部网中的入口节点。在那里重新实施迪杰斯特算法,这建立在一个布局图形基础上,在此布局图形上去除了此封锁着的节点以及各接触棱边。
也许多次重复此事,这就是说在每次其它的封锁时用释放报警报回此节点,但是然后在下一次路由求取时以一种布局图形为基础,在此布局图形上去除了所有的事先报警过的,封锁着的节点以及各接触棱边。
如果所有(一个有限的数目)这些重新选择路由尝试失败的话,可以用释放报警返回转接到先行网络,在此此不正常退回信息单元含有一个HL(核心)节点。在先行网络中释放报警应送回到入口节点。在那里才应重新实施迪杰斯特算法,在此在布局图形中事先去除此报警的封锁着的HL-核心-节点以及所有从属的HL端口节点,以便实现,在下一次尝试时完全避免此封锁着的网络。
在确定路由时动用(LL和HL)节点的,已知的地理座标。通过迪杰斯特算法找到的路由是一个具有最短地理距离的路由。这些地理距离可以反映在收费区域上,使得在连接建立的一种短距离时出现费用降低。在路由求取时是无所谓的,究竟目的用户是连接在通信网本身中,还是应转接到通向通信网外部的一个相邻局部网的一个通道上。
权利要求
1.用于形成满足各可调通信条件的一个连接建立的路由信息的方法,此连接建立从一源中继节点通向一个目的中继节点,在一个通信网中,它由带有各中继节点的至少两个局部网和连接这些中继节点的各连接线组成,其中,各局部网是经各连接线相互连接的,并且为此源中继节点,可供支配地存储着关于它所属局部网的和至少关于这些局部网联网的各布局信息,具有以下方法步骤-选出满足各通信条件的中继节点和连接线的部分量,它的各布局信息是存储在源中继节点中的,-在采用此部分量的各单元的条件下求出一个路由,此路由在从源中继节点通向目的中继节点的方向上至少一次离开一个局部网,并重新返回此局部网,并且-从所求出的路由中形成路由信息。
2.按权利要求1的方法,建立在按等级组织的中继节点上,这些中继节点是由不同级别的各逻辑节点代表的,其中,在排除等级的各部分的条件下求出此路由。
3.按上述权利要求之一的方法,其中,在源中继节点中从各布局信息确定含有此目的中继节点的局部网。
4.按上述权利要求之一的方法,其中,具有按专用网络到节点协议(PNNI专用网络到节点界面)的各原理的一次路由求取和一次路由说明。
5.按权利要求4的方法,其中,建立在布局信息上,在这些布局信息上至少一个局部网是由一个复合中继节点代表的。
6.按权利要求5的方法,其中,一个复合中继节点是由至少一个端口节点,一个核心节点,以及各端口-核心连接线和端口-端口连接线定义的。
7.按权利要求6的方法,其中,在形成路由信息时采用去除各连接线,这些连接线是针对端口-核心连接和端口-端口连接的。
8.按上述权利要求之一的方法,其中,对于在两个通信方向上的两个中继节点之间的各连接线采用一种独立的处理。
9.按上述权利要求之一的方法,其中,具有按迪杰斯特算法对路由的求取。
10.按上述权利要求之一的方法,其中,在该不满足用于一个已经求出路由的各通信条件时,向此源中继节点报告该有关的中继节点或该有关的连接线。
全文摘要
一个通信网的各中继节点是从属于各局部网的,并是任意地互相联网的。在一个源中继节点中存储着至少关于自己局部网的和关于各局部网联网的各布局信息。此外对此源中继节点存在着为应建立通信连接所要求的各通信条件。针对这些布局信息选出满足这些通信条件的,中继节点和连接线的一个部分量,并且求出一个通向目的中继节点的路由。在此纳入一种路由,它在从源中继节点向目的节点的方向上至少一次离开一个局部网,并且在继续的走向中重新返回此局部网。随后从所求出的路由形成此路由信息。
文档编号H04L12/56GK1209240SQ96180090
公开日1999年2月24日 申请日期1996年12月4日 优先权日1995年12月21日
发明者H·胡梅尔 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1