多核通信設備及其與radius服務器間報文交互方法
【技術領域】
[0001]本發明涉及數據通信技術,特別涉及多核通信設備技術。
【背景技術】
[0002]當通信設備為多核架構時,為提升設備性能,充分利用多核處理器計算能力,每個核都是單獨運行的,對于多核通信設備來說,其可分為管理核、運行核及轉發核三大塊,其中,管理核負責進行配置管理,運行核負責相關數據的處理,而轉發核負責報文的收發,而多核通信設備中,運行核一般都為多個,當設備與RADIU服務器通信時,報文是從設備上的一個運行核進行組裝,再發給RADIUS服務器,但需要保證RADIUS服務器的響應報文也到此運行核上操作,否則,由于不同核上數據不一致,會導致通信出錯,因此在多核通信設備與RADIUS服務器交互時,就需要保證發出去的RADIUS報文與其對應的響應報文都由相同的運行核來處理,從而保證正常通信,這是一個需要解決的問題。
【發明內容】
[0003]本發明的目的就是克服目前在多核通信設備與RADIUS服務器間報文不一定能夠正確交互的缺點,提供一種多核通信設備及其與RADIUS服務器間報文交互方法。
[0004]本發明解決其技術問題,采用的技術方案是,多核通信設備,包括轉發核及多個運行核,所述每一個運行核都具有與其對應的唯一核號,其特征在于,
[0005]所述運行核,在組裝RADIUS請求報文時,將該運行核的核號修改進該報文的報文頭中標志報文序號的字段中,再將該RADIUS請求報文發送給轉發核;
[0006]所述轉發核,用于轉發運行核發送來的RADIUS請求報文,且接收對應的響應報文,并提取該響應報文的報文頭中標志報文序號的字段,從中獲取相應運行核的核號,將該響應報文轉發給該核號對應的運行核。
[0007]具體的,所述報文頭中標志報文序號的字段為報文標識packet identifier字段。
[0008]進一步的,所述將該運行核的核號修改進該報文的報文頭中標志報文序號的字段中的方法為:將該報文的報文頭中標志報文序號的字段中預先定義的最后η位替換為該運行核的核號,η為正整數。
[0009]具體的,所述預先定義的最后η位根據運行核的數量進行預先定義。
[0010]再進一步的,所述轉發核獲取相應運行核的核號的方法為:轉發核從提取該響應報文的報文頭中標志報文序號的字段中,獲取其中預先定義的最后η位,得到相應運行核的核號。
[0011]多核通信設備與RADIUS服務器間報文交互方法,其特征在于,包括以下步驟:
[0012]步驟1、多核通信設備的各運行核分別組裝RADIUS請求報文,各運行核分別將其自身的核號修改進其各自所組裝的RADIUS請求報文的報文頭中標志報文序號的字段中;
[0013]步驟2、各運行核將組裝好的RADIUS請求報文發送給轉發核;
[0014]步驟3、轉發核接收并向RADIUS服務器轉發各運行核發送來的RADIUS請求報文;
[0015]步驟4、RADIUS服務器根據接收到的RADIUS請求報文,回復相應的響應報文給多核通信設備;
[0016]步驟5、轉發核接收到響應報文,提取該響應報文的報文頭中標志報文序號的字段,從中獲取相應運行核的核號,將該響應報文轉發給該核號對應的運行核。
[0017]具體的,步驟I中,所述各運行核分別將其自身的核號修改進其各自所組裝的RADIUS請求報文的報文頭中標志報文序號的字段中的方法為:各運行核分別將其各自所組裝的RADIUS請求報文的報文頭中標志報文序號的字段中預先定義的最后η位替換為其自身的核號,η為正整數。
[0018]進一步的,所述預先定義的最后η位根據運行核的數量進行預先定義。
[0019]具體的,步驟5中,所述轉發核獲取相應運行核的核號的方法為:轉發核從提取該響應報文的報文頭中標志報文序號的字段中,獲取其中預先定義的最后η位,得到相應運行核的核號。
[0020]再進一步的,步驟4包括以下具體步驟:
[0021]步驟41、RADIUS服務器接收到RADIUS請求報文,提取該RADIUS請求報文的報文頭中標志報文序號的字段,將其填充進相應的響應報文中;
[0022]步驟42、RADIUS服務器將得到的響應報文發送給多核通信設備。
[0023]本發明的有益效果是,通過上述多核通信設備及其與RADIUS服務器間報文交互方法,能夠保證轉發核在轉發響應報文時都發送給正確的運行核,保證正常通信。
【附圖說明】
[0024]圖1是本發明多核通信設備與RADIUS服務器組成的通信系統的系統框圖。
【具體實施方式】
[0025]下面結合實施例及附圖,詳細描述本發明的技術方案。
[0026]本發明的多核通信設備包括轉發核及多個運行核,每一個運行核都具有與其對應的唯一核號,其中,運行核在組裝RADIUS請求報文時,將該運行核的核號修改進該報文的報文頭中標志報文序號的字段中,再將該RADIUS請求報文發送給轉發核;轉發核用于轉發運行核發送來的RADIUS請求報文,且接收對應的響應報文,并提取該響應報文的報文頭中標志報文序號的字段,從中獲取相應運行核的核號,將該響應報文轉發給該核號對應的運行核。
[0027]本發明多核通信設備與RADIUS服務器間報文交互方法中,首先多核通信設備的各運行核分別組裝RADIUS請求報文,各運行核分別將其自身的核號修改進其各自所組裝的RADIUS請求報文的報文頭中標志報文序號的字段中,各運行核再將組裝好的RADIUS請求報文發送給轉發核,轉發核則接收并向RADIUS服務器轉發各運行核發送來的RADIUS請求報文,RADIUS服務器再根據接收到的RADIUS請求報文,回復相應的響應報文給多核通信設備,當轉發核接收到響應報文時,提取該響應報文的報文頭中標志報文序號的字段,從中獲取相應運行核的核號,將該響應報文轉發給該核號對應的運行核。
[0028]實施例
[0029]本發明實施例中多核通信設備,其與現有技術中不同的地方在于:轉發核及其所具有的多個運行核,每一個運行核都具有與其對應的唯一核號,其中,運行核在組裝RADIUS請求報文時,將該運行核的核號修改進該報文的報文頭中標志報文序號的字段中,該字段即為packet identifier字段,具體的方法可以為:將該報文的報文頭中標志報文序號的字段中預先定義的最后η位(bit)替換為該運行核的核號,η為正整數,該η位(bit)可以根據運行核的數量進行預先定義,再將該RADIUS請求報文發送給轉發核;轉發核用于轉發運行核發送來的RADIUS請求報文,且接收對應的響應報文,并提取該響應報文的報文頭中標志報文序號的字段,從中獲取相應運行核的核號,具體可以為:轉發核從提取該響應報文的