两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

報(bào)文處理方法及裝置與流程

文檔序號(hào):11236754閱讀:356來(lái)源:國(guó)知局
報(bào)文處理方法及裝置與流程

本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種報(bào)文處理方法及裝置。



背景技術(shù):

當(dāng)前,域名解析服務(wù)器為人們提供網(wǎng)頁(yè)域名與ip地址(internetprotocoladdress,互聯(lián)網(wǎng)協(xié)議地址)相互轉(zhuǎn)換的信息,是互聯(lián)網(wǎng)系統(tǒng)的一項(xiàng)基礎(chǔ)性技術(shù)設(shè)施,是人們?nèi)粘g覽網(wǎng)頁(yè)的過(guò)程中不可或缺的部分。

目前,當(dāng)用戶利用終端訪問(wèn)某一網(wǎng)頁(yè)時(shí),用戶可以在終端中輸入待訪問(wèn)網(wǎng)頁(yè)的域名,例如,當(dāng)用戶需要瀏覽百度的主頁(yè)面時(shí),可以在終端中輸入百度的主頁(yè)面的域名“www.baidu.com”,終端獲取用戶輸入的待訪問(wèn)網(wǎng)頁(yè)的域名,并生成dns(domainnamesystem,域名系統(tǒng))請(qǐng)求報(bào)文,dns請(qǐng)求報(bào)文中攜帶待訪問(wèn)網(wǎng)頁(yè)的域名,然后向代理服務(wù)器轉(zhuǎn)發(fā)dns請(qǐng)求報(bào)文;代理服務(wù)器利用linux(操作系統(tǒng))的內(nèi)核空間接收該dns請(qǐng)求報(bào)文,利用套接字將dns請(qǐng)求報(bào)文復(fù)制到linux的用戶空間中,然后利用用戶空間向域名解析服務(wù)器轉(zhuǎn)發(fā)該dns請(qǐng)求報(bào)文,域名解析服務(wù)器獲取根據(jù)該網(wǎng)頁(yè)的域名,獲取存儲(chǔ)有該網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址,并根據(jù)該網(wǎng)頁(yè)的域名與網(wǎng)頁(yè)服務(wù)器的ip地址生成dns響應(yīng)報(bào)文,然后向代理服務(wù)器發(fā)送該dns響應(yīng)報(bào)文,代理服務(wù)器利用用戶空間接收域名解析服務(wù)器發(fā)送的該dns響應(yīng)報(bào)文,然后利用套接字將該dns響應(yīng)報(bào)文復(fù)制到內(nèi)核空間中,再利用內(nèi)核空間向終端發(fā)送該dns響應(yīng)報(bào)文。終端接收該dns響應(yīng)報(bào)文,進(jìn)而根據(jù)該dns響應(yīng)報(bào)文中的網(wǎng)頁(yè)服務(wù)器的ip地址從網(wǎng)頁(yè)服務(wù)器中獲取該網(wǎng)頁(yè),并在屏幕上顯示該網(wǎng)頁(yè),以供用戶瀏覽。

發(fā)明人在實(shí)現(xiàn)本發(fā)明實(shí)施例的過(guò)程中發(fā)現(xiàn),相關(guān)技術(shù)中的這種方案至少存在如下缺點(diǎn)。

在上述過(guò)程中,需要利用套接字將dns請(qǐng)求報(bào)文從內(nèi)核空間復(fù)制到用戶空間,以及需要利用套接字將dns響應(yīng)報(bào)文從用戶空間復(fù)制到內(nèi)核空間,兩次復(fù)制過(guò)程耗費(fèi)系統(tǒng)資源,且會(huì)耗費(fèi)較多的時(shí)間,進(jìn)而降低了終端獲取到dns響應(yīng)報(bào)文的獲取效率。



技術(shù)實(shí)現(xiàn)要素:

為克服相關(guān)技術(shù)中存在的問(wèn)題,本發(fā)明實(shí)施例提供一種報(bào)文處理方法及裝置。

根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種報(bào)文處理方法,應(yīng)用于代理服務(wù)器,所述方法包括:

利用基于linux的內(nèi)核空間接收終端發(fā)送的dns請(qǐng)求報(bào)文,所述dns請(qǐng)求報(bào)文攜帶待訪問(wèn)網(wǎng)頁(yè)的域名;

利用所述內(nèi)核空間在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括所述dns請(qǐng)求報(bào)文的記錄;所述預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)dns請(qǐng)求報(bào)文與一個(gè)dns響應(yīng)報(bào)文,且不同的記錄包括的dns請(qǐng)求報(bào)文和dns響應(yīng)報(bào)文不同;

