تفاوت root و tld و sld و recursive سرور در dns

سلام. من مطابق این مقاله زیر متوجه شدم زمانیکه کلاینت درخواست dns میده اول به سمت یک recursive server میره و بعد از اون میره سراغ root nameserver ها و tld nameserver ها و در آخر sld nameserver ها. میخواستم بدونم فرق اینا چیه با همدیگه؟

مثلا recursive server میدونم کارش کش کردن کوئری های dns هست ولی اینکه کجا هست رو نمیدونم. یا root و tld و sld هر کدوم در کجا هستند و کارشون چیه؟ ممنون میشم اگر کسی اطلاعی داره یه توضیح مختصری ارائه بده.

سلام. فکر میکنم این تصویر کمک کننده باشه. ابتدا شما از ریکرسر میپرسین(مثل 1.1.1.1). اگه کش نداشته باشه میره از DNS روت سرور میپرسه. اون شما رو میفرسته به Top Level Domain TLD اون دامنه و اون شما رو هدایت میکنه به authoritative name server که اطلاعات رکوردهای DNS شما رو داره (مثل آروان) و شما پاسختون رو میگیرین
how-route-53-routes-traffic.8d313c7da075c3c7303aaef32e89b5d0b7885e7c

1 Likes

خیلی ممنون از وقتی که گذاشتید. من درست متوجه شدم. tld سرورها به سرورهایی گفته میشه که اطلاعات دامنه های .com یا .net و org و غیره رو دارند. بعد root سرورها هم اطلاعات tld سرورها رو در خودشون نگهداری میکنند. سرورهای authorize یا sld هم همون dns سرورهای شرکت هایی مثل کلودفلر و ابرآروان و آسیاتک و شاتل و هاستینگ های دیگه هستش؟

سوال دیگری که دارم این هست که این سرورهای dns resolver کجا مستقر هستند؟ میخوام بدونم ماهیت فیزیکی شون چیه؟ فقط میدونم کار کش کردن انجام میدن ولی درک بیشتری ازش ندارم. ممنون میشم در این مورد هم بفرمایید.

این سرورها از نظر فیزیکی در نقاط مختلف توزیع میشن و از نظر آدرس دهی به صورت AnyCast پیاده سازی میشن. به این معنی که همشون یک IP برمیگردونن و کاربر به نزدیکترین سرور بهش نصب میشه.
نمونه نرم افزاری اوپن سورس این سرویس bind 9 هست. که توی این آدرس قابل مشاهده است:

How to Install and Configure DNS Server (Bind 9) on Ubuntu / Debian.