Ip网络中基于虚拟分发网的多播传送方法

文档序号:7693183阅读:121来源:国知局
专利名称:Ip网络中基于虚拟分发网的多播传送方法
技术领域
本发明属于计算机通信技术领域,特别涉及IP网络中的多播(Multicast)传送方法。
技术背景多播是一种有效的点到多点或多点到多点传送方法。目前,IP网络中提供的主要业务, 如信息检索,电子邮件,即时通信等,都是建立数据包的单播传送(即点到点传送)技术 之上。而许多新兴的业务,如Internet电视(即IPTV)、大型网络会议、大型分布式仿真 等,涉及到大量计算机的同时交互,如果仍然采用单播,将浪费大量网络带宽资源,并且 性能难以保证。而多播提供了一种有效的点到多点以及多点到多点传送机制,是这些业务 顺利开展的关键。为了支持IP网络上的多播,人们提出了许多方案,其中目前得到应用的方案主要有两 种IP多播和应用层多播。但是,IP多播存在一系列部署和应用上的难题如不具备可 渐进部署的能力,多播业务的不可管理和控制,域间多播不具备可扩展性等等,这些问题 限制了 IP多播的大规模部署及应用。另一方面,应用层多播又难以满足未来多播业务的 需要,如对高速实时视频广播业务的支持。因此,仍然需要研究新的网络层多播方法。针对现有IP多播方案存在的问题,本专利的发明人提出了一种"IP网络中基于虚拟 分发网的多播传送方法"并申请专利(申请号为200710099365. 4)。这种方法如下首先, 在网络中为每个多播会话建立一个虚拟分发网;所述的虚拟分发网由IP网络中的多个节点通过虚链路连接而成,其中,该节点包括参与多播会话的所有用户主机和选定的其他节 点;由虚链路连接的两个节点互称为对方的虚邻居;该虚拟分发网具有一个唯一的IP地 址标识,用来区分一个IP网络中的多个虚拟分发网;虚拟分发网上的每个节点建立并维 护一个分发表,其中每个表项至少包括虚拟分发网的标识、虚邻居列表、控制数据包在 虚邻居之间的转发权限标志集合;然后,在虚拟分发网中,发送主机发送业务数据时,将 接收主机的IP地址设置为虚拟分发网的IP地址标识;虚拟分发网上的每个节点对IP数 据包进行分发,直到IP数据包被传送到虚拟分发网中的所有接收主机。上述专利发明具 有许多优点,如支持网络层多播的逐步部署、更好地适应网络结构的动态变化、支持多播 数据包的双向传送,并提供了一种简单有效的多播传送控制方法。这些优点有利于网络层 多播的部署。但是,上述多播方案存在一个问题分发表的配置存在可扩展性方面的问题,这主要 是由于采用转发权限标志集合来控制多播数据包的传送引起的。正如在该专利(申请号为 200710099365.4)的实施方案中所描述的,每个转发权限标志集合可用一个NXN的矩阵来表示,其中N是当前节点在虚拟分发网上的虚邻居的个数,当该虚邻居的个数较少时, 对转发权限标志集合的配置比较简单,当虚邻居的个数较多时,则需要配置大量的转发标 志,并且该转发权限标志集合也将占用较多的存储空间,例如,当N-20,则需要配置20 X20二400个标志, 一个表项中光转发权限标志所占用的存储空间就大于50个字节,如果 N的数目为30,则需要配置30X30=900个标志,一个表项中光转发权限标志所占用的存 储空间就大于110个字节。当虚拟分发网的规模非常大时(比如上万个节点),无论是通 过手工方式还是通过协议来配置这些节点上的分发表均较为复杂,因此,基于转发权限标 志集合的虚拟分发网存在扩展性问题。此外,还需要添加一定的机制来保证转发权限标志集合的正确性。转发权限标志集合 是引导着多播数据包从发送用户主机到达所有接收用户主机,当转发权限标志配置是正确 的,那么多播数据包能够正确传送,但是,如果转发权限标志集合在配置上出现问题,则 会导致多播数据包的传送故障,例如出现回环(Loop),即数据包在网络中被反复传送。 因此,在该传送方法上还需添加额外的机制,以保证转发权限标志集合配置的正确性。为了解决上述两个问题,我们需要研究新的虚拟分发网结构以及基于这种虚拟分发网 的多播传送方法。发明内容本发明的目^是为克服已有技术的不足之处,提出了一种简化的虚拟分发网结构以及 新的基于这种虚拟分发网的多播传送方法,该方法在维持原有方法优点的基础上,进一步 简化了虚拟分发网的配置过程,有利于支持大规模的多播应用并保证多播数据包的正确传 送。本发明提出的IP网络中的多播传送方法,其特征在于,该方法是基于虚拟分发网的多 播传送方法,包括首先,在IP网络中为每个多播会话'建立一个虚拟分发网;所述的虚 拟分发网由多个虚拟分发网节点通过虚链路连接而成,所述的多个虚拟分发网节点至少包 括所有参加多播会话的用户主机和l个具有多播功能的路由器节点,所述的虚链路是指连 接虚拟分发网节点的逻辑传送通道,由虚链路连接的两个节点互称为对方的虚邻居;虚拟 分发网具有一个唯一的虚拟分发网标识,用来区分一个IP网络中的多个虚拟分发网;在 该虚拟分发网的部分节点或全部节点上建立并维护一个分发表,所述的部分节点至少包括 虚拟分发网上的所有路由器,所述的分发表由l个或l个以上分发表项组成,其中的每个 分发表项对应着一个虚拟分发网且至少包括下述内容虚拟分发网标识、1个或1个以上 虚邻居的IP地址;然后,在该虚拟分发网上,发送用户主机采用广播方式将多播数据包 传送到所有接收用户主机。与原有的基于虚拟分发网的多播传送方法相比较,本发明保持了原有方法的优点,如 支持多播的渐进部署,支持多播数据包的双向传送,支持对多播传送过程的控制等,此外, 本发明的其他有益效果包括-简化了虚拟分发网的配置过程,有利于支持大规模多播应用。在这种虚拟分发网上, 每个分发表只要在各节点之间确定虚邻居关系即可建立起虚拟分发网,不必配置每个节点 的转发权限标志集合。这将大大简化虚拟分发网的配置过程,不论是通过手工配置,还是 通过协议动态进行配置,有利于支持大规模的多播应用。保证多播数据包的正确传送。在本专利中,采用虚拟分发网上的广播来实现Internet 上的多播,无论采用哪种广播机制(扩散法,或生成树等),都可充分保证多播数据包从 发送用户主机正确传送到接收用户主机。


