组播问题一纸通_第1页
组播问题一纸通_第2页
组播问题一纸通_第3页
组播问题一纸通_第4页
组播问题一纸通_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MulticasttroubleshootingV1.1MulticasttroubleshootingV1.1110页组播问题一纸通依据半年多维护组播阅历,本人简洁写了定位组播问题的一些方法,现共享给大家。本文有以下几个内容:首先解释了几个比较混淆的概念和内容。定位方法。望各位有不能点播的问题,请先依据内容逐步分析。最终再把各种组播协议的一些要点简洁描述了一遍。如想深入了解协议,请直接查阅rfc和相关文档。本文档适合组播初学者,以及需要使用和维护组播的同学。一.几个概念的解释:PIMIGMP协议在网络中的位置PIMPIM-DMPIM-SM是一种组播路由协议。该路由协议确定组播数据流OSPFRIP一样。IGMP是一种维护组播组关系的协议。该协议运行于网络的末端,跟客户主机直连的路由器或三层交换机上。该协议只维护该网段中主机客户端的组播组。形象的讲,IGMP协议收集组播节目的频道,用户需要哪些频道的节目。IGMP协议统计完组播频道后,告知PIM协议,PIM协议再把这些组播频道的组播数据引到该网段。IGMP组播组和组播转发项是两种概念ciscoIPTVIP报文方式供给的电视节目。现在用电视节目来IGMP组播组和组播转发项的区分。IGMP组播组是路由器和主机关系的一个表现。简洁讲,IGMP组播组表达的是客户端想看多少个频道的组播节目,具体哪几个频道。动源,而且该路由器上能收到那么多组的组播数据。至于是否需要把组播数据往某接口/端口IGMPIGMP组播参加的形式收看组播节目。IGMP用户想看很多台的电视节目,可是转播台不给你转播任何节目。最大IGMP于转播台能转播的最大电视频道数。二.几个组播表的比较igmpgroup和mpmgroup的区分IGMP组播组是三层设备(路由器和三层交换机)上,维护路由器跟主机组播组关系的一张表。displayigmpgroup组。MPM是组播端口治理(MulticastPortManagement)的缩写。MPM组播组是三层交换机上,维护交换机跟主机组播组关系的一张表。displaympmgroupvlan接口的某端口下有多少组播组。这张表按端口统计有多少组播组。mpmgroupigmpgroup上的IgmpgroupmpmgroupIgmpgroup中看到的应当是按接口统计的组播组表,而mpmgroup中看到的是按虚接口下端口来统计的组播组表。vlanIGMP组播组算两个IGMP组播组。MPM模块维护端口时把端口分为两种:路由器端口和主机端口。PIMhello报文(含其它组播路由协议报文)IGMP通用查询报文后,就把该端口维护为路由器端口。从某端口收到igmp报告报文后,就把该端口维护为主机端口。几个组播路由表转发表的区分和关系pimrouting-tablemulticastrouting-tablemulticastforwarding-tablempmforwarding-tablepimrouting-tablepim协议的组播路由表。假设想定位协议本身的问题,可以查看此路由表,定位问题。pim-dm协议中组播路由表内的每个路由是由数据来驱动创立的。multicastrouting-table是组播路由治理模块中的路由表。假设组播路由治理支持多种组表中。multicastforwarding-table是按三层接口为单位的,所以路由器中,该表是最终指导组播数据转发的,但在交换机上不是。mpmforwarding-tablemulticastforwarding-table一样。只是mpmforwarding-table的每个转发项中多了出接口下的出端口。交换机上该表也的实现是mpmforwarding-table和芯片中的组播转发项是保持全都的。所以在交换机上想看mpmforwarding-table。假设是一款稳定的产品,那mpmforwarding-tablempmforwarding-table跟芯片转发表不全都的可能。每个产品的驱动都实现了查看芯片组播转发表的方法。具体方法可以请教产品人。假设测试交换机,应当多看看mpmforwarding-table和mpmgroup表项,顺便看看multicastforwarding-table和igmpgroup。假设是在路由器上,那就看看multicastforwarding-tableigmpgroup。这里再简洁讲讲以上四种表的创立时机和相互关系。运行pim-dm协议的三层设备上,收到组播数据后首先创立组播转发表的转发项,再创立组播路由表的路由项,最终再创立pim协议路由表的路由项。各表中的每个项都是组播数据驱动创立的。pim-sm协议的三层设备上,pim协议路由表的路由项是由协议来驱动创立的。如jp参加剪枝报文……pim-dm一样。mpmforwarding-tablemulticastforwarding-table中的转发项是完全一样的。需要提示大家的是multicastforwarding-table转发项的每个出接口不肯定消灭在mpmforwarding-tablemulticastforwarding-tablevlan虚接口添加到mpmforwarding-tableloopbackmpmforwarding-table中。三.如何定位组播点播不通当你组好一个网络后,觉察组播点播不成功,有很多缘由。现在具体介绍定位思路和方法。下面以交换机为例介绍。配置组播网络时,首先完成以下两个工作。路由器之间配置组播路由协议,跟接收者连接的网段要配置组播路由协议和igmp协议。留意,目前一个组播网中,只能使用同一种组播路由协议,PIM-DMPIM-SM。当你确认点播不成功时,请回头看看以上两个步骤是否正确完成。假设你认为以上两个步骤是正确的,就让我们依据下面的步骤,逐步定位。定位组播问题分为三步走,也可以说带着三个疑问去找问题。第一步,转发项创立没?跟踪组播数据流。其次步,出接口添加没?在PIM协议层定位。第三步,出端口添加没?在MPM模块定位。查看组播转发表multicastforwarding-table。假设该交换机收到组播数据,该转发表中确定会创立组播转发项的。该交换机上没有创立点播组的转发项。发生这种状况有两种状况:上游交换机没有把组播数据发送到这个交换机上。测试中这种状况发转发到下游设备。假设确认上游交换机已经转发了该组的组播数据,而下游设备上没有创立三层组播转发项,那说明asic没有把组播数据送给cpu。这样可以找产品人,cpu。主要缘由有以下几种。虽然平台三层转发项中没有创立组播转发项,可是芯片中还有组播转发项。收到组播数据后,asic匹配了组播转发项,所以没有上送。这平台调用的参数错误,还是平台正确删除了,驱动没有删除。具体状况具体分析。还有一种可能是平台和驱动之间有一个api,是特地掌握未知组播数据的。函数名为:API_EnableUnknowIPMCToCPUapi的调用方法有错误。还有一个地方需要提示,是不是使能STP协议后把端口给discarding了。假设驱动确认上送给平台了,可平台没有创立转发项,那某环节上丢弃报文了。需要翻开调试信息,逐个分析。debuggingmulticastforwardingipdebuggingippacketdebuggingethernetpacket该交换机上成功创立点播组的转发项,但还是不能成功点播,那有以下几种状况。假设点播客户端在组播数据入接口的某端口上,那三层组播转发项中没有出接口是正确的mpmforwarding-table(到第四步骤),查看是否正确添加出端口。假设点播客户端接口和组播数据入接口不一样,那应当有出接口。假设有出接口,点播不成功,说明出接口添加是正确的,可能添加出端口时出错了。需要再往下一层去,查看mpmforwarding-table(到第四步骤),定位问题。假设有没有出接口,说明它的上层就没有给组播转发项添加出接口。需要到上层去看为什么没有添加出接口。可以查看multicastrouting-table(到其次步骤)pimrouting-table(到第三步骤),有没有出接口。查看multicastrouting-table,定位问题。假设组播路由表中没有该数据流的路由,而三层组播转发表中有该组播数据流的转发项,那就好定位。组播转发表中创立的是空转发项,是有ip层创立的。而路由治理层没有创立。为什么没有创立呢?缘由根本有两种。查看到源的单播路由有没有。查看组播数据入接口上是否配置组播路由协议。查看组播数据入接口上是否配置组播数据过滤条件。假设以上两种状况都正确,那就翻开调试信息,再进一步定位。以下两个命令是组播路由治理的调试信息开关。debmulticastkernel-routingdebmulticaststatus-forwarding假设组播路由表中有该数据流的路由,而没有出接口,那就查看协议路由表pimrouting-table(到第三步骤)。假设定位到这里根本可以是断定,是pim协议配置错误pim协议本身的错误。pimrouting-table,定位问题。再提示一遍:目前一个组播网中,只能使用同一种组播路由协议。要么PIM-DM要么PIM-SM,不能同时共用。目前还不支持其它的组播路由协议。pimdm协议的定位。以下几点是重点,想深入定位协议问题,请看本文pimdm协议介绍。假设当前设备是网络中的一个中间设备,重点查看以下信息。pim。pim邻居。假设当前设备是跟客户端直连的末端设备,重点查看以下信息。pim。是否配置igmpigmpigmp组播组,igmp协议的定位方法。找该网段中的DR接口。留意,格外重要。只有某网段中的PIMDRIGMPPIM息,引入组播数据。pimsm协议的定位。以下是几个重点。3.1pimdm协议定位步骤中列出的几个内容检查。sm中照样使用。bsr和rp的信息。假设没有bsr和rp的信息,首先解决这个。bsrrp的接口上没有配置pimsm协议,常常是loopbackpimsm。没有到bsr的单播由。往往是配置bsr的接口上没有使能单播路由协议。不能卑视配置bsr的接口,它的重要性跟其它接口同等。假设只有bsr的信息,没有rpbsr和rp是否配置在同一台设备上。假设不在同台设备上,那到rp所在的设备上去查看单播路由表,有没有到bsr的路由。这里简洁说一个流程。rp首先把自己的rpbsrbsr报文在网络中集中。rp所在的设备上,查看pimrouting-table,重点关注当前组的(S,G)和(*,G)。假设(S,G)DRRP注册。这时定位区域是rp和源之间,重点跟踪注册消息。常常有以下两种状况:源和rp之间的单播路由不通。rprp信息。假设没有(*,G)DR路由器没有向rp发送rpt参加消息。这时定位区域是rp和接收者之间,重点关注rpt参加消息。往往有以下几种状况。rp之间的沿途设备上没有rp信息。接收者和rp之间的单播路由不通。DR设备上没有igmp组播组。spt参加消息。接收者和源之间的单播路由不通。DR设备上没有igmp组播组。查看mpmforwarding-table,定位问题。接口。这时重点关注往芯片添加正确的出端口是否正确。查看mpmforwarding-table,觉察没有相应组的转发项。测试中消灭这种问题的可能比较少。主要缘由有以下几种。asic芯片中的接口必需是vlan,而像注册接口这种虚拟接口在芯片中不能创立,所以mpm模块觉察转发项的入接口pimsm网络中的rp所在设备上。这是一个中间状态,不应当持续太长的时间,最多就几秒。假设这种状态持续时间太长,需要到上层协议去定位缘由。调用函数API_AddIPM,创立转发项时,返回错误。这时需要翻开驱动调试开关,进一步定位问题。查看mpmforwarding-table,觉察相应转发项中没有添加端口。发生这种状况的概率比较大,而且缘由也比较多。首先大家明白一个流程。上层转发项添加出接口时,mpm模块怎样把相应的出端口添加到转发项中的呢?其实mpm模块在创立组播转发项之前早已经把vlan对应的出mpmgroup表中。mpmgroup表中维护了每个vlan的路由器端口和组播组vlanmpmgroup表中查找,把全部的路由器端口和相应组播组的主机端口添加到mpmforwarding-table中,再写给驱动。驱动再写入asic芯片。三层组播转发表中的loopback出接口和注册mpmforwarding-table表的。查看mpmforwarding-table觉察没有添加出端口,那直接查看mpmgroupvlan中是否维护主机端口或路由器端口。mpmgrouppim邻居和igmpmpm模块出错了。那就我们逐步mpmvlanigmp或pimvlanup/down需要翻开debuggingmpmtimersvlan上配置igmp或pimmpmshut/undoshut后再看看。mpmgroup中有维护的出端口,而在mpmforwarding-table中没有添加相应vlan的出端口。根本可以断定是驱动返回错误的。需要翻开平台的调试开关debuggingmpmgroups,跟踪api函数API_AddOutVRPAndPortMemberForIPMC,确认是否驱动返回错误。至于驱动为什么返回错误,翻开驱动调试开关进一步定位。查看mpmforwarding-table觉察成功添加出端口,那就说明平台添加出端口时,驱动返回正确。假设组播数据还不正确转发,需要查看驱动的组播转发表,进一步定位。到这个步骤,定位问题的范围已经转移到驱动局部。下三点。首先查看组播转发项创立了没?只有收到组播数据后,才创立组播转发项。其次组播转发项中添加出接口没?如没添加,到上层pim协议层去定位。最终组播转发项中添加出端口没?如没添加,到下层mpm模块去定位。四.IGMP协议displayigmpgroup查看组播组。igmp组播组:首先查看为什么没有收到igmp报告报文。主机发送报告报文没?如没有发送,那不发v1v2。其要确认谁是查询器。五.PIM-DM协议PIM-DM协议是一种先集中后收敛的组播路由协议。协议状态比较少。pim邻居。displaypimneighborpimpimhello报文。pimhellodebuggingpimcommonpacket其次再查看某网段的PIMDR是哪一个。displaypiminterfacePIMDR才把该网段的IGMPPIM参加信息,向上游发送参加或嫁接消息,引入组播数据。如有共享网段,是否发生assert,谁获胜了。六.PIM-SM协议PIM-SM协议是一种按需集中的组播路由协议。协议状态多,比较简单。查看pimdisplaypimneighborpimpimhellopimhellodebuggingpimcommonpacket。查看某网段的PIMDR是哪一个。displaypiminterfacebsr信息。displaypimbsr-info查看rp信息。displaypimrp-info。rpbsr单播发送rp信息。bsr所rpbsrbsrrp配置在不同的设备上时,肯定记住以上原理,rpbsr,再伴随bsr报文,在网络中集中。DRrpDR把组播数据封装后,通过注册报文,向rp注册。rp收到注册报文后,创立(S,G)项,向源参加。这样rp到源的沿途设备上创立(S,G)项了,rp到源的路径也打通了。DRrpDR依据igmp组播组,rp发送rpt参加消息。这样接收者到rp的沿途设备上创立了(*.G)项,接收者到rp的路径也打通了。DR到源的最短路径是否打通。假设(S,G)rp和源的上游不一样,就向源发送一个参加消息,建立到源的最短路径树。如有共享网段,是否发生assert,谁获胜了。七.IGMP-snooping协议IGMP-snooping协议是交换机上窃听IGMPigmp-snoopinggroup来了解当前组播组的关系,显示的内容跟mpmgroup一样。该表维护的端口也分为路由器端口和主机端口。igmp-snoopingigmp报文的流程。igmpvlan内全部其它端口发送。igmpvlan内全部路由器端口发送。假设每个igmp查询周期内收到多份同组的igmp报告报文,那往路由器端口转发一份报文。这就是所谓的igmp报告报文抑制功能。igmpvlan内全部路由器端口发送。假设收到igmp八.组播静态路由配置组播静态路由不是指导组播数据转发,而是用于组播路由协议rpf检查。那组播静态路由跟单播路由之间关系是什么?组播路由协议rpf检查时,如何查找这些路由呢?请看下面的三条原则:rpf先从每个表中把最优的路由选出来,再相互比较,最终确定使用哪条做rpf路由。比较最优rpf路由和最优的组播静态路由时,有两种比较规章,分别为按最长匹配或按优先级rpf路由。按最长匹配和按优先级匹配只是把最优单播路由跟最优组播静态路由之间比较时承受。不是多条组播静态路由之间选择最好组播静态路由时使用的规章。order参数去修改。rpf路由。rpf路由。单播路由比较。九.Mtr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论