當前位置:首頁 » 文件傳輸 » 郵件伺服器訪問的迭代和遞歸
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

郵件伺服器訪問的迭代和遞歸

發布時間: 2023-01-26 09:20:49

❶ 進行域名解析時,遞歸和迭代查詢方式是什麼意思什麼場合用還是合起來用

問下樓主是nupt的嗎下面是我的答案

遞歸查詢是最常見的查詢方式,域名伺服器將代替提出請求的客戶機(下級DNS伺服器)進行域名查詢,若域名伺服器不能直接回答,則域名伺服器會在域各樹中的各分支的上下進行遞歸查詢,最終將返回查詢結果給客戶機,在域名伺服器查詢期間,客戶機將完全處於等待狀態。

示例:(紅色為查詢,藍色為迭代查詢返回的提示信息,棕色為遞歸查詢返回的IP信息)

示例說明:A向B發送遞歸查詢請求,B向C發送迭代查詢請求(下一節將介紹迭代查詢),得到C給出的提示後,B向D發送迭代查詢請求,得到D給出的提示後,B向E發出迭代請求,得到E給出的提示後,B向F發出迭代查詢請求,得到F給出的提示後,B得到了F返回G的IP地址,B向A返回G的IP地址,整個查詢結束。

迭代查詢的工作方式

迭代查詢又稱重指引,當伺服器使用迭代查詢時能夠使其他伺服器返回一個最佳的查詢點提示或主機地址,若此最佳的查詢點中包含需要查詢的主機地址,則返回主機地址信息,若此時伺服器不能夠直接查詢到主機地址,則是按照提示的指引依次查詢,直到伺服器給出的提示中包含所需要查詢的主機地址為止,一般的,每次指引都會更靠近根伺服器(向上),查尋到根域名伺服器後,則會再次根據提示向下查找。從上節的圖中可以知道,B訪問C、D、E、F、G,都是迭代查詢,首先B訪問C,得到了提示訪問D的提示信息後,開始訪問D,這時因為是迭代查詢,D又返回給B提示信息,告訴B應該訪問E,依次類推。

說明:假設你要尋找一家你從未去過的公司,你會有2種解決方案,1是找一個人替你問路,那可能是你的助手,2是自己問路,每走過一個路口,就問一個人,這就好比遞歸查詢和迭代查詢,遞歸查詢在這里代表你的第1種解決方案,而迭代則是第2種解決方案。

如合配置遞歸查詢及迭代查詢

在默認情況下DNS伺服器既接受來自其他客戶機(其他DNS伺服器)的迭代查詢也接受其他客戶機(其他DNS伺服器)的遞歸查詢。

提醒:在DNS伺服器屬性中,你可能會混淆高級選項卡中的「禁止遞歸」選項和轉發器選項中的「不對這個域使用遞歸」後者控制將要接受的查詢類型。

❷ 迭代和遞歸的區別是什麼

一、含義不同;

程序調用自身的編程技巧稱為遞歸,是函數自己調用自己。一個函數在其定義中直接或間接調用自身的一種方法,它通常把一個大型的復雜的問題轉化為一個與原問題相似的規模較小的問題來解決。

迭代利用變數的原值推算出變數的一個新值。如果遞歸是自己調用自己的話,迭代就是A不停的調用B。

二、轉換不同:

遞歸中一定有迭代,但是迭代中不一定有遞歸,大部分可以相互轉換。能用迭代的不用遞歸,遞歸調用函數,浪費空間,並且遞歸太深容易造成堆棧的溢出。

遞歸函數是通過調用函數自身來完成任務,而且在每次調用自身時減少任務量。而迭代是循環的一種形式,這種循環不是由用戶輸入而控制,每次迭代步驟都必須將剩餘的任務減少。

(2)郵件伺服器訪問的迭代和遞歸擴展閱讀:

迭代法的主要研究課題是對所論問題構造收斂的迭代格式,分析它們的收斂速度及收斂范圍。迭代法的收斂性定理可分成下列三類:

①局部收斂性定理:假設問題解存在,斷定當初始近似與解充分接近時迭代法收斂;

②半局部收斂性定理:在不假定解存在的情況下,根據迭代法在初始近似處滿足的條件,斷定迭代法收斂於問題的解;

③大范圍收斂性定理:在不假定初始近似與解充分接近的條件下,斷定迭代法收斂於問題的解。

❸ 遞歸、遞推、迭代分別是什麼意思,有什麼區別

