一种组播路径跟踪方法和系统技术方案

技术编号:5117114 阅读:365 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种组播路径跟踪方法和系统,提高组播路径跟踪的准确率,防止组播分发树的故障误判断。所述方法包括:在组播跟踪过程中,查询源发起组播跟踪查询;收到所述组播跟踪查询报文的第一路由器将所述查询报文转换为请求报文后向组播分发树的上游路由器发送,直到发送至组播分发树的首跳路由器;组播分发树的首跳路由器收到请求报文后,将所述请求报文转换为响应报文,判断本跳路由器是否有到所述查询源的单播路由,如果有,则将所述响应报文发送给所述查询源,如果没有,则进一步判断本跳路由器如果有到所述第一路由器的单播路由,则将所述响应报文发送给所述第一路由器,由所述第一路由器将所述响应报文发送给查询源。

【技术实现步骤摘要】

本专利技术涉及网络通讯领域,尤其涉及组播路径跟踪方法和系统
技术介绍
组播trace (组播追踪,称为Mtrace)是实现组播路径跟踪的一种故障诊断工具, 提供除了路径追踪之外的报文速率和报文丢失等其他信息。通过组播trace可以1)可追 踪组播报文从某个组播源到某个目的地(即组播接收者)所走的路径;2)可以定位报文丢 失问题(如拥塞);3)可定位配置问题(如TTL门限);4)尽可能减少报文发送(如不会导 致泛洪或报文数量急剧增加)。对于一棵已知的组播分发树而言,我们很难跟踪从组播源到一个组播目的节点的 转发路径,因为我们并不知道所查找的目的节点在组播树的哪个分支上。但是沿着组播树 从目的节点追溯到源节点相对容易一些,因为大多数的组播协议都可获知转发节点的上一 跳节点,这样我们就可以得到从一个组播目的节点到组播源的包含所有转发路由器的直接 路径。欲进行组播trace的节点(称为查询源或客户端,可以在组播分发树上也可以 不在组播分发树上)发送路由跟踪查询报文(组播trace Query报文)到所选组播目的 节点的最后一跳组播路由器,即与组播接收者相连的末跳组播路由器,该路由器将查询报 文转换为请求(Request)报文,再将自己的接口地址和报文统计信息封装成请求数据块 (Request Data Block),添加到请求报文的尾部,再将形成的请求报文用单播方式转发给 他所认为的前一跳路由器(处于末跳的上游)。就这样每一跳路由器都在报文尾部添加数 据块,并将其发给前一跳路由器(处于本跳的上游)。最后,第一跳路由器将此报文转换应 答报文将其发送给查询源。通过这样逐跳的转发过程,逆向追踪出从组播路由的转发路径。 如图1所示。当请求报文到达首跳路由器(组播源所在的网络与之相连)时,首跳路由器将请 求(request)报文转换为响应(Response)报文,并将完整的响应报文发送给响应目的地 址。如果组播转发路径发生异常,响应也有可能在到达首跳路由器之前返回给响应目的地 址,如不存在组播路由等。组播trace使用路由器中任何可用的信息试图确定组播转发路 径的前跳。不同种类的组播路由协议维护的协议状态数量不同,组播trace尽可能利用这 些协议提供可用的信息。例如见图1,整个网络中运行组播协议,路由器R5发起组播trace,向最后一跳路 由器R4发送组播trace query报文到路由器R4,R4收到组播trace query报文后,添加包 含R4组播信息的数据块(request data block),并将组播trace query报文转化为组播 trace request报文,接着沿着组播分发树逆向方向,向上一跳路由器R3发送,R3收到组播 trace request报文后,将包含R3组播信息的数据添加到报文,并发送到它的前一跳路由 器R2,同样R2收到组播trace query报文后,也将包含R2组播信息的数据添加到报文,并 发送到它的前一跳路由器Rl,Rl在收到组播trace request报文后,发现有直连的组播源与自己相连,则认为到了首跳路由器,然后Rl添加包含Rl组播信息的数据块到报文中,并 将报文转化为组播trace response报文,并把response报文发给R5,这样就完成了一次组 播路径的跟踪。在客户端R5对response报文进行解析,就可以跟踪组播的转发路径。但在实际组播路径跟踪过程中,以上述方式跟踪组播路径后,却得到常常得出组 播分发树有故障的结论,但实际上该组播分发树并不存在故障。
技术实现思路
本专利技术要解决的技术问题是提供一种组播路径跟踪方法和系统,提高组播路径跟 踪的准确率,防止组播分发树的故障误判断。为解决上述技术问题,本专利技术提供了一种组播路径跟踪方法,包括在组播跟踪过程中,查询源发起组播跟踪查询;收到所述组播跟踪查询报文的第一路由器将所述查询报文转换为请求(request) 报文后向组播分发树的上游路由器发送,直到发送至组播分发树的首跳路由器;组播分发树的首跳路由器收到请求(request)报文后,将所述request报文转换 为响应(response)报文,判断本跳路由器是否有到所述查询源的单播路由,如果有,则将 所述response报文发送给所述查询源,如果没有,则进一步判断本跳路由器如果有到所述 第一路由器的单播路由,则将所述response报文发送给所述第一路由器,由所述第一路由 器将所述response报文发送给查询源。进一步地,所述组播分发树的首跳路由器判断本跳路由器如果没有到所述第一路 由器的单播路由,则向下游路由器组播发送所述response报文。进一步地,下游路由器收到所述response报文后,判断本跳路由器是否有到所述 查询源的单播路由,如果有,则将所述response报文发送给所述查询源,如果没有,则进一 步判断本跳路由器是否有到所述第一路由器的单播路由,如果有,则将所述response报文 发送给所述第一路由器,由所述第一路由器将所述response报文发送给查询源,如果有没 有,则继续向下游路由器组播发送所述response报文,下游路由器重复执行上述步骤。进一步地,所述向下游路由器组播发送所述response报文的步骤包括从接收到 request报文的端口向本组播组内的所有与本路由器有单播路由的组播成员以组播方式发 送 response 艮文。进一步地,在向下游路由器组播发送所述response报文前,先判断是否有下游路 由器,如果有,则发送,如果没有,则丢弃所述response报文。为解决上述技术问题,本专利技术还提供了一种组播路径跟踪系统,包括查询子系统,位于查询源,用于在组播跟踪过程中,发起组播跟踪查询;请求报文传输子系统,位于收到所述组播跟踪查询报文的第一路由器,用于将所 述查询报文转换为请求(request)报文后向组播分发树的上游路由器发送,直到发送至组 播分发树的首跳路由器;响应报文传输子系统,位于组播分发树的首跳路由器,用于收到请求(request) 报文后,将所述request报文转换为响应(response)报文,判断本跳路由器是否有到所述 查询源的单播路由,如果有,则将所述response报文发送给所述查询源,如果没有,则进一 步判断本跳路由器如果有到所述第一路由器的单播路由,则将所述response报文发送给5收到所述组播跟踪查询报文的第一路由器,由所述第一路由器将所述response报文发送 给查询源。进一步地,所述响应报文传输子系统,还用于判断本跳路由器如果没有到所述第 一路由器的单播路由,则向下游路由器组播发送所述response报文。进一步地,所述系统还包括报文转发子系统,位于下游路由器中,用于收到所 述response报文后,判断本跳路由器是否有到所述查询源的单播路由,如果有,则将所述 response报文发送给所述查询源,如果没有,则进一步判断本跳路由器是否有到所述第一 路由器的单播路由,如果有,则将所述response报文发送给所述第一路由器,由所述第一 路由器将所述response报文发送给查询源,如果有没有,则继续向下游路由器组播发送所 述 response 艮文。进一步地,所述向下游路由本文档来自技高网
...

