亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

無(wú)線控制器對(duì)capwap報(bào)文的處理方法和系統(tǒng)的制作方法

文檔序號(hào):10690936閱讀:785來(lái)源:國(guó)知局
無(wú)線控制器對(duì)capwap報(bào)文的處理方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法和系統(tǒng),其中,所述方法包括如下步驟:獲取無(wú)線接入點(diǎn)通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的CAPWAP報(bào)文;利用在網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,得到用戶數(shù)據(jù)報(bào)文;調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。通過(guò)上述技術(shù)方案,本發(fā)明的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法和系統(tǒng),極大地降低了對(duì)CAPWAP報(bào)文的處理難度;同時(shí),在一定程度上提高了CAPWAP報(bào)文的處理效率。
【專利說(shuō)明】
無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及無(wú)線通信WLAN技術(shù)領(lǐng)域,特別是涉及一種無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法和系統(tǒng)。
【背景技術(shù)】
[0002]在WLAN網(wǎng)絡(luò)通信中,無(wú)線控制器(WirelessAccess Point Controller,AC)+無(wú)線接入點(diǎn)(The wireless access point,AP)是一種典型的組網(wǎng)方式,AC與AP之間通過(guò)CAPWAP(Control And Provis1ning of Wireless Access Points Protocol Specificat1n,無(wú)線接入點(diǎn)的控制和配置協(xié)議)隧道協(xié)議進(jìn)行通信,具體是:AP將無(wú)線終端用戶上行IEEE802.11的數(shù)據(jù)報(bào)文轉(zhuǎn)換成IEEE 802.3的數(shù)據(jù)報(bào)文后進(jìn)行CAPWAP隧道封裝,封裝完成之后發(fā)送給AC,AC對(duì)CAPWAP隧道報(bào)文解封裝后再進(jìn)行認(rèn)證、轉(zhuǎn)發(fā)等相應(yīng)的處理;對(duì)于用戶的下行數(shù)據(jù)報(bào)文,AC需要對(duì)該下行數(shù)據(jù)報(bào)文進(jìn)行封裝后通過(guò)CAPWAP隧道協(xié)議發(fā)送給AP,AP再將CAPWAP隧道解封裝后,發(fā)送給無(wú)線終端用戶。
[0003]目前對(duì)CAPWAP報(bào)文的處理方法主要是:在特定的網(wǎng)絡(luò)處理器上獨(dú)立開(kāi)發(fā)出整套的協(xié)議棧,但是,獨(dú)立開(kāi)發(fā)出整套的協(xié)議棧,不僅開(kāi)發(fā)難度大、開(kāi)發(fā)周期長(zhǎng);而且,維護(hù)成本相對(duì)較高。再者,現(xiàn)有的Linux內(nèi)核網(wǎng)絡(luò)協(xié)議棧也不支持CAPWAP隧道協(xié)議,使得無(wú)法對(duì)用戶數(shù)據(jù)進(jìn)行加、解封裝。
[0004]綜上所述,現(xiàn)有的CAPWAP報(bào)文的處理方法的實(shí)施難度較大且成本較高。

【發(fā)明內(nèi)容】

