專利名稱:報(bào)文上送的方法及實(shí)現(xiàn)該方法的接口板及路由器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種報(bào)文上送的方法、接口板及路由器。
背景技術(shù):
路由器的體系結(jié)構(gòu)多數(shù)為分布式結(jié)構(gòu)。在分布式路由環(huán)境下,控制平面實(shí)現(xiàn)協(xié)議的處理,數(shù)據(jù)平面實(shí)現(xiàn)報(bào)文的轉(zhuǎn)發(fā)。通常,將負(fù)責(zé)控制平面的單元稱為主控板,負(fù)責(zé)數(shù)據(jù)平面的稱為接口板。一個(gè)分布式路由器中一般存在一個(gè)主控板和多個(gè)接口板。接口板從物理接口收到協(xié)議報(bào)文后,會(huì)通過板間的總線將協(xié)議報(bào)文送到主控板處理。
IP組播是在IP網(wǎng)絡(luò)中將數(shù)據(jù)包以盡力傳送的形式發(fā)送到網(wǎng)絡(luò)中的某個(gè)確定節(jié)點(diǎn)子集,這個(gè)子集稱為組播組。IP組播的基本思想是,源主機(jī)只發(fā)送一份數(shù)據(jù),這份數(shù)據(jù)中的目的地址為組播組地址;組播組中的所有接收者都可接收到同樣的數(shù)據(jù)拷貝,且只有組播組內(nèi)的主機(jī)可以接收該數(shù)據(jù),網(wǎng)絡(luò)中其他主機(jī)不能收到。
因特網(wǎng)組成員管理協(xié)議(IGMP,Internet Group Management Protocol)是IPv4領(lǐng)域用來實(shí)現(xiàn)主機(jī)加入特定組播組的協(xié)議,共有三個(gè)版本,分別為IGMPv1/v2/v3。在v1版本中,主機(jī)通過Report報(bào)文通知鄰接的路由器加入某個(gè)特定的組播組,路由器收到后,設(shè)置組播組定時(shí)器,創(chuàng)建相應(yīng)的組播組用于指導(dǎo)轉(zhuǎn)發(fā);路由器定期地發(fā)送普通查詢報(bào)文(General-Query)給主機(jī)來確定每個(gè)接口下是否還有組播組存在;主機(jī)收到普通地查詢報(bào)文后,會(huì)把主機(jī)已加入地組播組以Report報(bào)文的形式發(fā)送給鄰接的路由器;路由器收到已有組播組的Report報(bào)文后,更新組播組定時(shí)器;如果一段時(shí)間內(nèi)沒有收到某個(gè)組的Report報(bào)文,組播組定時(shí)器超時(shí),這個(gè)組的狀態(tài)也被刪除。
IGMPv2中,在v1的基礎(chǔ)上增加Leave報(bào)文的發(fā)送。如果主機(jī)離開了某一個(gè)組播組,發(fā)送Leave報(bào)文給鄰接的路由器。路由器收到后,立即發(fā)送組查詢報(bào)文(General-Query),來確定這個(gè)接口下是否還有別的主機(jī)想繼續(xù)接收此組播組的數(shù)據(jù),未離開這個(gè)組的所有主機(jī)重新發(fā)送Report報(bào)文,來表明該主機(jī)的存在。
在IGMPv3中,在v2的基礎(chǔ)上增加了源過慮機(jī)制,主機(jī)通過發(fā)送Report報(bào)文,來表明該主機(jī)僅僅想接收來自某些特定源的數(shù)據(jù),或除過一些特定源外,來自其他源的數(shù)據(jù)都可以接收,分別對(duì)應(yīng)兩種狀態(tài)INCLUDE(A)(表示A集合外的其他源的數(shù)據(jù)都不接收)和EXCLUDE(B)(表示B集合外的其他源的數(shù)據(jù)都可接收);主機(jī)收到查詢報(bào)文后,根據(jù)各個(gè)組的狀態(tài)分別回應(yīng)IS IN或IS EX類型的Report報(bào)文,如果主機(jī)可以接收的源增加或減少,則主動(dòng)發(fā)送類型為ALLOW(增加)為BLOCK(減少)類型的Report報(bào)文。引起組播組狀態(tài)改變的報(bào)文稱為狀態(tài)改變報(bào)文。
現(xiàn)有技術(shù)中對(duì)于IGMP/組播偵聽發(fā)現(xiàn)(MLD,Multicast Listener Discovery)報(bào)文來說,每個(gè)主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文通過與主機(jī)連接的接口板通過總線發(fā)送到主控板,主控板向每個(gè)主機(jī)發(fā)送的查詢報(bào)文通過總線發(fā)送到與接口板連接的各個(gè)主機(jī)。在有大量的IGMP/MLD主機(jī)存在的情況下,每隔幾十秒,收到路由器發(fā)送的查詢報(bào)文,網(wǎng)絡(luò)中的每個(gè)主機(jī)都會(huì)通過與其連接的接口板向主控板回應(yīng)一個(gè)當(dāng)前組播組狀態(tài)報(bào)文,報(bào)文通過總線從接口板傳送到主控板;這樣主控板與接口板之間的總線通道由于帶寬是一定的,極大可能引起阻塞,引起協(xié)議報(bào)文處理的瓶頸。主控板要處理路由器中多個(gè)接口板收到的報(bào)文,在網(wǎng)絡(luò)中存在大量的報(bào)文上送時(shí),主控板來不及在短時(shí)間內(nèi)處理大量的報(bào)文,這時(shí)網(wǎng)絡(luò)中的主機(jī)會(huì)等待主控板的回應(yīng)而不能進(jìn)行其他的工作,與等待的主機(jī)連接的其他網(wǎng)絡(luò)中的設(shè)備也不能進(jìn)行相應(yīng)的工作,從而導(dǎo)致整個(gè)網(wǎng)絡(luò)各項(xiàng)任務(wù)滯后,網(wǎng)絡(luò)中數(shù)據(jù)交換不順暢。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種報(bào)文上送的方法、及實(shí)現(xiàn)該方法的接口板及路由器,提高路由器處理報(bào)文的效率。
為解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供一種報(bào)文上送的方法,包括接口板接收第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文;接口板向第二主機(jī)發(fā)送查詢報(bào)文;在接口板在規(guī)定時(shí)間內(nèi)未收到第二主機(jī)反饋的組播組狀態(tài)報(bào)文時(shí),根據(jù)所述組播組狀態(tài)改變報(bào)文更新所述組播組狀態(tài),并向主控板發(fā)送預(yù)置數(shù)目的所述組播組狀態(tài)改變報(bào)文。
本發(fā)明還提供另一種一種報(bào)文上送的方法,所述報(bào)文為加入報(bào)文,包括接口板接收第一主機(jī)發(fā)送的加入報(bào)文;所述接口板中未存儲(chǔ)所述第一主機(jī)發(fā)送的加入報(bào)文中記錄的組播組時(shí),接口板添加所述加入報(bào)文中記錄的組播組,并向主控板發(fā)送預(yù)置數(shù)目的所述加入報(bào)文。
本發(fā)明還提供一種接口板,包括第一報(bào)文接收單元,用于接收第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文;查詢報(bào)文發(fā)送單元,用于在所述第一報(bào)文接收單元收到所述組播組狀態(tài)改變報(bào)文后,向第二主機(jī)發(fā)送查詢報(bào)文;更新單元,用于根據(jù)所述第一報(bào)文接收單元接收的所述組播組狀態(tài)改變報(bào)文更新接口板中存儲(chǔ)的所述組播組狀態(tài);發(fā)送單元,用于將預(yù)置數(shù)目的所述第一報(bào)文接收單元接收的組播組狀態(tài)改變報(bào)文發(fā)送到主控板。
本發(fā)明還提供另一種接口板,包括第一報(bào)文接收單元,用于接收第一主機(jī)發(fā)送的加入報(bào)文;存儲(chǔ)單元,用于存儲(chǔ)組播組列表;添加單元,用于在所述存儲(chǔ)單元中未存儲(chǔ)所述第一報(bào)文接收單元接收的加入報(bào)文中記錄的組播組時(shí),添加所述加入報(bào)文中記錄的組播組;發(fā)送單元,用于將所述第一報(bào)文接收單元接收的加入報(bào)文發(fā)送到主控板。
本發(fā)明還提供一種路由器,包括接口板用于接收主機(jī)發(fā)送的報(bào)文,并向所述主機(jī)發(fā)送查詢報(bào)文;在規(guī)定時(shí)間內(nèi)未收到所述主機(jī)發(fā)送的組播組狀態(tài)報(bào)文時(shí),根據(jù)所述主機(jī)發(fā)送的報(bào)文更新組播組狀態(tài),并發(fā)送預(yù)置數(shù)目的所述主機(jī)發(fā)送的報(bào)文;主控板,用于接收所述接口板發(fā)送的所述預(yù)置數(shù)目的所述主機(jī)發(fā)送的報(bào)文,根據(jù)所述預(yù)置數(shù)目的所述主機(jī)發(fā)送的報(bào)文更新所述組播組的狀態(tài)。
以上技術(shù)方案可以看出,由于本發(fā)明中接口板收到組播組狀態(tài)改變報(bào)文后,向網(wǎng)絡(luò)中第二主機(jī)發(fā)送查詢報(bào)文,查詢網(wǎng)絡(luò)中第二主機(jī)當(dāng)前的組播組狀態(tài),若接口板收到第二主機(jī)發(fā)送的組播組狀態(tài)報(bào)文,則將組播組定時(shí)器歸零,在未收到網(wǎng)絡(luò)中第二主機(jī)發(fā)送的源查詢報(bào)文時(shí),才向主控板發(fā)送預(yù)置數(shù)目的組播組狀態(tài)改變報(bào)文;這樣路由器接口板分別處理自身接收到的報(bào)文,將都需要由主控板處理的報(bào)文分散由接收該報(bào)文的接口板處理,減少接口板與主控板之間總線的數(shù)據(jù)流量,防止造成接口板與主控板之間總是上數(shù)據(jù)擁塞,有效地加快了路由器處理網(wǎng)絡(luò)中主機(jī)發(fā)送報(bào)文的速度。
圖1是本發(fā)明實(shí)施例提供的報(bào)文上送總的方法圖;圖2是本發(fā)明實(shí)施例提供的組播組源狀態(tài)改變報(bào)文上送的方法圖;圖3是本發(fā)明實(shí)施例提供的加入報(bào)文上送的方法圖;圖4是本發(fā)明實(shí)施例提供的離開報(bào)文上送的方法圖;圖5是本發(fā)明實(shí)施例提供的接口板結(jié)構(gòu)圖;圖6是本發(fā)明實(shí)施例提供的路由器結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供一種報(bào)文上送的方法、接口板及路由器,提高路由器處理報(bào)文的效率。
請(qǐng)參閱圖1是本發(fā)明提供的報(bào)文上送總的方法圖。
本發(fā)明實(shí)施例中報(bào)文上送可以理解為路由器接口板收到網(wǎng)絡(luò)中主機(jī)發(fā)送的報(bào)文后,經(jīng)過相應(yīng)的處理發(fā)送給路由器主控板。
S1)接口板接收第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文;為描述方便,本發(fā)明實(shí)施例定義第一主機(jī)為網(wǎng)絡(luò)中向路由器發(fā)送組播組狀態(tài)改變報(bào)文的主機(jī)。
S2)接口板向第二主機(jī)發(fā)送查詢報(bào)文;為描述方便,本發(fā)明實(shí)施例定義第二主機(jī)為網(wǎng)絡(luò)中未向接口板發(fā)送組播組狀態(tài)改變報(bào)文的主機(jī)。接口板向第二主機(jī)發(fā)送查詢報(bào)文,詢問網(wǎng)絡(luò)中未發(fā)送組播組狀態(tài)改變報(bào)文的主機(jī)是否也要進(jìn)行組播組狀態(tài)的改變;若接口板在規(guī)定時(shí)間內(nèi)收到主機(jī)反饋的當(dāng)前組播組狀態(tài)報(bào)文,則執(zhí)行步驟S3);若接口板在規(guī)定時(shí)間內(nèi)未收到網(wǎng)絡(luò)中第二主機(jī)反饋的當(dāng)前組播組狀態(tài)報(bào)文,則執(zhí)行步驟S4)。
S3)組播組定時(shí)器歸零;若接口板在規(guī)定時(shí)間內(nèi)收到第二主機(jī)反饋的當(dāng)前組播組狀態(tài)報(bào)文,組播組定時(shí)器歸零,不再執(zhí)行以下的步驟,結(jié)束該流程。路由器中存儲(chǔ)的組播組列表,路由器會(huì)在定時(shí)器時(shí)間內(nèi)更新列表中每個(gè)組播組的狀態(tài);組播組列表更新后,組播組定時(shí)器歸零,重新開始計(jì)時(shí)。
需要說明的是,當(dāng)接口板收到第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文時(shí),會(huì)向第二主機(jī)發(fā)送若干個(gè)最后成員查詢報(bào)文,查詢發(fā)送組播組狀態(tài)改變報(bào)文的第一主機(jī)是否是該組播組中最后一個(gè)主機(jī);接口板在一定的時(shí)間間隔內(nèi)分別發(fā)送若干個(gè)最后成員查詢報(bào)文,該時(shí)間間隔稱為最后成員查詢間隔,接口板發(fā)送完若干個(gè)最后成員查詢報(bào)文的次數(shù)稱為最后成員查詢次數(shù)。接口板在規(guī)定時(shí)間內(nèi)接收到主機(jī)反饋的當(dāng)前組播組狀態(tài)報(bào)文中所述的規(guī)定時(shí)間具體為最后成員查詢間隔與最后成員查詢次數(shù)相乘得到的值。在接口板發(fā)送最后成員查詢報(bào)文的過程中,若收到第二主機(jī)發(fā)送的當(dāng)前組播組狀態(tài)報(bào)文,不再發(fā)送最后成員查詢報(bào)文。
S4)接口板根據(jù)組播組狀態(tài)改變報(bào)文更新組播組狀態(tài);接口板在規(guī)定時(shí)間內(nèi)未收到主機(jī)反饋的當(dāng)前組播組狀態(tài)報(bào)文時(shí),根據(jù)組播組狀態(tài)改變報(bào)文更新組播組狀態(tài),并執(zhí)行S5)。
接口板在規(guī)定時(shí)間內(nèi)未接收到主機(jī)反饋的當(dāng)前組播組狀態(tài)報(bào)文中所述的規(guī)定時(shí)間具體為最后成員查詢間隔與最后成員查詢次數(shù)相乘得到的值。
S5)接口板向主控板發(fā)送預(yù)置數(shù)目的組播組狀態(tài)改變報(bào)文;接口板收到網(wǎng)絡(luò)中第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文后,若這些組播組狀態(tài)改變報(bào)文引起組播組當(dāng)前狀態(tài)發(fā)生改變,接口板會(huì)將第一主機(jī)發(fā)送的組播組改變報(bào)文中的一個(gè)或者幾個(gè)發(fā)送給主控板。
預(yù)置數(shù)目的組播組改變報(bào)文是在接口板中預(yù)先設(shè)置的,接口板向主控板發(fā)送組播組狀態(tài)改變報(bào)文的數(shù)目,可以設(shè)置為1、2、3等。本發(fā)明實(shí)施例優(yōu)選設(shè)置的預(yù)置數(shù)目為1或2。設(shè)置預(yù)置數(shù)目,使得接口板向主控板上報(bào)的報(bào)文數(shù)量遠(yuǎn)遠(yuǎn)小于接口板接收到的報(bào)文數(shù)量,減少主控板的工作,加快路由器處理報(bào)文的速度。
S6)主控板根據(jù)組播組狀態(tài)報(bào)文更新組播組狀態(tài)。
本發(fā)明實(shí)施例設(shè)置主控板中組播組定時(shí)器不超時(shí),主控板在收到組播組狀態(tài)改變報(bào)文后,直接根據(jù)組播組狀態(tài)改變報(bào)文修改自身儲(chǔ)存的組播組狀態(tài)。
根據(jù)上述報(bào)文上送總的方法圖,本發(fā)明提供不同內(nèi)容的報(bào)文上送的實(shí)施例。
如下提供按照不同的組播組狀態(tài)改變報(bào)文,闡述接口板收到報(bào)文后的處理步驟以及主控板的處理步驟。
請(qǐng)參閱圖2是組播組源狀態(tài)改變報(bào)文的上送實(shí)施例圖。
A1)接口板收到第一主機(jī)發(fā)送的組播組源狀態(tài)改變報(bào)文;在路由器存在的網(wǎng)絡(luò)中,本發(fā)明實(shí)施例中第一主機(jī)為網(wǎng)絡(luò)中向路由器發(fā)送組播組狀態(tài)改變報(bào)文的主機(jī)。
A2)接口板向第二主機(jī)發(fā)送源查詢報(bào)文;本發(fā)明實(shí)施例中,網(wǎng)絡(luò)中第二主機(jī)為網(wǎng)絡(luò)中未向接口板發(fā)送組播組源狀態(tài)改變報(bào)文的主機(jī)。接口板向網(wǎng)絡(luò)中第二主機(jī)發(fā)送源查詢報(bào)文,詢問網(wǎng)絡(luò)中未發(fā)送源查詢報(bào)文的主機(jī)是否也要進(jìn)行組播組源狀態(tài)的改變;接口板在規(guī)定時(shí)間內(nèi)收到主機(jī)反饋的當(dāng)前組播組源狀態(tài)報(bào)文時(shí),執(zhí)行步驟A3);接口板在規(guī)定時(shí)間內(nèi)未收到網(wǎng)絡(luò)中第二主機(jī)反饋的當(dāng)前組播組源狀態(tài)報(bào)文時(shí),執(zhí)行步驟A4)。上述規(guī)定時(shí)間具體為最后成員查詢間隔與最后成員查詢次數(shù)相乘得到的值。
A3)組播組定時(shí)器歸零;接口板將組播組定時(shí)器歸零。需要說明的是,若組播組定時(shí)器超時(shí),接口板刪除組播組;接口板向所述主控板發(fā)送離開報(bào)文,主控板收到接口板發(fā)送的離開報(bào)文后刪除離開報(bào)文中記錄的組播組。
A4)接口根據(jù)所述組播組源狀態(tài)改變報(bào)文修改組播組源狀態(tài);
情形1假設(shè)當(dāng)前組的狀態(tài)為INCLUDE(A),接口板收到網(wǎng)絡(luò)中第一主機(jī)上送的組播組狀態(tài)改變報(bào)文為TO_IN(B)報(bào)文(TO_IN(B)報(bào)文表示組的源列表改為B集合),則接口板將組的源狀態(tài)修改為INCLUDE(B)。
情形2假設(shè)當(dāng)前組的狀態(tài)為INCLUDE(A),接口板收到網(wǎng)絡(luò)中第一主機(jī)上送的TO_EX(B)報(bào)文,則接口板將組的源狀態(tài)修改為EXCLUDE(NULL,B)。EXCLUDE(NULL,B)表示除了B集合外的源都可接收。
情形3假設(shè)當(dāng)前組的狀態(tài)為INCLUDE(A),接口板收到網(wǎng)絡(luò)中第一主機(jī)的ALLOW(B)報(bào)文,則接口板將組的源狀態(tài)修改為INCLUDE(A+B)。
情形4假設(shè)當(dāng)前組的狀態(tài)為INCLUDE(A),接口板收到網(wǎng)絡(luò)中第一主機(jī)的BLOCK(B)報(bào)文,則接口板將組的源狀態(tài)修改為INCLUDE(A-B)。
情形5假設(shè)當(dāng)前組的狀態(tài)為EXCLUDE(X,Y),接口板收到網(wǎng)絡(luò)中第一主機(jī)TO_IN(A)報(bào)文,則接口板將組的源狀態(tài)修改為INCLUDE(A)。
情形6假設(shè)當(dāng)前組的狀態(tài)為EXCLUDE(X,Y),接口板收到網(wǎng)絡(luò)中第一主機(jī)TO_EX(A)報(bào)文,則接口板將組的源狀態(tài)修改為EXCLUDE(NULL,A)。
情形7假設(shè)當(dāng)前組的狀態(tài)為EXCLUDE(X,Y),接口板收到網(wǎng)絡(luò)中第一主機(jī)ALLOW(A)報(bào)文,則接口板將組的源狀態(tài)修改為EXCLUDE(X+A,Y-A)。
情形8假設(shè)當(dāng)前組的狀態(tài)為EXCLUDE(X,Y),接口板收到網(wǎng)絡(luò)中第一主機(jī)BLOCK(A)報(bào)文,則接口板將組的源狀態(tài)修改為EXCLUDE(X-A,Y+A)。
A5)接口板向主控板發(fā)送預(yù)置數(shù)目的組播組源狀態(tài)改變報(bào)文;預(yù)置數(shù)目的組播組改變報(bào)文是在接口板中預(yù)先設(shè)置的向主控板發(fā)送組播組源狀態(tài)改變報(bào)文的數(shù)目,可以設(shè)置為1、2、3等。本領(lǐng)域技術(shù)人員根據(jù)當(dāng)前網(wǎng)絡(luò)狀況和路由器的工作性進(jìn)行設(shè)置;本發(fā)明實(shí)施例優(yōu)選設(shè)置的預(yù)置數(shù)目為1或2。設(shè)置預(yù)置數(shù)目,使得接口板向主控板上報(bào)的報(bào)文數(shù)量遠(yuǎn)遠(yuǎn)小于接口板接收到的報(bào)文數(shù)量,減少主控板的工作,加快路由器處理報(bào)文的速度。
A6)主控板根據(jù)組播組源狀態(tài)報(bào)文修改主控板存儲(chǔ)的組播組的源狀態(tài);主控板收到組播組源狀態(tài)改變報(bào)文后,根據(jù)組播組狀態(tài)改變的信息修改主控板存儲(chǔ)的組播組的狀態(tài)。
主控板上設(shè)置組定時(shí)器不超時(shí)。
主控板收到接口板上送的組播組源狀態(tài)報(bào)文(Report)報(bào)文后,組播組的狀態(tài)發(fā)生如下的改變情形1假設(shè)當(dāng)前組的狀態(tài)為INCLUDE(A),收到接口板上送的TO_IN(B)報(bào)文,則組的狀態(tài)轉(zhuǎn)變?yōu)镮NCLUDE(B)。
情形2假設(shè)當(dāng)前組的狀態(tài)為INCLUDE(A),收到接口板上送的TO_EX(B)報(bào)文,則組的狀態(tài)轉(zhuǎn)變?yōu)镋XCLUDE(NULL,B)。(EXCLUDE(NULL,B)表示除了B集合外的源都可接收)情形3假設(shè)當(dāng)前組的狀態(tài)為INCLUDE(A),收到接口板上送的ALLOW(B)報(bào)文,則組的狀態(tài)轉(zhuǎn)變?yōu)镮NCLUDE(A+B)。
情形4假設(shè)當(dāng)前組的狀態(tài)為INCLUDE(A),收到接口板上送的BLOCK(B)報(bào)文,則組的狀態(tài)轉(zhuǎn)變?yōu)镮NCLUDE(A-B)。
情形5假設(shè)當(dāng)前組的狀態(tài)為EXCLUDE(X,Y),收到接口板上送的TO_IN(A)報(bào)文,則組的狀態(tài)轉(zhuǎn)變?yōu)镮NCLUDE(A)。
情形6假設(shè)當(dāng)前組的狀態(tài)為EXCLUDE(X,Y),收到接口板上送的TO_EX(A)報(bào)文,則組的狀態(tài)轉(zhuǎn)變?yōu)镋XCLUDE(NULL,A)。
情形7假設(shè)當(dāng)前組的狀態(tài)為EXCLUDE(X,Y),收到接口板上送的ALLOW(A)報(bào)文,則組的狀態(tài)轉(zhuǎn)變?yōu)镋XCLUDE(X+A,Y-A)。
情形8假設(shè)當(dāng)前組的狀態(tài)為EXCLUDE(X,Y),收到接口板上送的BLOCK(A)報(bào)文,則組的狀態(tài)轉(zhuǎn)變?yōu)镋XCLUDE(X-A,Y+A)。
至此,路由器對(duì)于網(wǎng)絡(luò)中發(fā)送的引起組播組源狀態(tài)發(fā)生改變的報(bào)文的處理結(jié)束。
請(qǐng)參閱圖3是本發(fā)明實(shí)施例提供的加入報(bào)文上送的實(shí)施例圖。
B1)接口板收到第一主機(jī)發(fā)送的加入報(bào)文;為描述方便,本發(fā)明實(shí)施例定義第一主機(jī)為網(wǎng)絡(luò)中向路由器發(fā)送加入報(bào)文的主機(jī)。
接口板中存儲(chǔ)所述第一主機(jī)發(fā)送的加入報(bào)文中記錄的組播組時(shí),執(zhí)行步驟B2);接口板中未存儲(chǔ)所述第一主機(jī)發(fā)送的加入報(bào)文中記錄的組播組時(shí),執(zhí)行步驟B3)。
B2)接口板將組播組定時(shí)器歸零,并將第一主機(jī)添加到組播組;接口板將組播組定時(shí)器歸零,并將第一主機(jī)添加到加入報(bào)文中記錄的組播組中,不再執(zhí)行以下的步驟。
需要說明的是,若組播組定時(shí)器超時(shí),接口板刪除組播組,向所述主控板發(fā)送離開報(bào)文,所述主控板刪除所述離開報(bào)文中記錄的組播組。
路由器中存儲(chǔ)的組播組列表,路由器會(huì)在定時(shí)器時(shí)間內(nèi)更新列表中每個(gè)組播組的狀態(tài);組播組列表更新后,組播組定時(shí)器歸零,重新開始計(jì)時(shí)。
B3)接口板添加所述組播組,并向主控板發(fā)送預(yù)置數(shù)目的加入報(bào)文;預(yù)置數(shù)目的加入報(bào)文是在接口板中預(yù)先設(shè)置的向主控板發(fā)送加入報(bào)文的數(shù)目,可以設(shè)置為1、2、3等。本領(lǐng)域技術(shù)人員根據(jù)當(dāng)前網(wǎng)絡(luò)狀況和路由器的工作性進(jìn)行設(shè)置;本發(fā)明實(shí)施例優(yōu)選設(shè)置的預(yù)置數(shù)目為1或2。設(shè)置預(yù)置數(shù)目,使得接口板向主控板上報(bào)的報(bào)文數(shù)量遠(yuǎn)遠(yuǎn)小于接口板接收到的報(bào)文數(shù)量,減少主控板的工作,加快路由器處理報(bào)文的速度。接口板將網(wǎng)絡(luò)中第一主機(jī)發(fā)送的加入報(bào)文以Report報(bào)文形式發(fā)送給主控板;在接口板添加該加入報(bào)文中記錄的組播組,執(zhí)行步驟B4)。
B4)主控板添加加入報(bào)文中記錄的組播組;主控板存儲(chǔ)加入報(bào)文中記錄的組播組。
請(qǐng)參閱圖4是本發(fā)明實(shí)施例提供的離開報(bào)文上送的實(shí)施例圖。
C1)接口板收到第一主機(jī)發(fā)送的離開報(bào)文;為描述方便,本發(fā)明實(shí)施例定義第一主機(jī)為向路由器接口板發(fā)送離開報(bào)文的主機(jī)。
C2)接口板向第二主機(jī)發(fā)送組查詢報(bào)文;為描述方便,本發(fā)明實(shí)施例定義第二主機(jī)為網(wǎng)絡(luò)中未向路由器發(fā)送離開報(bào)文的主機(jī)。
組查詢報(bào)文為路由器向主機(jī)發(fā)送的詢問主機(jī)是否要退出離開報(bào)文中記錄的組播組。接口板在規(guī)定時(shí)間內(nèi)收到網(wǎng)絡(luò)中第二主機(jī)發(fā)送的加入報(bào)文時(shí),執(zhí)行步驟C3),接口板在規(guī)定時(shí)間內(nèi)未收到網(wǎng)絡(luò)中第二主機(jī)發(fā)送的加入報(bào)文時(shí),執(zhí)行步驟C4)。上述規(guī)定時(shí)間具體為最后成員查詢間隔與最后成員查詢次數(shù)相乘得到的值。
需要說明的是,若組播組定時(shí)器超時(shí),接口板刪除組播組;接口板向所述主控板發(fā)送離開報(bào)文,所述主控板刪除所述離開報(bào)文中記錄的組播組。
C3)丟棄離開報(bào)文,并將組播組定時(shí)器歸零;丟棄主機(jī)發(fā)送的離開報(bào)文,接口板不會(huì)修改其存儲(chǔ)的組播組。路由器中存儲(chǔ)的組播組列表,路由器會(huì)在定時(shí)器時(shí)間內(nèi)更新列表中每個(gè)組播組的狀態(tài);組播組列表更新后,組播組定時(shí)器歸零,重新開始計(jì)時(shí)。
C4)接口板刪除離開報(bào)文中記錄的組播組;接口板刪除自身存儲(chǔ)的離開報(bào)文中記錄的組播組的記錄項(xiàng)。
C5)接口板向主控板發(fā)送預(yù)置數(shù)目的離開報(bào)文;預(yù)置數(shù)目的離開報(bào)文為在接口板中預(yù)先設(shè)置的向主控板發(fā)送離開報(bào)文的數(shù)目,可以設(shè)置為1、2、3等。本領(lǐng)域技術(shù)人員根據(jù)當(dāng)前網(wǎng)絡(luò)狀況和路由器的工作性進(jìn)行設(shè)置;本發(fā)明實(shí)施例優(yōu)選設(shè)置的預(yù)置數(shù)目為1或2。設(shè)置預(yù)置數(shù)目,使得接口板向主控板上報(bào)的報(bào)文數(shù)量遠(yuǎn)遠(yuǎn)小于接口板接收到的報(bào)文數(shù)量,減少主控板的工作,加快路由器處理報(bào)文的速度。
接口板將主機(jī)發(fā)送的離開報(bào)文以Report報(bào)文的形式發(fā)送給主控板。
C6)主控板刪除離開報(bào)文中記錄的組播組;主控板收到離開報(bào)文后,刪除自身存儲(chǔ)的離開報(bào)文中記錄的組播組的記錄項(xiàng)。
請(qǐng)參閱圖5是本發(fā)明實(shí)施例提供的接口板結(jié)構(gòu)圖。
若接口板上送的組播組狀態(tài)改變報(bào)文為組播組源狀態(tài)改變報(bào)文,接口板包括第一報(bào)文接收單元110,用于接收第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文;查詢報(bào)文發(fā)送單元120,用于在所述第一報(bào)文接收單元收到所述組播組狀態(tài)改變報(bào)文后,向第二主機(jī)發(fā)送查詢報(bào)文;更新單元130,用于根據(jù)所述第一報(bào)文接收單元接收的所述組播組狀態(tài)改變報(bào)文更新接口板中存儲(chǔ)的所述組播組狀態(tài);發(fā)送單元140,用于將預(yù)置數(shù)目的所述第一報(bào)文接收單元接收的組播組狀態(tài)改變報(bào)文發(fā)送到主控板。
網(wǎng)絡(luò)中存在第二主機(jī)收到接口板發(fā)送的查詢報(bào)文后,向接口板發(fā)送組播組狀態(tài)報(bào)文時(shí),所述接口板還包括第二報(bào)文接收單元150,用于在所述查詢報(bào)文發(fā)送單元向第二主機(jī)發(fā)送查詢報(bào)文后,接收第二主機(jī)反饋的組播組狀態(tài)報(bào)文;定時(shí)器處理單元160,用于在規(guī)定時(shí)間內(nèi)所述第二報(bào)文接收單元收到網(wǎng)絡(luò)中第二主機(jī)反饋的組播組狀態(tài)報(bào)文時(shí),將組播組定時(shí)器歸零。
若網(wǎng)絡(luò)中第一主機(jī)向接口板發(fā)送的組播組狀態(tài)改變報(bào)文為加入報(bào)文,接口板的結(jié)構(gòu)如下第一報(bào)文接收單元110,用于接收第一主機(jī)發(fā)送的加入報(bào)文;存儲(chǔ)單元170,用于存儲(chǔ)組播組列表;添加單元180,用于在所述存儲(chǔ)單元中未存儲(chǔ)所述第一報(bào)文接收單元接收的加入報(bào)文中記錄的組播組時(shí),添加所述加入報(bào)文中記錄的組播組;發(fā)送單元140,用于將所述第一報(bào)文接收單元接收的加入報(bào)文發(fā)送到主控板。
由于接口板存儲(chǔ)單元存儲(chǔ)的組播組列表的不同,所述接口板還包括定時(shí)器處理單元160;所述定時(shí)器處理單元160,用于在所述存儲(chǔ)單元存儲(chǔ)所述第一報(bào)文接收單元接收的加入報(bào)文中記錄的組播組時(shí),將組播組定時(shí)器歸零;所述添加單元180將第一主機(jī)添加到所述第一接收單元接收的加入報(bào)文記錄的組播組中。
上述根據(jù)上送報(bào)文的不同分別描述接口板的內(nèi)部結(jié)構(gòu),但接口板同時(shí)可以上送組播組源狀態(tài)改變報(bào)文,加入報(bào)文和離開報(bào)文,因此根據(jù)報(bào)文的不同描述的接口板的不同結(jié)構(gòu)都存在于一個(gè)接口板中。
為完整地實(shí)現(xiàn)本發(fā)明方法實(shí)施例,本發(fā)明實(shí)施例還提供路由器的結(jié)構(gòu)圖。請(qǐng)參閱圖6是本發(fā)明實(shí)施例提供的路由器結(jié)構(gòu)圖。
如圖所示,路由器包括接口板100用于接收主機(jī)發(fā)送的報(bào)文,并向所述主機(jī)發(fā)送查詢報(bào)文;在規(guī)定時(shí)間內(nèi)未收到所述主機(jī)發(fā)送的組播組狀態(tài)報(bào)文時(shí),根據(jù)所述主機(jī)發(fā)送的報(bào)文更新組播組狀態(tài),并發(fā)送預(yù)置數(shù)目的所述主機(jī)發(fā)送的報(bào)文;主控板200,用于接收所述接口板發(fā)送的所述預(yù)置數(shù)目的所述主機(jī)發(fā)送的報(bào)文,根據(jù)所述預(yù)置數(shù)目的所述主機(jī)發(fā)送的報(bào)文更新所述組播組的狀態(tài)。
由于網(wǎng)絡(luò)中不同情況,對(duì)路由器接口板功能細(xì)化所述接口板100在規(guī)定時(shí)間內(nèi)收到所述主機(jī)發(fā)送的組播組狀態(tài)報(bào)文時(shí),將組播組定時(shí)器歸零。
需要說明的是,通常情況下一個(gè)路由器設(shè)備中存在多個(gè)接口板,而一個(gè)路由器設(shè)備中對(duì)應(yīng)存在一個(gè)主控板;每個(gè)接口板都與主控板相連。
由以上技術(shù)方案看出,本發(fā)明實(shí)施例分別闡述組播組源狀態(tài)改變報(bào)文和離開報(bào)文接口板的處理以及上報(bào)主控板,主控板的處理;具體報(bào)文的上送過程,方便實(shí)施。
進(jìn)一步的,由于本發(fā)明實(shí)施例中接口板收到加入報(bào)文后,若接口板自身存儲(chǔ)已經(jīng)存在加入報(bào)文中記錄的組播組,接口板只更新自身狀態(tài),而在接口板中沒有存儲(chǔ)加入報(bào)文中記錄的組播組,接口板才向主控板發(fā)送預(yù)置數(shù)目的加入報(bào)文;減少接口板與主控板之間加入報(bào)文的上送數(shù)量,減少總線上的數(shù)據(jù)流量。
進(jìn)一步的,本發(fā)明實(shí)施例中接口板中若組播組定時(shí)器超時(shí),接口板會(huì)刪除所述組播組,再向主控板發(fā)送所述組播組的離開報(bào)文,減少主控板處理工作量。
以上對(duì)本發(fā)明所提供的一種報(bào)文上送的方法、一種接口板及路由器進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種報(bào)文上送的方法,其特征在于,包括接口板接收第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文;接口板向第二主機(jī)發(fā)送查詢報(bào)文;在接口板在規(guī)定時(shí)間內(nèi)未收到第二主機(jī)反饋的組播組狀態(tài)報(bào)文時(shí),根據(jù)所述組播組狀態(tài)改變報(bào)文更新所述組播組狀態(tài),并向主控板發(fā)送預(yù)置數(shù)目的所述組播組狀態(tài)改變報(bào)文。
2.根據(jù)權(quán)利要求1所述的報(bào)文上送的方法,其特征在于,所述在規(guī)定時(shí)間內(nèi)收到第二主機(jī)反饋的組播組狀態(tài)報(bào)文時(shí),將組播組定時(shí)器歸零。
3.根據(jù)權(quán)利要求1所述的報(bào)文上送的方法,其特征在于,所述主控板收到所述預(yù)置數(shù)目的組播組狀態(tài)改變報(bào)文,根據(jù)所述預(yù)置數(shù)目的組播組狀態(tài)報(bào)文更新主控板存儲(chǔ)的所述組播組的狀態(tài)。
4.根據(jù)權(quán)利要求3所述的報(bào)文上送的方法,其特征在于,所述組播組狀態(tài)改變報(bào)文為組播組源狀態(tài)報(bào)文;所述查詢報(bào)文為源查詢報(bào)文。所述接口板接收第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文是組播組源狀態(tài)報(bào)文,所述接口板向第二主機(jī)發(fā)送的查詢報(bào)文是源查詢報(bào)文;所述接口板收到第二主機(jī)發(fā)送的組播組狀態(tài)報(bào)文是組播組源狀態(tài)報(bào)文;所述接口板向主控板發(fā)送預(yù)置數(shù)目的所述組播組狀態(tài)改變報(bào)文是組播組源狀態(tài)改變報(bào)文;所述主控板根據(jù)所述預(yù)置數(shù)目的組播組狀態(tài)報(bào)文更新主控板存儲(chǔ)的所述組播組的狀態(tài)是根據(jù)所述預(yù)置數(shù)目的源狀態(tài)改變報(bào)文修改主控板存儲(chǔ)的所述組播組的源狀態(tài)。
5.根據(jù)權(quán)利要求3所述的報(bào)文上送的方法,其特征在于,所述接口板接收第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文是離開報(bào)文,所述接口板向第二主機(jī)發(fā)送的查詢報(bào)文是組查詢報(bào)文;所述接口板在規(guī)定時(shí)間內(nèi)收到第二主機(jī)發(fā)送的組播組狀態(tài)報(bào)文是加入報(bào)文時(shí),所述接口板丟棄所述離開報(bào)文,并將組播組定時(shí)器歸零;所述接口板根據(jù)所述組播組狀態(tài)改變報(bào)文更新所述組播組狀態(tài)是刪除所述離開報(bào)文中記錄的組播組,并向主控板發(fā)送預(yù)置數(shù)目的所述組播組狀態(tài)改變報(bào)文是離開報(bào)文;所述主控板根據(jù)所述預(yù)置數(shù)目的組播組狀態(tài)報(bào)文更新主控板存儲(chǔ)的所述組播組的狀態(tài)是根據(jù)所述預(yù)置數(shù)目的,刪除所述離開報(bào)文中記錄的組播組。
6.根據(jù)權(quán)利要求4或5所述的報(bào)文上送的方法,其特征在于,若所述組播組定時(shí)器超時(shí),所述接口板刪除所述組播組,并向所述主控板發(fā)送離開報(bào)文;所述主控板刪除所述離開報(bào)文中記錄的組播組。
7.一種報(bào)文上送的方法,所述報(bào)文為加入報(bào)文,其特征在于,包括接口板接收第一主機(jī)發(fā)送的加入報(bào)文;所述接口板中未存儲(chǔ)所述第一主機(jī)發(fā)送的加入報(bào)文中記錄的組播組時(shí),接口板添加所述加入報(bào)文中記錄的組播組,并向主控板發(fā)送預(yù)置數(shù)目的所述加入報(bào)文。
8.根據(jù)權(quán)利要求7所述的報(bào)文上送的方法,其特征在于,所述接口板中存儲(chǔ)所述第一主機(jī)發(fā)送的加入報(bào)文中的組播組時(shí),接口板將所述組播組定時(shí)器歸零,將第一主機(jī)添加到所述加入報(bào)文記錄的組播組中。
9.根據(jù)權(quán)利要求8所述的報(bào)文上送的方法,其特征在于,主控板收到所述預(yù)置數(shù)目的加入報(bào)文,添加所述加入報(bào)文中記錄的組播組。
10.根據(jù)權(quán)利要求9所述的報(bào)文上送的方法,其特征在于,若所述組播組定時(shí)器超時(shí),所述接口板刪除所述組播組,并向所述主控板發(fā)送離開報(bào)文;所述主控板刪除所述離開報(bào)文中記錄的組播組。
11.一種接口板,其特征在于,包括第一報(bào)文接收單元,用于接收第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文;查詢報(bào)文發(fā)送單元,用于在所述第一報(bào)文接收單元收到所述組播組狀態(tài)改變報(bào)文后,向第二主機(jī)發(fā)送查詢報(bào)文;更新單元,用于根據(jù)所述第一報(bào)文接收單元接收的所述組播組狀態(tài)改變報(bào)文更新接口板中存儲(chǔ)的所述組播組狀態(tài);發(fā)送單元,用于將預(yù)置數(shù)目的所述第一報(bào)文接收單元接收的組播組狀態(tài)改變報(bào)文發(fā)送到主控板。
12.根據(jù)權(quán)利要求11所述的接口板,其特征在于,所述接口板還包括第二報(bào)文接收單元,用于在所述查詢報(bào)文發(fā)送單元向第二主機(jī)發(fā)送查詢報(bào)文后,接收第二主機(jī)反饋的組播組狀態(tài)報(bào)文;定時(shí)器處理單元,用于在規(guī)定時(shí)間內(nèi)所述第二報(bào)文接收單元收到網(wǎng)絡(luò)中第二主機(jī)反饋的組播組狀態(tài)報(bào)文時(shí),將組播組定時(shí)器歸零。
13.一種接口板,其特征在于,包括第一報(bào)文接收單元,用于接收第一主機(jī)發(fā)送的加入報(bào)文;存儲(chǔ)單元,用于存儲(chǔ)組播組列表;添加單元,用于在所述存儲(chǔ)單元中未存儲(chǔ)所述第一報(bào)文接收單元接收的加入報(bào)文中記錄的組播組時(shí),添加所述加入報(bào)文中記錄的組播組;發(fā)送單元,用于將所述第一報(bào)文接收單元接收的加入報(bào)文發(fā)送到主控板。
14.根據(jù)權(quán)利要求13所述的接口板,其特征在于,所述接口板還包括定時(shí)器;所述定時(shí)器處理單元,用于在所述存儲(chǔ)單元存儲(chǔ)所述第一報(bào)文接收單元接收的加入報(bào)文中記錄的組播組時(shí),將組播組定時(shí)器歸零;所述添加單元將第一主機(jī)添加到所述第一接收單元接收的加入報(bào)文記錄的組播組中。
15.一種路由器,其特征在于,包括接口板用于接收主機(jī)發(fā)送的報(bào)文,并向所述主機(jī)發(fā)送查詢報(bào)文;在規(guī)定時(shí)間內(nèi)未收到所述主機(jī)發(fā)送的組播組狀態(tài)報(bào)文時(shí),根據(jù)所述主機(jī)發(fā)送的報(bào)文更新組播組狀態(tài),并發(fā)送預(yù)置數(shù)目的所述主機(jī)發(fā)送的報(bào)文;主控板,用于接收所述接口板發(fā)送的所述預(yù)置數(shù)目的所述主機(jī)發(fā)送的報(bào)文,根據(jù)所述預(yù)置數(shù)目的所述主機(jī)發(fā)送的報(bào)文更新所述組播組的狀態(tài)。
全文摘要
本發(fā)明提供一種報(bào)文上送的方法及實(shí)現(xiàn)該方法的接口板及路由器,提高路由器處理報(bào)文的速率。報(bào)文上送的方法為接口板接收第一主機(jī)發(fā)送的組播組狀態(tài)改變報(bào)文;接口板向第二主機(jī)發(fā)送查詢報(bào)文;在接口板在規(guī)定時(shí)間內(nèi)未收到第二主機(jī)反饋的組播組狀態(tài)報(bào)文時(shí),根據(jù)所述組播組狀態(tài)改變報(bào)文更新所述組播組狀態(tài),并向主控板發(fā)送預(yù)置數(shù)目的所述組播組狀態(tài)改變報(bào)文。本發(fā)明有效地加快了路由器處理網(wǎng)絡(luò)中主機(jī)發(fā)送報(bào)文的速度。
文檔編號(hào)H04L12/16GK101052006SQ200710102080
公開日2007年10月10日 申請(qǐng)日期2007年5月14日 優(yōu)先權(quán)日2007年5月14日
發(fā)明者張海峰, 劉毅松, 周小牛, 程松明 申請(qǐng)人:華為技術(shù)有限公司