組播問題一紙通_第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(到第四步驟),定位問題。假設有沒有出接口,說明它的上層就沒有給組播轉發項添加出接口。需要到上層去看為什么沒有添加出接口??梢圆榭磎ulticastrouting-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

提交評論