如果查找到包括所述dns請(qǐng)求報(bào)文的記錄,則利用所述內(nèi)核空間向所述終端發(fā)送所述查找到的dns響應(yīng)報(bào)文。

進(jìn)一步地,所述方法還包括:

如果未查找到包括所述dns請(qǐng)求報(bào)文的記錄,則利用所述內(nèi)核空間向域名解析服務(wù)器發(fā)送所述dns請(qǐng)求報(bào)文;

利用所述內(nèi)核空間接收所述域名解析服務(wù)器根據(jù)所述dns請(qǐng)求報(bào)文返回的dns響應(yīng)報(bào)文;

利用所述內(nèi)核空間向所述終端發(fā)送所述接收到的dns響應(yīng)報(bào)文。

進(jìn)一步地,所述方法還包括:

將所述dns請(qǐng)求報(bào)文與所述接收到的dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)在所述預(yù)設(shè)報(bào)文列表中。

其中,所述利用所述內(nèi)核空間向域名解析服務(wù)器發(fā)送所述dns請(qǐng)求報(bào)文,包括:

如果所述dns請(qǐng)求報(bào)文中的源ip地址為私網(wǎng)ip地址,則利用所述內(nèi)核空間將所述dns請(qǐng)求報(bào)文中的源ip地址修改為所述代理服務(wù)器的公網(wǎng)ip地址,再利用所述內(nèi)核空間向所述域名解析服務(wù)器發(fā)送修改了源ip地址的dns請(qǐng)求報(bào)文。

其中,所述向所述終端發(fā)送所述查找到的dns響應(yīng)報(bào)文,包括:

利用所述內(nèi)核空間將所述dns響應(yīng)報(bào)文中的目的ip地址修改為所述終端的私網(wǎng)ip地址,再利用所述內(nèi)核空間向所述終端發(fā)送修改了目的ip地址的dns響應(yīng)報(bào)文。

根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種報(bào)文處理裝置,應(yīng)用于代理服務(wù)器,所述裝置包括:

第一接收模塊,用于利用基于linux的內(nèi)核空間接收終端發(fā)送的dns請(qǐng)求報(bào)文,所述dns請(qǐng)求報(bào)文攜帶待訪問(wèn)網(wǎng)頁(yè)的域名;

查找模塊,用于利用所述內(nèi)核空間在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括所述dns請(qǐng)求報(bào)文的記錄;所述預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)dns請(qǐng)求報(bào)文與一個(gè)dns響應(yīng)報(bào)文,且不同的記錄包括的dns請(qǐng)求報(bào)文和dns響應(yīng)報(bào)文不同;

第一發(fā)送模塊,用于如果查找到包括所述dns請(qǐng)求報(bào)文的記錄,則利用所述內(nèi)核空間向所述終端發(fā)送所述查找到的dns響應(yīng)報(bào)文。

進(jìn)一步地,所述裝置還包括:

第二發(fā)送模塊,用于如果未查找到包括所述dns請(qǐng)求報(bào)文的記錄,則利用所述內(nèi)核空間向域名解析服務(wù)器發(fā)送所述dns請(qǐng)求報(bào)文;

第二接收模塊,用于利用所述內(nèi)核空間接收所述域名解析服務(wù)器根據(jù)所述dns請(qǐng)求報(bào)文返回的dns響應(yīng)報(bào)文;

第三發(fā)送模塊,用于利用所述內(nèi)核空間向所述終端發(fā)送所述接收到的dns響應(yīng)報(bào)文。

進(jìn)一步地,所述裝置還包括:

存儲(chǔ)模塊,用于將所述dns請(qǐng)求報(bào)文與所述接收到的dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)在所述預(yù)設(shè)報(bào)文列表中。

其中,所述第二發(fā)送模塊包括:

第一修改單元,用于如果所述dns請(qǐng)求報(bào)文中的源ip地址為私網(wǎng)ip地址,則利用所述內(nèi)核空間將所述dns請(qǐng)求報(bào)文中的源ip地址修改為所述代理服務(wù)器的公網(wǎng)ip地址;

第二發(fā)送單元,用于利用所述內(nèi)核空間向所述域名解析服務(wù)器發(fā)送修改了源ip地址的dns請(qǐng)求報(bào)文。

其中,所述第三發(fā)送模塊包括:

第二修改單元,用于利用所述內(nèi)核空間將所述dns響應(yīng)報(bào)文中的目的ip地址修改為所述終端的私網(wǎng)ip地址;

第二發(fā)送單元,用于利用所述內(nèi)核空間向所述終端發(fā)送修改了目的ip地址的dns響應(yīng)報(bào)文。

