一種協(xié)議報文處理方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種協(xié)議報文處理方法、裝置及系統(tǒng),包括:控制器接收轉(zhuǎn)發(fā)模塊發(fā)送的協(xié)議報文;當在軟件MAC地址表中未查找到與協(xié)議報文的MAC地址和VLAN?ID匹配的表項時,對協(xié)議報文進行MAC地址學習,將協(xié)議報文的MAC地址、VLAN?ID、以及與MAC地址對應的目的輸出端口對應存儲在軟件MAC地址表中;將協(xié)議報文進行處理得到的回應報文和協(xié)議報文的目的輸出端口信息下發(fā)到轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過目的輸出端口轉(zhuǎn)發(fā)回應報文。采用本發(fā)明實施例提供的方案,降低了物理交換設備的發(fā)包負荷,并且降低了非應答目的終端接收無效協(xié)議報文的數(shù)量,從而提高了網(wǎng)絡帶寬的利用率。
【專利說明】一種協(xié)議報文處理方法、裝置及系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及計算機網(wǎng)絡通信領域,尤其涉及一種協(xié)議報文處理方法、裝置及系統(tǒng)。
【背景技術】
[0002] 網(wǎng)絡中通過物理交換設備對報文進行轉(zhuǎn)發(fā)的過程中,通常物理交換設備分為控 制平面和轉(zhuǎn)發(fā)平面,轉(zhuǎn)發(fā)平面由硬件轉(zhuǎn)發(fā)芯片實現(xiàn),通過對報文進行介質(zhì)訪問控制(MAC, Media Access Control)地址學習,在硬件轉(zhuǎn)發(fā)芯片的端口之間對報文進行轉(zhuǎn)發(fā)。
[0003] 網(wǎng)絡中的報文按處理方式不同,分為數(shù)據(jù)報文和協(xié)議報文。如圖1所示為單虛擬 局域網(wǎng)(VLAN, Virtual Local Area Network)場景下的協(xié)議報文處理系統(tǒng)的結構示意圖, 在單VLAN場景下對協(xié)議報文進行轉(zhuǎn)發(fā)時,現(xiàn)有的處理方式主要為:
[0004] 轉(zhuǎn)發(fā)平面的硬件轉(zhuǎn)發(fā)芯片通過端口接收到終端發(fā)送的協(xié)議報文,并將協(xié)議報文 上報給控制平面的協(xié)議模塊,該協(xié)議報文中攜帶MAC地址和虛擬局域網(wǎng)標識(VLAN ID, Virtual Local Area Network Identification),同時當硬件轉(zhuǎn)發(fā)芯片在轉(zhuǎn)發(fā)地址表中未查 找到與該協(xié)議報文的MAC地址和VLAN ID對應的表項時,對該協(xié)議報文進行MAC地址學習, 將包括該協(xié)議報文的MAC地址、VLAN ID和目的輸出端口對應關系的表項上報給控制平面, 控制平面將該表項添加到自身存儲的軟件MAC地址表中,其中,該目的輸出端口即硬件轉(zhuǎn) 發(fā)芯片接收終端發(fā)送的協(xié)議報文的端口。
[0005] 控制平面的協(xié)議模塊接收轉(zhuǎn)發(fā)平面的硬件轉(zhuǎn)發(fā)芯片發(fā)送的協(xié)議報文,并對該協(xié)議 報文進行處理,生成回應報文,回應報文的目的MAC地址、VLAN ID分別與該協(xié)議報文的MAC 地址、VLAN ID相同,在控制平面內(nèi)的軟件MAC地址表中查找與該協(xié)議報文MAC地址即回應 報文的目的MAC地址對應的表項,得到該回應報文的目的輸出端口,將回應報文和該回應 報文的目的輸出端口發(fā)送給轉(zhuǎn)發(fā)平面的硬件轉(zhuǎn)發(fā)芯片,硬件轉(zhuǎn)發(fā)芯片將該回應報文由目的 輸出端口轉(zhuǎn)發(fā)。由于根據(jù)與該協(xié)議報文的MAC地址對應的目的輸出端口轉(zhuǎn)發(fā)報文,實際上 是對應輸出給終端,即硬件轉(zhuǎn)發(fā)芯片將該回應報文轉(zhuǎn)發(fā)給該終端。
[0006] 上述在單VLAN的場景下對協(xié)議報文進行轉(zhuǎn)發(fā)的處理方式,同樣適用于超級虛擬 局域網(wǎng)(Super VLAN,Super Virtual Local Area Network)場景下,如圖 2 所不為 Super VLAN場景下的協(xié)議報文處理系統(tǒng)的結構示意圖。Super VLAN是將多個子接口綁定到一個 虛接口中,每個子接口為Super VLAN的子VLAN,即Sub VLAN。當Sub VLAN下的終端向該 SubVLAN上報協(xié)議報文時,硬件轉(zhuǎn)發(fā)芯片對該協(xié)議報文的MAC地址進行學習,并將該協(xié)議報 文的MAC、Super VLAN ID和目的輸出端口對應關系的表項上報給控制平面,控制平面將該 表項添加到自身存儲的軟件MAC地址表中。
[0007] 上述現(xiàn)有的對協(xié)議報文轉(zhuǎn)發(fā)處理方法中,協(xié)議報文在轉(zhuǎn)發(fā)平面與控制平面的傳遞 與硬件轉(zhuǎn)發(fā)芯片將學習到的MAC地址表上報給控制平面是在兩個不同的通路中實現(xiàn)的,是 兩個獨立的處理過程。當控制平面的協(xié)議模塊對上報的協(xié)議報文處理生成回應報文,在軟 件MAC地址表中查找與該協(xié)議報文的MAC地址對應的表項時,如果此時轉(zhuǎn)發(fā)平面的硬件轉(zhuǎn) 發(fā)芯片還未將包括該MAC地址和VLAN ID對應的目的輸出端口對應關系的表項上報給控 制平面,即硬件轉(zhuǎn)發(fā)芯片上報該表項發(fā)生延遲,那么協(xié)議模塊將不能在軟件MAC地址表中 查找到與該協(xié)議報文對應的表項,使得在協(xié)議報文通信前期發(fā)生大量的協(xié)議報文廣播的情 況。由于頻繁的進行協(xié)議報文廣播,非應答目的終端會接收到無效的協(xié)議報文,極大地占用 了局域網(wǎng)的帶寬資源,降低了網(wǎng)絡帶寬的利用率。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明實施例提供一種協(xié)議報文處理方法、裝置及系統(tǒng),用以解決現(xiàn)有技術中存 在的處理協(xié)議報文導致的網(wǎng)絡帶寬利用率低,以及協(xié)議報文的大量廣播問題。
[0009] 本發(fā)明實施例提供一種協(xié)議報文處理方法,包括:
[0010] 控制器接收轉(zhuǎn)發(fā)模塊發(fā)送的協(xié)議報文,所述協(xié)議報文攜帶向所述轉(zhuǎn)發(fā)模塊發(fā)送所 述協(xié)議報文的終端的介質(zhì)訪問控制MAC地址、所述協(xié)議報文所屬虛擬局域網(wǎng)的虛擬局域網(wǎng) 標識 VLAN ID ;
[0011] 當在軟件MAC地址表中未查找到與所述協(xié)議報文的MAC地址和VLAN ID匹配的表 項時,對所述協(xié)議報文進行MAC地址學習,將所述協(xié)議報文的所述MAC地址、所述VLAN ID、 以及與所述MAC地址對應的目的輸出端口對應存儲在所述軟件MAC地址表中;
[0012] 將所述協(xié)議報文進行處理得到的回應報文和所述協(xié)議報文的目的輸出端口信息 下發(fā)到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述目的輸出端口轉(zhuǎn)發(fā)所述回應報文。
[0013] 采用本發(fā)明實施例提供的方法,由于當控制器接收到上報的協(xié)議報文時,主動對 該協(xié)議報文進行MAC地址學習,將學習得到的該協(xié)議報文的MAC地址、VLAN ID和目的輸出 端口同步存儲在本地的軟件MAC地址表中,無需等待轉(zhuǎn)發(fā)模塊上報的與該協(xié)議報文MAC地 址對應的報文信息,避免了轉(zhuǎn)發(fā)模塊上報延遲的情況,進而避免了由于轉(zhuǎn)發(fā)模塊上報延遲 導致控制器在軟件MAC地址表中未查找到協(xié)議報文而大量廣播協(xié)議報文的情況,降低了物 理交換設備的發(fā)包負荷,并且降低了非應答目的終端接收無效協(xié)議報文的數(shù)量,從而提高 了網(wǎng)絡帶寬的利用率。
[0014] 進一步的,所述虛擬局域網(wǎng)為超級虛擬局域網(wǎng)中SuperVLAN中任一個子虛擬局域 網(wǎng) SubVLAN ;
[0015] 對所述協(xié)議報文進行MAC地址學習,將所述協(xié)議報文的所述MAC地址、所述VLAN ID、以及與所述MAC地址對應的目的輸出端口對應存儲在所述軟件MAC地址表中,具體包 括:
[0016] 獲取所述協(xié)議報文攜帶的所述MAC地址、Sub VLAN ID以及Sub VLAN ID綁定的 SuperVLAN ID ;
[0017] 將所述協(xié)議報文的所述MAC地址、所述Sub VLAN ID、所述Sub VLAN ID對應的 SuperVLAN ID,以及所述MAC地址對應的目的輸出端口對應存儲在所述軟件MAC地址表中。
[0018] 進一步的,確定與所述MAC地址對應的目的輸出端口,具體包括:
[0019] 將所述轉(zhuǎn)發(fā)模塊接收所述終端發(fā)送所述協(xié)議報文的輸入端口確定為所述MAC地 址對應的目的輸出端口。
[0020] 進一步的,上述方法,還包括:
[0021] 當在軟件MAC地址表中查找到與所述協(xié)議報文的MAC地址和VLAN ID匹配的表項 時,將所述協(xié)議報文進行處理得到的回應報文和查找到的與所述MAC地址、VLAN ID對應的 目的輸出端口下發(fā)到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述目的輸出端口轉(zhuǎn)發(fā)所述回 應報文。
[0022] 本發(fā)明實施例還提供了一種協(xié)議報文處理裝置,包括:
[0023] 接收單元,用于接收轉(zhuǎn)發(fā)模塊發(fā)送的協(xié)議報文,所述協(xié)議報文攜帶向所述轉(zhuǎn)發(fā)模 塊發(fā)送所述協(xié)議報文的終端的介質(zhì)訪問控制MAC地址、所述協(xié)議報文所屬虛擬局域網(wǎng)的虛 擬局域網(wǎng)標識VLAN ID ;
[0024] 學習單元,用于當在軟件MAC地址表中未查找到與所述協(xié)議報文的MAC地址和 VLAN ID匹配的表項時,對所述協(xié)議報文進行MAC地址學習,將所述協(xié)議報文的所述MAC地 址、所述VLAN ID、以及與所述MAC地址對應的目的輸出端口對應存儲在所述軟件MAC地址 表中;
[0025] 第一下發(fā)單元,用于將所述協(xié)議報文進行處理得到的回應報文和所述協(xié)議報文的 目的輸出端口信息下發(fā)到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述目的輸出端口轉(zhuǎn)發(fā)所 述回應報文。
[0026] 采用本發(fā)明實施例提供的裝置,由于當控制器接收到上報的協(xié)議報文時,主動對 該協(xié)議報文進行MAC地址學習,將學習得到的該協(xié)議報文的MAC地址、VLAN ID和目的輸出 端口同步存儲在本地的軟件MAC地址表中,無需等待轉(zhuǎn)發(fā)模塊上報的與該協(xié)議報文MAC地 址對應的報文信息,避免了轉(zhuǎn)發(fā)模塊上報延遲的情況,進而避免了由于轉(zhuǎn)發(fā)模塊上報延遲 導致控制器在軟件MAC地址表中未查找到協(xié)議報文而大量廣播協(xié)議報文的情況,降低了物 理交換設備的發(fā)包負荷,并且降低了非應答目的終端接收無效協(xié)議報文的數(shù)量,從而提高 了網(wǎng)絡帶寬的利用率。
[0027] 進一步的,所述虛擬局域網(wǎng)為超級虛擬局域網(wǎng)中SuperVLAN中任一個子虛擬局域 網(wǎng) SubVLAN ;
[0028] 所述學習單元,具體用于獲取所述協(xié)議報文攜帶的所述MAC地址、SubVLAN ID以 及SubVLAN ID綁定的SuperVLAN ID;將所述協(xié)議報文的所述MAC地址、所述SubVLAN ID、 所述SubVLAN ID對應的SuperVLAN ID,以及所述MAC地址對應的目的輸出端口對應存儲在 所述軟件MAC地址表中。
[0029] 進一步的,所述學習單元,具體用于將所述轉(zhuǎn)發(fā)模塊接收所述終端發(fā)送所述協(xié)議 報文的輸入端口確定為所述MAC地址對應的目的輸出端口。
[0030] 進一步的,上述裝置,還包括:
[0031] 第二下發(fā)單元,用于當在軟件MAC地址表中查找到與所述協(xié)議報文的MAC地址和 VLAN ID匹配的表項時,將所述協(xié)議報文進行處理得到的回應報文和查找到的與所述MAC 地址、VLAN ID對應的目的輸出端口下發(fā)到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述目的 輸出端口轉(zhuǎn)發(fā)所述回應報文。
[0032] 本發(fā)明實施例還提供了一種協(xié)議報文處理系統(tǒng),包括:控制器和轉(zhuǎn)發(fā)模塊,其中:
[0033] 所述控制器,包括上述協(xié)議報文處理裝置;
[0034] 所述轉(zhuǎn)發(fā)模塊,用于向所述控制器發(fā)送協(xié)議報文;接收所述控制器發(fā)送的所述回 應報文和所述協(xié)議報文的目的輸出端口信息;通過所述目的輸出端口轉(zhuǎn)發(fā)所述回應報文。
[0035] 采用本發(fā)明實施例提供的系統(tǒng),由于當控制器接收到上報的協(xié)議報文時,主動對 該協(xié)議報文進行MAC地址學習,將學習得到的該協(xié)議報文的MAC地址、VLAN ID和目的輸出 端口同步存儲在本地的軟件MAC地址表中,無需等待轉(zhuǎn)發(fā)模塊上報的與該協(xié)議報文MAC地 址對應的報文信息,避免了轉(zhuǎn)發(fā)模塊上報延遲的情況,進而避免了由于轉(zhuǎn)發(fā)模塊上報延遲 導致控制器在軟件MAC地址表中未查找到協(xié)議報文而大量廣播協(xié)議報文的情況,降低了物 理交換設備的發(fā)包負荷,并且降低了非應答目的終端接收無效協(xié)議報文的數(shù)量,從而提高 了網(wǎng)絡帶寬的利用率。
[0036] 進一步的,所述控制器包括:學習模塊和協(xié)議模塊,其中:
[0037] 所述學習模塊,用于接收所述轉(zhuǎn)發(fā)模塊發(fā)送的所述協(xié)議報文,所述協(xié)議報文攜帶 向所述轉(zhuǎn)發(fā)模塊發(fā)送所述協(xié)議報文的終端的介質(zhì)訪問控制MAC地址、所述協(xié)議報文所屬虛 擬局域網(wǎng)的虛擬局域網(wǎng)標識VLAN ID ;將所述協(xié)議報文發(fā)送給所述協(xié)議模塊;當在軟件MAC 地址表中未查找到與所述協(xié)議報文的MAC地址和VLAN ID匹配的表項時,對所述協(xié)議報文 進行MAC地址學習,將所述協(xié)議報文的所述MAC地址、所述VLAN ID、以及與所述MAC地址對 應的目的輸出端口對應存儲在所述軟件MAC地址表中;將所述目的輸出端口信息發(fā)送給所 述協(xié)議模塊;
[0038] 所述協(xié)議模塊,用于接收所述學習模塊發(fā)送的所述協(xié)議報文;對所述協(xié)議報文進 行處理,得到回應報文;將所述回應報文和接收的所述目的輸出端口信息發(fā)送給所述轉(zhuǎn)發(fā) 模塊。
[0039] 本申請的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實施本申請而了解。本申請的目的和其他優(yōu)點可通過在所寫的說明 書、權利要求書、以及附圖中所特別指出的結構來實現(xiàn)和獲得。
【專利附圖】
【附圖說明】
[0040] 附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與本發(fā)明實施 例一起用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中:
[0041] 圖1為現(xiàn)有技術中在單VLAN場景下的協(xié)議報文處理系統(tǒng)的結構示意圖;
[0042] 圖2為現(xiàn)有技術中在單Super VLAN場景下的協(xié)議報文處理系統(tǒng)的結構示意圖;
[0043] 圖3為本發(fā)明實施例提供的協(xié)議報文處理方法的流程圖;
[0044] 圖4為本發(fā)明實施例1提供的協(xié)議報文處理方法的流程圖;
[0045] 圖5為本發(fā)明實施例2提供的協(xié)議報文處理方法的流程圖;
[0046] 圖6為本發(fā)明實施例3提供的協(xié)議報文處理裝置的結構示意圖;
[0047] 圖7為本發(fā)明實施例4提供的協(xié)議報文處理系統(tǒng)的結構示意圖;
[0048] 圖8為本發(fā)明實施例4提供的控制器的結構示意圖。
【具體實施方式】
[0049] 為了給出提高處理協(xié)議報文時網(wǎng)絡帶寬利用率,避免協(xié)議報文大量廣播的實現(xiàn)方 案,本發(fā)明實施例提供了一種協(xié)議報文處理方法、裝置及系統(tǒng),以下結合說明書附圖對本發(fā) 明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明, 并不用于限定本發(fā)明。并且在不沖突的情況下,本申請中的實施例及實施例中的特征可以 相互組合。
[0050] 本發(fā)明實施例提供一種協(xié)議報文處理方法,如圖3所示,包括:
[0051] 步驟301、控制器接收轉(zhuǎn)發(fā)模塊發(fā)送的協(xié)議報文,該協(xié)議報文攜帶向該轉(zhuǎn)發(fā)模塊發(fā) 送該協(xié)議報文的終端的介質(zhì)訪問控制MAC地址、該協(xié)議報文所屬虛擬局域網(wǎng)的虛擬局域網(wǎng) 標識 VLAN ID。
[0052] 步驟302、當在軟件MAC地址表中未查找到與該協(xié)議報文的MAC地址和VLAN ID匹 配的表項時,對該協(xié)議報文進行MAC地址學習,將協(xié)議報文的MAC地址、VLAN ID、以及與該 MAC地址對應的目的輸出端口對應存儲在軟件MAC地址表中。
[0053] 步驟303、將該協(xié)議報文進行處理得到的回應報文和該協(xié)議報文的目的輸出端口 信息下發(fā)到該轉(zhuǎn)發(fā)模塊,并控制該轉(zhuǎn)發(fā)模塊通過目的輸出端口轉(zhuǎn)發(fā)回應報文。
[0054] 本發(fā)明實施例提供的上述圖3所示的方法中,采用控制器對轉(zhuǎn)發(fā)模塊上報的協(xié)議 報文進行介質(zhì)訪問控制(MAC,Media Access Control)地址學習,可以應用于單虛擬局域網(wǎng) (VLAN, Virtual Local Area Network)場景下的協(xié)議報文轉(zhuǎn)發(fā),也可以應用于超級虛擬局 域網(wǎng)(Super VLAN,Super Virtual Local Area Network)場景下的協(xié)議報文轉(zhuǎn)發(fā)。對協(xié)議 報文進行MAC地址學習是指當物理交換設備從某個物理端口接收到協(xié)議報文時,讀取報文 的MAC地址和VLAN ID,并將MAC地址、VLAN ID和該MAC地址對應的目的輸出端口記錄下 來。
[0055] 下面結合附圖,用具體實施例對本發(fā)明提供的方法及裝置和相應系統(tǒng)進行詳細描 述。
[0056] 實施例1 :
[0057] 以單VLAN場景下的協(xié)議報文轉(zhuǎn)發(fā)為例,圖4為本發(fā)明實施例1提供的協(xié)議報文處 理方法的流程圖,具體包括如下處理步驟:
[0058] 步驟401、當轉(zhuǎn)發(fā)模塊接收到協(xié)議報文時,將該協(xié)議報文發(fā)送給控制器。
[0059] 轉(zhuǎn)發(fā)模塊接收到的協(xié)議報文為與該轉(zhuǎn)發(fā)模塊連接的終端發(fā)送的協(xié)議報文。該協(xié)議 報文攜帶該轉(zhuǎn)發(fā)模塊發(fā)送該協(xié)議報文的終端的MAC地址、該協(xié)議報文所屬VLAN的VLAN ID。
[0060] 步驟402、當該控制器接收到該協(xié)議報文時,對該協(xié)議報文進行相應處理,得到回 應報文。
[0061] 本步驟中,針對不同的協(xié)議報文分別進行相應的處理,例如:當該協(xié)議報文為請求 上網(wǎng)的報文時,控制器將為發(fā)送該協(xié)議報文的終端分配一個IP地址,并生成攜帶該IP地址 的回應報文。
[0062] 步驟403、當控制器接收到該協(xié)議報文時,獲取該協(xié)議報文攜帶的MAC地址和VLAN ID〇
[0063] 步驟404、該控制器在本地的軟件MAC地址表中查找是否存在與該協(xié)議報文的MAC 地址和VLAN ID匹配的表項,如果是,進入步驟405,如果否,進入步驟407。
[0064] 其中,該軟件MAC地址表中存儲有MAC地址、VLAN ID和與該MAC地址對應的目的 輸出端口的對應關系。
[0065] 步驟405、當該控制器在本地的軟件MAC地址表中查找到與該協(xié)議報文的MAC地址 和VLAN ID對應的表項時,將該回應報文和查找到的表項中的目的輸出端口信息下發(fā)到該 轉(zhuǎn)發(fā)模塊。
[0066] 本步驟中,在該軟件MAC地址表中查找到與該協(xié)議報文的MAC地址和VLAN ID匹 配的表項時,查找到的表項中包括MAC地址、VLAN ID和該MAC地址對應的目的輸出端口, 即說明在此之前該MAC地址、VLAN ID對應的終端經(jīng)由轉(zhuǎn)發(fā)模塊向該控制器發(fā)送過協(xié)議報 文,并已記錄下該MAC地址、VLAN ID以及目的輸出端口之間的對應關系。
[0067] 步驟406、當該轉(zhuǎn)發(fā)模塊接收到該回應報文和目的輸出端口信息時,通過該目的輸 出端口轉(zhuǎn)發(fā)該回應報文。
[0068] 本步驟中,由于該目的輸出端口與發(fā)送協(xié)議報文的終端的MAC地址對應,該轉(zhuǎn)發(fā) 模塊將該回應報文轉(zhuǎn)發(fā)給該終端。
[0069] 步驟407、當該控制器在本地的軟件MAC地址表中未查找到與該協(xié)議報文的MAC地 址和VLAN ID對應的表項時,讀取該協(xié)議報文中的MAC地址和VLAN ID。
[0070] 步驟408、控制器將該轉(zhuǎn)發(fā)模塊接收該終端發(fā)送該協(xié)議報文的輸入端口確定為該 MAC地址對應的目的輸出端口。
[0071] 具體的,該轉(zhuǎn)發(fā)模塊在向該控制器發(fā)送該協(xié)議報文的同時,將接收終端發(fā)送的該 協(xié)議報文使用的輸入端口信息發(fā)送給該控制器,控制器將接收到的輸入端口作為該MAC地 址對應的目的輸出端口。
[0072] 步驟409、控制器將該協(xié)議報文的MAC地址、VLAN ID和該目的輸出端口存儲在本 地的軟件MAC地址表中。
[0073] 步驟410、控制器將該回應報文和該回應報文對應的協(xié)議報文的目的輸出端口信 息下發(fā)給轉(zhuǎn)發(fā)模塊。
[0074] 具體的,控制器可以在軟件MAC地址表中查找與該協(xié)議報文的MAC地址、VLAN ID 對應的目的輸出端口,將該協(xié)議報文對應的回應報文和查找到的目的輸出端口信息下發(fā)給 轉(zhuǎn)發(fā)模塊,這里,由于回應報文是對該協(xié)議報文進行相應處理得到的,并未改變該協(xié)議報文 中的MAC地址、VLAN ID信息,該回應報文的目的MAC地址、VLAN ID與該協(xié)議報文的MAC地 址、VLAN ID相同。
[0075] 步驟411、當該轉(zhuǎn)發(fā)模塊接收到該回應報文和該目的輸出端口信息后,該轉(zhuǎn)發(fā)模塊 通過該目的輸出端口轉(zhuǎn)發(fā)該回應轉(zhuǎn)發(fā)該回應報文。
[0076] 本步驟中,由于該目的輸出端口與發(fā)送協(xié)議報文的終端的MAC地址對應,該轉(zhuǎn)發(fā) 模塊將該回應報文轉(zhuǎn)發(fā)給該終端。
[0077] 上述步驟402與步驟403、404、407、408、409之間沒有嚴格的先后順序。步驟402 也可以與步驟403、404、407、408、409中任一步驟同步執(zhí)行。
[0078] 本發(fā)明實施例1中,協(xié)議報文在由轉(zhuǎn)發(fā)模塊發(fā)送給控制器的上行傳輸過程中,該 協(xié)議報文對應的MAC地址相當于發(fā)送該協(xié)議報文的終端的源MAC地址,由于該協(xié)議報文經(jīng) 過控制器進行處理后得到的回應報文最終還是要轉(zhuǎn)發(fā)給該終端,因此對于控制器向轉(zhuǎn)發(fā)模 塊發(fā)送回應報文的下行傳輸過程中,相對于控制器來說該協(xié)議報文對應的源MAC地址相當 于回應報文的目的MAC地址,但實際上,這里所說的源MAC地址和目的MAC地址是相同的, 都是發(fā)送該協(xié)議報文的終端的MAC地址,即本發(fā)明實施例中的MAC地址。
[0079] 進一步的,控制器在對上報的協(xié)議報文主動進行MAC地址學習時,轉(zhuǎn)發(fā)模塊可以 采用現(xiàn)有技術的方式對協(xié)議報文進行MAC地址學習,轉(zhuǎn)發(fā)模塊還可以對數(shù)據(jù)報文進行MAC 地址學習,并將得到的報文的MAC地址、VLAN ID以及目的輸出端口上報給控制器,控制器 在本地的軟件MAC地址表中查找是否存在與轉(zhuǎn)發(fā)模塊上報的報文信息匹配的表項,如果不 存在,則將轉(zhuǎn)發(fā)模塊上報的報文信息添加到軟件MAC地址表中,以便在除了轉(zhuǎn)發(fā)協(xié)議報文 的情況以外需要使用報文信息時可以在軟件MAC地址表中查找報文信息。
[0080] 進一步的,控制器還可以將對協(xié)議報文進行MAC地址學習得到的軟件MAC地址表 中的表項下發(fā)到轉(zhuǎn)發(fā)模塊上,從而避免由于轉(zhuǎn)發(fā)模塊進行MAC地址學習失敗,導致數(shù)據(jù)報 文經(jīng)由轉(zhuǎn)發(fā)模塊大量廣播的問題。
[0081] 通過本發(fā)明上述實施1提供的方法,由于當控制器接收到上報的協(xié)議報文時,主 動對該協(xié)議報文進行MAC地址學習,將學習得到的該協(xié)議報文的MAC地址、VLAN ID和目 的輸出端口同步存儲在本地的軟件MAC地址表中,無需等待轉(zhuǎn)發(fā)模塊上報的與該協(xié)議報文 MAC地址對應的報文信息,避免了轉(zhuǎn)發(fā)模塊上報延遲的情況,進而避免了由于轉(zhuǎn)發(fā)模塊上報 延遲導致控制器在軟件MAC地址表中未查找到協(xié)議報文而大量廣播協(xié)議報文的情況,降低 了發(fā)包負荷,并且降低了非應答目的終端接收無效協(xié)議報文的數(shù)量,從而提高了網(wǎng)絡帶寬 的利用率。
[0082] 實施例2 :
[0083] 以Super VLAN場景下的協(xié)議報文轉(zhuǎn)發(fā)為例,Super VLAN下綁定多個SubVLAN,每 個SubVLAN下可以接入多個終端,圖5為本發(fā)明實施例1提供的協(xié)議報文處理方法的流程 圖,具體包括如下處理步驟:
[0084] 步驟501、當轉(zhuǎn)發(fā)模塊接收到協(xié)議報文時,將該協(xié)議報文發(fā)送給控制器。
[0085] 轉(zhuǎn)發(fā)模塊接收到的協(xié)議報文為與該轉(zhuǎn)發(fā)模塊連接的終端發(fā)送的協(xié)議報文。該協(xié) 議報文攜帶該轉(zhuǎn)發(fā)模塊發(fā)送該協(xié)議報文的終端的MAC地址,該協(xié)議報文所屬SubVLAN的 SubVLAN ID,以及與該 SubVLAN ID 綁定的 Super VLAN ID。
[0086] 步驟502、當該控制器接收到該協(xié)議報文時,對該協(xié)議報文進行相應處理,得到回 應報文。
[0087] 本步驟中,針對不同的協(xié)議報文分別進行相應的處理,例如:當該協(xié)議報文為請求 上網(wǎng)的報文時,控制器將為發(fā)送該協(xié)議報文的終端分配一個IP地址,并生成攜帶該IP地址 的回應報文。
[0088] 步驟503、當控制器接收到該協(xié)議報文時,獲取該協(xié)議報文攜帶的MAC地址、 SubVLAN ID 以及與該 SubVLAN ID 綁定的 Super VLAN ID。
[0089] 步驟504、該控制器在本地的軟件MAC地址表中查找是否存在與該協(xié)議報文的MAC 地址和Super VLAN ID匹配的表項,如果是,進入步驟505,如果否,進入步驟507。
[0090] 其中,該軟件MAC地址表中存儲有MAC地址、SubVLAN ID、與SubVLAN ID綁定的 Super VLAN ID和與該MAC地址對應的目的輸出端口的對應關系。
[0091] 步驟505、當該控制器在本地的軟件MAC地址表中查找到與該協(xié)議報文的MAC地址 和Super VLAN ID對應的表項時,將該回應報文和查找到的表項中的目的輸出端口信息下 發(fā)到該轉(zhuǎn)發(fā)模塊。
[0092] 本步驟中,在該軟件MAC地址表中查找到與該協(xié)議報文的MAC地址和Super VLAN ID匹配的表項時,查找到的表項中包括MAC地址、SubVLAN ID、與SubVLAN ID綁定的Super VLAN ID和該MAC地址對應的目的輸出端口,即說明在此之前該MAC地址、Super VLAN ID對 應的終端經(jīng)由轉(zhuǎn)發(fā)模塊向該控制器發(fā)送過協(xié)議報文,并已記錄下該MAC地址、SubVLAN ID、 與SubVLAN ID綁定的Super VLAN ID以及目的輸出端口之間的對應關系。
[0093] 步驟506、當該轉(zhuǎn)發(fā)模塊接收到該回應報文和目的輸出端口信息時,通過該目的輸 出端口轉(zhuǎn)發(fā)該回應報文。
[0094] 本步驟中,由于該目的輸出端口與發(fā)送協(xié)議報文的終端的MAC地址對應,該轉(zhuǎn)發(fā) 模塊將該回應報文轉(zhuǎn)發(fā)給該終端。
[0095] 步驟507、當該控制器在本地的軟件MAC地址表中未查找到與該協(xié)議報文的MAC地 址和Super VLAN ID對應的表項時,讀取該協(xié)議報文中的MAC地址和Super VLAN ID。
[0096] 步驟508、控制器將該轉(zhuǎn)發(fā)模塊接收該終端發(fā)送該協(xié)議報文的輸入端口確定為該 MAC地址對應的目的輸出端口。
[0097] 具體的,該轉(zhuǎn)發(fā)模塊在向該控制器發(fā)送該協(xié)議報文的同時,將接收終端發(fā)送的該 協(xié)議報文使用的輸入端口信息發(fā)送給該控制器,控制器將接收到的輸入端口作為該MAC地 址對應的目的輸出端口。
[0098] 步驟509、控制器將該協(xié)議報文的MAC地址、SubVLAN ID、與SubVLAN ID綁定的 Super VLAN ID和該目的輸出端口存儲在本地的軟件MAC地址表中。
[0099] 本步驟中,建立該協(xié)議報文的MAC地址、SubVLAN ID、與SubVLAN ID綁定的Super VLAN ID和該目的輸出端口之間的對應關系,即將該協(xié)議報文的MAC地址、SubVLAN ID、與 SubVLAN ID綁定的Super VLAN ID和該目的輸出端口存儲在本地的軟件MAC地址表中,可 以采用如下幾種方式:
[0100] 第一種方式:
[0101] 將軟件MAC地址表分為兩個子表:子表1和子表2,子表1中存儲MAC地址、SubVLAN ID和目的輸出端口之間的對應關系,子表2中存儲MAC地址、Super VLAN ID和目的輸出 端口之間的對應關系,當控制器獲取協(xié)議報文的MAC地址、SubVLAN ID后,將MAC地址、 SubVLAN ID和確定的目的輸出端口存儲在子表1中,將MAC地址、Super VLAN ID和確定的 目的輸出端口存儲在子表2中,然后將子表2下協(xié)議報文對應的表項替換為子表1下該協(xié) 議報文對應的表項,即將子表2下的Super VLAN ID的內(nèi)容替換為子表1下的SubVLAN ID 的內(nèi)容。
[0102] 第二種方式:
[0103] 單獨建立"MAC-SubVLAN ID跳轉(zhuǎn)表項",即建立MAC地址和SubVLAN ID之間的對 應關系,可首先根據(jù)MAC地址查找"MAC-SubVLAN ID跳轉(zhuǎn)表項"獲得SubVLAN ID,并根據(jù) SubVLAN ID和MAC地址查找軟件MAC地址表。
[0104] 第三種方式:
[0105] 將協(xié)議報文的MAC地址、SubVLAN ID、與SubVLAN ID綁定的Super VLAN ID和該 目的輸出端口之間的對應關系全部存儲在軟件MAC地址表中,即只存在一個表。
[0106] 步驟510、控制器將該回應報文和該回應報文對應的的協(xié)議報文的目的輸出端口 信息下發(fā)給轉(zhuǎn)發(fā)模塊。
[0107] 具體的,控制器可以在軟件MAC地址表中查找與該協(xié)議報文的MAC地址、Super VLAN ID對應的目的輸出端口,將該協(xié)議報文對應的回應報文和查找到的目的輸出端口信 息下發(fā)給轉(zhuǎn)發(fā)模塊,這里,由于回應報文是對該協(xié)議報文進行相應處理得到的,并未改變該 協(xié)議報文中的MAC地址、Super VLAN ID信息,該回應報文的目的MAC地址、Super VLAN ID 與該協(xié)議報文的MAC地址、Super VLAN ID相同。
[0108] 步驟511、當該轉(zhuǎn)發(fā)模塊接收到該回應報文和該目的輸出端口信息后,該轉(zhuǎn)發(fā)模塊 通過該目的輸出端口轉(zhuǎn)發(fā)該回應轉(zhuǎn)發(fā)該回應報文。
[0109] 本步驟中,由于該目的輸出端口與發(fā)送協(xié)議報文的終端的MAC地址對應,該轉(zhuǎn)發(fā) 模塊將該回應報文轉(zhuǎn)發(fā)給該終端。
[0110] 上述步驟502與步驟503、504、507、508、509之間沒有嚴格的先后順序。步驟502 也可以與步驟503、504、507、508、509中任一步驟同步執(zhí)行。
[0111] 本發(fā)明實施例2中,協(xié)議報文在由轉(zhuǎn)發(fā)模塊發(fā)送給控制器的上行傳輸過程中,該 協(xié)議報文對應的MAC地址相當于發(fā)送該協(xié)議報文的終端的源MAC地址,由于該協(xié)議報文經(jīng) 過控制器進行處理后得到的回應報文最終還是要轉(zhuǎn)發(fā)給該終端,因此對于控制器向轉(zhuǎn)發(fā)模 塊發(fā)送回應報文的下行傳輸過程中,相對于控制器來說該協(xié)議報文對應的源MAC地址相當 于回應報文的目的MAC地址,但實際上,這里所說的源MAC地址和目的MAC地址是相同的, 都是發(fā)送該協(xié)議報文的終端的MAC地址,即本發(fā)明實施例中的MAC地址。
[0112] 進一步的,控制器在對上報的協(xié)議報文主動進行MAC地址學習時,轉(zhuǎn)發(fā)模塊可以 采用現(xiàn)有技術的方式對協(xié)議報文進行MAC地址學習,轉(zhuǎn)發(fā)模塊還可以對數(shù)據(jù)報文進行MAC 地址學習,并將得到的報文的MAC地址、SubVLAN ID、與SubVLAN ID綁定的Super VLAN ID 和目的輸出端口上報給控制器,控制器在本地的軟件MAC地址表中查找是否存在與轉(zhuǎn)發(fā)模 塊上報的報文信息匹配的表項,如果不存在,則將轉(zhuǎn)發(fā)模塊上報的報文信息添加到軟件MAC 地址表中,以便在除了轉(zhuǎn)發(fā)協(xié)議報文的情況以外需要使用報文信息時可以在軟件MAC地址 表中查找報文信息。
[0113] 進一步的,控制器還可以將對協(xié)議報文進行MAC地址學習得到的軟件MAC地址表 中的表項下發(fā)到轉(zhuǎn)發(fā)模塊上,從而避免由于轉(zhuǎn)發(fā)模塊進行MAC地址學習失敗,導致數(shù)據(jù)報 文經(jīng)由轉(zhuǎn)發(fā)模塊大量廣播的問題。
[0114] 通過本發(fā)明上述實施1提供的方法,由于當控制器接收到上報的協(xié)議報文時,主 動對該協(xié)議報文進行MAC地址學習,將學習得到的該協(xié)議報文的MAC地址、SubVLAN ID、與 SubVLAN ID綁定的Super VLAN ID和目的輸出端口同步存儲在本地的軟件MAC地址表中, 無需等待轉(zhuǎn)發(fā)模塊上報的與該協(xié)議報文MAC地址對應的報文信息,避免了轉(zhuǎn)發(fā)模塊上報延 遲的情況,進而避免了由于轉(zhuǎn)發(fā)模塊上報延遲導致控制器在軟件MAC地址表中未查找到協(xié) 議報文而大量廣播協(xié)議報文的情況,降低了發(fā)包負荷,并且降低了非應答目的終端接收無 效協(xié)議報文的數(shù)量,從而提高了網(wǎng)絡帶寬的利用率。
[0115] 實施例2:
[0116] 基于同一發(fā)明構思,根據(jù)本發(fā)明上述實施例提供的協(xié)議報文處理方法,相應地,本 發(fā)明另一實施例還提供了協(xié)議報文處理裝置,其結構示意圖如圖6所示,具體包括:
[0117] 接收單元601,用于接收轉(zhuǎn)發(fā)模塊發(fā)送的協(xié)議報文,所述協(xié)議報文攜帶向所述轉(zhuǎn)發(fā) 模塊發(fā)送所述協(xié)議報文的終端的介質(zhì)訪問控制MAC地址、所述協(xié)議報文所屬虛擬局域網(wǎng)的 虛擬局域網(wǎng)標識VLAN ID;
[0118] 學習單元602,用于當在軟件MAC地址表中未查找到與所述協(xié)議報文的MAC地址和 VLAN ID匹配的表項時,對所述協(xié)議報文進行MAC地址學習,將所述協(xié)議報文的所述MAC地 址、所述VLAN ID、以及與所述MAC地址對應的目的輸出端口對應存儲在所述軟件MAC地址 表中;
[0119] 第一下發(fā)單元603,用于將所述協(xié)議報文進行處理得到的回應報文和所述協(xié)議報 文的目的輸出端口信息下發(fā)到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述目的輸出端口轉(zhuǎn) 發(fā)所述回應報文。
[0120] 進一步的,所述虛擬局域網(wǎng)為超級虛擬局域網(wǎng)中SuperVLAN中任一個子虛擬局域 網(wǎng) SubVLAN ;
[0121] 學習單元602,具體用于獲取所述協(xié)議報文攜帶的所述MAC地址、SubVLAN ID以及 SubVLAN ID綁定的SuperVLAN ID;將所述協(xié)議報文的所述MAC地址、所述SubVLAN ID、所 述SubVLAN ID對應的SuperVLAN ID,以及所述MAC地址對應的目的輸出端口對應存儲在所 述軟件MAC地址表中。
[0122] 學習單元602,具體用于將所述轉(zhuǎn)發(fā)模塊接收所述終端發(fā)送所述協(xié)議報文的輸入 端口確定為所述MAC地址對應的目的輸出端口。
[0123] 進一步的,上述裝置,還包括:
[0124] 第二下發(fā)單元604,用于當在軟件MAC地址表中查找到與所述協(xié)議報文的MAC地 址和VLAN ID匹配的表項時,將所述協(xié)議報文進行處理得到的回應報文和查找到的與所述 MAC地址、VLAN ID對應的目的輸出端口下發(fā)到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述 目的輸出端口轉(zhuǎn)發(fā)所述回應報文。
[0125] 上述各單元的功能可對應于圖3-圖5所示流程中的相應處理步驟,在此不再贅 述。
[0126] 實施例3:
[0127] 基于同一發(fā)明構思,根據(jù)本發(fā)明上述實施例提供的協(xié)議報文處理方法,相應地,本 發(fā)明另一實施例還提供了協(xié)議報文處理裝置,其結構示意圖如圖7所示,包括:控制器701 和轉(zhuǎn)發(fā)模塊702,其中:
[0128] 所述控制器701,包括實施例2中的協(xié)議報文處理裝置;
[0129] 所述轉(zhuǎn)發(fā)模塊702,用于向所述控制器發(fā)送協(xié)議報文;接收所述控制器發(fā)送的所 述回應報文和所述協(xié)議報文的目的輸出端口信息;通過所述目的輸出端口轉(zhuǎn)發(fā)所述回應報 文。
[0130] 進一步的,所述控制器701,如圖8所示,包括:學習模塊801和協(xié)議模塊802,其 中:
[0131] 所述學習模塊801,用于接收所述轉(zhuǎn)發(fā)模塊發(fā)送的所述協(xié)議報文,所述協(xié)議報文攜 帶向所述轉(zhuǎn)發(fā)模塊發(fā)送所述協(xié)議報文的終端的介質(zhì)訪問控制MAC地址、所述協(xié)議報文所屬 虛擬局域網(wǎng)的虛擬局域網(wǎng)標識VLAN ID ;將所述協(xié)議報文發(fā)送給所述協(xié)議模塊;當在軟件 MAC地址表中未查找到與所述協(xié)議報文的MAC地址和VLAN ID匹配的表項時,對所述協(xié)議報 文進行MAC地址學習,將所述協(xié)議報文的所述MAC地址、所述VLAN ID、以及與所述MAC地址 對應的目的輸出端口對應存儲在所述軟件MAC地址表中;將所述目的輸出端口信息發(fā)送給 所述協(xié)議模塊;
[0132] 所述協(xié)議模塊802,用于接收所述學習模塊發(fā)送的所述協(xié)議報文;對所述協(xié)議報 文進行處理,得到回應報文;將所述回應報文和接收的所述目的輸出端口信息發(fā)送給所述 轉(zhuǎn)發(fā)模塊。
[0133] 綜上所述,本發(fā)明實施例提供的方案,控制器接收轉(zhuǎn)發(fā)模塊發(fā)送的協(xié)議報文,該協(xié) 議報文攜帶向轉(zhuǎn)發(fā)模塊發(fā)送協(xié)議報文的終端的介質(zhì)訪問控制MAC地址、協(xié)議報文所屬虛擬 局域網(wǎng)的虛擬局域網(wǎng)標識VLAN ID ;當在軟件MAC地址表中未查找到與協(xié)議報文的MAC地 址和VLAN ID匹配的表項時,對協(xié)議報文進行MAC地址學習,將協(xié)議報文的MAC地址、VLAN ID、以及與MAC地址對應的目的輸出端口對應存儲在軟件MAC地址表中;將協(xié)議報文進行處 理得到的回應報文和協(xié)議報文的目的輸出端口信息下發(fā)到轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通 過目的輸出端口轉(zhuǎn)發(fā)回應報文。采用本發(fā)明實施例提供的方案,降低了物理交換設備的發(fā) 包負荷,并且降低了非應答目的終端接收無效協(xié)議報文的數(shù)量,從而提高了網(wǎng)絡帶寬的利 用率。
[0134] 本申請的實施例所提供的協(xié)議報文處理裝置及系統(tǒng)可通過計算機程序?qū)崿F(xiàn)。本領 域技術人員應該能夠理解,上述的模塊劃分方式僅是眾多模塊劃分方式中的一種,如果劃 分為其他模塊或不劃分模塊,只要協(xié)議報文處理裝置及系統(tǒng)具有上述功能,都應該在本申 請的保護范圍之內(nèi)。
[0135] 本申請是參照根據(jù)本申請實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程 圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一 流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算 機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理 器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生 用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能 的裝置。
[0136] 這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特 定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指 令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或 多個方框中指定的功能。
[0137] 這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計 算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或 其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖 一個方框或多個方框中指定的功能的步驟。
[0138] 顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權利要求】
1. 一種協(xié)議報文處理方法,其特征在于,包括: 控制器接收轉(zhuǎn)發(fā)模塊發(fā)送的協(xié)議報文,所述協(xié)議報文攜帶向所述轉(zhuǎn)發(fā)模塊發(fā)送所述協(xié) 議報文的終端的介質(zhì)訪問控制MAC地址、所述協(xié)議報文所屬虛擬局域網(wǎng)的虛擬局域網(wǎng)標識 VLAN ID ; 當在軟件MAC地址表中未查找到與所述協(xié)議報文的MAC地址和VLAN ID匹配的表項 時,對所述協(xié)議報文進行MAC地址學習,將所述協(xié)議報文的所述MAC地址、所述VLAN ID、以 及與所述MAC地址對應的目的輸出端口對應存儲在所述軟件MAC地址表中; 將所述協(xié)議報文進行處理得到的回應報文和所述協(xié)議報文的目的輸出端口信息下發(fā) 到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述目的輸出端口轉(zhuǎn)發(fā)所述回應報文。
2. 如權利要求1所述的方法,其特征在于,所述虛擬局域網(wǎng)為超級虛擬局域網(wǎng)中 SuperVLAN中任一個子虛擬局域網(wǎng)SubVLAN ; 對所述協(xié)議報文進行MAC地址學習,將所述協(xié)議報文的所述MAC地址、所述VLAN ID、以 及與所述MAC地址對應的目的輸出端口對應存儲在所述軟件MAC地址表中,具體包括: 獲取所述協(xié)議報文攜帶的所述MAC地址、SubVLAN ID以及SubVLAN ID綁定的 SuperVLAN ID ; 將所述協(xié)議報文的所述MAC地址、所述SubVLAN ID、所述SubVLAN ID對應的SuperVLAN ID,以及所述MAC地址對應的目的輸出端口對應存儲在所述軟件MAC地址表中。
3. 如權利要求1或2所述的方法,其特征在于,確定與所述MAC地址對應的目的輸出端 口,具體包括: 將所述轉(zhuǎn)發(fā)模塊接收所述終端發(fā)送所述協(xié)議報文的輸入端口確定為所述MAC地址對 應的目的輸出端口。
4. 如權利要求1所述的方法,其特征在于,還包括: 當在軟件MAC地址表中查找到與所述協(xié)議報文的MAC地址和VLAN ID匹配的表項時, 將所述協(xié)議報文進行處理得到的回應報文和查找到的與所述MAC地址、VLAN ID對應的目 的輸出端口下發(fā)到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述目的輸出端口轉(zhuǎn)發(fā)所述回應 報文。
5. -種協(xié)議報文處理裝置,其特征在于,包括: 接收單元,用于接收轉(zhuǎn)發(fā)模塊發(fā)送的協(xié)議報文,所述協(xié)議報文攜帶向所述轉(zhuǎn)發(fā)模塊發(fā) 送所述協(xié)議報文的終端的介質(zhì)訪問控制MAC地址、所述協(xié)議報文所屬虛擬局域網(wǎng)的虛擬局 域網(wǎng)標識VLAN ID ; 學習單元,用于當在軟件MAC地址表中未查找到與所述協(xié)議報文的MAC地址和VLAN ID 匹配的表項時,對所述協(xié)議報文進行MAC地址學習,將所述協(xié)議報文的所述MAC地址、所述 VLAN ID、以及與所述MAC地址對應的目的輸出端口對應存儲在所述軟件MAC地址表中; 第一下發(fā)單元,用于將所述協(xié)議報文進行處理得到的回應報文和所述協(xié)議報文的目的 輸出端口信息下發(fā)到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述目的輸出端口轉(zhuǎn)發(fā)所述回 應報文。
6. 如權利要求5所述的裝置,其特征在于,所述虛擬局域網(wǎng)為超級虛擬局域網(wǎng)中 SuperVLAN中任一個子虛擬局域網(wǎng)SubVLAN ; 所述學習單元,具體用于獲取所述協(xié)議報文攜帶的所述MAC地址、SubVLAN ID以及 SubVLAN ID綁定的SuperVLAN ID;將所述協(xié)議報文的所述MAC地址、所述SubVLAN ID、所 述SubVLAN ID對應的SuperVLAN ID,以及所述MAC地址對應的目的輸出端口對應存儲在所 述軟件MAC地址表中。
7. 如權利要求5或6所述的裝置,其特征在于,所述學習單元,具體用于將所述轉(zhuǎn)發(fā)模 塊接收所述終端發(fā)送所述協(xié)議報文的輸入端口確定為所述MAC地址對應的目的輸出端口。
8. 如權利要求5所述的裝置,其特征在于,還包括: 第二下發(fā)單元,用于當在軟件MAC地址表中查找到與所述協(xié)議報文的MAC地址和VLAN ID匹配的表項時,將所述協(xié)議報文進行處理得到的回應報文和查找到的與所述MAC地址、 VLAN ID對應的目的輸出端口下發(fā)到所述轉(zhuǎn)發(fā)模塊,用于所述轉(zhuǎn)發(fā)模塊通過所述目的輸出 端口轉(zhuǎn)發(fā)所述回應報文。
9. 一種協(xié)議報文處理系統(tǒng),其特征在于,包括:控制器和轉(zhuǎn)發(fā)模塊,其中: 所述控制器,包括如權利要求5-8任一所述的裝置; 所述轉(zhuǎn)發(fā)模塊,用于向所述控制器發(fā)送協(xié)議報文;接收所述控制器發(fā)送的所述回應報 文和所述協(xié)議報文的目的輸出端口信息;通過所述目的輸出端口轉(zhuǎn)發(fā)所述回應報文。
10. 如權利要求9所述的系統(tǒng),其特征在于,所述控制器包括:學習模塊和協(xié)議模塊,其 中: 所述學習模塊,用于接收所述轉(zhuǎn)發(fā)模塊發(fā)送的所述協(xié)議報文,所述協(xié)議報文攜帶向所 述轉(zhuǎn)發(fā)模塊發(fā)送所述協(xié)議報文的終端的介質(zhì)訪問控制MAC地址、所述協(xié)議報文所屬虛擬局 域網(wǎng)的虛擬局域網(wǎng)標識VLAN ID ;將所述協(xié)議報文發(fā)送給所述協(xié)議模塊;當在軟件MAC地址 表中未查找到與所述協(xié)議報文的MAC地址和VLAN ID匹配的表項時,對所述協(xié)議報文進行 MAC地址學習,將所述協(xié)議報文的所述MAC地址、所述VLAN ID、以及與所述MAC地址對應的 目的輸出端口對應存儲在所述軟件MAC地址表中;將所述目的輸出端口信息發(fā)送給所述協(xié) 議豐吳塊; 所述協(xié)議模塊,用于接收所述學習模塊發(fā)送的所述協(xié)議報文;對所述協(xié)議報文進行處 理,得到回應報文;將所述回應報文和接收的所述目的輸出端口信息發(fā)送給所述轉(zhuǎn)發(fā)模塊。
【文檔編號】H04L12/741GK104125150SQ201410349905
【公開日】2014年10月29日 申請日期:2014年7月22日 優(yōu)先權日:2014年7月22日
【發(fā)明者】蔡振興 申請人:福建星網(wǎng)銳捷網(wǎng)絡有限公司