两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

線速ip信息多點(diǎn)傳送的方法和裝置的制作方法

文檔序號(hào):7921831閱讀:140來源:國知局
專利名稱:線速ip信息多點(diǎn)傳送的方法和裝置的制作方法
技術(shù)領(lǐng)域
在計(jì)算機(jī)網(wǎng)絡(luò)中,網(wǎng)絡(luò)開關(guān)接收連到開關(guān)入口端的數(shù)據(jù)包并把數(shù)據(jù)包 傳送到連到開關(guān)出口端。開關(guān)依據(jù)目的地址確定數(shù)據(jù)包要送達(dá)的出口,目 的地址包含在入口端收到的數(shù)據(jù)包中。
背景技術(shù)
與出口端相連的目的節(jié)點(diǎn)可以是IP多點(diǎn)組的成員。為了接收IP信息 多點(diǎn)傳送的數(shù)據(jù),例如實(shí)時(shí)電視信號(hào),目的節(jié)點(diǎn)連接IP多點(diǎn)組。在入口 端接收IP多點(diǎn)數(shù)據(jù)包的開關(guān)必須把收到的IP多點(diǎn)數(shù)據(jù)包副本傳給連到開 關(guān)的所有IP多點(diǎn)組的成員。
對(duì)于IP多點(diǎn)組的每一個(gè)成員來說,代替多個(gè)單點(diǎn)傳送數(shù)據(jù)包,而把 一個(gè)IP多點(diǎn)數(shù)據(jù)包送到入口端,那么送到開關(guān)的數(shù)據(jù)包數(shù)目減少了。但 是,因?yàn)殚_關(guān)必須確定IP多點(diǎn)數(shù)據(jù)包要傳給哪一個(gè)出口,因而增加了處 理IP多點(diǎn)數(shù)據(jù)包的時(shí)間,也增加了傳到每個(gè)出口端的副本的數(shù)目。
開關(guān)必須把IP多點(diǎn)數(shù)據(jù)包送到IP多點(diǎn)組的每個(gè)成員,這樣,如果IP 多點(diǎn)組的多個(gè)成員與出口相聯(lián)的話,就要把IP多點(diǎn)數(shù)據(jù)包的多個(gè)副本送 到出口端。借助于網(wǎng)絡(luò)開關(guān),在把IP多點(diǎn)數(shù)據(jù)包的副本送到IP多點(diǎn)組的 成員之前,對(duì)它進(jìn)行修改。
典型的情況是,通過開關(guān)把IP多點(diǎn)數(shù)據(jù)包送到出口端的工作是由網(wǎng) 絡(luò)工作開關(guān)中的主處理器來執(zhí)行的。基于主處理器的傳送是很慢的。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種線速IP信息多點(diǎn)傳送的方法和裝置。 為實(shí)現(xiàn)上述目的, 一種開關(guān),包括
處理邏輯,用于從多點(diǎn)數(shù)據(jù)包的報(bào)頭提取信息,并傳送提取的信息;入口傳送邏輯,用于接收提取的信息,并根據(jù)提取的信息獲得多點(diǎn)傳 送索引,入口傳送邏輯還產(chǎn)生多點(diǎn)傳送矢量;
處理邏輯還從入口傳送邏輯接收多點(diǎn)傳送索引,并傳送多點(diǎn)傳送索引
和多點(diǎn)數(shù)據(jù)包;
存儲(chǔ)器,用于存儲(chǔ)從處理邏輯接收的多點(diǎn)數(shù)據(jù)包,修改的多點(diǎn)數(shù)據(jù)包
包括多點(diǎn)傳送索引;
出口端,根據(jù)從入口傳送邏輯接收的多點(diǎn)傳送矢量產(chǎn)生目的地址,并
將目的地址傳送到存儲(chǔ)器;
山門念Jt 乂土;主二昭i縣山門^^乂i:;^:;與左縣H古力永3a掉ilyfr夕rtr3l6fr被Ai壬n夕
山t~<夕;^、'17^^^1倂、山H >叨| "釔倂,//、1丁l陽^0^又TA;^/rA從:i/。 Cli化Hy
點(diǎn)傳送索引作為目的地址的函數(shù),出口多點(diǎn)傳送邏輯包括
包含修改項(xiàng)的修改項(xiàng)表,用于多點(diǎn)組的每個(gè)成員與多點(diǎn)數(shù)據(jù)包關(guān)聯(lián)及 多點(diǎn)組的多個(gè)成員與多點(diǎn)數(shù)據(jù)包關(guān)聯(lián),多點(diǎn)組的多個(gè)成員耦合到相同的出 口端,為修改項(xiàng)表作索引,用于多點(diǎn)組在存儲(chǔ)器中存儲(chǔ)多點(diǎn)數(shù)據(jù)包;
編輯器邏輯,根據(jù)與成員關(guān)聯(lián)的修改項(xiàng),修改從存儲(chǔ)器接收的多點(diǎn)數(shù)
據(jù)包的副本;
入口多點(diǎn)傳送邏輯,根據(jù)目的地址,指示存儲(chǔ)的多點(diǎn)數(shù)據(jù)包將被傳送 到哪一個(gè)端口。
根據(jù)本發(fā)明的另一方面, 一種在開關(guān)中傳送多點(diǎn)數(shù)據(jù)包的方法,包括
'-接收來自入口端的數(shù)據(jù)包;
確定數(shù)據(jù)包是否是多點(diǎn)數(shù)據(jù)包;
處理多點(diǎn)數(shù)據(jù)包,以確定出口端、索引和多點(diǎn)矢量; 提供目的地址作為多點(diǎn)矢量的函數(shù);
把包括多點(diǎn)傳送索引和目的地址的處理過的多點(diǎn)數(shù)據(jù)包存入存儲(chǔ)器; 存儲(chǔ)包含由索引指示的修改項(xiàng)的修改項(xiàng)表,用于多點(diǎn)組的每個(gè)成員與
多點(diǎn)數(shù)據(jù)包關(guān)聯(lián),多點(diǎn)組的多個(gè)成員耦合到相同出口端;
根據(jù)與成員關(guān)聯(lián)的修改項(xiàng),修改從存儲(chǔ)器接收的多點(diǎn)數(shù)據(jù)包的副本; 在下一個(gè)可用出口端口周期,傳送修改的多點(diǎn)數(shù)據(jù)包的副本到出口端
口作為目的地址的函數(shù)。


