一種報文轉(zhuǎn)發(fā)方法及裝置的制造方法
【專利摘要】本發(fā)明提供一種報文轉(zhuǎn)發(fā)方法及裝置,所述方法包括:業(yè)務(wù)板卡收到原RADIUS請求報文時,將主控板卡預(yù)先分配的端口號添加到所述原RADIUS請求報文中構(gòu)建成新RADIUS請求報文,并將所述新RADIUS請求報文發(fā)送到交換芯片;交換芯片將所述新RADIUS請求報文轉(zhuǎn)發(fā)到RADIUS服務(wù)器;當(dāng)交換芯片收到RADIUS服務(wù)器返回的RADIUS應(yīng)答報文時,根據(jù)RADIUS應(yīng)答報文中攜帶的端口號將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā)到端口號對應(yīng)的業(yè)務(wù)板卡。因此本發(fā)明可以使業(yè)務(wù)板卡和交換芯片代替主控板卡實現(xiàn)報文的轉(zhuǎn)發(fā)處理,提高處理效率,提升用戶體驗。
【專利說明】
一種報文轉(zhuǎn)發(fā)方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種報文轉(zhuǎn)發(fā)方法及裝置。
【背景技術(shù)】
[0002] BRAS (Broadband Remote Access Server,寬帶遠(yuǎn)程接入服務(wù)器)使用標(biāo)準(zhǔn)的 RADIUS協(xié)議來完成接入用戶的認(rèn)證、計費(fèi)、授權(quán)功能。為了滿足基于對IP網(wǎng)絡(luò)大容量、少節(jié) 點(diǎn)、廣覆蓋的應(yīng)用需求,BRAS普遍采用機(jī)架式設(shè)計方案。隨著接入容量的擴(kuò)大,BRAS上板卡 的數(shù)量也相應(yīng)地不斷增加。
[0003] 現(xiàn)有技術(shù)中,在多個業(yè)務(wù)板卡同時有用戶接入的時候,業(yè)務(wù)板卡會將 RADIUS(Remote Authentication Dial In User Service,遠(yuǎn)程用戶撥號認(rèn)證系統(tǒng))請求經(jīng) 過板間通道發(fā)送到主控板卡,主控板卡為RADIUS請求分配資源,然后按照RADIUS協(xié)議標(biāo)準(zhǔn) 封裝報文,經(jīng)過網(wǎng)絡(luò)芯片發(fā)送給RADIUS服務(wù)器。主控板卡在收到RADIUS服務(wù)器的應(yīng)答報 文后,在將不同的應(yīng)答報文分配給不同的業(yè)務(wù)板卡進(jìn)行處理。由此可見,BRAS的業(yè)務(wù)處理會 受限于主控板卡和板間通道的處理能力,因此設(shè)備的穩(wěn)定性和處理效率相對較差,特別是 在大量用戶同時上線的情況下,瞬間會有大量RADIUS請求報文涌入主控板卡,因此不可避 免地會出現(xiàn)丟包現(xiàn)象,這就造成了一部分用戶的接入請求得不到響應(yīng),導(dǎo)致用戶接入失敗。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本發(fā)明提供一種報文轉(zhuǎn)發(fā)方法及裝置來解決插卡式設(shè)備的穩(wěn)定性和處 理效率較差的問題。
[0005] 具體地,本發(fā)明是通過如下技術(shù)方案實現(xiàn)的:
[0006] -種報文轉(zhuǎn)發(fā)方法,所述方法應(yīng)用于插卡式設(shè)備,所述插卡式設(shè)備包括主控板卡、 業(yè)務(wù)板卡、交換芯片,所述方法包括:
[0007] 業(yè)務(wù)板卡收到原RADIUS請求報文時,將主控板卡預(yù)先分配的端口號添加到所述 原RADIUS請求報文中構(gòu)建成新RADIUS請求報文,并將所述新RADIUS請求報文發(fā)送到交換 芯片;
[0008] 交換芯片將所述新RADIUS請求報文轉(zhuǎn)發(fā)到RADIUS服務(wù)器;
[0009] 當(dāng)交換芯片收到RADIUS服務(wù)器返回的RADIUS應(yīng)答報文時,根據(jù)RADIUS應(yīng)答報文 中攜帶的端口號將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā)到端口號對應(yīng)的業(yè)務(wù)板卡。
[0010] 進(jìn)一步的,所述方法還包括:
[0011] 主控板卡預(yù)先為業(yè)務(wù)板卡分配對應(yīng)的端口塊,所述端口塊中包括多個端口號;
[0012] 主控板卡根據(jù)所述端口塊創(chuàng)建ACL規(guī)則并下發(fā)至交換芯片;
[0013] 所述交換芯片根據(jù)RADIUS應(yīng)答報文中攜帶的端口號將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā) 到端口號對應(yīng)的業(yè)務(wù)板卡,包括:
[0014] 所述交換芯片根據(jù)所述ACL規(guī)則將屬于所述端口塊的端口號所對應(yīng)的RADIUS應(yīng) 答報文轉(zhuǎn)發(fā)至所述端口塊對應(yīng)的業(yè)務(wù)板卡。
[0015] 進(jìn)一步的,所述方法還包括:
[0016] 業(yè)務(wù)板卡對所述新RADIUS請求報文進(jìn)行備份。
[0017] 進(jìn)一步的,所述業(yè)務(wù)板卡對所述新RADIUS請求報文進(jìn)行備份,包括:
[0018] 業(yè)務(wù)板卡將所述新RADIUS請求報文的緩存地址添加到備份列表中,并以所述新 RADIUS請求報文的端口號為所述緩存地址的索引;
[0019] 所述方法還包括:
[0020] 當(dāng)業(yè)務(wù)板卡收到RADIUS應(yīng)答報文時,根據(jù)該RADIUS應(yīng)答報文的端口號在所述備 份列表中查找對應(yīng)的緩存地址;再將所述緩存地址對應(yīng)所述新RADIUS請求報文刪除。
[0021] 進(jìn)一步的,所述業(yè)務(wù)板卡將所述新RADIUS請求報文的緩存地址添加到備份列表 中,還包括:
[0022] 業(yè)務(wù)板卡將所述新RADIUS請求報文的緩存地址添加到備份列表中,并為其設(shè)置 定時器;
[0023] 若在定時器超時時仍未收到RADIUS應(yīng)答報文,業(yè)務(wù)板卡則重發(fā)所述新RADIUS請 求報文。
[0024] 基于相同的構(gòu)思,本發(fā)明還提供一種報文轉(zhuǎn)發(fā)裝置,所述裝置應(yīng)用于插卡式設(shè)備, 所述插卡式設(shè)備包括主控板卡、業(yè)務(wù)板卡、交換芯片,所述裝置包括:
[0025] 報文構(gòu)建單元,用于收到原RADIUS請求報文時,將主控板卡預(yù)先分配的端口號添 加到所述原RADIUS請求報文中構(gòu)建成新RADIUS請求報文,并將所述新RADIUS請求報文發(fā) 送到交換芯片;
[0026] 第一轉(zhuǎn)發(fā)單元,用于將所述新RADIUS請求報文轉(zhuǎn)發(fā)到RADIUS服務(wù)器;
[0027] 第二轉(zhuǎn)發(fā)單元,用于在收到RADIUS服務(wù)器返回的RADIUS應(yīng)答報文時,根據(jù)RADIUS 應(yīng)答報文中攜帶的端口號將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā)到端口號對應(yīng)的業(yè)務(wù)板卡。
[0028] 進(jìn)一步的,所述裝置還包括:
[0029] 端口分配單元,用于預(yù)先為業(yè)務(wù)板卡分配對應(yīng)的端口塊,所述端口塊中包括多個 端口號;
[0030] 規(guī)則創(chuàng)建單元,用于根據(jù)所述端口塊創(chuàng)建ACL規(guī)則并下發(fā)至交換芯片;
[0031 ] 所述第二轉(zhuǎn)發(fā)單元,具體用于根據(jù)所述ACL規(guī)則將屬于所述端口塊的端口號所對 應(yīng)的RADIUS應(yīng)答報文轉(zhuǎn)發(fā)至所述端口塊對應(yīng)的業(yè)務(wù)板卡。
[0032] 進(jìn)一步的,所述裝置還包括:
[0033] 報文備份單元,用于對所述新RADIUS請求報文進(jìn)行備份。
[0034] 進(jìn)一步的,所述報文備份單元,具體用于業(yè)務(wù)板卡將所述新RADIUS請求報文的緩 存地址添加到備份列表中,并以所述新RADIUS請求報文的端口號為所述緩存地址的索引;
[0035] 所述裝置還包括:
[0036] 報文刪除單元,用于在收到RADIUS應(yīng)答報文時,根據(jù)該RADIUS應(yīng)答報文的端口號 在所述備份列表中查找對應(yīng)的緩存地址;再將所述緩存地址對應(yīng)所述新RADIUS請求報文 刪除。
[0037] 進(jìn)一步的,所述報文備份單元,還用于將所述新RADIUS請求報文的緩存地址添加 到備份列表中,并為其設(shè)置定時器;
[0038] 所述裝置還包括:
[0039] 所述報文重發(fā)單元,用于在定時器超時時仍未收到RADIUS應(yīng)答報文時,重發(fā)所述 新RADIUS請求報文。
[0040] 由此可見,本發(fā)明的提供一種報文轉(zhuǎn)發(fā)方法及裝置,可以通過統(tǒng)一管理各個業(yè)務(wù) 板卡的UDP源端口,保證各個業(yè)務(wù)板卡在發(fā)送RADIUS請求報文時攜帶的端口號不重復(fù),并 通過對交換芯片下發(fā)ACL規(guī)則控制交換芯片將RADIUS應(yīng)答報文轉(zhuǎn)發(fā)給各個業(yè)務(wù)板卡,從而 代替主控板卡實現(xiàn)報文的轉(zhuǎn)發(fā)處理,提高處理效率,提升用戶體驗。
【附圖說明】
[0041] 圖1是本發(fā)明一種示例性實施方式中現(xiàn)有技術(shù)的報文轉(zhuǎn)發(fā)示意圖;
[0042] 圖2是本發(fā)明一種示例性實施方式中的一種報文轉(zhuǎn)發(fā)方法的處理流程圖;
[0043] 圖3是本發(fā)明一種示例性實施方式中的報文轉(zhuǎn)發(fā)示意圖;
[0044] 圖4是本發(fā)明一種示例性實施方式中的報文轉(zhuǎn)發(fā)裝置所在的插卡式設(shè)備的硬件 結(jié)構(gòu)圖;
[0045] 圖5是本發(fā)明一種示例性實施方式中的一種報文轉(zhuǎn)發(fā)裝置的邏輯結(jié)構(gòu)圖。
【具體實施方式】
[0046] 請參見圖1,是本發(fā)明一種示例性實施方式中現(xiàn)有技術(shù)的報文轉(zhuǎn)發(fā)示意圖,其中包 括主控板卡、業(yè)務(wù)板卡1、業(yè)務(wù)板卡2及交換芯片。主控板卡通過板間通道與業(yè)務(wù)板卡1、業(yè) 務(wù)板卡2進(jìn)行交互,主控板卡可以通過板間通道接收業(yè)務(wù)板卡1、業(yè)務(wù)板卡2上送的報文,還 可以通過板間通道向業(yè)務(wù)板卡1、業(yè)務(wù)板卡2下發(fā)控制策略及其他消息。業(yè)務(wù)板卡1、業(yè)務(wù) 板卡2分別負(fù)責(zé)對不同的用戶提供服務(wù)。交換芯片用于轉(zhuǎn)發(fā)報文以及交互板間信息。
[0047] 現(xiàn)有技術(shù)中,在多個業(yè)務(wù)板卡同時收到RADIUS請求報文的時候,業(yè)務(wù)板塊會將 RADIUS請求報文經(jīng)過板間通道發(fā)送到主控板卡,主控板卡為RADIUS請求報文分配資源,并 按照RADIUS協(xié)議標(biāo)準(zhǔn)封裝報文,經(jīng)過交換芯片處理后發(fā)送給RADIUS服務(wù)器。主控板卡在 收到RADIUS服務(wù)器的RADIUS應(yīng)答報文后,仍由主控板卡進(jìn)行統(tǒng)一處理,確定該RADIUS應(yīng) 答報文所對應(yīng)的業(yè)務(wù)板卡后,再經(jīng)過板間通道下發(fā)到對應(yīng)的業(yè)務(wù)板卡進(jìn)行處理。這樣一來, 插卡式設(shè)備的業(yè)務(wù)處理能力會受限于主控板卡和板間通道的處理能力,因此穩(wěn)定性和處理 效率都較差,特別是在大量用戶同時上線的情況下,瞬間會有大量RADIUS請求報文發(fā)送給 主控板卡,主控板卡處理的同時還會收到大量的RADIUS應(yīng)答報文。由于主控板卡和板間通 道的處理能力有限,不可避免地會有丟包現(xiàn)象產(chǎn)生,這就造成了一部分用戶的接入請求得 不到響應(yīng),導(dǎo)致用戶接入失敗。即使主控板卡及板間通道的處理能力較強(qiáng),面對大量的報文 封裝、轉(zhuǎn)發(fā)以及應(yīng)答報文的區(qū)分過程,會導(dǎo)致主控板卡的處理效率低下,進(jìn)而影響用戶的體 驗。
[0048] 為了解決上述問題,本發(fā)明提供一種報文轉(zhuǎn)發(fā)方法及裝置,可以通過統(tǒng)一管理各 個業(yè)務(wù)板卡的UDP (User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)源端口,保證各個業(yè)務(wù)板 卡在發(fā)送RADIUS請求報文時攜帶的端口號不重復(fù),并通過對交換芯片下發(fā)ACL (Access Control List,訪問控制列表)規(guī)則控制交換芯片將RADIUS應(yīng)答報文轉(zhuǎn)發(fā)給各個業(yè)務(wù)板 卡,從而代替主控板卡實現(xiàn)報文的轉(zhuǎn)發(fā)處理,提高處理效率,提升用戶體驗。
[0049] 請參考圖2,是本發(fā)明一種示例性實施方式中的一種報文轉(zhuǎn)發(fā)方法的處理流程圖, 所述方法應(yīng)用于插卡式設(shè)備,例如BRAS等,所述插卡式設(shè)備包括主控板卡、業(yè)務(wù)板卡、交換 芯片,所述方法包括:
[0050] 步驟201、業(yè)務(wù)板卡收到原RADIUS請求報文時,將主控板卡預(yù)先分配的端口號添 加到所述源RADIUS請求報文中構(gòu)建成新RADIUS請求報文,并將所述新RADIUS請求報文發(fā) 送到交換芯片;
[0051] 在本實施例中,當(dāng)業(yè)務(wù)板卡收到用戶主機(jī)發(fā)送的原RADIUS請求報文時,業(yè)務(wù)板卡 可將主控板卡預(yù)先為其分配的端口號作為RADIUS封裝的源端口。并對原RADIUS請求報文 中進(jìn)行所述RADIUS封裝,從而構(gòu)建成新RADIUS請求報文,之后并將所述新RADIUS請求報 文發(fā)送到交換芯片
[0052] 步驟202、交換芯片將所述新RADIUS請求報文轉(zhuǎn)發(fā)到RADIUS服務(wù)器;
[0053] 在本實施例中,交換芯片收到新RADIUS請求報文后,可將該新RADIUS請求報文轉(zhuǎn) 發(fā)到RADIUS服務(wù)器,以使RADIUS服務(wù)器根據(jù)RADIUS請求報文進(jìn)行應(yīng)答,需要說明的是,由 于新RADIUS請求報文的源端口為業(yè)務(wù)板卡對應(yīng)的端口號,因此在反向過程中,所述RADIUS 應(yīng)答報文中的目的端口的端口號與上述源端口號相同。
[0054] 步驟203、當(dāng)交換芯片收到RADIUS服務(wù)器返回的RADIUS應(yīng)答報文時,根據(jù)RADIUS 應(yīng)答報文中攜帶的端口號將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā)到端口號對應(yīng)的業(yè)務(wù)板卡。
[0055] 在本實施例中,當(dāng)交換芯片收到RADIUS服務(wù)器返回的RADIUS應(yīng)答報文時,可以獲 取RADIUS應(yīng)答報文中攜帶的目的端口的端口號。由于該目的端口的端口號與新RADIUS請 求報文源端口的端口號相同,因此可以根據(jù)該端口號確定所述RADIUS應(yīng)答報文對應(yīng)的業(yè) 務(wù)板卡,從而將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā)對應(yīng)的業(yè)務(wù)板卡進(jìn)行處理。
[0056] 由此可見,本發(fā)明的提供一種報文轉(zhuǎn)發(fā)方法及裝置,可以通過統(tǒng)一管理各個業(yè)務(wù) 板卡的UDP源端口,保證各個業(yè)務(wù)板卡在發(fā)送RADIUS請求報文時攜帶的端口號不重復(fù),并 通過對交換芯片下發(fā)ACL規(guī)則控制交換芯片將RADIUS應(yīng)答報文轉(zhuǎn)發(fā)給各個業(yè)務(wù)板卡,從而 代替主控板卡實現(xiàn)報文的轉(zhuǎn)發(fā)處理,提高處理效率,提升用戶體驗。
[0057] 在本發(fā)明可選的實施例中,主控板卡可以預(yù)先為業(yè)務(wù)板卡分配對應(yīng)的端口塊,所 謂的端口塊相當(dāng)于一個端口號碼段,其中包括多個端口號,每個業(yè)務(wù)板卡上的端口號都不 相同。主控板卡根據(jù)所述端口塊創(chuàng)建ACL規(guī)則并下發(fā)至交換芯片,以使所述交換芯片在收 到RADIUS應(yīng)答報文時,可以根據(jù)所述ACL規(guī)則將RADIUS應(yīng)答報文轉(zhuǎn)發(fā)至端口號所屬的端 口塊所對應(yīng)的業(yè)務(wù)板卡。通過ACL規(guī)則控制交換芯片進(jìn)行報文轉(zhuǎn)發(fā)可以代替主控板卡進(jìn)行 報文轉(zhuǎn)發(fā),并且由于是硬件轉(zhuǎn)發(fā),可以更加高效。
[0058] 在本發(fā)明可選的實施例中,業(yè)務(wù)板卡可以對上述新RADIUS請求報文進(jìn)行備份。 進(jìn)一步的,業(yè)務(wù)板卡可以將創(chuàng)建備份列表,其中包括新RADIUS請求報文在緩存中的地址, 并以所述新RADIUS請求報文的端口號為所述緩存地址的索引,因此可以節(jié)省備份報文的 占用空間。由于每一個端口號都可以發(fā)送256個RADIUS請求報文,為了準(zhǔn)確快速的找到 RADIUS請求報文,還可以用RADIUS請求報文的ID號作為該報文緩存地址的一級索引,因此 業(yè)務(wù)板卡可以通過"端口號+ID號"的組合進(jìn)行索引,從而可以快速準(zhǔn)確地獲取備份報文。
[0059] 當(dāng)業(yè)務(wù)板卡收到交換芯片轉(zhuǎn)發(fā)的RADIUS應(yīng)答報文時,可以根據(jù)該RADIUS應(yīng)答報 文的端口號在所述備份列表中查找對應(yīng)的緩存地址,再將所述緩存地址下的新RADIUS請 求報文刪除,從而減少緩存占用。
[0060] 另外,為了進(jìn)一步提升用戶體驗,業(yè)務(wù)板卡還可以為備份列表中的新RADIUS請求 報文的緩存地址設(shè)置定時器,定時時長可視實際情況而定。若在定時器超時時仍未收到 RADIUS應(yīng)答報文,業(yè)務(wù)板卡則重發(fā)所述新RADIUS請求報文。因此可以保證用戶的請求不會 被丟失。
[0061] 為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下基于圖3的報文轉(zhuǎn)發(fā)示 意圖,對本發(fā)明所述方案作進(jìn)一步地詳細(xì)說明。
[0062] 假設(shè)BRAS上包括業(yè)務(wù)板卡1和業(yè)務(wù)板卡2,在每個業(yè)務(wù)板卡啟動后,主控板卡會為 每個業(yè)務(wù)板卡分配一個端口塊,每個端口塊中包含1024個可用端口號,由主控板卡保證分 配給每個板卡的端口號都不相同,其端口塊分配情況如表1所示。
[0063]
[0064] 表 1
[0065] 主控板卡根據(jù)上表創(chuàng)建ACL規(guī)則下發(fā)到交換芯片。
[0066] 當(dāng)業(yè)務(wù)板卡1、2分別接收RADIUS請求報文1、RADIUS請求報文2時,業(yè)務(wù)板卡 1會為RADIUS請求報文1進(jìn)行RADIUS封裝,并設(shè)置源端口號為1025,然后將封裝后的新 的RADIUS請求報文1發(fā)送到交換芯片。并且在本地保存新的RADIUS請求報文1,將新的 RADIUS請求報文1的內(nèi)存位置D1保存到備份列表1中,并以端口號1025以及該報文的ID 號作為索引,并為其設(shè)置定時器,時間為1分鐘,該備份列表1如表2所示。
[0067]
[0068] 表 2
[0069] 同理,業(yè)務(wù)板卡2會為RADIUS請求報文2進(jìn)行RADIUS封裝,并設(shè)置源端口號 為2050,然后將封裝后的新的RADIUS請求報文2發(fā)送到交換芯片。并且在本地保存新的 RADIUS請求報文2,將新的RADIUS請求報文2的內(nèi)存位置D2保存到備份列表2中,并以端 口號2050以及該報文的ID號作為索引,并為其設(shè)置定時器,時間為1分鐘,該備份列表2 如表3所示。
[0070]
[0071] 表 3
[0072] 交換芯片將上述新的RADIUS請求報文1、2轉(zhuǎn)發(fā)到RADIUS服務(wù)器。RADIUS服務(wù)器 對上述新的RADIUS請求報文1、2分別反饋RADIUS應(yīng)答報文1、2。其中RADIUS應(yīng)答報文1 的目的端口號為1025, RADIUS應(yīng)答報文2的目的端口號為2050。
[0073] 交換芯片收到RADIUS應(yīng)答報文1、2后,先獲取RADIUS應(yīng)答報文1的目的端口號 1025,然后根據(jù)主控板卡下發(fā)的ACL規(guī)則進(jìn)行匹配,由于1025屬于1024~2047的號碼段, 因此可以確定RADIUS應(yīng)答報文1屬于端口塊1,由于端口塊1對應(yīng)業(yè)務(wù)板卡1,因此交換芯 片可以將RADIUS應(yīng)答報文1發(fā)送到業(yè)務(wù)板卡1。同理,交換芯片獲取RADIUS應(yīng)答報文2的 目的端口號2050,然后根據(jù)主控板卡下發(fā)的ACL規(guī)則進(jìn)行匹配,由于2050屬于2048~3091 的號碼段,因此可以確定RADIUS應(yīng)答報文2屬于端口塊2,由于端口塊2對應(yīng)業(yè)務(wù)板卡2, 因此交換芯片可以將RADIUS應(yīng)答報文2發(fā)送到業(yè)務(wù)板卡2。
[0074] 業(yè)務(wù)板卡1收到RADIUS應(yīng)答報文1時,假設(shè)定時器未超時,則可以根據(jù)RADIUS應(yīng) 答報文1的端口號1025以及該報文的ID號在備份列表1中查找對應(yīng)的內(nèi)存地址D1,然后 將D1下的新的RADIUS請求報文1刪除。如果定時器超時時業(yè)務(wù)板卡1仍未收到RADIUS 應(yīng)答報文,那么則將新的RADIUS請求報文1重新發(fā)送到交換芯片。業(yè)務(wù)板卡2處理過程相 同,此處不做贅述。
[0075] 由此可見,本發(fā)明的提供一種報文轉(zhuǎn)發(fā)方法及裝置,可以通過統(tǒng)一管理各個業(yè)務(wù) 板卡的UDP源端口,保證各個業(yè)務(wù)板卡在發(fā)送RADIUS請求報文時攜帶的端口號不重復(fù),并 通過對交換芯片下發(fā)ACL規(guī)則控制交換芯片將RADIUS應(yīng)答報文轉(zhuǎn)發(fā)給各個業(yè)務(wù)板卡,從而 代替主控板卡實現(xiàn)報文的轉(zhuǎn)發(fā)處理,提高處理效率,提升用戶體驗。
[0076] 基于相同的構(gòu)思,本發(fā)明還提供一種報文轉(zhuǎn)發(fā)裝置,所述裝置可以通過軟件實現(xiàn), 也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,本發(fā)明的報文轉(zhuǎn)發(fā)裝置作 為一個邏輯意義上的裝置,是通過其所在插卡式設(shè)備的CPU將存儲器中對應(yīng)的計算機(jī)程序 指令讀取后運(yùn)行而成。
[0077] 請參考圖4及圖5,是本發(fā)明一種示例性實施方式中的一種報文轉(zhuǎn)發(fā)裝置500,所 述裝置應(yīng)用于插卡式設(shè)備,所述插卡式設(shè)備包括主控板卡、業(yè)務(wù)板卡、交換芯片,所述裝置 基本運(yùn)行環(huán)境包括CPU,存儲器以及其他硬件,從邏輯層面上來看,所述裝置500包括:
[0078] 報文構(gòu)建單元501,用于收到原RADIUS請求報文時,將主控板卡預(yù)先分配的端口 號添加到所述原RADIUS請求報文中構(gòu)建成新RADIUS請求報文,并將所述新RADIUS請求報 文發(fā)送到交換芯片;
[0079] 第一轉(zhuǎn)發(fā)單元502,用于將所述新RADIUS請求報文轉(zhuǎn)發(fā)到RADIUS服務(wù)器;
[0080] 第二轉(zhuǎn)發(fā)單元503,用于在收到RADIUS服務(wù)器返回的RADIUS應(yīng)答報文時,根據(jù) RADIUS應(yīng)答報文中攜帶的端口號將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā)到端口號對應(yīng)的業(yè)務(wù)板卡。
[0081] 可選的,所述裝置還包括:
[0082] 端口分配單元504,用于預(yù)先為業(yè)務(wù)板卡分配對應(yīng)的端口塊,所述端口塊中包括多 個端口號;
[0083] 規(guī)則創(chuàng)建單元505,用于根據(jù)所述端口塊創(chuàng)建ACL規(guī)則并下發(fā)至交換芯片;
[0084] 所述第二轉(zhuǎn)發(fā)單元503,具體用于根據(jù)所述ACL規(guī)則將屬于所述端口塊的端口號 所對應(yīng)的RADIUS應(yīng)答報文轉(zhuǎn)發(fā)至所述端口塊對應(yīng)的業(yè)務(wù)板卡。
[0085] 可選的,所述裝置還包括:
[0086] 報文備份單元506,用于對所述新RADIUS請求報文進(jìn)行備份。
[0087] 可選的,所述報文備份單元506,具體用于業(yè)務(wù)板卡將所述新RADIUS請求報文的 緩存地址添加到備份列表中,并以所述新RADIUS請求報文的端口號為所述緩存地址的索 引;
[0088] 所述裝置還包括:
[0089] 報文刪除單元507,用于在收到RADIUS應(yīng)答報文時,根據(jù)該RADIUS應(yīng)答報文的端 口號在所述備份列表中查找對應(yīng)的緩存地址;再將所述緩存地址對應(yīng)所述新RADIUS請求 報文刪除。
[0090] 可選的,所述報文備份單元507,還用于將所述新RADIUS請求報文的緩存地址添 加到備份列表中,并為其設(shè)置定時器;
[0091] 所述裝置還包括:
[0092] 所述報文重發(fā)單元508,用于在定時器超時時仍未收到RADIUS應(yīng)答報文時,重發(fā) 所述新RADIUS請求報文。
[0093] 綜上所述,本發(fā)明提供的一種報文轉(zhuǎn)發(fā)方法及裝置,可以通過統(tǒng)一管理各個業(yè)務(wù) 板卡的UDP源端口,保證各個業(yè)務(wù)板卡在發(fā)送RADIUS請求報文時攜帶的端口號不重復(fù),并 通過對交換芯片下發(fā)ACL規(guī)則控制交換芯片將RADIUS應(yīng)答報文轉(zhuǎn)發(fā)給各個業(yè)務(wù)板卡,從而 代替主控板卡實現(xiàn)報文的轉(zhuǎn)發(fā)處理,提高處理效率,提升用戶體驗。
[0094] 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【主權(quán)項】
1. 一種報文轉(zhuǎn)發(fā)方法,其特征在于,所述方法應(yīng)用于插卡式設(shè)備,所述插卡式設(shè)備包括 主控板卡、業(yè)務(wù)板卡、交換芯片,所述方法包括: 業(yè)務(wù)板卡收到原遠(yuǎn)程用戶撥號認(rèn)證系統(tǒng)RADIUS請求報文時,將主控板卡預(yù)先分配的 端口號添加到所述原RADIUS請求報文中構(gòu)建成新RADIUS請求報文,并將所述新RADIUS請 求報文發(fā)送到交換芯片; 交換芯片將所述新RADIUS請求報文轉(zhuǎn)發(fā)到RADIUS服務(wù)器; 當(dāng)交換芯片收到RADIUS服務(wù)器返回的RADIUS應(yīng)答報文時,根據(jù)RADIUS應(yīng)答報文中攜 帶的端口號將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā)到端口號對應(yīng)的業(yè)務(wù)板卡。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 主控板卡預(yù)先為業(yè)務(wù)板卡分配對應(yīng)的端口塊,所述端口塊中包括多個端口號; 主控板卡根據(jù)所述端口塊創(chuàng)建訪問控制列表ACL規(guī)則并下發(fā)至交換芯片; 所述交換芯片根據(jù)RADIUS應(yīng)答報文中攜帶的端口號將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā)到端 口號對應(yīng)的業(yè)務(wù)板卡,包括: 所述交換芯片根據(jù)所述ACL規(guī)則將屬于所述端口塊的端口號所對應(yīng)的RADIUS應(yīng)答報 文轉(zhuǎn)發(fā)至所述端口塊對應(yīng)的業(yè)務(wù)板卡。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 業(yè)務(wù)板卡對所述新RADIUS請求報文進(jìn)行備份。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述業(yè)務(wù)板卡對所述新RADIUS請求報文 進(jìn)行備份,包括: 業(yè)務(wù)板卡將所述新RADIUS請求報文的緩存地址添加到備份列表中,并以所述新 RADIUS請求報文的端口號為所述緩存地址的索引; 所述方法還包括: 當(dāng)業(yè)務(wù)板卡收到RADIUS應(yīng)答報文時,根據(jù)該RADIUS應(yīng)答報文的端口號在所述備份列 表中查找對應(yīng)的緩存地址;再將所述緩存地址對應(yīng)所述新RADIUS請求報文刪除。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述業(yè)務(wù)板卡將所述新RADIUS請求報文 的緩存地址添加到備份列表中,還包括: 業(yè)務(wù)板卡將所述新RADIUS請求報文的緩存地址添加到備份列表中,并為其設(shè)置定時 器; 若在定時器超時時仍未收到RADIUS應(yīng)答報文,業(yè)務(wù)板卡則重發(fā)所述新RADIUS請求報 文。6. -種報文轉(zhuǎn)發(fā)裝置,其特征在于,所述裝置應(yīng)用于插卡式設(shè)備,所述插卡式設(shè)備包括 主控板卡、業(yè)務(wù)板卡、交換芯片,所述裝置包括: 報文構(gòu)建單元,用于收到原RADIUS請求報文時,將主控板卡預(yù)先分配的端口號添加到 所述原RADIUS請求報文中構(gòu)建成新RADIUS請求報文,并將所述新RADIUS請求報文發(fā)送到 交換芯片; 第一轉(zhuǎn)發(fā)單元,用于將所述新RADIUS請求報文轉(zhuǎn)發(fā)到RADIUS服務(wù)器; 第二轉(zhuǎn)發(fā)單元,用于在收到RADIUS服務(wù)器返回的RADIUS應(yīng)答報文時,根據(jù)RADIUS應(yīng) 答報文中攜帶的端口號將所述RADIUS應(yīng)答報文轉(zhuǎn)發(fā)到端口號對應(yīng)的業(yè)務(wù)板卡。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 端口分配單元,用于預(yù)先為業(yè)務(wù)板卡分配對應(yīng)的端口塊,所述端口塊中包括多個端口 號; 規(guī)則創(chuàng)建單元,用于根據(jù)所述端口塊創(chuàng)建ACL規(guī)則并下發(fā)至交換芯片; 所述第二轉(zhuǎn)發(fā)單元,具體用于根據(jù)所述ACL規(guī)則將屬于所述端口塊的端口號所對應(yīng)的 RADIUS應(yīng)答報文轉(zhuǎn)發(fā)至所述端口塊對應(yīng)的業(yè)務(wù)板卡。8. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 報文備份單元,用于對所述新RADIUS請求報文進(jìn)行備份。9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述報文備份單元,具體用于業(yè)務(wù)板卡將所述新RADIUS請求報文的緩存地址添加到 備份列表中,并以所述新RADIUS請求報文的端口號為所述緩存地址的索引; 所述裝置還包括: 報文刪除單元,用于在收到RADIUS應(yīng)答報文時,根據(jù)該RADIUS應(yīng)答報文的端口號在所 述備份列表中查找對應(yīng)的緩存地址;再將所述緩存地址對應(yīng)所述新RADIUS請求報文刪除。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于, 所述報文備份單元,還用于將所述新RADIUS請求報文的緩存地址添加到備份列表中, 并為其設(shè)置定時器; 所述裝置還包括: 所述報文重發(fā)單元,用于在定時器超時時仍未收到RADIUS應(yīng)答報文時,重發(fā)所述新 RADIUS請求報文。
【文檔編號】H04L12/931GK105991481SQ201510258028
【公開日】2016年10月5日
【申請日】2015年5月19日
【發(fā)明人】張岳
【申請人】杭州迪普科技有限公司