【技术保护点】
一种组播路径跟踪方法,包括:在组播跟踪过程中,查询源发起组播跟踪查询;收到所述组播跟踪查询报文的第一路由器将所述查询报文转换为请求(request)报文后向组播分发树的上游路由器发送,直到发送至组播分发树的首跳路由器;组播分发树的首跳路由器收到请求(request)报文后,将所述request报文转换为响应(response)报文,判断本跳路由器是否有到所述查询源的单播路由,如果有,则将所述response报文发送给所述查询源,如果没有,则进一步判断本跳路由器如果有到所述第一路由器的单播路由,则将所述response报文发送给所述第一路由器,由所述第一路由器将所述response报文发送给查询源。

【技术特征摘要】
一种组播路径跟踪方法,包括在组播跟踪过程中,查询源发起组播跟踪查询;收到所述组播跟踪查询报文的第一路由器将所述查询报文转换为请求(request)报文后向组播分发树的上游路由器发送,直到发送至组播分发树的首跳路由器;组播分发树的首跳路由器收到请求(request)报文后,将所述request报文转换为响应(response)报文,判断本跳路由器是否有到所述查询源的单播路由,如果有,则将所述response报文发送给所述查询源,如果没有,则进一步判断本跳路由器如果有到所述第一路由器的单播路由,则将所述response报文发送给所述第一路由器,由所述第一路由器将所述response报文发送给查询源。2.如权利要求1所述的方法,其特征在于所述组播分发树的首跳路由器判断本跳路由器如果没有到所述第一路由器的单播路 由,则向下游路由器组播发送所述response报文。3.如权利要求2所述的方法,其特征在于下游路由器收到所述response报文后,判断本跳路由器是否有到所述查询源的单播 路由,如果有,则将所述response报文发送给所述查询源,如果没有,则进一步判断本跳路 由器是否有到所述第一路由器的单播路由,如果有,则将所述response报文发送给所述第 一路由器,由所述第一路由器将所述response报文发送给查询源,如果有没有,则继续向 下游路由器组播发送所述response报文,下游路由器重复执行上述步骤。4.如权利要求2或3所述的方法,其特征在于所述向下游路由器组播发送所述response报文的步骤包括从接收到request报文的端口向本组播组内的所有与本路由器有单播路由的组播成 员以组播方式发送response报文。5.如权利要求2或3所述的方法,其特征在于在向下游路由器组播发送所述response报文前,先判断是否有下游路由器,如果有, 则发送,如果没有,则丢弃所述response报文。6.一种组播路径跟踪系统,包括查询子系统,位于查询源,用于在组播跟踪过程中,发起组播跟踪查询;请...

【专利技术属性】
技术研发人员:孙仕康李永亮
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1