هر وبسایتی که میبینید، با چیزی به نام DNS کار میکنه. حالا dns چیست؟ فکر کنید مثل دفترچه تلفن برای اینترنته. وقتی یه وبسایت رو میخواید باز کنید، DNS کمک میکنه تا اون آدرس واقعی رو پیدا کنید. بدون DNS، نمیتونید به سایتها برسید.
dns چیست ؟
DNS یا “سامانه نام دامنه” (Domain Name System) یکی از مهمترین بخشهای اینترنت هست که تبدیل کردن نامهای وبسایت به آدرسهای IP را انجام می ده . بدون DNS، کاربران باید آدرس IP وبسایتها را به طور دستی به جای نام وبسایت وارد کنن.
name server چیست؟
سرور DNS یا Nameserver، در واقع یک کامپیوتر ویژه است که نقشهی راههای اینترنت را در اختیار دارد. وظیفهی اصلی اون اینه که نامهای دامنهی متنی مثل “example.com” رو به آدرسهای IP متناظر تبدیل کنه. این آدرسهای IP این امکان رو به ما میده که توی اینترنت جا به جا بشیم و به سایتهای مختلف برسیم.
وقتی شما یک آدرس وبسایت رو تو مرورگرتون وارد میکنید، درخواستتون اول به یک سرور DNS فرستاده میشه. سرور DNS سپس آدرس IP متناظر با نام دامنهی درخواستی رو جستجو میکنه و به مرورگرتون برمیگردونه، تا اون مرورگر بتونه به سرور وبسایت مورد نظر برسه و صفحهی درخواستی رو براتون نمایش بده.
سرورهای DNS در سطح جهانی کار میکنند و یک شبکهی پیچیده از اطلاعات را در اختیار دارند تا مطمئن شوند که درخواستهای وب به درستی هدایت میشوند. این سرورها به صورت سلسلهمراتبی با هم کار میکنند تا اطمینان حاصل کنند که هر درخواست به سرور درست هدایت میشود. برای مثال، اگر یک سرور DNS اطلاعات مورد نظر را نداشته باشه، درخواست را به یک سرور DNS دیگر ارجاع میده تا پاسخ درخواست شما پیدا شود.
اکثر شرکت های هاستینگ یا میزبانی دامنه name server های مخصوص خودشون رو برای اتصال به سایت ها ارائه می دهند.
چگونه مرورگر وب سایت درست را پیدا می کند؟
وقتی آدرس یک وبسایت رو توی مرورگر تایپ میکنید، پشت صحنه یک سری اتفاقات میوفته تا بهتون صفحهی مورد نظر رو نشون بده. وقتی یه URL رو تو مرورگر وارد میکنید، مرورگر اولین کارش اینه که توی حافظهی موقت یا “کش” خود نگاه میکنه. اگر قبلا به همون سایت رفته باشید و آدرس IPش رو داشته باشه، سریع به اون سایت متصل میشه.
اما اگر نتونه آدرس IP رو پیدا کنه، شروع به جستجو در فایلهای هاست و رکوردهای DNS میکنه. اگر همونجا هم نبود، میره سراغ سرورهای DNS پیشفرض. اگه اونجا هم نبود، سراغ سرورهای DNS بزرگتری میره که در سراسر دنیا قرار دارند و این جستجو به صورت سلسلهمراتبی انجام میشه.
و اگر در نهایت نتونه آدرس مورد نظر رو پیدا کنه، یه پیغام خطا بهتون میده که نشوندهندهی اینه که مرورگر نتونسته سایت رو پیدا کنه. حالا که با موضوع DNS آشنا شدید، در ادامه به برخی جزئیات بیشتر از رکوردهای DNS خواهیم پرداخت.
DNS چگونه کار می کند؟
1. درخواست کاربر: وقتی شما یک URL مثل “example.com” را در مرورگر وب خود وارد میکنید، اولین چیزی که اتفاق میافتد این است که مرورگر به دنبال آدرس IP مربوط به این نام دامنه میگردد.
2. جستجو در کش: ابتدا مرورگر در کش خود نگاه میکند. اگر قبلا به این سایت مراجعه کرده باشید، ممکن است آدرس IP آن همچنان در کش شما باقی مانده باشد.
3. درخواست به سرور DNS: اگر آدرس در کش پیدا نشود، درخواست به سرور DNS مربوط به ارتباط اینترنت شما فرستاده میشود.
4. جستجو در سرورهای DNS: اگر سرور DNS محلی شما اطلاعات مورد نظر را نداشته باشد، این درخواست به سرورهای بزرگتر و مرکزیتر DNS منتقل میشود. این جستجو به صورت سلسلهمراتبی است.
5. بازگشت آدرس IP: هنگامی که سرور DNS مربوطه آدرس IP متناظر با نام دامنه را پیدا کند، این آدرس به مرورگر شما ارسال میشود.
6. اتصال به سرور وب: با دریافت آدرس IP، مرورگر شما به سرور مربوطه متصل میشود و صفحه وب مورد نظر را برای شما نمایش میدهد.
این فرآیند، با وجود پیچیدگیهای فنیاش، در عمل به سرعت انجام میشود و معمولاً کمتر از چند ثانیه زمان میبرد.
بیشتر بخوانید: تفاوت آی پی ثابت و پویا
انواع رکورد DNS
رکوردهای DNS، اطلاعاتی هستند که مشخص میکنند چگونه دادهها در یک دامنه باید مدیریت و ترجمه شوند. هر رکورد دارای نوعی است که مشخص میکند چه نوع اطلاعاتی را نگه میدارد. در زیر به تعدادی از انواع رکوردهای مرسوم DNS با توضیحات و مثالها اشاره میکنیم:
1. A (Address) Record: این رکورد به مرورگر میگوید که آدرس IP مربوط به یک دامنه چیست.
– مثال: `example.com -> 192.0.2.1`
2. AAAA (IPv6 Address) Record: مانند رکورد A است ولی برای آدرسهای IPv6.
– مثال: `example.com -> 2001:0db8:85a3:0000:0000:8a2e:0370:7334`
3. CNAME (Canonical Name) Record: برای ایجاد زیردامنهها یا اشاره به دامنههای دیگر استفاده میشود.
– مثال: `www.example.com -> example.com
4. MX (Mail Exchange) Record: این رکورد مشخص میکند که ایمیلهای مربوط به دامنه به کجا ارسال شوند.
– مثال: `example.com mail is handled by mail.example.com`
5. NS (Name Server) Record: نام سرورهایی را مشخص میکند که اطلاعات DNS را برای دامنه نگه میدارند.
– مثال: `example.com -> ns1.examplehost.com`
6. TXT (Text) Record: معمولاً برای تأیید مالکیت دامنه یا اعطای اطلاعات متنی استفاده میشود.
– مثال: برای تأیید Google domain ممکن است چیزی شبیه به `google-site-verification=7xvGIRTxyz123` داشته باشید.
7. SRV (Service) Record: مشخص میکند کجا و چطور یک سرویس خاص بر روی یک دامنه در دسترس است.
– مثال: یک رکورد SRV میتواند مشخص کند که سرویس XMPP (پیامرسانی) روی `chat.example.com` در دسترس است.
8. PTR (Pointer) Record: به طور معمول در معکوس DNS lookup استفاده میشود، که آدرس IP را به یک نام دامنه ترجمه میکند.
– مثال: `192.0.2.1 -> example.com`
اینها تنها بخشی از رکوردهای DNS هستند، ولی مهمترین و مرسومترین آنها را پوشش دادیم. هر کدام از این رکوردها نقش خاصی در کارکرد و مدیریت دامنهها دارند.