本發(fā)明的前述事項(xiàng)以及其它目的,特征和優(yōu)點(diǎn),從下面本發(fā)明的優(yōu)先 實(shí)施例的特別描述中將變得明顯,如附圖中說明的那樣,其中不同圖中相 同的部分用同樣的參考字母表示。這些附圖并不需要比例,只是強(qiáng)調(diào)說明 原理。
圖l表示網(wǎng)絡(luò)開關(guān),包括IP信息多點(diǎn)傳送邏輯,用來根據(jù)本發(fā)明的 原理把在入口端接收到的IP多點(diǎn)數(shù)據(jù)包傳送給連到開關(guān)的IP多點(diǎn)組的成
員;
圖2是時(shí)序圖,說明由圖1所示的開關(guān)傳送給圖1所示的IP多點(diǎn)組
成員的IP多點(diǎn)數(shù)據(jù)包;
圖3A是圖解說明現(xiàn)有技術(shù)數(shù)據(jù)包可在連到開關(guān)的入口端被收到; 圖3B是圖解說明現(xiàn)有技術(shù)以太網(wǎng)數(shù)據(jù)鏈層(L2)報(bào)頭包括在圖3A
所示的數(shù)據(jù)包中;
圖3C是圖解說明現(xiàn)有技術(shù)網(wǎng)際協(xié)議(網(wǎng)絡(luò)層(L3))報(bào)頭包括在圖 3A所示的數(shù)據(jù)包中;
圖3D是圖解說明圖3B中所示的現(xiàn)有技術(shù)標(biāo)簽控制信息; 圖4是圖解說明圖1中所示的入口 IP信息多點(diǎn)傳送邏輯; 圖5是方法流程圖,用于處理在入口端收到的IP多點(diǎn)數(shù)據(jù)包; 圖6是圖解說明圖1中所示的出口信息多點(diǎn)傳送邏輯; 圖7是圖解說明圖6中所示的多點(diǎn)傳送索引表;
圖8是圖6中所示的在出口多點(diǎn)傳送邏輯中執(zhí)行步驟的流程圖,用來 修改IP多點(diǎn)數(shù)據(jù)包。
具體實(shí)施例方式
圖1表示連到網(wǎng)絡(luò)開關(guān)100的IP多點(diǎn)組的成員。信息多點(diǎn)傳送組的 成員包括連到出口端110a-c的目的節(jié)點(diǎn)104a-f。連到入口端108的源節(jié)點(diǎn) 102是用于IP多點(diǎn)組的IP多點(diǎn)數(shù)據(jù)包的源。例如,源節(jié)點(diǎn)102可以把視 頻信號(hào)傳送給IP多點(diǎn)組的所有成員。在另一個(gè)實(shí)施中,源節(jié)點(diǎn)102可以 是IP多點(diǎn)組的成員。源節(jié)點(diǎn)102把IP多點(diǎn)數(shù)據(jù)包106傳送到開關(guān)100。開關(guān)100把IP多點(diǎn)數(shù)據(jù)包106的副本傳送給IP多點(diǎn)組的每個(gè)成員,即目 的節(jié)點(diǎn)104a-f。
IP多點(diǎn)數(shù)據(jù)包106的副本在把它傳送給每個(gè)目的節(jié)點(diǎn)104之前可由 開關(guān)100進(jìn)行修改。收到的IP多點(diǎn)數(shù)據(jù)包的副本依據(jù)儲(chǔ)存在開關(guān)100中 的修改項(xiàng)進(jìn)行修改。收到的IP多點(diǎn)數(shù)據(jù)包副本的修改和傳送由開關(guān)以線 速執(zhí)行,即執(zhí)行修改沒有主機(jī)介入。出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112在 下一個(gè)對(duì)出口端110的有效端口循環(huán)中傳送到目的節(jié)點(diǎn)104,目的節(jié)點(diǎn)104 連在該出口端IIO上。
當(dāng)在入口端108收到IP多點(diǎn)數(shù)據(jù)包時(shí),數(shù)據(jù)包處理邏輯128從IP多 點(diǎn)數(shù)據(jù)包106的報(bào)頭提取信息,并把提取的信息130傳送給入口多點(diǎn)傳送 邏輯114。入口多點(diǎn)傳送邏輯114確定IP多點(diǎn)組中的目的節(jié)點(diǎn)104連在哪 一個(gè)出口端110上,并把多點(diǎn)傳送矢量120傳送給出口端q邏輯134,指 示IP多點(diǎn)數(shù)據(jù)包要送達(dá)的出口端110。入口多點(diǎn)傳送邏輯114也把相應(yīng)于 IP多點(diǎn)組的多點(diǎn)傳送索引("MFI") 132傳送給數(shù)據(jù)包處理邏輯128,該 IP多點(diǎn)組是IP多點(diǎn)數(shù)據(jù)包106要送達(dá)的IP多點(diǎn)組。MFI 132是一個(gè)對(duì)每 個(gè)IP多點(diǎn)組成員修改項(xiàng)的索引。
數(shù)據(jù)包處理邏輯128把收到的IP多點(diǎn)數(shù)據(jù)包106和MFI 132傳送給 存儲(chǔ)器116。包含MFI 132的入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126被儲(chǔ)存在對(duì) 每個(gè)出口端110的端口排隊(duì)中,這些出口端是IP多點(diǎn)數(shù)據(jù)包106要送達(dá) 的地方。端口排隊(duì)描述在共同申請(qǐng)中的美國申請(qǐng)?zhí)朜o. 09 / 386589中, 申請(qǐng)日是1999年8月31日,題目是"Method and Apparatus for an Interleaved Non-Blocking packet Buffer",作者David A. Browh,它的整個(gè) 內(nèi)容結(jié)合在這里作參考。
儲(chǔ)存在入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126中的MFI 132被用來訪問己 存儲(chǔ)的與IP多點(diǎn)組的每個(gè)成員有關(guān)的修改項(xiàng)。出口信息多點(diǎn)傳送邏輯U8 修改入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126的副本,該副本是利用對(duì)成員存儲(chǔ) 的修改項(xiàng)內(nèi)容從存儲(chǔ)器116收到的,并把出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112 傳送給IP多點(diǎn)組的每個(gè)成員。
借助于儲(chǔ)存對(duì)每個(gè)IP多點(diǎn)組成員的修改項(xiàng),不需要主機(jī)處理修改并 把IP多點(diǎn)數(shù)據(jù)包的副本傳送給所有IP多點(diǎn)組的成員。這樣,IP多點(diǎn)數(shù)據(jù)
8包以線速傳送給連到下一個(gè)對(duì)端口的有效端口循環(huán)中的端口的IP多點(diǎn)組 的成員。與每個(gè)目的節(jié)點(diǎn)104有關(guān)的修改項(xiàng)被儲(chǔ)存在出口信息多點(diǎn)傳送邏
輯118中,并用與入口多點(diǎn)傳送邏輯114送來的IP多點(diǎn)組有關(guān)的MFI132 對(duì)它進(jìn)行訪問。MFI被儲(chǔ)存在存儲(chǔ)器116中的入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包 126中。
如圖1所示,IP多點(diǎn)組的成員包括目的節(jié)點(diǎn)Da-f 104a-f,目的節(jié)點(diǎn) Da-e 104a-c連到出口 port—IllOa,目的節(jié)點(diǎn)Dd-e 104d-e連到出口 port—2 110b,目的節(jié)點(diǎn)DH04f連到出口 port一3 100c。在所示實(shí)施例中的所有目 tr、j節(jié)總i iwa-t是5tjr結(jié)后、,際j仕力 一。、頭j也例^t1 ,尸/t不tfj日trj ~p尼i i>4a-i 可以是另一個(gè)開關(guān)的入口端,并且IP多點(diǎn)數(shù)據(jù)包可以通過其它開關(guān)傳送 給連到其它開關(guān)出口端的IP多點(diǎn)組的成員。還有,可以有多個(gè)虛擬局域 網(wǎng)(VLAN),連到其它開關(guān)出口端的出口端,每一個(gè)虛擬局域網(wǎng)需要經(jīng)
修改的IP多點(diǎn)數(shù)據(jù)包的副本。
由源節(jié)點(diǎn)Sa 102傳送的數(shù)據(jù)包106由入口 port一I 108的網(wǎng)絡(luò)開關(guān)100 接收。數(shù)據(jù)包106包括目的地址。如果目的地址是IP多點(diǎn)地址,那么開 關(guān)100把經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112的副本傳送給與連到開關(guān)100的IP 信息多點(diǎn)傳送地址有關(guān)的所有IP多點(diǎn)組成員。
對(duì)于所示的IP多點(diǎn)組,開關(guān)100把六個(gè)出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包 112a-f傳送給出口端1-3 llOa-c。出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112在入口 端102收到IP多點(diǎn)數(shù)據(jù)包106之后,被傳送到對(duì)端口 110的下一個(gè)有效 端口循環(huán)中的出口端IIO。
三個(gè)出口被修改的IP多點(diǎn)數(shù)據(jù)包112a-c被傳送到出口 port—1 IIOA, 一對(duì)一 目的節(jié)點(diǎn)Da-c 104a-c。兩個(gè)出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112d-e被 傳送到出口port—1 110b, 一對(duì)一目的節(jié)點(diǎn)Dd-e 104d-e。 一個(gè)出口經(jīng)修改 的IP多點(diǎn)數(shù)據(jù)包112f被傳送給出口 port—2 110c至目的節(jié)點(diǎn)Dfl04f。
根據(jù)識(shí)別收到的IP多點(diǎn)數(shù)據(jù)包106,數(shù)據(jù)包處理邏輯128把IP多點(diǎn) 數(shù)據(jù)包的報(bào)頭部分130傳送給入口多點(diǎn)傳送邏輯114。入口多點(diǎn)傳送邏輯 114確定IP多點(diǎn)數(shù)據(jù)包的副本106要送達(dá)的出口端1-3 110a-c,并且產(chǎn)生 多點(diǎn)傳送矢量120。多點(diǎn)傳送矢量120被傳送到出口端q的邏輯134。入 口多點(diǎn)傳送邏輯114根據(jù)IP多點(diǎn)數(shù)據(jù)包130的報(bào)頭部分,選擇儲(chǔ)存的多點(diǎn)傳送索引("MFI") 132,并把MFI 132傳送給數(shù)據(jù)包處理邏輯128。數(shù) 據(jù)包處理邏輯128把MFI 132與收到的IP多點(diǎn)數(shù)據(jù)包106 —起儲(chǔ)存在入 口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126中,并把在數(shù)據(jù)輸入122上的入口經(jīng)修改 的IP多點(diǎn)數(shù)據(jù)包126傳送給存儲(chǔ)器116。入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包被 儲(chǔ)存在存儲(chǔ)器116中。
在對(duì)每個(gè)出口 port_l-3 llOa-c的下一個(gè)端口循環(huán)時(shí),入口經(jīng)修改的IP 多點(diǎn)數(shù)據(jù)包126從存儲(chǔ)器116的數(shù)據(jù)輸出124上根據(jù)從出口 port—q邏輯 134傳來的地址136傳送到出口信息多點(diǎn)傳送邏輯118。出口信息多點(diǎn)傳
二^4昭左昇1 1 o 士日被Al枉、門々又乂i夂nlriVi脅板/^ 1 O厶rfi iVi 、 ATTT 1 ,, 乂i夂3fr "X門々X乂l夂 仏仏十斗上丄O TKVrt Ci]口/^ i~i -工I》kXU:j從》Q Cli丄厶U T M'J丄vii'i丄J厶l》、 工工|&
改的數(shù)據(jù)包126的副本。出口經(jīng)修改的數(shù)據(jù)包112a-f在各個(gè)出口 port一l-3 110a-e上傳送。在所有出口經(jīng)修改的數(shù)據(jù)包傳送完畢之后,可以重寫存儲(chǔ) 在存儲(chǔ)器116中的入口經(jīng)修改的數(shù)據(jù)包126。
圖2是時(shí)序圖,說明通過開關(guān)100以線速傳送IP多點(diǎn)數(shù)據(jù)包106給 圖1所示的IP多點(diǎn)組的用戶。結(jié)合圖1來描述圖2。圖1中所示的IP多 點(diǎn)組包括連到開關(guān)100的六個(gè)成員,Da-Df 104a-f。開關(guān)100包括四個(gè)端 口,入口port—1 108和出口 port—1-3 110a-b。但是,本發(fā)明并不局限于四 個(gè)端口或六個(gè)IP多點(diǎn)組成員。業(yè)內(nèi)人士已知,圖1的結(jié)構(gòu)可以擴(kuò)展到包 括多于四個(gè)端口和多于六個(gè)IP多點(diǎn)組成員。
在時(shí)序圖中,假定在入口 port—1 108接收到的每個(gè)IP多點(diǎn)數(shù)據(jù)包106 是最小的數(shù)據(jù)包尺寸,例如,對(duì)以太網(wǎng)數(shù)據(jù)包為64字節(jié),因?yàn)榇鎯?chǔ)器116 是64字節(jié)寬。但是,本發(fā)明并不局限于64字節(jié)的數(shù)據(jù)包大小,在數(shù)據(jù)包 中的字節(jié)數(shù)可以大于存儲(chǔ)器116的寬度。
還假定,64字節(jié)的多點(diǎn)數(shù)據(jù)包106是在數(shù)據(jù)段時(shí)隙200期間在入口 端108 (圖1)收到的。數(shù)據(jù)段時(shí)隙200包括4個(gè)端口循環(huán)時(shí)隙202,每 一個(gè)對(duì)應(yīng)連到開關(guān)100的一個(gè)端口,因?yàn)閳D1所示的開關(guān)包括連到開關(guān)的 四個(gè)端口,即一個(gè)入口端108和三個(gè)出口端100a-c。開關(guān)100支持的最大 端口數(shù)目與最小的端口循環(huán)時(shí)隙202和最大數(shù)據(jù)段時(shí)隙200有關(guān),于是并 不局限于圖1所示的四個(gè)端口。在有多于四個(gè)端口的開關(guān)100中,數(shù)據(jù)段 時(shí)隙200將包括對(duì)連到開關(guān)100的每個(gè)端口的端口循環(huán)時(shí)隙202。例如, 對(duì)一個(gè)以太網(wǎng)數(shù)據(jù)包,最小數(shù)據(jù)包的大小為64字節(jié)。這樣,最大數(shù)據(jù)段時(shí)隙200就是在入口端接收64字節(jié)的時(shí)間,最小端口循環(huán)時(shí)隙202與從 存儲(chǔ)器116 (圖1)訪問64字節(jié)的時(shí)間有關(guān)。數(shù)據(jù)段時(shí)隙和端口循環(huán)時(shí)隙 都描述在共同申請(qǐng)中的美國申請(qǐng)?zhí)朜o. 09 / 386,589中,申請(qǐng)日期為1999 年3月31日,題目是"Method & Appavatus for an Inferleaved Non-Blocking packet Buffer",作者David A. Browh,它的整個(gè)內(nèi)容結(jié)合在這里作參考。 到達(dá)入口 port_l 108的多點(diǎn)數(shù)據(jù)包106的副本在下一個(gè)有效端口循環(huán) 時(shí)隙202中傳送給信息多點(diǎn)傳送組的每個(gè)成員,即它以線速傳送。如果只 有一個(gè)信息多點(diǎn)傳送組的成員連到端口,那么在下一個(gè)端口循環(huán)時(shí)隙202 中傳送多點(diǎn)數(shù)據(jù)包的副本。如果多于個(gè)IP多點(diǎn)組成員連到端口,在入 口端108上到達(dá)的下一個(gè)IP多點(diǎn)數(shù)據(jù)包在以前的多點(diǎn)數(shù)據(jù)包被傳送之后 再傳送給連接到該端口的所有IP多點(diǎn)組的成員。
時(shí)序圖表示從源節(jié)點(diǎn)102在數(shù)據(jù)段時(shí)隙200a-d內(nèi)到達(dá)入口 port—1 108 的四個(gè)IP多點(diǎn)數(shù)據(jù)包。第一個(gè)IP多點(diǎn)數(shù)據(jù)包在數(shù)據(jù)段時(shí)隙200a內(nèi)到達(dá), 在第二數(shù)據(jù)段時(shí)隙200b內(nèi),IP多點(diǎn)數(shù)據(jù)包在端口循環(huán)202b內(nèi)傳送到出口 port—1 110a,在端口循環(huán)202c內(nèi)傳送到出口 port—2 110b,和在端口循環(huán) 202c內(nèi)傳送到出口 port—3 110c。當(dāng)?shù)谝粋€(gè)IP多點(diǎn)數(shù)據(jù)包正在傳送的時(shí)候, 第二個(gè)IP多點(diǎn)數(shù)據(jù)包正在在數(shù)據(jù)段時(shí)隙200b期間被接收。
在時(shí)間230,入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包1 126 (圖1)被儲(chǔ)存在存儲(chǔ)器 116(圖l)中,并且入口多點(diǎn)傳送邏輯114(圖1)已把對(duì)多點(diǎn)數(shù)據(jù)包1 106
(圖1)的多點(diǎn)傳送矢量120 (圖1)傳送給出口信息多點(diǎn)傳送邏輯118
(圖1)。
在時(shí)間206,端口循環(huán)時(shí)隙202b的起點(diǎn),入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包l 126 (圖1),根據(jù)從出口 port—q邏輯134 (圖1)傳來的地址136從存儲(chǔ) 器116 (圖1)數(shù)據(jù)輸出124上傳送到出口信息多點(diǎn)傳送邏輯118 (圖1)。 出口信息多點(diǎn)傳送邏輯118 (圖1)根據(jù)MFI (圖1)修改接收到的入口 經(jīng)修改的多點(diǎn)數(shù)據(jù)包l 126 (圖1)。出口經(jīng)修改的多點(diǎn)數(shù)據(jù)包1 112A,通 過出口 110A傳送到目的節(jié)點(diǎn)Dal04a。
在時(shí)間208,端口循環(huán)時(shí)隙202c的起點(diǎn),和在時(shí)間210,端口循環(huán)時(shí) 隙202d的起點(diǎn),入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包l 126 (圖l)的副本,根據(jù)從 出口 port—q邏輯134 (圖1)傳來的地址136 (圖1)從存儲(chǔ)器116 (圖1)數(shù)據(jù)輸出124 (圖1)上傳送。接收到的入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包1 126 (圖l)的副本,被出口信息多點(diǎn)傳送邏輯118根據(jù)有關(guān)的MFI 132 (圖 1)修改,并通過出口端2 110b傳送到目的節(jié)點(diǎn)Dd 104d和出口端3 110c 至目的節(jié)點(diǎn)Df 104f。
在時(shí)間212,入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包—1 126 (圖1)的副本經(jīng)修改 并傳送給目的節(jié)點(diǎn)Dbl04b (圖1),在時(shí)間128,入口經(jīng)修改的多點(diǎn)數(shù)據(jù) 包—1 126 (圖1)的副本經(jīng)修改并傳送給連到出口 port_2 110b (圖1)的 目的節(jié)點(diǎn)Dcl04e。在時(shí)間214,入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包—1 126 (圖l) 的副本經(jīng)修改并傳送到達(dá)到出口 port—i U0b (圖1)的目的節(jié)點(diǎn)Dd 104d。
在時(shí)間232,入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包—2 126 (圖1)被儲(chǔ)存在存儲(chǔ) 器116 (圖1)中,并且入口多點(diǎn)傳送邏輯114 (圖1)己把對(duì)多點(diǎn)數(shù)據(jù)包 —2 106 (圖1)的多點(diǎn)傳送矢量120 (圖1)傳送給出口信息多點(diǎn)傳送邏輯 118 (圖1)。在時(shí)間234,入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包_3 126 (圖1)被儲(chǔ)存 在存儲(chǔ)器116 (圖1)中。在時(shí)間236,入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包—4 126 (圖1)被儲(chǔ)存在存儲(chǔ)器116 (圖1)中。
只有一個(gè)入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包J 112 (圖1)被傳送到出口端3 110c,因?yàn)橹挥幸粋€(gè)信息多點(diǎn)傳送組的成員,即目的節(jié)點(diǎn)104f連在出口 port一3 110c。這樣,在時(shí)間216,在端口循環(huán)時(shí)隙202d內(nèi),出口經(jīng)修改的 多點(diǎn)數(shù)據(jù)包_2 112f被傳送到出口 port—3 llOc。在時(shí)間222,在端口時(shí)間循 環(huán)202d內(nèi),出口經(jīng)修改的多點(diǎn)數(shù)據(jù)包一3 112被傳送到出口 port_3 llOc。 在時(shí)間228,在端口循環(huán)時(shí)隙3 202d內(nèi),出口經(jīng)修改的多點(diǎn)數(shù)據(jù)包—4 112f 被傳送到出口 port—3 110c (圖1)。
這樣,在入口 port—0 108 (圖1)收到的IP多點(diǎn)數(shù)據(jù)包—1 106 (圖1), 以線速,沒有主機(jī)處理,在下一個(gè)有效端口循環(huán)時(shí)隙202內(nèi),通過開關(guān) 100傳送給連到出口 port—1-3 110a-c (圖1)的目的節(jié)點(diǎn)104a-f (圖1)。
出口經(jīng)修改的多點(diǎn)數(shù)據(jù)包—2 112 (圖1)在出口 port—2 110b上傳送給 目的節(jié)點(diǎn)104e和目的節(jié)點(diǎn)104f。在時(shí)間220,出口經(jīng)修改的多點(diǎn)數(shù)據(jù)包 —2 112d被傳送給連到出口 port—2 110b的目的節(jié)點(diǎn)104d。在時(shí)間226,出 口經(jīng)修改的多點(diǎn)數(shù)據(jù)包—2 112e (圖1)被傳送給連到出口 port—2 110b的 目的節(jié)點(diǎn)104e。在時(shí)間224,在最后的出口經(jīng)修改的多點(diǎn)數(shù)據(jù)包一1 112 (圖1)傳送 完畢之后,在存儲(chǔ)器中存儲(chǔ)入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包—1 126 (圖l)的位 置可以被用來存儲(chǔ)在入口端108 (圖1)收到的另一數(shù)據(jù)包。這樣,在入 口端108 (圖1)收到的入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包126 (圖1)被儲(chǔ)存在存 儲(chǔ)器116(圖1)中,直到出口經(jīng)修改的多點(diǎn)數(shù)據(jù)包112 (圖1)已傳給所 有IP多點(diǎn)組的成員。
為了確定是否所有出口經(jīng)修改的多點(diǎn)數(shù)據(jù)包112a-f (圖1)都已傳送 完畢,端口排隊(duì)(未示出)的數(shù)目被儲(chǔ)存在端口排隊(duì)計(jì)數(shù)寄存器(未示出) 中,端口排隊(duì)數(shù)目指的是與每一個(gè)入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包126 (圖1) 相關(guān)的入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包126 (圖1)已排上隊(duì)的數(shù)目。計(jì)數(shù)寄存 器是對(duì)所有與出口端110 (圖l)有關(guān)的己經(jīng)被傳送到出口端110 (圖l) 的出口經(jīng)修改的多點(diǎn)數(shù)據(jù)包112 (圖1)的遞減。例如,在一個(gè)出口經(jīng)修 改的多點(diǎn)數(shù)據(jù)包被傳送到出口porL3 110c上后,端口排隊(duì)計(jì)數(shù)遞減,端口 排隊(duì)數(shù)目是從多點(diǎn)傳送矢量120 (圖1)確定的。
把入口端108 (圖l)收到的現(xiàn)有技術(shù)數(shù)據(jù)包與圖3A-3D相聯(lián)合,來 描述傳送邏輯114, 118 (圖1)和數(shù)據(jù)包處理邏輯126 (圖1),在出口經(jīng) 修改的多點(diǎn)數(shù)據(jù)包112a-f (圖l)被傳送給出口端110a-c之前,對(duì)多點(diǎn)數(shù) 據(jù)包106 (圖1)進(jìn)行修改的情況。
圖3A說明現(xiàn)有技術(shù)數(shù)據(jù)包可以在連到開關(guān)100 (圖1)的入口端108 (圖l)上接收。圖3B說明現(xiàn)有技術(shù)以太網(wǎng)報(bào)頭可以包含在圖3A所示的 數(shù)據(jù)包中。圖3C說明現(xiàn)有技術(shù)網(wǎng)際協(xié)議報(bào)頭可以包含在圖3A所示的數(shù) 據(jù)包中。圖3D說明在圖3B所示的以太網(wǎng)報(bào)頭中的現(xiàn)有技術(shù)標(biāo)簽控制信 息字段318B。
圖3A表示現(xiàn)有技術(shù)數(shù)據(jù)包300。數(shù)據(jù)包300包括數(shù)據(jù)段310和用于 網(wǎng)絡(luò)開關(guān)層302, 304, 306, 308的報(bào)頭。示出了在OSI (開放系統(tǒng)互連) 模型中的四層報(bào)頭,物理層(Ll)報(bào)頭302,數(shù)據(jù)鏈層(L2)報(bào)頭304, 網(wǎng)絡(luò)工作層(L3)報(bào)頭306和傳輸層(L4)報(bào)頭308。例如,數(shù)據(jù)鏈層(L2) 報(bào)頭302可以是以太網(wǎng),網(wǎng)絡(luò)工作層(L3)報(bào)頭306可以是網(wǎng)際協(xié)議("IP")。 數(shù)據(jù)包300也包括檢驗(yàn)和312。
圖3B說明以太網(wǎng)數(shù)據(jù)鏈(L2)報(bào)頭304的格式。以太網(wǎng)數(shù)據(jù)鏈(L2)報(bào)頭304包括用于目的節(jié)點(diǎn)104a-f (圖1)的設(shè)備地址,即目的地址314, 和用于源節(jié)點(diǎn)102 (圖1)的設(shè)備地址,即源地址316,可選的虛擬局域 網(wǎng)識(shí)別("VLANID")字段318和長度/類型字段320。 VLANID318包 括標(biāo)簽協(xié)議標(biāo)識(shí)符("TPT")字段318A和標(biāo)簽控制信息("TCI")字段 318B。 VLAN ID字段根據(jù)正EE 802. 1Q標(biāo)簽和正EE 802. ID 1988 (802. lp)優(yōu)先級(jí)提供對(duì)VLAN開關(guān)的支持。
圖3C說明IP網(wǎng)絡(luò)層(L3)報(bào)頭306的格式。IP網(wǎng)絡(luò)層(L3)報(bào)頭 306包括用于源節(jié)點(diǎn)102 (圖1)的網(wǎng)絡(luò)地址,即源IP地址344,和用于 目的節(jié)點(diǎn)104 (圖O的網(wǎng)絡(luò)地址,即IP目的地址346。其它在IP網(wǎng)絡(luò)層 報(bào)頭306中的字段包括版本322, HLEN 324,服務(wù)類型("TOS") 326, 總長度328,識(shí)別330,標(biāo)記332,段落位移334,留存時(shí)間("TTL") 336, 協(xié)議340,報(bào)頭檢驗(yàn)和342,選項(xiàng)348和填充350。
在連到開關(guān)100 (圖1)的入口端108 (圖1)收到的IP多點(diǎn)數(shù)據(jù)包 106 (圖l)根據(jù)存儲(chǔ)在以太網(wǎng)數(shù)據(jù)鏈(L2)報(bào)頭300 (圖3A)中的目的 地址314 (圖3B)被接通到一個(gè)或多個(gè)出口端110a-c (圖1),或者根據(jù) 存儲(chǔ)在IP網(wǎng)絡(luò)層(L3)報(bào)頭306中的IP目的地址346路由到一個(gè)或多個(gè) 出口端110 (圖1)。
圖3D說明示于圖3B中的現(xiàn)有技術(shù)TCI字段318b。 TCI字段318b 包括3-bit用戶優(yōu)先字段352, 1-bit CFI字段354和12-bit虛擬局域網(wǎng) ("VLAN")標(biāo)記符356。
回到圖1,數(shù)據(jù)包處理邏輯128借助于檢査包含在接收到的數(shù)據(jù)包中 的網(wǎng)絡(luò)層(L3)報(bào)頭306 (圖3A)確定在入口端l 108收到的數(shù)據(jù)包是否 是IP多點(diǎn)數(shù)據(jù)包106。如果協(xié)議字段340 (圖3C)是IP,那么網(wǎng)絡(luò)層(L3) 報(bào)頭306 (圖3A)是網(wǎng)際協(xié)議版本4 ("TPV4")的報(bào)頭,版本字段322 (圖3C)是IPV4,并且報(bào)頭檢驗(yàn)和342 (圖3C)有效。如果IP目的地 址346 (圖3C)是D類,即IP目的地址346 (圖3C)的高四位是1110, 那么IP數(shù)據(jù)包是IP多點(diǎn)數(shù)據(jù)包106。
如果數(shù)據(jù)包處理邏輯128確定了數(shù)據(jù)包是IP多點(diǎn)數(shù)據(jù)包,則IP多點(diǎn) 數(shù)據(jù)包130的報(bào)頭的一部分(包括在IP網(wǎng)絡(luò)工作層(L3)報(bào)頭306 (圖 3C)中的IP目的地址346 (圖3C)和IP源地址344 (圖3C),在以太網(wǎng)數(shù)據(jù)鏈(L2)報(bào)頭304 (圖3B)中的VLANID318),和相應(yīng)于入口端108 (圖l)的入口端數(shù)目傳送給入口多點(diǎn)傳送邏輯114。
圖4說明示于圖1中的入口多點(diǎn)傳送邏輯114。入口多點(diǎn)傳送邏輯U4 包括按內(nèi)容訪問存儲(chǔ)器("CAM") 400,路由映象器402,路由表404和 組合矢量邏輯406。路由表404包括相應(yīng)于IP多點(diǎn)組的信息多點(diǎn)傳送項(xiàng) 422,該IP多點(diǎn)組包含在入口 port_l 108 (圖1)收到的IP多點(diǎn)數(shù)據(jù)包內(nèi)。 CAM 400和路由映象器402根據(jù)IP多點(diǎn)數(shù)據(jù)包130 (圖1)和從數(shù)據(jù)包 處理邏輯傳來的用于入口 port—1 108 (圖l)的端口數(shù)的報(bào)頭部分選擇信
顯少品傳達(dá),"厶
在實(shí)施結(jié)合圖4描述的入口多點(diǎn)傳送邏輯114 (圖l)中,CAM 400 對(duì)于存儲(chǔ)IP目的地址346 (圖3C)、 IP源地址344 (圖3C)、入口端數(shù)和 VLANID318 (圖3B)不夠?qū)?。這樣,用路由映象器402的實(shí)現(xiàn)來增加 CAM400的寬度。但是,業(yè)內(nèi)人士己知,CAM400可以擴(kuò)充來包括路由 映象器402。
在相應(yīng)于IP信息多點(diǎn)傳送包106的路由表404中搜索信息多點(diǎn)傳送 項(xiàng)422分兩階段進(jìn)行。首先,根據(jù)在IP網(wǎng)絡(luò)層(L3)報(bào)頭306 (圖3C) 中的IP目的地址346 (圖3C)和IP源地址344 (圖3C)字段對(duì)CAM 400 搜索項(xiàng)。如果在CAM 400中找到匹配項(xiàng),則匹配地址410被送到路由映 象器402,路由映象器402把相應(yīng)于匹配地址410的多點(diǎn)路徑碼("MPC") 422傳送給CAM 400。
第二,根據(jù)MPC422、 VLANID318(圖3B)和入口端數(shù)對(duì)CAM 400 搜索項(xiàng)。如果在CAM 400中找到匹配的項(xiàng),則把匹配地址410傳送到路 由映象器402,路由映象器402把相應(yīng)于匹配地址410的有關(guān)數(shù)據(jù)索引 ("ADI")傳送給路由表404。把IP多點(diǎn)傳送項(xiàng)422儲(chǔ)存在由ADI 412識(shí) 別的路由表404中的位置。IP多點(diǎn)傳送項(xiàng)422識(shí)別要由開關(guān)100 (圖l) 把IP多點(diǎn)數(shù)據(jù)包106 (圖l)送達(dá)的IP多點(diǎn)組。
為了避免IP多點(diǎn)數(shù)據(jù)包的重復(fù)傳送,用IP源地址344 (圖3C)、 IP 目的地址346 (圖3C)、 VLANID318 (圖3B)和入口端數(shù)108 (圖l) 對(duì)CAM 400進(jìn)行搜索。例如,如果源節(jié)點(diǎn)連在多于一個(gè)端口,即目的節(jié) 點(diǎn)x連在端口 y和端口 x,并且IP多點(diǎn)數(shù)據(jù)包被從端口 y上的節(jié)點(diǎn)x收到,那么就把數(shù)據(jù)包傳送給IP多點(diǎn)組的全部成員。但是,如果IP多點(diǎn)數(shù)據(jù)包 且U5當(dāng)門7 h的曰66+th+il" v iKrSI,i由古fr態(tài) ffl^曰的v ;牟7t汔^P—水5S
口,因此,在端口z上收到的IP多點(diǎn)數(shù)據(jù)包是在端口y上收到的IP多點(diǎn) 數(shù)據(jù)包的重復(fù)。
每個(gè)在路由表404中的多點(diǎn)傳送項(xiàng)422包括橋矢量416、路由矢量4M 和多點(diǎn)傳送索引132 ("MFI")。橋矢量416和路由矢量414被傳送到組合 矢量邏輯406。 MFI132被傳送到數(shù)據(jù)包處理邏輯128 (圖l)。
組合矢量邏輯406通過對(duì)路由矢量414和橋矢量416執(zhí)行邏輯或功能
+々上/+二 W縣,。八々Jt /+—、V:—且1 。。 /+-、V: Z:rlll I門_____i一之明祖1 , /1
J工夕ATVIi7仏入雖丄^Uo夕/^、'| 仏入雖J^U T漢'l^仏;tiJ山l~J pUU—q "科
(圖1)。多點(diǎn)傳送矢量120選擇IP多點(diǎn)數(shù)據(jù)包106 (圖1)要送達(dá)的一個(gè)
或多個(gè)出口端。
在入口port—1 108收到的IP多點(diǎn)數(shù)據(jù)包106 (圖1)的以太網(wǎng)數(shù)據(jù)鏈 (L2)報(bào)頭304 (圖3B)中目的地址314 (圖3B)的前三個(gè)字節(jié)被設(shè)置 為"0x01-00-53"。 IP多點(diǎn)數(shù)據(jù)包106在數(shù)據(jù)輸入122 (圖1)上傳送到存 儲(chǔ)器116 (圖1)之前,數(shù)據(jù)包處理邏輯128 (圖1)把從入口端傳來的信 息多點(diǎn)傳送邏輯U4 (圖1)寫入目的地址314 (圖3B)的第二和第三位 如下"0x01-0M-Fl"。入口被修改的IP多點(diǎn)數(shù)據(jù)包126 (圖1)被存入存 儲(chǔ)器116 (圖1)。出口信息多點(diǎn)傳送邏輯118 (圖1)利用包含在入口經(jīng) 修改的IP多點(diǎn)數(shù)據(jù)包中的MFI在把出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包傳送給出 口端IIO (圖l)之前修改入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126 (圖l)。
IP多點(diǎn)傳送矢量120確定哪一個(gè)出口端110a-c是IP多點(diǎn)數(shù)據(jù)包106 (圖1)要送達(dá)的地方。入口經(jīng)修改的多點(diǎn)數(shù)據(jù)包126 (圖1)在存儲(chǔ)器 116 (圖1)中的位置根據(jù)相應(yīng)于出口端排隊(duì)(未示出)位的狀態(tài)存儲(chǔ)在 出口端q邏輯134 (圖1)中的出口端排隊(duì)上。該狀態(tài)是在入口多點(diǎn)信息 傳送邏輯114 (示于圖5中)中以多點(diǎn)傳送矢量420實(shí)現(xiàn)的。
圖5是示于圖4中的入口多點(diǎn)傳送邏輯114中實(shí)現(xiàn)的方法的流程圖, 用于處理在入口端108 (圖1)收到的IP多點(diǎn)數(shù)據(jù)包106 (圖1)。該方法 結(jié)合圖l-4來描述。
在步驟500,入口多點(diǎn)傳送邏輯114 (圖1)從數(shù)據(jù)包處理邏輯128 (圖l)接收IP多點(diǎn)數(shù)據(jù)包130的部分,處理以步驟502繼續(xù)。
16在步驟502,入口多點(diǎn)傳送邏輯114 (圖4)初始化在組合矢量邏輯 406中的路由矢量414 (圖4)和橋矢量416 (圖4)。
在步驟504,在CAM 400 (圖4)中搜索與IP目的地址346 (圖3C) 和IP源地址344 (圖3C)相匹配項(xiàng),這些地址是從數(shù)據(jù)包處理邏輯128 (圖1)傳到CAM400的。如果在CAM400 (圖4)中找到匹配地址410 (圖4),處理以步驟506繼續(xù)。如果沒有找到,處理以步驟518繼續(xù)。
在步驟506,把匹配地址410 (圖4)傳送給路由映象器402 (圖4)。 路由映象器402 (圖4)把相應(yīng)于匹配地址410 (圖4)的信息多點(diǎn)傳送的 路徑碼("MPC") 422傳送給CAM 400 (圖4),處理從步驟508繼續(xù)。
在步驟508,在CAM 400 (圖4)中,根據(jù)MPC422,來自以太網(wǎng)數(shù) 據(jù)鏈(L2)報(bào)頭304 (圖4)的VLANID318 (圖3B)和入口端數(shù)目進(jìn)行 第二次搜索。如果在CAM400 (圖4)中找到匹配地址410 (圖4),處理 以步驟510繼續(xù)。如果沒有找到,處理以步驟518繼續(xù)。
在步驟510,把匹配地址410 (圖4)傳給路由映象器(圖4)。路由 映象器把相應(yīng)于匹配地址410 (圖4)的ADI傳給路由表404。對(duì)IP多點(diǎn) 數(shù)據(jù)包106 (圖l)的IP多點(diǎn)傳送項(xiàng)422 (圖4)被存儲(chǔ)在由ADI412識(shí) 別的路由表404中的位置。處理以步驟512繼續(xù)。
在步驟512,把存儲(chǔ)在多點(diǎn)傳送項(xiàng)422 (圖4)的MFI132 (圖4)傳 送到數(shù)據(jù)包處理邏輯128 (圖1),把存儲(chǔ)在多點(diǎn)傳送項(xiàng)422 (圖4)的橋 矢量416 (圖4)傳送給組合矢量邏輯406 (圖4)。處理以步驟514繼續(xù)。
步驟514,如果在傳送到入口多點(diǎn)傳送邏輯114 (圖l)的IP多點(diǎn)數(shù) 據(jù)包106 (圖1)內(nèi),IP網(wǎng)絡(luò)層(L3)報(bào)頭306 (圖3)中,IP多點(diǎn)數(shù)據(jù) 包130 (圖l)部分的TTL字段大于1,處理以步驟516繼續(xù),否則,處 理以步驟518繼續(xù)。
在步驟516,把存在多點(diǎn)傳送項(xiàng)422 (圖4)的路由矢量414 (圖4) 傳送給組合矢量邏輯406 (圖4)。處理以步驟518繼續(xù)。
在步驟518,把相應(yīng)于入口端108 (圖1)的入口端數(shù)從橋矢量416 (圖4)中去除,在該入口端接收到IP多點(diǎn)數(shù)據(jù)包,處理以步驟519繼續(xù)。
在步驟519,把橋矢量416 (圖4)和VLAN成員矢量(未示出)組 合起來,處理步驟520繼續(xù)。在步驟520,借助于執(zhí)行邏輯或功能把橋矢量416 (圖4)和路由矢 量414 (圖4)組合起來,為IP多點(diǎn)組提供多點(diǎn)傳送矢量120 (圖4)。處 理以步驟522繼續(xù)。
在步驟522,把多點(diǎn)傳送矢量422傳送給出口 port—q邏輯134(圖1)。 如果在CAM400 (圖4)中沒有找到對(duì)IP多點(diǎn)數(shù)據(jù)包106 (圖l)的 匹配項(xiàng),即IP多點(diǎn)組未知,那么,把多點(diǎn)數(shù)據(jù)包106 (圖1)傳送給主機(jī) 端口 (未示出),所以,主機(jī)端口可以把IP多點(diǎn)組的項(xiàng)加在CAM400 (圖 4)、路由映象器402 (圖6)和路由表404 (圖4)中。多點(diǎn)傳送矢量422 (圖4)這樣選擇,使EP信息多點(diǎn)傳送包106 (圖1)被傳送到主機(jī)端口。 多點(diǎn)傳送矢量422 (圖4)也可這樣選擇,使對(duì)未知IP多點(diǎn)組的IP多點(diǎn) 數(shù)據(jù)包106 (圖1)被接通到VLAN,在其上IP多點(diǎn)數(shù)據(jù)包106 (圖1) 曾被接收。
圖6說明示于圖1的出口信息多點(diǎn)傳送邏輯118。出口信息多點(diǎn)傳送 邏輯118 (圖1)包括MFI檢測邏輯602、編輯器邏輯600和MFI表604。 MFI表604包括MFI項(xiàng)612。
當(dāng)存在存儲(chǔ)器116 (圖1)中,在數(shù)據(jù)輸出124上傳送的入口經(jīng)修改 的IP多點(diǎn)數(shù)據(jù)包的副本被出口 IP多點(diǎn)傳送處理邏輯118接收時(shí),MFI檢 測邏輯602檢測包含在入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126 (圖1)內(nèi)的MFI 132,并把MFI 132傳送給MFI表604。 MFI 132是對(duì)MFI項(xiàng)612在相應(yīng) 于IP多點(diǎn)組的MFI表604中的索弓I。MFI項(xiàng)612確定哪一個(gè)出口端口 112 (圖1)是IP多點(diǎn)數(shù)據(jù)包106 (圖1)的第一副本要傳送的地方。如果相 繼的IP信息多點(diǎn)傳送包106要傳送到出口端口 110上,那么,下一個(gè)MFI 132'被包括在MFI表604中的MFI項(xiàng)612內(nèi)。把下一個(gè)MFI132,傳送 給MFI檢測邏輯602來選擇下一個(gè)MFI項(xiàng)612。例如,下一個(gè)MFI132' 與對(duì)出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112a (圖1)的MFI項(xiàng)612—起儲(chǔ)存, 來選擇下一個(gè)對(duì)出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112b(圖1)的MFI項(xiàng)612'。
入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126 (圖1)根據(jù)包括在MFI612中的信 息多點(diǎn)傳送參數(shù)610被編輯器邏輯600修改。把儲(chǔ)存在MFI項(xiàng)612內(nèi)的 信息多點(diǎn)傳送參數(shù)610送到編輯器邏輯600。這樣根據(jù)要送達(dá)的目的節(jié)點(diǎn) 104a-f (圖1),對(duì)每個(gè)入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126 (圖1)進(jìn)行編輯。根據(jù)在MFI表604中提供的MFI項(xiàng)612,可以對(duì)入口經(jīng)修改的IP多點(diǎn)數(shù) 據(jù)包126 (圖1)進(jìn)行編輯,以提供出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112 (圖 1),并以線速把它傳送給連到出口端口 110a-c (圖1)的IP多點(diǎn)組的每一成員。
圖7說明對(duì)有四個(gè)端口的開關(guān)100 (圖1)的MFI表604 (圖6)。 MFI表604 (圖6)包括IVID表700和VLAN ID表702。 MFI項(xiàng)612, 包括在IVID表700中的IVID項(xiàng)718和在VLAN ID表702中的VLAN ID 項(xiàng)710。在IVID表700中的IVID項(xiàng)718包括每個(gè)連到開關(guān)100 (圖l) 端口的端口字段714a-d。圖1所示的開關(guān)100包括四個(gè)端口 入口端port—1 108和出口端port—1-3 llOa-c。
每個(gè)端口字段714包括橋/路由字段708、下一個(gè)字段706和IVID 字段704。 IVID項(xiàng)718也包括下一個(gè)MFI字段716。如果任一在IVID項(xiàng) 718中的下一個(gè)字段706a-d指出另一個(gè)出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112 (圖1)要送達(dá)到連到開關(guān)IOO (圖1)的端口,則下一個(gè)MFI字段儲(chǔ)存 下一個(gè)MFI 132'。如圖l所示,IVID項(xiàng)718是用于四個(gè)端口的開關(guān)100 (圖l)的。端口字段714的數(shù)目并非局限于所示的四個(gè)端口字段714提 供來用于每個(gè)連到開關(guān)100 (圖1)的端口。例如,對(duì)于有64個(gè)端口的開 關(guān),IVID項(xiàng)718包括64個(gè)端口字段714。
如果存在對(duì)端口有效的VLAN ID項(xiàng)716,則IVID字段儲(chǔ)存對(duì)應(yīng)IVID 字段704的VLAN I表702中的VLAN ID項(xiàng)716。 VLAN ID表702中的 VLAN ID項(xiàng)包括VLAN ID字段710和標(biāo)簽字段712。
在另一個(gè)實(shí)施例中,在IVID表700中的IVID項(xiàng)718可包括儲(chǔ)存在 IVID項(xiàng)718中的VLANID字段710和標(biāo)簽字段712,在這一情況下,可 以不要IVID字段704。但是,把IVID項(xiàng)718和VLAN ID入口項(xiàng)分別存 入IVID表700和VLAN ID表702,減少了需要實(shí)現(xiàn)MFI表604 (圖6) 的總存儲(chǔ)量,因?yàn)槊總€(gè)入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126可以沒有相應(yīng)的 VLAN ID項(xiàng)716。
橋/路由字段708作為單個(gè)位來實(shí)現(xiàn)。橋/路由字段708的狀態(tài)確定 是否有入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包要接到或發(fā)送到端口 。下一個(gè)字段706 作為單個(gè)位來實(shí)現(xiàn)。下一個(gè)字段706的狀態(tài)確定是否有其它的出口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112 (圖1)要送到端口 。 IVID字段704提供對(duì)VLAN ID 表702的索引。在IVID字段704中的位數(shù)與VLAN ID表702的大小有 關(guān)。例如對(duì)于有256個(gè)VLAN ID項(xiàng)716的VLAN ID表706, VLAN ID 索引714包括8位。
如果入口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包126 (圖1)要路由到端口的話,則 VLAN ID 710包含有效的VLAN ID 710。如果標(biāo)簽字段712指出出口經(jīng) 修改的IP多點(diǎn)數(shù)據(jù)包沒有標(biāo)出標(biāo)簽,那么,編輯器邏輯600 (圖6)從在 以太網(wǎng)數(shù)據(jù)鏈層(L2)的報(bào)頭304 (圖3)中的VLANID318 (圖3B)刪 去特征318b (圖3B)。
一旦確定需要VLAN ID 710,并從VLAN ID表702獲得VLAN ID 710,就把信息多點(diǎn)傳送參數(shù)610 (圖6)傳送到編輯器邏輯600 (圖6)。 邏輯器邏輯600 (圖6)利用信息多點(diǎn)傳送參數(shù)610來修改入口經(jīng)修改的 IP多點(diǎn)數(shù)據(jù)包126 (圖6),修改后,編輯器邏輯把出口經(jīng)修改的IP多點(diǎn) 數(shù)據(jù)包112傳送到出口端110 (圖1)。
如果在端口字段714中的橋/路由字段708被設(shè)置成橋,編輯器邏輯 600 (圖6)增加或除去VLANID318(圖3C),并在以太網(wǎng)鏈階層(L2) 報(bào)頭(圖3B)中把目的地址314重新恢復(fù)到它的原來值。
如果在端口字段714中的橋/路由字段708被設(shè)置為路由,那么,編 輯器邏輯600 (圖6)把路由器的源地址重寫入以太網(wǎng)數(shù)據(jù)鏈層(L2)報(bào) 頭304 (圖3B)內(nèi)的源地址314 (圖3B)中,遞減TTL 336 (圖3C)和 產(chǎn)生IP檢驗(yàn)和,并把它存入報(bào)頭檢驗(yàn)和342 (圖3C)中。編輯器邏輯600 (圖6)也恢復(fù)IP目的地址346 (圖3C)到原來的值,并加上TCI 318b (圖3B)標(biāo)簽。
出口信息多點(diǎn)傳送邏輯118 (圖1)把IP目的地址346 (圖3C)和出 口經(jīng)修改的IP多點(diǎn)數(shù)據(jù)包112a-f (圖1)傳送到端口 110a-c (圖1)。
在本發(fā)明參考優(yōu)先實(shí)施例作特別說明和描寫時(shí),業(yè)內(nèi)人士應(yīng)了解,可 以做各種形式和細(xì)節(jié)的改變而沒有超出權(quán)利要求書中主張的范圍。
權(quán)利要求
1. 一種開關(guān),包括處理邏輯,用于從多點(diǎn)數(shù)據(jù)包的報(bào)頭提取信息,并傳送提取的信息;入口傳送邏輯,用于接收提取的信息,并根據(jù)提取的信息獲得多點(diǎn)傳送索引,入口傳送邏輯還產(chǎn)生多點(diǎn)傳送矢量;處理邏輯還從入口傳送邏輯接收多點(diǎn)傳送索引,并傳送多點(diǎn)傳送索引和多點(diǎn)數(shù)據(jù)包;存儲(chǔ)器,用于存儲(chǔ)從處理邏輯接收的多點(diǎn)數(shù)據(jù)包,修改的多點(diǎn)數(shù)據(jù)包包括多點(diǎn)傳送索引;出口端,根據(jù)從入口傳送邏輯接收的多點(diǎn)傳送矢量產(chǎn)生目的地址,并將目的地址傳送到存儲(chǔ)器;出口多點(diǎn)傳送邏輯、出口端傳送邏輯,從存儲(chǔ)器接收多點(diǎn)數(shù)據(jù)包和多點(diǎn)傳送索引作為目的地址的函數(shù),出口多點(diǎn)傳送邏輯包括包含修改項(xiàng)的修改項(xiàng)表,用于多點(diǎn)組的每個(gè)成員與多點(diǎn)數(shù)據(jù)包關(guān)聯(lián)及多點(diǎn)組的多個(gè)成員與多點(diǎn)數(shù)據(jù)包關(guān)聯(lián),多點(diǎn)組的多個(gè)成員耦合到相同的出口端,為修改項(xiàng)表作索引,用于多點(diǎn)組在存儲(chǔ)器中存儲(chǔ)多點(diǎn)數(shù)據(jù)包;編輯器邏輯,根據(jù)與成員關(guān)聯(lián)的修改項(xiàng),修改從存儲(chǔ)器接收的多點(diǎn)數(shù)據(jù)包的副本;入口多點(diǎn)傳送邏輯,根據(jù)目的地址,指示存儲(chǔ)的多點(diǎn)數(shù)據(jù)包將被傳送到哪一個(gè)端口。
2. 根據(jù)權(quán)利要求l所述的開關(guān),其特征在于 多點(diǎn)傳送矢量指出存儲(chǔ)的多點(diǎn)數(shù)據(jù)包將被傳送到哪一個(gè)端口。
3. 根據(jù)權(quán)利要求2所述的開關(guān),其特征在于還包括端口排隊(duì)邏輯,根據(jù)多點(diǎn)傳送矢量,以至少一個(gè)端口隊(duì)列存儲(chǔ)在存儲(chǔ) 器內(nèi)存儲(chǔ)的多點(diǎn)數(shù)據(jù)包的指針。
4. 根據(jù)權(quán)利要求3所述的開關(guān),其特征在于端口排隊(duì)邏輯在把被儲(chǔ) 存的多點(diǎn)數(shù)據(jù)包傳送到IP多點(diǎn)組的全部成員之后,把指針移到存儲(chǔ)在端口排隊(duì)的多點(diǎn)數(shù)據(jù)包,這里的全部成員指連接到與端口排隊(duì)有關(guān)端口的全 部成員。
5. 根據(jù)權(quán)利要求1所述的開關(guān),其特征在于,修改項(xiàng)包括 虛擬L認(rèn)識(shí)別;對(duì)下一個(gè)修改項(xiàng)的指針;標(biāo)簽指示器; 傳送類型指示器。
6. 根據(jù)權(quán)利要求5所述的開關(guān),其特征在于,下一個(gè)修改項(xiàng)的指針是用來修改下一個(gè)多點(diǎn)數(shù)據(jù)包副本的下一個(gè)修改項(xiàng)的索引。
7. 根據(jù)權(quán)利要求1所述的開關(guān),其特征在于,修改項(xiàng)包括 存儲(chǔ)在虛擬LAN識(shí)別表中的虛擬LAN項(xiàng);存儲(chǔ)在中間LAN識(shí)別表中的中間項(xiàng),其中,中間項(xiàng)包括對(duì)虛擬LAN 項(xiàng)的索引。
8. —種在開關(guān)中傳送多點(diǎn)數(shù)據(jù)包的方法,包括步驟 接收來自入口端的數(shù)據(jù)包; 確定數(shù)據(jù)包是否是多點(diǎn)數(shù)據(jù)包; 處理多點(diǎn)數(shù)據(jù)包,以確定出口端、索引和多點(diǎn)矢量; 提供目的地址作為多點(diǎn)矢量的函數(shù);把包括多點(diǎn)傳送索引和目的地址的處理過的多點(diǎn)數(shù)據(jù)包存入存儲(chǔ)器; 存儲(chǔ)包含由索引指示的修改項(xiàng)的修改項(xiàng)表,用于多點(diǎn)組的每個(gè)成員與多點(diǎn)數(shù)據(jù)包關(guān)聯(lián),多點(diǎn)組的多個(gè)成員耦合到相同出口端;根據(jù)與成員關(guān)聯(lián)的修改項(xiàng),修改從存儲(chǔ)器接收的多點(diǎn)數(shù)據(jù)包的副本; 在下一個(gè)可用出口端口周期,傳送修改的多點(diǎn)數(shù)據(jù)包的副本到出口端口作為目的地址的函數(shù)。
9. 根據(jù)權(quán)利要求8所述的在開關(guān)中傳送多點(diǎn)數(shù)據(jù)包的方法,其特征 在于還包括步驟根據(jù)包括在多點(diǎn)數(shù)據(jù)包內(nèi)的參數(shù),選擇對(duì)多點(diǎn)數(shù)據(jù)包的多點(diǎn)傳送矢 量,多點(diǎn)傳送矢量指出哪一個(gè)出口端口是多點(diǎn)數(shù)據(jù)包要送達(dá)的端口 。
10. 根據(jù)權(quán)利要求9所述的在開關(guān)中傳送多點(diǎn)數(shù)據(jù)包的方法,其特征 在于還包括步驟根據(jù)多點(diǎn)傳送矢量,由數(shù)據(jù)包管理器把存儲(chǔ)在存儲(chǔ)器中的多點(diǎn)數(shù)據(jù)包 的指針存入與出口端有關(guān)的端口排隊(duì)中。
11. 根據(jù)權(quán)利要求io所述的在開關(guān)中傳送多點(diǎn)數(shù)據(jù)包的方法,其特征在于還包括步驟把所有多點(diǎn)傳送數(shù)據(jù)包經(jīng)修改后的副本傳送給與端口排隊(duì)有關(guān)的出 口端之后,數(shù)據(jù)包管理器除去存儲(chǔ)在端口排隊(duì)的多點(diǎn)數(shù)據(jù)包的指針。
12. 根據(jù)權(quán)利要求8所述的在開關(guān)中傳送多點(diǎn)數(shù)據(jù)包的方法,其特征在于,提供修改項(xiàng)的步驟包括提供虛擬LAN識(shí)別、對(duì)下一個(gè)入口的指針、標(biāo)簽指示器和傳送類型指 不器。
13. 根據(jù)權(quán)利要求12所述的在開關(guān)中傳送多點(diǎn)數(shù)據(jù)包的方法,其特 征在于,對(duì)下一個(gè)項(xiàng)指針提供對(duì)下一個(gè)修改項(xiàng)的索引,存儲(chǔ)對(duì)要送到出口 端的多點(diǎn)數(shù)據(jù)包第二次被修改的副本的參數(shù)。
14. 根據(jù)權(quán)利要求8所述的在開關(guān)中傳送多點(diǎn)數(shù)據(jù)包的方法,其特征在于,提供出口端傳送邏輯的步驟還包括步驟 提供虛擬LAN識(shí)別表;提供中間LAN識(shí)別表,用于存儲(chǔ)多點(diǎn)項(xiàng),其中,多點(diǎn)項(xiàng)包括對(duì)包含虛 擬LAN識(shí)別的虛擬LAN識(shí)別表中位置的指針。
全文摘要
在包括一組端口的開關(guān)中,IP多點(diǎn)數(shù)據(jù)包到達(dá)入口端的接收副本以線速被傳送到IP多點(diǎn)組的每個(gè)成員。數(shù)據(jù)包一次傳到給定的出口端,可多次從出口端發(fā)出。如果在出口端有多個(gè)子網(wǎng),每個(gè)需要數(shù)據(jù)包副本的子網(wǎng)將用包含在數(shù)據(jù)包中的VLAN ID接收數(shù)據(jù)包。把IP多點(diǎn)組接收的IP多點(diǎn)數(shù)據(jù)包存入儲(chǔ)存器,對(duì)每個(gè)端口存儲(chǔ)數(shù)據(jù)包在存儲(chǔ)中位置的指針,這些端口是數(shù)據(jù)包的副本要送達(dá)的地方。IP多點(diǎn)傳送項(xiàng)提供給IP多點(diǎn)組用。傳送入口包括對(duì)要傳送給IP多點(diǎn)組的每個(gè)數(shù)據(jù)包的修改項(xiàng)。被存數(shù)據(jù)包的副本,根據(jù)修改項(xiàng)進(jìn)行修改,并在下一個(gè)對(duì)端口的有效端口循環(huán)中被傳送。
文檔編號(hào)H04L12/56GK101447920SQ20081017860
公開日2009年6月3日 申請(qǐng)日期2000年11月30日 優(yōu)先權(quán)日1999年12月1日
發(fā)明者戴維·A·布朗 申請(qǐng)人:睦塞德技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
龙南县| 保康县| 江油市| 通辽市| 宁安市| 鸡泽县| 莎车县| 安徽省| 万盛区| 鞍山市| 山阳县| 岳阳县| 万盛区| 唐海县| 成都市| 长春市| 淳化县| 车致| 桦甸市| 石台县| 封丘县| 乌拉特后旗| 石屏县| 南和县| 柳江县| 呼图壁县| 潞城市| 济宁市| 天峨县| 镇远县| 察隅县| 体育| 扎鲁特旗| 三明市| 青川县| 文登市| 卢氏县| 广水市| 胶南市| 江源县| 游戏|