專利名稱::多播分組的傳送設(shè)定方法與裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種多播分組傳送的設(shè)定方法與裝置,是藉由在網(wǎng)絡(luò)系統(tǒng)中的一交換控制器的實(shí)施應(yīng)用,特別是利用一地址表的查詢以設(shè)定該方法。請(qǐng)參閱圖1,是傳統(tǒng)交換器的內(nèi)部方塊示意圖。如上述的單播地址、廣播地址以及多播地址的運(yùn)作若實(shí)現(xiàn)在硬件裝置,則可在交換器中看出其運(yùn)作,例如在圖1中具有多個(gè)輸出/輸入埠的交換器1,這些輸出/輸入端口是藉由實(shí)體傳輸線(例如雙絞線、光纖..)連接至網(wǎng)絡(luò)上的其它裝置。交換器1是具有交換芯片10以及四個(gè)輸入埠11ˉ14與四個(gè)輸出埠15ˉ18,假設(shè)若分組是由任一輸入埠11輸入,并經(jīng)由交換芯片10輸出至輸出端口15,則此方式是為一對(duì)一的單點(diǎn)傳播,如果分組是由任一輸入埠12輸入,并經(jīng)由交換芯片10輸出至全部的輸出埠15ˉ18(非選擇性的輸出至全部的輸出埠),則此方式是為一對(duì)全部多數(shù)的廣播方式,若分組是由任一輸入埠13輸入,并經(jīng)由交換芯片10輸出至特定的輸出埠15ˉ16(選擇性的輸出至特定的復(fù)數(shù)個(gè)輸出埠),則此方式是為一對(duì)特定多數(shù)的多播方式,這些特定多數(shù)的IP群組地址可經(jīng)由預(yù)先的設(shè)定,或者是經(jīng)由交換器的學(xué)習(xí)功能而產(chǎn)生。然而,交換器對(duì)于如何決定將分組放在哪個(gè)輸出埠,一般是使用分組表頭中的識(shí)別碼來(lái)做判斷,并且交換器在決定如何轉(zhuǎn)送分組以及路徑的選擇時(shí),亦會(huì)參考查詢一轉(zhuǎn)送表格(forwardingtable),轉(zhuǎn)送表格記錄有交換器在網(wǎng)絡(luò)上傳送資料所需要的路徑信息。在有關(guān)IP多播分組的種類,包括有IGMP控制協(xié)議分組以及IP多播資料分組,對(duì)于一個(gè)交換器而言,處理這兩種分組的程序并不相同。IGMP控制協(xié)議分組可分為兩種,一種是由路由器發(fā)出的協(xié)議分組,稱為路由協(xié)議分組(Routerprotocolpacket),例如是IGMP詢問(wèn)(query)分組,另一種是群組成員協(xié)議分組(groupmemberprotocolpacket),例如是IGMP報(bào)告(report)分組以及Leave分組。路由協(xié)議分組是以廣播方式送到所有的輸出埠,而IP多播資料分組則視對(duì)多播群組表的檢視以及轉(zhuǎn)送操作的程序而定,假若對(duì)群組地址表的檢視成功,資料分組就會(huì)被傳送到所有的群組成員的輸出埠以及路由端口,若地址表內(nèi)未儲(chǔ)存該群組地址,則資料分組會(huì)被廣播到所有的輸出埠。當(dāng)一主機(jī)想要加入一IP多播群組,會(huì)產(chǎn)生一IGMP報(bào)告分組。當(dāng)交換器接收到IGMP報(bào)告(report)分組,會(huì)記錄收到IGMP報(bào)告分組的輸出/輸入埠的編號(hào)。多播路由器藉由定期的向所有主機(jī)群(224.0.0.1)發(fā)出IGMP詢問(wèn)分組來(lái)保持與更新群組信息,交換器可在IGMP詢問(wèn)分組通過(guò)時(shí),記錄連接多播路由器位置的輸出/輸入端口的編號(hào)。不過(guò)并不是每個(gè)交換器對(duì)于多播路徑的學(xué)習(xí)以及轉(zhuǎn)送表格的建立與能力都可具備。傳統(tǒng)技術(shù)是利用交換控制器與一中央處理單元配合方能處理多點(diǎn)傳播分組。一般俗稱dumb交換器則是未配合使用中央處理單元的交換器,該交換器僅能具備單點(diǎn)傳播的功能,亦即不能對(duì)多點(diǎn)傳播的分組予以處理。請(qǐng)參閱圖3,是為一dumb交換器檢視分組流程步驟以及檢視模塊示意圖。如圖3所示,其步驟如下a.控制邏輯31辨別所接收分組33的媒介存取控制(MediumAccessControl;MAC)的地址的步驟321;b.控制邏輯31向一單播地址表30檢視MAC的目的位址的步驟322;c.單播地址表30送出檢視結(jié)果,若目的位址不在該單播地址表30內(nèi),則將該分組33廣播至該交換器3的所有的輸出埠的步驟323;d.根據(jù)單播地址表30的結(jié)果,提供一輸出埠以將該分組輸出至該輸出埠324。以上所述的步驟,是傳統(tǒng)一交換控制器31將所接收分組33的目的位址與該單播地址表30所存放若干組單播地址比較,若相同即表示該分組為一單播分組,并且該分組會(huì)被送往該目的位址;若不相同,即表示該分組并非單播分組,則交換控制器會(huì)將分組送至該交換器的所有輸出埠,亦即以廣播方式傳送該分組,至于所接收分組是否為一多播分組,則此交換控制器無(wú)法辨別,亦即此交換控制器只能處理單播以及廣播型式的分組。由于傳統(tǒng)交換控制器無(wú)法辨別多播分組,故需一中央處理單元處理多播分組。請(qǐng)參閱圖2。如圖2所示,上述交換控制器3將無(wú)法辨別多播分組的信息傳送至中央處理單元(CPU)2,而中央處理單元?jiǎng)t分析、計(jì)算與處理交換控制器3所提供的信息并且對(duì)交換控制器3予以設(shè)定。由于中央處理單元有學(xué)習(xí)路徑傳送與多播群組成員的功能,尚需使用一多播地址表。而上述交換控制器與一中央處理單元處理的傳統(tǒng)技術(shù)中,對(duì)于CPU處理分組的資料路徑以及相關(guān)緩存器與硬件線路的設(shè)計(jì),會(huì)使得整個(gè)系統(tǒng)變的很復(fù)雜,例如需增加設(shè)計(jì)交換控制器與CPU的接口等等,并且相對(duì)使整個(gè)成本提高。對(duì)于此領(lǐng)域的研究者而言,若能將上述CPU所需處理多播分組的動(dòng)作設(shè)計(jì)在該交換控制器內(nèi)部即完成,則必能有效簡(jiǎn)化整個(gè)硬件電路架構(gòu)的復(fù)雜度,相對(duì)的節(jié)省成本,并使得原有網(wǎng)絡(luò)效能更為提高,則必能為此
技術(shù)領(lǐng)域:
帶來(lái)更進(jìn)一步的發(fā)展。本發(fā)明的另一目的,是提供一對(duì)分組辨識(shí)以及更新的規(guī)則以使一多播分組傳輸?shù)穆窂奖淼靡越?,并且該路徑表是與一原先存在該交換器的單播分組傳輸?shù)穆窂奖碛枰哉希沟寐窂綄W(xué)習(xí)功能與傳送表并存在本發(fā)明所設(shè)計(jì)的模塊中。因此無(wú)須另外設(shè)計(jì)一獨(dú)立的多播表格,并且提供一連串判斷以及執(zhí)行相關(guān)動(dòng)作的方法流程以實(shí)施并體現(xiàn)本發(fā)明的技術(shù)特點(diǎn)。本發(fā)明的再一目的,是提出一硬件裝置以實(shí)施本發(fā)明所揭露的方法流程,以達(dá)成多播分組的傳送設(shè)定。本發(fā)明的所提出的一交換器檢視分組流程步驟以及分組檢視模塊的包括a.一控制邏輯辨別所接收分組的MAC目的位址;b.該控制邏輯向一單多播地址表檢視該分組MAC的目的位址;c.該單多播地址表送出一檢視結(jié)果至該控制邏輯;d.該控制邏輯接受該檢視結(jié)果,并判斷該分組是否為一經(jīng)IGMPsnooping過(guò)程中的分組,若是,則更新該單多播地址表或是一多播路由器記錄表;e.控制邏輯根據(jù)前述檢視結(jié)果,提供該分組所要輸出的相對(duì)應(yīng)輸出埠的步驟。此外,本發(fā)明的所提出的多播分組的設(shè)定的方法,包括a.接收分組;b.檢視該分組的一目的位址是否已在一地址表中;c.若該分組的目的位址并未在該地址表中,則將一暫存輸出埠代碼值設(shè)定為其它所有的輸出埠值中;d.若該分組的目的位址已在該地址表中,則將上述暫存輸出埠代碼值設(shè)定到該群組地址表的相對(duì)位置中;e.判斷該分組是否為一IP分組,若是則執(zhí)行步驟f;若否,則執(zhí)行將一確定輸出埠代碼值設(shè)定為上述暫存輸出埠代碼值的步驟;f.識(shí)別該分組的一訊息型態(tài)欄(messagetype)505;(若該分組的訊息型態(tài)為IGMP型態(tài),則執(zhí)行步驟g;若該分組的訊息型態(tài)為DVMRP或PIM型態(tài),則執(zhí)行更新一多播路由器紀(jì)錄表的步驟;若該分組的訊息型態(tài)為其它型態(tài),則執(zhí)行將一確定輸出埠代碼值設(shè)定為上述暫存輸出埠代碼值的步驟。);g.判斷該分組的一目的位址是否為一多播地址的特定范圍,若是,則執(zhí)行將一確定輸出埠代碼值設(shè)定為上述暫存輸出埠代碼值的步驟;若否,則執(zhí)行下一步驟h;h.檢視該該分組的一IGMP訊息(message)型態(tài),并執(zhí)行相對(duì)應(yīng)該IGMP訊息型態(tài)的動(dòng)作,若該分組的IGMP訊息型態(tài)是為一詢問(wèn)型(query)分組,則執(zhí)行更新一多播路由器記錄表;若該分組的IGMP訊息型態(tài)是為無(wú)效(invalid)型態(tài)分組,則執(zhí)行將一確定輸出埠確定輸出埠代碼值設(shè)定為上述暫存輸出埠代碼值的步驟;若該分組的IGMP訊息型態(tài)是為一報(bào)告型(report)分組或Leave型態(tài)者,則執(zhí)行更新該地址表的步驟。此外,本發(fā)明所提供的硬件裝置包括一控制邏輯、一個(gè)分組接收緩沖器、一個(gè)分組傳送緩沖器以及一地址表,該地址表包含一單多播地址表以及一多播路由器紀(jì)錄表。為了對(duì)本發(fā)明有更近一步的認(rèn)識(shí)、了解,下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明。圖2是為傳統(tǒng)交換器與一中央處理單元處理多播分組示意圖。圖3是為一傳統(tǒng)交換器檢視分組流程步驟以及檢視模塊示意圖。圖4是為本發(fā)明整合單播與多播傳送的模塊的一較佳實(shí)施例的示意圖。圖5是為本發(fā)明中交換器檢視分組流程步驟以及分組檢視模塊的一較佳實(shí)施例的示意圖。圖6是為本發(fā)明的一較佳實(shí)施例的方法步驟流程圖。圖7是為本發(fā)明的一地址表分組格式的一較佳實(shí)施例。圖8是為實(shí)施本發(fā)明的硬件電路方塊圖的較佳實(shí)施例。附圖標(biāo)號(hào)說(shuō)明1交換器;10交換器芯片;11~14交換器輸入埠;15~18交換器輸出埠;2中央處理單元;3交換器ASIC;30單播地址表;31控制邏輯;33分組;321ˉ324傳統(tǒng)交換器檢視分組流程步驟;4交換器ASIC;40單播傳送機(jī)制;41多播傳送機(jī)制;420多播路由器紀(jì)錄表;421群組地址表;43控制邏輯;44分組;450ˉ454本發(fā)明交換器檢視分組流程步驟;46內(nèi)存;47分組接收緩沖器;48分組傳送緩沖器;49實(shí)體層;500ˉ510本發(fā)明方法的流程步驟;60地址欄;61Hash索引欄;62、63埠定時(shí)器;64Leave定時(shí)器。請(qǐng)參閱圖4,是本發(fā)明整合單播與多播傳送的模塊的一較佳實(shí)施例的示意圖。如圖4所示,一交換控制器4包括有一單播傳送機(jī)制40以及一多播傳送機(jī)制41,該單播傳送機(jī)制40是處理一般單播分組的傳送,該多播傳送機(jī)制41則處理包括傳送多播資料分組、識(shí)別控制協(xié)議分組的型態(tài)、對(duì)于路由端口的學(xué)習(xí)(routerportlearning)以及對(duì)于群組成員埠的學(xué)習(xí)(groupmemberportlearning),其中對(duì)于路由埠的學(xué)習(xí)可決定分組傳送的路徑,對(duì)群組成員傳輸埠的學(xué)習(xí)可決定群組成員的組成狀態(tài)。請(qǐng)參閱圖5,是為本發(fā)明中交換控制器檢視分組流程步驟以及分組檢視模塊的一較佳實(shí)施例的示意圖。如圖5所示,一分組44經(jīng)由網(wǎng)絡(luò)傳到一交換控制器4內(nèi)的一控制邏輯43,并經(jīng)由一具單多播地址表421的檢視分組44內(nèi)的目的位址是否與儲(chǔ)存在于該單多播地址表421內(nèi)的地址相符,的后將結(jié)果傳回控制邏輯43后再將處理結(jié)果輸出。其步驟如下a.控制邏輯43辨別所接收分組44的MAC目的位址的步驟450;b.控制邏輯43向一單多播地址表421檢視該分組MAC的目的位址的步驟451;c.該單多播地址表421送出一檢視結(jié)果至該控制邏輯43的步驟452;d.控制邏輯43接受該檢視結(jié)果,并判斷該分組是否為一經(jīng)snooping多播的分組,若是,則更新該單多播地址表421或是多播路由器記錄表420的步驟453;e.控制邏輯43根據(jù)該檢視結(jié)果,提供該分組所要輸出的相對(duì)應(yīng)輸出埠的步驟454。其中,d步驟中所述的IGMPsnooping多播是指一IGMPsnooping的過(guò)程,該過(guò)程且以舉一例子述的當(dāng)在網(wǎng)絡(luò)上的一主機(jī)或者是工作站要加入到多播群組時(shí),它會(huì)先送出一個(gè)IGMPReport分組到離它最近的一個(gè)支持IGMP的多播路由器中,多播路由器會(huì)定時(shí)對(duì)網(wǎng)絡(luò)上所有主機(jī)發(fā)出一IGMPquery多播分組,并且告知該路由器希望接收到該群組的多播分組傳送,此時(shí)實(shí)施本發(fā)明中的一交換控制器可監(jiān)視所有IGMP分組的傳送情形,譬如紀(jì)錄曾在哪些端口收到IGMPreport分組以及曾在哪些埠收到(IGMPquery分組,如此交換器便能正確的將IGMP訊息傳送給多播路由器將多播分組送給正確的群組成員,這樣的過(guò)程稱為IGMPsnooping。而前述IGMPsnooping過(guò)程在傳統(tǒng)技術(shù)中是利用CPU輔助交換器來(lái)實(shí)施,其有關(guān)使用CPU輔助交換控制器的缺點(diǎn)已在發(fā)明背景中詳述,而在本發(fā)明中即是利用switchASIC配合本發(fā)明所提出的方法以達(dá)成IGMPsnooping,除可避免傳統(tǒng)技術(shù)的缺點(diǎn)外,對(duì)于IGMPsnooping過(guò)程中加快分組傳送處理過(guò)程的速度,增進(jìn)了交換器的整體功效。以上所述的步驟,是本發(fā)明的一交換控制器內(nèi)部在接受分組時(shí)檢視該分組是否為一單播分組或多播分組的處理流程,因此在該交換器內(nèi)有預(yù)先設(shè)計(jì)有一整合單播與多播的地址表,以存放若干組單播或者是多播地址,以將所接收分組的目的位址與該單播與多播的地址表所存放的若干組地址相比較,若經(jīng)比較結(jié)果為一單播地址,即表示該分組為一單播分組,并且該分組會(huì)一單播位址的處理流程將該分組送往該目的位址。若經(jīng)比較結(jié)果為一多播地址,即表示該分組為一多播分組,該控制邏輯會(huì)根據(jù)儲(chǔ)存于該單播與多播的位址表中的目的群組位址,提供要輸出該多播分組的相對(duì)應(yīng)于該群組地址的輸出端口,并依多播位址的處理流程將該分組送往該群組目的位址。因此本發(fā)明是藉由設(shè)計(jì)一整合單播與多播的地址表,其中單播與多播地址是可同時(shí)存在于該表中,而可同時(shí)處理單播地址分組或多播地址分組的傳送,當(dāng)然亦可分別存放單播地址以及多播地址分組在不同的表格中,而無(wú)須像傳統(tǒng)技術(shù)需要一中央處理單元方能解決傳送多播分組的問(wèn)題。此外,根據(jù)圖5的模塊流程,可進(jìn)一步詳細(xì)說(shuō)明有關(guān)本發(fā)明所提供的多播(multicast)分組的傳送設(shè)定方法以及關(guān)于一整合單播與多播地址表的設(shè)定規(guī)則以及相關(guān)的步驟。請(qǐng)參閱圖6,是為本發(fā)明的一較佳實(shí)施例的方法步驟流程圖。本發(fā)明是為一種多播(multicast)分組的傳送設(shè)定方法,是可實(shí)施于網(wǎng)絡(luò)的一交換控制器中,以進(jìn)行傳送分組,包括下列步驟a.接收分組500;b.檢視該分組的一目的位址是否已在一地址表中的步驟501;c.若該分組的目的位址并未在該地址表中,則將一暫存輸出埠代碼值設(shè)定為所有的輸出埠值中的步驟502;d.若該分組的目的位址已在該地址表中,則將一暫存輸出埠代碼值設(shè)定到該地址表的相對(duì)位置中503;e.判斷該分組是否為一IP分組504,若是則執(zhí)行步驟505;若否,則執(zhí)行將一確定輸出埠代碼值設(shè)定為暫存輸出埠代碼值的步驟506;f.識(shí)別該分組的一預(yù)設(shè)的訊息型態(tài)欄(messagetype)505;(若該分組的訊息型態(tài)為IGMP型態(tài),則執(zhí)行步驟508;若該分組的訊息型態(tài)為DVMRP或PIM型態(tài),則執(zhí)行更新一多播路由器記錄表以及將確定輸出埠代碼值設(shè)定為所有輸出埠值的步驟507;若該分組的訊息型態(tài)為其它型態(tài),則執(zhí)行步驟506。)g.判斷該分組的一目的位址是否為一多播地址的特定范圍508,若否,則執(zhí)行步驟506;若是,則執(zhí)行下一步驟509;h.檢視該該分組的IGMP訊息型態(tài)(messagetype),并執(zhí)行相對(duì)應(yīng)該IGMP訊息型態(tài)的動(dòng)作509(若該分組的IGMP訊息型態(tài)是為一IGMP詢問(wèn)型(query)分組,則執(zhí)行步驟507;若該分組的IGMP訊息型態(tài)是為無(wú)效(invalid)型態(tài)分組,則執(zhí)行步驟506;若該分組的IGMP訊息型態(tài)是為一IGMP報(bào)告型(report)分組或Leave型態(tài),則執(zhí)行更新該地址表以及該確定輸出埠代碼值設(shè)定為所有相對(duì)應(yīng)路由器輸出埠值的步驟510。)如上述,其中b步驟所述的該地址表,是可為圖5中所述的整合單播與多播地址的一單多播地址表。其中,c步驟所述的將一暫存輸出埠代碼值(可以tmpPortMap為暫存輸出埠代碼值的代號(hào))設(shè)定為其它所有的輸出埠值中(例如是以tmpPortMap=Allports設(shè)定的方式),即指該分組為非多播分組,故將該分組傳給交換器中的所有輸出埠,因此要將該暫存輸出埠代碼值設(shè)定為所有的輸出埠,以表示要將該分組送到每一個(gè)輸出埠中。其中,d步驟所述的將暫存輸出埠代碼值設(shè)定到該地址表的相對(duì)位置中,即指該分組的目的位址已存在于該地址表中(可能是單播或多播分組),根據(jù)該地址表內(nèi)所記錄的成員端口紀(jì)錄,預(yù)定將該分組送到成員埠去。其中,e步驟所述的將一確定輸出埠代碼值設(shè)定為暫存輸出埠代碼值(例如是以PortMap(確定輸出埠代碼值)=tmpPortMap設(shè)定的方式)。其中,g步驟所述的多播地址的特定范圍是指在IP協(xié)議地址中224.0.0.0至224.0.0.255之間。其中上述的各步驟須參考本發(fā)明所設(shè)計(jì)的一分組辨別與更新規(guī)則,如下列表一,IP協(xié)議欄中的各數(shù)字是相對(duì)應(yīng)至IP協(xié)議中的相關(guān)代碼,協(xié)議訊息型態(tài)欄中的各列代碼則顯示所接收分組的訊息型態(tài)是為何種型態(tài)的分組(例如是IGMP中的詢問(wèn)型或報(bào)告型,或者是DVMRP或CBT的通信協(xié)議),更新表格欄則表示相對(duì)應(yīng)于該IP協(xié)議欄以及協(xié)議訊息型態(tài)欄中的代碼所要執(zhí)行更新動(dòng)作的是多播路由器記錄表或者是地址表,設(shè)定參數(shù)欄則表示對(duì)該更新表格中所要設(shè)定的參數(shù)。例如,在上述f步驟中所述及,關(guān)于識(shí)別該分組的一訊息型態(tài)欄(messagetype)505的步驟,其中所述及的若該分組的訊息型態(tài)為DVMRP或PIM型態(tài),則執(zhí)行步驟507,當(dāng)執(zhí)行更新一多播路由器記錄表以及確定輸出端口代碼值設(shè)定為所有輸出埠值的動(dòng)作507時(shí),則參考表一的協(xié)議訊息型態(tài)欄則可看出當(dāng)使用DVMRP(DistanceVectorMulticastRoutingProtocol;距離向量多播路由協(xié)議)時(shí)其代碼為0×13,當(dāng)使用PIMv1(ProtocolIndependentMulticast)時(shí)其代碼為0×14而當(dāng)訊息型態(tài)欄內(nèi)的數(shù)值為0×11、0×12、0×16、0×17時(shí),則是表示該分組訊息型態(tài)所代表者為IGMP分組。再者,上述h步驟中所述,檢視該該分組的IGMP型態(tài),并執(zhí)行相對(duì)應(yīng)該IGMP型態(tài)的動(dòng)作509的步驟,若該分組的IGMP型態(tài)是為一詢問(wèn)型(query)分組時(shí),則可相對(duì)表一中協(xié)議訊息型態(tài)欄的訊息代碼為0×11,亦是表示為一般詢問(wèn)者(generalquery)。若該分組的IGMP型態(tài)是為一報(bào)告型(report)分組者,若是為V1report的型式則其訊息型態(tài)欄的代碼為0×12,若是為V2report的型式則其代碼為0×16;若該分組的IGMP型態(tài)為L(zhǎng)eaveGroup的型式,則其代碼為0×17。表一分組辨別與更新規(guī)則表由于每一個(gè)IP多播地址可對(duì)映出以太網(wǎng)絡(luò)中的單一的多播地址的前25位為01-00-5e-X,對(duì)于將群組地址表與原來(lái)的單播地址表合并使用相同的表格,可使用一額外的旗標(biāo)位(flagbit)來(lái)達(dá)成。因?yàn)閷?duì)于多播地址落在224.0.0.X范圍者,是被預(yù)留作路由協(xié)議之用,因此交換器所有的輸出埠應(yīng)該都需收到該分組,因此對(duì)于目的MAC位址的前碼為01-00-5e-00-00-x的不會(huì)經(jīng)由學(xué)習(xí)過(guò)程將屬于該地址范圍的地址記錄到群組位置表中。請(qǐng)參閱圖7,是為本發(fā)明的一群組地址表分組格式。如圖7所示,地址欄60的長(zhǎng)度是可依據(jù)Hash索引欄61(Hashindex)61的長(zhǎng)度而相對(duì)調(diào)整,而每個(gè)埠定時(shí)器(portTimer)的長(zhǎng)度均設(shè)定為兩位,例如Port1Timer62至PortnTimer63的n個(gè)端口定時(shí)器均為兩位,以及有一個(gè)兩位的V1LeaveTimer64,假若有一交換器共有24個(gè)端口且使用了12位元的Hash索引欄,則對(duì)于每一個(gè)群組地址的總位數(shù)為11+2*24+2=61位。對(duì)于埠定時(shí)器的值是為表示相對(duì)應(yīng)于該埠的群組成員,假若該值非為0,則該相對(duì)應(yīng)端口就是該群組地址的成員的一,當(dāng)某一個(gè)埠收到一個(gè)IGMP型態(tài)的報(bào)告分組(IGMPReportpacket)時(shí),相對(duì)該埠的埠定時(shí)器的值即被設(shè)定為3,但若是收到一個(gè)IGMP型態(tài)的Leave分組(IGMPLeavepacket)時(shí),相對(duì)該埠的埠定時(shí)器的值即被設(shè)定為1,對(duì)于每一個(gè)定時(shí)器的值,可藉由該交換器中的一般計(jì)數(shù)機(jī)制來(lái)減少。亦即所述的埠定時(shí)器欄,是可相對(duì)應(yīng)傳送至該埠的分組的有效存在時(shí)間所為的計(jì)數(shù)值的設(shè)定,并會(huì)依次遞減,當(dāng)該埠的計(jì)數(shù)值遞減至0時(shí),則該分組自動(dòng)失效。V1LeaveTimer64是被用來(lái)標(biāo)示IGMPv2的Leave訊息是否被忽略,V1LeaveTimer64可識(shí)別不同的IGMP版本(IGMPvx),而相對(duì)記錄該版本的情形而作設(shè)定(譬如對(duì)IGMPv2可告訴主機(jī)端有哪些端口要退出該群組),RFC2326說(shuō)明當(dāng)該埠有IGMPv1的Leave群組成員在相同的多播群組時(shí)可以忽略IGMPv2的Leave訊息,V1LeaveTimer64是在該交換器的任何的埠接收到一個(gè)IGMPv1的報(bào)告形式的分組時(shí)將該值設(shè)為3,而該埠計(jì)數(shù)器的值依一般計(jì)數(shù)模式在每次掃描到達(dá)到該位置時(shí)遞減。對(duì)于一個(gè)SVL的路由端口緩存器的端口僅包含定時(shí)器,在每一次某一特定埠接收到IGMPquerypacket時(shí),相對(duì)應(yīng)該埠的計(jì)數(shù)器值會(huì)被重設(shè)為初始值,例如設(shè)定為3(但不以3為限,亦可視實(shí)際需要設(shè)定為其它的計(jì)數(shù)值),并且每次當(dāng)掃描到該位置時(shí)減1,直到該埠的計(jì)數(shù)器值遞減至0時(shí),則該分組自動(dòng)失效。請(qǐng)參閱圖8,是為實(shí)施本發(fā)明的硬件電路方塊圖的較佳實(shí)施例。如圖8所示,一ASIC型態(tài)的交換器4是至少包括有一控制邏輯43、一單多播地址表421、一多播路由器紀(jì)錄表420、一內(nèi)存46、一分組接收緩沖器(Rxbuffer)47以及一分組傳送緩沖器(Txbuffer)48。其中分組接收緩沖器47是接受來(lái)自實(shí)體層裝置49所輸入的分組,分組傳送緩沖器48則將控制邏輯43所處理過(guò)的分組輸出于外界的實(shí)體層49裝置,內(nèi)存46則儲(chǔ)存相關(guān)經(jīng)控制邏輯43所處理的分組,多播路由器紀(jì)錄表420是紀(jì)錄多播路由器存在于那些埠上。單多播地址表421則儲(chǔ)存了單播分組與多播分組地址的紀(jì)錄,當(dāng)然多播路徑紀(jì)錄表420以及單多播地址表421的資料是可利用一般的內(nèi)存裝置來(lái)儲(chǔ)存。關(guān)于控制邏輯43、多播路由器紀(jì)錄表420以及地址表421的相關(guān)動(dòng)作流程以及原理請(qǐng)參閱前述各較佳實(shí)施例中的所述。綜上所述,藉由本發(fā)明的一種多播分組的傳送設(shè)定方法與裝置的實(shí)施,是可簡(jiǎn)化硬件線路的設(shè)計(jì),省略傳統(tǒng)技術(shù)中需要使用中央處理單元的缺點(diǎn),并且同時(shí)可處理單播與多播分組的傳送與相關(guān)的設(shè)定,藉由本發(fā)明所提供的方法,使得網(wǎng)絡(luò)上頻寬的使用不會(huì)像傳統(tǒng)技術(shù)因而浪費(fèi)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,不能用來(lái)限定本發(fā)明所實(shí)施的范圍。凡依本發(fā)明的教導(dǎo)所作的均等變化與修飾,皆應(yīng)仍屬于本發(fā)明涵蓋的范圍內(nèi)。權(quán)利要求1.一種多播(multicast)分組的傳送設(shè)定方法,是藉由一交換器的一控制邏輯實(shí)施,該交換器包括一地址表,該方法包括下列步驟a、檢視一分組的一目的媒介存取控制(MAC)位址是否已在該地址表中,并決定一輸出埠代碼值;b、判斷該分組是否為一IP分組;c、辨識(shí)該分組的一訊息型態(tài),并決定是否變更該輸出埠代碼值;d、判斷該分組的一目的位址是否在一多播地址的特定范圍內(nèi);e、檢視該分組的一IGMP訊息型態(tài),并執(zhí)行相對(duì)應(yīng)該IGMP訊息型態(tài)的動(dòng)作;以及f、根據(jù)該輸出埠代碼值,輸出該分組。2.如權(quán)利要求1所述的多播分組的傳送設(shè)定方法,其中在a步驟中,若該目的媒介存取控制位址已在該地址表中,則該控制邏輯將上述輸出端口代碼值設(shè)定為該地址表的相對(duì)位置;若該目的媒介存取控制位址不在該位址表中,則將上述輸出埠代碼值設(shè)定為所有的輸出埠。3.如權(quán)利要求2所述的多播分組的傳送設(shè)定方法,其中在b步驟中,若該分組非IP分組,則執(zhí)行f步驟;若該分組是IP分組,則執(zhí)行該c步驟。4.如權(quán)利要求2所述的多播分組的傳送設(shè)定方法,其中在c步驟中,若該分組的訊息型態(tài)為IGMP協(xié)議,則執(zhí)行步驟d;若該分組的訊息型態(tài)為DVMRP、CBT或PIM協(xié)議,則更新一多播路由器記錄表,并將上述輸出埠代碼值設(shè)定為所有輸出埠,以及執(zhí)行f步驟;若該分組的訊息型態(tài)為其它型態(tài),則執(zhí)行上述f步驟。5.如權(quán)利要求2所述的多播分組的傳送設(shè)定方法,其中在d步驟中,判斷該分組的一目的位址是否為一多播地址的特定范圍,若是,則執(zhí)行上述f步驟;若否,則執(zhí)行該e步驟。6.如權(quán)利要求2所述的多播分組的傳送設(shè)定方法,其中在e步驟中,判斷該分組的IGMP型態(tài),若該分組是為一詢問(wèn)(query)分組,則更新一多播路由器記錄表,并將上述輸出埠代碼值設(shè)定為所有輸出埠,以及執(zhí)行上述f步驟;若該分組是為一報(bào)告(report)分組或者是Leave分組,則更新該地址表,并將上述輸出埠代碼值設(shè)定為所有多播路由器相對(duì)應(yīng)輸出埠,以及執(zhí)行上述f步驟;若該分組是為無(wú)效型態(tài),則執(zhí)行上述f步驟。7.一種多播分組的傳送設(shè)定裝置,包括一多播路由器紀(jì)錄表,紀(jì)錄連接多播路由器位置的端口信息;一地址表,儲(chǔ)存多播群組成員端口的信息;以及一控制邏輯,接收一分組,該控制邏輯依據(jù)該分組的信息,決定是否更新該多播路由器紀(jì)錄表或該地址表,以及根據(jù)該多播路由器紀(jì)錄表以及該地址表的信息,輸出該分組。8.如權(quán)利要求7所述的多播分組的傳送設(shè)定裝置,其中依據(jù)該分組的信息,決定是否更新多播路由器紀(jì)錄表或是地址表,若上述分組是IP分組,且目的位址不介于在一多播地址的特定范圍內(nèi)的IGMP型態(tài)的一詢問(wèn)(query)分組,則更新上述多播路由器記錄表。9.如權(quán)利要求7所述的多播分組的傳送設(shè)定裝置,其中依據(jù)該分組的信息,決定是否更新多播路由器紀(jì)錄表或是地址表,若上述分組是IP分組,且目的位址不介于在一多播地址的特定范圍內(nèi)的IGMP型態(tài)的一報(bào)告(report)分組或者是一Leave分組,則更新上述地址表。10.如權(quán)利要求7所述的多播分組的傳送設(shè)定裝置,其中所述的依據(jù)該分組的信息,決定是否更新多播路由器紀(jì)錄表或是地址表,若上述分組是IP分組,且目的位址不介于在一多播地址的特定范圍內(nèi)的IGMP型態(tài)的無(wú)效型態(tài),則決定不更新。11.如權(quán)利要求7所述的多播分組的傳送設(shè)定裝置,其中所述的該地址表尚可儲(chǔ)存單播地址輸出端口的信息。12.如權(quán)利要求7所述的多播分組的傳送設(shè)定裝置,其中所述的地址表包括有一媒介存取控制位址欄、至少一個(gè)埠定時(shí)器欄。全文摘要本發(fā)明是一種多播分組的傳送設(shè)定方法與裝置,是藉由在網(wǎng)絡(luò)系統(tǒng)中的一交換控制器的實(shí)施應(yīng)用,以使該交換控制器無(wú)須藉由一中央處理單元的輔助,即可獨(dú)立實(shí)施本方法。在本發(fā)明中提供一分組辨識(shí)以及更新的規(guī)則以使一多播傳輸?shù)穆窂奖淼靡越?其中該路徑表是與一存在該交換器的單播傳輸?shù)穆窂奖碛枰哉蠟橐惑w,使的該路徑表同時(shí)可具有單播與多播的功能,而無(wú)須另外設(shè)計(jì)一獨(dú)立的多播表格,并且本發(fā)明提供一連串判斷以及執(zhí)行相關(guān)動(dòng)作的方法流程以實(shí)施本發(fā)明的技術(shù)特點(diǎn)。文檔編號(hào)H04L12/54GK1381971SQ02121980公開日2002年11月27日申請(qǐng)日期2002年5月29日優(yōu)先權(quán)日2002年5月29日發(fā)明者陳俊儒,劉醇豐申請(qǐng)人:瑞昱半導(dǎo)體股份有限公司