<可以自由轉載,但請註明以下內容,謝謝合作!>
<作者:Enoch Wang 引用自:http://chinawangquan.spaces.live.com>
所謂遞歸,簡而言之就是應用程序自身調用自身,以實現層次數據結構的查詢和訪問。 遞歸的使用可以使代碼更簡潔清晰,可讀性更好(對於初學者到不見得),但由於遞歸需要系統堆棧,所以空間消耗要比非遞歸代碼要大很多,而且,如果遞歸深度太大,可能系統資源會不夠用。
往往有這樣的觀點:能不用遞歸就不用遞歸,遞歸都可以用迭代來代替。
誠然,在理論上,遞歸和迭代在時間復雜度方面是等價的(在不考慮函數調用開銷和函數調用產生的堆棧開銷),但實際上遞歸確實效率比迭代低,既然這樣,遞歸沒有任何優勢,那麼是不是就,沒有使用遞歸的必要了,那遞歸的存在有何意義呢?
萬物的存在是需要時間的檢驗的,遞歸沒有被歷史所埋沒,即有存在的理由。從理論上說,所有的遞歸函數都可以轉換為迭代函數,反之亦然,然而代價通常都是比較高的。但從演算法結構來說,遞歸聲明的結構並不總能夠轉換為迭代結構,原因在於結構的引申本身屬於遞歸的概念,用迭代的方法在設計初期根本無法實現,這就像動多態的東西並不總是可以用靜多態的方法實現一樣。這也是為什麼在結構設計時,通常採用遞歸的方式而不是採用迭代的方式的原因,一個極典型的例子類似於鏈表,使用遞歸定義及其簡單,但對於內存定義(數組方式)其定義及調用處理說明就變得很晦澀,尤其是在遇到環鏈、圖、網格等問題時,使用迭代方式從描述到實現上都變得不現實。 因而可以從實際上說,所有的迭代可以轉換為遞歸,但遞歸不一定可以轉換為迭代。
採用遞歸演算法需要的前提條件是,當且僅當一個存在預期的收斂時,才可採用遞歸演算法,否則,就不能使用遞歸演算法。
遞歸其實是方便了程序員難為了機器,遞歸可以通過數學公式很方便的轉換為程序。其優點就是易理解,容易編程。但遞歸是用棧機制實現的,每深入一層,都要佔去一塊棧數據區域,對嵌套層數深的一些演算法,遞歸會力不從心,空間上會以內存崩潰而告終,而且遞歸也帶來了大量的函數調用,這也有許多額外的時間開銷。所以在深度大時,它的時空性就不好了。
而迭代雖然效率高,運行時間只因循環次數增加而增加,沒什麼額外開銷,空間上也沒有什麼增加,但缺點就是不容易理解,編寫復雜問題時困難。
因而,「能不用遞歸就不用遞歸,遞歸都可以用迭代來代替」這樣的理解,Enoch不敢苟同,還是辯證的來看待,不可一棍子打死。

❹ 遞歸和迭代有什麼區別

一、含義不同:

遞歸是重復調用函數自身實現循環。迭代是函數內某段代碼實現循環,循環代碼中參與運算的變數同時是保存結果的變數,當前保存的結果作為下一次循環計算的初始值。

遞歸循環中,遇到滿足終止條件的情況時逐層返回來結束。迭代則使用計數器結束循環。當然很多情況都是多種循環混合採用,這要根據具體需求。

二、結構不同:

遞歸與迭代都是基於控制結構:迭代用重復結構,而遞歸用選擇結構。 遞歸與迭代都涉及重復:迭代顯式使用重復結構,而遞歸通過重復函數調用實現重復。

遞歸與迭代都涉及終止測試:迭代在循環條件失敗時終止,遞歸在遇到基本情況時終止,使用計數器控制重復的迭代和遞歸都逐漸到達終止點:迭代一直修改計數器,直到計數器值使循環條件失敗;遞歸不斷產生最初問題的簡化副本,直到達到基本情況。

遞歸演算法一般用於解決三類問題:

(1)數據的定義是按遞歸定義的。(Fibonacci函數)

(2)問題解法按遞歸演算法實現。

這類問題雖則本身沒有明顯的遞歸結構,但用遞歸求解比迭代求解更簡單,如Hanoi問題。

(3)數據的結構形式是按遞歸定義的。

如二叉樹、廣義表等,由於結構本身固有的遞歸特性,則它們的操作可遞歸地描述。

以上內容參考:網路-遞歸

❺ DNS解析原理:遞歸 VS 迭代

