專利名稱:在網(wǎng)絡(luò)處理器上實現(xiàn)用戶端口二層互通的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在APP ( Agere Payload Plus )網(wǎng)絡(luò)處理器上實 J見用戶端口 二層互通的方法。
背景技術(shù):
在現(xiàn)有網(wǎng)絡(luò)中,DSLAM (數(shù)字用戶線4妻入復(fù)用端)往往是用 作一個半橋轉(zhuǎn)發(fā)系統(tǒng),用戶端口之間經(jīng)常是無法互通的。 <旦是,某
些特殊應(yīng)用對于DSLAM系統(tǒng)的用戶端口二層互通功能也^是出了要 求。在這種應(yīng)用中,對于乂人用戶端口進入DSLAM轉(zhuǎn)發(fā)系統(tǒng)的所有 報文,都會查詢MAC地址表得到目的端口后轉(zhuǎn)發(fā)。而目的端口可 以是DSLAM轉(zhuǎn)發(fā)系統(tǒng)中的任何端口 ,包括用戶端口。
然而,現(xiàn)有技術(shù)中,在進行組播復(fù)制時,容易產(chǎn)生廣播風暴。
發(fā)明內(nèi)容
考慮到上述問題而做出本發(fā)明,為此,本發(fā)明的主要目的在于, 沖是供一種在網(wǎng)絡(luò)處理器上實現(xiàn)用戶端口 二層互通的方法。
才艮據(jù)本發(fā)明的在網(wǎng)絡(luò)處理器上實現(xiàn)用戶端口 二層互通的方法, 包括以下步驟根據(jù)端口號確定端口所在的二級組播組的號碼;查 詢二級組播組是否存在,如果二級組播組不存在,則創(chuàng)建二級組播 組以及二級組一番組的環(huán)回DID (目標ID, Destination ID),并將環(huán)
4回DID添力口到只寸應(yīng)的一l及組4番纟且中;以及一夸端口的纟且^番DID添力口 到二級組^番組中。
此外,在該方法中,二纟及組l番組的號石馬等于端口號除以255。
此夕卜,在該方法中,在環(huán)回DID的腳本參凄t區(qū)中保存二纟及組4番 組的最小端口號和最大端口號。
此外,在該方法中,還包括對組播數(shù)據(jù)流的復(fù)制過程,復(fù)制過 程包括以下步驟對流入一級組一番組的組播凄t據(jù)流進行復(fù)制和轉(zhuǎn)發(fā); 以及獲得組纟番ft據(jù)流的源端口號,并確定源端口是否在二級組播組 中,如果源端口在二級組,燔組中,則將組播-凄t據(jù)流轉(zhuǎn)發(fā)到二^及組4番 組中除源端口之外的其他端口 ,否則,將組播數(shù)據(jù)流直接轉(zhuǎn)發(fā)的二 級組播組中。
此夕卜,在該方法中,確定源端口是否在二級組播組中的過程包 括判斷源端口號是否在最小端口號和最大端口號之間,如果源端 口號在最小端口號和最大端口號之間,則源端口在二級組一番ia中, 否則,源端口不在二鄉(xiāng)及isi番ia中。
此夕卜,在該方法中,通過環(huán)回頭中的標識位來表示源端口是否 在二級組l番組中。
此夕卜,在該方法中,當環(huán)回頭中的標識4立為1時表示源端口在
二級組,播組中,以及當標識位為0時表示源端口不在二級組4番組中。
通過本發(fā)明的上述方面,在進行組l番復(fù)制時需要跳過源端口 , 以避免產(chǎn)生廣纟番風暴。
本發(fā)明的其它特征和優(yōu)點將在隨后的i兌明書中闡述,并且,部 分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附 圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖i兌明
附圖用來^是供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部 分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的
限制。在附圖中
圖1是示出了根據(jù)本發(fā)明實施例的在網(wǎng)絡(luò)處理器上實現(xiàn)用戶端 口 二層互通的方法的流辟呈圖2是示出了組播組和組播DID的分配情況示意圖;以及
圖3是示出了組播數(shù)據(jù)流復(fù)制的流程圖。
具體實施例方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當理解,此 處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本 發(fā)明。
圖1是示出了根據(jù)本發(fā)明實施例的在網(wǎng)絡(luò)處理器上實現(xiàn)用戶端 口 二層互通的方法的流禾呈圖。
如圖l所示,包4舌以下步-驟步驟S102,才艮才居端口號確定端口 所在的二級組播組的號碼;步驟S104,查詢二級組播組是否存在, 如果二級組纟番組不存在,則創(chuàng)建二級組4番組以及二級組播組的環(huán)回 DID,并將環(huán)回DID添加到對應(yīng)的 一級組,潘組中;以及步馬聚S106, 將端口的組4番DID添加到二級組^番組中。
此外,在該方法中,二級組播組的號碼等于端口號除以255。
6此外,在該方法中,在環(huán)回數(shù)據(jù)標識的腳本參數(shù)區(qū)中保存二級 組兮番組的最小端口號和最大端口號。
此外,在該方法中,還包括對組播數(shù)據(jù)流的復(fù)制過程,復(fù)制過
程包括以下步驟對流入一級組播組的組播數(shù)據(jù)流進行復(fù)制和轉(zhuǎn)發(fā); 以及獲得組播數(shù)據(jù)流的源端口號,并確定源端口是否在二級組播組 中,如果源端口在二級組4番組中,則將組4番凄t據(jù)流轉(zhuǎn)發(fā)到二鄉(xiāng)及組4番 組中除源端口之外的其他端口 ,否則,將組一番數(shù)據(jù)流直接轉(zhuǎn)發(fā)的二 級組播組中。
此外,在該方法中,確定源端口是否在二級組一番組中的過,呈包 括判斷源端口號是否在最小端口號和最大端口號之間,如果源端 口號在最小端口號和最大端口號之間,則源端口在二級組纟番ia中, 否則,源端口不在二l及^U番ia中。
此夕卜,在該方法中,通過環(huán)回頭中的標識位來表示源端口是否 在二級組^番組中。
此外,在該方法中,當環(huán)回頭中的標識位為i時表示源端口在 二級組,播組中,以及當標識位為o時表示源端口不在二級組4番組中。
圖2是示出了組播組和組播DID的分配情況示意圖。圖3是示 出了組播數(shù)據(jù)流復(fù)制的流程圖。
結(jié)合圖2和圖3進行詳細描述。其中,圖3中,黑色箭頭表示 數(shù)據(jù)流的走向。
本發(fā)明的實現(xiàn)主要包括兩個方面, 一是向組播組中添加端口的 流程,二是組#番#:據(jù)流的復(fù)制流程。
向組^番組/VLAN中添加用戶的流程如下步驟1,端口所在的二級組播組號=端口號/255;
步馬聚2,查詢對應(yīng)的二l及組纟番組是否為空;
步驟3,如果該二級組播組為空,那么創(chuàng)建該二級組播組,同 時創(chuàng)建其對應(yīng)環(huán)回DID并將該組播組中的最小端口號和最大端口號 存》文在其SED扭卩本參凄t區(qū)中,最后將該環(huán)回DID添加到一《及組播 纟且中;以及
步驟4,將端口的組一番DID添加到該二級組播組中。
組播數(shù)據(jù)流進入一級組播組后,首先在其中進行復(fù)制和轉(zhuǎn)發(fā)。 復(fù)制出來的數(shù)據(jù)流拷貝,全部被發(fā)往環(huán)回GE(千兆以太網(wǎng))口。 在環(huán)回DID的SED腳本中,首先耳又出fTransmit()傳送過來的源端口 號,并將其和SED腳本參數(shù)區(qū)中存》丈的最小和最大端口號進行比 凈交,以判斷源端口是否在該環(huán)回DID對應(yīng)的二級組,播組中。如果源 端口不在對應(yīng)的二級組播組中,那么將環(huán)回頭中的SkipSendFlag清 零,查表得到與環(huán)回DID相對應(yīng)的二級組,潘組DID,并將其i真到環(huán) 回頭中去。如果源端口在對應(yīng)的二級組播組中,那么將環(huán)回頭中的 SkipSendFlag i殳置為1,查表得到源端口對應(yīng)的組纟番DID,并將其 填到 SED腳本參#t區(qū)中(SED肚卩本參區(qū)的結(jié)構(gòu)為 SkipSendFlag: lByte+ 二級組#番組 DID:3Bytes+源端口組播 DID:3Bytes)。經(jīng)過環(huán)回DID之后,才艮文蜂皮再次環(huán)回到環(huán)回口 。在 這里,F(xiàn)PL首先查看SkipSendFlag位。如果該位為0,那么直接取 出環(huán)回頭中二級組播組DID,并將報文fTransmit()過去。否則,取 出環(huán)回頭中的源端口組^番DID ,并將才艮文fTransmit()過去。
綜上所述,通過本發(fā)明,在進行組播復(fù)制時需要跳過源端口 , 以避免產(chǎn)生廣播風暴。
8以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明, 對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在 本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等, 均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種在網(wǎng)絡(luò)處理器上實現(xiàn)用戶端口二層互通的方法,其特征在于,包括以下步驟根據(jù)端口號確定所述端口所在的二級組播組的號碼;查詢所述二級組播組是否存在,如果所述二級組播組不存在,則創(chuàng)建所述二級組播組以及所述二級組播組的環(huán)回DID,并將所述環(huán)回DID添加到對應(yīng)的一級組播組中;以及將所述端口的組播DID添加到所述二級組播組中。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述二級組4番組的 號碼等于所述端口號除以255。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述環(huán)回DID 的腳本參數(shù)區(qū)中保存所述二級組播組的最小端口號和最大端口號。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括對組播數(shù)據(jù) 流的復(fù)制過程,所述復(fù)制過程包括以下步驟對流入所述一級組播組的所述組插-lt據(jù)流進行復(fù)制和轉(zhuǎn) 發(fā);以及獲得所述組插4t據(jù)流的源端口號,并確定所述源端口是否 在所述二級ifU番ia中,如果所述源端口在所述二級iai番ia中, 則將所述組纟番l史據(jù)流轉(zhuǎn)發(fā)到所述二級組播組中除所述源端口 之外的其4也端口,否則,將所述組插4t據(jù)流直4妄轉(zhuǎn)發(fā)的所述二 級組播組中。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述確定所述源端口是否在所述二級組播組中的過程包括判斷所述源端口號是否在所述最小端口號和所述最大端 口號之間,如果所述源端口號在所述最小端口號和所述最大端 口號之間,則所述源端口在所述二級組播組中,否則,所述源 端口不在所述二級組4番組中。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,通過所述環(huán)回頭中 的標識位來表示所述源端口是否在所述二級組播組中。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,當所述標識位為1 時表示所述源端口在所述二級組播組中,以及當所述標識位為 0時表示所述源端口不在所述二級組纟番組中。
全文摘要
本發(fā)明公開了在網(wǎng)絡(luò)處理器上實現(xiàn)用戶端口二層互通的方法,包括以下步驟根據(jù)端口號確定端口所在的二級組播組的號碼;查詢二級組播組是否存在,如果二級組播組不存在,則創(chuàng)建二級組播組以及二級組播組的環(huán)回DID(Destination ID),并將環(huán)回DID添加到對應(yīng)的一級組播組中;以及將端口的組播DID添加到二級組播組中。通過本發(fā)明,可以避免在用戶端口二層互通打開情況下的組播復(fù)制中產(chǎn)生廣播風暴。
文檔編號H04L12/46GK101494581SQ20081000082
公開日2009年7月29日 申請日期2008年1月22日 優(yōu)先權(quán)日2008年1月22日
發(fā)明者煒 吳, 吳國勝 申請人:中興通訊股份有限公司