图1为本发明方法的实施例网络以及虚拟分发网V0的示意图。图2为本发明方法的虚拟分发网VO上各节点的分发表的示意图。图3为本发明方法的多播数据包的传送过程的示意图(发送主机H1,扩散法)。图4为本发明方法的虚拟分发网VO上的单个生成树的示意图。图5为本发明方法的虚拟分发网VO上各节点的分发表的示意图(单个生成树)。图6为本发明方法的多播数据包的传送过程的示意图(发送主机H1,生成树,单向)。图7为本发明方法的多播数据包的传送过程的示意图(发送主机H4,生成树,双向)。图8为本发明方法的虚拟分发网VO上的两个生成树的示意图。图9为本发明方法的虚拟分发网VO上各节点的分发表的示意图(两个生成树)。图10为本发明方法的多播数据包的传送过程的示意图(发送主机H4,生成树,双向)。图11为本发明方法的对每个用户主机的收发进行控制的示意图。图12为本发明方法的路由器上各虚邻居的收发权限的设置的示意图。图13为本发明方法的实施例网络以及虚拟分发网VI的示意图。
具体实施方式
本发明的方法结合附图及实施例详细说明如下本发明方法的一种实施例的ip网络结构如图i所示。该实施例网络由七台主机(m H7)和七台路由器(R1 R7)组成。在该实施例网络中,假定四台主机(主机Hl,主机 H2,主机H4,主机H5)之间开展一次视频会议多播会话S。以下内容描述了在这个IP网 络中实施本发明方法的过程。这些描述只是示意性的说明本发明,而不应被视作对本发明 内容的限制。本实施例的网络是采用IP协议的网络,目前,IP协议有两个版本,IPv4和IPv6,该 多'播传送方法可同时适用于IPv4网络或IPv6网络。本实施例中的网络采用IPv4协议加 以说明。本实施例的方法主要包括以下步骤首先,为多播会话S建立一个虚拟分发网VO,如图1所示。该虚拟分发网VO由参加多播会话S的四个用户主机节点(H1, H2, H4, H5)和三个具有多播功能的路由器节点(Rl, R3, R7)通过虚链路连接而成。由虚链路连接的两个节点互称为对方的虚邻居,因此,在 该虚拟分发网上,路由器R1有三个虚邻居(Hl, R3, R7),路由器R3也有三个虚邻居(Rl, H2和R7),路由器R7有四个虚邻居(Rl, R3, H4, H5),用户主机Hl只有一个虚邻居Rl; 用户主机H2只有一个虚邻居R3,用户主机H4和H5的虚邻居均为R7。在该IP网络中,为虛拟分发网V0分配一个唯一的虚拟分发网标识,该标识可以用来 区分VO与在此IP网络之中建立的其他虚拟分发网。在本实施例中,采用虚拟分发网上路 由器Rl的单播IP地址来标识V0,方法是在路由器Rl上添加一个虚拟网络接口,并为 其分配一个单播IP地址(166.111.64.2),然后将此IP单播地址作为虚拟分发网VO的标 识。在这种情况下,路由器R1被称为虚拟分发网V0的主节点。在虚拟分发网上V0的每个节点都设置一个分发表,分发表中的每个表项都对应着该节 点加入的一个虚拟分发网,并包括以下内容虛拟分发网的标识,1个或多个虚邻居的IP 地址。图2给出了虚拟分发网上各个节点的分发表,各子图a、 b、 c、 d、 e、 f、 g分别为 主机H1、主机H2、主机H4、主机H5、路由器R1、路由器R3、路由器R7的分发表。这里 假定此IP网络中只有一个虚拟分发网V0,因此,每个分发表中都只含有一个分发表项。 上述分发表可以通过手工建立或协议自动建立, 一旦这些节点上的分发表设置完成,即意 味着虚拟分发网建立成功。需要指出的是,当用户主机只作为接收主机时,其上的分发表 可以省略,因为该用户主机不需要再将多播数据包发给虚拟分发网上的其他虚邻居,因此, 虚拟分发网上的部分用户主机可不必设置分发表。然后,在该虚拟分发网VO上,发送用户主机采用广播方式将多播数据包传送到所有接 收用户主机。为了实现多播数据包在虚拟分发网V0上的广播,常用的两种广播方法是扩 散法或生成树法,分别介绍如下(I)扩散法假定发送用户主机为Hl, Hl直接将多播数据包发送给其在虚拟分发网 V0上的虚邻居R1,该多播数据包的源地址为Hl的IP地址,目的地址为Rl的IP地址, 同时,在该数据包的头部,以IP选项或新协议头的方式嵌入以下信息虚拟分发网的标 识,发送用户主机的地址以及发送多播数据包的序号。这里,假定是发送的多播数据包是 第l个,即其发送序号为l。虚拟分发网的每个路由器节点需要在分发表中的对应表项中添加以下信息发送用户 主机H1的IP地址以及已接收的来自Hl的多播数据包的最大序号。这里为简单起见,假 定这些最大序号的初始值均为0。当虛拟分发向上的任意路由器节点从其某个虚邻居接收到一个多播数据包时,处理过程如下该路由器节点首先从该数据包的包头提取出虚拟分发网标识并查询分发表,找到该虚拟分发网所对应的分发表项;然后,该路由器在该分发表项中找出与该多播数据包的 发送用户主机所对应的已接收的多播数据包的最大序号,并将其与该多播数据包中的发送序号相比较如果该多播数据包的发送序号大于已接收的最大序号,则意味着路由器没有转发过该多播数据包,路由器一方面将其转发给除发送该多播数据包的虚邻居之外的所有 其他虚邻居,另一方面将已接收的最大序号调整为多播数据包的发送序号;否则,如果该 多播数据包的发送序号小于或等于己接收的最大序号,意味着路由器已转发过该多播数据 包,则路由,丢弃该多播数据包。按照上^的处理过程,路由器R1收到来自虚邻居H1的多播数据包时,发现多播数据 包的序号(为1)大于与发送用户主机Hl对应的已接收的最大序号(0),因此,路由器 Rl将其传送给除发送该多播数据包的虚邻居之外的所有其他虚邻居(路由器R3和路由器 R7),数据包的源地址切换为Rl,目的地址切换为R3或R7,其他头部信息不变;此外, 路由器Rl更新与Hl对应的已接收的最大序号为1。这里,本发明假定实际网络中每段物理链路的延时是相同的,因此,Rl发出的多播数 据包将先到达路由器R3。 R3发现多播数据包的序号(为1)大于与发送用户主机H1对应 的已接收的最大序号(0),因此,路由器R3将其传送给除发送该多播数据包的虚邻居之 外的所有其他虚邻居(主机H2和路由器R7),数据包的源地址切换为R3,目的地址切换 为H2或R7;此外,路由器R3更新与H1对应的已接收的最大序号为1。 '随后,路由器R7也收到来自虚邻居R1的多播数据包。R7发现多播数据包的序号(为 1)大于与发送用户主机Hl对应的已接收的最大序号(0),因此,路由器R7将其传送给 除发送该多播数据包的虚邻居之外的所有其他虚邻居(主机H4和主机H5和路由器R3), 数据包的源地址切换为R7,目的地址切换为H4或H5或R7;此外,路由器R7更新与Hl 对应的已接收的最大序号为1。此后,路由器R7也收到了来自虚邻居R3的多播数据包。R7发现多播数据包的序号(为 1)等于与发送用户主机H1对应的已接收的最大序号(1),因此,R7直接将该多播数据包 丢弃。同理,当路由器R3收到来自虚邻居R7的重复多播数据包时,也会将其丢弃。经过上述的过程,多播数据包上已经被传送到所有其他用户主机,用户主机H2、 H4和 H5。上述多播数据包的扩散过程如图3所示。(II)生成树法一单棵树先建立一棵连接了虚拟分发网上所有节点的生成树,称 之为虚拟分发网的分发树,然后发送主机可沿着这颗分发树传送到虚拟分发网上的所有接 收用户主机。一种建立分发树的方法是首先,选择」个根节点;然后从根节点发送一个控制分组 向整个虚拟分发网扩散;对于虚拟分发网的某个接收到该控制分组的节点来说,如果第一 次从其虚邻居收到该控制分组,就将发送该控制分组的虚邻居标记为上游虚邻居,将其他 虚邻居标记为树外虚邻居,然后该节点向上游虚邻居发送确认信息(上游节点在收到该确 认'消息之后将该节点标识为下游虚邻居),同时将该控制分组传送给除该上游虚邻居之外 的所有其他虚邻居;如果该控制分组不是第一次收到,则将其丢弃。这样, 一旦控制分组 扩散到整个虚拟分发网,则每个节点的上下游节点均已确定,也即建立了一棵分发树。这里设以R1为根节点的分发树如图4所示,其中,分发树上的链路用粗虚线标示,其^il不属于分发树的链路用细虚线标示(两张子图(a)、 (b)是一样的,不过调整了一下显示 效果)。在该分发树的每个节点上,都需要标记其虚邻居是上游虚邻居还是下游虚邻居, 并将既不是上游虚邻居也不是下游虚邻居的虚邻居标记为树外虚邻居(在具体实现时可用 2个比特来标示,如00代表上游虚邻居,Ol代表下游虚邻居,lx代表树外虚邻居)。将标 记的结果保存到分发表中的相应表项,如图5所示。各子图a、 b、 c、 d、 e、 f、 g分别为 主机H1、主机H2、主机H4、主机H5、路由器R1、路由器R3、路由器R7的分发表。在建立该分发树后,任意用户主机均可采用这棵分发树来传送多播数据包。这里,又 存在两种传送方式单向传送方式和双向传送方式,举例如下 (2a)单向传送方式假定发送用户主机为Hl。 Hl可以采用单向传送方式将多播数据包沿分发树传送给所有 接收主机,详细的传送过程如下Hl首先将多播数据包发送给分发树的根节点Rl,多播数据包的源地址为Hl的地址, 目的地址为虚拟分发网V0的标识。由于虚拟分发网的标识即为路由器Rl的单播IP地址, 因此,该数据包被送到R1。 'Rl接收到该多播数据包后,根据其目的地址可以判断该数据包要发往虚拟分发网V0, 因此,Rl查找自己的分发表,找到与虚拟分发网VO对应的分发表项,获得R1的下游虚邻 居用户主机H1,路由器R3和路由器R7。 Rl从分组的源地址可以知道该多播数据包来自 用户主机H1,因此,Rl将多播数据包直接转发给其他的下游虚邻居路由器R3和路由器 R7。R1发送给路由器R3的数据包的源地址为R1,目的地址为R3,此外,Rl还需要将虚拟 分发网标识以一个IP选项(IP Option)或新协议头的方式插入到多播数据包的头部。显 然,该数据包将被路由到R3。 R3接收到该数据包,可以从多播数据包的头部提取出虚拟 分发网标识,然后査找分发表,找到该虚拟分发网标识所对应的分发表项,并从表项中提 取其下游虚邻居H2,最后R3将多播数据包发送给用户主机H2,其中多播数据包的源地址 切换为R3,目的地址切换为H2。同样,R1将数据包发送给R7的处理过程类似。当R7在收到该多播数据包后,将其进 一步发送给其下游虚邻居用户主机H4和用户主机H5。这样,Hl发出的多播数据包沿分发树到达了虚拟分发网上的所有其他用户主机(H2、 H4和H5),上述传送过程如图6所示。 (2b)双向传送方式发送用户主机也可以采用双向传送方式将多播数据包发送给其他所有用户主机,这里, 假'定采用双向传送方式的发送用户主机为H4。发送用户主机H4首先将多播数据包发送给自己的上游虚邻居R7,该多播数据包的源 地址为H4的地址,目的地址为R7的地址,此外,H4还需将虚拟分发网标识以一个IP选 项(IP Option)或新协议头的方式插入到多捧数据包的头部。当R7收到该多播数据包后,可以从多播数据包的头部提取出虚拟分发网标识,然后查找分发表,找到该虚拟分发网标识所对应的分发表项,并从表项中提取其上游虚邻居和下游虚邻居,其中上游虚邻居为Rl, 下游虚邻居为R4和R5。由于该多播数据包来自下游虚邻居R4,因此,路由器R7将该多 播数据包发送给其他虚邻居Rl和R5。 R7发送给Rl的多播数据包的源地址为R7,目的地 址为Rl,此外,R7还需要将虚拟分发网的标识以一个IP选项(IP Option)或新协议头 的方式插入到多播数据包的头部。当路由器Rl收到该多播数据包时,判断该多播数据包 来自于其下游虚邻居R7,因此,路由器Rl将该多播数据包发送给其他的下游虚邻居路 由器R3和用户主机H1。同理,路由器R3在接收到多播数据包后,将其转发给其下游虚邻 居H2。这样,多播数据包即由用户主机H4传送到所有其他用户主机H1、 H2和H5。上述 传送过程如图7所示。(III)生成树法 一 多棵树在上述单向传送或多向传送中,所有发送用户主机都是通过一棵分发树来将多播数据 包传送到虚拟分发网上的所有其他节点。本实施例可以在一个虚拟分发网上建立多个分发 树,让不同的发送用户主机选择不同的分发树,来改善分组的传送性能。图8给出了在虚 拟分发网上建立的两个分发树,其中,子图8(a)是前述的以Rl为根节点的分发树T0,子 图8(b)是以R7为根节点的分发树Tl,其中,分发树上的链路用粗虚线标示,其他不属于 分发树的链路用细虚线标示。图9给出了保存了各节点上的分发表,其中各子图a、 b、 c、 d、 e、 f、 g分别为主机 Hl、主机H2、主机H4、主机H5、路由器R1、路由器R3、路由器R7的分发表。为了区分 属于同一个虚拟分发网上的不同分发树,需要给每个分发树分配一个标识, 一个简单的方 法是按照分发树建立的先后次序,如给T0的标识为0,给T1的标识为1,依此类推。对 于虚拟分发网上的每个节点来说,需要分别标记出分发树T0和Tl的上游虚邻居和下游虚 邻居。对于发送用户主机H4来说,首先选择一个分发树。由于分发树T1的根节点较TO的根 节点离发送用户主机H4更近,因此,H4选择分发树T1可以改善分组的传送性能。在选择 分发树后,发送用户主机仍然可以选择是釆用单向传送方式还是双向方式来传送多播数据 包,这里假定H4采用双向传送方式来传送多播数据包发送用户主机H4将多播数据包发送给自己在T1上的上游虚邻居,即路由器R7,其中, 多播数据包的源地址为H4的地址,目的地址为R7的地址,同时将虚拟分发网的标识及所 采用的分发树T1的标识保存到多播数据包的头部(采用IP选项或新的协议头)。R7接收 到该多播数据包后,从多播数据包头部提取虚拟分发网标识,找到对应的分发表项,然后 提敢分发树的标识,找到T1对应的上下游虚邻居共有4个下游虚邻居,分别是R1、 R3、 H4和H5。由于该多播数据包来自于H4, R7将其传送给所有其他的下游虚邻居Rl、 R3和 H5。 R7发送给Rl及R3的多播数据包的源地址为R7,目的地址分别为Rl和R3,同时将虚 拟分发网的标识及所采用的分发树T1的标识保存到多播数据包的头部(采用IP选项或新的协议头)。当R1接收到该多播数据包后,将其传送给分发树T1上的下游虚邻居H1。当 R3接收到该多播数据包后,将其传送给分发树T1上的下游虚邻居H2。上述传送程如图IO 所示。可以对比图10和图7,显然,发送用户主机H4采用分发树T1来传送多播数据包时 可以比采用分发树TO来传送节省延时。在上述实施例中,虚拟分发网V0的拓扑为一个网状,本发明方法也可以直接建立一个 树状的虚拟分发网,即建立的虚拟分发网即为一个虚拟分发树,在这种情况下,发送用户 主机可以直接利用该虚拟分发树来传送多播数据包,就不需要在虚拟分发网上建立生成树 的过程,其多播数据包的传送过程与生成树法(单棵)中的传送过程类似,不再赘述。为了控制用户主机的发送和接收,虚拟分发网上的每个路由器节点可以为每个虚邻居 设置两个权限标志(分别占用1个比特)节点从该虚邻居接收数据包的权限和节点向该 虚邻居发送数据包的权限。假定多播传送控制要实现的目标是用户主机H4可以采用双 向传送方式发送多播数据包,其他用户主机均禁止发送;用户主机H2不允许接收,其他 用户主机均可以接收,该控制目标如图ll所示。为实现上述目标,可以设置路由器R1, R3和R7上分发表中的权限标志,如图12所示,各子图a、 b、 c分别为路由器'Rl、路由 器R3、路由器R7的分发表,其中"可收"表示节点仅可从该虚邻居接收数据包,"可发" 表示节点仅可以向该虚邻居发送数据包,"可收发"表示节点既可以从该虚邻居接收数据 包又可向该虚邻居发送数据包,"禁收发"表示节点不可以从该虚邻居接收数据包且不可 向该虚邻居发送数据包。在上述实施方案中,虚拟分发网的标识是用一个IP单播地址来标识的,由IP单播地 址分配的全网唯一性即可保证虚拟分发网的标识在IP网中的唯一性,当然,虚拟分发网 还可以用其他方式来标识,比如用一个IP多播地址甚至新的标识符,只要这种标识方式 能够保证在IP网络中区分各虚拟分发网。对于一个多播会话S来说,除了为其建立上述的虚拟分发网V0之外,还可以再建立备 份的1个或多个虚拟分发网。举例来说,可以建立一个备份用的虚拟分发网VI,如图13 所示,该虚拟分发网由参加多播会话S的四个用户主机(Hl, H2, H4和H5)和一个路由 器R1组成,所有用户主机有且仅有一个虚邻居,即路由器R1。路由器R1同样为虚拟分发 网V1的主节点,在路由器R1再建立一个新的虚拟网络接口并分配一个单播地址,用来标 识虚拟分发网VI。当虚拟分发网V0无法工作时,比如路由器R7的多播转发功能出现故障, 那么发送主机Hl可以选择虚拟分发网VI来传送多播数据包。
权利要求
1、一种IP网络中的多播传送方法,其特征在于,该方法是基于虚拟分发网的多播传送方法,包括首先,在IP网络中为每个多播会话建立一个虚拟分发网;所述的虚拟分发网由多个虚拟分发网节点通过虚链路连接而成,所述的多个虚拟分发网节点至少包括所有参加多播会话的用户主机和1个具有多播功能的路由器节点,所述的虚链路是指连接虚拟分发网节点的逻辑传送通道,由虚链路连接的两个节点互称为对方的虚邻居;虚拟分发网具有一个唯一的虚拟分发网标识,用来区分一个IP网络中的多个虚拟分发网;在该虚拟分发网的部分节点或全部节点上建立并维护一个分发表,所述的部分节点至少包括虚拟分发网上的所有路由器,所述的分发表由1个或1个以上分发表项组成,其中的每个分发表项对应着一个虚拟分发网且至少包括下述内容虚拟分发网标识、1个或1个以上虚邻居的IP地址;然后,在该虚拟分发网上,发送用户主机采用广播方式将多播数据包传送到所有接收用户主机。
2、 如权利要求1所述的多播传送方法,其特征在于,所述在虚拟分发网上,发送用户 主机采用广播方式将多播数据包传送到所有接收用户主机的方法为扩散法,具体包括发 送用户主机向它的所有虚邻居发送多播数据包,所述的多播数据包中包含了该数据包的发 送序号;虚拟分发网上的每个节点在接收多播数据包后,判断是否已经接收到来自同一个 发送用户主机的相同序号的多播数据包,如果已收到,则丢弃该多播数据包,如果未收到, 则该节点将该多播数据包转发给除发送该数据包的虚邻居之外的所有其他虚邻居,直到该 多播数据包被传送到虚拟分发网中的所有接收用户主机。
3、 如权利要求1所述的多播传送方法,其特征在于,所述在虚拟分发网上,发送用户 主机采用广播方式将多播数据包传送到所有接收用户主机的方法为生成树法,具体包括 首先,在该虚拟分发网上,建立一棵连接虚拟分发网上所有节点的分发树;所述的分发树 的根节点为任意一个虚拟分发网节点;在所述的分发树上的两个相邻的虚拟分发网节点之 间形成上下游关系,虚拟分发网节点将分发树上靠近根节点的虚邻居标记为上游虚邻居, 将远离根节点的虚邻居标记为下游虚邻居;然后,在所建立的分发树上,发送用户主机采 用单向传送方式或双向传送方式将多播数据包传送给所有接收主机;所述的单向传送方式为发送用户主机首先将多播数据包发送给分发树的根节点,然 后从根节点开始,每个接收多播数据包的虚拟分发网节点将其转发给其下游虚邻居,直到 该多播数据包被传送到虚拟分发网的所有接收用户主机;所述的双向传送方式为发送用户主机将多播数据包直接发送给自己的上游虚邻居及 所有下游虚邻居,每个接收多播数据包的虚拟分发网节点将其转发给分发树上除了发送该 多播数据包的虚邻居之外的其他上下游虚邻居,直到该多播数据包被传送到虚拟分发网的 所有接收用户主机。
4、 如权利要求3.所述的多播传送方法,其特征在于,还包括在该虚拟分发网中建立l个以上的分发树;每个分发树具有不同的根节点;每个分发树均拥有一个唯一的分发树标 识,用来区分同一个虚拟分发网上的不同分发树;每个虚拟分发网节点上标记出每个分发 树所对应的上游虚邻居和下游虚邻居;发送用户主机选择其中一个或多个分发树来传送多 播数据包到所有接收用户主机。
5、 如权利要求1所述的多播传送方法,其特征在于,所述的虚拟分发网构成一棵虚拟 分发树,虚拟分发网节点均为该虚拟分发树的节点,该虚拟分发树的根节点是任意一个虚 拟分发网节点,虚拟分发网上虚链路连接的两个节点在该虚拟分发树上形成上下游虚邻居 关系;在所述虚拟分发网上发送用户主机采用广播方式将多播数据包传送到所有接收用户 主机的方法如下发送用户主机采用单向传送方式或双向传送方式将多播数据包传送给所 有接收主机;所述的单向传送方式为发送用户主机首先将多播数据包发送给虚拟分发树的根节点, 然后从根节点开始,每个接收多播数据包的虚拟分发网节点将其转发给其下游虚邻居,直 到该多播数据包被传送到虚拟分发网的所有接收用户主机;所述的双向传送方式为发送用户主机将多播数据包直接发送给自己的上游虚邻居及 所有下游虚邻居,每个接收多播数据包的虚拟分发网节点将其转发给虚拟分发树上除了发 送该多播数据包的虚邻居之外的其他上下游虚邻居,直到该多播数据包被传送到虚拟分发 网的所有接收用户主机。
6、 如权利要求l、 2、 3、 4或5所述的多播传送方法,其特征在于,所述的分发表项 中还包括该节点从每个虚邻居接收数据包的权限;在多播数据包的传送过程中,虚拟分发 网上的每个节点在收到来自某个虚邻居的多播数据包后,先要检查其从该虚邻居接收数据 包的权限,如果权限许可,则对该数据包进行传送,否则,丢弃该数据包。
7、 如权利要求l、 2、 3、 4或5所述的多播传送方法,其特征在于,所述的分发表项 中还包括该节点向每个虚邻居发送数据包的权限;在多播数据包的传送过程中,虚拟分发 网上的每个节点在将多播数据包发送给某个虚邻居之前,先检查其向该虚邻居发送数据包 的权限,如果权限许可,则可以向该虚邻居发送多播数据包,否则,不发送该数据包。
8、 如权利要求l、 2、 3、 4或5所述的多播传送方法,其特征在于,所述的虚拟分发 网标识用一个IP多播地址来表示,或者用虚拟分发网上任意一个节点的IP单播地址来表 示。
9、 如权利要求l、 2、 3、 4或5所述的多播传送方法,其特征在于,还包括在IP网络 中为每个多播会话建立1个以上的虚拟分发网,这些虚拟分发网的节点均包括了参加该多 播会话的所有用户主机,但包括不同的路由器节点集;发送用户主机选择其中的一个或多 个虛拟分发网来传送多播数据包到所有接收用户主机。
全文摘要
本发明涉及IP网络中的多播传送方法,属于计算机通信技术领域。该方法包括,首先在IP网络中为每个多播会话建立一个虚拟分发网,该虚拟分发网由所有参加多播会话的用户主机及具有多播功能的路由器通过虚链路连接而成,并具有唯一的虚拟分发网标识;然后,在该虚拟分发网上,发送用户主机采用广播方式将多播数据包传送到所有接收用户主机。本发明一方面保持了原有基于虚拟分发网的多播传送方法的优点,如支持网络层多播的逐步部署,支持多播数据包的双向传送等,另一方面,简化了虚拟分发网的配置,有利于支持大规模多播应用并通过广播机制,保证多播数据包的正确传送。
文档编号H04L12/56GK101247253SQ200810102370
公开日2008年8月20日 申请日期2008年3月21日 优先权日2008年3月21日
发明者姜红旗, 林孝康 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1