DNS解析流程分為 遞歸查詢 迭代查詢 ,遞歸查詢是以本地名稱伺服器為中心查詢, 遞歸查詢是默認方式,迭代查詢是以DNS客戶端,也就是客戶機器為中心查詢。 其實DNS客戶端和本地名稱伺服器是遞歸,而本地名稱伺服器和其他名稱伺服器之間是迭代。

「遞歸解析」(或叫「遞歸查詢」,其實意思是一樣的)是最常見, 也是默認的解析方式 。在這種解析方式中,如果客戶端配置的本地名稱伺服器, (又稱Local DNS, 可以是默認的運營商提供的Local DNS 或者自己設置的DNS) 不能解析的話,則後面的查詢全由本地名稱伺服器代替DNS客戶端進行查詢,直到本地名稱伺服器從權威名稱伺服器得到了正確的解析結果,然後由本地名稱伺服器告訴DNS客戶端查詢的結果。

下圖是windows下默認獲取的運營商Local DNS或者 自己設置的Local DNS

在這個查詢過程中,一直是以本地名稱伺服器(Local DNS)為中心的,DNS客戶端只是發出原始的域名查詢請求報文,然後就一直處於等待狀態的,直到本地名稱伺服器發來了最終的查詢結果。此時的本地名稱伺服器就相當於中介代理的作用。如果考慮了本地名稱伺服器的緩存技術(也就是在DNS伺服器上對一定數量的以前查詢記錄保存一定時間,這樣後面查詢同樣的域名信息時就可直接從緩存中調出來,以加速查詢效率)的話,則遞歸解析的基本流程如下:

(1)客戶端向本機配置的本地名稱伺服器(在此僅以首選DNS伺服器為例進行介紹,所配置其它備用DNS伺服器的解析流程完全一樣)發出DNS域名查詢請求。

(2)本地名稱伺服器收到請求後,先查詢本地的緩存,如果有該域名的記錄項,則本地名稱伺服器就直接把查詢的結果返回給客戶端;如果本地緩存中沒有該域名的記錄,則本地名稱伺服器再以DNS客戶端的角色發送與前面一樣的DNS域名查詢請求發給 根名稱伺服器

(3)根名稱伺服器收到DNS請求後,把所查詢得到的所請求的DNS域名中 頂級域名所對應的頂級名稱伺服器 地址返回給本地名稱伺服器。
(4)本地名稱伺服器根據根名稱伺服器所返回的頂級名稱伺服器地址,向對應的頂級名稱伺服器發送與前面一樣的DNS域名查詢請求。

(5)對應的頂級名稱伺服器在收到DNS查詢請求後,也是先查詢自己的緩存,如果有所請求的DNS域名的記錄項,則相接把對應的記錄項返回給本地名稱伺服器,然後再由本地名稱伺服器返回給DNS客戶端,否則向本地名稱伺服器返回所請求的DNS域名中的二級域名所對應的二級名稱伺服器地址。

然後本地名稱伺服器繼續按照前面介紹的方法一次次地向三級、四級名稱伺服器查詢,直到最終的對應域名所在區域的 權威名稱伺服器 返回到最終的記錄給本地名稱伺服器。然後再由本地名稱伺服器返回給DNS客戶,同時本地名稱伺服器會緩存本次查詢得到的記錄項。

DNS客戶端和本地名稱伺服器是遞歸,而本地名稱伺服器和其他名稱伺服器之間是迭代。
DNS遞歸名稱解析 : 在DNS遞歸名稱解析中,當所配置的本地名稱伺服器解析不了時,後面的查詢工作是由本地名稱伺服器替代DNS客戶端進行的(以「本地名稱伺服器」為中心),只需要本地名稱伺服器向DNS客戶端返回最終的查詢結果即可。

DNS迭代名稱解析 :(或者叫「迭代查詢」)的所有查詢工作全部是DNS客戶端自己進行(以「DNS客戶端」自己為中心)。在條件之一滿足時就會採用迭代名稱解析方式:

通過圖片看看他們的不同:

權威 DNS 是特定域名記錄(例如「example.com」)在域名注冊商處所設置的 DNS 伺服器,用於特定域名本身的管理(增加、刪除、修改等)。

權威 DNS 伺服器只對自己所擁有的域名進行域名解析,對於不是自己的域名則拒絕訪問。比如,向「example.com」的權威 DNS 伺服器查詢「test.com」的域名肯定會查詢失敗。

遞歸 DNS(也稱本地 DNS 或者緩存 DNS)用於域名查詢。遞歸 DNS 會迭代權威伺服器返回的應答,直至最終查詢到的 IP 地址,將其返回給客戶端,並將請求結果緩存到本地。

