多播路由选择系统和方法_3

文档序号:9383400阅读:来源:国知局
点的功能无法在每次实施潜在的单播路由选择协议中都可用。因此,本文所 描述的系统的实施方式直接对多播"层"提供增强,具体地说,通过消耗单播成本值并对其 进行调整来影响存储的MRIB值,并因此影响针对路由器加入RPT的最佳的下一跳。
[0087] 下面将参照图2对其进行更详细的描述。
[0088] 在图2的网络中,主机H1222希望加入多播组G来接收由汇聚点RP或者源224广 播的内容。主机222向其指定路由器R1226发送IGMP加入消息。
[0089] 虽然R1226离希望向其订阅的组供应内容的RPT(在图2中由虚线表示)只有一 跳(L1),但是P頂-SM规范将导致建立(经由L2)至中间路由器R2228的新的树分支,该中 间路由器是到已经是组G的成员的RP的最短路径上的第一个路由器。由于根据单播协议 (通常基于跳数)该新的树分支将比加入邻居R3来订阅RPT具有低的成本,所以做出此决 定。这导致重复的数据在网络中彼此相邻流动,浪费了网络容量。如果从RP 224至新加入 的DR 226的端到端路径实际上能够支持消耗来自这个组的数据的服务所要求的服务质量 (QoS),则这种重复可能没有必要。此外,如果多个路由器作出相同的决定,则选择到RP 224 的最短路径实际上可能是拥塞的路径或者是退化的路径。相比于较长但拥塞较少的路径, 这可能提供较差的QoS。
[0090] 因此,本系统的实施方式在路由器中(具体地,P頂路由器中)提供智能,以通过优 化影响请求服务的QoS的多个因素(其中一些因素是可预测的)来决定加入树T的下一最 佳跳。我们考虑的这些因素可以使树的形状能够依赖于各分支的当前以及预测性能而随时 间慢慢演进。如果现有的RPT针对给定服务是拥塞的或者预期会表现不佳,则将扩展分支, 或者生长以利用当前的树并缩小范围,由此当树能够维持数据流的需求时防止网络中的数 据重复。因此,系统的实施方式根据网络条件提供自动的树生长。
[0091] MRIB值的决定机制可以置于每个P頂路由器中,其对于用于在决定算法中使用的 相同的数据具有可见性,或者外部计算并使用任意现有的网络管理协议推到每个PM路由 器中。
[0092] 下面将描述由P頂路由器执行的一系列步骤的实施方式,其必须决定其到给定树 的最佳的RPF下一跳。这之后是对生成加权因数的说明,该加权因数可被用于针对给定的 组/树组合从单播路由选择度量转化至MRIB路由选择度量。然后描述在实施决定机制后 在网络中所看到的效果,随后是MRIB度量在网络路由选择上的影响。最后,下面描述了一 个示例实现方式。
[0093] 在图3中例示了利用黑匣子方法对根据本文所描述的实施方式的网络所作出的 改变。下面更详细地描述黑匣子的部件。
[0094] 为了在给定路由器Rl处做出关于其加入组G的最佳下一跳的决定,决定算法的各 实例(无论集中运行或在每个PM路由器上分布)可选地可以利用下列数据:
[0095] 1、针对G的RP地址-其可以使用RFC 4601中所描述的哈希函数来获得。
[0096] 2、具有有效的(*,G)状态的距最小跳数的P頂路由器的IP地址和到达该P頂路 由器的单播成本值。
[0097] 3、针对两个路线的流量性能相关数据(下文描述使用的度量的细节)
[0098] 如果每个路由器单独运行决定机制,则可以给它们提供预测模型,所述预测模型 被集中构建并具有对存储的数据的储存库的访问权。
[0099] 如果针对组G不存在具有现有的(*,G)状态的路由器,则这意味着Rl首先在RP 处创建组G的成员资格,并且无需使用该算法。Rl默认直接向RP发送加入/剪枝消息,并 且创建新的树分支。但是,加入组G的下一个路由器Rn获取传送与G相关的现有数据流的 最近的PM路由器的地址。
[0100] 要注意的是,上述需求可以被满足,与链路状态或距离矢量协议是否被用于单播 无关。在诸如路由选择信息协议RIP的距离矢量协议的情况下,其中端到端路径的可见性 对路由器Rl不可用的,只需获得聚集流量和单播成本测量,使用其可执行其计算。
[0101] 我们假设针对此实施方式,所有必要信息对于路由器Rl都可用,该路由器Rl运行 下面的决定算法来确定其最佳下一跳是谁以加入针对组G的多播树。要注意的是,单播路 由选择协议未受影响,使得单播中的其它流不被该技术干扰。这是因为考虑因素中的一个 与当前树结构本身有关,其并不适用于单播路由选择。
[0102] 假设如果Rl是针对该主机的DR或者其是从下游路由器接收(*,G)加入/剪枝消 息的中间路由器,则Rl从其终端主机中的一个接收(*,G)IGMP加入消息。它执行下列任 务:
[0103] URl使用现有的P頂-SM规范评估累积的MRIB路由选择度量,这将导致创建至RP 的最短路径树分支。
[0104] 2、R1针对加入现有的针对组G的RPT的最短路径评估累积的MRIB路由选择度量。
[0105] 3、Rl将下一最佳跳选择为从上述步骤产生较低路由选择度量的一个。
[0106] 我们此后将至RPT(即,从单播路由选择协议确定的具有有效的(*,G)的最近的 PM路由器)的最短路径称为P(RPT,G)以及将其对应的从Rl的下一跳称为next_hop(RPT, G),并且将至RP的单播最短路径称为p (RP,G)以及将对应的从Rl的最佳下一跳称为next_ hop (RP,G)。我们将针对其对RP的订阅(无论是P (RP,G)还是P (RPT,G))的针对组G的 优化的路线的通用术语称为MRIB. p (G)并且将针对组G的通用最佳下一跳称为MRIB. next_ hop (G)〇
[0107] 要注意的是,作为此技术的扩展,Rl可以执行链路的N个组合的多维优化以获得 针对组G对RP的订阅的最佳路由选择MRIB. ρ (G)。这可能涉及必须了解网络的拓部结构。 为简单起见,我们展示技术的关键要素,以仅对比P (RPT,G)和ρ (RP,G)来选择MRIB. p(G), 但是任何数量的路由选择可以通过相同算法的扩展来优化。
[0108] 事实上,有可能的是,在Rl在上述评估后向其选择的下一跳R2发送其(*,G)加入 /剪枝消息时,下一跳执行相同的任务,这可能导致第一决定被改变,因为针对Rl到R2,到 达RP和到达RPT上最近的P頂路由器的单播接下来的跳数是不同的。这是否发生取决于 分配给单播跳数的加权因数。
[0109] 因此,在图3中,通常在单播路由选择方法中使用的单播路由选择协议链路成本 值310被输入至智能数据分析功能。对该过程的进一步输入可以包括例如树结构信息以及 流量、拥塞和/或需求信息。这些信息被处理316以确定然后能用于多播网络的MRIB链路 成本值31,。
[0110] 要注意的是,该方法可以由PM路由器在它们每次从下游路由器/主机接收到加 入/剪枝刷新时使用。这将导致树结构逐渐演进以反映各自的树分支当前的可靠性和拥 塞。例如,如果加入的更下游的RPT的端到端性能被评估为比在朝向RP的最短路径上创建 树分支差,则这意味着,多播树的树干是拥塞的或者意味着主机成员离RP太远以至于不能 仍满足的它们的服务等级协定(SLA)度量。在此情形中,系统自动触发在至RP的最短路径 上生成的新的树分支,其它PM路由器可以加入至该树分支并从树干脱离。
[0111] 假若PM路由器在它们当前是组的有效动成员时决定改变它的下一跳入口,则要 注意的是,它们在在新分支上成功接收到数据后应当从旧的树上脱离。
[0112] 要注意的是,为了保持流量信息最新并且在每个收集周期期间不发生剧烈改变, 每个路由器可以使树_路由_定时器(tree_route_timer)能够具有可以由用户指定的最 大值,其在发送其针对特定的源/组/RP的第一加入/剪枝时被随机设置。当定时器到期 时,P頂路由器执行关于是否要改变它们的上游下一跳路由器的选择的检查。否则,所有路 由器将在同时评估并可造成将影响业务流量统计的变化,潜在地导致不稳定的运行状况。
[0113] 现在将描述对针对多播所使用的路由器计算流量性能相关度量的方法。我们假设 每个多播流需要某一 QoS值或SLA。这例如可以通过所需带宽(例如,2Mb/s)、可接受的延 迟(例如,20ms)、可接受的抖动(例如,2. Oms)和/或99. 9%的分组传输率来确定。我们不 是基于跳数来识别路线,而是然后可以挑选满足针对所讨论的多播流的SLA的路由器。可 连续测量流量相关参数,并且可以基于每个链路进行。它们可以在本地通过路由器来存储, 或者以规律的间隔发送到中央管理单元,并且可以保存在中央数据存储中。整个路线的性 能可以通过结合单独链路值来计算。总带宽由最小带宽来限定,总延迟和抖动通过每个链 路的延迟和抖动值的总和来限定,并且传输率是路线上所有链路的最小速率。如果使用其 它性能,可以计算类似的聚集。
[0114] 预测信息也可以用于路由选择。不是仅使用当前性能统计,系统可以被设置为预 测在每个链路上可以确保针对多播会话的SLA多长时间。为此,系统收集针对每个链路的 历史性能信息并将其存储在训练数据库中。可以以下列方式收集历史信息。每次主机或中 间路由器加入多播流(或者针对加入的主机/路由器的随机样本,以减少数据量),我们记 录主机/路由器加入的时间、单独的SLA要求以及持续时间,在该持续时间后SLA被破坏。 如果SLA不被破坏,则我们存储该流的持续时间。如果SLA被破坏,则我们也通过存储'0' 来记录成功维护SLA,否则存储' Γ。字段"duration (持续时间)"和"broken (破坏)"可 以成为预测算法的目标值。
[0115] 例如,通过记录在特定时间每个链路的可用带宽,也可以针对每个链路收集流量 信息。根据网络运营商的偏好,这可以按照几分钟或几小时为间隔并且针对每天或每周的 曲线来进行。例如,如果运营商决定流量曲线登记最好通过以5分钟的间隔的每周曲线来 进行,则我们针对每链路当前可用带宽将存储7 X 24X 12 = 2016个值。其它流量相关统计 (诸如给出链路上发生流量拥塞的指示的显式拥塞通知(ECN)的变化速率)可以按照不同 的时间分辨率以相同的方式来收集。
[0116] 如果网络提供商记录链路上的预计的或者预期的流量并且该信息是可用的,则系 统还可以在每次开始多播流时存储该信息。例如,假设网络提供商在接下来的24小时时段 记录每链路每小时的预期流量。网络提供商可以通过使用来自流量预订方案的值运行预测 算法来获得这些值。
[0117] 下表是从训练数据库的实施方式中提取的一个示例,其示出了一些可被收集的训 练数据示例,在该表中使用以下缩写。
[0118] 链路ID (Link ID):链路的ID,针对该链路存储这些值
[0119] 容量(cap):链路容量,单位Mb/s
[0120] 星期几(DoW):星期几(1 =星期一、2 =星期二......)
[0121] 小时(hour):主
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1