一种向量数据通信网上实现多播路由的方法

文档序号:7686979阅读:158来源:国知局
专利名称:一种向量数据通信网上实现多播路由的方法
技术领域
本发明涉及数据通信网领域,特别涉及一种向量数据通信网上实现多播路由 的方法。
技术背景向量数据通信网简称向量网,对应OSI模型的网络层,在总结NGI和NGN 理论和实践基础上,集电信网、ATM网、IP网、帧中继、MPLS等技术的优点, 提出"向量连接"和"向量交换"的概念;依照控制面和传送面分离的原则提出 了以"向量地址"为基础的三地址定位思想。通信网与网络地址总是联系在一起,常用的网络地址有IP地址、ATM终端 地址、ATM交换地址(即VPI/VCI地址),甚至电话号码、因特网的域名等。各 种网络地址的用途和属性不同,有的标识通信网的对象,有的用于交换路由操作; 有的人使用,便于记忆,有的机器使用,便于存储和处理。综合考虑这些地址, 向量网提出了三地址定位方案,就是说网络中使用三种地址名称地址、路由地 址和交换地址。名称地址是向量网的标识地址,路由地址是名称地址的别名,名称地址和路 由地址在控制面使用;交换地址在传送面使用,必须方便高速简单地交换转发数 据,采用向量地址。中国发明专利《一种向量网络地址编码方法》(申请号200610089302.6,公 开号CN1866972)给出一种向量地址,是一种不同于IP地址和ATM路径信道 地址的交换地址,以向量地址为交换地址建立的数据通信网被称其为向量数据通 信网,其传送网称为向量传送网。在向量传送网中,转发设备的输入输出端口从1开始用数字编号,称为端口 号。向量地址以端口号为编码基础,描述了从信源设备到信宿设备传送数据的通 信路径。通信路径信息是端口号组成的序列,路径上的每个转发设备都对应序列 中的一个端口号,是通信路径通过该电子设备的输出端口号。以上端口号序列就 象一步一步的方向标,引导数据包传送到达信宿设备,所以被称为向量地址,其 中的端口号被称为分量地址。当转发设备从某输入端口收到一个数据包后,检查第一个分量地址,根据检査结果把该数据包发送到第一个分量地址所指定的输出端口,传送出去的数据包 不包含第一个分量地址,即第一个分量地址使用以后就从数据包删去,传送出去 的数据包之向量地址少了一个分量地址。这就是向量传送网的转发设备的数据交 换过程,在此称其为向量交换过程,完成向量交换的转发设备被称为向量交换机。 中国发明专利《一种向量数据通信网上建立向量连接的方法》(申请号 200710004995.9)给出了一种向量网上建立向量连接的方法,是向量网的控制面 功能的基本部分。向量网的控制面包括控制功能和管理功能。控制功能又包括呼叫和寻由。呼 叫过程是主叫以被叫的名称地址作为被叫地址,向网络(指向量网)发出呼叫请 求,网络根据"网络的树状组织结构"确定主叫通向被叫的呼叫路径,通过这一 呼叫路径,双方协商确定通信格式,交换必要的通信连接信息,更新各自的连接信息o寻由过程是主叫以被叫路由地址作为目的地址,向网络提交一个寻由包,发 出寻由请求,根据可达性评价开始进行分支探索,分支探索的结果将得到多条通 信路径,将有多个寻由包从不同通信路径抵达被叫,分支探索过程中,在每条通 信路径行进的寻由包将收集积累表示该通信路径的双向向量地址和路径代价,并 存储在寻由包中。最后根据路径代价选定指定数量的P条合理路径,作为寻由结 果。呼叫和寻由过程完成后,被选定的多条通信路径、主叫和被叫的最终更新的 连接信息构成一个向量连接,它是向量网中实现单播路由的基础。随着计算机网络的迅速发展,网络功能日益强大。网络中的通信方式由单点 间的通信向多点间的通信发展,因此对多播技术的研究成为网络通信领域中的一 个重要研究课题。多播是一个源节点将同一信息传送到多个目的节点(但不是所 有节点)的通信方式。远程会议、交互式仿真、分布式内容系统、多方游戏等应 用都对多播业务提出了需求。历经20多年的研究和发展,IP多播已经形成了较为完整的多播协议体系, 由于IP网中的多播基于组地址实现,因此也称为组播。从因特网中IP组播的应用现状看,IP组播并没有取得预期的成功。阻碍IP组播业务发展的主要因素为1. IP组播体系结构缺乏可扩展性。这是由IP网的地址编码方式所导致的。2. 开放的IP组播模型在开放的因特网环境中难以支持有效的管理和控制机 帝U。标准的IP组播业务模型是一种Any source, Any receiver的开放模型,任何 节点都可以创建组,可以向组发送数据,节点可以加入任何感兴趣的组接收数据, 发送节点不知道具体的单个接收节点,接收节点也不需要知道发送数据的节点。在这种模型下,接入控制、组管理、组地址的协调机制一直没有有效的解决方案。 从另一个角度上来说,IP网采用间接地址实现多播,由此带来了组成员管理的 一系列问题。3. 由于自治系统(AS)的存在,多播路由协议种类繁多,渐趋复杂。4. 由于多播的特殊性,网络中支持多播的路由器稀疏分布,为了降低成本, 通常使用隧道技术使多播数据包通过单播路由器。但是,隧道技术是由手工配置 的,因此极大地影响了多播效率。从本质来看,现有IP网中多播所存在的问题,归根结底是由于IP网的地址 编码以及寻址方式造成的。向量网基于全新的地址编码方法,要使向量网能够支持多播,必须在总结现 有IP多播技术优缺点的基础上发明出一种全新的多播路由方法。发明内容鉴于现有技术的不足,本发明的目的在于提供一种向量数据通信网上实现多 播路由的方法。向量网是控制面和传送面分离的数据通信网,它以向量地址为交换地址,以 向量传送网为传送网,支持单播和多播路由,其实现多播路由的方法就是"在向 量数据通信网上实现多播路由的方法",简称多播路由方法,目前没有现成的多 播路由方法,本发明解决了这一问题。在介绍发明的技术方案之前,定义六个概念多播数据发送方、多播数据接 收方、多播路由器、多播分布树、树状向量地址和路径代价。数据发送端站设备 被称为"多播数据发送方",数据接收端站设备被称为"多播数据接收方"。"多 播路由器"是指能够理解多播地址项信息,具有按照这些信息复制并转发数据包 能力的路由器。"多播分布树"是一棵以多播数据发送方为树根,多播路由器或 者交换机为树杈节点,多播数据接收方为树叶的树。"树状向量地址"是为多播 向量网设计的一种特别的向量地址格式,多播路由器通过读取这种向量地址便可 将多播数据包复制并转发到相应的出端口处。"路径代价"是指一条通信路径的 某种意义上的总代价,比如总长度、总费用等。本发明的技术方案是向量数据通信网上实现多播路由的方法,其特征在于 包括以下步骤步骤A:多播数据发送方生成到各多播数据接收方的多播分布树;所述多播 分布树的计算工作一般由所述多播数据发送方"委托" 一多播路由器完成;步骤B:所述多播数据发送方根据多播分布树结构对各多播数据接收方进行源限定分段寻由,获得多个向量地址;所述源限定分段寻由是一种寻由路径已经 被限定须沿着多播分布树进行的一种寻由方法,它与单播时的寻由不同;步骤C:所述多播数据发送方整合多个向量地址形成多播地址项,完成多播 路由过程,将所述多播地址项作为目标地址放入多播数据包中,即可发往所述各 多播数据接收方,达到多播数据传送的目的。所述步骤A具体包括步骤Al:所述多播数据发送方事先知道参与本次多播过程的各多播路由器和各多播数据接收方的名称地址,通过所述名称地址呼叫所述各多播路由器和所述各多播数据接收方,得到它们的路由地址;所述呼叫过程与向量网上单播的呼 叫过程相同;步骤A2:所述多播数据发送方根据得到的所述各多播路由器的路由地址发 起对所述各多播路由器的寻由过程,获得从自己到所述各多播路由器的向量地址 和路径代价,通过比较路径代价值,所述多播数据发送方可以确定与某个多播路 由器之间的路径代价最小;所述寻由过程与向量网上单播的寻由过程相同;'步骤A3:所述多播数据发送方向所述路径代价最小之多播路由器发送所述 各多播路由器的路由地址和所述多播数据发送方、所述各多播数据接收方的路由 地址,"委托"所述路径代价最小之多播路由器计算多播分布树;步骤A4:所述接受"委托"的多播路由器运用Prim—Jarnik算法分布式递归 计算多播分布树,并将计算结果发送给所述多播数据发送方;所述Prim—Jarnik 算法是图论中一种计算最小代价生成树的算法,向量网多播方法中选择此算法计 算多播分布树。所述步骤具体包括步骤Bl:所述多播数据发送方根据多播分布树结构开始进行源限定分段寻 由,它生成寻由消息,所述寻由消息沿着多播分布树先到达各多播路由器,然后 根据各多播数据接收方的路由地址进行寻由,得到路径代价以及所述多播路由器 与所述多播数据接收方之间的双向向量地址;步骤B2:各多播数据接收方收到所述寻由消息后,向所述多播路由器发出 寻由回应消息,所述寻由回应消息中包括从所述多播路由器到所述多播数据接收 方的路径代价和向量地址;寻由回应消息不能直接发送给所述多播数据发送方,因为各多播数据接收方不知道从所述多播路由器到所述多播数据发送方的向量地址;步骤B3:所述多播路由器收到所述寻由回应消息后,将其中的从所述多播 路由器到所述多播数据接收方的路径代价和向量地址发送给所述多播数据发送方,所述多播数据发送方根据从自己到所述多播路由器的向量地址和从所述多播 路由器到所述多播数据接收方的向量地址构成从自己到所述多播数据接收方的 向量地址;步骤B4:所述多播数据发送方保存从自己到各多播数据接收方的路径代价 和向量地址,并发送寻由确认消息给所述各多播数据接收方。所述多播地址项为树状向量地址,所述树状向量地址是专门为多播向量网设 计的一种特别的向量地址格式,多播数据包通过多播分布树分叉时,多播路由器 会按照多播地址项读取与自己端口相关的向量地址,然后复制转发数据包。本发明的有益效果向量网必须支持单播和多播路由,目前没有现成的多播路由方法,本发明提 供了的一种多播路由方法。多播路由方法是向量网的控制面功能的基本部分,为 建立完善向量网的控制网技术,使向量网可以代替ATM网和IP网成为互连网的 新一代数据通信网技术打下基础。向量网中的多播路由方法与IP组播相比有几点优势。首先,向量网中没有 多播组的概念,其多播服务模型采用最小化网络层的观点,这样就避免了组成员 管理的复杂问题;其次,向量网中由多播数据发送方保存多播分布树,各多播路 由器不需要像IP网那样记录多播信息,降低了多播路由器的资源消耗;第三, 因特网中多播分组通过单播路由器时,必须运用隧道技术,而隧道是由手工配置 的,显然这样做是低效的,而向量网中通过采用树状向量地址结构,单播路由器 可以理解其中的一部分分量地址,使得多播数据包可以顺利的通过路由器,而不 管它们是否支持多播;最后,因特网中由于自治系统的存在,多播路由协议纷繁 复杂,而向量网是一种具有分形特征的网络, 一种统一的方法或协议就可以解决 问题。


