器根據(jù)資源記錄集的大小將DNS相應(yīng)消息分割成大小適中的DNS響應(yīng)消息的分片,并分別以UDP包的形式發(fā)送出去;在每個分片中的AF位置為1,F(xiàn)RAGMENT選項中的TotalFragment Number和Current Fragment Number分別設(shè)置為總的分片數(shù)量和當(dāng)前的分片的序號。
[0016]本發(fā)明的有益效果是采用本發(fā)明后,DNS響應(yīng)消息不再受制于512字節(jié)的限制。理論上,當(dāng)前的根服務(wù)器數(shù)目可以超過13個了,也就是當(dāng)前的DNS消息有足夠空間容納增加的新根服務(wù)器的信息。為滿足將來IPv6用戶不斷膨脹的需求,相應(yīng)的IPv6地址的根服務(wù)器可以不斷的擴(kuò)展在DNS消息中。隨著DNSSEC的進(jìn)一步部署,支持DNSSEC的大的響應(yīng)消息所占的比例越來越大。本方案能夠解決DNSSEC帶來的包尺寸擴(kuò)展的問題,掃清部署DNSSEC的障礙。
[0017]同UDP方案相比,本方法不存在因IP分片在中間件中被丟棄導(dǎo)致的在接收端IP分片重新組裝失敗的問題。同時,相對基于TCP的方案有優(yōu)勢。本方案基于UDP協(xié)議,不需要建立TCP連接,因而能夠降低響應(yīng)時間。服務(wù)器端不需要維護(hù)TCP連接的狀態(tài)信息,解析器只需要在一個RTT時間內(nèi)維護(hù)一個DNS消息分片隊列。并且由于響應(yīng)消息最大不會超過4096字節(jié),所以隊列的預(yù)留長度也不必超過4096字節(jié)。此外收到的DNS消息分片在應(yīng)用層,解析器可以不考慮所有的分片都達(dá)到,即可以進(jìn)行解析。
【附圖說明】
[0018]圖1為AF位的定義在包格式中的位置。
[0019]圖2為FRAGMENT選項字段的格式。
[0020]圖3為方案交互流程示意圖。
[0021]圖4為基于應(yīng)用層DNS消息分割方案應(yīng)用實例。
[0022]圖5為vmware.com的DNSKEY查詢響應(yīng)消息。
[0023]圖6為響應(yīng)消息的分片,其中(a)響應(yīng)消息的分片1 ; (b)響應(yīng)消息的分片2 ; (c)響應(yīng)消息的分片3。
【具體實施方式】
[0024]本發(fā)明提出一種基于應(yīng)用層DNS消息分割的DNS包擴(kuò)展方法,基于應(yīng)用層DNS消息分割的方案能夠突破DNS響應(yīng)消息512字節(jié)的限制,采用在應(yīng)用層進(jìn)行DNS消息的分割和重組,并通過UDP協(xié)議傳輸,保持了 DNS協(xié)議的靈活性同時實現(xiàn)了 DNS消息的可擴(kuò)展性;該方法包括:需要說明DNS消息分割的標(biāo)準(zhǔn)、DNS消息分片信息的表示、應(yīng)用層DNS消息分割功能的標(biāo)識和識別、分片重裝的工作原理(如圖1-圖5所示),首先解析器向vmware.com的名字服務(wù)器發(fā)送DNSKEY vmware.com的請求,得到的完整響應(yīng)消息,如圖5所示的vmware.com的DNSKEY查詢響應(yīng)消息;
[0025]下面以一個支持DNSSEC的DNS查詢?yōu)槔f明基于應(yīng)用層DNS消息分割包擴(kuò)展方案的工作原理,如圖6所示的響應(yīng)消息的分片,其中(a)響應(yīng)消息的分片1 ;(b)響應(yīng)消息的分片2 ; (c)響應(yīng)消息的分片3 ;在正常情況下:
[0026](a)響應(yīng)消息的分片1
[0027]<<>>DiG 9.9.5-3-Ubuntu<<>>@8.8.8.8DNSKEY vmware.com+dnssec
[0028](1 server found)
[0029]global opt1ns: +cmd
[0030]Got answer:
[0031]-?HEADER?-opcode:QUERY, status:N0ERR0R, id:28360
[0032]flags:qrrdra ad ;QUERY:1,ANSWER:6,AUTHORITY:0,ADDIT1NAL:1
[0033](b)響應(yīng)消息的分片2
[0034]OPT PSEUDOSECT1N:
[0035]EDNS:vers1n:0, flags:do ;udp:512
[0036]QUEST1N SECT1N:
[0037]vmware.com.1N DNSKEY0
[0038](c)響應(yīng)消息的分片3。
[0039]ANSWER SECT1N:
[0040]vmware.com.411 IN DNSKEY 256310
[0041]AwEAAdq91ZI2sh65CUftTtx55uo0J8AZ9TgLmuIcviF/wQ0S8Ibjlzwl
[0042]G3/zA6clUOMnqakcyefflrcs8ZhiuRmN713hePvOBeLbJ5srgoONuStaD
[0043]4VEA0MvkiQ0j84RKX/ucyUjUkNYgak/LtCx8fzUkm4DNrId/37g8sgRz 4qliqvY7
[0044]vmware.com.411 IN DNSKEY 256310
[0045]AwEAAbgeiZHrscTDlpoJW4+F6qs484Q+yHTeyff7uItn3CtHJIfZ+hORy
[0046]EYcHjxDc6DFVz0kZk8kcX30rIkT720EymJIFffj+gY4ksX5BC13aNb5H/
[0047]7bBuwyTko+CgUXsgUhLk+pgQNMDY9iAd5zxVL0awck/ZVZkvKgkGMLjZTXiB+kUT
[0048]vmware.com.411 IN DNSKEY 257310
[0049]AwEAAdtzffubi0NEca4fKPB96i/3XzAOmZMSmMJfn+z znHUsAGnopcJ16
[0050]ZU9CNw9fPLrgQSqM15xDlzj/6NwL7FwMxpyffBA2PN08pU76t9Blb0Vt+
[0051]wKfflbYV13GxLtuOGNJ/RJGeE3duhpo7wrGLBDzxsBi3rk5AonswlGF3V
[0052]BMc6x58t5S2qxY9bK4e+vV4HRyZrVhFyPvzK3JFtIt5KpNLtlvqKvyD+
[0053]00zpgff4SKQD96aQmV9DaSXD40TdX5RjQ4xaxlh8wuBuB9TaXp0+PMICV
[0054]lYQiiyH9FcfmdzMj9f+BKbe0zz/nfkZN4Kxgu452nXln+g0y5/Yr5/vY
[0055]lUwGaSrhoCEtJAvDB2dgLhFHLBbZx9Uj0kU/VBg4gYHfd0EBVKLC+o3G
[0056]Qomc4hzPUiVjGnNxffCtYX+0mPfBjYTddgi2ffg3TRc2tiZilujM/2z/jk
[0057]D8rqYic4HXETMJmmdzsCvz34S0Ki47GiJffoJqTEazciPdijU87Azoszv
[0058]C29cJUVcMVRlshQIZec9QtVx89dJJ5SX0IURy91eiYMAKv3180KflYk7
[0059]lk/a/MVLgk8TiffRRpEKJikMAlecg0Gmff925cjefrgCmtyKL0Brj2X72c
[0060]MAA0FRwpTRs6+iuHqqKdtXK0TPp/Kd0xxqyffDlavi6NKb7/GKNpEsdLl
[0061]vffc96m5ik8X31ICx
[0062]vmware.com.411 IN RRSIG DNSKEY 10 2 600 20150219172007 20150120172007842vmware.com.
[0063]Mwl/zXSXkO+ccOfaUo6hZRsrjDgOSLTTzl6cSNZhspCtx7rzJkug6AUD
[0064]TeldICGCmClY4obd6cz8GAot+hEdHiDhvHXGs0DoZw3vYGINVNDdsqJ/
[0065]tc2ci8irnA3weffbepGff+xt5hh8ohj/f/S5Pfv5692IKPNZzFttYld71/7UQ =
[0066]vmware.com.411 IN RRSIG DNSKEY 10 2 600 20150219172007 2015012017200712093 vmware.com.
[0067]Wz72f0/47V0NqI54Vn0zNHyQAjY80ve4FBw/wKL0uoGC8AkTh66Qp+vZ
[0068]LlHf8FjAVEsUY0gYCwffeE6NRV+lu7FE21NxCoj9Cgoc/V67tckffIaa/u
[0069]xJ61dLwb2VlPJRFldpnninUcGL68r7gynQdpoyQn6cTcTVBjMffwLvXL+
[0070]7SQi9hPDb0vE6gnlJjmpD6N4zvMHNfgzin4KwIjLyleMR7o6mFYmR9C8
[0071]tqgKHaFkTm3b7QX5dM7QAkv