本發(fā)明實(shí)施例提供的技術(shù)方案可以包括以下有益效果:

在本發(fā)明實(shí)施例中,利用基于linux的內(nèi)核空間接收終端發(fā)送的dns請(qǐng)求報(bào)文,該dns請(qǐng)求報(bào)文攜帶待訪問(wèn)網(wǎng)頁(yè)的域名;利用內(nèi)核空間在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括該dns請(qǐng)求報(bào)文的記錄;預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)dns請(qǐng)求報(bào)文與一個(gè)dns響應(yīng)報(bào)文,且不同的記錄包括的dns請(qǐng)求報(bào)文和dns響應(yīng)報(bào)文不同;如果查找到包括該dns請(qǐng)求報(bào)文的記錄,則利用內(nèi)核空間向終端發(fā)送查找到的dns響應(yīng)報(bào)文。

本發(fā)明實(shí)施例無(wú)需將dns請(qǐng)求報(bào)文通過(guò)套接字從內(nèi)核空間復(fù)制到用戶空間,也無(wú)需將dns請(qǐng)求報(bào)文通過(guò)套接字從用戶空間復(fù)制到內(nèi)核空間,直接利用內(nèi)核空間處理該dns請(qǐng)求報(bào)文,進(jìn)而利用內(nèi)核空間得到dns響應(yīng)報(bào)文,并利用內(nèi)核空間向終端發(fā)送dns響應(yīng)報(bào)文,從而節(jié)省了系統(tǒng)資源;以及節(jié)省了將dns請(qǐng)求報(bào)文通過(guò)套接字復(fù)制到用戶空間所需耗費(fèi)的時(shí)間,進(jìn)而提高了終端獲取到dns響應(yīng)報(bào)文的獲取效率。

其次,由于底層網(wǎng)絡(luò)接口位于linux的內(nèi)核空間中,且由于本發(fā)明實(shí)施例是利用內(nèi)核空間來(lái)接收并處理dns請(qǐng)求報(bào)文以及利用內(nèi)核空間向終端發(fā)送dns響應(yīng)報(bào)文,因此,可以充分利用位于linux的內(nèi)核空間中的底層的網(wǎng)絡(luò)接口輔助處理dns請(qǐng)求報(bào)文,從而提高了擴(kuò)展性和靈活性。

應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明實(shí)施例。

附圖說(shuō)明

此處的附圖被并入說(shuō)明書中并構(gòu)成本說(shuō)明書的一部分,示出了符合本發(fā)明的實(shí)施例,并與說(shuō)明書一起用于解釋本發(fā)明實(shí)施例的原理。

圖1是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理系統(tǒng)的結(jié)構(gòu)示意圖;

圖2是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理方法的流程圖;

圖3是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理方法的流程圖;

圖4是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明實(shí)施例相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明實(shí)施例的一些方面相一致的裝置和方法的例子。

圖1是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理系統(tǒng)的結(jié)構(gòu)示意圖,如圖1所示,該系統(tǒng)包括終端1、代理服務(wù)器2和域名解析服務(wù)器3。終端1與代理服務(wù)器2之間通信連接,終端1與代理服務(wù)器2之間可以通過(guò)二者之間的通信連接實(shí)現(xiàn)數(shù)據(jù)交互;代理服務(wù)器2與域名解析服務(wù)器3之間通信連接。代理服務(wù)器2與域名解析服務(wù)器3之間可以通過(guò)二者之間的通信連接實(shí)現(xiàn)數(shù)據(jù)交互。

圖2是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理方法的流程圖,如圖2所示,該方法用于如圖1所示的代理服務(wù)器2中,該方法包括以下步驟。

在步驟s101中,利用基于linux的內(nèi)核空間接收終端發(fā)送的dns請(qǐng)求報(bào)文,該dns請(qǐng)求報(bào)文攜帶待訪問(wèn)網(wǎng)頁(yè)的域名;

在本發(fā)明實(shí)施例中,用戶通常利用終端上網(wǎng),當(dāng)用戶需要利用終端訪問(wèn)某一網(wǎng)頁(yè)時(shí),用戶需要首先在終端中輸入該網(wǎng)頁(yè)的域名,例如,www.baidu.com或者www.taobao.com等。終端獲取用戶輸入的該網(wǎng)頁(yè)的域名,并根據(jù)該網(wǎng)頁(yè)的域名從域名解析服務(wù)器中獲取存儲(chǔ)有該網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址(internetprotocoladdress,互聯(lián)網(wǎng)協(xié)議地址),進(jìn)而再根據(jù)網(wǎng)頁(yè)服務(wù)器的ip地址從網(wǎng)頁(yè)服務(wù)器中獲取該網(wǎng)頁(yè),并在終端的屏幕上顯示該網(wǎng)頁(yè),以供用戶瀏覽。

