專利名稱::一種收斂二層組播網絡的方法及設備的制作方法
技術領域:
:本發(fā)明涉及通信領域,特別涉及一種收斂二層組播網絡的方法及設備。
背景技術:
:二層組播網絡為在三層網絡與用戶主機之間設置的接入層網絡,用戶主機掛在二層組播網絡下,通過二層組播網絡與三層網絡通信。用戶主機可以通過點播請求點播某個頻道。例如圖1所示的網絡架構,二層組播網絡包括交換機A、B和C,交換機A和B之間的鏈路阻塞,交換機A和C之間的鏈路以及交換機B和C之間的鏈路都導通,用戶主機1和2都掛在交換機B上,用戶主機3掛在交換機C上。假設用戶主機3點播某個頻道,用戶主機3向二層組播網絡組播發(fā)送點播請求,該點播請求中攜帶點播的頻道信息;交換機C接收該點播請求后,將接收該點播請求的轉發(fā)端口Portl和攜帶的頻道信息存儲在自身的二層組播轉發(fā)表中,再從路由端口port3組播發(fā)送給上游設備;交機機A接收該點播請求,將接收該點播請求的轉發(fā)端口port2和攜帶的頻道信息存儲在自身的二層組播轉發(fā)表中,并從路由端口port3將該點播請求組播發(fā)送到三層網絡;三層網絡接收該點播請求后,向二層組播網絡組播發(fā)送該頻道信息對應的數(shù)據(jù)報文,當交換機A接收該數(shù)據(jù)報文后,從二層組播轉發(fā)表中查找該頻道信息對應的轉發(fā)端口port2,從port2轉發(fā)出去;當交換機C接收到該數(shù)據(jù)報文,從二層組播轉發(fā)表中查找該頻道信息對應的轉發(fā)端口portl,從portl轉發(fā)給用戶主機3。其中,用戶主機1和2分別按相同的方法點播各自需要的頻道。在交換機的二層組播轉發(fā)表中,每條對應關系只能存活一段時間,所以三層網絡每隔一個周期向二層組播網絡組播發(fā)送查詢命令,二層組播網絡再組播發(fā)送給所有用戶主機,當用戶主機接收該查詢命令后,分別在預設的時間內隨機選擇一個時間向二層組播網絡組播發(fā)送查詢響應,且該查詢響應中攜帶各自點播的頻道信息;當二層組播網絡中的每個設備接收到查詢響應后,分別將接收查詢響應的轉發(fā)端口和該查詢響應攜帶的頻道信息重新存儲在二層組播轉發(fā)表中,如此實現(xiàn)維護用戶主機的存活狀態(tài)。如果二層組播網絡的拓撲結構發(fā)生變化,例如某條鏈路發(fā)故障,則需要對二層組播網絡進行收斂,才能使二層組播網絡正常轉發(fā)數(shù)據(jù)報文。目前采用的收斂二層組播網絡的方法具體為二層組播網絡生成查詢命令,并將該查詢命令組播發(fā)送給每個用戶主機,每個用戶主機接收到查詢命令后,在預設的時間內隨機選擇一個時間向二層組播網絡組播發(fā)送攜帶頻道信息的查詢響應,二層組播網絡中的每個設備接收到查詢響應后,將接收查詢響應的轉發(fā)端口和查詢響應攜帶的頻道信息存儲在二層組播轉發(fā)表中。如此實現(xiàn)收斂二層組播網絡。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題當二層組播網絡的拓撲結構發(fā)生變化時,需要每個用戶主機回復查詢響應后才能收斂整個二層組播網絡,而每個用戶主機在預設的時間內隨機選擇一個時間發(fā)送查詢響應,在最壞的情況下,還需要等待預設的時間才能收斂整個二層組播網絡,如此二層組播網絡的收斂速度較慢。
發(fā)明內容為了能夠加快收斂二層組播網絡的速度,本發(fā)明提供了一種收斂二層組播網絡的方法及設備。所述技術方案如下一種收斂二層組播網絡的方法,所述方法包括如果二層組播網絡中的設備檢測出所述二層組播網絡的拓撲結構發(fā)生變化時,則所述設備接收上游設備發(fā)送的查詢命令,將所述查詢命令組播發(fā)送給下游設備;根據(jù)自身的二層組播轉發(fā)表生成查詢響應,所述查詢響應中攜帶用戶點播的頻道fn息;接收下游設備發(fā)送的查詢響應,在所述二層組播轉發(fā)表中存儲所述接收的查詢響應中攜帶的用戶點播的頻道信息和接收所述接收的查詢響應的轉發(fā)端口;將所述生成的查詢響應和所述接收的查詢響應發(fā)送給所述上游設備。一種收斂二層組播網絡的設備,其特征在于,所述設備包括接收模塊,用于接收上游設備發(fā)送的查詢命令,將所述查詢命令組播發(fā)送給下游設備;第一生成模塊,用于根據(jù)自身的二層組播轉發(fā)表生成查詢響應,所述查詢響應中攜帶用戶點播的頻道信息;存儲模塊,用于接收下游設備發(fā)送的查詢響應,在所述二層組播轉發(fā)表中存儲所述接收的查詢響應中攜帶的用戶點播的頻道信息和接收所述接收的查詢響應的轉發(fā)端Π;發(fā)送模塊,用于將所述生成的查詢響應和所述接收的查詢響應發(fā)送給所述上游設備。如果檢測出二層組播網絡的拓撲結構發(fā)生變化,則當接收到查詢命令時,二層組播網絡的設備立即生成并向上游設備發(fā)送攜帶頻道信息的查詢響應,以及向下游設備組播發(fā)送查詢命令;當二層組播網絡中的設備接收到查詢響應時,存儲查詢響應攜帶的頻道信息和接收查詢響應的轉發(fā)端口,從而實現(xiàn)收斂二層組播網絡。其中,由于不需要等待用戶主機組播發(fā)送查詢響應來實現(xiàn)收斂二層組播網絡,從而加快收斂二層組播網絡的速度。圖1是現(xiàn)有技術提供的一種網絡架構;圖2是本發(fā)明實施例1提供的一種收斂二層組播網絡的方法流程圖;圖3是本發(fā)明實施例2提供的一種收斂二層組播網絡的方法流程圖;圖4是本發(fā)明實施例3應用的一種網絡架構;圖5是本發(fā)明實施例3提供的一種收斂二層組播網絡的方法流程圖;圖6是本發(fā)明實施例4提供的一種收斂二層組播網絡的設備示意圖。具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。實施例1如果二層組播網絡中的設備檢測出二層組播網絡的拓撲結構發(fā)生變化時,則利用本發(fā)明實施例1提供的一種收斂二層組播網絡的方法對該二層組播網絡進行收斂。如圖2所示,該方法包括步驟101二層組播網絡中的設備接收查詢命令,將該查詢命令組播發(fā)送給下游設備;步驟102根據(jù)自身的二層組播轉發(fā)表生成查詢響應,其中,該查詢響應中攜帶用戶點播的頻道信息;步驟103接收下游設備發(fā)送的查詢響應,在二層組播轉發(fā)表中存儲接收的查詢響應中攜帶的用戶點播的頻道信息和接收該接收的查詢響應的轉發(fā)端口;步驟104將生成的查詢響應和接收的查詢響應發(fā)送給上游設備。在本發(fā)明實施例中,如果二層組播網絡中的設備檢測出二層組播網絡的拓撲結構發(fā)生變化,則在接收到查詢命令時,立即生成并向上游設備發(fā)送攜帶頻道信息的查詢響應,將收到的查詢命令組播發(fā)送給下游設備,并在接收到下游設備的查詢響應時,存儲查詢響應攜帶的頻道信息和接收查詢響應的轉發(fā)端口,從而實現(xiàn)收斂二層組播網絡。其中,由于不需要等待用戶主機組播發(fā)送查詢響應來實現(xiàn)收斂二層組播網絡,從而加快收斂二層組播網絡的速度。實施例2當二層組播網絡的拓撲結構發(fā)生變化時,利用本發(fā)明實施例提供了一種收斂二層組播網絡的方法對該二層組播網絡進行收斂。如圖3所示,該方法包括步驟201當二層組播網絡中的設備檢測出二層組播網絡的拓撲結構發(fā)生變化時,二層組播網絡中的每個設備將自身由普通狀態(tài)設置成代理狀態(tài);其中,二層組播網絡中的每個設備都在實時計算二層組播網絡的拓撲結構,在二層組播網絡的拓撲結構發(fā)生變化之前,二層組播網絡中的每個設備均處于普通狀態(tài);在普通狀態(tài)下,二層組播網絡中的每個設備接收到查詢響應后,將接收的查詢響應從自身存儲的路由端口處發(fā)送出去,當接收到查詢命令時,將接收的查詢命令從自身存儲的轉發(fā)端口處組播發(fā)送出去。假設第一設備與第二設備是二層組播網絡中的兩個設備,在第一設備和第二設備上可以分別掛一個或多個用戶主機,且第一設備直接與三層網絡相連。步驟202當連接三層網絡的第一設備將自身設置成代理狀態(tài)時,第一設備立即生成查詢命令,并向下游設備組播發(fā)送生成的查詢命令;具體地,第一設備生成查詢命令,并讀取自身存儲的所有轉發(fā)端口,從每個轉發(fā)端口處將生成的查詢命令組播發(fā)送給下游設備。其中,二層組播網絡中的第一設備生成的查詢命令與三層網絡組播發(fā)送的查詢命令相同。且在二層組播網絡中所有直接與三層網絡相連的設備都和第一設備一樣,在將自身由普通狀態(tài)設置成代理狀態(tài)后,生成查詢命令并將其組播發(fā)送給下游設備。另外,第一設備的下游設備可以為掛在第一設備上的用戶主機或直接與第一設備的轉發(fā)端口相連的二層組播網絡中的設備。步驟203第二設備接收來自上游設備的查詢命令,存儲接收查詢命令的路由端口,從轉發(fā)端口處將該查詢命令組播發(fā)送給下游設備;具體地,當?shù)诙O備接收來自二層組播網絡中的上游設備的查詢命令時,讀取接收該查詢命令的端口,將該端口作為路由端口,并存儲該路由端口,讀取自身存儲的所有轉發(fā)端口,將接收的查詢命令從讀取的轉發(fā)端口處組播發(fā)送給下游設備。其中,第二設備的下游設備可以為二層組播網絡中的直接與第二設備的轉發(fā)端口相連的設備或掛在第二設備上的用戶主機。其中,二層組播網絡中的每個非直接與三層網絡相連的設備都與第二設備一樣,在接收到查詢命令后,存儲接收查詢命令的路由端口和從自身存儲的轉發(fā)端口處向下游設備組播發(fā)送查詢命令。步驟204:第二設備接收該查詢命令后,立即生成查詢響應,將從自身存儲的路由端口處向上游設備發(fā)送生成的查詢響應,其中,該查詢響應中攜帶用戶點播的頻道信息;具體地,第二設備接收該查詢命令后,從自身存儲的二層組播轉發(fā)表中讀取用戶點播的所有頻道信息,生成查詢響應,且該查詢響應中包含讀取的所有頻道信息,讀取自身存儲的路由端口,將生成的查詢響應從讀取的路由端口發(fā)送給上游設備。其中,第二設備的上游設備為二層組播網絡中直接與第二設備的路由端口相連的設備。其中,二層組播網絡中的每個非直接與三層網絡相連的設備都與第二設備一樣,在接收到查詢命令后,立即生成查詢響應,并從路由端口發(fā)送查詢響應給上游設備。另外,在普通狀態(tài)下,第二設備不會自動生成查詢響應。其中,二層組播網絡中的每個設備在生成查詢響應并從路由端口將生成的查詢響應發(fā)送給上游設備后,分別將自身由代理狀態(tài)設置成普通狀態(tài)。其中,二層組播網絡中的每個設備都維護一個二層組播轉發(fā)表,該二層組播轉發(fā)表存儲用戶點播的頻道信息與轉發(fā)端口的對應關系。步驟205第二設備接收下游設備發(fā)送的查詢響應,其中,該查詢響應中攜帶用戶點播的頻道信息,將攜帶的頻道信息與接收查詢響應的轉發(fā)端口存儲在二層組播轉發(fā)表中,并將該查詢響應組播發(fā)送給上游設備;具體地,第二設備接收來自下游設備發(fā)送的查詢響應,從該查詢響應中讀取攜帶的頻道信息,以及讀取接收該查詢響應的端口,將該端口作為轉發(fā)端口,將讀取的頻道信息與讀取的轉發(fā)端口作為一條新對應關系存儲在二層組播轉發(fā)表中,并從自身的路由端口將查詢響應發(fā)送給上游設備。其中,在接收到第二設備組播發(fā)送的查詢命令時,掛在第二設備上的每個用戶主機都在預設的時間內隨機選擇一個時間向二層組播網絡組播發(fā)送查詢響應,且該查詢響應攜帶用戶點播的頻道信息。其中,二層組播網絡中的每個非直接與三層網絡相連的設備都與第二設備一樣,當接收到下游設備發(fā)送的查詢響應時,從該查詢響應中讀取用戶點播的頻道信息,存儲接收該查詢響應的轉發(fā)端口和讀取的頻道信息,并從自身的路由端口處將該查詢響應發(fā)送給上游設備。其中,無論在普通狀態(tài)下,還是在代理狀態(tài)下,二層組播網絡中的每個設備在接收到查詢響應時,都將接收查詢響應的轉發(fā)端口和查詢響應中攜帶的頻道信息作為一條對應關系存儲在二層組播轉發(fā)表中,如果二層組播轉發(fā)表中已存在該條對應關系,則直接覆蓋二層組播轉發(fā)表中已存在的該條對應關系。二層組播網絡中的每個設備在將一條對應關系存儲在自身的二層組播轉發(fā)表中時,為該條對應關系設置一個老化時間,當老化時間溢出時,則將該條對應關系從二層組播轉發(fā)表中刪除。由于每次向二層組播轉發(fā)表存儲一條對應關系時,都會為該條對應關系重新設置老化時間,所以如果在二層組播轉發(fā)表中維護某條對應關系,在該條對應關系的老化時間未溢出之前,重新存儲該條對應關系。步驟206第一設備接收來自下游設備發(fā)送的查詢響應后,存儲接收該查詢響應的轉發(fā)端口和該查詢響應中攜帶的頻道信息,并將該查詢響應發(fā)送給三層網絡中;具體地,第一設備接收來自下游設備發(fā)送的查詢響應后,讀取接收該查詢響應的端口,將該端口作為轉發(fā)端口,從接收的查詢響應中讀取其攜帶的頻道信息,將該頻道信息和該轉發(fā)端口的作為一條對應關系并存儲在二層組播轉發(fā)表中,讀取自身存儲的路由端口,從讀取的路由端口處發(fā)送該查詢響應給三層網絡。其中,在二層組播網絡中,直接與三層網絡相連的設備都與第一設備一樣,當接收到查詢響應后,存儲查詢響應中攜帶的頻道信息以及接收查詢響應的轉發(fā)端口,并將查詢響應發(fā)送到三層網絡中。其中,當二層組播網絡的拓撲結構發(fā)生變化時,三層網絡還是周期性的組播發(fā)送查詢命令給二層組播網絡。在二層組播網絡中,對于直接與三層網絡相連的設備,當這些設備接收到來自三層網絡的查詢命令,都同第一設備一樣執(zhí)行步驟207和208。步驟207第一設備接收來自三層網絡的查詢命令,存儲接收查詢命令的路由端口,并將該查詢命令組播發(fā)送給下游設備;具體地,第一設備接收來自三層網絡的查詢命令后,讀取接收該查詢命令的端口,將該端口作為路由端口,并存儲該路由端口,從自身存儲的轉發(fā)端口中將查詢命令組播發(fā)送給下游設備。其中,二層組播網絡中處于普通狀態(tài)下的設備如果再次接收到查詢命令,則存儲接收查詢命令的路由端口并從轉發(fā)端口組播發(fā)送查詢命令。步驟208第一設備接收該查詢命令后,立即生成查詢響應,從自身存儲的路由端口將查詢響應發(fā)送給三層網絡,其中,該查詢響應攜帶用戶點播的頻道信息;具體地,第一設備從二層組播轉發(fā)表中讀取用戶點播的頻道信息,生成查詢響應,該查詢響應中攜帶讀取的頻道信息,讀取自身存儲的路由端口,從讀取的路由端口發(fā)送生成的查詢響應給三層網絡。其中,當?shù)谝辉O備組播發(fā)送生成的查詢響應給三層網絡后,還將自身由代理狀態(tài)設置成普通狀態(tài)。其中,當二層組播網絡中的每個設備都生成查詢響應,并將查詢響應發(fā)送出去時,就實現(xiàn)了收斂二層組播網絡,如此當二層組播網絡接收三層網絡組播發(fā)送的數(shù)據(jù)報文后,二層組播網絡中的每個設備就可以按自身更新后的二層組播轉發(fā)表將自身接收的數(shù)據(jù)報文轉發(fā)給用戶主機。其中,在本實施例中,當?shù)谝辉O備將自身由普通狀態(tài)設置成代理狀態(tài)時,第一設備可以不生成查詢命令,而是等待接收三層網絡組播發(fā)送的查詢命令,并將該查詢命令組播發(fā)送下游設備,然后第一設備再生成攜帶頻道信息的查詢響應,并發(fā)送給三層網絡。第二設備當接收到查詢命令時,將該查詢命令組播發(fā)送給下游設備,然后再生成攜帶頻道信息的查詢響應,并發(fā)送給上游設備。其中,在本實施例中,還可以在二層組播網絡中的每個設備中設置已生成查詢響應的次數(shù),其中,當每個設備檢測出二層組播網絡的拓撲結構發(fā)生變化時,分別將各自的已生成查詢響應的次數(shù)的初值設為0。在代理狀態(tài)下,當二層組播網絡中的每個設備在每次接收到查詢命令后,生成查詢響應并從路由端口組播發(fā)送出去時,同時將已生成查詢響應的次數(shù)加1,并判斷已生成查詢響應的次數(shù)的值是否達到預設的次數(shù),如果是,則將該設備由代理狀態(tài)設置成普通狀態(tài),使該設備停止繼續(xù)生成查詢響應。由于二層組播網絡的拓撲結構可能持續(xù)變化,所以設置每個設備生成并發(fā)送多次查詢響應,使得每個設備在一段時間內處于代理狀態(tài),從而能夠提高整個二層組播網絡的收斂速度。其中,在本實例中,第一設備和第二設備可以都為交換機,查詢響應可以為Iteport報文,查詢命令可以為Query報文。在本發(fā)明實施例中,當二層組播網絡中的每個設備檢測出二層組播網絡的拓撲結構發(fā)生變化時,分別將自身設置成代理狀態(tài),直接與三層網絡相連的設備立即生成查詢命令并向下游設備組播發(fā)送該查詢命令;當二層組播網絡中的設備接收到該查詢命令時,立即生成攜帶頻道信息的查詢響應并發(fā)送出去;當二層組播網絡中的每個設備接收到查詢響應時,存儲查詢響應中攜帶的頻道信息和接收該查詢響應的轉發(fā)端口,如此,使得二層組播網絡中的每個設備不需要等待用戶主機發(fā)送查詢響應,如此,加快了收斂二層組播網絡的速度。實施例3在如圖1所示的網絡架構中,在二層組播網絡中,用戶主機1、2和3分別點播頻道G1、G2和G3;交換機B包括路由端口port3和port4、轉發(fā)端口portl和port2以及如表1所示的二層組播轉發(fā)表;交換機C包括路由端口port3、轉發(fā)端口port2和portl以及如表2所示的二層組播轉發(fā)表;交換機A包括路由端口port3、轉發(fā)端口portl和port2以及如表3所示的二層組播轉發(fā)表。表1<table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>表3<table>tableseeoriginaldocumentpage10</column></row><table>如果上述二層組播網絡的拓撲結構發(fā)生變化,假設,上述二層組播網絡的拓撲結構發(fā)生的變化具體為交換機A與C之間的鏈路發(fā)生故障,而交換機A與B之間的鏈路導通,使得如圖1所示的網絡架構變成如圖4所示的網絡架構,則需要利用本發(fā)明實施例提供的一種收斂二層組播網絡的方法對上述二層組播網絡進行收斂。如圖5所示,該方法具體包括步驟301當二層組播網絡中的交換機A、B和C檢測出二層組播網絡的拓撲結構發(fā)生變化,則分別將自身由普通狀態(tài)設置成代理狀態(tài);步驟302直接與三層網絡相連的交換機A生成查詢命令,獲取自身存儲的轉發(fā)端口portl,并從轉發(fā)端口portl處向下游設備組播發(fā)送生成的查詢命令;其中,交換機B為交換機A的一個下游設備。另外,由于交換機A與C之間的鏈路發(fā)生故障,所以交換機A中的轉發(fā)端口port2和交換機C中的路由端口port3不可用。步驟303交換機B從端口port4處接收該查詢命令后,讀取接收該查詢命令的端口port4,將其作為路由端口,并存儲該路由端口;其中,由于交換機B中已存儲路由端口port4,則在本步驟重新存儲路由端口port4時,會覆蓋已存儲的路由端口port4。步驟304交換機B讀取自身存儲的轉發(fā)端口portl、port2和port3,將該查詢命令從轉發(fā)端口portl、port2和port3組播發(fā)送給下游設備;其中,交換B的下游設備包括用戶主機1和2以及交換機C;轉發(fā)端口portl和port2分別與用戶主機1和用戶主機2相連,因此用戶主機1和用戶主機2會接收到查詢命令;轉發(fā)端口port3與交換機C相連,因此交換機C會接收查詢命令。其中,交換機B當檢測出交換機A和C之間的鏈路發(fā)生故障,且發(fā)現(xiàn)交換機C由上游設備變?yōu)橄掠卧O備時,將端口port3由路由端口設置成轉發(fā)端口。步驟305交換機B獲取頻道信息Gl和G2,生成攜帶頻道信息Gl和G2的查詢響應,并從路由端口port4處發(fā)送給上游設備;具體地,交換機B從自身存儲的如表1所示的二層組播轉發(fā)表中讀取用戶點播的頻道信息G1和G2,生成查詢響應,其中,該查詢響應中攜帶頻道信息G1和G2,讀取路由端口port4,并從該路由端口port4處向上游設備發(fā)送生成的查詢響應。其中,交換機B的上游設備為交換機A。其中,當交換機C接收到查詢命令后,與交換機B執(zhí)行相同的操作。而交換機C生成的查詢響應中包含頻道信息G1、G2和G3。當用戶主機1接收到查詢命令后,在預設的時間內隨機選擇一個時間向二層組播網絡發(fā)送攜帶頻道信息G1的查詢響應;當用戶主機2接收到查詢命令后,在預設的時間內隨機選擇一個時間向二層組播網絡發(fā)送攜帶頻道信息G2的查詢響應。其中,當交換機B和C生成并發(fā)送查詢響應后,分別將各自由代理狀態(tài)設置成普通狀態(tài)。步驟306交換機B接收下游設備交換機C的查詢響應,并存儲該查詢響應中攜帶的頻道信息G1、G2和G3以及接收該查詢響應的轉發(fā)端口Port3,將該查詢響應發(fā)送給上游設備;具體地,交換機B從端口port3接收來自交換機C發(fā)送的查詢響應,讀取端口port3,并將其作為轉發(fā)端口,將該查詢響應中攜帶的頻道信息G1、G2和G3以及轉發(fā)端口port3存儲在二層組播轉發(fā)表中,從路由端口port4將該查詢響應發(fā)送給上游設備。其中,當交換機B接收到用戶主機1和用戶主機2的查詢響應時,分別執(zhí)行相同的操作。此時,在交換機B中存儲的二層組播轉發(fā)表如表4所示。表4<table>tableseeoriginaldocumentpage11</column></row><table>步驟307:交換機A接收下游設備的查詢響應,存儲該查詢響應攜帶的頻道信息G1和G2以及轉發(fā)端口portl,將該查詢響應從路由端口發(fā)送給三層網絡;具體地,交換機A從端口portl接收查詢響應,該查詢響應中攜帶頻道信息G1和G2,將端口portl作為轉發(fā)端口,將轉發(fā)端口portl和頻道信息G1作為一條對應關系以及將轉發(fā)端口portl和頻道信息G2作為一條對應關系存儲在二層組播轉發(fā)表中,并從路由端口port3將該查詢響應發(fā)送到三層網絡。其中,當交換機A再次接收到查詢響應后,分別按上述相同的方法對接收的查詢響應進行操作,并且維護的二層組播轉發(fā)表如表5所示。表5<table>tableseeoriginaldocumentpage12</column></row><table>其中,由于三層網絡周期性的向二層組播網絡組播發(fā)送查詢命令,當交換機A接收查詢命令后執(zhí)行步驟308和309的操作。步驟308交換機A從端口port3接收來自三層網絡的查詢命令,將port3作為路由端口,存儲路由端口port3,讀取自身存儲的轉發(fā)端口portl,從轉發(fā)端口portl處將該查詢命令組播發(fā)送給下游設備;步驟309交換機A從如表5所示的二層組播轉發(fā)表中讀取用戶點播的頻道信息Gl、G2和G3,生成查詢響應,該查詢響應中包括頻道信息Gl、G2和G3,并從路由端口port3發(fā)送給三層網絡。其中,當交換機A從路由端口port3處將生成的查詢響應發(fā)送到三層網絡后,將自身由代理狀態(tài)設置成普通狀態(tài)。其中,交換機B和C再接收到查詢命令后,由于交換機B和C已處于普通狀態(tài),所以交換機B和C只存儲接收該查詢命令的路由端口,并從自身的轉發(fā)端口處將該查詢命令組播發(fā)送給下游設備。在本發(fā)明實施例中,當二層組播網絡中的每個交換機A、B、C檢測出二層組播網絡的拓撲結構發(fā)生變化時,分別將自身設置成代理狀態(tài),直接與三層網絡相連的交換機A立即生成查詢命令并組播發(fā)送該查詢命令給下游設備;當交換機B和C接收到該查詢命令時,立即生成攜帶頻道信息的查詢響應并發(fā)送給交換機A;當交換機A、B、C接收到查詢響應時,存儲查詢響應中攜帶的頻道信息和接收該查詢響應的轉發(fā)端口,如此,使得二層組播網絡不需要再等待用戶主機組播發(fā)送查詢響應,如此,加快了收斂二層組播網絡的速度。實施例4如圖6所示,本發(fā)明實施例提供了一種收斂二層組播網絡的設備,包括接收模塊401,用于接收上游設備發(fā)送的查詢命令,將該查詢命令組播發(fā)送給下游設備;第一生成模塊402,用于根據(jù)自身的二層組播轉發(fā)表生成查詢響應,其中,該查詢響應中攜帶用戶點播的頻道信息;存儲模塊403,用于接收下游設備發(fā)送的查詢響應,在二層組播轉發(fā)表中存儲接收的查詢響應中攜帶的用戶點播的頻道信息和接收該接收的查詢響應的轉發(fā)端口;發(fā)送模塊404,用于將生成的查詢響應和接收的查詢響應發(fā)送給上游設備其中,當該設備直接與三層網絡相連時,接收模塊401,具體用于接收三層網絡組播發(fā)送的查詢命令,將該查詢命令組播發(fā)送給下游設備;地一步地,該設備還包括第二生成模塊,用于生成查詢命令,將生成的查詢命令組播發(fā)送給下游設備;其中,當該設備非直接與三層網絡相連時,接收模塊401,具體用于接收二層網絡中的上游設備組播發(fā)送的查詢命令,將接收的查詢命令組播發(fā)送給下游設備;其中,第一生成模塊402具體包括獲取單元,用于從二層組播轉發(fā)表中獲取用戶點播的頻道信息;生成單元,用于生成攜帶獲取的頻道信息的查詢響應;進一步地,該設備還包括累計模塊,用于累計生成查詢響應的次數(shù),并判斷累計的次數(shù)的值是否達到預設的次數(shù),如果是,則停止繼續(xù)生成查詢響應;其中,該設備可以是交換機。在本發(fā)明實施例中,如果檢測出二層組播網絡的拓撲結構發(fā)生變化,則當接收到查詢命令時,二層組播網絡中的設備立即生成并向上游設備發(fā)送攜帶頻道信息的查詢響應,以及向下游設備組播發(fā)送查詢命令;當二層組播網絡中的設備接收到查詢響應時,存儲查詢響應攜帶的頻道信息和接收查詢響應的轉發(fā)端口,從而實現(xiàn)收斂二層組播網絡。其中,由于不需要等待用戶主機組播發(fā)送查詢響應來實現(xiàn)收斂二層組播網絡,從而加快了收斂二層組播網絡的速度。以上實施例提供的技術方案中的全部或部分內容可以通過軟件編程實現(xiàn),其軟件程序存儲在可讀取的存儲介質中,存儲介質例如計算機中的硬盤、光盤或軟盤。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。權利要求一種收斂二層組播網絡的方法,其特征在于,所述方法包括如果二層組播網絡中的設備檢測出所述二層組播網絡的拓撲結構發(fā)生變化時,則所述設備接收上游設備發(fā)送的查詢命令,將所述查詢命令組播發(fā)送給下游設備;根據(jù)自身的二層組播轉發(fā)表生成查詢響應,所述查詢響應中攜帶用戶點播的頻道信息;接收下游設備發(fā)送的查詢響應,在所述二層組播轉發(fā)表中存儲所述接收的查詢響應中攜帶的用戶點播的頻道信息和接收所述接收的查詢響應的轉發(fā)端口;將所述生成的查詢響應和所述接收的查詢響應發(fā)送給所述上游設備。2.如權利要求1所述的方法,其特征在于,當所述設備直接與三層網絡相連時,所述接收上游設備發(fā)送的查詢命令,將所述查詢命令組播發(fā)送給下游設備,具體包括接收三層網絡組播發(fā)送的查詢命令,將所述查詢命令組播發(fā)送給所述下游設備。3.如權利要求2所述的方法,其特征在于,所述方法還包括生成查詢命令,將所述生成的查詢命令組播發(fā)送給所述下游設備。4.如權利要求1所述的方法,其特征在于,當所述設備非直接與三層網絡相連時,所述接收上游設備發(fā)送的查詢命令,將所述查詢命令組播發(fā)送給下游設備,具體包括接收所述二層組播網絡中的上游設備組播發(fā)送的查詢命令,將所述接收的查詢命令組播發(fā)送給所述下游設備。5.如權利要求1所述的方法,其特征在于,所述根據(jù)自身的二層組播轉發(fā)表生成查詢響應,具體包括從所述二層組播轉發(fā)表中獲取用戶點播的頻道信息;生成攜帶所述獲取的頻道信息的查詢響應。6.如權利要求1-5任意一項權利要求所述的方法,其特征在于,所述根據(jù)已存儲的二層組播轉發(fā)表生成查詢響應之后,還包括累計生成查詢響應的次數(shù),并判斷所述次數(shù)的值是否達到預設的次數(shù),如果是,則停止繼續(xù)生成查詢響應。7.一種收斂二層組播網絡的設備,其特征在于,所述設備包括接收模塊,用于接收上游設備發(fā)送的查詢命令,將所述查詢命令組播發(fā)送給下游設備;第一生成模塊,用于根據(jù)自身的二層組播轉發(fā)表生成查詢響應,所述查詢響應中攜帶用戶點播的頻道信息;存儲模塊,用于接收下游設備發(fā)送的查詢響應,在所述二層組播轉發(fā)表中存儲所述接收的查詢響應中攜帶的用戶點播的頻道信息和接收所述接收的查詢響應的轉發(fā)端口;發(fā)送模塊,用于將所述生成的查詢響應和所述接收的查詢響應發(fā)送給所述上游設備。8.如權利要求7所述的設備,其特征在于,當所述設備直接與三層網絡相連時,所述接收模塊,具體用于接收三層網絡發(fā)送的查詢命令,將所述查詢命令組播發(fā)送給所述下游設備。9.如權利要求8所述的設備,其特征在于,所述設備還包括第二生成模塊,用于生成查詢命令,將所述生成的查詢命令組播發(fā)送給所述下游設備。10.如權利要求7所述的設備,其特征在于,當所述設備非直接與三層網絡相連時,所述接收模塊,具體用于接收所述二層組播網絡中的上游設備組播發(fā)送的查詢命令,將所述接收的查詢命令組播發(fā)送給所述下游設備。11.如權利要求7所述的設備,其特征在于,所述第一生成模塊具體包括獲取單元,用于從所述二層組播轉發(fā)表中獲取用戶點播的頻道信息;生成單元,用于生成攜帶所述獲取的頻道信息的查詢響應。12.如權利要求7-11任意一項權利要求所述的設備,其特征在于,所述設備還包括累計模塊,用于累計生成查詢響應的次數(shù),并判斷所述次數(shù)的值是否達到預設的次數(shù),如果是,則停止繼續(xù)生成查詢響應。全文摘要本發(fā)明公開了一種收斂二層組播網絡的方法及設備,屬于通信領域。所述方法包括如果二層組播網絡中的設備檢測出所述二層組播網絡的拓撲結構發(fā)生變化時,則所述設備接收上游設備發(fā)送的查詢命令,將所述查詢命令組播發(fā)送給下游設備;根據(jù)自身的二層組播轉發(fā)表生成查詢響應,所述查詢響應中攜帶用戶點播的頻道信息;接收下游設備發(fā)送的查詢響應,在所述二層組播轉發(fā)表中存儲所述接收的查詢響應中攜帶的用戶點播的頻道信息和接收所述接收的查詢響應的轉發(fā)端口;將所述生成的查詢響應和所述接收的查詢響應發(fā)送給所述上游設備。所述裝置包括接收模塊、第一生成模塊、存儲模塊和發(fā)送模塊。本發(fā)明能夠加快二層組播網絡拓撲結構發(fā)生變化時的收斂速度。文檔編號H04L12/56GK101827032SQ20101016181公開日2010年9月8日申請日期2010年4月29日優(yōu)先權日2010年4月29日發(fā)明者丁漢成,李文濤申請人:華為技術有限公司