图1是本发明提供的多播分布树生成过程的流程图; 图2是本发明提供的源限定分段寻由过程的流程图; 图3是本发明提供的源限定分段寻由过程的示意图; 图4是本发明提供的向量网的树状组织结构示意图; 图5是本发明提供的多播分布树生成过程的示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。向量网采用三种地址,分别是名称地址、路由地址和向量地址。其中,向量地址是向量网的交换地址,名称地址是向量网的标识地址,路由地址是名称地 址的别名。向量地址在背景技术中己经介绍,下面分别介绍名称地址和路由地址。 向量网的名称地址类似于Internet的域名地址,这种地址命名体系与向量网 树状组织结构密切相关。本实施例向量网的组织结构以"一片森林"为例进行说 明,森林中有若干棵树,树的每一段树干作为一个对象都赋予一个简短的名字, 树的每一片叶作为一个对象也赋予一个简短的名字,整个树的名字与主干的名字一样, 一个树枝的名字与树枝主干的名字一样,树枝和树叶的名字可以前缀所有 上级树干的名字串,名字之间用句号"."分割,形成从树主干开始的层次的名 字串,这就是名称地址。向量网树状组织结构举例见图4,"一片森林"中有A、 B、 C三棵树,树叶"A丄2"的名称地址是"(A丄2).(A.1).A",树枝"A.2"的名 称地址是"(A.2).A"。名称地址可以唯一编码定位一个树枝或树叶。一个树枝代表局部的网络组织 机构,被称为子网,树叶对应于通信网的一台电子设备,名称地址是子网和电子 设备的标识地址,其特征是明码文本,便于阅读、记忆和使用。以上"一片森林"所包含的信息就是"网络的树状组织结构信息",包括森 林中树的个数,每个树的拓扑结构,每个树枝和树叶的名字信息。向量网的路由地址由电子设备使用,采用二进制数,方便电子设备呼叫和寻 由,建立向量连接,它与名称地址存在一对一关系,是名称地址的别名,也是一 种标识地址,在建网时根据名称地址事先配置确定。路由地址的二进制位数等长, 但长度可以配置,甚至动态配置,基本要求是满足对每一个电子设备、每一个子 网进行编码。名称地址和路由地址在数据通信网的控制面使用,前者是文本形式, 后者是二进制形式。如果不考虑处理效率,以上路由地址可以用名称地址代替, 合二为一,简化地址体系,使向量网的地址体系成为二地址体系。本发明提供了一种向量网上实现多播路由的方法。向量网中多播的最终目标 是在向量网中动态生成一棵以多播数据发送方(SNDR)为树根,多播路由器 (MR)或者交换机为树杈节点,多播数据接收方(RCVR)为树叶的多播分布 树(MDT);得到MDT之后,SNDR就可以根据此树结构采取相应的源限定分 段寻由过程,得到树状结构的向量地址;然后就可以向各RCVR发送多播数据 包,MDT作为多播数据包在网络中的实际传输路径,数据包沿着MDT从单个 SNDR到达多个RCVR,从网络总体代价来看,每次多播传送所花费的代价最小。多播分布树生成过程如下多播数据发送方通过呼叫和寻由过程确定"委托"哪个多播路由器计算多播 分布树,接受"委托"的多播路由器运用Prim一Jarnik算法分布式递归计算多播分布树,计算完成后接受"委托"的多播路由器将多播分布树发送给多播数据发 送方从而完成多播分布树生成过程。 源限定分段寻由过程如下在源限定分段寻由中,寻由消息必须沿着多播分布树的"树枝"行进,因此 普通寻由消息中的被叫方的路由地址字段会被多个"树枝"上的设备的路由地址 代替,这与IP网中的源路由有一些相似之处。源限定分段寻由的结果是多播数 据发送方获得树状向量地址信息,从而与各多播数据接收方都建立了向量连接。参见图l,多播分布树生成过程具体步骤如下步骤101:多播数据发送方事先知道参与本次多播过程的多播路由器和各多播数据接收方的名称地址TextAddr(如何获得这些地址交给上层的协议机制去完成),多播数据发送方通过这些名称地址呼叫各多播路由器和各多播数据接收方,得到它们的路由地址CalleeAA;上述呼叫过程与向量网上单播的呼叫过程相同, 需要用到的数据包包括呼叫包cINVITE、响应包c200、确认包cACK和撤销呼 叫包cBYE。步骤102:多播数据^送方根据得到的各多播路由器的路由地址CalleeAA 发起对各多播路由器的寻由过程,获得从自己到各多播路由器的向量地址 CalleeVA和路径代价Cost,通过比较Cost值,多播数据发送方可以确定与某个 多播路由器之间的路径代价最小;上述寻由过程与向量网上单播的寻由过程相 同,需要用到的数据包包括寻由包rINVITE、寻由回应包r200、寻由确认包rACK 和撤销通信包rBYE。步骤103:多播数据发送方向路径代价最小之多播路由器发送"发起建立多 播分布树过程"的消息,告知路径代价最小之多播路由器开始多播分布树的建立 过程;该消息中包含各多播路由器的路由地址和多播数据发送方、各多播数据接 收方的路由地址。步骤104:接受"委托"的多播路由器运用Prim一Jarnik算法分布式递归计 算多播分布树,多播分布树计算的整个过程是递归进行的,虽然各逻辑层级的顶 点所代表的含义不同,但是不影响Prim一Jarnik算法的结果,并且上层的多播分 布树会减少下层计算多播分布树时的算法输入量;上述Primjarnik算法是图论 中一种计算最小代价生成树的算法,向量网多播方法中选择此算法计算多播分布树。步骤105:接受"委托"的多播路由器将生成的树结构封装在"成功生成全 部多播树"消息中,发送给多播数据发送方,完成多播分布树生成过程。参见图2,源限定分段寻由过程的任务是根据多播分布树结构获得树状向量地址信息,源限定分段寻由过程的具体步骤如下步骤201:多播数据发送方根据多播分布树结构开始进行源限定分段寻由, 它生成寻由消息,寻由消息沿着多播分布树先到达各多播路由器,然后根据各多 播数据接收方的路由地址进行寻由,得到路径代价以及多播路由器与多播数据接 收方之间的双向向量地址;这里的寻由消息以寻由包mrINVITE的形式表示,寻 由包中包含多播数据发送方到多播路由器的向量地址和多播数据接收方的路由 地址RCVRAA,寻由包先根据CalleeVAl(SNDR至MR的向量地址)到达MR, 然后根据RCVRAA进行寻由,寻由包在传输过程中收集得到的路径代价以及 MR与RCVR之间的双向向量地址分别保存在Costlist和RouteAddr2中。步骤202:各多播数据接收方收到寻由消息后,向多播路由器发出寻由回应 消息,寻由回应消息中包含从多播路由器到多播数据接收方的路径代价和向量地 址;这里的寻由回应消息以寻由回应包mr200的形式表示,寻由回应包根据从 多播数据接收方到MR的向量地址CallerVA2(RCVR至MR的向量地址)发送到 MR,它不能直接发送给多播数据发送方,因为多播数据接收方不知道从多播路 由器到多播数据发送方的向量地址,另外寻由回应包中还包含从MR到RCVR 的路径代价Cost和向量地址CalleeVA2(MR至RCVR的向量地址)。步骤203:多播路由器收到寻由回应消息后,将其中的从多播路由器到多播 数据接收方的路径代价和向量地址发送给多播数据发送方,多播数据发送方根据 从自己到多播路由器的向量地址和从多播路由器到多播数据接收方的向量地址 构成从自己到所述多播数据接收方的向量地址;多播路由器发给多播数据发送方 的寻由回应消息以寻由回应包mr201的形式表示,MR将mr200包中的 CallerVA2(RCVR至MR的向量地址)换为CallerVAl(MR至SNDR的向量地址), 将路径代价Cost和向量地址CalleeVA2(MR至RCVR的向量地址)发送给SNDR, SNDR根据SNDR至MR的向量地址与MR至RCVR的向量地址构成完整向量 地址。步骤204:多播数据发送方保存从自己到各多播数据接收方的路径代价Cost 和向量地址CalleeVA(SNDR至RCVR的向量地址),并发送寻由确认消息给各多 播数据接收方;这里的寻由确认消息以寻由确认包mrACK的形式表示。另外,如果多播数据发送方或某多播数据接收方想撤销某个通信路径,可以 通过撤销通信包mrBYE撤销通信路径,mrBYE途中需要MR进行转发。步骤205:多播数据发送方整合从自己到各多播数据接收方的多个向量地址 形成多播地址项,完成多播路由过程;多播地址项为树状向量地址,多播数据发 送方将树状向量地址作为目标地址放入多播数据包中,即可发往各多播数据接收方,达到多播数据传送的目的;多播数据包通过MR,即MDT分叉时,多播路 由器就会按照多播地址项读取与自己的端口相关的向量地址,然后复制转发数据 包。上面提到的六种数据包及相应符号介绍如下(1) 寻由包mrINVITE:寻由包mrINVITE的发送方向为SNDR—MR—RCVR(对于每一个RCVR), 其格式如下Head Cmd CalleeVAl(SNDR至MR的向量地址)RCVRAA CostList RouteAddr2 其中,Head:数据包头的固定部分,包括的信息有数据包格式的版本号、传输优 先级、拥塞控制、检错、数据包类型5个字段。 Cmd:命令代码,取值为mrINVITE。CalleeVAl(SNDR至MR的向量地址)多播数据发送方到多播路由器的向量 地址。RCVRAA:多播数据接收方的路由地址。CostList:寻由包在传播过程中收集得到的多播路由器与多播数据接收方之 间的路径代价。RouteAddr2:寻由包在传播过程中收集得到的多播路由器与多播数据接收方 之间的双向向量地址,即RouteAddr2包含MR至RCVR的向量地址和RCVR至 MR的向量地址。(2) 寻由回应包mr200: 寻由回应包mr200的发送方向为RCVRs—MR,其格式如下Head Cmd CallerVA2(RCVR至MR的向量地址)Cost CalleeVA2(MR 至RCVR的向量地址) 其中,Head:类似mrINVITE包的Head。 Cmd:命令代码,取值为mr200。CallerVA2(RCVR至MR的向量地址)多播数据接收方到多播路由器的向量 地址。Cost:多播路由器到多播数据接收方的路径代价rCalleeVA2(MR至RCVR的向量地址)多播路由器到多播数据接收方的向量 地址。(3) 寻由回应包mr201:寻由回应包mr201的发送方向为MR—SNDR,其格式如下 Head Cmd CallerVAl(MR至SNDR的向量地址)Cost CalleeVA2(MR 至RCVR的向量地址) 其中,Head:类似mrINVITE包的Head。 Cmd:命令代码,取值为mr201。CallerVAl(MR至SNDR的向量地址)多播路由器到多播数据发送方的向量 地址。Cost:多播路由器到多播数据接收方的路径代价。CalleeVA2(MR至RCVR的向量地址)多播路由器到多播数据接收方的向量 地址。(4) 寻由确认包mrACK:寻由确认包mrACK的发送方向为SNDR—RCVRs,其格式如下Head Cmd CalleeVA(SNDR至RCVR的向量地址)其中,Head:类似mrINVITE包的Head。 Cmd:命令代码,取值为mrACK。CalleeVA(SNDR至RCVR的向量地址)多播数据发送方到多播数据接收方 的向量地址,有CalleeVA(SNDR至RCVR的向量地址)-CalleeVAl(SNDR至 MR的向量地址)+CalleeVA2(MR至RCVR的向量地址)。(5) 撤销通信包mrBYE:撤销通信包mrBYE的发送方向为SNDR—RCVRs或RCVRs—SNDR,其格 式如下Head Cmd VA 其中,Head:类似mrINVITE包的Head。 Cmd:命令代码,取值为mrBYE。 VA:对方向量地址。(6) 多播数据包-向量网中,针对多播的特性,专门为多播设计了一种地址项格式。而地址项 有三种情况向量地址、子树项,以及"向量地址+子树项"的复合地址项,其 中向量地址在前,子树项在后。向量网中的多播数据包的格式如下所示Head VA -1 NB (V L1ST)(V Ll ST)…(V LIST) Data 其中,Head:数据包头的固定部分的信息集合,包括的信息有数据包格式的版本 号、传输优先级等信息。VA:到达多播路由器之前的分量地址。 Data:实际的数据载荷。-1 NB (V L1ST)(V L1ST)…(V LIST):表示子树项,其中各符号的含义为-1:子树项的标记,区别于分量地址项; NB:多播分支个数;V:多播路由器输出端口的分量地址,前有前导填充比特(FillBitS); ST:后继地址项,可能是子树项,向量地址项,或复合地址项; Ll:是ST的长度,以Byte为单位。多播数据包通过MR,即MDT分叉时,多播路由器就会按照地址项读取与 自己的端口相关的向量地址,然后复制转发数据包。 实施例1本实施例采用修改的PNNI的树状组织结构作为向量网的树状组织结构为 例,说明多播路由的方法。PNNI是异种ATM网络接口标准,图4是PNNI树结构的示意图,PNNI的内容如下物理节点(Lowest-Level Node,简记LLN),对应一台物理设备,比如"XMT"、 "A丄3"、 "C.2"等物理设备。对等组(Peer Group,简记PG),逻辑节点组成的节点组,比如"PG(A.l)"、 "PG(A)"等。逻辑组节点(Logical Group Node,简记LGN),代表一个对等组的逻辑节点, 比如"A.l"就是一个LGN,它代表"PG(A.l)"。逻辑节点(LogicalNode,简记LN),物理节点和逻辑组节点都是逻辑节点。首领节点(Peer Group Leader,简记PGL),通过首领竞选过程,在一个对 等组中竞选出的逻辑节点。竞选权值(Leadership Priority,简记LP), 一个PG中的LN竞选首领节点 时的"资本"。物理链路(Physical Link,简记PL), 一条物理链路,在其上,可以建立一条或多条逻辑链路,比如"A丄2-A丄1"和"A丄1-A,4.5"之间的细实直线。逻辑链路(Logical Link,简记LL),在两个逻辑节点之间建立的通信连接, 是一种虚连接。边界节点(Border Node,简记BN),与本对等组之外的物理节点有物理链 路的物理节点,比如LN "A丄1"是"PG(A.1)"的BN,因为它与其它PG的LN "A.4.5"有PL, LN "A.3"是"PG(A)"的BN,因为它与其它PG的LN "B.1" 之间存在PL。Hello Packet,逻辑节点间相互发现协议使用的数据包。 向量网采用经过修改的PNNI协议(这里简称为MPNNI)实现控制功能。 此协议采用了层次拓扑结构模式,每个路由器只需了解本地网络拓扑结构的详细 信息,而对于远端网络只了解概括信息。物理网络由LLN组成,LLN间用PL 相连。MPNNI采取分级逻辑结构,使无级的物理网络形成分级的逻辑网络。如 图4所示。图中物理层作为分级结构的最低层,并且分为PG(A.l)、 PG(A.2)、 PG(A.3)、 PG(A.4)、 PG(B.l)、 PG(B.2)、 PG(C)七个PG。最低层PG由交换机、 端站设备和路由器组成,这里的交换机中几乎不存储网络拓扑,它的主要功能之 一就是读取数据包中的向量地址并将其从相应端口转发出去。交换机和端站设备 称为本PG的"组员",只知道本PG中的详细拓扑。PG中的路由器在MPNNI 中作为PGL。路由器了解本组网络拓扑结构的详细信息,而对于远端网络只了 解概括信息。LGN是PG在上一级中的抽象表示。例如在图4中,LGNA.l就是 在高一级的PG(A)中代表PG(A.l), LGN A.2代表PG(A.2),等等,LGN在更高 一级又组成了PG。如图4所示,LGNA.l、 A.2、 A.3、 A.4组成了PG(A),直到 最高层对等组。除了高一级PG中的每个节点代表了一个低级的PG以外,高一 级的PG与最低级的PG并无性质上的不同。LGN的功能与其代表的PG中的PGL 的功能密切相关,实际上认为两者在同一系统中实现。例如,LGNA.l作为PG(A.l) 的抽象,其功能实际上就是在PG(A.1)的PGL即A丄3中执行。LGN A.2的功能 就是在PG(A.2)的PGL即A.2.3中执行;而由于A.2又是上一级PG(A)的PGL, 因此A.2.3还实现PG(A)中PGL的功能。由图4可以看出向量网体系结构的两个重要特征 一是PG(A.2)和PG(A.4) 中的所有节点在上级对等组中都分别"凝聚"成了一个逻辑组节点12和八.4; 二是PG(A2)和PG(A.4)之间有两条链路相连,但在上级对等组PG(A)中LGN A.2 和LGNA.4间只有一条逻辑链路来表示这种连接关系。这两个特征分别称为"节 点聚合"和"链路聚合",可以统称为"拓扑聚合"。这个特征秉承了 PNNI的思 想。PNNI协议继承了 OSPF协议的分级路由的思想,但其与OSPF最大的区别 在于每个路由器只需了解本地网络拓扑结构的详细信息,而对于远端网络只了解 概括信息,而不是记录详细拓扑。而向量网的MPNNI与PNNI—个重要的不同 之处就是对等组的组员不只是路由器,还有交换机和端站设备,而只有路由器储 存分层网络拓扑信息。这样使得网络具有很好的扩展性以及与PNNI相比之下小 得多的开销。向量网要支持多播,则PG中必须含有一个或多个MR, MR可能是支持多 播的PGL,也可能是PG内的备用路由器。 一个PG内也可能没有MR。 一个PG 是否含有MR,必须在上层代表本PG的LGN中反映出来。若PG中含有MR, 则LGN在上层对等组中就是一个逻辑上的MR。这称为"多播能力的聚合",这 种"聚合"和"链路聚合"、"节点聚合" 一样, 一直延伸到最高层PG。图4中灰色方框代表担任PGL的多播路由器和具有多播能力的并且担任 PGL的LGN,空心方框代表端站设备,灰色圆圈代表普通多播路由器和具有多 播能力的普通LGN,空心圆圈代表交换机和普通LGN,黑色圆圈代表担任PGL 的普通路由器。粗线代表不同逻辑层次上的多播分布树。本实施例在介绍多播路由方法之前,首先介绍一下向量网的建立和工作过 程,具体如下从建网到实现多播数据通信,向量网需要一系列的过程,包括人工建网过程、 通信网自动完成的组网过程、多播数据发送方发起的多播路由准备过程,和最终 的多播数据传送过程。人工建网过程包括建网、配置、加电,向量网自动完成 的组网过程包括PNNI树结构的生成、路由信息收集,多播路由过程包括多播分布树生成过程和源限定分段寻由过程。参见图4,为说明以上过程,做三个假设(1) 节点XMT为多播数据发送方。(2) 节点R0、 Rl、 R2、 R3、 R4、 R5、 R6和R7为多播数据接收方。(3) XMT欲实现对R0 R7的多播。 在以上假设条件下,向量网的工作过程说明如下。首先建网安装各个物理节点(LLN)设备,连接LLN之间的物理链路(PL), 建立起物理的通信网,与向量传送网相对应。对物理通信网的全体LLN分组, 每个组就是一个基层的对等组(PG),比如,A丄l、 A丄2、 A丄3、 XMT四个 LLN—起就构成PG(A.1)基层PG。全体基层PG进一步分组,形成更大的PG, 比如PG(A),如此逐级组织,使得最高层PG的LN数量少到一定程度为止,图 4中有三个a、 b和c。各PG之间组成树状组织结构关系,较高层次PG中的逻辑组节点(LGN) 代表较低层次的一个PG,最高层PG中的每个LN是一棵树,最高层PG是一个 森林,该PG没有首领节点PGL,也没有代表它的LN。其次,为每个LN,包括LLN和LGN,配置一个名字和竞选权值(LP)。要 求名字不能与同一组的LN以及代表本组的LGN重名。在转发设备出厂时设定每个LN的LP、每个LLN的每个端口的通信能力属 性等,加电后,用户可根据需要重新配置,但不能超出出厂值的限制。在以上人工安装和配置正确无误情况下,给所有电子设备加电,向量网开始 自动完成组网动作。向量网自动完成组网的过程具体如下-加电后,各电子设备开始工作,通过Hello Packet建立PNNI树结构,并收 集网络的物理拓扑结构信息,即路由信息,而且对这些信息自适应地不断更新, 使每个LP不为0的LN掌握全网的合理聚合的物理拓扑结构信息。这些过程与 说明多播路由没有直接关系,只要假设PNNI树结构已经建立好,路由信息也收 集完整,就可以说明多播路由方法,所以,在此把向量网自动完成组网动作的过 程省略。多播路由过程如下参见图4,在已知PNNI树结构条件下,XMT发起多播分布树生成过程。 步骤一XMT事先知道参与本次多播过程的多播路由器(MR)与接收方R0 R7的 名称地址。XMT通过这些名称地址呼叫各MR和接收方,得到它们的路由地址。 然后XMT根据得到的各MR的路由地址发起对各MR的寻由过程,便可获取从 自己到各MR的向量地址和路径代价Cost,通过比较Cost值,XMT可以确定与 某个MR之间的链路代价最小,这里假设这个MR是A.2.3。 XMT向A.2.3发送 "发起建立多播树过程"消息,告知A.2.3开始多播树的建立过程。该消息中包 含各MR的路由地址和XMT、 R0 R7的路由地址。A.2.3接到此消息之后,将 此消息转发给最高层逻辑组节点A,委托A发起最高层对等组中的多播分布树 的计算。步骤二A接到"发起建立多播树过程"消息后,首先需要判断在最高层对等组中有 哪些节点参与了多播过程。判断依据如下(1) A节点自己肯定参与多播过程;(2) 通过读取"发起建立多播树过程"消息中所包含的信息,可知R0 e PG(B.2) c PG(B) B R4 e PG(B. 1) c PG(B) o B R5 e PG(B. 1) c PG(B) B B丄4EPG(B.l)cPG(B)。 B R6EPG(C)oC R7EPG(C)oC C.2GPG(C)oCA通过以上判断可知最高层多播分布树是由A、 B、 C节点以及它们之间的 逻辑链路构成的。在确定了参与多播树运算的各节点之后,A开始运行Prim—Jam ik算法,计算出最高层对等组的多播分布树(如图5(a)所示),并将此树结构保 存在A中。A计算完最高层多播分布树之后,向B、 C发送"建立下层对等组多播树" 消息,消息中包含各MR的路由地址和XMT、 R0 R7的路由地址,同时A自 己也启动建立下层对等组多播树过程(这里可以认为A给自己发送了 "建立下 层对等组多播树"消息)。步骤三A、 B、 C收到"建立下层对等组多播树"消息后,分别向A.2、 B.l、 C.2 发送"发起建立所属对等组多播树过程"消息,委托下一层对等组首领A.2、 B.l、 C.2计算下层各对等组的多播分布树。PG(A):由对等组首领A.2运行算法,计算本对等组的多播分布树。 八.2接到"发起建立所属对等组多播树过程"消息后,首先需要判断在本对 等组中有哪些节点参与了多播过程。判断依据如下 XMTEPG(A.l)< A.l R1EPG(A.2) A.2 R2EPG(A-3)gA.3 R3EPG(A.4)oA.4 A.2.3GPG(A.2) A.2 A.3.5EPG(A.3)oA.3 A,4.iePG(A.4)oA.4A.2通过以上判断可知本对等组多播分布树是由A.l、 A.2、 A.3、 A.4节点 以及它们之间的逻辑链路构成的。A.2开始运行Prim一Jarnik算法,计算出本对 等组的多播分布树(如图5(b),用MST—PG(A)表示)。在计算过程中,会出现MDT的边跨越对等组的现象,遇到这种情况时,只须把其中一个PG当作 Prim-Jarnik算法的输入所包含的一个逻辑顶点,本例中,PG(B)在计算PG(A)的 MDT的过程中作为一个逻辑上的顶点B (在图中以虚线方框表示)参与运算。 A,2保存树形拓扑之后,采取如下动作(1) 向上层A节点发送"本对等组多播树成功建立"消息,此消息中包含 MST—PG(A)结构;(2) 向本对等组节点A.l、 A.2、 A.3、 A,4发送"建立下层对等组多播树" 消息,消息中包含各MR的路由地址和XMT、 R0 R7的路由地址。按同样方式,PG(B)和PG(C)中分别由各自对等组首领B.l和C.2完成多播 分布树MST—PG(B)和MST一PG(C)的计算,并执行类似动作。PG(A)、 PG(B)、 PG(C)分别计算完毕后,MST—PG(A)、 MST—PG(B)、 MST—PG(C)分别保存在A.2、 B.l和C.2中,而且它们分别被发送给了 A、 B、 C 节点,由于之前是A发送给B、 C "建立下层对等组多播树"消息,因此B、 C 分别将"本对等组多播树成功建立"消息发送给A, A再将消息中包含的 MST—PG(B)和MST一PG(C)封装到"委托拼接多播树"消息中发送给A.2,在A.2 中就可以拼接出一棵完整的逻辑上的多播分布树(如图5(c),用MST—MIDDLE 表示),MST—MIDDLE即为第二层的MDT,它存储在A.2中。步骤四-A.l、 A.2、 A.3、 A.4、 B.l、 B.2收到"建立下层对等组多播树"消息,消息 中包含各MR的路由地址和XMT、 R0 R7的路由地址。收到消息后,A.l、 A.2、A. 3、 A.4、 B.l、 8.2发送"发起建立所属对等组多播树过程"消息分别委托下一 层对等组中的多播节点XMT、 A.2.3、 A.3.5、 A.4.1、 B丄4、 R0计算下层各对等 组的多播分布树。而在这一层的各对等组中运行算法时就必须按照上层生成的多 播树进行。例如,PG(A.1)与PG(A.2)、 PG(A,4)有连接,但根据上层多播树(即 MST_MIDDLE)可知,A.1只与A.2有连接,所以在PG(A.l)中计算多播树时也 只考虑与PG(A,2)的连接。按与步骤三中同样的方式,XMT、 A.2.3、 A.3.5、 A.4.1、 B丄4、 R0分别完 成PG(A.l)、 PG(A.2)、 PG(A.3)、 PG(A.4)、 PG(B.l)、 PG(B.2)中多播分布树的计 算,计算结果分别用MST—PG(A,1)、MST—PG(A,2)、MST—PG(A.3)、MST—PG(B.l)、 MST^PG(B.2)表示。计算完毕后,MST—PG(A.1) MST—PG(A.4)、 MST—PG(B.1) MST_PG(B.2) 分别被包含在"本对等组多播树成功建立"消息中发送给各自上层节点11 八.4、B. 1 B.2,再由它们发送给A、 B;由于之前是A发送给B、 C "建立下层对等组多播树"消息,因此B、 C分别将"本对等组多播树成功建立"消息发送给A, A再将消息中包含的MST—PG(A.l) MST—PG(A.4)禾[l MST—PG(B.l) MST_PG(B.2)、 MST一PG(C)封装到"委托拼接多播树"消息中发送给A.2.3,在 A.2.3中就可以拼接出一棵完整的逻辑上的多播分布树(如图5(d),用MST—LOW 表示),MST—LOW即为最低层,也就是物理层的MDT。 步骤五A.2.3将生成的树结构MST一LOW封装在"成功生成全部多播树"消息中, 发送给XMT,由XMT根据树结构开始分段源限定分段寻由过程。以上例可看出,整个过程是递归进行的,虽然各逻辑层级的顶点所代表的含 义不同,但是不影响Prim一Jarnik算法的结果,并且上层的MDT会减少下层计 算MDT时的算法输入量。换句话说,在上层算法输出中未包含的逻辑链路和逻 辑节点,它们对应的下层逻辑链路和逻辑节点(可能是物理链路和物理节点)将 不会包含在本层的算法输入中。完成多播分布树生成过程之后,多播数据发送方根据树结构,启动源限定分 段寻由过程,参见图3,源限定分段寻由过程如下首先,多播数据发送方XMT发出寻由包mrINVITE,寻由包沿着多播分布 树先到达各MR,然后根据R0 R7的路由地址进行寻由,得到路径代价 (CostList)以及MR与R0 R7之间的双向向量地址。多播数据接收方R0 R7收到寻由包后,分别向MR返回寻由回应包mr200, 传递从MR到R0 R7的路径代价和向量地址。MR通过寻由回应包mr201将从MR到R0 R7的路径代价和向量地址传递 给XMT。 XMT根据从自己到MR的向量地址与从MR到R0 R7的向量地址构 成从自己到R0 R7的向量地址。最后XMT发送寻由确认包mrACK给R0 R7确认路径。源限定分段寻由过程结束之后,数据包中的多播地址项形成,XMT便可以 通过MR向R0 R7多播数据。图3是源限定分段寻由过程的握手示意图,SNDR发出mrINVITE, mrINVITE 先到达各MR再发往各RCVR,各RCVR向各MR回应mr200,各MR向SNDR 回应mr201 , SNDR最后用mrACK确认通信路径。以上所述的实施例,只是本发明较优选的具体实施方式
,本领域的技术人员 在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围 内。
权利要求
1.一种向量数据通信网上实现多播路由的方法,其特征在于,所述方法包括以下步骤步骤A多播数据发送方生成到各多播数据接收方的多播分布树;步骤B所述多播数据发送方根据多播分布树结构对各多播数据接收方进行源限定分段寻由,获得多个向量地址;步骤C所述多播数据发送方整合多个向量地址形成多播地址项,完成多播路由过程,将所述多播地址项作为目标地址放入多播数据包中,即可发往所述各多播数据接收方,达到多播数据传送的目的。
2. 如权利要求1所述的向量数据通信网上实现多播路由的方法,其特征在 于,所述步骤A具体包括步骤Al:所述多播数据发送方事先知道参与本次多播过程的各多播路由器 和各多播数据接收方的名称地址,通过所述名称地址呼叫所述各多播路由器和所 述各多播数据接收方,得到它们的路由地址;步骤A2:所述多播数据发送方根据得到的所述各多播路由器的路由地址发 起对所述各多播路由器的寻由过程,获得从自己到所述各多播路由器的向量地址 和路径代价,通过比较路径代价值,所述多播数据发送方可以确定与某个多播路 由器之间的路径代价最小;步骤A3:所述多播数据发送方向所述路径代价最小之多播路由器发送所述 各多播路由器的路由地址和所述多播数据发送方、所述各多播数据接收方的路由 地址,"委托"所述路径代价最小之多播路由器计算多播分布树;步骤A4:所述接受"委托"的多播路由器分布式递归计算多播分布树,并 将计算结果发送给所述多播数据发送方。
3. 如权利要求1所述的向量数据通信网上实现多播路由的方法,其特征在 于,所述步骤B具体包括步骤Bl:所述多播数据发送方根据多播分布树结构开始进行源限定分段寻 由,它生成寻由消息,所述寻由消息沿着多播分布树先到达各多播路由器,然后 根据各多播数据接收方的路由地址进行寻由,得到路径代价以及所述多播路由器 与所述多播数据接收方之间的双向向量地址;步骤B2:各多播数据接收方收到所述寻由消息后,向所述多播路由器发出寻由回应消息,所述寻由回应消息中包括从所述多播路由器到所述多播数据接收方的路径代价和向量地址;步骤B3:所述多播路由器收到所述寻由回应消息后,将其中的从所述多播 路由器到所述多播数据接收方的路径代价和向量地址发送给所述多播数据发送 方,所述多播缚据发送方根据从自己到所述多播路由器的向量地址和从所述多播 路由器到所述多播数据接收方的向量地址构成从自己到所述多播数据接收方的 向量地址;步骤B4:所述多播数据发送方保存从自己到各多播数据接收方的路径代价 和向量地址,并发送寻由确认消息给所述各多播数据接收方。
4.如权利要求1所述的向量数据通信网上实现多播路由的方法,其特征在 于,所述多播地址项为树状向量地址,所述树状向量地址是专门为多播向量网设 计的一种特别的向量地址格式,多播数据包通过多播分布树分叉时,多播路由器 会按照多播地址项读取与自己端口相关的向量地址,然后复制转发数据包。
全文摘要
本发明提供了一种向量数据通信网上实现多播路由的方法,属于数据通信网领域。所述方法包括多播数据发送方生成到各多播数据接收方的多播分布树;所述多播数据发送方根据多播分布树结构对各多播数据接收方进行源限定分段寻由,获得多个向量地址;所述多播数据发送方整合多个向量地址形成多播地址项,完成多播路由过程,将所述多播地址项作为目标地址放入多播数据包中,即可发往所述各多播数据接收方,达到多播数据传送的目的。采用本发明提供的技术,有效地实现了向量数据通信网上的多播路由。
文档编号H04L29/06GK101222511SQ200810056850
公开日2008年7月16日 申请日期2008年1月25日 优先权日2008年1月25日
发明者军 吴, 张金鑫, 梁满贵, 赵阿群 申请人:北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1