其中,為了能夠根據(jù)該網(wǎng)頁(yè)的域名從域名解析服務(wù)器中獲取存儲(chǔ)有該網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址,終端需要根據(jù)該網(wǎng)頁(yè)的域名生成dns請(qǐng)求報(bào)文,并向域名解析服務(wù)器發(fā)送dns請(qǐng)求報(bào)文;以使域名解析服務(wù)器就會(huì)根據(jù)dns請(qǐng)求報(bào)文攜帶的該網(wǎng)頁(yè)的域名獲取網(wǎng)頁(yè)服務(wù)器的ip地址,并根據(jù)網(wǎng)頁(yè)服務(wù)器的ip地址和該網(wǎng)頁(yè)的域名生成dns響應(yīng)報(bào)文,然后向終端返回dns響應(yīng)報(bào)文;之后終端再?gòu)膁ns響應(yīng)報(bào)文中提取出網(wǎng)頁(yè)服務(wù)器的ip地址。

在本發(fā)明實(shí)施例中,終端在向域名解析服務(wù)器發(fā)送dns請(qǐng)求報(bào)文時(shí),需要先將dns請(qǐng)求報(bào)文發(fā)送至代理服務(wù)器,進(jìn)而代理服務(wù)器再將dns請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至域名解析服務(wù)器。相應(yīng)地,域名解析服務(wù)器在向終端返回dns響應(yīng)報(bào)文時(shí),需要先將dns響應(yīng)報(bào)文發(fā)送至代理服務(wù)器,進(jìn)而代理服務(wù)器再將dns響應(yīng)報(bào)文轉(zhuǎn)發(fā)至終端。

因此,在本發(fā)明實(shí)施例中,當(dāng)終端需要訪問(wèn)某一網(wǎng)頁(yè)時(shí),就會(huì)向代理服務(wù)器發(fā)送攜帶該網(wǎng)頁(yè)的域名的dns請(qǐng)求報(bào)文,代理服務(wù)器在接收到終端發(fā)送的一個(gè)攜帶該網(wǎng)頁(yè)的域名的dns請(qǐng)求報(bào)文之后,就會(huì)從域名解析服務(wù)器中獲取dns響應(yīng)報(bào)文,該dns響應(yīng)報(bào)文中攜帶存儲(chǔ)有該網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址以及該網(wǎng)頁(yè)的域名,并向終端返回該dns響應(yīng)報(bào)文。

如果之后終端還需要訪問(wèn)該網(wǎng)頁(yè),則終端還會(huì)向代理服務(wù)器發(fā)送該dns請(qǐng)求報(bào)文,代理服務(wù)器仍舊需要從域名解析服務(wù)器中獲取該dns響應(yīng)報(bào)文,并向終端返回該dns響應(yīng)報(bào)文,終端再接收該dns響應(yīng)報(bào)文。

但是,代理服務(wù)器從域名解析服務(wù)器中獲取該dns響應(yīng)報(bào)文的過(guò)程為:

代理服務(wù)器向域名解析服務(wù)器轉(zhuǎn)發(fā)該dns請(qǐng)求報(bào)文;域名解析服務(wù)器接收該dns請(qǐng)求報(bào)文,并根據(jù)該dns請(qǐng)求報(bào)文攜帶的該網(wǎng)頁(yè)的域名獲取存儲(chǔ)有該網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址,再根據(jù)該網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址和該網(wǎng)頁(yè)的域名生成該dns響應(yīng)報(bào)文,并向代理服務(wù)器返回該dns響應(yīng)報(bào)文;代理服務(wù)器接收域名解析服務(wù)器返回的該dns響應(yīng)報(bào)文。

在從域名解析服務(wù)器中獲取該dns響應(yīng)報(bào)文的整個(gè)過(guò)程中,代理服務(wù)器需要與域名解析服務(wù)器進(jìn)行兩次數(shù)據(jù)交互,會(huì)耗費(fèi)代理服務(wù)器與域名解析服務(wù)器之間較多的網(wǎng)絡(luò)資源,且在代理服務(wù)器與域名解析服務(wù)器之間的通信連接不穩(wěn)定時(shí),可能需要耗費(fèi)較多時(shí)間代理服務(wù)器才能接收到域名解析服務(wù)器返回的該dns響應(yīng)報(bào)文,導(dǎo)致獲取該dns響應(yīng)報(bào)文的獲取效率較低。

