[發(fā)明專利]DNS后端轉(zhuǎn)發(fā)方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 202010181059.0 | 申請日: | 2020-03-16 |
| 公開(公告)號: | CN111371804B | 公開(公告)日: | 2023-01-20 |
| 發(fā)明(設(shè)計)人: | 張鵬;龔道彪 | 申請(專利權(quán))人: | 廣州根鏈國際網(wǎng)絡(luò)研究院有限公司 |
| 主分類號: | H04L69/16 | 分類號: | H04L69/16;H04L61/4511 |
| 代理公司: | 北京眾合誠成知識產(chǎn)權(quán)代理有限公司 11246 | 代理人: | 張文寶 |
| 地址: | 511400 廣東省廣州市南沙區(qū)香*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | dns 后端 轉(zhuǎn)發(fā) 方法 系統(tǒng) | ||
1.一種DNS后端轉(zhuǎn)發(fā)方法,其特征在于,包括如下步驟:
前端處理線程繞過內(nèi)核協(xié)議棧直接處理數(shù)據(jù)鏈路層到達(dá)的網(wǎng)絡(luò)報文并在觸發(fā)轉(zhuǎn)發(fā)請求時發(fā)起轉(zhuǎn)發(fā);發(fā)起轉(zhuǎn)發(fā)時由所述前端處理線程在等待隊列中注冊DNS請求,并向轉(zhuǎn)發(fā)隊列存入DNS請求內(nèi)容,所述后端請求轉(zhuǎn)發(fā)線程取出轉(zhuǎn)發(fā)隊列中的DNS請求內(nèi)容進(jìn)行處理并轉(zhuǎn)發(fā)給對應(yīng)的后端服務(wù)器,所述后端應(yīng)答接收線程在獲取到后端服務(wù)器返回的DNS應(yīng)答時,與所述等待隊列中的DNS請求進(jìn)行匹配;所述等待隊列包括多個存儲位,所述存儲位由等待隊列分配的交易識別符標(biāo)記,所述DNS請求根據(jù)注冊分配的交易識別符存入對應(yīng)的存儲位,同一存儲位的DNS請求通過匹配關(guān)鍵詞進(jìn)行查找匹配;
后端請求轉(zhuǎn)發(fā)線程響應(yīng)轉(zhuǎn)發(fā)請求,通過創(chuàng)建套接字接入網(wǎng)絡(luò)與后端服務(wù)器進(jìn)行通信;前端處理線程對確定的轉(zhuǎn)發(fā)任務(wù)進(jìn)行注冊,并存入相應(yīng)的DNS請求內(nèi)容,而真正負(fù)責(zé)轉(zhuǎn)發(fā)的是由后端請求轉(zhuǎn)發(fā)線程實施,這樣保證DNS解析運行的并行性和效率;讓前端處理線程專注于外部網(wǎng)絡(luò)的報文收發(fā)及報文處理,而由后端請求轉(zhuǎn)發(fā)線程專門處理與后端服務(wù)器的通信及轉(zhuǎn)發(fā)處理;考慮到向后端服務(wù)器進(jìn)行轉(zhuǎn)發(fā)的需求及頻度,后端請求轉(zhuǎn)發(fā)線程及后端應(yīng)答接收線程都采用內(nèi)核態(tài)收發(fā)包架構(gòu),通過創(chuàng)建套接字與網(wǎng)絡(luò)中的后端服務(wù)器進(jìn)行通信,向后端服務(wù)器實施轉(zhuǎn)發(fā)時,每個后端請求轉(zhuǎn)發(fā)線程采用一組固定的 UDP 端口,相應(yīng)地會創(chuàng)建對應(yīng)數(shù)量的Socket實現(xiàn)報文轉(zhuǎn)發(fā);在為網(wǎng)卡的多個收發(fā)隊列設(shè)置多個后端請求轉(zhuǎn)發(fā)線程時,每個后端請求轉(zhuǎn)發(fā)線程采用的UDP端口不重疊,這樣保證線程之間一一對應(yīng);
當(dāng)供擴展的后端服務(wù)器存在多個時,后端請求轉(zhuǎn)發(fā)線程還需對接收轉(zhuǎn)發(fā)查詢的后端服務(wù)器進(jìn)行選擇,基于負(fù)載均衡策略主要是為了保證后端服務(wù)器響應(yīng)的平衡性和高效性,始終保證采用最佳的后端服務(wù)器進(jìn)行查詢,將不同終端的DNS請求轉(zhuǎn)發(fā)給不同的后端服務(wù)器進(jìn)行解析查詢;負(fù)載均衡策略包括根據(jù)請求報文源地址的轉(zhuǎn)發(fā)策略、根據(jù)請求報文目的地址的轉(zhuǎn)發(fā)策略、根據(jù)請求域名的轉(zhuǎn)發(fā)策略,根據(jù)請求類型的轉(zhuǎn)發(fā)策略,這些策略具體結(jié)合預(yù)設(shè)的調(diào)度算法或者采用隨機的分配方式確定相應(yīng)的后端服務(wù)器;同時相應(yīng)的策略還包括距離最優(yōu)、服務(wù)性能最優(yōu)速度優(yōu)化策略;以上策略的選擇及執(zhí)行根據(jù)人工設(shè)置配置文件指定,亦或者對以上策略優(yōu)先級實行動態(tài)調(diào)整,具體的優(yōu)先級關(guān)系也通過配置文件指定,當(dāng)啟動后重新修改配置文件時,通過執(zhí)行配置重載的命令重載配置即可;后端請求轉(zhuǎn)發(fā)線程向根據(jù)對應(yīng)策略確定的后端服務(wù)器發(fā)起DNS請求,大大提高轉(zhuǎn)發(fā)查詢的性能,當(dāng)策略確定的后端服務(wù)器存在多個權(quán)重相同時,則從多個權(quán)重一樣的服務(wù)器中隨機確定一個后端服務(wù)器實施轉(zhuǎn)發(fā)請求;
后端應(yīng)答接收線程通過epoll系統(tǒng)調(diào)用監(jiān)聽套接字以獲得后端服務(wù)器返回的應(yīng)答報文。
2.根據(jù)權(quán)利要求1所述的DNS后端轉(zhuǎn)發(fā)方法,其特征在于,所述前端處理線程在DNS緩存中查找對應(yīng)資源記錄失敗時觸發(fā)轉(zhuǎn)發(fā)請求。
3.根據(jù)權(quán)利要求1所述的DNS后端轉(zhuǎn)發(fā)方法,其特征在于,周期性分析DNS緩存中的資源記錄,根據(jù)預(yù)取需要觸發(fā)轉(zhuǎn)發(fā)請求。
4.根據(jù)權(quán)利要求1所述的DNS后端轉(zhuǎn)發(fā)方法,其特征在于,所述后端請求轉(zhuǎn)發(fā)線程在創(chuàng)建套接字接入網(wǎng)絡(luò)時,根據(jù)負(fù)載均衡策略選擇對應(yīng)轉(zhuǎn)發(fā)的后端服務(wù)器。
5.根據(jù)權(quán)利要求1所述的DNS后端轉(zhuǎn)發(fā)方法,其特征在于,所述后端應(yīng)答接收線程在需要向終端響應(yīng)應(yīng)答時,將接收的應(yīng)答報文重組后遞交給內(nèi)核協(xié)議棧,由所述內(nèi)核協(xié)議棧通過虛擬網(wǎng)卡模塊返回給對應(yīng)的網(wǎng)卡發(fā)送出去。
6.根據(jù)權(quán)利要求1所述的DNS后端轉(zhuǎn)發(fā)方法,其特征在于,實現(xiàn)數(shù)據(jù)鏈路層收發(fā)報文的網(wǎng)卡,在具有若干對收發(fā)隊列時,為每對收發(fā)隊列設(shè)置對應(yīng)的前端處理線程、后端請求轉(zhuǎn)發(fā)線程及后端應(yīng)答接收線程,以保證一一對應(yīng)。
7.一種DNS后端轉(zhuǎn)發(fā)系統(tǒng),其特征在于,包括:
觸發(fā)單元,用于前端處理線程繞過內(nèi)核協(xié)議棧直接處理數(shù)據(jù)鏈路層到達(dá)的網(wǎng)絡(luò)報文并在觸發(fā)轉(zhuǎn)發(fā)請求時發(fā)起轉(zhuǎn)發(fā);發(fā)起轉(zhuǎn)發(fā)時由所述前端處理線程在等待隊列中注冊DNS請求,并向轉(zhuǎn)發(fā)隊列存入DNS請求內(nèi)容,所述后端請求轉(zhuǎn)發(fā)線程取出轉(zhuǎn)發(fā)隊列中的DNS請求內(nèi)容進(jìn)行處理并轉(zhuǎn)發(fā)給對應(yīng)的后端服務(wù)器,所述后端應(yīng)答接收線程在獲取到后端服務(wù)器返回的DNS應(yīng)答時,與所述等待隊列中的DNS請求進(jìn)行匹配;所述等待隊列包括多個存儲位,所述存儲位由等待隊列分配的交易識別符標(biāo)記,所述DNS請求根據(jù)注冊分配的交易識別符存入對應(yīng)的存儲位,同一存儲位的DNS請求通過匹配關(guān)鍵詞進(jìn)行查找匹配;
轉(zhuǎn)發(fā)單元,用于后端請求轉(zhuǎn)發(fā)線程響應(yīng)轉(zhuǎn)發(fā)請求,通過創(chuàng)建套接字接入網(wǎng)絡(luò)與后端服務(wù)器進(jìn)行通信;前端處理線程對確定的轉(zhuǎn)發(fā)任務(wù)進(jìn)行注冊,并存入相應(yīng)的DNS請求內(nèi)容,而真正負(fù)責(zé)轉(zhuǎn)發(fā)的是由后端請求轉(zhuǎn)發(fā)線程實施,這樣保證DNS解析運行的并行性和效率;讓前端處理線程專注于外部網(wǎng)絡(luò)的報文收發(fā)及報文處理,而由后端請求轉(zhuǎn)發(fā)線程專門處理與后端服務(wù)器的通信及轉(zhuǎn)發(fā)處理;考慮到向后端服務(wù)器進(jìn)行轉(zhuǎn)發(fā)的需求及頻度,后端請求轉(zhuǎn)發(fā)線程及后端應(yīng)答接收線程都采用內(nèi)核態(tài)收發(fā)包架構(gòu),通過創(chuàng)建套接字與網(wǎng)絡(luò)中的后端服務(wù)器進(jìn)行通信,向后端服務(wù)器實施轉(zhuǎn)發(fā)時,每個后端請求轉(zhuǎn)發(fā)線程采用一組固定的 UDP 端口,相應(yīng)地會創(chuàng)建對應(yīng)數(shù)量的Socket實現(xiàn)報文轉(zhuǎn)發(fā);在為網(wǎng)卡的多個收發(fā)隊列設(shè)置多個后端請求轉(zhuǎn)發(fā)線程時,每個后端請求轉(zhuǎn)發(fā)線程采用的UDP端口不重疊,這樣保證線程之間一一對應(yīng);
當(dāng)供擴展的后端服務(wù)器存在多個時,后端請求轉(zhuǎn)發(fā)線程還需對接收轉(zhuǎn)發(fā)查詢的后端服務(wù)器進(jìn)行選擇,基于負(fù)載均衡策略主要是為了保證后端服務(wù)器響應(yīng)的平衡性和高效性,始終保證采用最佳的后端服務(wù)器進(jìn)行查詢,將不同終端的DNS請求轉(zhuǎn)發(fā)給不同的后端服務(wù)器進(jìn)行解析查詢;負(fù)載均衡策略包括根據(jù)請求報文源地址的轉(zhuǎn)發(fā)策略、根據(jù)請求報文目的地址的轉(zhuǎn)發(fā)策略、根據(jù)請求域名的轉(zhuǎn)發(fā)策略,根據(jù)請求類型的轉(zhuǎn)發(fā)策略,這些策略具體結(jié)合預(yù)設(shè)的調(diào)度算法或者采用隨機的分配方式確定相應(yīng)的后端服務(wù)器;同時相應(yīng)的策略還包括距離最優(yōu)、服務(wù)性能最優(yōu)速度優(yōu)化策略;以上策略的選擇及執(zhí)行根據(jù)人工設(shè)置配置文件指定,亦或者對以上策略優(yōu)先級實行動態(tài)調(diào)整,具體的優(yōu)先級關(guān)系也通過配置文件指定,當(dāng)啟動后重新修改配置文件時,通過執(zhí)行配置重載的命令重載配置即可;后端請求轉(zhuǎn)發(fā)線程向根據(jù)對應(yīng)策略確定的后端服務(wù)器發(fā)起DNS請求,大大提高轉(zhuǎn)發(fā)查詢的性能,當(dāng)策略確定的后端服務(wù)器存在多個權(quán)重相同時,則從多個權(quán)重一樣的服務(wù)器中隨機確定一個后端服務(wù)器實施轉(zhuǎn)發(fā)請求;
接收單元,用于后端應(yīng)答接收線程通過epoll系統(tǒng)調(diào)用監(jiān)聽套接字以獲得后端服務(wù)器返回的應(yīng)答報文。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣州根鏈國際網(wǎng)絡(luò)研究院有限公司,未經(jīng)廣州根鏈國際網(wǎng)絡(luò)研究院有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010181059.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 實現(xiàn)DNS區(qū)創(chuàng)建同步的方法、服務(wù)器以及域名系統(tǒng)
- 一種實現(xiàn)可離線化DNS服務(wù)的方法及裝置
- DNS查詢流量控制方法、設(shè)備和系統(tǒng)
- 一種避免DNS污染的方法
- 用于集成內(nèi)部和云域名系統(tǒng)的方法和系統(tǒng)
- 一種DNS數(shù)據(jù)包轉(zhuǎn)發(fā)方法、系統(tǒng)及路由器
- 一種VPN客戶端代理DNS的方法及裝置
- 區(qū)塊鏈域名系統(tǒng)DNS系統(tǒng)的數(shù)據(jù)更新方法及網(wǎng)絡(luò)節(jié)點
- 一種DNS域名獲取系統(tǒng)及方法
- 域名劫持防御方法及裝置、計算機裝置及存儲介質(zhì)
- 一種轉(zhuǎn)發(fā)表的生成方法及裝置
- 報文轉(zhuǎn)發(fā)的方法及網(wǎng)絡(luò)設(shè)備
- 一種轉(zhuǎn)發(fā)表項的存儲方法和裝置
- 一種計算轉(zhuǎn)發(fā)路徑的方法及網(wǎng)絡(luò)設(shè)備
- 一種報文轉(zhuǎn)發(fā)方法及裝置
- 報文轉(zhuǎn)發(fā)方法及裝置
- 一種信息發(fā)布及轉(zhuǎn)發(fā)方法
- 報文轉(zhuǎn)發(fā)方法及裝置
- 數(shù)據(jù)轉(zhuǎn)發(fā)的控制系統(tǒng)、方法、電子設(shè)備及存儲介質(zhì)
- 一種5G數(shù)據(jù)轉(zhuǎn)發(fā)平面的轉(zhuǎn)發(fā)效率控制方法、系統(tǒng)及終端





