專利名稱:一種報文的傳輸方法和設備的制作方法
技術領域:
本發(fā)明涉及通信技術領域,特別是涉及一種報文的傳輸方法和設備。
背景技術:
(I)PIM(Protocol Independent Multicast,協(xié)議無關組播)簡介PIM屬于組播路由技術,表示可以利用靜態(tài)路由或任意單播路由協(xié)議所生成的單 播路由表為IP組播提供路由,組播路由與所采用的單播路由協(xié)議無關,只需要通過單播路 由協(xié)議產(chǎn)生相應的組播路由表項即可。其中,PIM利用RPF (Reverse Path Forwarding,逆向路徑轉發(fā))機制實現(xiàn)對組播 數(shù)據(jù)的轉發(fā),當組播數(shù)據(jù)到達本地設備時,首先對該組播數(shù)據(jù)進行RPF檢查,若RPF檢查通 過,則創(chuàng)建相應的組播路由表項,從而進行組播數(shù)據(jù)的轉發(fā);若RPF檢查失敗,則丟棄該組 播數(shù)據(jù)。PIM根據(jù)實現(xiàn)機制的不同,PIM可分為以下兩種模式PIM-DM(Protocol Independent Multicast-Dense Mode,辦議無關組播一密集模式)禾口 PIM—SM(Protocol Independent Multicast-Sparse Mode,協(xié)議無關組播一稀疏模式);PIM-SM屬于稀疏模式 的組播路由協(xié)議,并使用“拉(Pull)模式”傳送組播數(shù)據(jù),通常適用于組播組成員分布相對 分散、范圍較廣的大中型網(wǎng)絡。在PIM SM的應用中,通過在網(wǎng)絡中創(chuàng)建一個RP (Rendezvous Point,匯聚點),組 播源向RP注冊,建立SPT(Shortest Path Tree,最短路徑樹)的轉發(fā)路徑,并通過SPT傳送 流量。另外,接收者通過DR(Designated Router,直連路由器)向該RP發(fā)送加入報文,利用 RPT (Rendezvous Point Tree,共享樹)分發(fā)數(shù)據(jù)流量,并在需要時創(chuàng)建SPT。在PIM DM的應用中,通過采用推送方式,在網(wǎng)絡中周期性進行洪泛和剪枝。(2)PIM 鄰居與 PIM Hello 報文對于PIM DM和PIM SM兩種協(xié)議來說,正常工作前,PIM路由器之間首先需要建立 和維護鄰居關系,PIM DM和PIM SM的鄰居發(fā)現(xiàn)機制是類似的,區(qū)別在于一些選項的不同。 其中,PIM DM和PIM SM均可通過PIM Hello報文來發(fā)現(xiàn)和建立鄰居關系,且PIM Hello報 文以組播形式周期性發(fā)送,目的地址為224. 0. 0. 13。具體的,該PIM Hello報文中會攜帶兩側鄰居協(xié)商出的一些參數(shù),如圖1所示的 PIM Hello報文格式示意圖。該PIM Hello報文中的選項類型包括Holdtime、LAN Prune Delay、DR Priority(PIM-SM Only) > Generation ID、 State Refresh Capable(PIM-DM Only) ,Bidir Capable (Bidir-PIM Only)、Address List (PIM-SM Only)等。在上述選項中, Holdtime選項是必須包含的,而其他選項都是可選的,對于設備來說,如果收到自身不能識 別或者不支持的選項后,只需要跳過即可,并不影響鄰居關系的建立。 (3) Join (加入)/Prune (剪枝)報文 如圖2所示的Join/Prune報文格式示意圖,Join/Prune報文由PIM路由器發(fā)向 組播源或者RP。其中,Join報文用于建立組播轉發(fā)樹,表示PIM路由器對特定組播流量的接收興趣;Prime報文表示PIM路由器對特定組播流量已無接收意愿。(4) DR 路由器在PIM組網(wǎng)應用中,當多臺路由器連接于共享網(wǎng)段時,則需要從中選擇一個路由 器作為指定時間內(nèi)的指定路由器(DR)。其中,DR負責為組成員向組播分發(fā)樹的根節(jié)點發(fā) 送Join/Prime報文,或是,將組播源的數(shù)據(jù)發(fā)向組播分發(fā)樹。需要注意的是,DR可以通過 Hello報文,并根據(jù)IP地址和選項中的優(yōu)先級進行選舉產(chǎn)生。(5) PIM Snooping (探聽)如圖3所示的共享網(wǎng)段組網(wǎng)的示意圖,路由器A向路由器C發(fā)送流量,路由器B 向路由器D發(fā)送流量時,兩條流量有著位于兩側的不同接收者路由器C和路由器D,交換機 Switch A收到流量后,需要向所有的PIM鄰居進行轉發(fā)(對于來自路由器A的流量,需要轉 發(fā)給路由器B、路由器C和路由器D ;對于來自路由器B的流量,需要轉發(fā)給路由器A、路由 器C和路由器D),從而使得流量可以流向其他無接收者的方向,此時會產(chǎn)生冗余流量。而通過在交換機Switch A上實現(xiàn)PIM Snooping功能后,則可以對基于PIM的 Hello報文、Join/Prune報文進行監(jiān)聽,維護端口下游組播組的加入狀態(tài),將有接收需求的 端口添加到轉發(fā)表項中,從而使得組播數(shù)據(jù)流量只向接收者轉發(fā),如圖4所示的只向接收 者轉發(fā)的示意圖,對于來自路由器A的流量,只需要轉發(fā)給路由器C;對于來自路由器B的 流量,只需要轉發(fā)給路由器D,從而減少了冗余流量。(6)加入抑制加入抑制是指下游PIM路由器需要向上游PIM路由器發(fā)送加入報文時,由于加入 報文的目的地址為組播地址(224.0.0. 13),則上游PIM路由器同時也可能會收到其他下游 PIM路由器發(fā)送的加入報文,此時,需要取消這個下游PIM路由器的加入報文,即在這個下 游PIM路由器上使能加入抑制功能。以圖4所示的共享網(wǎng)段組網(wǎng)示意圖為例進行說明,假如路由器B為DR路由器,路 由器A需要發(fā)送加入報文時,交換機A需要將其廣播至路由器B、路由器C和路由器D,并由 路由器B將其發(fā)送至上游路由器;如果路由器C也需要發(fā)送加入報文,如果在路由器C上使 能了加入抑制功能時,由于加入報文的目的地址為組播地址(224. 0. 0. 13),則路由器C的 加入報文和路由器A的加入報文相同,此時可以在路由器C上抑制該加入報文的發(fā)送?,F(xiàn)有技術中,PIM Snooping的實現(xiàn)中除了根據(jù)監(jiān)聽到的Join/Prune報文維護轉 發(fā)表項外,還需要將監(jiān)聽到的報文進行轉發(fā)。其中,對于Hello報文和Prime報文來說,只 需要在接收到報文的VLAN(Virtual Local Area Network,虛擬局域網(wǎng))內(nèi)廣播即可。而對于Join報文來說,由于PIM路由器的加入抑制功能,使得Join報文不能被廣 播,否則被抑制的PIM路由器將不會發(fā)送Join報文。例如,Switch A將路由器A的Join報 文廣播后,當路由器C上使能了加入抑制功能時,則路由器C將不會發(fā)送Join報文。進一 步的,由于路由器C不發(fā)送Join報文,則會導致路由器C在PIM Snooping交換機上連接的 端口不會被維護成轉發(fā)表的出端口,數(shù)據(jù)流量無法被轉發(fā)到路由器C上。因此,為了保證數(shù) 據(jù)流量發(fā)送到路由器C上,則路由器C也需要發(fā)生Join報文;而為了保證路由器C可以發(fā) 送Join報文,則路由器A的Join報文不能被廣播,只能向連接其上游鄰居的端口轉發(fā)。實際應用中,Join/Prime報文格式比較靈活,可以包含多個組,且同一組中也可 以包含多個Join報文或者Prune報文。如果Join/Prune報文中同時包含有Join報文和
5Prune報文時,由于Join報文和Prune報文的轉發(fā)規(guī)則不一致(Prune報文以廣播方式發(fā) 送,Join報文不能以廣播方式發(fā)送),則需要將原有的Join/Prime報文進行重組,并需要將 原有的Join/Prime報文拆分成若干個新的Join報文和Prime報文,拆分過程較復雜,而且 將Join/Prune報文拆分成Join報文和Prune報文時,還會影響到交換機的工作效率,且出 現(xiàn)將一個報文拆分成多個報文的時序控制問題。
發(fā)明內(nèi)容
本發(fā)明提供一種報文的傳輸方法和設備,以使交換機能夠在VLAN內(nèi)廣播Join/ Prune報文。為了達到上述目的,本發(fā)明提出了一種報文的傳輸方法,應用于包括交換機和至 少兩個路由器的系統(tǒng)中,所述至少兩個路由器通過所述交換機連接,所述方法包括以下步 驟當接收到來自路由器的PIM Hello報文,且所述交換機上使能了 PIM Snooping功 能時,所述交換機在所述PIM Hello報文中添加控制信息,所述控制信息用于要求路由器取 消加入抑制功能;所述交換機將攜帶了所述控制信息的PIM Hello報文發(fā)送給其他路由器,以供所 述其他路由器取消加入抑制功能;當接收到來自路由器的Join/Prime報文時,所述交換機在VLAN內(nèi)廣播所述Join/ Prune報文。所述交換機將攜帶了所述控制信息的PIM Hello報文發(fā)送給其他路由器,之前還 包括所述交換機判斷所述PIM Hello報文中是否攜帶有LAN Prune Delay選項;如果攜帶有LAN Prune Delay選項,則判斷所述LAN Prune Delay選項的T比特 位是否為預設標識,如果不為預設標識,則將該T比特位設置為預設標識;如果不攜帶有LAN Prune Delay選項,則在所述PIM Hello報文中添加LAN Prune Delay選項,并將該LAN Prune Delay選項的T比特位設置為預設標識。所述至少兩個路由器中至少包括DR路由器和優(yōu)先級僅次于所述DR路由器的路由 器;接收到的來自路由器的PIM Hello報文,包括來自所述DR路由器的PIM Hello 報文和來自所述優(yōu)先級僅次于所述DR路由器的路由器的PIM Hello報文。所述交換機上取消了 PIM Snooping功能時,所述方法還包括當接收到來自路由器的PIM Hello報文時,所述交換機轉發(fā)所述PIM Hello報文 給其他路由器。一種交換機,應用于包括所述交換機和至少兩個路由器的系統(tǒng)中,所述至少兩個 路由器通過所述交換機連接,所述交換機包括添加模塊,用于當接收到來自路由器的PIM Hello報文,且所述交換機上使能了 PIM Snooping功能時,在所述PIM Hello報文中添加控制信息,所述控制信息用于要求路由 器取消加入抑制功能;發(fā)送模塊,與所述添加模塊連接,用于將攜帶了所述控制信息的PIM Hello報文發(fā)送給其他路由器,以供所述其他路由器取消加入抑制功能;廣播模塊,用于當接收到來自路由器的Join/Prime報文時,在VLAN內(nèi)廣播所述 Join/Prune 報文。還包括處理模塊,用于判斷所述PIM Hello報文中是否攜帶有LAN Prune Delay選項;如果攜帶有LAN Prune Delay選項,則判斷所述LAN Prune Delay選項的T比特 位是否為預設標識,如果不為預設標識,則將該T比特位設置為預設標識;如果不攜帶有LAN Prune Delay選項,則在所述PIM Hello報文中添加LAN Prune Delay選項,并將該LAN Prune Delay選項的T比特位設置為預設標識。所述至少兩個路由器中至少包括DR路由器和優(yōu)先級僅次于所述DR路由器的路由 器;所述來自路由器的PIM Hello報文,包括來自所述DR路由器的PIM Hello報文 和來自所述優(yōu)先級僅次于所述DR路由器的路由器的PIM Hello報文。所述交換機上取消了 PIM Snooping功能時,所述發(fā)送模塊,還用于當接收到來自路由器的PIM Hello報文時,轉發(fā)所述PIM Hello報文給其他路由器。一種路由器,應用于包括所述交換機和至少兩個路由器的系統(tǒng)中,所述至少兩個 路由器通過所述交換機連接,所述路由器包括第一接收模塊,用于當所述交換機上使能了 PIM Snooping功能時,接收來自所述 交換機的攜帶了控制信息的PIM Hello報文,所述控制信息用于要求路由器取消加入抑制 功能;處理模塊,與所述第一接收模塊連接,用于當獲知所述控制信息時,取消加入抑制 功能;第二接收模塊,用于接收所述交換機在VLAN內(nèi)廣播的Join/Prime報文。所述交換機上取消了 PIM Snooping功能時,所述第一接收模塊,還用于接收所述交換機轉發(fā)的不攜帶所述控制信息PIM Hello報文。與現(xiàn)有技術相比,本發(fā)明至少具有以下優(yōu)點通過向各個路由器通知取消加入抑制功能的操作,使得PIM Snooping交換機在 傳輸Join/Prune報文時,不需要對Join/Prune報文進行拆分,只需要將Join/Prune報文 進行廣播即可,有效地避免了需要拆分報文時帶來的效率以及時序問題。而且只需要擴展 Hello報文選項,實現(xiàn)簡單。
圖1為現(xiàn)有技術中Hello報文格式示意圖;圖2為現(xiàn)有技術中Join/Prime報文格式示意圖;圖3為現(xiàn)有技術中共享網(wǎng)段組網(wǎng)的示意圖;圖4為現(xiàn)有技術中只向接收者轉發(fā)的示意圖;圖5為本發(fā)明提出的一種報文的傳輸方法流程圖6為本發(fā)明應用場景下的擴展的Hello報文選項內(nèi)容的格式示意圖;圖7為本發(fā)明一種應用場景下提出的一種報文的傳輸方法流程圖;圖8為Hello報文中攜帶LAN Prune Delay的示意圖;圖9為本發(fā)明提出的一種交換機的結構圖;圖10為本發(fā)明提出的一種路由器的結構圖。
具體實施例方式本發(fā)明中提供一種報文的傳輸方法,應用于包括交換機和至少兩個路由器的系統(tǒng) 中,所述至少兩個路由器通過所述交換機連接,如圖5所示,該方法包括以下步驟步驟501,當接收到來自路由器的PIM Hello報文,且所述交換機上使能了 PIM Snooping功能時,所述交換機在所述PIM Hello報文中添加控制信息,所述控制信息用于 要求路由器取消加入抑制功能。步驟502,所述交換機將攜帶了所述控制信息的PIM Hello報文發(fā)送給其他路由 器,以供所述其他路由器取消加入抑制功能。步驟503,當接收到來自路由器的Join/Prime報文時,所述交換機在VLAN內(nèi)廣播 所述Join/Prune報文。為了更加清楚的闡述本發(fā)明提供的技術方案,以下結合具體的應用場景對本發(fā)明 進行詳細說明。本應用場景下,繼續(xù)以圖4所示的共享網(wǎng)段中組網(wǎng)示意圖為例進行說明。其中,路由器A、路由器B、路由器C和路由器D通過交換機A連接,即各個路由器 發(fā)送的報文均需要通過交換機A進行轉發(fā)。本發(fā)明中,為了能夠直接將Join/Prime報文在VLAN內(nèi)廣播,則需要將Join報文 的轉發(fā)過程處理成和Prime報文的轉發(fā)過程一致,從而使得PIM Snooping交換機在進行 Join/Prune報文轉發(fā)時,可以將Join/Prune報文進行轉發(fā),不需要區(qū)分Join報文和Prune 報文,從而提高交換機的工作效率。具體的,由于路由器上使能加入抑制功能后,廣播Join報文會導致路由器無法接 收到數(shù)據(jù),因此,如果要使Join報文廣播不影響轉發(fā)功能,則VLAN內(nèi)所有連接的PIM鄰居 (即各個路由器)都要取消加入抑制功能。為了實現(xiàn)上述功能,本發(fā)明中,可以通過擴展Hello報文中的選項內(nèi)容,使連接 PIM Snooping交換機的VLAN內(nèi)所有PIM鄰居(即路由器A、路由器B、路由器C和路由器 D)根據(jù)該選項內(nèi)容統(tǒng)一取消加入抑制功能。其中,該選項內(nèi)容可以為在Hello報文中添加 控制信息,該控制信息用于要求路由器取消加入抑制功能。如圖6所示,為擴展的Hello報文選項內(nèi)容的格式示意圖,該擴展的選項(即控制 信息)可以為 OptionType 65022 =Neighbor Tracking Control (鄰居跟蹤控制),當然,實 際應用中還可以擴展其他的選項,只要能夠通知各個路由器取消加入抑制功能即可,本應 用場景下不再贅述。6 白勺 Neighbor Tracking Control ψ C比特位為第一標識(本應用場景下以1為例)時表示加入抑制控制,用于發(fā)起 加入抑制的控制;C比特位為第二標識(本應用場景下以0為例)時表示取消加入抑制控制,用于取消加入抑制的控制;Reserved字段保留,用作后續(xù)擴展。如圖7所示,基于上述情況,本發(fā)明提供的報文的傳輸方法中,包括以下步驟步驟701,交換機上使能了 PIM Snooping功能之后,當接收到來自路由器的PIM Hello報文時,交換機判斷該PIM Hello報文中是否包含LAN Prune Delay選項。如果是, 轉到步驟702,否則,轉到步驟704。具體的,根據(jù)實際的需要,各個路由器在發(fā)送PIM Hello報文時,P頂Hello報文中 可以攜帶LAN Prune Delay選項,也可以不攜帶LAN Prune Delay選項。其中,LAN Prune Delay選項中的T比特位,用于表示PIM路由器去使能加入抑制的能力,如圖8所示的Hello 報文中攜帶LAN Prune Delay的示意圖。其中,當接口上所有的PIM鄰居發(fā)送的PIM Hello報文中的LAN Prune Delay選 項T比特位都為第三標識(本應用場景下以1為例進行說明)時,則表示所有的PIM鄰居 都記錄自己每個下游鄰居的地址,此時需要取消加入抑制功能,以保證上游鄰居能夠記錄 自己的信息。當接口上所有的PIM鄰居發(fā)送的PIM Hello報文中的LAN Prune Delay選項T比 特位不是都為第三標識1時,則表示不是所有的PIM鄰居都記錄自己每個下游鄰居的地址, 此時就可以使能加入抑制,所有的下游只要有一個發(fā)送給上游加入報文即可。實際應用中,為了維護鄰居關系,各個路由器均需要通過交換機A向其他路由器 發(fā)送PIM Hello報文。例如,路由器A需要通過交換機A向路由器B、路由器C和路由器D 發(fā)送PIM Hello報文;路由器B需要通過交換機A向路由器A、路由器C和路由器D發(fā)送PIM Hello報文;路由器C需要通過交換機A向路由器B、路由器A和路由器D發(fā)送PIM Hello 報文;路由器D需要通過交換機A向路由器B、路由器C和路由器A發(fā)送PIM Hello報文等。本發(fā)明中,可以對來自所有路由器的PIM Hello報文進行處理,在PIM Hello報文 中添加Neighbor Tracking Control選項,并將C比特位設置為1,也可以對來自部分路由 器的PIM Hello報文進行處理,在PIM Hello報文中添加Neighbor Tracking Control選 項,并將C比特位設置為1。為了提高交換機的處理效率,減少需要處理的PIM Hello報文個數(shù),只要保證每個 路由器均能接收到攜帶Neighbor Tracking Control選項的PIM Hello報文即可,因此,交 換機只需要對兩個路由器的PIM Hello報文進行處理,在PIM Hello報文中添加Neighbor Tracking Control選項,并將C比特位設置為1即可。該交換機可以從各個路由器中任意選擇兩個路由器的PIM Hello報文進行處理, 在PIM Hello報文中添加Neighbor Tracking Control選項。實際應用中,由于各個路由器 中DR路由器和優(yōu)先級僅次于DR路由器的路由器可以確定,則本發(fā)明中以對DR路由器(以 路由器A為例)、優(yōu)先級僅次于DR路由器的路由器(以路由器B為例)的PIM Hello報文 進行處理為例進行說明。因此,本步驟中,當接收到來自路由器A和路由器B的PIM Hello報文時,交換機 需要判斷該PIM Hello報文中是否包含LAN Prune Delay選項。步驟702,交換機判斷LAN Prune Delay選項的T比特位是否為1,如果不為1,轉 到步驟703,否則,轉到步驟705。
9
步驟703,交換機將LAN Prune Delay選項的T比特位設置為1。其中,當Hello報文中的LAN Prune Delay選項的T比特位設置為1時,表示對應 的路由器需要取消加入抑制功能。本步驟結束之后,執(zhí)行步驟705。步驟704,交換機在PIM Hello報文中添加LAN Prune Delay選項,并將該LAN Prune Delay選項的T比特位設置為1。本步驟結束之后,執(zhí)行步驟705。步驟705,交換機在PIM Hello報文中添加Neighbor Tracking Control選項,并 將C標志位設置為1。需要注意的是,本發(fā)明中該PIM Hello報文可以為來自路由器A的PIM Hello報 文或者來自路由器B的PIM Hello報文。步驟706,交換機將包含有Neighbor Tracking Control選項的PIM Hello報文發(fā) 送給其他路由器。其中,對于來自路由器A的PIM Hello報文,需要將包含有Neighbor Tracking Control選項,且C比特位為1的PIM Hello報文發(fā)送給路由器B、路由器C和路由器D。對 于來自路由器B的PIM Hello報文,需要將包含有Neighbor Tracking Control選項,且C 比特位為1的PIM Hello報文發(fā)送給路由器A、路由器C和路由器D。需要注意的是,在Neighbor Tracking Control選項中攜帶了要求其他路由器取 消加入抑制功能的信息,即通過將Neighbor Tracking Control選項的C標志位設置為1 要求其他路由器取消加入抑制功能。步驟707,接收到PIM Hello報文的各個路由器維護鄰居關系,并取消加入抑制功能。具體的,連接在共享網(wǎng)段中的所有路由器(例如,路由器A等)接收到包含有 Neighbor Tracking Control選項的PIM Hello報文后,當獲知C比特位為1時,除了維護 鄰居外,還需要根據(jù)Neighbor Tracking Control選項確定是否需要取消加入抑制功能。其 中,如果Neighbor Tracking Control選項的C標志位設置為1,則需要啟動加入抑制的控 制,并取消加入抑制功能;如果Neighbor Tracking Control選項的C標志位設置為0,則 取消加入抑制的控制,即不需要取消加入抑制功能。本應用場景下,由于C標志位設置為1,則各個路由器需要取消加入抑制功能。步驟708,各個路由器發(fā)送攜帶LAN Prune Delay選項且T比特位設置為1的PIM Hello報文。具體的,由于各個路由器接收到的PIM Hello報文中攜帶LAN Prune Delay選項, 且T比特位被設置為1,則當路由器取消加入抑制功能后,該路由器發(fā)送PIM Hello報文時, 需要在該PIM Hello報文中攜帶LAN Prune Delay選項,并將T比特位設置為1。步驟709,交換機在PIM Hello報文中添加Neighbor Tracking Control選項,并 將C標志位設置為1。具體的,經(jīng)過上述處理后,各個路由器發(fā)送的Hello報文中攜帶有T比特位為1的 LAN Prune Delay選項,此時,交換機不需要每次都修改Hello報文的LAN Prune Delay選 項,而只需要在Hello報文中添加Neighbor Tracking Control選項即可。
其中,交換機只需要在路由器A和路由器B的Hello報文中添加Neighbor Tracking Control 選項。綜上所述,通過上述處理方式,即能夠保證共享網(wǎng)段中所有路由器都去使能了加 入抑制功能,因此,可以執(zhí)行步驟710。步驟710,當接收到來自路由器的Join/Prime報文時,交換機在VLAN內(nèi)廣播 Join/Prune 報文。需要注意的是,由于所有路由器都去使能了加入抑制功能,則Join報文和Prime 報文的轉發(fā)機制相同,則接收到來自路由器的Join/Prime報文時,可以在LAN內(nèi)廣播Join/ Prune報文。進一步的,當交換機的VLAN內(nèi)取消PIM Snooping功能后,各個路由器需要取消加 入抑制的控制(即不需要取消加入抑制功能),并按照啟動加入抑制控制之前的處理方式 來發(fā)送PIM Hello報文。例如,在接收到C比特位為1的Neighbor Tracking Control選 項之前,路由器A向交換機發(fā)送沒有攜帶LAN Prune Delay的PIM Hello報文時,則路由器 A取消加入抑制的控制之后,路由器A仍然向交換機發(fā)送沒有攜帶LAN Prune Delay的PIM Hello報文。其中,各個路由器取消加入抑制的控制的方式包括但不限于(1)當交換機的VLAN內(nèi)取消PIM Snooping功能后,交換機不再需要修改任何的 PIM Hello報文,對接收到的PIM Hello報文直接轉發(fā)給其他路由器,此時,各個路由器接收 到的PIM Hello報文中將不會攜帶Neighbor Tracking Control選項,而由于PIM Hello 報文中沒有攜帶Neighbor Tracking Control選項,則各個路由器確定需要取消加入抑制 的控制,并可以恢復加入抑制功能,即各個路由器的狀態(tài)經(jīng)過一個PIM Hello報文周期后能 夠恢復到原來狀態(tài)(即接收到C比特位為1的Neighbor Tracking Control選項之前的狀 態(tài))。(2)當交換機的VLAN內(nèi)取消PIM Snooping功能后,交換機偵聽來自路由器A和路 由器B的第一個PIM Hello報文,并在來自路由器A和路由器B的第一個PIM Hello報文 中添加Neighbor Tracking Control選項,將C比特位設置為0,而對于其他的PIM Hello 報文,交換機不再進行修改而直接進行轉發(fā)。當各個路由器接收到PIM Hello報文時,如果獲知Neighbor Tracking Control 選項的C比特位為0,則各個路由器確定需要取消加入抑制的控制,并可以恢復加入抑制功 能,即當路由器A和路由器B在交換機取消PIMSnooping功能之后,均發(fā)送了 PIM Hello報 文時,各個路由器的狀態(tài)能夠恢復到原來狀態(tài)?;谂c上述方法同樣的發(fā)明構思,本發(fā)明還提出了一種交換機,應用于包括交換 機和至少兩個路由器的系統(tǒng)中,所述至少兩個路由器通過所述交換機連接,如圖9所示,該 交換機包括添加模塊11,用于當接收到來自路由器的PIM Hello報文,且所述交換機上使能 了 PIM Snooping功能時,在所述PIM Hello報文中添加控制信息,所述控制信息用于要求 路由器取消加入抑制功能。發(fā)送模塊12,與所述添加模塊11連接,用于將攜帶了所述控制信息的PIM Hello 報文發(fā)送給其他路由器,以供所述其他路由器取消加入抑制功能。
11
廣播模塊13,用于當接收到來自路由器的Join/Prime報文時,在VLAN內(nèi)廣播所述 Join/Prune 報文。本發(fā)明中,該交換機還包括處理模塊14,用于判斷所述PIM Hello報文中是否攜帶有LAN Prune Delay選項;如果攜帶有LAN Prune Delay選項,則判斷所述LAN Prune Delay選項的T比特 位是否為預設標識,如果不為預設標識,則將該T比特位設置為預設標識;如果不攜帶有LAN Prune Delay選項,則在所述PIM Hello報文中添加LAN Prune Delay選項,并將該LAN Prune Delay選項的T比特位設置為預設標識。另外,所述至少兩個路由器中至少包括DR路由器和優(yōu)先級僅次于所述DR路由器 的路由器;所述來自路由器的PIM Hello報文,包括來自所述DR路由器的PIM Hello報文 和來自所述優(yōu)先級僅次于所述DR路由器的路由器的PIM Hello報文。所述交換機上取消了 PIM Snooping功能時,所述發(fā)送模塊12,還用于當接收到來自路由器的PIM Hello報文時,轉發(fā)所述PIM Hello報文給其他路由器。其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合 并為一個模塊,也可以進一步拆分成多個子模塊。基于與上述方法同樣的發(fā)明構思,本發(fā)明還提出了一種路由器,應用于包括所述 交換機和至少兩個路由器的系統(tǒng)中,所述至少兩個路由器通過所述交換機連接,如圖10所 示,該路由器包括第一接收模塊21,用于當所述交換機上使能了 PIM Snooping功能時,接收來自所 述交換機的攜帶了控制信息的PIM Hello報文,所述控制信息用于要求路由器取消加入抑 制功能。處理模塊22,與所述第一接收模塊21連接,用于當獲知所述控制信息時,取消加 入抑制功能。第二接收模塊23,用于接收所述交換機在VLAN內(nèi)廣播的Join/Prime報文。所述交換機上取消了 PIM Snooping功能時,所述第一接收模塊21,還用于接收所述交換機轉發(fā)的不攜帶所述控制信息PIM Hello報文。其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合 并為一個模塊,也可以進一步拆分成多個子模塊。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可以通 過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā) 明的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲 介質(可以是⑶-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可 以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。本領域技術人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流 程并不一定是實施本發(fā)明所必須的。本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上 述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
上述本發(fā)明序號僅僅為了描述,不代表實施例的優(yōu)劣。 以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領 域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。
權利要求
一種報文的傳輸方法,應用于包括交換機和至少兩個路由器的系統(tǒng)中,所述至少兩個路由器通過所述交換機連接,其特征在于,所述方法包括以下步驟當接收到來自路由器的PIM Hello報文,且所述交換機上使能了PIMSnooping功能時,所述交換機在所述PIM Hello報文中添加控制信息,所述控制信息用于要求路由器取消加入抑制功能;所述交換機將攜帶了所述控制信息的PIM Hello報文發(fā)送給其他路由器,以供所述其他路由器取消加入抑制功能;當接收到來自路由器的Join/Prune報文時,所述交換機在VLAN內(nèi)廣播所述Join/Prune報文。
2.如權利要求1所述的方法,其特征在于,所述交換機將攜帶了所述控制信息的PIM Hello報文發(fā)送給其他路由器,之前還包括所述交換機判斷所述PIM Hello報文中是否攜帶有LAN Prune Delay選項;如果攜帶有LAN Prune Delay選項,則判斷所述LAN Prune Delay選項的T比特位是 否為預設標識,如果不為預設標識,則將該T比特位設置為預設標識;如果不攜帶有LAN Prune Delay選項,則在所述PIM Hello報文中添加LAN Prune Delay選項,并將該LAN Prune Delay選項的T比特位設置為預設標識。
3.如權利要求1所述的方法,其特征在于,所述至少兩個路由器中至少包括DR路由器 和優(yōu)先級僅次于所述DR路由器的路由器;接收到的來自路由器的PIM Hello報文,包括來自所述DR路由器的PIM Hello報文 和來自所述優(yōu)先級僅次于所述DR路由器的路由器的PIM Hello報文。
4.如權利要求1-3任一項所述的方法,其特征在于,所述交換機上取消了PIM Snooping功能時,所述方法還包括當接收到來自路由器的PIM Hello報文時,所述交換機轉發(fā)所述PIM Hello報文給其 他路由器。
5.一種交換機,應用于包括所述交換機和至少兩個路由器的系統(tǒng)中,所述至少兩個路 由器通過所述交換機連接,其特征在于,所述交換機包括添加模塊,用于當接收到來自路由器的PIM Hello報文,且所述交換機上使能了 PIM Snooping功能時,在所述PIM Hello報文中添加控制信息,所述控制信息用于要求路由器 取消加入抑制功能;發(fā)送模塊,與所述添加模塊連接,用于將攜帶了所述控制信息的PIM Hello報文發(fā)送給 其他路由器,以供所述其他路由器取消加入抑制功能;廣播模塊,用于當接收到來自路由器的Join/Prime報文時,在VLAN內(nèi)廣播所述Join/ Prune報文。
6.如權利要求5所述的交換機,其特征在于,還包括處理模塊,用于判斷所述PIM Hello報文中是否攜帶有LAN Prune Delay選項;如果攜帶有LAN Prune Delay選項,則判斷所述LAN Prune Delay選項的T比特位是 否為預設標識,如果不為預設標識,則將該T比特位設置為預設標識;如果不攜帶有LAN Prune Delay選項,則在所述PIM Hello報文中添加LAN Prune Delay選項,并將該LAN Prune Delay選項的T比特位設置為預設標識。
7.如權利要求5所述的交換機,其特征在于,所述至少兩個路由器中至少包括DR路由 器和優(yōu)先級僅次于所述DR路由器的路由器;所述來自路由器的PIM Hello報文,包括來自所述DR路由器的PIMHello報文和來自 所述優(yōu)先級僅次于所述DR路由器的路由器的PIM Hello報文。
8.如權利要求5-7任一項所述的交換機,其特征在于,所述交換機上取消了PIM Snooping功能時,所述發(fā)送模塊,還用于當接收到來自路由器的PIM Hello報文時,轉發(fā)所述PIM Hello 報文給其他路由器。
9.一種路由器,應用于包括所述交換機和至少兩個路由器的系統(tǒng)中,所述至少兩個路 由器通過所述交換機連接,其特征在于,所述路由器包括第一接收模塊,用于當所述交換機上使能了 PIM Snooping功能時,接收來自所述交 換機的攜帶了控制信息的PIM Hello報文,所述控制信息用于要求路由器取消加入抑制功 能;處理模塊,與所述第一接收模塊連接,用于當獲知所述控制信息時,取消加入抑制功能;第二接收模塊,用于接收所述交換機在VLAN內(nèi)廣播的Join/Prime報文。
10.如權利要求9所述的路由器,其特征在于,所述交換機上取消了PIM Snooping功能時,所述第一接收模塊,還用于接收所述交換機轉發(fā)的不攜帶所述控制信息PIM Hello報文。
全文摘要
本發(fā)明公開了一種報文的傳輸方法和設備,該方法包括當接收到來自路由器的PIM Hello報文時,交換機在所述PIM Hello報文中添加控制信息,并將攜帶了所述控制信息的PIM Hello報文發(fā)送給其他路由器,以供所述其他路由器取消加入抑制功能;當接收到來自路由器的Join/Prune報文時,所述交換機在VLAN內(nèi)廣播所述Join/Prune報文。本發(fā)明中,使得PIM Snooping交換機傳輸Join/Prune報文時,不需要對Join/Prune報文進行拆分。
文檔編號H04L12/56GK101917346SQ20101026887
公開日2010年12月15日 申請日期2010年9月1日 優(yōu)先權日2010年9月1日
發(fā)明者郝濱 申請人:杭州華三通信技術有限公司