對用戶發出的域名解析請求,遞歸 DNS 必須給出一個最終的 IP 地址結果。完整的遞歸DNS 查詢流程需要 DNS 伺服器從根域名 「.」 伺服器,頂級域名伺服器(例如「.com」),一級域名伺服器(例如「example.com」)等一級一級遞歸查詢,直到最終找到權威伺服器取得結果,並返回給客戶。同時,遞歸伺服器根據域名 TTL,緩存查詢結果,便於相同域名重復查詢。
遞歸 DNS 伺服器大多數在運營商端,負責網路接入終端的 DNS 查詢,即網路訪問設備上配置的 DNS 伺服器 IP。

遞歸 DNS 的訪問過程如下圖所示(遞歸 DNS 在圖中表示為 Local DNS):

https://www.alibabacloud.com/help/zh/doc-detail/60303.htm
https://www.hu.com/question/36891472

❻ 迭代查詢的如何配置遞歸查詢及迭代查詢

在默認情況下DNS伺服器既接受來自其他客戶機(其他DNS伺服器)的迭代查詢也接受其他客戶機(其他DNS伺服器)的遞歸查詢。
提醒:在DNS伺服器屬性中,你可能會混淆高級選項卡中的「禁止遞歸」選項和轉發器選項中的「不對這個域使用遞歸」後者控制將要接受的查詢類型。
修改:
禁止遞歸查詢。在DNS伺服器屬性中,高級選項卡,伺服器選項,「禁止遞歸」。
通常根伺服器或者流量較大的域名伺服器都不使用遞歸查詢,其原因也很簡單,大量的遞歸查詢會導致伺服器過載。
問題:為什麼不連迭代查詢也關閉?這樣不更節省損耗嗎?這絕對是一個讓人哭笑不得的問題。原因是如果不建立迭代查詢,你的DNS又可以做什麼事情呢?那不如不建立DNS伺服器。
調整最佳性能的查詢方式
一般的,你的企業內部如果有超過300台機器,你就應該在你的部署計劃中建立多個DNS伺服器了。根據活動目錄或者物理位置將多個DNS平均分布。而根域名伺服器總應該使用迭代查詢,而不應該使用遞歸查詢。同時,為了減輕客戶機的負擔,所有的下級域名伺服器就都應該使用遞歸查詢與迭代查詢的混合模式。若你 的企業整合了活動目錄及有分公司分布在全球,通過使用多層的域名伺服器,可以得到最佳的性價比!

❼ DNS域名解析的兩種方式遞歸查詢和迭代查詢之間有什麼區別

1、工作方式上的區別

遞歸查詢是域名伺服器將代替提出請求的客戶機(下級DNS伺服器)進行域名查詢,若域名伺服器不能直接回答,則域名伺服器會在域各樹中的各分支的上下進行遞歸查詢,最終將返回查詢結果給客戶機。

迭代查詢是能夠使其他伺服器返回一個最佳的查詢點提示或主機地址,若此最佳的查詢點中包含需要查詢的主機地址,則返回主機 地址信息,若此時伺服器不能夠直接查詢到主機地址,則是按照提示的指引依次查詢。

2、使用上的區別

一般由DNS工作站提出的查詢請求便屬於遞歸查詢。一般發生在客戶端與伺服器間,也有特殊情況是dns伺服器與dns伺服器之間。

根域名伺服器總應該使用迭代查詢,而不應該使用遞歸查詢。一般的,每次指引都會更靠近根伺服器(向上),查尋到根域名伺服器後,則會再次根據提示向下查找。

3、查詢狀態上的區別

遞歸查詢,在域名伺服器查詢期間,客戶機將完全處於等待狀態。

迭代查詢是直到伺服器給出的提示中包含所需要查詢的主機地址為止。

❽ dns中遞歸查詢與迭代查詢有什麼區別

兩者區別如下:

遞歸是用戶只向本地DNS伺服器發出請求,然後等待肯定或否定答案。而迭代是本地伺服器向根DNS伺服器發出請求,而根DNS伺服器只是給出下一級DNS伺服器的地址,然後本地DNS伺服器再向下一級DNS發送查詢請求直至得到最終答案。

❾ 「遞歸」和「迭代」有什麼區別

「遞歸」和「迭代」的區別如下:

1、遞歸的基本概念:程序調用自身的編程技巧稱為遞歸,是函數自己調用自己.一個函數在其定義中直接或間接調用自身的一種方法,它通常把一個大型的復雜的問題轉化為一個與原問題相似的規模較小的問題來解決,可以極大的減少代碼量.遞歸的能力在於用有限的語句來定義對象的無限集合。