因此,如果之后再次接收到終端發(fā)送的攜帶該域名的該dns請(qǐng)求報(bào)文,為了能夠提高獲取該dns響應(yīng)報(bào)文的獲取效率以及節(jié)省代理服務(wù)器與域名解析服務(wù)器之間的網(wǎng)絡(luò)資源,在代理服務(wù)器接收到域名解析服務(wù)器返回的該dns響應(yīng)報(bào)文時(shí),除了向終端轉(zhuǎn)發(fā)該dns響應(yīng)報(bào)文之外,代理服務(wù)器還會(huì)將該dns請(qǐng)求報(bào)文與該dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)本地存儲(chǔ)的預(yù)設(shè)報(bào)文列表中。

如此,在本發(fā)明實(shí)施例中,當(dāng)接收到攜帶待訪問(wèn)網(wǎng)頁(yè)的域名的dns請(qǐng)求報(bào)文時(shí),代理服務(wù)器無(wú)需直接向域名解析服務(wù)器轉(zhuǎn)發(fā)該dns請(qǐng)求報(bào)文,而是執(zhí)行步驟s102:利用內(nèi)核空間在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括該dns請(qǐng)求報(bào)文的記錄;然后執(zhí)行步驟s103。

在步驟s102中,利用內(nèi)核空間在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括該dns請(qǐng)求報(bào)文的記錄;

預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)dns請(qǐng)求報(bào)文與一個(gè)dns響應(yīng)報(bào)文,且不同的記錄包括的dns請(qǐng)求報(bào)文和dns響應(yīng)報(bào)文不同;

在本發(fā)明實(shí)施例中,當(dāng)利用內(nèi)核空間接收到該dns請(qǐng)求報(bào)文之后,無(wú)需將dns請(qǐng)求報(bào)文通過(guò)套接字復(fù)制到linux的用戶空間,也無(wú)需并利用用戶空間查找在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括該dns請(qǐng)求報(bào)文的記錄,也無(wú)需將查找到的記錄中的dns響應(yīng)報(bào)文再?gòu)?fù)制到linux的內(nèi)核空間,進(jìn)而無(wú)需利用內(nèi)核空間向終端發(fā)送dns響應(yīng)報(bào)文。本發(fā)明實(shí)施例是直接利用內(nèi)核空間在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括該dns請(qǐng)求報(bào)文的記錄。

如果查找到包括該dns請(qǐng)求報(bào)文的記錄,在步驟s103中,利用內(nèi)核空間向終端發(fā)送查找到的dns響應(yīng)報(bào)文。

在本發(fā)明實(shí)施例中,在預(yù)設(shè)報(bào)文列表中的包括該dns請(qǐng)求報(bào)文的記錄中,還存在dns響應(yīng)報(bào)文,該記錄中的dns響應(yīng)報(bào)文中至少攜帶待訪問(wèn)網(wǎng)頁(yè)的域名和存儲(chǔ)有待訪問(wèn)網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址。

進(jìn)一步地,在代理服務(wù)器向終端發(fā)送查找到的該記錄中的dns響應(yīng)報(bào)文之后,終端就會(huì)接收到代理服務(wù)器發(fā)送的dns響應(yīng)報(bào)文,然后從代理服務(wù)器發(fā)送的dns響應(yīng)報(bào)文中提取出存儲(chǔ)有待訪問(wèn)網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址,并根據(jù)網(wǎng)頁(yè)服務(wù)器的ip地址從網(wǎng)頁(yè)服務(wù)器中獲取待訪問(wèn)網(wǎng)頁(yè),進(jìn)而在終端的屏幕上顯示待訪問(wèn)網(wǎng)頁(yè),以供用戶瀏覽待訪問(wèn)網(wǎng)頁(yè)。

在本發(fā)明實(shí)施例中,利用基于linux的內(nèi)核空間接收終端發(fā)送的dns請(qǐng)求報(bào)文,該dns請(qǐng)求報(bào)文攜帶待訪問(wèn)網(wǎng)頁(yè)的域名;利用內(nèi)核空間在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括該dns請(qǐng)求報(bào)文的記錄;預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)dns請(qǐng)求報(bào)文與一個(gè)dns響應(yīng)報(bào)文,且不同的記錄包括的dns請(qǐng)求報(bào)文和dns響應(yīng)報(bào)文不同;如果查找到包括該dns請(qǐng)求報(bào)文的記錄,則利用內(nèi)核空間向終端發(fā)送查找到的dns響應(yīng)報(bào)文。

