優化組播協議的方法和裝置的制造方法
【技術領域】
[0001]本發明涉及網絡傳輸領域,尤其涉及優化組播協議的方法和裝置。
【背景技術】
[0002]PIM(Protocol Independent Multicast,協議獨立組播)協議是組播服務的核心協議。是由一組標準協議組成,包括 PIM-DM(Protocol Independent Multicast DenseMode,協議獨立組播一密集模式)、PIM-SM(Protocol Independent Multicast-SparseMode,協議獨立組播一稀疏模式)、PIM-SSM(Protocol Independent Multicast SourceSpecific Mode,協議獨立組播一指定信源組播模式)等。其中,P頂SM是組播路由協議的一種,即稀疏模式的PM協議。主要用于組播接收者分散、拓撲復雜的網絡中。在組播數據接收者和發送者之間建立組播轉發樹,從而正確轉發組播數據。
[0003]組播鄰居跟蹤(Neighbor Tracking)是P頂-SM協議支持的一種降低鏈路上剪枝延遲的方案。使能此功能需鏈路上所有組播路由器都支持鄰居跟蹤,并且協商通過。上游路由器可以跟蹤記錄下游鄰居的加入狀態,下游路由器則禁止自己的加入抑制。然而如按RFC (Request For Comments,請求注解)協議實現此功能,會產生一些問題:由于禁止了下游的加入抑制,每當下游有加入的路由器離開時,所有其他加入的路由器都會發送一個新的加入,在下游加入很多的情況下,下游鏈路短時內負擔會加重,上游路由器的處理負擔也會加重,而如果有設備在不穩定的情形下反復加入和離開,這種影響會更加嚴重。
【發明內容】
[0004]本發明的主要目的在于提供一種優化組播協議的方法和裝置,旨在解決網絡傳輸效率低下,上游路由器負擔過重的問題。
[0005]為實現上述目的,本發明提供的一種優化組播協議的方法,所述優化組播協議的方法包括以下步驟:
[0006]建立下游路由器所有成員的鄰居跟蹤表;
[0007]如果接收到所述下游路由器的所有成員通過鄰居跟蹤鏈路發送的剪枝報文時,則判斷所有成員離線,刪除該鄰居跟蹤表中所有成員的相關信息;
[0008]根據鄰居跟蹤表的狀態生成剪枝回顯報文,返回給所述下游路由器。
[0009]優選地,所述如果接收到所述下游路由器的所有成員通過鄰居跟蹤鏈路發送的剪枝報文時,則判斷所有成員離線,刪除該鄰居跟蹤表中所有成員的相關信息的步驟之后還包括:
[0010]將當前上游路由器的狀態從加入狀態切換為未加入狀態。
[0011]所述根據鄰居跟蹤表的狀態生成剪枝回顯報文,返回給所述下游路由器的步驟之前還包括:
[0012]判斷所述要返回的報文的源IP地址和目的上流字段地址是否一致,如果地址一致,則將剪枝回顯報文返回給所述下游路由器。
[0013]優選地,所述根據鄰居跟蹤表的狀態生成剪枝回顯報文,返回給所述下游路由器的步驟之前還包括:
[0014]設置超時定時器,待超時時間到,返回剪枝回顯報文。
[0015]所述根據鄰居跟蹤表的狀態生成剪枝回顯報文,返回給所述下游路由器的步驟之后還包括:
[0016]如果接收到下游路由器離線的成員發送的加入報文后,則判斷所述成員上線,增加所述成員的相關信息至該鄰居跟蹤表中。
[0017]為了解決上述的技術問題,本發明進一步提供一種優化組播協議的裝置,所述優化組播協議的裝置包括:
[0018]建立模塊,用于建立下游路由器所有成員的鄰居跟蹤表;
[0019]剪枝模塊,用于如果接收到所述下游路由器的所有成員通過鄰居跟蹤鏈路發送的剪枝報文時,則判斷所有成員離線,刪除該鄰居跟蹤表中所有成員的相關信息;
[0020]反饋模塊,用于根據鄰居跟蹤表的狀態生成剪枝回顯報文,返回給所述下游路由器。
[0021 ] 優選地,所述優化組播協議的裝置還包括:
[0022]切換模塊,用于將當前上游路由器的狀態從加入狀態切換為未加入狀態。
[0023]優選地,所述優化組播協議的裝置還包括:
[0024]判斷模塊,用于判斷所述要返回的報文的源IP地址和目的上流字段地址是否一致,如果地址一致,則將剪枝回顯報文返回給所述下游路由器。
[0025]優選地,所述優化組播協議的裝置還包括:
[0026]超時模塊,用于設置超時定時器,待超時時間到,返回剪枝回顯報文。
[0027]優選地,所述優化組播協議的裝置還包括:
[0028]加入模塊,用于如果接收到下游路由器離線的成員發送的Join加入報文后,則判斷所述成員上線,增加所述成員的相關信息至該鄰居跟蹤表中,并返回Prune Echo剪枝回顯報文給所述下游路由器。
[0029]本發明提供的優化組播協議的方法,通過建立下游路由器所有成員的鄰居跟蹤表;如果接收到所述下游路由器的所有成員通過鄰居跟蹤鏈路發送的剪枝報文時,則判斷所有成員離線,刪除該鄰居跟蹤表中所有成員的相關信息;根據鄰居跟蹤表的狀態生成剪枝回顯報文,返回給所述下游路由器。本發明提供的優化組播協議的方法,提升了網絡傳輸效率,減輕了上游路由器負擔。
【附圖說明】
[0030]圖1為本發明優化組播協議的方法第一實施例的流程示意圖;
[0031]圖2為本發明優化組播協議的方法第二實施例的流程示意圖;
[0032]圖3為本發明優化組播協議的方法第三實施例的流程示意圖;
[0033]圖4為本發明優化組播協議的方法第四實施例的流程示意圖;
[0034]圖5為本發明優化組播協議的方法第五實施例的流程示意圖;
[0035]圖6為本發明優化組播協議的裝置第一實施例的功能模塊示意圖;
[0036]圖7為本發明優化組播協議的裝置第二實施例的功能模塊示意圖;
[0037]圖8為本發明優化組播協議的裝置第三實施例的功能模塊示意圖;
[0038]圖9為本發明優化組播協議的裝置第四實施例的功能模塊示意圖;
[0039]圖10為本發明優化組播協議的裝置第五實施例的功能模塊示意圖;
[0040]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0041]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0042]本發明提供一種優化組播協議的方法,參照圖1,圖1為本發明優化組播協議的方法第一實施例的流程示意圖,在第一實施例中,所述優化組播協議的方法包括以下步驟:
[0043]步驟S100、建立下游路由器所有成員的鄰居跟蹤表。
[0044]上游路由器的優化組播協議的裝置建立鄰居跟蹤表,該鄰居跟蹤表包括下游路由器所有成員的相關信息,比如鄰居跟蹤表的所有成員包括A、B、C、D、E和F成員。
[0045]步驟S200、如果接收到所述下游路由器的所有成員通過鄰居跟蹤鏈路發送的剪枝報文時,則判斷所有成員離線,刪除該鄰居跟蹤表中所有成員的相關信息。
[0046]上游路由器的優化組播協議的裝置如果接收到下游路由器的所有成員通過鄰居跟蹤Neighbor Tracking鏈路發送的Prune剪枝報文時,則判斷所有成員離線,在鄰居跟蹤表中刪除所有成員的相關信息,此時,該鄰居跟蹤表為空列表。
[0047]步驟S300、根據鄰居跟蹤表的狀態生成剪枝回顯報文,返回給所述下游路由器。
[0048]上游路由器的優化組播協議的裝置識別到所有成員離線后,生成Prune Echo剪枝回顯報文,并將Prune Echo剪枝回顯報文返回給下游路由器,觸發離線的下游路由器成員重新加入,而下游路由器如果檢測到接收的不是Prune Echo剪枝回顯報文,而是其他下游路由器發送的Prune剪枝報文時則不予處理,從而減少了報文處理的數量,減輕了下游鏈路的負擔。
[0049]本實施例提供的優化組播協議的方法,減少了報文處理的數量;減輕了下游鏈路的負擔;從而提升了網絡傳輸效率,減輕了上游路由器負擔。
[0050]具體地,參見圖2,圖2為本發明優化組播協議的方法第二實施例的流程示意圖,在第一實施例的基礎上,所述步驟S200之后還包括:
[0051]步驟S200A、將當前上游路由器的狀態從加入狀態切換為未加入狀態。
[0052]上游路由器的優化組播協議的裝置如果接收到下游路由器的所有成員發送的Prune剪枝報文時,則判斷所有成員都離線,刪除該鄰居跟蹤表所有成員的相關信息,此時,該鄰居跟蹤表為空列表,從加入Join狀態切換為未加入No Info狀態。
[0053]進一步地,參見圖3,圖3為本發明優化組播協議的方法第三實施例的流程示意圖,在第一實施例的基礎上,所述步驟S300之前包括:
[0054]步驟S300A、判斷所述要返回的報文的源IP地址和目的上流字段地址是否一致,如果地址一致,則將剪枝回顯報文返回給所述下游路由器。
[0055]上游路由器的優化組播協議的裝置判斷將要返回的報文的源IP地址和目的上流Up-Stream字段地址是否一致,如果地址一致,則判斷該報文為Prune Echo剪枝回顯報文,則將此報文返回給所述下游路由器;如果不一致,則判斷此報文不是Prune Echo剪枝回顯報文,不將此報文返回給所述下游路由器,從而減少了報文的處理量。
[0056]進一步地,參見圖4,圖4為本發明優化組播協議的方法