專利名稱::點到點僅單播的分組交換系統(tǒng)的組播/廣播擴展的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種用于在網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)分組的系統(tǒng)和方法,更具體地涉及通過增加組播/廣播擴展在點到點僅單播的分組交換系統(tǒng)中廣播或組播數(shù)據(jù)分組。
背景技術(shù):
:點到點僅單播的分組交換系統(tǒng)是一種通過在駐留于交換機中的路由表中查找分組的目的地標(biāo)識來經(jīng)由點到點鏈路交換該分組的系統(tǒng)。通過在沿著路由的每個交換機處精細(xì)地構(gòu)造路由表,可以經(jīng)由這些點到點鏈路中的多個鏈路路由分組。術(shù)語"單播"意味著分組只能具有一個目的地。RapidIO規(guī)范是一種點到點僅單播的分組交換系統(tǒng)并且在傳輸層上定義允許單個源和目的地的分組類型。圖2是傳輸報頭定義位流的傳統(tǒng)分組結(jié)構(gòu),并且是RapidIO規(guī)范修訂1.2的第III-10頁中的圖l-3的再現(xiàn)。添加到邏輯分組202和205中的三個字段(即,U字段201、目的地ID字段203和源ID字段204)允許兩個不同的設(shè)備標(biāo)志(ID)字段尺寸一大尺寸(16位)和小尺寸(8位)。兩個設(shè)備ID字段尺寸允許兩個不同的系統(tǒng)可伸縮性點,以優(yōu)化分組報頭開銷,并且如果需要附加的尋址,則僅添加附加的傳輸字段開銷。小的設(shè)備ID字段允許最多256個設(shè)備(例如交換機)連接到網(wǎng)絡(luò)上,而大的設(shè)備ID字段允許系統(tǒng)具有多達(dá)65536個設(shè)備。在此不提供對該圖的剩余部分的描述。RapidIO分組交換系統(tǒng)不包括組播和廣播能力。組播被定義為同時向選定的網(wǎng)絡(luò)元件群組傳輸相同的分組;一個簡單的組播實例是向郵寄列表發(fā)送e-mail消息。廣播被定義為同時向所有網(wǎng)絡(luò)元件傳輸相同的分組。組播和廣播之間的區(qū)別在于組播涉及向選定的網(wǎng)絡(luò)元件群組傳輸分組而廣播涉及向所有網(wǎng)絡(luò)元件傳輸分組。為了使RapidIO分組交換系統(tǒng)支持組播和廣播功能,一種傳統(tǒng)的解決方案是將分組復(fù)制為多個單播分組,以便所有可能的目的地都接收到一個這樣的單播分組。另一種傳統(tǒng)的解決方案包括通常通過分組有效負(fù)載中的專用字段(例如,使用RapidIO規(guī)范的ftype=15(0xF)來描述用戶定義的分組格式,該分組格式的有效負(fù)載可以被定義為包含用于組播傳輸?shù)淖侄?來改變該系統(tǒng)。
發(fā)明內(nèi)容本發(fā)明提供一種用于通過設(shè)備的單播分組交換網(wǎng)絡(luò)來路由組播分組的方法和系統(tǒng)。定義包括組播分組的目的地設(shè)備的虛擬目的地群組,然后將該虛擬目的地群組映射為設(shè)備的路由表中的未使用的單播目的地編碼。然后,使用路由表將組播分組從源設(shè)備路由到目的地設(shè)備。根據(jù)下面的詳細(xì)說明和本發(fā)明的說明性實施例的附圖,本發(fā)明的上述和其它特征將更容易顯而易見,其中圖1舉例說明按照本發(fā)明的一個實施例的系統(tǒng)操作的實例;以及圖2舉例說明如由RapidIO規(guī)范所定義的傳統(tǒng)分組結(jié)構(gòu)的實例。具體實施方式A.系統(tǒng)概述本發(fā)明涉及用于在點到點僅單播的分組交換系統(tǒng)中在不修改數(shù)據(jù)方法。本發(fā)明使用如RapidIO規(guī)范或其它類似的規(guī)范所定義的單播分組格式,并且通過增加組播/廣播擴展來覆蓋組播和廣播能力。這是通過以下方式的組合來實現(xiàn)的(1)將虛擬目的地群組(VDG)映射到單播目的地字段,(2)使用特定的路由表格式,以及(3)使用組播感知(aware)分組緩沖器管理。B.單播分組格式的組播/廣播擴展1.將VDG映射到單播目的地字段虛擬目的地群組被定義為系統(tǒng)中的特定的組播目的地表。例如,如果分組必須由設(shè)備(例如交換機或處理器)1和2接收,則創(chuàng)建列舉設(shè)備1和2的虛擬目的地群組VDG1。替代地,如果分組必須由設(shè)備l、2和3接收,則創(chuàng)建列舉設(shè)備1、2和3的虛擬目的地群組VDG2,因為1、2和1、2、3是要求單獨的VDG號的單獨的表。廣播分組是一種特殊情況,因為它包含所有目的地。因為一個設(shè)備的廣播目的地與另一個設(shè)備的目的地稍有不同,所以每個廣播設(shè)備需要它自己的廣播VDG分配。通過將VDG號映射為單播系統(tǒng)的目的地編碼方案來創(chuàng)建本發(fā)明的組播/廣播擴展。假定在單播系統(tǒng)中有未使用的編碼。例如,如果編碼方案將8位數(shù)字用于單播分組結(jié)構(gòu)的每個目的地ID和源ID字段,則該方案允許多至256個設(shè)備連接到網(wǎng)絡(luò)上。在組播/廣播擴展的情況下,重要的是單播系統(tǒng)不需要所有的256個編碼,以便存在未使用的目的地ID,以將不同的VDG號映射為該目的地ID。未使用的編碼越多,就可能有更多的VDG。2.路由表格式當(dāng)分組通過系統(tǒng)行進朝由特定VDG號所指定的所有其設(shè)備目的地被路由時,設(shè)備中的路由表確定VDG如何在每個設(shè)備中被路由,其中特定VDG號已經(jīng)被映射為單播目的地編碼方案。路由表具有單播目的地以及組播目的地的條目,并且該表是目的地與物理端口號的映射,分組必須根據(jù)該映射從特定設(shè)備被發(fā)送。該表中的每個位的位置對應(yīng)于一個物理端口,因此單個端口目的地可以與多個端口目的地(在組播的情況下)共存。這是在不改變原始分組中的目的地信息的情況下實現(xiàn)的。下面的表1是設(shè)備中的路由表的一部分的實例,其條目不是連續(xù)的。<table>tableseeoriginaldocumentpage10</column></row><table>3.組播感知分組緩沖器管理每個設(shè)備有至少一個分組緩沖器,并且每個分組的單個副本在每個設(shè)備的分組緩沖器中被緩沖,其中相應(yīng)的分組被發(fā)送到該設(shè)備。必須追蹤特定設(shè)備中的每個分組緩沖器條目的有效性,以便確定應(yīng)何時釋放該分組緩沖器條目。一種方式是針對分組緩沖器條目使用該設(shè)備的路由表條目來基于每個端口追蹤每個分組的有效性。當(dāng)從特定端口發(fā)送分組時,重置對應(yīng)于該端口的有效位。只要不是所有的有效位都被重置,分組就是有效的。一旦所有的有效位都被重置,即所有端口都已經(jīng)轉(zhuǎn)發(fā)該分組,則釋放分組緩沖器條目。追蹤分組緩沖器條目的有效性的替代方式是使用總計數(shù)器,該總計數(shù)器被設(shè)置為表示設(shè)備的端口的總數(shù),其中必須通過這些端口發(fā)送分組。更具體地,當(dāng)從端口發(fā)送分組時,使該計數(shù)器遞減。當(dāng)計數(shù)器遞減為零時,即所有端口都已經(jīng)轉(zhuǎn)發(fā)該分組,則釋放分組緩沖器條目。C.系統(tǒng)操作的實例圖1舉例說明按照本發(fā)明的實施例的系統(tǒng)操作的實例。該實例的拓樸包括8個設(shè)備100-107。每個設(shè)備(例如交換機或處理器)有4個端口0-3(即,設(shè)備100的IOO-O至100-3,設(shè)備101的101-0至101-3,...,設(shè)備107的107-0至107-3)和一個終點(即,設(shè)備100的IOO-EP,設(shè)備101的IOI-EP,…設(shè)備107的107-EP)。設(shè)備的端口是預(yù)先硬連線在一起的,如雙箭頭所表示的。在這個實例中,組播分組從設(shè)備100凈皮傳輸?shù)皆O(shè)備101、103、104和107。目的地的編碼是4位寬,因此在該系統(tǒng)中可以有多至16個i殳備。在該實施例的實例中有8個設(shè)備,并且這些設(shè)備中的每一個被分配給一個編碼。因此剩余的8個編碼可以;故用于VDG。首先,VDG1^皮分配給設(shè)備101、103、104和107,然后將VDG1映射為虛擬i殳備號15。下面在表2中示出了8個設(shè)備100-107中的每個設(shè)備的路由表的條目15(即虛擬目的地設(shè)備)內(nèi)容。應(yīng)注意,每個條目15是不同路由表的條目。每當(dāng)在給定設(shè)備處接收到目的地ID為15的分組(即,目的地為VDG1的分組)時,使用對應(yīng)于該設(shè)備的條目。<table>tableseeoriginaldocumentpage11</column></row><table>i表2使用為15的該虛擬設(shè)備號,構(gòu)造將分組路由到設(shè)備101、103、104和107的路由表。如下描述該路由。1.開始于設(shè)備IOO,按照設(shè)備100的路由表中的條目15(參見上面的表2),首先將設(shè)備100的分組緩沖器中的分組轉(zhuǎn)發(fā)到設(shè)備100的端口1(IOO-I)和2(100-2)。2.在設(shè)備101處,因為目的地之一是該設(shè)備,所以分組到達(dá)該設(shè)備的終點101-EP。然而為了將該分組路由到設(shè)備103,必須從端口3(101-3)傳輸該分組。應(yīng)注意基于設(shè)備的硬連線,可以從設(shè)備101經(jīng)由設(shè)備105和106到達(dá)設(shè)備107。然而,該路由表被編程為替代地使用設(shè)備104來從設(shè)備100進行路由,因此不使用設(shè)備IOI的端口1(101-1)來向設(shè)備105轉(zhuǎn)發(fā)該分組。3.在設(shè)備102處,分組只需要被路由到設(shè)備103,所以設(shè)備102經(jīng)由端口3(102-3)發(fā)送出其在端口1(102-l)上所接收的分組。4.設(shè)備103是終點,因此在該設(shè)備的終點103-EP處使用該分組。如上所述,不需要轉(zhuǎn)發(fā)該分組,因為設(shè)備107經(jīng)由設(shè)備104被提供該分組。5.設(shè)備104充當(dāng)終點并且通過端口2(104-2)向設(shè)備105轉(zhuǎn)發(fā)該分組,但準(zhǔn)備去往設(shè)備107。6.設(shè)備105利用端口3(105-3)轉(zhuǎn)發(fā)該分組。7.設(shè)備106利用端口2(106-2)轉(zhuǎn)發(fā)該分組。8.類似于設(shè)備103,設(shè)備107僅充當(dāng)終點,因此在終點107-EP處4吏用該分組。該分組從設(shè)備100到設(shè)備101、103、104和107的組播完成。為每個設(shè)備配置路由表的軟件必須知道端口連接的拓樸。如果連接動態(tài)地變化,則路由表無效。然而,如果可以處理路由表的復(fù)雜性,則本發(fā)明可以應(yīng)用于靜態(tài)的和動態(tài)的情況。維護每個設(shè)備的路由表的軟件不會由于完全單播的路由表管理器的復(fù)雜性而在復(fù)雜性上發(fā)生變化。新設(shè)備的添加或刪除必須在變化能夠在網(wǎng)絡(luò)中被反映之前通過網(wǎng)絡(luò)完整地被傳播。該方法的細(xì)節(jié)在本發(fā)明的范圍之外,因此在此將不進行闡述。此外,(虛擬或者實際)設(shè)備的拆卸必須類似地在整個網(wǎng)絡(luò)中被傳播。VDG的數(shù)目不能超過空閑編碼(即,設(shè)備號或目的地ID)的數(shù)目。組播可能性的排列數(shù)目因此受到限制。此外,如果VDG的成員發(fā)生變化,則必須更新VDG及其相關(guān)的路由表條目。本發(fā)明可以被用于將天線數(shù)據(jù)(即,來自基站天線的數(shù)字化數(shù)據(jù))路由到多個處理元件。在沒有組播的情況下,對于每個處理元件來說都將需要專用鏈路。利用組播,每個處理元件僅需要2個端口,即一個接收端口和一個發(fā)送端口。在數(shù)據(jù)必須被組播到20個不同處理元件的系統(tǒng)中,本發(fā)明的組播系統(tǒng)的優(yōu)勢是顯著的。權(quán)利要求1.一種通過設(shè)備的單播分組交換網(wǎng)絡(luò)來路由組播分組的方法,該方法包括以下步驟定義包括所述組播分組的目的地設(shè)備的虛擬目的地群組;將所述虛擬目的地群組映射為所述設(shè)備的路由表中的未使用的單播目的地編碼;以及使用路由表將所述組播分組從源設(shè)備路由到目的地設(shè)備。2.如權(quán)利要求1所述的方法,其中至少一個設(shè)備能夠從多于一個的端口發(fā)送所述組播分組。3.如權(quán)利要求1所述的方法,其中所述虛擬目的地群組是動態(tài)的。4.如權(quán)利要求1所述的方法,此外包括追蹤被存儲在至少一個網(wǎng)絡(luò)設(shè)備的緩沖器中的組播分組的有效性的步驟。5.如權(quán)利要求4所述的方法,其中追蹤有效性的步驟包括以下步驟在分組通過至少一個網(wǎng)絡(luò)設(shè)備的端口凈皮發(fā)送之后重置對應(yīng)于該端口的有效位;以及當(dāng)所有有效位都被重置時釋放被存儲在緩沖器中的組播分組。6.如權(quán)利要求4所述的方法,其中追蹤有效性的步驟包括以下步驟設(shè)置計數(shù)器以表示至少一個網(wǎng)絡(luò)設(shè)備的端口的總數(shù),其中所述組播分組應(yīng)通過該端口纟皮發(fā)送;每當(dāng)所述組播分組通過至少一個網(wǎng)絡(luò)設(shè)備的端口之一被發(fā)送時就使所述計數(shù)器遞減;以及當(dāng)所述計數(shù)器遞減到零時釋放所存儲的組播分組。7.如權(quán)利要求1所述的方法,其中所述虛擬目的地群組包括網(wǎng)絡(luò)上的所有設(shè)備,因此所述組播分組是廣播分組,并且其中路由步驟包括使用路由表將該廣播分組從源設(shè)備路由到網(wǎng)絡(luò)上的所有設(shè)備。8.—種通過設(shè)備的單播分組交換網(wǎng)絡(luò)來路由廣播分組的方法,該方法包括以下步驟定義包括網(wǎng)絡(luò)上的所有設(shè)備的虛擬目的地群組;將所述虛擬目的地群組映射為所述設(shè)備的路由表中的未使用的單播目的地編碼;以及使用路由表將所述廣播分組從源設(shè)備路由到所有設(shè)備。9.如權(quán)利要求8所述的方法,其中至少一個設(shè)備能夠從多于一個的端口發(fā)送所述廣播分組。10.如權(quán)利要求8所述的方法,此外包括追蹤;故存儲在至少一個網(wǎng)絡(luò)設(shè)備的緩沖器中的廣播分組的有效性的步驟。11.如權(quán)利要求10所述的方法,其中追蹤有效性的步驟包括以下步驟在所述分組通過至少一個網(wǎng)絡(luò)設(shè)備的端口被發(fā)送之后重置對應(yīng)于該端口的有效位;以及當(dāng)所有有效位都被重置時釋放被存儲在緩沖器中的廣播分組。12.如權(quán)利要求10所述的方法,其中追蹤有效性的步驟包括以下步驟設(shè)置計數(shù)器以表示至少一個網(wǎng)絡(luò)設(shè)備的端口的總數(shù),其中所述廣播分組應(yīng)通過該端口被發(fā)送;每當(dāng)所述廣播分組通過至少一個網(wǎng)絡(luò)設(shè)備的端口之一被發(fā)送時就使所述計數(shù)器遞減;以及當(dāng)所述計數(shù)器遞減到零時釋放所存儲的廣播分組。13.—種用于通過設(shè)備的單播分組交換網(wǎng)絡(luò)來路由組播分組的系統(tǒng),包括每個設(shè)備的具有未使用的單播條目的單播路由表,在該未使用的單播條目中能夠存儲虛擬目的地群組的路由,該虛擬目的地群組定義網(wǎng)絡(luò)上的多個指定設(shè)備的組播分組目的地;用于將組播分組的目的地設(shè)置為所述虛擬目的地群組的控制器,由此路由表的映射向所述虛擬目的地群組中的每個設(shè)備發(fā)送組播分組。14.如權(quán)利要求13所述的系統(tǒng),其中至少一個設(shè)備能夠從多于一個的端口發(fā)送組播分組。15.如權(quán)利要求13所述的系統(tǒng),其中所述虛擬目的地群組是動態(tài)的。16.如權(quán)利要求13所述的系統(tǒng),此外包括追蹤;故存儲在至少一個網(wǎng)絡(luò)設(shè)備的緩沖器中的組播分組的有效性的步驟。17.如權(quán)利要求16所述的系統(tǒng),其中追蹤有效性的步驟包括以下步驟在所述分組通過至少一個網(wǎng)絡(luò)設(shè)備的端口被發(fā)送之后重置對應(yīng)于該端口的有效位;以及當(dāng)所有有效位都被重置時釋放被存儲在緩沖器中的組播分組。18.如權(quán)利要求16所述的系統(tǒng),其中追蹤有效性的步驟包括以下步驟設(shè)置計數(shù)器以表示至少一個網(wǎng)絡(luò)設(shè)備的端口的總數(shù),其中所述組4番分組應(yīng)通過該端口被發(fā)送;每當(dāng)所迷組播分組通過至少一個網(wǎng)絡(luò)設(shè)備的端口之一被發(fā)送時就使所述計數(shù)器遞減;以及當(dāng)所述計數(shù)器遞減到零時釋放所存儲的組播分組。19.一種用于通過設(shè)備的單播分組交換網(wǎng)絡(luò)來路由廣播分組的系統(tǒng),包括每個設(shè)備的具有未使用的單播條目的單播路由表,在該未使用的單播條目中能夠存儲虛擬目的地群組的路由,該虛擬目的地群組定義網(wǎng)絡(luò)上的所有設(shè)備的廣播分組目的地;以及用于將廣播分組的目的地設(shè)置為所述虛擬目的地群組的控制器,由此路由表的映射向網(wǎng)絡(luò)上的每個設(shè)備發(fā)送廣播分組。20.如權(quán)利要求19所述的系統(tǒng),其中至少一個設(shè)備能夠從多于一個的端口發(fā)送廣播分組。21.如權(quán)利要求19所述的系統(tǒng),此外包括追蹤被存儲在至少一個網(wǎng)絡(luò)設(shè)備的緩沖器中的廣播分組的有效性的步驟。22如權(quán)利要求21所述的系統(tǒng),其中追蹤有效性的步驟包括以下步驟在所述分組通過至少一個網(wǎng)絡(luò)設(shè)備的端口^t發(fā)送之后重置對應(yīng)于該端口的有效位;以及當(dāng)所有有效位都被重置時釋放被存儲在緩沖器中的廣播分組。23.如權(quán)利要求21所述的系統(tǒng),其中追蹤有效性的步驟包括以下步驟設(shè)置計數(shù)器以表示至少一個網(wǎng)絡(luò)設(shè)備的端口的總數(shù),其中所述廣#番分組應(yīng)通過該端口#皮發(fā)送;每當(dāng)所述廣播分組通過至少一個網(wǎng)絡(luò)設(shè)備的端口之一凈皮發(fā)送時就使所述計數(shù)器遞減;以及當(dāng)所述計數(shù)器遞減到零時釋放所存儲的廣播分組。24.—種單播分組交換系統(tǒng),包括交換設(shè)備;處理器;與所述處理器通信耦合的存儲器;在所述處理器中執(zhí)行的軟件,被配置用于定義包括組播分組的目的地設(shè)備的虛擬目的地群組;在所述存儲器中存儲所述虛擬目的地群組;將所述虛擬目的地群組映射為設(shè)備的路由表中的未使用的單^番目的地編碼;在所述存儲器中存儲該映射;以及使用路由表將組播分組從源設(shè)備路由到目的地設(shè)備。25.—種單播分組交換系統(tǒng),包括交換設(shè)備;處理器,與所述處理器通信耦合的存儲器;在所述處理器中執(zhí)行的軟件,被配置用于定義包括網(wǎng)絡(luò)上的所有設(shè)備的虛擬目的地群組;在所述存儲器中存儲所述虛擬目的地群組;將所述虛擬目的地群組映射為設(shè)備的路由表中的未使用的單播目的地編碼;在所述存儲器中存儲該映射;以及使用路由表將廣播分組從源設(shè)備路由到所有設(shè)備。26.—種用于通過設(shè)備的單播分組交換網(wǎng)絡(luò)來路由組播分組的系統(tǒng),包括用于定義包括組播分組的目的地設(shè)備的虛擬目的地群組的裝置;用于將所述虛擬目的地群組映射為設(shè)備的路由表中的未使用的單播目的地編碼的裝置;以及用于使用路由表將組播分組從源設(shè)備路由到目的地設(shè)備的裝置。27.—種用于通過設(shè)備的單播分組交換網(wǎng)絡(luò)來路由廣播分組的系統(tǒng),包i舌用于定義包括網(wǎng)絡(luò)上的所有設(shè)備的虛擬目的地群組的裝置;用于將所述虛擬目的地群組映射為設(shè)備的路由表中的未使用的單播目的地編碼的裝置;以及用于使用路由表將廣播分組從源設(shè)備路由到所有設(shè)備的裝置。全文摘要一種用于通過設(shè)備的單播分組交換網(wǎng)絡(luò)來路由組播分組的方法和系統(tǒng)。定義包括組播分組的目的地設(shè)備的虛擬目的地群組,然后將該虛擬目的地群組映射為設(shè)備的路由表中的未使用的單播目的地編碼。然后,使用路由表將組播分組從源設(shè)備路由到目的地設(shè)備。文檔編號H04L12/56GK101627582SQ200680013947公開日2010年1月13日申請日期2006年4月25日優(yōu)先權(quán)日2005年4月25日發(fā)明者J·林,V·卡達(dá)姆比申請人:英飛凌科技股份公司