本發(fā)明實(shí)施例無(wú)需將dns請(qǐng)求報(bào)文通過(guò)套接字從內(nèi)核空間復(fù)制到用戶空間,也無(wú)需將dns請(qǐng)求報(bào)文通過(guò)套接字從用戶空間復(fù)制到內(nèi)核空間,直接利用內(nèi)核空間處理該dns請(qǐng)求報(bào)文,進(jìn)而利用內(nèi)核空間得到dns響應(yīng)報(bào)文,并利用內(nèi)核空間向終端發(fā)送dns響應(yīng)報(bào)文,從而節(jié)省了系統(tǒng)資源;以及節(jié)省了將dns請(qǐng)求報(bào)文通過(guò)套接字復(fù)制到用戶空間所需耗費(fèi)的時(shí)間,進(jìn)而提高了終端獲取到dns響應(yīng)報(bào)文的獲取效率。

其次,由于底層網(wǎng)絡(luò)接口位于linux的內(nèi)核空間中,且由于本發(fā)明實(shí)施例是利用內(nèi)核空間來(lái)接收并處理dns請(qǐng)求報(bào)文以及利用內(nèi)核空間向終端發(fā)送dns響應(yīng)報(bào)文,因此,可以充分利用位于linux的內(nèi)核空間中的底層的網(wǎng)絡(luò)接口輔助處理dns請(qǐng)求報(bào)文,從而提高了擴(kuò)展性和靈活性。

進(jìn)一步地,如果在預(yù)設(shè)報(bào)文列表中未查找到包括該dns請(qǐng)求報(bào)文的記錄,則代理服務(wù)器就無(wú)法執(zhí)行步驟s103,進(jìn)而終端就無(wú)法得到存儲(chǔ)有待訪問(wèn)網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址,也就無(wú)法獲取待訪問(wèn)網(wǎng)頁(yè)供用戶瀏覽,因此,在未查找到包括該dns請(qǐng)求報(bào)文的記錄的情況下,為了使得終端能夠得到待訪問(wèn)網(wǎng)頁(yè)供用戶瀏覽,參見圖3,該方法還包括:

如果未查找到包括該dns請(qǐng)求報(bào)文的記錄,在步驟s201中,利用內(nèi)核空間向域名解析服務(wù)器發(fā)送該dns請(qǐng)求報(bào)文;

如果在預(yù)設(shè)報(bào)文列表中未查找到包括該dns請(qǐng)求報(bào)文的記錄,則說(shuō)明之前未曾接收過(guò)攜帶待訪問(wèn)網(wǎng)頁(yè)的域名的dns請(qǐng)求報(bào)文,也即,此次是首次接收到攜帶待訪問(wèn)網(wǎng)頁(yè)的域名的dns請(qǐng)求報(bào)文,因此,需要利用內(nèi)核空間向域名解析服務(wù)器發(fā)送該dns請(qǐng)求報(bào)文,以使域名解析服務(wù)器根據(jù)dns請(qǐng)求報(bào)文攜帶的待訪問(wèn)網(wǎng)頁(yè)的域名,獲取存儲(chǔ)有待訪問(wèn)網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址,并根據(jù)網(wǎng)頁(yè)服務(wù)器的ip地址和待訪問(wèn)網(wǎng)頁(yè)的域名生成dns響應(yīng)報(bào)文,以及向代理服務(wù)器返回生成的dns響應(yīng)報(bào)文。

在本發(fā)明另一實(shí)施例中,有時(shí)候終端的ip地址是私網(wǎng)ip地址,并不是公網(wǎng)ip地址,如果終端的ip地址是私網(wǎng)ip地址,由于dns請(qǐng)求報(bào)文中攜帶的源ip地址是私網(wǎng)ip地址,則在代理服務(wù)器向域名解析服務(wù)器發(fā)送該dns請(qǐng)求報(bào)文之后,域名解析服務(wù)器就無(wú)法向dns響應(yīng)報(bào)文發(fā)送至代理服務(wù)器,也無(wú)法直接向終端發(fā)送dns響應(yīng)報(bào)文,進(jìn)而代理服務(wù)器就無(wú)法向終端發(fā)送dns響應(yīng)報(bào)文,終端也就接收不到dns響應(yīng)報(bào)文。

為了在終端的ip地址是私網(wǎng)ip地址的情況下使得終端能夠接收到dns響應(yīng)報(bào)文,則代理服務(wù)器需要利用內(nèi)核空間將dns請(qǐng)求報(bào)文中的源ip地址修改為代理服務(wù)器的公網(wǎng)ip地址,再利用內(nèi)核空間向所述域名解析服務(wù)器發(fā)送修改了源ip地址的dns請(qǐng)求報(bào)文。

