JavaWeb(3)DNS域名解析

DNS域名解析過程

域名解析過程:

1、瀏覽器會檢查緩存中有沒有這個域名對應(yīng)的解析過的IP地址,如果緩存中存在,此解析過程到此就已經(jīng)結(jié)束。

2、如果用戶的瀏覽器緩存(通過host文件進行設(shè)置)中沒有,瀏覽器接下來會去操作系統(tǒng)緩存中查找是否有這個域名對應(yīng)的DNS解析數(shù)據(jù)。

3、前面兩個步驟都是在本機中進行的,如果再本機中沒有找到解析的IP緩存,操作系統(tǒng)就會把這個域名發(fā)送到本地區(qū)的域名服務(wù)器(Local DNS Server)LDNS。這個專門的域名解析服務(wù)器的性能一般都會很好,他們一般都會緩存域名的解析結(jié)果。其實大約有80%的域名解析的工作到這里就已經(jīng)完成了,所以LDNS主要承擔(dān)域名的解析工作。

4、如果LDNS還沒有找到,就會直接到Root Server域名服務(wù)器請求解析。根域名服務(wù)器會返回給LDNS一個所查詢域的主域名服務(wù)器(gTLD Server)地址(gTLD是國際頂級的域名服務(wù)器)。

5、LDNS再向上面接受的gTLD服務(wù)器發(fā)送請求。接收請求的gTLD服務(wù)器查找到此域名對應(yīng)的Name Server域名服務(wù)器(Name Server通常就是你注冊的域名服務(wù)器,假如你在某個域名服務(wù)商申請的域名,那么這個域名解析的任務(wù)就會由這個域名提供商的服務(wù)器來完成)的地址并返回。

6、Name Server 域名服務(wù)器會查詢存儲的域名和IP的映射關(guān)系表(正常情況下,會根據(jù)域名得到目標(biāo)的IP記錄,和一個TTL值),返回給DNS Server域名服務(wù)器。Local DNS Server會緩存這個域名和IP對應(yīng)的關(guān)系,緩存的事件由TTL值控制。

7、把解析的結(jié)果返回給用戶,用戶本機系統(tǒng)會根據(jù)TTL值來進行緩存。

大概的解析過程就是這樣的,但是實際中可能還有更加復(fù)雜的解析過程,比如Name Server是多級的,或者通過一個GTM來進行負(fù)載均衡的控制等。

清除緩存的域名

DNS解析的域名主要再兩個地方進行緩存,一個是Local DNS Server,另一個是本機。并且這兩個緩存都是通過TTL值和本機緩存大小控制的,但是最大緩存時間是TTL值。基本上Local DNS Server的緩存時間就是TTL控制的,很難人工進行介入。

本機緩存,Windows下在命令行模式下執(zhí)行ipconfig/flushdns命令來刷新緩存。

在Java應(yīng)用中JVM也會緩存DNS的解析結(jié)果,這個緩存是在InetAddress類中完成的,而且這個緩存時間有兩種緩存策略:一種是正確解析結(jié)果緩存(在配置項networkaddress.cache.ttl配置,默認(rèn)值是-1(永不失效)),一種是失敗的解析結(jié)果緩存(在配置項networkaddress.cache.negative.ttl配置,默認(rèn)值10(緩存10秒))。這兩個配置項是在%JAVA_HOME%\lib\security\java.security文件中配置的。

注意:如果我們需要用InetAddress類解析域名時,一定要是單例模式,不然會有嚴(yán)重的性能問題,如果每次都創(chuàng)建InetAdress實例,每次都要進行一次完整的域名解析,非常耗時。

幾種域名解析方式

A記錄。A代表的時Adress,用來指定域名對應(yīng)的IP地址。A記錄可以將多個域名解析到一個IP地址,但是不能將一個域名解析到多個IP地址。

MX記錄。表示的時Mail Exchange,就是可以將域名下的郵件服務(wù)器(Mail Server)指向自己

的。

CNAME記錄。Canonical Name(別名解析)。就是可以為一個域名設(shè)置一個或者多個別名。

NS記錄。為某個域名指定DNS解析服務(wù)器。

TXT記錄。為某個主機名或者域名設(shè)置說明。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 概述 在網(wǎng)絡(luò)環(huán)境中一般用戶只需要在瀏覽器中輸入url如www.sunny.com就可以到對應(yīng)服務(wù)器獲取相應(yīng)的...
    ghbsunny閱讀 3,422評論 0 7
  • 本文解決如果幾個問題:1、什么是DNS域名解析2、域名解析過程3、如何搭建本地DNS服務(wù)器 什么是DNS域名解析 ...
    喵小琪閱讀 753評論 0 2
  • 非常好的文章,怕博主刪除,再也找不到這么好的文章了,所以復(fù)制了一份,博主是2016年寫,但是是到現(xiàn)在為止看到的,思...
    吭聲_cfdc閱讀 2,184評論 0 4
  • DNS域名解析 互聯(lián)網(wǎng)是通過url來發(fā)布和請求資源的,而url中的域名需要解析稱為IP地址才能與遠(yuǎn)程主機建立連接,...
    ChaLLengerZeng閱讀 903評論 0 0
  • 前言 HTTP協(xié)議基于TCP/IP的,而TCP/IP協(xié)議通信過程需要知道對方IP,在網(wǎng)絡(luò)上進行通訊時只能識別如“2...
    逆水尋洲閱讀 341評論 0 0

友情鏈接更多精彩內(nèi)容