一種capwap數(shù)據(jù)的處理方法和裝置制造方法
【專利摘要】本發(fā)明提供一種CAPWAP數(shù)據(jù)的處理方法和裝置,用以解決現(xiàn)有技術(shù)存在的在應(yīng)用層實現(xiàn)CAPWAP協(xié)議的方式,使得吞吐量降低,CPU占用率提高的問題。本發(fā)明實施例的方法包括:當(dāng)上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動時,將其進(jìn)行CAPWAP封裝,形成CAPWAP包;根據(jù)IP地址,將包通過路由發(fā)送給對應(yīng)的AC;下行數(shù)據(jù)進(jìn)入內(nèi)核協(xié)議棧后,IP頭中的UDP協(xié)議被修改為CAPWAP協(xié)議,進(jìn)入TCP層進(jìn)行解包得到下行數(shù)據(jù),通過虛擬驅(qū)動發(fā)送。由于本發(fā)明實施例在虛擬驅(qū)動中實現(xiàn)CAPWAP封裝,在內(nèi)核協(xié)議棧的TCP層實現(xiàn)CAPWAP解包,并且虛擬驅(qū)動能夠復(fù)用內(nèi)核協(xié)議棧的IP層的分包和組包功能,從而降低了CPU的占用率,提高了吞吐量。
【專利說明】_種CAPWAP數(shù)據(jù)的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無線通信【技術(shù)領(lǐng)域】,特別涉及一種CAPWAP數(shù)據(jù)的處理方法和裝置。
【背景技術(shù)】
[0002] CAPWAP (Control And Provisioning of Wireless Access Points Protocol Specification,無線接入點的控制和規(guī)范)協(xié)議是一個通用的隧道協(xié)議,該協(xié)議實現(xiàn) AC(Access Controller,接入控制器)對AP(Access Point,接入點)進(jìn)行管理、配置以及業(yè) 務(wù)數(shù)據(jù)管理等基本協(xié)議功能。在WLAN(Wireless Local Area Networks,無線局域網(wǎng))的網(wǎng) 絡(luò)內(nèi),AP的數(shù)據(jù)非常龐大,AC對AP的集中管理顯得尤為重要,各大廠家都生產(chǎn)了能進(jìn)行集 中管理的AC和AP (瘦AP),實現(xiàn)了各自的CAPWAP協(xié)議封裝功能,以及在該協(xié)議封裝上的附 加功能。因而,CAPWAP協(xié)議實現(xiàn)的解耦、可重用性及其效率極其重要。
[0003] 現(xiàn)有技術(shù)中常用的CAPWAP實現(xiàn)方式通常都是在應(yīng)用層實現(xiàn)的,在具體的實現(xiàn)過 程中需要進(jìn)行數(shù)據(jù)在內(nèi)核和應(yīng)用層之間的拷貝。從效率上看,目前的這種CAPWAP實現(xiàn)方 式,使得吞吐量比原吞吐量大大的降低了,同時CPU(Central Processing Unit,中央處理 器)的占用率大大的提高了。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明提供一種CAPWAP數(shù)據(jù)的處理方法和裝置,用以解決現(xiàn)有技術(shù)中存在的在 應(yīng)用層實現(xiàn)CAPWAP協(xié)議的方式,使得吞吐量降低,CPU占用率提高的問題。
[0005] 本發(fā)明實施例提供一種CAPWAP上行數(shù)據(jù)的處理方法,包括:
[0006] 當(dāng)上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動時,將所述上行數(shù)據(jù)進(jìn)行CAPWAP封裝,形成CAPWAP包;
[0007] 根據(jù)IP(Internet Protocol,網(wǎng)絡(luò)之間互聯(lián)的協(xié)議)地址,通過路由向接入控制 器AC發(fā)送所述CAPWAP包。
[0008] 由于本發(fā)明實施例的CAPWAP封裝是在虛擬驅(qū)動實現(xiàn)的,避免了在封裝過程中,數(shù) 據(jù)在內(nèi)核和應(yīng)用層中的拷貝,增進(jìn)了 CAPWAP隧道封裝的效率,進(jìn)而降低了 CPU的占用率;虛 擬驅(qū)動能夠復(fù)用內(nèi)核協(xié)議棧的IP層的分包功能,對CAPWAP包進(jìn)行分包處理,從而增加了分 包的靈活性,避免了在驅(qū)動再進(jìn)行低效和重復(fù)的分包,增大了吞吐量。
[0009] 較佳地,在上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動之前,還包括:
[0010] 若所述上行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),在通過數(shù)據(jù)驅(qū)動接收到所述業(yè)務(wù)數(shù)據(jù)后,若所述業(yè) 務(wù)數(shù)據(jù)的MAC(MediaAccessControl,介質(zhì)訪問控制)地址不是本地MAC地址,貝丨」通過網(wǎng)橋 轉(zhuǎn)發(fā)給虛擬驅(qū)動。
[0011] 較佳地,在上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動之前,還包括:
[0012] 若所述上行數(shù)據(jù)為管理數(shù)據(jù),則將所述管理數(shù)據(jù)通過應(yīng)用層發(fā)送給虛擬驅(qū)動。
[0013] 由于本發(fā)明實施例在功能上實現(xiàn)了解耦合,因而能同時實現(xiàn)對業(yè)務(wù)數(shù)據(jù)和管理數(shù) 據(jù)進(jìn)行CAPWAP封裝。
[0014] 較佳地,根據(jù)IP地址,通過路由向AC發(fā)送所述CAPWAP包,具體包括:
[0015] 根據(jù)IP地址,通過所述AP的上聯(lián)口將所述CAPWAP包通過路由發(fā)送給對應(yīng)的AC。
[0016] 較佳地,所述上聯(lián)口是有線口或無線口。
[0017] 由于本發(fā)明實施例運(yùn)用了復(fù)用技術(shù),實現(xiàn)了 AP的上聯(lián)口可以是有線口,也可以是 無線口。
[0018] 本發(fā)明實施例提供一種CAPWAP下行數(shù)據(jù)的處理方法,包括:
[0019] 通過數(shù)據(jù)驅(qū)動接收CAPWAP包,其中所述CAPWAP包是由AC將接收到的下行數(shù)據(jù)進(jìn) 行CAPWAP封裝形成的;
[0020] 若所述CAPWAP包是需要處理的CAPWAP包,將所述CAPWAP包的IP頭中的UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)協(xié)議修改為CAPWAP協(xié)議;
[0021] 對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù);
[0022] 通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù)。
[0023] 本發(fā)明實施例的CAPWAP解包是在TCP層實現(xiàn)的,避免了在封裝過程中,數(shù)據(jù)在內(nèi) 核和應(yīng)用層中的拷貝,增進(jìn)了 CAPWAP隧道解包的效率,進(jìn)而降低了 CPU的占用率;虛擬驅(qū)動 能夠復(fù)用內(nèi)核協(xié)議棧的IP層的組包功能,對CAPWAP包進(jìn)行高效的組包處理,進(jìn)而增大了吞 吐量。
[0024] 較佳地,對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù),包括:
[0025] 通過內(nèi)核協(xié)議棧的傳輸控制協(xié)議TCP層對所述修改后的CAPWAP包進(jìn)行解包操作 得到下行數(shù)據(jù);
[0026] 對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù)之后,包括:
[0027] 將所述下行數(shù)據(jù)發(fā)送給虛擬驅(qū)動。
[0028] 較佳地,通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù),包括:
[0029] 若所述下行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),將所述下行數(shù)據(jù)通過虛擬驅(qū)動發(fā)送給網(wǎng)橋,并通過 網(wǎng)橋發(fā)送給數(shù)據(jù)驅(qū)動;或
[0030] 若所述下行數(shù)據(jù)為管理數(shù)據(jù),且所述管理數(shù)據(jù)的IP地址是本地IP地址,將所述管 理數(shù)據(jù)通過虛擬驅(qū)動發(fā)送給應(yīng)用層,并通過所述應(yīng)用層對管理數(shù)據(jù)進(jìn)行處理。
[0031] 由于本發(fā)明實施例在功能上實現(xiàn)了解耦合,因而能同時實現(xiàn)對業(yè)務(wù)數(shù)據(jù)和管理數(shù) 據(jù)進(jìn)行CAPWAP解包。
[0032] 較佳地,通過數(shù)據(jù)驅(qū)動接收CAPWAP包,具體包括:
[0033] 通過所述AP的上聯(lián)口接收所述下行數(shù)據(jù)。
[0034] 較佳地,所述上聯(lián)口是有線口或無線口。
[0035] 由于本發(fā)明實施例運(yùn)用了復(fù)用技術(shù),實現(xiàn)了 AP的上聯(lián)口可以是有線口,也可以是 無線口。
[0036] 本發(fā)明實施例提供一種CAPWAP上行數(shù)據(jù)的處理裝置,包括:
[0037] 封裝單元,用于當(dāng)上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動時,將所述上行數(shù)據(jù)進(jìn)行CAPWAP封裝, 形成CAPWAP包;
[0038] 發(fā)送單元,用于根據(jù)IP地址,通過路由向AC發(fā)送所述CAPWAP包。
[0039] 較佳地,所述封裝單元還用于:
[0040] 若所述上行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),在通過數(shù)據(jù)驅(qū)動接收到所述業(yè)務(wù)數(shù)據(jù)后,若所述業(yè) 務(wù)數(shù)據(jù)的目的MAC地址不是本地MAC地址,則通過網(wǎng)橋轉(zhuǎn)發(fā)給虛擬驅(qū)動。
[0041] 較佳地,所述封裝單元還用于:
[0042] 若所述上行數(shù)據(jù)為管理數(shù)據(jù),則將所述管理數(shù)據(jù)通過應(yīng)用層發(fā)送給虛擬驅(qū)動。
[0043] 較佳地,所述發(fā)送單元具體用于:
[0044] 根據(jù)IP地址,通過所述AP的上聯(lián)口將所述CAPWAP包通過路由發(fā)送給對應(yīng)的AC。
[0045] 較佳地,所述上聯(lián)口是有線口或無線口。
[0046] 本發(fā)明實施例提供一種CAPWAP下行數(shù)據(jù)的處理裝置,包括
[0047] 接收單元,用于通過數(shù)據(jù)驅(qū)動接收CAPWAP包,其中所述CAPWAP包是由AC將接收 到的下行數(shù)據(jù)進(jìn)行CAPWAP封裝形成的;
[0048] 協(xié)議修改單元,用于若所述CAPWAP包是需要處理的CAPWAP包,將所述CAPWAP包 的IP頭中的m)P協(xié)議修改為CAPWAP協(xié)議;
[0049] 解包單元,用于對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù);
[0050] 發(fā)送單元,用于通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù)。
[0051] 較佳地,所述解包單元具體用于:
[0052] 通過內(nèi)核協(xié)議棧的傳輸控制協(xié)議TCP層對所述修改后的CAPWAP包進(jìn)行解包操作 得到下行數(shù)據(jù);
[0053] 對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù)之后,包括:
[0054] 將所述下行數(shù)據(jù)發(fā)送給虛擬驅(qū)動。
[0055] 較佳地,所述發(fā)送單元具體用于:
[0056] 若所述下行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),將所述下行數(shù)據(jù)通過虛擬驅(qū)動發(fā)送給網(wǎng)橋,并通過 網(wǎng)橋發(fā)送給數(shù)據(jù)驅(qū)動;或
[0057] 若所述下行數(shù)據(jù)為管理數(shù)據(jù),且所述管理數(shù)據(jù)的IP地址是本地IP地址,將所述管 理數(shù)據(jù)通過虛擬驅(qū)動發(fā)送給應(yīng)用層,并通過所述應(yīng)用層對管理數(shù)據(jù)進(jìn)行處理。
[0058] 較佳地,所述接收單元具體用于:
[0059] 通過所述AP的上聯(lián)口接收所述下行數(shù)據(jù)。
[0060] 較佳地,所述上聯(lián)口是有線口或無線口。
[0061] 本發(fā)明實施例在虛擬驅(qū)動中實現(xiàn)CAPWAP封裝,在內(nèi)核協(xié)議棧的TCP層實現(xiàn)了 CAPWAP解包,并且虛擬驅(qū)動能夠復(fù)用內(nèi)核協(xié)議棧的IP層的分包和組包功能,從而降低了 CPU的占用率,提高了吞吐量;在功能上實現(xiàn)了解耦合,因而能同時實現(xiàn)對業(yè)務(wù)數(shù)據(jù)和管理 數(shù)據(jù)進(jìn)行CAPWAP封裝、CAPWAP解包;通過復(fù)用技術(shù),使得AP的上聯(lián)口可以是有線口也可以 是無線口。
【專利附圖】
【附圖說明】
[0062] 圖la為本發(fā)明實施例一 CAPWAP上行數(shù)據(jù)的處理方法流程示意圖;
[0063] 圖lb為本發(fā)明實施例二上行業(yè)務(wù)數(shù)據(jù)的處理方法流程示意圖;
[0064] 圖lc為本發(fā)明實施例三上行管理數(shù)據(jù)的處理方法流程示意圖;
[0065] 圖Id為本發(fā)明實施例四一般瘦接入點框架組網(wǎng)示意圖;
[0066] 圖le為本發(fā)明實施例五fit-repeater (瘦中繼)模式形成的瘦接入點框架組網(wǎng) 示意圖;
[0067] 圖2a為本發(fā)明實施例六CAPWAP下行數(shù)據(jù)的處理方法流程示意圖;
[0068] 圖2b為本發(fā)明實施例七下行業(yè)務(wù)數(shù)據(jù)的處理方法流程示意圖;
[0069] 圖2c為本發(fā)明實施例八下行管理數(shù)據(jù)的處理方法流程示意圖;
[0070] 圖3為本發(fā)明實施例九CAPWAP上行數(shù)據(jù)的處理裝置流程示意圖;
[0071] 圖4為本發(fā)明實施例十CAPWAP下行數(shù)據(jù)的處理裝置流程示意圖。
【具體實施方式】
[0072] 本發(fā)明實施例在對上行數(shù)據(jù)進(jìn)行CAPWAP處理時,當(dāng)上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動時, 將所述上行數(shù)據(jù)進(jìn)行CAPWAP封裝,形成CAPWAP包;根據(jù)IP地址,通過路由向AC發(fā)送所 述CAPWAP包;在對下行數(shù)據(jù)進(jìn)行CAPWAP處理時,通過數(shù)據(jù)驅(qū)動接收CAPWAP包,其中所述 CAPWAP包是由AC將接收到的下行數(shù)據(jù)進(jìn)行CAPWAP封裝形成的;若所述CAPWAP包是需要 處理的CAPWAP包,將所述CAPWAP包的IP頭中的UDP協(xié)議修改為CAPWAP協(xié)議;對修改協(xié)議 后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù);通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù)。由于本 發(fā)明實施例在虛擬驅(qū)動中實現(xiàn)CAPWAP封裝,在內(nèi)核協(xié)議棧的TCP層實現(xiàn)了 CAPWAP解包,并 且虛擬驅(qū)動能夠復(fù)用內(nèi)核協(xié)議棧的IP層的分包和組包功能,從而降低了 CPU的占用率,提 尚了吞吐量。
[0073] 下面結(jié)合說明書附圖對本發(fā)明實施例作進(jìn)一步詳細(xì)描述。
[0074] 如圖la所示,本發(fā)明實施例一 CAPWAP上行數(shù)據(jù)的處理方法包括:
[0075] 步驟100,當(dāng)上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動時,將所述上行數(shù)據(jù)進(jìn)行CAPWAP封裝,形成 CAPWAP 包;
[0076] 步驟101,根據(jù)IP地址,通過路由向AC發(fā)送所述CAPWAP包。
[0077] 本發(fā)明實施例中CAPWAP包根據(jù)IP地址進(jìn)行路由選擇,該IP地址存放在進(jìn)行 CAPWAP封裝前的上行數(shù)據(jù)中。
[0078] 其中,本發(fā)明實施例實現(xiàn)了對上行業(yè)務(wù)數(shù)據(jù)和上行管理數(shù)據(jù)的CAPWAP處理方式。 下面對上行業(yè)務(wù)數(shù)據(jù)和上行管理數(shù)據(jù)分別進(jìn)行說明。
[0079] 上行業(yè)務(wù)數(shù)據(jù)處理方式:
[0080] 較佳地,在上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動之前,還包括:
[0081] 若所述上行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),在通過數(shù)據(jù)驅(qū)動接收到所述業(yè)務(wù)數(shù)據(jù)后,若所述業(yè) 務(wù)數(shù)據(jù)的MAC地址不是本地MAC地址,則通過網(wǎng)橋轉(zhuǎn)發(fā)給虛擬驅(qū)動。
[0082] 例如:在一般瘦接入點框架組網(wǎng)方式下,用戶產(chǎn)生一個業(yè)務(wù)數(shù)據(jù),該業(yè)務(wù)數(shù)據(jù)通過 數(shù)據(jù)驅(qū)動1的athO驅(qū)動口進(jìn)入AP,由于業(yè)務(wù)數(shù)據(jù)中MAC地址不是本機(jī)MAC,因此將此業(yè)務(wù) 數(shù)據(jù)通過網(wǎng)橋轉(zhuǎn)發(fā)給虛擬驅(qū)動,虛擬驅(qū)動通過capO虛擬網(wǎng)口接收上述業(yè)務(wù)數(shù)據(jù),并對其進(jìn) 行CAPWAP封裝,封裝后形成的CAPWAP包根據(jù)IP地址進(jìn)行路由選擇,由于隧道外的IP為AC 的IP,所以CAPWAP包順利的通過數(shù)據(jù)驅(qū)動2的ethO驅(qū)動口進(jìn)入AC。具體的上行業(yè)務(wù)數(shù)據(jù) 的處理方法的步驟可以參見圖lb。
[0083] 如圖lb所示,本發(fā)明實施例二上行業(yè)務(wù)數(shù)據(jù)的處理方法包括:
[0084] 步驟200,用戶產(chǎn)生業(yè)務(wù)數(shù)據(jù)。
[0085] 步驟201,業(yè)務(wù)數(shù)據(jù)從數(shù)據(jù)驅(qū)動1進(jìn)入AP。
[0086] 步驟202,判斷業(yè)務(wù)數(shù)據(jù)的MAC地址是否為本機(jī)MAC,若否,則執(zhí)行步驟203 ;否則, 執(zhí)行步驟206。
[0087] 步驟203,將業(yè)務(wù)數(shù)據(jù)通過網(wǎng)橋轉(zhuǎn)發(fā)給虛擬驅(qū)動。
[0088] 步驟204,虛擬驅(qū)動對業(yè)務(wù)數(shù)據(jù)進(jìn)行CAPWAP封裝。
[0089] 步驟205,CAPWAP包根據(jù)IP地址進(jìn)行路由選擇,通過數(shù)據(jù)驅(qū)動1發(fā)送給AC。
[0090] 步驟206,將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)交給內(nèi)核協(xié)議棧。
[0091] 本發(fā)明實施例中數(shù)據(jù)驅(qū)動1的驅(qū)動口可以是無線口,也可以是有線口。
[0092] 上行管理數(shù)據(jù)處理方式:
[0093] 較佳地,在上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動之前,還包括:
[0094] 若所述上行數(shù)據(jù)為管理數(shù)據(jù),則將所述管理數(shù)據(jù)通過應(yīng)用層發(fā)送給虛擬驅(qū)動。
[0095] 由于本發(fā)明實施例在功能上實現(xiàn)了解耦合,因而虛擬驅(qū)動能夠?qū)P應(yīng)用層下發(fā) 的管理數(shù)據(jù)進(jìn)行封裝。具體的:數(shù)據(jù)驅(qū)動實現(xiàn)數(shù)據(jù)的傳輸功能,虛擬驅(qū)動實現(xiàn)對CAPWAP數(shù) 據(jù)的封裝和中轉(zhuǎn)的功能,在內(nèi)核協(xié)議棧的IP層實現(xiàn)對不同的分組包的進(jìn)行處理的功能,在 TCP層實現(xiàn)對CAPWAP包的解包并轉(zhuǎn)發(fā)給虛擬驅(qū)動的功能,上述每個模塊的功能較為單一, 此為在功能上實現(xiàn)了解耦合。
[0096] 例如:在一般瘦接入點框架組網(wǎng)方式下,AP產(chǎn)生一個管理數(shù)據(jù),該管理數(shù)據(jù)從應(yīng) 用層向下發(fā)送,虛擬驅(qū)動通過capO虛擬網(wǎng)口接收上述管理數(shù)據(jù),并對其進(jìn)行CAPWAP封裝, 封裝后形成的CAPWAP包根據(jù)IP地址進(jìn)行路由選擇,由于隧道外的IP為AC的IP,所以 CAPWAP包順利的通過數(shù)據(jù)驅(qū)動2的ethO驅(qū)動口進(jìn)入AC。具體的上行管理數(shù)據(jù)的處理方法 的步驟可以參見圖lc。
[0097] 如圖lc所示,本發(fā)明實施例三上行管理數(shù)據(jù)的處理方法包括:
[0098] 步驟300,管理數(shù)據(jù)從AP的應(yīng)用層向下發(fā)送給虛擬驅(qū)動。
[0099]步驟301,虛擬驅(qū)動對管理數(shù)據(jù)進(jìn)行CAPWAP封裝。
[0100] 步驟302,CAPWAP包根據(jù)IP地址進(jìn)行路由選擇,通過數(shù)據(jù)驅(qū)動1發(fā)送給AC。
[0101] 本發(fā)明實施例中數(shù)據(jù)驅(qū)動1的驅(qū)動口可以是無線口,也可以是有線口。
[0102] 需要說明的是,上述兩種上行數(shù)據(jù)在進(jìn)行處理的過程中,雖然以athO、ethO為例, 但是本發(fā)明實施例并未規(guī)定上行數(shù)據(jù)必須從哪個驅(qū)動口進(jìn)入和進(jìn)出,數(shù)據(jù)驅(qū)動的其它驅(qū)動 口也同樣適用于本發(fā)明實施例。
[0103] 較佳地,在步驟101中,根據(jù)IP地址,通過所述AP的上聯(lián)口將所述CAPWAP包通過 路由發(fā)送給對應(yīng)的AC。
[0104] 較佳地,所述上聯(lián)口是有線口或無線口。
[0105] 本發(fā)明實施例AP的上聯(lián)口為有線口具體可以參見圖ld,其中圖Id為本發(fā)明實 施例二一般瘦接入點框架組網(wǎng)示意圖,從圖Id中可知,接入控制器與多個無線接入點設(shè) 備相連,包括無線接入點設(shè)備1、無線接入點設(shè)備2……無線接入點設(shè)備n(n為大于2的正 整數(shù)),無線接入點設(shè)備1至無線接入點設(shè)備n通過無線的方式與站點11、站點12、站點 21……站點nl (n為大于2的正整數(shù))。由圖Id可知上行數(shù)據(jù)在無線接入點設(shè)備1中進(jìn)行 CAPWAP封裝后,通過隧道發(fā)送給AC,AC通過與之相連的有線口接收封裝后的上行數(shù)據(jù);AP 的上聯(lián)口為無線口具體可以參見圖le,其中圖le為本發(fā)明實施例三fit-repeater模式形 成的瘦接入點框架組網(wǎng)示意圖,從圖le中可知,接入控制器與多個無線接入點設(shè)備相連, 包括無線接入點設(shè)備1、無線接入點設(shè)備2、無線接入點設(shè)備3和無線接入點設(shè)備4,無線 接入點設(shè)備1通過無線的方式與無線接入點設(shè)備11、無線接入點設(shè)備12、站點11相連,無 線接入點設(shè)備11通過無線的方式與站點111,無線接入點設(shè)備11通過有線的方式與站點 112,無線接入點設(shè)備2通過無線的方式與站點21,無線接入點設(shè)備3通過無線的方式與站 點31,無線接入點設(shè)備4通過無線的方式與站點41。由圖le可知上行數(shù)據(jù)在無線接入點 設(shè)備11中進(jìn)行CAPWAP封裝后,通過隧道發(fā)送給AC,AC通過與之相連的無線口接收封裝后 的上行數(shù)據(jù)。
[0106] 如圖2a所示,本發(fā)明實施例六CAPWAP下行數(shù)據(jù)的處理方法包括:
[0107] 步驟400,通過數(shù)據(jù)驅(qū)動接收CAPWAP包,其中所述CAPWAP包是由AC將接收到的下 行數(shù)據(jù)進(jìn)行CAPWAP封裝形成的;
[0108] 步驟401,若所述CAPWAP包是需要處理的CAPWAP包,將所述CAPWAP包的IP頭中 的UDP協(xié)議修改為CAPWAP協(xié)議;
[0109] 步驟402,對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù);
[0110] 步驟403,通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù)。
[0111] 本發(fā)明實施例判斷CAPWAP包是否為需要處理的CAPWAP包的實現(xiàn)方法是:CAPWAP 包通過數(shù)據(jù)驅(qū)動進(jìn)入內(nèi)核協(xié)議棧后被鉤子截獲,截獲后進(jìn)行判斷操作。鉤子是消息處理機(jī) 制的一個平臺,實現(xiàn)對某一特定消息的監(jiān)視與截獲操作。
[0112] 較佳地,步驟402中,對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù), 包括:
[0113] 通過內(nèi)核協(xié)議棧的傳輸控制協(xié)議TCP層對所述修改后的CAPWAP包進(jìn)行解包操作 得到下行數(shù)據(jù);
[0114] 對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù)之后,包括:
[0115] 將所述下行數(shù)據(jù)發(fā)送給虛擬驅(qū)動。
[0116] 本發(fā)明實施例CAPWAP包解包過程:TCP層對CAPWAP包進(jìn)行解包操作得到下行數(shù) 據(jù)后,將下行數(shù)據(jù)發(fā)送給虛擬驅(qū)動,具體可以參見圖2b和圖2c。
[0117] 其中,本發(fā)明實施例實現(xiàn)了對下行業(yè)務(wù)數(shù)據(jù)和下行管理數(shù)據(jù)的CAPWAP處理方式。 下面對下行業(yè)務(wù)數(shù)據(jù)和下行管理數(shù)據(jù)分別進(jìn)行說明。
[0118] 下行業(yè)務(wù)數(shù)據(jù)處理方式:
[0119] 較佳地,步驟403中,通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù),包括:
[0120] 若所述下行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),將所述下行數(shù)據(jù)通過虛擬驅(qū)動發(fā)送給網(wǎng)橋,并通過 網(wǎng)橋發(fā)送給數(shù)據(jù)驅(qū)動。
[0121] 例如:在一般瘦接入點框架組網(wǎng)方式下,AC對業(yè)務(wù)數(shù)據(jù)進(jìn)行CAPWAP封裝形成 CAPWAP包后,將其通過隧道發(fā)送給AP,該CAPWAP包從數(shù)據(jù)驅(qū)動2的ethO驅(qū)動口進(jìn)入AP,被 鉤子截獲,將IP頭里的M)P協(xié)議修改為CAPWAP協(xié)議后,進(jìn)行CAPWAP解包得到原始的業(yè)務(wù) 數(shù)據(jù),該業(yè)務(wù)數(shù)據(jù)通過capO虛擬網(wǎng)口進(jìn)入虛擬驅(qū)動,然后經(jīng)過橋發(fā)送給數(shù)據(jù)驅(qū)動2,數(shù)據(jù)驅(qū) 動2通過athO驅(qū)動口接收業(yè)務(wù)數(shù)據(jù)再發(fā)送給用戶。具體的下行業(yè)務(wù)數(shù)據(jù)的處理方法的步 驟可以參見圖2b。
[0122] 如圖2b所示,本發(fā)明實施例七下行業(yè)務(wù)數(shù)據(jù)的處理方法包括:
[0123] 步驟500,數(shù)據(jù)驅(qū)動2接收AC通過隧道發(fā)送的經(jīng)過CAPWAP封裝的CAPWAP包后, CAPWAP包被鉤子截獲。
[0124] 步驟501,鉤子判斷是否為本機(jī)需要處理的CAPWAP包,若是,則執(zhí)行步驟502 ;否 貝1J,執(zhí)行步驟506。
[0125]步驟502,內(nèi)核協(xié)議棧將CAPWAP包IP頭里的UDP協(xié)議修改為CAPWAP協(xié)議。
[0126] 步驟503, TCP層將修改協(xié)議后的CAPWAP包進(jìn)行解包操作獲得原始業(yè)務(wù)數(shù)據(jù)后,將 原始業(yè)務(wù)數(shù)據(jù)發(fā)送給虛擬驅(qū)動。
[0127] 步驟504,虛擬驅(qū)動通過虛擬網(wǎng)口接收原始業(yè)務(wù)數(shù)據(jù)后,將原始業(yè)務(wù)數(shù)據(jù)經(jīng)過網(wǎng)橋 發(fā)送給數(shù)據(jù)驅(qū)動2。
[0128] 步驟505,數(shù)據(jù)驅(qū)動2發(fā)送原始業(yè)務(wù)數(shù)據(jù)。
[0129] 步驟506,鉤子不對數(shù)據(jù)作任何處理,直接交給內(nèi)核協(xié)議棧,內(nèi)核協(xié)議棧對數(shù)據(jù)按 照常規(guī)包發(fā)送處理方式進(jìn)行處理。
[0130] 本發(fā)明實施例七的所有步驟都是在AP端實現(xiàn)的。
[0131] 下行管理數(shù)據(jù)處理方式:
[0132] 較佳地,步驟403中,通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù),包括:
[0133] 若所述下行數(shù)據(jù)為管理數(shù)據(jù),且所述管理數(shù)據(jù)的IP地址是本地IP地址,將所述管 理數(shù)據(jù)通過虛擬驅(qū)動發(fā)送給應(yīng)用層,并通過所述應(yīng)用層對管理數(shù)據(jù)進(jìn)行處理。
[0134] 例如:一般瘦接入點框架組網(wǎng)方式下,AC對管理數(shù)據(jù)進(jìn)行CAPWAP封裝形成CAPWAP 包后,將其通過隧道發(fā)送給AP,該CAPWAP包從數(shù)據(jù)驅(qū)動2的ethO驅(qū)動口進(jìn)入AP,被鉤子截 獲,將IP頭里的UDP協(xié)議修改為CAPWAP協(xié)議后,進(jìn)行CAPWAP解包得到原始的管理數(shù)據(jù),該 管理數(shù)據(jù)通過capO虛擬網(wǎng)口進(jìn)入虛擬驅(qū)動,然后判斷是否為本地IP地址,若是,則將管理 數(shù)據(jù)發(fā)送給AP的應(yīng)用層。具體的下行管理數(shù)據(jù)的處理方法的步驟可以參見圖2c。
[0135] 如圖2c所示,本發(fā)明實施例八下行管理數(shù)據(jù)的處理方法包括:
[0136] 步驟600,數(shù)據(jù)驅(qū)動2接收AC通過隧道發(fā)送的經(jīng)過CAPWAP封裝的CAPWAP包后, CAPWAP包被鉤子截獲。
[0137] 步驟601,鉤子判斷是否為本機(jī)需要處理的CAPWAP包,若是,則執(zhí)行步驟602 ;否 貝1J,執(zhí)行步驟606。
[0138] 步驟602,鉤子將CAPWAP包IP頭里的UDP協(xié)議修改為CAPWAP協(xié)議。
[0139] 步驟603, TCP層將修改協(xié)議后的CAPWAP包進(jìn)行解包操作獲得原始管理數(shù)據(jù)后,將 原始管理數(shù)據(jù)發(fā)送給虛擬驅(qū)動。
[0140] 步驟604,虛擬驅(qū)動通過虛擬網(wǎng)口接收原始管理數(shù)據(jù)后,判斷是否為本機(jī)IP,若 是,則執(zhí)行步驟605 ;否則,執(zhí)行步驟607。
[0141] 步驟605,虛擬驅(qū)動將原始管理數(shù)據(jù)發(fā)送給應(yīng)用層。
[0142] 步驟606,鉤子不對數(shù)據(jù)作任何處理,直接交給內(nèi)核協(xié)議棧,內(nèi)核協(xié)議棧對數(shù)據(jù)按 照常規(guī)包發(fā)送處理方式進(jìn)行處理。
[0143] 步驟607,虛擬驅(qū)動將原始業(yè)務(wù)數(shù)據(jù)發(fā)送給網(wǎng)橋,網(wǎng)橋?qū)⒃紭I(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)給相應(yīng) 的數(shù)據(jù)驅(qū)動。
[0144] 本發(fā)明實施例八的所有步驟都是在AP端實現(xiàn)的。
[0145] 本發(fā)明實施例中數(shù)據(jù)驅(qū)動2的驅(qū)動口可以是無線口,也可以是有線口。
[0146] 需要說明的是,上述兩種下行數(shù)據(jù)在進(jìn)行處理的過程中,雖然以athO、ethO為例, 但是本發(fā)明實施例并未規(guī)定下行數(shù)據(jù)必須從哪個驅(qū)動口進(jìn)入和進(jìn)出,數(shù)據(jù)驅(qū)動的其它驅(qū)動 口也同樣適用于本發(fā)明實施例。
[0147] 較佳地,步驟200中,通過所述AP的上聯(lián)口接收所述下行數(shù)據(jù)。
[0148] 較佳地,所述上聯(lián)口是有線口或無線口。
[0149] 本發(fā)明實施例AP的上聯(lián)口為有線口具體可以參見圖ld,其中圖Id為本發(fā)明實 施例二一般瘦接入點框架組網(wǎng)示意圖,從圖Id中可知,接入控制器與多個無線接入點設(shè) 備相連,包括無線接入點設(shè)備1、無線接入點設(shè)備2……無線接入點設(shè)備n(n為大于2的正 整數(shù)),無線接入點設(shè)備1至無線接入點設(shè)備n通過無線的方式與站點11、站點12、站點 21……站點nl (n為大于2的正整數(shù))相連。由圖Id可知下行數(shù)據(jù)在AC中進(jìn)行CAPWAP 封裝后,通過隧道發(fā)送給無線接入點設(shè)備2,其中,AC是通過與之相連的有線口發(fā)送封裝 后的下行數(shù)據(jù);AP的上聯(lián)口為無線口具體可以參見圖le,其中圖le為本發(fā)明實施例三 fit-repeater模式形成的瘦接入點框架組網(wǎng)示意圖,從圖Id中可知,接入控制器與多個無 線接入點設(shè)備相連,包括無線接入點設(shè)備1、無線接入點設(shè)備2、無線接入點設(shè)備3和無線接 入點設(shè)備4,無線接入點設(shè)備1通過無線的方式與無線接入點設(shè)備11、無線接入點設(shè)備12、 站點11相連,無線接入點設(shè)備11通過無線的方式與站點111,無線接入點設(shè)備11通過有線 的方式與站點112,無線接入點設(shè)備2通過無線的方式與站點21,無線接入點設(shè)備3通過無 線的方式與站點31,無線接入點設(shè)備4通過無線的方式與站點41。由圖le可知下行數(shù)據(jù) 在AC中進(jìn)行CAPWAP封裝后,通過隧道發(fā)送給無線接入點設(shè)備12,其中,AC是通過與之相連 的有線口發(fā)送封裝后的下行數(shù)據(jù)。
[0150] 本發(fā)明實施例數(shù)據(jù)驅(qū)動負(fù)責(zé)數(shù)據(jù)的傳輸;虛擬驅(qū)動負(fù)責(zé)數(shù)據(jù)的CAPWAP封裝,虛擬 驅(qū)動能夠復(fù)用內(nèi)核協(xié)議棧的IP層的分包和組包功能;TCP層實現(xiàn)CAPWAP解包。每個模塊 實現(xiàn)的功能單一,即在功能上實現(xiàn)了解耦合。
[0151] 本發(fā)明實施例在虛擬驅(qū)動中實現(xiàn)CAPWAP封裝,在內(nèi)核協(xié)議棧的TCP層實現(xiàn)了 CAPWAP解包,從而提高了吞吐量,降低了 CPU的占用率。表1中顯示了在應(yīng)用層實現(xiàn)的 CAPWAP協(xié)議的吞吐量和CPU占用率與本發(fā)明在內(nèi)核協(xié)議棧的TCP層實現(xiàn)的CAPWAP協(xié)議的 吞吐量和CPU占用率的對比表格。從表1中可以看出在原CAPWAP實現(xiàn)方式下的上行吞吐 量為86. 7、下行吞吐量為86. 5,新改進(jìn)的CAPWAP實現(xiàn)方式下的上行吞吐量為89、下行吞吐 量為89,可知新改進(jìn)的CAPWAP實現(xiàn)方式的上下行吞吐量比原來的吞吐量提高了;原CAPWAP 實現(xiàn)方式下的CPU占用率為80,新改進(jìn)的CPU占用率為56,可知新改進(jìn)的CAPWAP實現(xiàn)方式 的CPU占用率下降了。
[0152]
【權(quán)利要求】
1. 一種無線接入點的控制和規(guī)范CAPWAP上行數(shù)據(jù)的處理方法,其特征在于,該方法包 括: 當(dāng)上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動時,將所述上行數(shù)據(jù)進(jìn)行CAPWAP封裝,形成CAPWAP包; 根據(jù)網(wǎng)絡(luò)之間互聯(lián)的協(xié)議IP地址,通過路由向接入控制器AC發(fā)送所述CAPWAP包。
2. 如權(quán)利要求1所述的方法,其特征在于,在上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動之前,還包括: 若所述上行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),在通過數(shù)據(jù)驅(qū)動接收到所述業(yè)務(wù)數(shù)據(jù)后,若所述業(yè)務(wù)數(shù) 據(jù)的介質(zhì)訪問控制MAC地址不是本地MAC地址,則通過網(wǎng)橋轉(zhuǎn)發(fā)給虛擬驅(qū)動。
3. 如權(quán)利要求1所述的方法,其特征在于,在上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動之前,還包括: 若所述上行數(shù)據(jù)為管理數(shù)據(jù),則將所述管理數(shù)據(jù)通過應(yīng)用層發(fā)送給虛擬驅(qū)動。
4. 如權(quán)利要求1?3任一所述的方法,其特征在于,根據(jù)IP地址,通過路由向AC發(fā)送 所述CAPWAP包,具體包括; 根據(jù)IP地址,通過所述AP的上聯(lián)口將所述CAPWAP包通過路由發(fā)送給對應(yīng)的AC。
5. 如權(quán)利要求4所述的方法,其特征在于,所述上聯(lián)口是有線口或無線口。
6. -種無線接入點的控制和規(guī)范CAPWAP下行數(shù)據(jù)的處理方法,其特征在于,該方法包 括: 通過數(shù)據(jù)驅(qū)動接收CAPWAP包,其中所述CAPWAP包是由接入控制器AC將接收到的下行 數(shù)據(jù)進(jìn)行CAPWAP封裝形成的; 若所述CAPWAP包是需要處理的CAPWAP包,將所述CAPWAP包的網(wǎng)絡(luò)之間互聯(lián)的協(xié)議IP 頭中的用戶數(shù)據(jù)報協(xié)議UDP協(xié)議修改為CAPWAP協(xié)議; 對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù); 通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù)。
7. 如權(quán)利要求6所述的方法,其特征在于,對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操 作得到下行數(shù)據(jù),包括: 通過內(nèi)核協(xié)議找的傳輸控制協(xié)議TCP層對所述修改后的CAPWAP包進(jìn)行解包操作得到 下行數(shù)據(jù); 對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù)之后,包括: 將所述下行數(shù)據(jù)發(fā)送給虛擬驅(qū)動。
8. 如權(quán)利要求6所述的方法,其特征在于,通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù),包括: 若所述下行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),將所述下行數(shù)據(jù)通過虛擬驅(qū)動發(fā)送給網(wǎng)橋,并通過網(wǎng)橋 發(fā)送給數(shù)據(jù)驅(qū)動;或 若所述下行數(shù)據(jù)為管理數(shù)據(jù),且所述管理數(shù)據(jù)的IP地址是本地IP地址,將所述管理數(shù) 據(jù)通過虛擬驅(qū)動發(fā)送給應(yīng)用層,并通過所述應(yīng)用層對管理數(shù)據(jù)進(jìn)行處理。
9. 如權(quán)利要求6?8任一所述的方法,其特征在于,通過數(shù)據(jù)驅(qū)動接收CAPWAP包,具體 包括: 通過所述AP的上聯(lián)口接收所述下行數(shù)據(jù)。
10. 如權(quán)利要求9所述的方法,其特征在于,所述上聯(lián)口是有線口或無線口。
11. 一種無線接入點的控制和規(guī)范CAPWAP上行數(shù)據(jù)的處理裝置,其特征在于,該裝置 包括: 封裝單元,用于當(dāng)上行數(shù)據(jù)進(jìn)入虛擬驅(qū)動時,將所述上行數(shù)據(jù)進(jìn)行CAPWAP封裝,形成 CAPWAP 包; 發(fā)送單元,用于根據(jù)網(wǎng)絡(luò)之間互聯(lián)的協(xié)議IP地址,通過路由向接入控制器AC發(fā)送所述 CAPWAP 包。
12. 如權(quán)利要求11所述的裝置,其特征在于,所述封裝單元還用于: 若所述上行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),在通過數(shù)據(jù)驅(qū)動接收到所述業(yè)務(wù)數(shù)據(jù)后,若所述業(yè)務(wù)數(shù) 據(jù)的介質(zhì)訪問控制MAC地址不是本地MAC地址,則通過網(wǎng)橋轉(zhuǎn)發(fā)給虛擬驅(qū)動。
13. 如權(quán)利要求11所述的裝置,其特征在于,所述封裝單元還用于: 若所述上行數(shù)據(jù)為管理數(shù)據(jù),則將所述管理數(shù)據(jù)通過應(yīng)用層發(fā)送給虛擬驅(qū)動。
14. 如權(quán)利要求11-13任一所述的裝置,其特征在于,所述發(fā)送單元具體用于: 根據(jù)IP地址,通過所述AP的上聯(lián)口將所述CAPWAP包通過路由發(fā)送給對應(yīng)的AC。
15. 如權(quán)利要求14所述的裝置,其特征在于,所述上聯(lián)口是有線口或無線口。
16. -種無線接入點的控制和規(guī)范CAPWAP下行數(shù)據(jù)的處理裝置,其特征在于,該裝置 包括: 接收單元,用于通過數(shù)據(jù)驅(qū)動接收CAPWAP包,其中所述CAPWAP包是由接入控制器AC 將接收到的下行數(shù)據(jù)進(jìn)行CAPWAP封裝形成的; 協(xié)議修改單元,用于若所述CAPWAP包是需要處理的CAPWAP包,將所述CAPWAP包的網(wǎng) 絡(luò)之間互聯(lián)的協(xié)議IP頭中的用戶數(shù)據(jù)報協(xié)議UDP協(xié)議修改為CAPWAP協(xié)議; 解包單元,用于對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù); 發(fā)送單元,用于通過虛擬驅(qū)動發(fā)送所述下行數(shù)據(jù)。
17. 如權(quán)利要求16所述的裝置,其特征在于,所述解包單元具體用于: 通過內(nèi)核協(xié)議找的傳輸控制協(xié)議TCP層對所述修改后的CAPWAP包進(jìn)行解包操作得到 下行數(shù)據(jù); 對修改協(xié)議后的所述CAPWAP包進(jìn)行解包操作得到下行數(shù)據(jù)之后,包括: 將所述下行數(shù)據(jù)發(fā)送給虛擬驅(qū)動。
18. 如權(quán)利要求16所述的裝置,其特征在于,所述發(fā)送單元具體用于: 若所述下行數(shù)據(jù)為業(yè)務(wù)數(shù)據(jù),將所述下行數(shù)據(jù)通過虛擬驅(qū)動發(fā)送給網(wǎng)橋,并通過網(wǎng)橋 發(fā)送給數(shù)據(jù)驅(qū)動;或 若所述下行數(shù)據(jù)為管理數(shù)據(jù),且所述管理數(shù)據(jù)的IP地址是本地IP地址,將所述管理數(shù) 據(jù)通過虛擬驅(qū)動發(fā)送給應(yīng)用層,并通過所述應(yīng)用層對管理數(shù)據(jù)進(jìn)行處理。
19. 如權(quán)利要求16?18任一所述的裝置,其特征在于,所述接收單元具體用于: 通過所述AP的上聯(lián)口接收所述下行數(shù)據(jù)。
20. 如權(quán)利要求19所述的裝置,其特征在于,所述上聯(lián)口是有線口或無線口。
【文檔編號】H04L12/46GK104469843SQ201410653225
【公開日】2015年3月25日 申請日期:2014年11月17日 優(yōu)先權(quán)日:2014年11月17日
【發(fā)明者】王茂斌, 左延麟, 羅晟 申請人:京信通信系統(tǒng)(中國)有限公司