在步驟s202中,利用內(nèi)核空間接收域名解析服務(wù)器根據(jù)該dns請(qǐng)求報(bào)文返回的dns響應(yīng)報(bào)文;

在步驟s203中,利用內(nèi)核空間向終端發(fā)送接收到的dns響應(yīng)報(bào)文。

在本發(fā)明另一實(shí)施例中,如果dns請(qǐng)求報(bào)文的源ip地址由終端的私網(wǎng)ip地址修改為代理服務(wù)器的公網(wǎng)ip地址,則代理服務(wù)器接收到的dns響應(yīng)報(bào)文的目的地址為代理服務(wù)器的公網(wǎng)ip地址,為了使得終端能夠收到dns響應(yīng)報(bào)文,代理服務(wù)器需要利用內(nèi)核空間將dns響應(yīng)報(bào)文中的目的ip地址修改為終端的私網(wǎng)ip地址,再利用內(nèi)核空間向終端發(fā)送修改了目的ip地址的dns響應(yīng)報(bào)文。

進(jìn)一步地,在代理服務(wù)器利用內(nèi)核空間向終端發(fā)送接收到的dns響應(yīng)報(bào)文之后,終端就會(huì)接收到代理服務(wù)器發(fā)送的dns響應(yīng)報(bào)文,然后從代理服務(wù)器發(fā)送的dns響應(yīng)報(bào)文中提取出存儲(chǔ)有待訪問(wèn)網(wǎng)頁(yè)的網(wǎng)頁(yè)服務(wù)器的ip地址,并根據(jù)網(wǎng)頁(yè)服務(wù)器的ip地址從網(wǎng)頁(yè)服務(wù)器中獲取待訪問(wèn)網(wǎng)頁(yè),進(jìn)而在終端的屏幕上顯示待訪問(wèn)網(wǎng)頁(yè),以供用戶瀏覽待訪問(wèn)網(wǎng)頁(yè)。

進(jìn)一步地,如果之后再次接收到終端發(fā)送的該dns請(qǐng)求報(bào)文,為了能夠提高獲取該dns響應(yīng)報(bào)文的獲取效率以及節(jié)省代理服務(wù)器與域名解析服務(wù)器之間的網(wǎng)絡(luò)資源,代理服務(wù)器還可以將該dns請(qǐng)求報(bào)文與接收到的dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)在預(yù)設(shè)報(bào)文列表中。如此,當(dāng)之后再次接收到終端發(fā)送的該dns請(qǐng)求報(bào)文時(shí),就可以按照上述步驟s101~步驟s103的流程獲取到該dns響應(yīng)報(bào)文,從而提高獲取該dns響應(yīng)報(bào)文的獲取效率以及節(jié)省代理服務(wù)器與域名解析服務(wù)器之間的網(wǎng)絡(luò)資源。

圖4是根據(jù)一示例性實(shí)施例示出的一種報(bào)文處理裝置的框圖。參照?qǐng)D4,該裝置包括:

第一接收模塊11,用于利用基于linux的內(nèi)核空間接收終端發(fā)送的dns請(qǐng)求報(bào)文,所述dns請(qǐng)求報(bào)文攜帶待訪問(wèn)網(wǎng)頁(yè)的域名;

查找模塊12,用于利用所述內(nèi)核空間在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括所述dns請(qǐng)求報(bào)文的記錄;所述預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)dns請(qǐng)求報(bào)文與一個(gè)dns響應(yīng)報(bào)文,且不同的記錄包括的dns請(qǐng)求報(bào)文和dns響應(yīng)報(bào)文不同;

第一發(fā)送模塊13,用于如果查找到包括所述dns請(qǐng)求報(bào)文的記錄,則利用所述內(nèi)核空間向所述終端發(fā)送所述查找到的dns響應(yīng)報(bào)文。

進(jìn)一步地,所述裝置還包括:

第二發(fā)送模塊,用于如果未查找到包括所述dns請(qǐng)求報(bào)文的記錄,則利用所述內(nèi)核空間向域名解析服務(wù)器發(fā)送所述dns請(qǐng)求報(bào)文;

第二接收模塊,用于利用所述內(nèi)核空間接收所述域名解析服務(wù)器根據(jù)所述dns請(qǐng)求報(bào)文返回的dns響應(yīng)報(bào)文;

第三發(fā)送模塊,用于利用所述內(nèi)核空間向所述終端發(fā)送所述接收到的dns響應(yīng)報(bào)文。

進(jìn)一步地,所述裝置還包括:

存儲(chǔ)模塊,用于將所述dns請(qǐng)求報(bào)文與所述接收到的dns響應(yīng)報(bào)文組成一條記錄,并存儲(chǔ)在所述預(yù)設(shè)報(bào)文列表中。