[0005]基于此,有必要針對(duì)現(xiàn)有的CAPWAP報(bào)文處理方法的實(shí)施難度較大的技術(shù)問(wèn)題,提供一種無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法和系統(tǒng)。
[0006]—種無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,包括如下步驟:
[0007]獲取無(wú)線接入點(diǎn)通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的CAPWAP報(bào)文;
[0008]利用在Linux內(nèi)核網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,得到用戶數(shù)據(jù)報(bào)文;
[0009]調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。
[0010]一種無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),包括:
[0011 ]獲取模塊,用于獲取無(wú)線接入點(diǎn)通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的CAPWAP報(bào)文;
[0012]解封裝模塊,用于利用在Linux內(nèi)核網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,得到用戶數(shù)據(jù)報(bào)文;
[0013]處理模塊,用于調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。
[0014]上述無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法和系統(tǒng),通過(guò)利用在Linux內(nèi)核網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,并調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。通過(guò)上述技術(shù)方案,實(shí)現(xiàn)了基于現(xiàn)有的Linux內(nèi)核協(xié)議棧對(duì)用戶數(shù)據(jù)報(bào)文進(jìn)行處理,極大地降低了對(duì)CAPWAP數(shù)據(jù)報(bào)文的處理難度,進(jìn)一步有效地提高了 CAPWAP數(shù)據(jù)報(bào)文的處理效率。
【附圖說(shuō)明】
[0015]圖1為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖;
[0016]圖2為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖;
[0017]圖3為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖;
[0018]圖4為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖;
[0019]圖5為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖;
[0020]圖6為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法中通過(guò)置換網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)對(duì)DHCP回復(fù)報(bào)文進(jìn)行處理的方法流程圖;
[0021]圖7為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法中置換網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)的方法流程圖;
[0022]圖8為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法中注冊(cè)的第一、第二和第三鉤子函數(shù)的框架圖;
[0023]圖9為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法中置換驅(qū)動(dòng)函數(shù)的方法示意圖;
[0024]圖10為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0025]圖11為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0026]圖12為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0027]圖13為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0028]圖14為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0029]圖15為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0030]為了更進(jìn)一步闡述本發(fā)明所采取的技術(shù)手段及取得的效果,下面結(jié)合附圖及較佳實(shí)施例,對(duì)本發(fā)明的技術(shù)方案,進(jìn)行清楚和完整的描述。
[0031]如圖1所示,圖1為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖,包括如下步驟:
[0032]步驟SlOl:獲取無(wú)線接入點(diǎn)通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的CAPWAP報(bào)文;
[0033]步驟S102:利用在Linux內(nèi)核網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,得到用戶數(shù)據(jù)報(bào)文;
[0034]在本步驟中,在網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)L0CAL_IN處注冊(cè)第一鉤子函數(shù),所述第一鉤子函數(shù)用來(lái)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,其中,第一鉤子函數(shù)的注冊(cè)優(yōu)先級(jí)為最高。由于無(wú)線接入點(diǎn)將用戶數(shù)據(jù)進(jìn)行CAPWAP隧道封裝后發(fā)往無(wú)線控制器,CAPWAP隧道外目的IP(Internet Protocol,網(wǎng)絡(luò)協(xié)議)為無(wú)線控制器的IP,用戶的所有上行報(bào)文都會(huì)經(jīng)過(guò)L0CAL_IN節(jié)點(diǎn),因此,在L0CAL_IN節(jié)點(diǎn)處攔截用戶的CAPWAP數(shù)據(jù)報(bào)文并進(jìn)行解封裝。
[0035]步驟S103:調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。
[0036]在本步驟中,通過(guò)利用現(xiàn)有的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理,避免了現(xiàn)有技術(shù)的在特定的專用網(wǎng)絡(luò)處理器上開(kāi)發(fā)整套協(xié)議棧,極大地降低了對(duì)CAPWAP數(shù)據(jù)報(bào)文的處理難度。
[0037]上述無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,通過(guò)利用在Linux內(nèi)核網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,并調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。通過(guò)上述技術(shù)方案,實(shí)現(xiàn)了基于現(xiàn)有的Linux內(nèi)核協(xié)議棧對(duì)用戶數(shù)據(jù)報(bào)文進(jìn)行處理,極大地降低了對(duì)CAPWAP報(bào)文的處理難度,進(jìn)一步提高了CAPWAP報(bào)文的處理效率;同時(shí),本發(fā)明具有開(kāi)發(fā)周期短、成本低、對(duì)硬件條件依賴少等優(yōu)點(diǎn)。
[0038]如圖2所示,圖2為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖,在所述對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝的步驟S102之前,還可以包括:
[0039]步驟S104:判斷所述CAPWAP報(bào)文的目的端口是否為數(shù)據(jù)報(bào)文端口,若是,則執(zhí)行步驟S102對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝;若否,轉(zhuǎn)入步驟S105;
[0040]步驟S105:所述CAPWAP報(bào)文進(jìn)入內(nèi)核協(xié)議棧進(jìn)行處理。
[0041 ] 在本實(shí)施例中,如果所述CAPWAP報(bào)文的目的端口為數(shù)據(jù)報(bào)文端口,就對(duì)CAPWAP報(bào)文進(jìn)行解封裝。在實(shí)際應(yīng)用中,CAPWAP通過(guò)UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)端口5246(控制端口)、5247(數(shù)據(jù)端口)進(jìn)行通信。如果CAPWAP報(bào)文的目的端口為CAPWAP5247端口,則對(duì)用戶數(shù)據(jù)進(jìn)行解析,即,剝離掉CAPWAP隧道頭部,獲取隧道內(nèi)的用戶數(shù)據(jù)報(bào)文;再調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文發(fā)送內(nèi)核協(xié)議棧,利用無(wú)線控制器Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。在實(shí)際應(yīng)用中,可以調(diào)用內(nèi)核函數(shù)netif_rx將用戶數(shù)據(jù)報(bào)文重新放入CPU隊(duì)列,Linux內(nèi)核協(xié)議棧對(duì)用戶數(shù)據(jù)報(bào)文繼續(xù)處理。
[0042]在其中一個(gè)實(shí)施例中,本發(fā)明的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,在所述得到用戶數(shù)據(jù)報(bào)文的步驟S102之后,還可以包括:
[0043]步驟S106:判斷所述用戶數(shù)據(jù)報(bào)文是否為IP報(bào)文或者ARP(Address Resolut1nProtocol,地址解析協(xié)議)報(bào)文,若是,則執(zhí)行步驟S103;若否,執(zhí)行步驟S107 ;
[0044]步驟S107:對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行丟棄處理。
[0045]在其中一個(gè)實(shí)施例中,本發(fā)明的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,還可以包括:
[0046]若判斷所述用戶數(shù)據(jù)報(bào)文為IP報(bào)文或者ARP報(bào)文,則通過(guò)調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新發(fā)送至內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。
[0047]在上述實(shí)施例中,通過(guò)在網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)第一鉤子函數(shù),當(dāng)UDP報(bào)文的目的端口為5247時(shí),則認(rèn)定為用戶的隧道報(bào)文,繼續(xù)對(duì)該報(bào)文進(jìn)行CAPWAP解析隧道處理;如果解析不成功,則越過(guò)此第一鉤子函數(shù),繼續(xù)交給內(nèi)核協(xié)議棧處理。如果解析成功,則繼續(xù)判斷是否是IP報(bào)文、ARP報(bào)文;如果不是該類報(bào)文,則直接丟包,否則將重新調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù),將所述報(bào)文送入CPU隊(duì)列,隧道內(nèi)用戶數(shù)據(jù)報(bào)文重入?yún)f(xié)議棧,繼續(xù)對(duì)其進(jìn)行處理。
[0048]如圖3所示,圖3為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖,包括如下步驟:
[0049]步驟S201:獲取無(wú)線控制器本地產(chǎn)生的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文;
[0050]步驟S202:判斷所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文的出口是否為CAPWAP用戶接口,若是,執(zhí)行步驟S203 ;若否,轉(zhuǎn)入執(zhí)行步驟S205 ;
[0051 ]步驟S203:判斷所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文是否為用戶數(shù)據(jù)報(bào)文,若是,執(zhí)行步驟S205;若否,轉(zhuǎn)入執(zhí)行步驟S205;
[0052]步驟S204:利用在網(wǎng)絡(luò)過(guò)濾器本地出口鉤子點(diǎn)處注冊(cè)的第二鉤子函數(shù)對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文。
[0053]步驟S205:利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述CAPWAP報(bào)文進(jìn)行處理。
[0054]在本實(shí)施例中,通過(guò)在網(wǎng)絡(luò)過(guò)濾器本地出口鉤子點(diǎn)處注冊(cè)第二鉤子函數(shù),并利用所述第二鉤子函數(shù)對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文,當(dāng)報(bào)文的出口為CAPWAP用戶接口,則進(jìn)一步判斷是否為用戶數(shù)據(jù);如果為用戶數(shù)據(jù)報(bào)文,則進(jìn)行CAPWAP封裝,進(jìn)入路由發(fā)送后再進(jìn)入內(nèi)核協(xié)議棧;如果不是用戶數(shù)據(jù)報(bào)文,則不封裝CAPWAP隧道,直接進(jìn)入內(nèi)核協(xié)議棧。
[0055]如圖4所示,圖4為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖,包括如下步驟:
[0056]步驟S301:獲取無(wú)線控制器的內(nèi)核網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)點(diǎn)的數(shù)據(jù)報(bào)文;
[0057]步驟S302:判斷所述數(shù)據(jù)報(bào)文的出口是否為CAPWAP用戶接口,若是,執(zhí)行步驟S303;若否,執(zhí)行步驟S305;
[0058]步驟S303:判斷所述數(shù)據(jù)報(bào)文是否為用戶數(shù)據(jù)報(bào)文,若是,執(zhí)行步驟S304;若否,執(zhí)行步驟S305;
[0059]步驟S304:利用在網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)鉤子點(diǎn)處注冊(cè)的第三鉤子函數(shù)對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文;
[0060]步驟S305:利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述CAPWAP報(bào)文進(jìn)行處理。
[0061]在本實(shí)施例中,通過(guò)利用在網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)鉤子點(diǎn)處注冊(cè)的第三鉤子函數(shù)對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文;再利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述CAPWAP報(bào)文進(jìn)行處理。第三鉤子函數(shù)主要處理外網(wǎng)發(fā)送給用戶的下行數(shù)據(jù)報(bào)文。當(dāng)報(bào)文的出口為CAPWAP用戶接口,則進(jìn)一步判斷是否為用戶數(shù)據(jù)報(bào)文;如果為用戶數(shù)據(jù)報(bào)文,則進(jìn)行CAPWAP隧道封裝,路由發(fā)送后進(jìn)入內(nèi)核協(xié)議棧。如果不是用戶數(shù)據(jù)報(bào)文則不進(jìn)行CAPWAP封裝,直接進(jìn)入內(nèi)核協(xié)議棧。
[0062]如圖5所示,圖5為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法流程圖,包括如下步驟:
[0063]步驟S401:獲取無(wú)線控制器的內(nèi)核網(wǎng)絡(luò)過(guò)濾器ARP本地出口點(diǎn)的ARP報(bào)文;
[0064]步驟S402:判斷所述ARP報(bào)文是否為發(fā)給用戶的ARP報(bào)文,若是,則執(zhí)行步驟S403,若否,則執(zhí)行步驟S404;
[0065]步驟S403:利用在網(wǎng)絡(luò)過(guò)濾器ARP出口鉤子點(diǎn)處注冊(cè)的第四鉤子函數(shù)對(duì)所述ARP報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文;
[0066]步驟S404:利用無(wú)線控制器的Linux內(nèi)核協(xié)議桟對(duì)所述CAPWAP報(bào)文進(jìn)行處理。
[0067]在本實(shí)施例中,通過(guò)利用在網(wǎng)絡(luò)過(guò)濾器ARP出口鉤子點(diǎn)處注冊(cè)的第四鉤子函數(shù)對(duì)所述ARP報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文;再利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述CAPWAP報(bào)文進(jìn)行處理。在ARP出口鉤子點(diǎn)處截獲所有的ARP報(bào)文,并查找是否為發(fā)送給用戶的ARP;查找方法為:ARP為請(qǐng)求報(bào)文時(shí)查找用戶的IP表,當(dāng)ARP為回復(fù)類型時(shí)查找用戶的MAC表。通過(guò)判斷確定為發(fā)送給用戶的ARP報(bào)文后,進(jìn)行CAPWAP封裝;否則放行該ARP報(bào)文,由內(nèi)核協(xié)議棧自行處理。
[0068]如圖6所示,圖6為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法中通過(guò)置換網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)對(duì)DHCP(Dynamic Host Configurat1n Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議)回復(fù)報(bào)文進(jìn)行處理的方法流程圖,包括如下步驟:
[0069]步驟S501:獲取用戶通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的DHCP請(qǐng)求報(bào)文;
[0070]步驟S502:利用在本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)DHCP請(qǐng)求報(bào)文解CAPWAP隧道后,重新放入內(nèi)核協(xié)議棧;利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧將DHCP請(qǐng)求報(bào)文交由DHCPD進(jìn)程處理;
[0071]步驟S503:通過(guò)將原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)置換為自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)對(duì)所述DHCP回復(fù)報(bào)文進(jìn)行封裝,得到CAPWAP報(bào)文;
[0072]步驟S504:利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述CAPWAP數(shù)據(jù)報(bào)文進(jìn)行處理。
[0073]如圖7所示,圖7為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法中置換網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)的方法流程圖,包括如下步驟:
[0074]步驟S5031:當(dāng)系統(tǒng)接口配置為CAPWAP接口時(shí),將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址;
[0075]步驟S5032:判斷接收所述DHCP回復(fù)報(bào)文的系統(tǒng)接口是否是CAPWAP接口,若是,執(zhí)行步驟S5033;若否,執(zhí)行步驟S5034 ;
[0076]步驟S5033:當(dāng)接收用戶數(shù)據(jù)報(bào)文的CAPWAP接口收到所述DHCP回復(fù)報(bào)文時(shí),通過(guò)所述自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)對(duì)所述DHCP回復(fù)報(bào)文進(jìn)行封裝;
[0077]步驟S5034:將所述原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換所述自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址。
[0078]在其中一個(gè)實(shí)施例中,本發(fā)明的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,在所述將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址的步驟S5031之前,還包括:
[0079]步驟S5035:獲取原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址并進(jìn)行保存;
[0080]在上述實(shí)施例中,用戶的上行DHCP請(qǐng)求報(bào)文在本地入口鉤子點(diǎn)處解CAPWAP隧道頭部后,會(huì)重新進(jìn)入內(nèi)核協(xié)議棧,由內(nèi)核協(xié)議棧將該DHCP請(qǐng)求報(bào)文交給DHCPD進(jìn)程處理;下行數(shù)據(jù)由于DHCPD進(jìn)程使用原始套接字直接將DHCP回復(fù)報(bào)文發(fā)送出去,所以采用替換網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)的方式對(duì)回復(fù)用戶的DHCP報(bào)文進(jìn)行CAPWAP封裝。
[0081]如圖8所示,圖8為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法中注冊(cè)鉤子函數(shù)的框架圖,無(wú)線局域網(wǎng)絡(luò)上的用戶的上行業(yè)務(wù)數(shù)據(jù)要經(jīng)過(guò)本地入口鉤子點(diǎn)和路由轉(zhuǎn)發(fā)鉤子點(diǎn),下行數(shù)據(jù)要經(jīng)過(guò)路由轉(zhuǎn)發(fā)鉤子點(diǎn)或本地出口鉤子點(diǎn)。那么,在相應(yīng)的鉤子節(jié)點(diǎn)注冊(cè)函數(shù),就可以完成對(duì)相應(yīng)的CAPWAP數(shù)據(jù)的處理。
[0082]在本地入口鉤子點(diǎn)處注冊(cè)對(duì)CAPWAP隧道報(bào)文解封裝的第一鉤子函數(shù),注冊(cè)優(yōu)先級(jí)為最高。由于無(wú)線接入點(diǎn)將用戶數(shù)據(jù)進(jìn)行CAPWAP隧道封裝后發(fā)往無(wú)線控制器,隧道外目的IP為無(wú)線控制器的IP,用戶的所有上行報(bào)文都會(huì)經(jīng)過(guò)本地入口鉤子點(diǎn),在此攔截用戶的CAPWAP報(bào)文并進(jìn)行解封裝。
[0083]在上述鉤子函數(shù)中,對(duì)隧道報(bào)文的主要處理規(guī)則為,如果是CAPWAP 5247端口、則進(jìn)行用戶數(shù)據(jù)解析,剝離掉CAPWAP隧道頭部,獲取隧道內(nèi)的用戶數(shù)據(jù)報(bào)文,調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)netif_rx將用戶數(shù)據(jù)報(bào)文重新放入CPU隊(duì)列,Linux內(nèi)核協(xié)議桟對(duì)用戶數(shù)據(jù)報(bào)文繼續(xù)處理。
[0084]在本地出口鉤子點(diǎn)處注冊(cè)對(duì)用戶數(shù)據(jù)封裝CAPWAP隧道報(bào)文的第二鉤子函數(shù),那么,就可以在本地出口鉤子點(diǎn)截獲無(wú)線控制器發(fā)送給用戶的數(shù)據(jù)報(bào)文,并對(duì)報(bào)文進(jìn)行CAPWAP隧道封裝。
[0085]在路由轉(zhuǎn)發(fā)鉤子點(diǎn)處注冊(cè)對(duì)用戶數(shù)據(jù)封裝CAPWAP隧道報(bào)文的第三鉤子函數(shù),那么,就可以在路由轉(zhuǎn)發(fā)鉤子點(diǎn)處截獲外網(wǎng)發(fā)送給用戶的下行數(shù)據(jù)報(bào)文,并對(duì)報(bào)文進(jìn)行CAPWAP隧道封裝。
[0086]在ARP出口鉤子點(diǎn)處注冊(cè)對(duì)用戶ARP數(shù)據(jù)封裝CAPWAP隧道報(bào)文的第四鉤子函數(shù),那么,就可以在ARP出口鉤子點(diǎn)截獲無(wú)線控制器發(fā)送給用戶的ARP報(bào)文,并對(duì)報(bào)文進(jìn)行CAPWAP隧道封裝。
[0087]Linux系統(tǒng)中DHCro進(jìn)程使用原始套接字處理用戶的DHCP請(qǐng)求,并使用原始套接字與用戶進(jìn)行通信,并不進(jìn)入內(nèi)核Netfilter框架,為解決截獲用戶DHCP報(bào)文、并封裝CAPWAP隧道問(wèn)題,在Linux內(nèi)核中對(duì)接收CAPWAP報(bào)文的用戶端口做全局標(biāo)志位,并通過(guò)置換網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)來(lái)對(duì)用戶的DHCP請(qǐng)求進(jìn)行CAPWAP封裝。
[0088]如圖9所示,圖9為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法中置換驅(qū)動(dòng)函數(shù)的方法示意圖,假設(shè)eth0.200端口為接收用戶數(shù)據(jù)報(bào)文的CAPWAP端口,在內(nèi)核中用全局變量做標(biāo)注。假設(shè)原h(huán)ard_start_xmit函數(shù)的地址為Oxaabbccddee,在配置端口過(guò)程中,首先將hard_start_xmit函數(shù)地址保留,以備將來(lái)還原此函數(shù)。之后將自定義的封裝DHCP CAPWAP隧道的驅(qū)動(dòng)函數(shù)my_ndo_start_xmit地址賦值給hard_start_xmit,這樣當(dāng)eth0.200端口收到DHCF1D進(jìn)程發(fā)送給用戶的DHCP報(bào)文時(shí),則會(huì)進(jìn)入my_ndo_start_xmit驅(qū)動(dòng)函數(shù),完成對(duì)此報(bào)文CAPWAP封裝后,發(fā)送給AP。當(dāng)配置eth0.200為非CAPWAP端口時(shí),將原先保留的Oxaabbccddee驅(qū)動(dòng)函數(shù)地址重新賦值給hard_start_xmit使該端口網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)回復(fù)原貌。
[0089 ]如圖1O所示,圖1O為本發(fā)明的一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖,包括:
[0090]獲取模塊101,用于獲取無(wú)線接入點(diǎn)通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的CAPWAP 報(bào)文;
[0091]解封裝模塊102,用于在Linux內(nèi)核網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)第一鉤子函數(shù),并利用所述第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,得到用戶數(shù)據(jù)報(bào)文;
[0092]解封裝模塊102在網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)L0CAL_IN處注冊(cè)第一鉤子函數(shù),所述第一鉤子函數(shù)用來(lái)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,其中,第一鉤子函數(shù)的注冊(cè)優(yōu)先級(jí)為最高。由于無(wú)線接入點(diǎn)將用戶數(shù)據(jù)進(jìn)行CAPWAP隧道封裝后發(fā)往無(wú)線控制器,CAPWAP隧道外目的IP為無(wú)線控制器的IP,用戶的所有上行報(bào)文都會(huì)經(jīng)過(guò)L0CAL_IN節(jié)點(diǎn),因此,在L0CAL_IN節(jié)點(diǎn)處攔截用戶的CAPWAP報(bào)文并進(jìn)行解封裝。
[0093]處理模塊103,用于調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。
[0094]處理模塊103通過(guò)利用現(xiàn)有的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理,避免了現(xiàn)有技術(shù)的在特定的專用網(wǎng)絡(luò)處理器上開(kāi)發(fā)整套協(xié)議棧,極大地降低了對(duì)CAPWAP報(bào)文的處理難度,同時(shí),在一定程度上對(duì)CAPWAP報(bào)文的處理成本。
[0095]上述無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),通過(guò)利用解封裝模塊102在網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,并利用處理模塊103調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。通過(guò)上述技術(shù)方案,實(shí)現(xiàn)了基于現(xiàn)有的Linux內(nèi)核協(xié)議棧對(duì)用戶數(shù)據(jù)報(bào)文進(jìn)行處理,極大地降低了對(duì)CAPWAP報(bào)文的處理難度;同時(shí),在一定程度上對(duì)CAPWAP報(bào)文的處理成本。
[0096]如圖11所示,圖11為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖,在所述解封裝模塊102之前,還可以包括:
[0097]第一判斷模塊104,用于判斷所述CAPWAP報(bào)文的目的端口是否為數(shù)據(jù)報(bào)文端口,若是,則轉(zhuǎn)入解封裝模塊102對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝;
[0098]在所述第一判斷模塊104之后,還可以包括:
[0099]內(nèi)核協(xié)議棧處理模塊105,用于當(dāng)所述CAPWAP報(bào)文的目的端口不是數(shù)據(jù)報(bào)文端口時(shí),將所述CAPWAP報(bào)文轉(zhuǎn)入內(nèi)核協(xié)議棧進(jìn)行處理;
[0100]在所述解封裝模塊102之后,還可以包括:
[0101]報(bào)文類型判斷模塊106,用于判斷所述用戶數(shù)據(jù)報(bào)文是否為IP報(bào)文或者ARP報(bào)文,若是,轉(zhuǎn)入處理模塊103通過(guò)調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理;若否,轉(zhuǎn)入丟棄模塊107。
[0102]丟棄模塊107,用于當(dāng)所述用戶數(shù)據(jù)報(bào)文既不是IP報(bào)文,也不是ARP報(bào)文時(shí),將所述用戶數(shù)據(jù)報(bào)文進(jìn)行丟棄處理。
[0103]在本實(shí)施例中,如果所述CAPWAP報(bào)文的目的端口為數(shù)據(jù)報(bào)文端口,就對(duì)CAPWAP報(bào)文進(jìn)行解封裝。在實(shí)際應(yīng)用中,CAPWAP通過(guò)UDP端口 5246(控制端口)、5247(數(shù)據(jù)端口)進(jìn)行通信。如果CAPWAP數(shù)據(jù)報(bào)文的目的端口為CAPWAP 5247端口,則對(duì)用戶數(shù)據(jù)進(jìn)行解析,即,剝離掉CAPWAP隧道頭部,獲取隧道內(nèi)用戶數(shù)據(jù)報(bào)文;再調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新發(fā)送至內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。在實(shí)際應(yīng)用中,可以調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)netif_rX,將用戶數(shù)據(jù)報(bào)文重新放入CPU隊(duì)列,Linux內(nèi)核協(xié)議棧對(duì)用戶數(shù)據(jù)報(bào)文繼續(xù)處理。
[0104]在其中一個(gè)實(shí)施例中,本發(fā)明的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,所述處理模塊103還可以用于:
[0105]若判斷所述用戶數(shù)據(jù)報(bào)文為IP報(bào)文或者ARP報(bào)文,則通過(guò)調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。
[0106]在上述實(shí)施例中,通過(guò)在網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)第一鉤子函數(shù),當(dāng)UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)報(bào)文的目的端口為5247時(shí),則認(rèn)定為用戶的隧道報(bào)文,繼續(xù)對(duì)該報(bào)文進(jìn)行CAPWAP解隧道處理;如果UDP報(bào)文的目的端口為非5247時(shí),則越過(guò)此第一鉤子函數(shù),繼續(xù)交給內(nèi)核協(xié)議棧處理。如果解析成功,則繼續(xù)判斷是否是 IP (Internet Protocol,網(wǎng)絡(luò)之間互連的協(xié)議)報(bào)文、ARP (Address Resolut1nProtocol,地址解析協(xié)議)報(bào)文;如果不是該類報(bào)文,則直接丟包,否則將重新調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù),將所述報(bào)文送入CPU隊(duì)列,隧道內(nèi)用戶數(shù)據(jù)報(bào)文重入?yún)f(xié)議棧,繼續(xù)對(duì)其進(jìn)行處理。
[0107]如圖12所示,圖12為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖,包括:
[0108]第二獲取模塊201,用于獲取無(wú)線控制器本地產(chǎn)生的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文;
[0109]第二判斷模塊202,用于判斷所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文的出口是否為CAPWAP用戶接口,若是,則判斷所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文是否為用戶數(shù)據(jù)報(bào)文;
[0110]第二封裝模塊203,用于當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文為用戶數(shù)據(jù)報(bào)文時(shí),利用在網(wǎng)絡(luò)過(guò)濾器本地出口鉤子點(diǎn)處注冊(cè)的第二鉤子函數(shù)對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP 報(bào)文。
[0111]在本實(shí)施例中,通過(guò)在網(wǎng)絡(luò)過(guò)濾器本地出口鉤子點(diǎn)處注冊(cè)第二鉤子函數(shù),并利用所述第二鉤子函數(shù)對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文,當(dāng)報(bào)文的出口為CAPWAP用戶接口,則進(jìn)一步判斷是否為用戶數(shù)據(jù);如果為用戶數(shù)據(jù),則進(jìn)行CAPWAP封裝,進(jìn)入路由發(fā)送后再進(jìn)入內(nèi)核協(xié)議棧由處理模塊103對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理;如果不是用戶數(shù)據(jù)報(bào)文,則不封裝CAPWAP隧道,直接進(jìn)入內(nèi)核協(xié)議棧。
[0112]如圖13所示,圖13為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖,包括:
[0113]第三獲取模塊301,用于獲取無(wú)線控制器的內(nèi)核網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)點(diǎn)的數(shù)據(jù)報(bào)文;
[0114]第三判斷模塊302,用于判斷所述數(shù)據(jù)報(bào)文的出口是否為CAPWAP用戶接口,若是,則判斷所述數(shù)據(jù)報(bào)文是否為用戶數(shù)據(jù)報(bào)文;
[0115]第三封裝模塊303,用于當(dāng)所述數(shù)據(jù)報(bào)文為用戶數(shù)據(jù)報(bào)文時(shí),利用在網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)鉤子點(diǎn)處注冊(cè)的第三鉤子函數(shù)對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP 報(bào)文。
[0116]在本實(shí)施例中,通過(guò)利用在網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)鉤子點(diǎn)處注冊(cè)的第三鉤子函數(shù)對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文,并調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述CAPWAP報(bào)文發(fā)送至Linux內(nèi)核協(xié)議桟;利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述CAPWAP報(bào)文進(jìn)行處理。第三鉤子函數(shù)主要處理外網(wǎng)發(fā)送給用戶的下行數(shù)據(jù)報(bào)文。當(dāng)報(bào)文的出口為CAPWAP用戶接口,則進(jìn)一步判斷是否為用戶數(shù)據(jù)報(bào)文;如果為用戶數(shù)據(jù)報(bào)文,則進(jìn)行CAPWAP隧道封裝,路由發(fā)送后進(jìn)入內(nèi)核協(xié)議棧由處理模塊103對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。如果不是用戶數(shù)據(jù)報(bào)文則不進(jìn)行CAPWAP封裝,直接進(jìn)入內(nèi)核協(xié)議棧。
[0117]如圖14所示,圖14為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖,包括:
[0118]第四獲取模塊401,用于獲取無(wú)線控制器的內(nèi)核網(wǎng)絡(luò)過(guò)濾器ARP本地出口點(diǎn)的ARP報(bào)文;
[0119]第四判斷模塊402,用于判斷所述ARP報(bào)文是否為發(fā)給用戶的ARP報(bào)文;
[0120]第四封裝模塊403,用于當(dāng)所述ARP報(bào)文為發(fā)給用戶的ARP報(bào)文時(shí),利用在網(wǎng)絡(luò)過(guò)濾器ARP出口鉤子點(diǎn)處注冊(cè)的第四鉤子函數(shù)對(duì)所述ARP報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文。
[0121]在本實(shí)施例中,通過(guò)利用在網(wǎng)絡(luò)過(guò)濾器ARP出口鉤子點(diǎn)處注冊(cè)的第四鉤子函數(shù)對(duì)所述ARP報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文,并調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述CAPWAP報(bào)文發(fā)送至Linux內(nèi)核協(xié)議棧由處理模塊103對(duì)所述CAPWAP報(bào)文進(jìn)行處理;利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述CAPWAP報(bào)文進(jìn)行處理。在ARP出口鉤子點(diǎn)處截獲所有的ARP報(bào)文,并查找是否為發(fā)送給用戶的ARP;查找方法為:ARP為請(qǐng)求報(bào)文時(shí)查找用戶的IP表,當(dāng)ARP為回復(fù)類型時(shí)查找用戶的MAC表。通過(guò)判斷確定為發(fā)送給用戶的ARP報(bào)文后,進(jìn)行CAPWAP封裝;否則放行該ARP報(bào)文,由內(nèi)核協(xié)議棧自行處理。
[0122]如圖15所示,圖15為本發(fā)明的另一個(gè)實(shí)施例的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng)的結(jié)構(gòu)示意圖,包括:
[0123]第五獲取模塊501,用于獲取用戶通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的DHCP請(qǐng)求報(bào)文;
[0124]發(fā)送模塊502,用于利用在本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)DHCP請(qǐng)求報(bào)文解CAPWAP隧道后,重新放入內(nèi)核協(xié)議棧;利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧將DHCP請(qǐng)求報(bào)文交由DHCPD進(jìn)程處理;
[0125]第五封裝模塊503,用于通過(guò)將原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)置換為自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)的方式對(duì)無(wú)線控制器回復(fù)給用戶的DHCP回復(fù)報(bào)文進(jìn)行封裝,得到CAPWAP報(bào)文。
[0126]在其中一個(gè)實(shí)施例中,本發(fā)明的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),所述第五封裝模塊503,還可以用于:
[0127]將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址;
[0128]當(dāng)接收用戶數(shù)據(jù)報(bào)文的CAPWAP接口收到所述DHCP回復(fù)報(bào)文時(shí),通過(guò)所述自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)對(duì)所述DHCP回復(fù)報(bào)文進(jìn)行封裝。
[0129]在其中一個(gè)實(shí)施例中,本發(fā)明的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),在所述第五封裝模塊503之后,還可以包括:還原模塊504;
[0130]其中,所述還原模塊504還可以用于:
[0131]在所述將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址之前,獲取原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址并進(jìn)行保存;
[0132]在所述將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址之后,當(dāng)接收所述DHCP回復(fù)報(bào)文的不是CAPWAP接口時(shí),將所述原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換所述自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址。
[0133]在上述實(shí)施例中,用戶的上行DHCP請(qǐng)求報(bào)文在本地入口鉤子點(diǎn)處解CAPWAP隧道頭部后,會(huì)重入內(nèi)核協(xié)議棧,由內(nèi)核協(xié)議棧將該DHCP請(qǐng)求報(bào)文交給DHCPD進(jìn)程處理;下行數(shù)據(jù)由于DHCPD進(jìn)程使用原始套接字直接將DHCP回復(fù)報(bào)文發(fā)送出去,所以采用替換網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)的方式對(duì)回復(fù)用戶的DHCP報(bào)文進(jìn)行CAPWAP封裝。
[0134]上述無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法和系統(tǒng),通過(guò)在Linux內(nèi)核網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)第一鉤子函數(shù),在本地出口鉤子點(diǎn)處注冊(cè)第二鉤子函數(shù),在轉(zhuǎn)發(fā)路由鉤子點(diǎn)處注冊(cè)第三鉤子函數(shù),在ARP出口鉤子點(diǎn)處注冊(cè)第四鉤子函數(shù),并利用所述鉤子函數(shù)對(duì)相應(yīng)的報(bào)文進(jìn)行CAPWAP解封裝或者封裝成CAPWAP報(bào)文,并調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文發(fā)送至Linux內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。通過(guò)上述技術(shù)方案,實(shí)現(xiàn)了基于現(xiàn)有的Linux內(nèi)核協(xié)議棧對(duì)用戶數(shù)據(jù)報(bào)文進(jìn)行處理,極大地降低了對(duì)CAPWAP報(bào)文的處理難度,同時(shí),在一定程度上對(duì)CAPWAP報(bào)文的處理成本。
[0135]以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書(shū)記載的范圍。
[0136]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于,包括如下步驟: 獲取無(wú)線接入點(diǎn)通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的CAPWAP報(bào)文; 利用在Linux內(nèi)核網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,得到用戶數(shù)據(jù)報(bào)文; 調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。2.根據(jù)權(quán)利要求1所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于,在所述對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝的步驟之前,還包括: 判斷所述CAPWAP報(bào)文的目的端口是否為數(shù)據(jù)報(bào)文端口,若是,則對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝。3.根據(jù)權(quán)利要求1所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于,在所述得到用戶數(shù)據(jù)報(bào)文的步驟之后,還包括: 判斷所述用戶數(shù)據(jù)報(bào)文是否為IP報(bào)文或者ARP報(bào)文,若否,則將所述用戶數(shù)據(jù)報(bào)文進(jìn)行丟棄處理。4.根據(jù)權(quán)利要求3所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于: 若判斷所述用戶數(shù)據(jù)報(bào)文為IP報(bào)文或者ARP報(bào)文,則通過(guò)調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。5.根據(jù)權(quán)利要求1所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于,還包括如下步驟: 獲取無(wú)線控制器本地產(chǎn)生的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文; 判斷所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文的出口是否為CAPWAP用戶接口,若是,判斷所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文是否為用戶數(shù)據(jù)報(bào)文; 若是,則利用在網(wǎng)絡(luò)過(guò)濾器本地出口鉤子點(diǎn)處注冊(cè)的第二鉤子函數(shù)對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文。6.根據(jù)權(quán)利要求1所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于,還包括如下步驟: 獲取無(wú)線控制器的內(nèi)核網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)點(diǎn)的數(shù)據(jù)報(bào)文; 判斷所述數(shù)據(jù)報(bào)文的出口是否為CAPWAP用戶接口,若是,則判斷所述數(shù)據(jù)報(bào)文是否為用戶數(shù)據(jù)報(bào)文; 若是,則利用在網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)鉤子點(diǎn)處注冊(cè)的第三鉤子函數(shù)對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文。7.根據(jù)權(quán)利要求1所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于,還包括如下步驟: 獲取無(wú)線控制器的內(nèi)核網(wǎng)絡(luò)過(guò)濾器ARP本地出口點(diǎn)的ARP報(bào)文; 判斷所述ARP報(bào)文是否為發(fā)給用戶的ARP報(bào)文,若是,則利用在網(wǎng)絡(luò)過(guò)濾器ARP出口鉤子點(diǎn)處注冊(cè)的第四鉤子函數(shù)對(duì)所述ARP報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文。8.根據(jù)權(quán)利要求1所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于,還包括如下步驟: 獲取用戶通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的DHCP請(qǐng)求報(bào)文; 利用在本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)DHCP請(qǐng)求報(bào)文解CAPWAP隧道后,重新放入內(nèi)核協(xié)議棧;利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧將DHCP請(qǐng)求報(bào)文交由DHCPD進(jìn)程處理; 通過(guò)將原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)置換為自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)的方式對(duì)無(wú)線控制器回復(fù)給用戶的DHCP回復(fù)報(bào)文進(jìn)行封裝,得到CAPWAP報(bào)文。9.根據(jù)權(quán)利要求8所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于,所述通過(guò)將原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)置換為自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)的方式對(duì)無(wú)線控制器回復(fù)給用戶的DHCP回復(fù)報(bào)文進(jìn)行封裝的步驟包括: 當(dāng)系統(tǒng)接口配置為CAPWAP接口時(shí),將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址; 當(dāng)接收用戶數(shù)據(jù)報(bào)文的CAPWAP接口收到所述DHCP回復(fù)報(bào)文時(shí),通過(guò)所述自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)對(duì)所述DHCP回復(fù)報(bào)文進(jìn)行封裝。10.根據(jù)權(quán)利要求9所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理方法,其特征在于,在所述將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址的步驟之前,還包括: 獲取原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址并進(jìn)行保存; 在所述將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址的步驟之后,還包括: 當(dāng)接口配置改為非CAPWAP接口時(shí),將所述原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換所述自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址。11.一種無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,包括: 獲取模塊,用于獲取無(wú)線接入點(diǎn)通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的CAPWAP報(bào)文; 解封裝模塊,用于利用在Linux內(nèi)核網(wǎng)絡(luò)過(guò)濾器接口的本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝,得到用戶數(shù)據(jù)報(bào)文; 處理模塊,用于調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。12.根據(jù)權(quán)利要求11所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,在所述解封裝模塊之前,還包括: 第一判斷模塊,用于判斷所述CAPWAP報(bào)文的目的端口是否為數(shù)據(jù)報(bào)文端口,若是,轉(zhuǎn)入解封裝模塊對(duì)所述CAPWAP報(bào)文進(jìn)行解封裝; 在所述第一判斷模塊之后,還包括: 內(nèi)核協(xié)議棧處理模塊,用于當(dāng)所述CAPWAP報(bào)文的目的端口不是數(shù)據(jù)報(bào)文端口時(shí),將所述CAPWAP報(bào)文轉(zhuǎn)入內(nèi)核協(xié)議棧進(jìn)行處理; 在所述解封裝模塊之后,還包括: 報(bào)文類型判斷模塊,用于判斷所述用戶數(shù)據(jù)報(bào)文是否為IP報(bào)文或者ARP報(bào)文。13.根據(jù)權(quán)利要求12所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,在所述報(bào)文類型判斷模塊之后,還包括: 丟棄模塊,用于當(dāng)所述用戶數(shù)據(jù)報(bào)文既不是IP報(bào)文,也不是ARP報(bào)文時(shí),將所述用戶數(shù)據(jù)報(bào)文進(jìn)行丟棄處理。14.根據(jù)權(quán)利要求12所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,所述處理模塊,還用于: 若判斷所述用戶數(shù)據(jù)報(bào)文為IP報(bào)文或者ARP報(bào)文,則通過(guò)調(diào)用內(nèi)核網(wǎng)絡(luò)設(shè)備接口層數(shù)據(jù)包接收函數(shù)將所述用戶數(shù)據(jù)報(bào)文重新放入內(nèi)核協(xié)議棧,利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行處理。15.根據(jù)權(quán)利要求11所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,還包括: 第二獲取模塊,用于獲取無(wú)線控制器本地產(chǎn)生的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文; 第二判斷模塊,用于判斷所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文的出口是否為CAPWAP用戶接口,若是,則判斷所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文是否為用戶數(shù)據(jù)報(bào)文; 第二封裝模塊,用于當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)報(bào)文為用戶數(shù)據(jù)報(bào)文時(shí),利用在網(wǎng)絡(luò)過(guò)濾器本地出口鉤子點(diǎn)處注冊(cè)的第二鉤子函數(shù)對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文。16.根據(jù)權(quán)利要求11所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,還包括: 第三獲取模塊,用于獲取無(wú)線控制器的內(nèi)核網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)點(diǎn)的數(shù)據(jù)報(bào)文; 第三判斷模塊,用于判斷所述數(shù)據(jù)報(bào)文的出口是否為CAPWAP用戶接口,若是,則判斷所述數(shù)據(jù)報(bào)文是否為用戶數(shù)據(jù)報(bào)文; 第三封裝模塊,用于當(dāng)所述數(shù)據(jù)報(bào)文為用戶數(shù)據(jù)報(bào)文時(shí),利用在網(wǎng)絡(luò)過(guò)濾器路由轉(zhuǎn)發(fā)鉤子點(diǎn)處注冊(cè)的第三鉤子函數(shù)對(duì)所述用戶數(shù)據(jù)報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文。17.根據(jù)權(quán)利要求11所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,還包括: 第四獲取模塊,用于獲取無(wú)線控制器的內(nèi)核網(wǎng)絡(luò)過(guò)濾器ARP本地出口點(diǎn)的ARP報(bào)文; 第四判斷模塊,用于判斷所述ARP報(bào)文是否為發(fā)給用戶的ARP報(bào)文; 第四封裝模塊,用于當(dāng)所述ARP報(bào)文為發(fā)給用戶的ARP報(bào)文時(shí),利用在網(wǎng)絡(luò)過(guò)濾器ARP出口鉤子點(diǎn)處注冊(cè)的第四鉤子函數(shù)對(duì)所述ARP報(bào)文進(jìn)行CAPWAP隧道封裝,得到CAPWAP報(bào)文。18.根據(jù)權(quán)利要求11所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,還包括: 第五獲取模塊,用于獲取用戶通過(guò)CAPWAP隧道協(xié)議向無(wú)線控制器發(fā)送的DHCP請(qǐng)求報(bào)文; 發(fā)送模塊,用于利用在本地入口鉤子點(diǎn)處注冊(cè)的第一鉤子函數(shù)對(duì)DHCP請(qǐng)求報(bào)文解CAPWAP隧道后,重新放入內(nèi)核協(xié)議棧;利用無(wú)線控制器的Linux內(nèi)核協(xié)議棧將DHCP請(qǐng)求報(bào)文交由DHCPD進(jìn)程處理; 第五封裝模塊,用于通過(guò)將原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)置換為自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)的方式對(duì)無(wú)線控制器回復(fù)給用戶的DHCP回復(fù)報(bào)文進(jìn)行封裝,得到CAPWAP報(bào)文。19.根據(jù)權(quán)利要求18所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,所述第五封裝模塊,還用于: 當(dāng)系統(tǒng)接口配置為CAPWAP接口時(shí),將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址; 當(dāng)接收用戶數(shù)據(jù)報(bào)文的CAPWAP接口收到所述DHCP回復(fù)報(bào)文時(shí),通過(guò)所述自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)對(duì)所述DHCP回復(fù)報(bào)文進(jìn)行封裝。20.根據(jù)權(quán)利要求19所述的無(wú)線控制器對(duì)CAPWAP報(bào)文的處理系統(tǒng),其特征在于,在所述第五封裝模塊之后,還包括:還原模塊; 其中,所述還原模塊用于: 在所述將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址之前,獲取原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址并進(jìn)行保存; 在所述將自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址之后,當(dāng)接收所述DHCP回復(fù)報(bào)文的不是CAPWAP接口時(shí),將所述原網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址替換所述自定義的網(wǎng)絡(luò)驅(qū)動(dòng)函數(shù)地址。
【文檔編號(hào)】H04L12/947GK106059885SQ201610431373
【公開(kāi)日】2016年10月26日
【申請(qǐng)日】2016年6月15日
【發(fā)明人】張海泉, 侯天成
【申請(qǐng)人】京信通信系統(tǒng)(中國(guó))有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1