Recursive and Iterative | DNS
Recursive
כאשר משתמש שלוח שאילתא לגבי דומיין מסוים שרת ה DNS שאותו המשתמש שאל לא יכול להכווין את המשתמש לאיזה שרת DNS אחר לפנות אליו , אלה השרת DNS אחראי לפתור ולתת את התשובה לשאילתא והוא ישאל שרתי DNS אחרים עד אשר יקבל תשובה לשאילתא של המשתמש.
זאת אומרת שאם השאילתא נשלחה ל DNS א' הוא אחראי לבצע את כל "העבודה" ולספק את התשובה -או שיש תשובה- או שאין תשובה ויתקבל Error
דוגמה, מחשב א' שולח שאילתא לאיתור David.com לשרת ה DNS של הארגון שלו, שרת ה DNS הארגוני לא ימצא את התשובה אצלו לא ב Cache ולא ב Zone ולכן יפנה ל Root Hints (חשוב מאוד לדעת! שרתי ה Root הם תמיד Iterative ולכן שתי ה Root יבצעו הפניה מי יכול לפתור את השאילתא מי הוא David.com ברגע שיש תשובה שרת ה Root ייתן את התשובה לDNS הארגוני והוא ייתן את התשובה לשאילתה למחשב א'
Iterative
אם משתמש שלח שאילתא לשרת DNS יכול שרת ה DNS להעביר את הבקשה לשרת DNS אחר (זאת אומרת לבצע הפניה לשרת DNS אחר) ואז להחזיר למשתמש תשובה חלקית לא מלאה , אולי אצל מי נמצאת התשובה לשאילתא.
הסבר – לדוגמה
1. מחשב א' שולח שאילתא (מה הIP של Dav.com) לשרת הDNS ששמו TalDns
2. TalDns בודק ב cache שלו ובZone לתשובה , ואם הוא לא מוצא הוא שולח למחשב א' תשובה שהוא יכול ליצור קשר עם שרת authoritative של האינטרנט העולמי, שהם שרתי הRoot Hints
3. ושרתי ה Root Hints יגידו לו שאין להם מושג, אבל ל .Com יש מושג ואתה יכול לשאול אותו, אז מחשב א' יפנה ל.Com שהוא ה – authoritative לסיומת Com וישאל אותו אם הוא שמע על Dav.com
4. .Com ישלח לו תשובה שברור הוא מכיר את Dav.com וזה הIP שלו 1.1.1.1 (דוגמא כן..)
אם הייתם לדוגמה מחפשים Dev.Dav.com אז .Com היה יורד רמה נוספת בהיררכיה בגלל שאינו מכיר את Dev אבל הוא מכיר את מי ש authoritative לדומיין Dav.com והוא יחזיר למחשב א' את התשובה = "אני לא מכיר את Dev.Dav.com אבל Dav.com מכיר כי הוא נמצא בהיררכיה שלו ואתה יכול לשאול אותו"
ואז מחשב א' יפנה ל authoritative DNS של Dev.Dav.com שהוא Dav.com וישאל אותו מי הוא Dev? והוא יענה לו שהIP של Dev הוא 2.2.2.2