交換芯片的報文轉(zhuǎn)發(fā)方法及交換芯片的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種交換芯片的報文轉(zhuǎn)發(fā)方法及交換芯片。
【背景技術(shù)】
[0002]利用交換芯片的vlan隔離特性對網(wǎng)絡(luò)轉(zhuǎn)發(fā)芯片CPU的接口進行復(fù)用,已經(jīng)成為網(wǎng)絡(luò)設(shè)備廠商一種常用的接口擴展手段。這種方式性價比較高,能有效的增加接口數(shù)目,提高產(chǎn)品的競爭力,是未來設(shè)備發(fā)展的一種趨勢。
[0003]—個基本的帶交換芯片的網(wǎng)絡(luò)設(shè)備硬件架構(gòu)如下:轉(zhuǎn)發(fā)芯片CPU的接口與交換芯片相連,通過交換芯片劃分出更多的接口來使用。交換芯片通過vlan隔離,劃分出一個個獨立的報文通道:對不同接口進入的報文加封不同的vlan tag標(biāo)簽,使其互不干擾。對于交換芯片接口送上來的報文,按照奇偶分配或者hash的方式,均勻的送入CPU接口中進行處理。如下圖所示:
[0004]這種接口復(fù)用的方式,需要在上送CPU的報文中打上vlan tag標(biāo)簽,來告訴CPU報文的入接口;同時,在出方向CPU也通過vlan tag標(biāo)簽來選擇正確的出接口。一般這種封裝和剝離vlan標(biāo)簽的操作都是由交換芯片驅(qū)動完成的,一般需要進行:
[0005]1、vlan通道劃分,即對每個接口劃分獨立的vlan ;
[0006]2、上行報文加封vlan標(biāo)簽;
[0007]3、下行報文判斷vlan標(biāo)簽并剝離;
[0008]Vlan標(biāo)簽位于報文的二層頭(mac層)和三層頭(IP頭)之間,長度為四個字節(jié)。
[0009]這種vlan tag的加封方式存在如下問題:
[0010]其一,在上層軟件的處理過程中,一般有vlan報文處理流程和非vlan報文處理流程。那么對于復(fù)用接口上送的攜帶vlan標(biāo)簽的報文,實際上并不算真正意義上的vlan報文,而只是借用vlan標(biāo)簽的位置來標(biāo)識出入接口,其vlan標(biāo)簽是由交換芯片打上,并不是原始報文中攜帶的,應(yīng)當(dāng)走非vlan報文處理轉(zhuǎn)發(fā)流程。而只有原始報文自身攜帶vlan(如從vlan子接口上送)才是真正的vlan報文。因此,在上層處理中需要花費很大精力對此種情況進行區(qū)分,防止報文走錯流程,對代碼復(fù)雜度和性能有影響。
[0011]其二,在報文處理過程中,有些流程(例如主機報文流程)需要最初的原始報文,即需要剝離交換芯片加封的vlan標(biāo)簽。vlan標(biāo)簽位于二三層頭之間,剝離時需要整體移動報文在內(nèi)存中的位置,對設(shè)備性能是一個非常大的損耗。
[0012]其三,對于原始就攜帶vlan的報文(如子接口進入的報文),這個加封方式會導(dǎo)致報文攜帶了雙層vlan,這種雙層vlan無論是在轉(zhuǎn)發(fā)流程還是在報文判斷上都帶來了很多不便,造成流程復(fù)雜度的提升和設(shè)備性能的下降。
【發(fā)明內(nèi)容】
[0013]本發(fā)明要解決的技術(shù)問題是:如何在交換芯片擴展接口方式下的報文轉(zhuǎn)發(fā),既保證接口復(fù)用,又對代碼復(fù)雜度降低和性能提升有較好的效果。
[0014]為解決上述問題,本發(fā)明提供了一種交換芯片報文轉(zhuǎn)發(fā)方法,其特征在于,所述報文轉(zhuǎn)發(fā)包括上行轉(zhuǎn)發(fā)和下行轉(zhuǎn)發(fā),
[0015]其中,所述上行轉(zhuǎn)發(fā)具體包括:所述交換芯片的入接口接收到報文時,對所述報文加封vlan標(biāo)簽;
[0016]將加封vlan標(biāo)簽的報文發(fā)送到CPU接口 ;
[0017]所述下行轉(zhuǎn)發(fā)具體包括:所述交換芯片的出接口接收到來自CPU的報文時,識別所述報文的vlan標(biāo)簽的標(biāo)簽信息;
[0018]根據(jù)所述標(biāo)簽信息選擇對應(yīng)的交換芯片接口發(fā)送所述報文;
[0019]其中,所述vlan標(biāo)簽位于所述報文的MAC層之前。
[0020]其中,所述下行轉(zhuǎn)發(fā)還包括:
[0021]在將來自CPU的報文轉(zhuǎn)發(fā)出去時,將所述報文的vlan標(biāo)簽信息剝離。
[0022]其中,所述交換芯片的入接口接收到報文時,對所述報文加封vlan標(biāo)簽,具體包括:
[0023]根據(jù)接收所述報文的子接口的vlan標(biāo)識對所述報文加封vlan標(biāo)簽。
[0024]其中,所述識別所述報文的vlan標(biāo)簽的標(biāo)簽信息包括:
[0025]讀取所述報文的MAC層之前的vlan標(biāo)簽的標(biāo)簽信息。
[0026]根據(jù)本發(fā)明的另一個方面,提供一種交換芯片,其特征在于,包括:
[0027]Vlan標(biāo)簽加封單元,用于在從入接口接收的報文的MAC層之前加封vlan標(biāo)簽;
[0028]Vlan標(biāo)簽識別單元,用于對從出接口接收的報文的MAC層之前的vlan標(biāo)簽進行識別;
[0029]Vlan標(biāo)簽剝離單元,用于將來自CPU的報文轉(zhuǎn)發(fā)出去的過程中將所述報文的MAC層之前的vlan標(biāo)簽剝離。
[0030]本發(fā)明的轉(zhuǎn)發(fā)芯片在轉(zhuǎn)發(fā)報文時,將標(biāo)簽信息封裝到MAC層前,可以在不改變原始報文的前提下,將入接口信息攜帶到CPU實現(xiàn)隔離擴展特性。同時,CPU接收到標(biāo)簽封裝在MAC層前的報文后,可以正常出解析標(biāo)簽信息,解析完成后,只需將報文指針偏移至MAC層即可獲得完整的原始報文,無需進行標(biāo)簽剝離操作,即無需移動報文在內(nèi)存中的位置,這對于設(shè)備轉(zhuǎn)發(fā)性能是很大的提升。
[0031]另外,新標(biāo)簽封裝于MAC層前,不再與原始報文中的vlan標(biāo)簽位置重疊,即不存在判斷原始vlan標(biāo)簽和交換芯片加封標(biāo)簽的問題,極大的降低了代碼復(fù)雜度,簡化了代碼流程。
【附圖說明】
[0032]圖1示出了本發(fā)明的交換芯片報文轉(zhuǎn)發(fā)方法的上行轉(zhuǎn)發(fā)流程圖。
[0033]圖2示出了本發(fā)明的交換芯片報文轉(zhuǎn)發(fā)方法的下行轉(zhuǎn)發(fā)流程圖。
【具體實施方式】
[0034]下面結(jié)合附圖和實施例,對本發(fā)明的【具體實施方式】作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0035]圖1示出了本發(fā)明的交換芯片報文轉(zhuǎn)發(fā)方法的上行轉(zhuǎn)發(fā)流程圖;圖2示出了本發(fā)明的交換芯片報文轉(zhuǎn)發(fā)方法的下行轉(zhuǎn)發(fā)流程圖。
[0036]如圖1和圖2所示,本發(fā)明一個實施例的交換芯片保文轉(zhuǎn)發(fā)方法,包括上行轉(zhuǎn)發(fā)和下行轉(zhuǎn)發(fā),
[0037]具體地,上行轉(zhuǎn)發(fā)具體包括:
[0038]S11、交換芯片的入接口接收到報文時,對所述報文加封vlan標(biāo)簽;
[0039]具體地,上述步驟中,根據(jù)接收所述報文的子接口的vlan標(biāo)識對所述報文加封vlan標(biāo)簽。
[0040]S12、將加封vlan標(biāo)簽的報文發(fā)送到CPU接口 ;
[0041]下行轉(zhuǎn)發(fā)具體包括:
[0042]S21、所述交換芯片的出接口接收到來自CPU的報文時,識別所述報文的vlan標(biāo)簽的標(biāo)簽信息;
[0043]S22、根據(jù)所述標(biāo)簽信息選擇對應(yīng)的交換芯片接口發(fā)送所述報文;
[0044]在上述實施例中,vlan標(biāo)簽位于所述報文的MAC層之前。
[0045]基于上述,步驟S21的識別所述報文的vlan標(biāo)簽的標(biāo)簽信息具體為:讀取所述報文的MAC層之前的vlan標(biāo)簽的標(biāo)簽信息。
[0046]進一步第,下行轉(zhuǎn)發(fā)還包括:
[0047]在將來自CPU的報文轉(zhuǎn)發(fā)出去時,將所述報文的vlan標(biāo)簽信息剝離。
[0048]即在入接口報文從交換芯片上送到CPU的過程中加封標(biāo)簽時,加封位置移動到MAC層之前;并且報文從CPU接口下發(fā)到交換芯片時,從報文的MAC層前識別標(biāo)簽信息,找至IJ對應(yīng)的交換芯片出接口發(fā)出,同時,在從出接口發(fā)出時,將報文的MAC層前的標(biāo)簽信息剝離。
[0049]本發(fā)明將標(biāo)簽信息封裝到MAC層之前,可以在不改變原始報文的前提下,將入接口信息攜帶到CPU實現(xiàn)隔離擴展特性。另外,本申請中獲得原始報文無需在內(nèi)存中移動報文位置,僅需要移動報文頭指針,對性能無損耗,明顯提升設(shè)備行能;此外,此方法簡化了上層處理流程,不再與子接口等攜帶的vlan標(biāo)簽性形成判斷沖突,降低了代碼和流程的復(fù)雜度。
[0050]根據(jù)本發(fā)明的另一個實施例,提供一種交換芯片,具體包括:
[0051]Vlan標(biāo)簽加封單元,用于在從入接口接收的報文的MAC層之前加封vlan標(biāo)簽;
[0052]Vlan標(biāo)簽識別單元,用于對從出接口接收的報文的MAC層之前的vlan標(biāo)簽進行識別;
[0053]Vlan標(biāo)簽剝離單元,用于將來自CPU的報文轉(zhuǎn)發(fā)出去的過程中將所述報文的MAC層之前的vlan標(biāo)簽剝離。
[0054]本發(fā)明的轉(zhuǎn)發(fā)芯片在轉(zhuǎn)發(fā)報文時,將標(biāo)簽信息封裝到MAC層前,可以在不改變原始報文的前提下,將入接口信息攜帶到CPU實現(xiàn)隔離擴展特性。同時,CPU接收到標(biāo)簽封裝在MAC層前的報文后,可以正常出解析標(biāo)簽信息,解析完成后,只需將報文指針偏移至MAC層即可獲得完整的原始報文,無需進行標(biāo)簽剝離操作,即無需移動報文在內(nèi)存中的位置,這對于設(shè)備轉(zhuǎn)發(fā)性能是很大的提升。
[0055]另外,新標(biāo)簽封裝于MAC層前,不再與原始報文中的vlan標(biāo)簽位置重疊,即不存在判斷原始vlan標(biāo)簽和交換芯片加封標(biāo)簽的問題,極大的降低了代碼復(fù)雜度,簡化了代碼流程。
[0056]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應(yīng)由權(quán)利要求限定。
【主權(quán)項】
1.一種交換芯片報文轉(zhuǎn)發(fā)方法,其特征在于,所述報文轉(zhuǎn)發(fā)包括上行轉(zhuǎn)發(fā)和下行轉(zhuǎn)發(fā), 其中,所述上行轉(zhuǎn)發(fā)具體包括:所述交換芯片的入接口接收到報文時,對所述報文加封vlan標(biāo)簽; 將加封vlan標(biāo)簽的報文發(fā)送到CPU接口 ; 所述下行轉(zhuǎn)發(fā)具體包括:所述交換芯片的出接口接收到來自CPU的報文時,識別所述報文的vlan標(biāo)簽的標(biāo)簽信息; 根據(jù)所述標(biāo)簽信息選擇對應(yīng)的交換芯片接口發(fā)送所述報文; 其中,所述vlan標(biāo)簽位于所述報文的MAC層之前。2.如權(quán)利要求1所述的交換芯片報文轉(zhuǎn)發(fā)方法,其特征在于,所述下行轉(zhuǎn)發(fā)還包括: 在將來自CPU的報文轉(zhuǎn)發(fā)出去時,將所述報文的vlan標(biāo)簽信息剝離。3.如權(quán)利要求1所述的交換芯片抱報文轉(zhuǎn)發(fā)方法,其特征在于,所述交換芯片的入接口接收到報文時,對所述報文加封vlan標(biāo)簽,具體包括: 根據(jù)接收所述報文的子接口的vlan標(biāo)識對所述報文加封vlan標(biāo)簽。4.如權(quán)利要求1所述的交換芯片抱報文轉(zhuǎn)發(fā)方法,其特征在于,所述識別所述報文的vlan標(biāo)簽的標(biāo)簽信息包括: 讀取所述報文的MAC層之前的vlan標(biāo)簽的標(biāo)簽信息。5.一種交換芯片,其特征在于,包括: Vlan標(biāo)簽加封單元,用于在從入接口接收的報文的MAC層之前加封vlan標(biāo)簽; Vlan標(biāo)簽識別單元,用于對從出接口接收的報文的MAC層之前的vlan標(biāo)簽進行識別;Vlan標(biāo)簽剝離單元,用于將來自CPU的報文轉(zhuǎn)發(fā)出去的過程中將所述報文的MAC層之前的vlan標(biāo)簽剝離。
【專利摘要】本發(fā)明公開了一種交換芯片報文轉(zhuǎn)發(fā)方法及交換芯片,所述報文轉(zhuǎn)發(fā)包括上行轉(zhuǎn)發(fā)和下行轉(zhuǎn)發(fā),其中,所述上行轉(zhuǎn)發(fā)具體包括:所述交換芯片的入接口接收到報文時,對所述報文加封vlan標(biāo)簽;將加封vlan標(biāo)簽的報文發(fā)送到CPU接口;所述下行轉(zhuǎn)發(fā)具體包括:所述交換芯片的出接口接收到來自CPU的報文時,識別所述報文的vlan標(biāo)簽的標(biāo)簽信息;根據(jù)所述標(biāo)簽信息選擇對應(yīng)的交換芯片接口發(fā)送所述報文;其中,所述vlan標(biāo)簽位于上述報文的MAC層之前。本發(fā)明的報文轉(zhuǎn)發(fā)方法,既保證接口復(fù)用,又對代碼復(fù)雜度降低和性能提升有較好的效果。
【IPC分類】H04L12/723
【公開號】CN105072033
【申請?zhí)枴緾N201510392051
【發(fā)明人】韓陽
【申請人】北京漢柏科技有限公司
【公開日】2015年11月18日
【申請日】2015年7月6日