سیستم نام دامنه (DNS) مانند یک نقشه راه برای اینترنت عمل می نماید و آشنایی با اصطلاحات DNS بسیار مهم است. این سیستم پیچیده و هوشمند به شما کمک می کند تا وب سایت ها، ایمیل ها و سایر منابع آنلاین را به راحتی پیدا کنید. بدون DNS، مجبور بودید آدرس های IP طولانی و پیچیده را برای هر سایتی به خاطر بسپارید که این کار بسیار دشوار و غیر عملی بود.
DNS این مشکل را با ترجمه دامنه های قابل خواندن توسط انسان مانند example.com به آدرس های IP قابل خواندن توسط ماشین مانند 192.0.2.1، حل می کند. هنگامی که یک نام دامنه را در مرورگر خود تایپ می نمایید، DNS به طور خودکار آدرس IP مربوطه را پیدا کرده و شما را به سایت مورد نظر می رساند.
DNS یک سیستم جهانی است که توسط میلیون ها سرور در سراسر جهان مدیریت می شود. این سیستم به طور مداوم در حال تغییر و بهبود می باشد تا بتواند با رشد روز افزون اینترنت مقابله کند. DNS یک فناوری اساسی برای اینترنت است و بدون آن، دنیای آنلاین شما بسیار متفاوت میشد.
تصویر(1)
سیستم نام دامنه (DNS) به حوزههای مختلف تقسیم شده است و از طریق DNS zone های غیر متمرکز مدیریت میشود. به عنوان مثال، هنگامی که یک نام دامنه سطح دوم مانند example.com دریافت میکنید، TLD سطح بالاتر com. میتواند حق مدیریت zone دامنه example.com را به شما واگذار کند که در این صورت میتوانید مسئولیت تمام زیردامنهها مانند mail.example.com، ftp.example.com و غیره را به سایرین اعطا نمایید. برای مدیریت نام دامنهها، لازم است تا رکوردهای DNS اضافه شود که مجموعهای از دستورالعملهای مربوط به دامنههای شما، میزبانها، خدمات و موارد دیگر هستند.
اصطلاحات DNS
- نام دامنه
یک شناسه از سرور میزبان یا صفحه است که سرورها برای مسیردهی به آدرس IP (یک رشته از اعداد مانند: 192.168.1.62) استفاده می کنند. مطمئنا دامنه های مختلف زیادی را در نوار آدرس مرورگر خود تایپ کرده اید تا به وب سایت های موردنظر دسترسی پیدا کنید.
اعداد بهترین راه برای ارتباط بین ماشین ها هستند اما به خاطر سپردن آنها توسط انسان، دشوار خواهد بود. به همین دلیل، نام دامنه ایجاد شد. انتخابی خوشایند برای انسان ها جهت دسترسی به وب سایت هایی که دنبال آن هستند.
- آدرس IP
آدرس IP یا Internet Protocol، یک شناسه منحصر به فرد برای هر دستگاه متصل به شبکه می باشد. این آدرس از چهار عدد تشکیل شده است که هر کدام از 0 تا 255 متغیر هستند. اعداد با نقطه (.) از هم جدا میشوند. به عنوان مثال، آدرس IP رایانه شما ممکن است 192.168.1.1 باشد.
آدرسهای IP برای اینکه دستگاهها بتوانند به یکدیگر متصل شوند و دادهها را بین خود ارسال کنند، ضروری هستند. آنها به روترها کمک خواهند کرد تا دستگاههای صحیح را در شبکه پیدا نمایند. مجموعه اعداد در هر آدرس IP، توسط مرجع تخصیص شمارههای اینترنت (IANA) اختصاص داده میشود. IANA یک سازمان بینالمللی است که مسئول مدیریت آدرسهای IP و سایر منابع شبکه می باشد.
تصویر(2)
آدرسهای IP به دو نوع اصلی یعنی آدرسهای خصوصی و آدرسهای عمومی، تقسیم میشوند. آدرسهای خصوصی در شبکههای اختصاصی مانند خانگی یا شرکتی استفاده میگردند. آدرسهای عمومی نیز برای استفاده در شبکههای عمومی مانند اینترنت تعبیه شده اند.
در حال حاضر، دو نسخه اصلی IPv4 و IPv6 از آدرسهای IP وجود دارد. نسخه قدیمیتر، IPv4 است و در حال حاضر رایجتر می باشد. IPv6 جدیدتر بوده و قابلیت های بیشتری نسبت به IPv4 دارد.
- Top-level Domain یا TLD
دامنه ها دارای ساختار سلسله مراتبی هستند. دامنه سطح بالا یا Top-level Domain یکی از بخشهای آن است و اگر از راست به چپ در نظر بگیرید دقیقاً بعد از آخرین نقطه پایانی و قبل از نام دامنه سطح دوم قرار دارد. برای مثال می توان به .com و .gov یا .ir اشاره کرد.
در ابتدا، TLD ها برای سازماندهی نام دامنه بر اساس هدف، موقعیت جغرافیایی و محدوده کارایی ایجاد شدند. تنها با خواندن این قسمت از نام دامنه، کاربران می توانند متوجه شوند که وب سایت موردنظر متعلق به یک سازمان تجاری، دولتی یا غیرانتفاعی است و در سطح منطقه یا بین المللی فعالیت می کند.
در سال 2010، شرکت Internet Corporation for Assigned Names and Numbers به اختصار (ICANN)، ایجاد TLD های جدید، عمومی و علامت تجاری را پذیرفت.
- Fully Qualified Domain Name یا FQDN
FQDN، کامل ترین نام دامنه ای است که میزبان ها می توانند داشته باشند و به مکان دقیق نام دامنه در سلسله مراتب درختی سیستم نام دامنه (DNS) اشاره می کند.
تصویر(3)
- Anycast DNS
Anycast DNS یک روش مسیریابی ترافیک است که در آن از چندین nameserver با آدرس IP یکسان در مکانهای مختلف استفاده میشود. عموما تعداد زیادی مکان (حداقل 20 عدد) برای یک ارائهدهنده DNS با اندازه مناسب وجود دارد. استفاده از تعداد زیادی سرور Anycast DNS در برابر حملات DNS، می تواند یک لایه محافظتی ایجاد کند.
وقتی مشتری یک دامنه را درخواست می نماید، روتر آن را به nameserver نزدیک تر هدایت میکند که کاهش تاخیر را به همراه دارد و تجربه بهتری برای مشتریان ایجاد خواهد کرد.
- Dynamic DNS
DNS پویا یا DDNS یک روش خودکار برای بروزرسانی رکوردهای DNS در سمت سرور است. این روش معمولاً برای بروزرسانی آدرسهای IP رکوردهای A یا AAAA استفاده میشود. DNS پویا برای دوربینهای مدار بسته و خدمات از راه دور مفید است زیرا نیازی به پرداخت هزینه برای دریافت آدرس IP ثابت از ISP نیست. آدرس IP مودم در طول زمان تغییر میکند اما با استفاده از DNS پویا، رکورد متناظر نیز بروزرسانی میشود و دسترسی از راه دور به دستگاههای شما همچنان امکانپذیر خواهد بود. پس از راهاندازی اولیه، نیازی به اصلاح تنظیمات DNS پویا نیست و کاملا خودکار به کار خود ادامه میدهد.
- DNSSEC
DNSSEC یک پروتکل امنیتی می باشد که به منظور محافظت ارتباطات DNS و جلوگیری از جعل DNS طراحی شده است. این پروتکل ترکیبی از کلیدهای خصوصی و عمومی را برای رمزگذاری ارتباطات DNS استفاده می کند. چیزی که DNSSEC را به یک مکانیزم محافظتی کارآمد تبدیل می نماید، ایجاد یک زنجیره کامل از اعتماد است. این زنجیره از root zone یا "zone ریشه" شروع شده و تا TLD zone و zone دامنه و زیردامنه ها ادامه می یابد. هر zone در زنجیره، کلید zone بعدی را دارد. DNSSEC بدون کاهش سرعت، امنیت را به فرآیند DNS اضافه می کند.
انواع DNS Server
سرورهای DNS مختلفی وجود داشته و هر کدام عملکرد خاصی دارند.
تصویر(4)
Root server: به بالاترین سطح سرورهای DNS تعلق دارد و authoritative name server یا "سرور نام معتبر" برای یک zone ریشه DNS خاص است. این سرور به TLD نام دامنه درخواستی اشاره می کند.
TLD server: سرور TLD مسئول TLD های خاص (.com، .gov، .uk، .net و غیره) می باشد و به name server مشخص و معتبری اشاره می کند که می تواند آدرس IP را برای نام دامنه درخواستی ارائه دهد.
Recursive DNS server: در Recursive DNS server، سرور درخواست DNS کاربر را دریافت کرده و به دنبال آدرس IP یا سایر اطلاعات مورد نیاز برای نام دامنه درخواستی می گردد. برای دریافت این اطلاعات، با سایر سرورهای DNS بر اساس سلسله مراتب ارتباط برقرار می کند.
Authoritative DNS server: این سرور شامل تمام رکوردهای DNS برای zone مرتبط با خود است. Authoritative DNS server درخواست هایی که سرورهای Recursive DNS دارند را با ارائه رکورد A یا AAAA مربوطه و آدرس IP دامنه درخواستی یا رکورد DNS دیگر، پاسخ می دهد.
Primary authoritative DNS servers: این سرورها به درخواست های DNS پاسخ می دهند و فایل zone اصلی را ذخیره می کنند. بنابراین، تغییر رکوردهای DNS فقط در این سرورها قابل انجام است.
Secondary authoritative DNS servers: این سرورها نیز به درخواست های DNS پاسخ می دهند اما آنچه که ذخیره می کنند یک کپی از فایل zone است. این نسخه قابل ویرایش نیست و فقط قابل خواندن می باشد.
DNS Zone
سیستم DNS دارای ساختاری سلسله مراتبی است که شبیه یک درخت وارونه می باشد. این ساختار از نامهای دامنه در سطوح مختلف تشکیل شده است. بالاترین سطح، ریشه می باشد و پس از آن TLD ها، دامنههای سطح دوم و زیردامنهها قرار دارند. برای مدیریت این نامهای دامنه، DNS zone ها در تمامی سطوح وجود دارند. DNS zone ها، پارتیشنهایی از فضای نام دامنه هستند که شامل فایلها و رکوردهای DNS برای مدیریت می باشند. یک مدیر DNS میتواند رکوردهای DNS را در داخل DNS zone اولیه اضافه یا حذف کند.
DNS records
رکوردهای DNS، فایلهای سادهای می باشند که حاوی دستورالعملهایی در مورد نحوه مدیریت یک نام دامنه هستند. این دستورالعملها میتوانند شامل اتصال نام دامنه به یک آدرس IP، تنظیمات سرورهای ایمیل و سایر اطلاعات باشند. رکوردهای DNS درون یک فایل در DNS zone ذخیره میشوند. zone در داخل یک authoritative name server واقع شده است.
انواع مختلفی از رکوردهای DNS وجود دارد اما محبوبترین آنها عبارتند از:
- A record: دامنه را به یک ip متصل می نماید.
- CNAME record: ساب دامنه ها را به یک دامنه هدایت می کند.
- MX record: سرور ایمیلی که باید ایمیل های تحت دامنه را دریافت نماید مشخص خواهد کرد.
- TXT record: جهت تاییدیه های مختلف و اهداف احراز هویت کاربرد دارد.
- NS record: نام سرور (nameserver) را مشخص می نماید.
- SOA record: رکورد SOA یا Start of Authority یک رکورد DNS است که اطلاعات کلیدی در مورد یک دامنه را مشخص می کند.
- SRV record: سرویس ها را به پورت ها متصل می نماید.
- PTR record: این رکورد برعکس A عمل نموده و یک IP را به نام دامنه متصل می کند.
جمع بندی: اهمیت اصطلاحات DNS
درک اصطلاحات DNS به دلایل مختلفی از جمله موارد زیر بسیار مهم است:
تصویر(5)
- عیب یابی کارآمد: اطلاع از اصطلاحات DNS، به متخصصان فناوری اطلاعات اجازه می دهد تا مسائل فنی را به طور موثرتری تشخیص داده و حل کنند. به این ترتیب، شناسایی علت اصلی مشکلات، مانند خطا در فراخوانی دامنه یا پیکربندی نادرست رکوردهای DNS، بسیار آسان تر و سریعتر می شود.
- امنیت پیشرفته: امروزه امنیت سایبری اولویت اصلی می باشد. بنابراین، برای متخصصان بهتر است اصطلاحات DNS را برای شناسایی و پاسخ به تهدیدات احتمالی درک کنند. درک عباراتی مانند DNSSEC، جعل DNS یا cache poisoning و البته حملات DDoS به تقویت امنیت شبکه ها و سرویس های وب کمک می کند.
- بهینه سازی عملکرد: صاحبان وب سایت ها و توسعه دهندگان می توانند از درک اصطلاحات DNS برای بهینه سازی عملکرد حضور آنلاین خود بهره مند شوند. تنظیم دقیق DNS، به حداقل رساندن مقادیر TTL و اطمینان از تنظیمات مناسب رکورد DNS، به عملکرد سریعتر و مطمئن تر وب سایت کمک می کند.
- ارتباط موثر: ارتباط شفاف در تیم های فناوری اطلاعات، به ویژه بین توسعه دهندگان، مدیران شبکه و تیم های پشتیبانی، بسیار مهم است، به خصوص زمانی که نیاز به برقراری ارتباط در مورد مسائل فنی پیچیده دارند. درک مشترک از اصطلاحات DNS، امکان ارتباط و همکاری موثر در تیم ها را فراهم می کند.
- مدیریت دامنه: افراد و سازمان هایی که درگیر ثبت و مدیریت دامنه ها هستند باید با اصطلاحات DNS برای تصمیم گیری آگاهانه آشنا باشند. آگاهی از اصطلاحاتی مانند TLD ها، ثبت کننده ها و ارائه دهندگان میزبانی DNS به صاحبان دامنه اجازه می دهد تا پیچیدگی های اکوسیستم دامنه را بررسی کنند.