其中,所述第二發(fā)送模塊包括:

第一修改單元,用于如果所述dns請(qǐng)求報(bào)文中的源ip地址為私網(wǎng)ip地址,則利用所述內(nèi)核空間將所述dns請(qǐng)求報(bào)文中的源ip地址修改為所述代理服務(wù)器的公網(wǎng)ip地址;

第二發(fā)送單元,用于利用所述內(nèi)核空間向所述域名解析服務(wù)器發(fā)送修改了源ip地址的dns請(qǐng)求報(bào)文。

其中,所述第三發(fā)送模塊包括:

第二修改單元,用于利用所述內(nèi)核空間將所述dns響應(yīng)報(bào)文中的目的ip地址修改為所述終端的私網(wǎng)ip地址;

第二發(fā)送單元,用于利用所述內(nèi)核空間向所述終端發(fā)送修改了目的ip地址的dns響應(yīng)報(bào)文。

本發(fā)明實(shí)施例提供的技術(shù)方案可以包括以下有益效果:

在本發(fā)明實(shí)施例中,利用基于linux的內(nèi)核空間接收終端發(fā)送的dns請(qǐng)求報(bào)文,該dns請(qǐng)求報(bào)文攜帶待訪問(wèn)網(wǎng)頁(yè)的域名;利用內(nèi)核空間在預(yù)先存儲(chǔ)的預(yù)設(shè)報(bào)文列表中查找包括該dns請(qǐng)求報(bào)文的記錄;預(yù)設(shè)報(bào)文列表存儲(chǔ)了多條記錄,每一條記錄中至少包括一個(gè)dns請(qǐng)求報(bào)文與一個(gè)dns響應(yīng)報(bào)文,且不同的記錄包括的dns請(qǐng)求報(bào)文和dns響應(yīng)報(bào)文不同;如果查找到包括該dns請(qǐng)求報(bào)文的記錄,則利用內(nèi)核空間向終端發(fā)送查找到的dns響應(yīng)報(bào)文。

本發(fā)明實(shí)施例無(wú)需將dns請(qǐng)求報(bào)文通過(guò)套接字從內(nèi)核空間復(fù)制到用戶空間,也無(wú)需將dns請(qǐng)求報(bào)文通過(guò)套接字從用戶空間復(fù)制到內(nèi)核空間,直接利用內(nèi)核空間處理該dns請(qǐng)求報(bào)文,進(jìn)而利用內(nèi)核空間得到dns響應(yīng)報(bào)文,并利用內(nèi)核空間向終端發(fā)送dns響應(yīng)報(bào)文,從而節(jié)省了系統(tǒng)資源;以及節(jié)省了將dns請(qǐng)求報(bào)文通過(guò)套接字復(fù)制到用戶空間所需耗費(fèi)的時(shí)間,進(jìn)而提高了終端獲取到dns響應(yīng)報(bào)文的獲取效率。

其次,由于底層網(wǎng)絡(luò)接口位于linux的內(nèi)核空間中,且由于本發(fā)明實(shí)施例是利用內(nèi)核空間來(lái)接收并處理dns請(qǐng)求報(bào)文以及利用內(nèi)核空間向終端發(fā)送dns響應(yīng)報(bào)文,因此,可以充分利用位于linux的內(nèi)核空間中的底層的網(wǎng)絡(luò)接口輔助處理dns請(qǐng)求報(bào)文,從而提高了擴(kuò)展性和靈活性。

關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。

本領(lǐng)域技術(shù)人員在考慮說(shuō)明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明實(shí)施例的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明實(shí)施例的一般性原理并包括本發(fā)明實(shí)施例未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書和實(shí)施例僅被視為示例性的,本發(fā)明實(shí)施例的真正范圍和精神由所附的權(quán)利要求指出。

應(yīng)當(dāng)理解的是,本發(fā)明實(shí)施例并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明實(shí)施例的范圍僅由所附的權(quán)利要求來(lái)限制。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
民丰县| 万盛区| 汤原县| 寻甸| 四川省| 邵阳市| 临湘市| 玉田县| 普兰县| 清丰县| 溧阳市| 南涧| 巴中市| 诏安县| 文安县| 弋阳县| 高平市| 扶沟县| 木兰县| 锦屏县| 寿宁县| 连云港市| 白水县| 敦化市| 毕节市| 邵阳县| 上蔡县| 泉州市| 罗甸县| 叶城县| 锡林浩特市| 罗田县| 石家庄市| 新兴县| 泾源县| 扎赉特旗| 安溪县| 本溪市| 新竹市| 广南县| 砚山县|