شاید یکی از واژه هایی که این روزها مخصوصا درباره بازی های آنلاین می شنوید ، کلمه DNS باشه ، امروز در این مقاله میخام بررسی کنم که DNS چی هست ، چجوری کار می کنه ، اهمیتش در ارتباطات اینترنتی چی هست و اگه نباشه چه اتفاقات بدی میوفته ، در عین حال شما اگر هم بخاین تخصصی این موضوع رو یاد بگیرید و خودتون بخاین DNS سرور راه اندازی کنید ، راهنمایی می کنم. تا اینجای کار فقط بدونید که
DNS یک سرویس اینترنتی هست که به شما این امکان رو میده که به جای وارد کردن آدرس های IP ( آدرس های واقعی که شبیه پلاک هستن ) از اسامی برای اتصال به وب سایت ها و سرویس های اینترنتی استفاده کنید.
یعنی مثلا به جای اینکه بزنید تو اینترنت 89.90.116.57 کافیه بنویسید www.tosinso.com تا وب سایت مورد نظر باز بشه ، این تبدیل توسط سرویس DNS انجام میشه ، حالا بریم ادامه مقاله ...
تاریخچه DNS و دلیل به وجود اومدنش !
قرار نیست بگم در سال فلان چه اتفاقی افتاد ! اصلا مهم نیست. یه زمانی که تازه شبکه های کامپیوتری در دنیا داشت رشد و پیشرفت پیدا می کرد ، انسان ها برای ارتباط کامپیوترها با کامپیوترها از آدرس های IP استفاده می کردند. آدرس های IP در واقع مثل پلاک خونه ها عمل می کرد یا اگه بهتر بخایم بگیم مثل شماره تلفن افراد بود. یه نمونه از چند تا آدرس IP رو براتون میزارم :
• 81.65.78.40
• 250.210.119.1
• 7.128.94.20
طبیعتا شماره تلفن ها رو خیلی از افراد حفظ می کردند اون زمان و وقتی تعداد شماره تلفن ها زیاد میشد هم براش یک دفترچه تلفن درست می کردند. همین اتفاق برای آدرس های IP افتاد. اینقدر تعداد آدرس های آی پی در شبکه ها زیاد شد که دیگه نمیتونستیم حفظشون کنیم. سخت میشد ، میلیون ها آدرس عددی رو هیچکس نمی تونست حفظ کنه و یا حتی یادداشت کنه. خوب راهکار چی هست؟ اومدن سرویسی به نام DNS رو راه اندازی کردن .
کاری که سرویس DNS انجام می داد ، دقیقا شبیه به کاری بود که دفترچه تلفن انجام می داد
( البته وسط پرانتز اینو بگم که قبل از DNS یک سرویس دیگه به نام WINS اومد که همینکار رو انجام بده اما چون مثل یه فایل ساده و تخت عمل می کرد و الگوی طراحی مناسبی نداشت ، برای شبکه های بزرگی مثل اینترنت مناسب نبود و منسوخ شد ) یعنی در واقع DNS یک فایل بود که جلوی هر آدرس IP یک اسم نوشته بودن که اگر کسی خواست به اون سرویس متصل بشه نیازی به حفظ کردن آی پی نداشته باشه ، یه چیزی مثل مثال زیر :
• هر کس نوشت www.tosinso.com خودکار تبدیلش کن به 81.65.78.40
• هر کس نوشت www.godeepin.net خودکار تبدیلش کن به 250.210.119.1
• هر کس نوشت www.itpro.ir خودکار تبدیلش کن به 7.128.94.20
پس تعریف ساده DNS چیست ، این شد که یه سرویسی هست که به شما این امکان رو میده که آدرس های IP رو به اسم تبدیل کنید ، اما خوب طبیعی هست که امکانش هست برعکس اینکار رو هم انجام بده ، یعنی IP ها رو به اسم تبدیل کنه . برای مثال :
• هر کس نوشت 81.65.78.40 ببرش روی www.tosinso.com
• هر کس نوشت 250.210.119.1 ببرش روی www.godeepin.net
• هر کس نوشت 7.128.94.20 ببرش روی www.itpro.ir
خلاصه اینکه هر دو تای اینکارها رو انجام می ده که بعد از معرفی شدن سرویس DNS به دنیا ، ارتباطات راحت تر شد و مردم دیگه نیازی نداشتن که آدرس های IP رو حفظ کنن ، راستی با اینکه کمی بحث ممکنه فنی بشه اما بد نیست بدونید که وقتی DNS اسم رو به آدرس IP تبدیل می کنه بهش میگن Forward Lookup انجام میده که ترجمش میشه میره دنبال پیدا کردن آدرس IP ، حالا اگر برعکسش رو انجام بده یعنی IP بهش بدیم و برعکس ازش اسم بخایم ، معکوس میره دنبالش رو بهش میگن Reverse Lookup یا جستجوی معکوس انجام میده ... همین رو فعلا داشته باشید تا بعد ...
DNS مخفف چی هست؟
ببینید توضیح دادیم که کار این سرویس اینه که اسم رو به آیپی و آیپی رو به اسم تبدیل کنه. حالا اومدن مخفف سه تا کلمه رو ، روی اسم این سرویس گذاشتن یعنی Domain Naming System یا Domain Naming Service که هر دوتاش درست هست و فقط بین علما سر کلمه آخر اختلاف هست ، اون کلمه Domain هم بعدا مفصل توضیح میدم فقط بدونید اسم های اینترنتی رو برای سایت ها میگیم Domain ( مثلا دومین tosinso.com ) حالا چون این سرویس کار تبدیل نام انجام میده ، همین اسم رو گذاشتن روش.
روش کار DNS چجوری هست؟
خوب گفتیم مکانیزم کاری DNS مثل یک دفترچه تلفن میمونه خوب؟ حالا بیایم با هم ساختار دفترچه تلفن رو بررسی کنیم ، دفترچه تلفن ساختارش اینجوری هست که به تعداد حروف الفباء برگه داره ، توی هر برگه اسامی هستن که با اون حرف شروع میشن و طبیعتا جلوی هر اسمی هم شماره تلفن طرف قرار میگیره ( البته شما سنتون قد نمیده به دفترچه تلفن ) مثال قدیمی هست اما شما می تونی دفترچه تماس گوشیت رو هم با همین روش مقایسه کنی ، پس یه چیزی شبیه زیر میشه :
• صفحه الفباء حرف N
• نام و نام خانوادگی : Mohammad Nasiri
• شماره تماس : 09127777777
خوب حالا DNS اومدی چیکار کرد ، گفت من یه قالب درست می کنم که هر کس از من سوال کرد بتونم جوابش رو بدم ، قالبم اینجوری هست که میگم هر اسمی که وارد کردید رو ( مثلا نام خانوادگی ) یا بهتر بگیم هر آدرس دومین ( اسم اینترنتی مثل google.com ) رو براش یه فایل درست می کنم اسمش رو میزارم محدوده یا Zone حالا هر چی آدرس IP برای اون محدوده هست ، هر چی اسم زیرمجموعه اون محدوده هست رو داخل این Zone قرار میدم ، که هر کس ازم سوال پرسید سریع برم توی Zone اش و IP ایش رو پیدا کنم ، یه چیزی شبیه به ساختار زیر :
• اسم Zone یا محدوده : tosinso.com
• اسم کامل وب سایت : www.tosinso.com
• آدرس IP برای این " اسم کامل " میشه = 81.65.78.40
قشنگ توضیح دادم؟ متوجه شدی؟ به همین سادگی ، حالا نکته اصلی اینجاست که وقتی ما برای یک اسم میایم و یک Zone ایجاد می کنیم در سرویس DNS ، یعنی هر چیزی که زیرمجموعه اون اسم هست باید داخل همون فایل یا محدوده باشه و نمیشه خارجش باشه !! یعنی چی؟ دقت کن :
یعنی وقتی ما Zone ای درست می کنیم به نام tosinso.com دیگه اسامی مثل www.tosinso.com یا mail.tosinso.com یا ftp.tosinso.com یا admin.tosinso.com یا هر چیزی که پسوند tosinso.com رو داره باااااااایددددد داخل این Zone باشه و اگر نباشه یعنی وجود نداره ، این موضوع باعث میشه هم سرعت پیدا کردن آدرس ها بالا بره و هم سرویس دهی نظم پیدا کنه .
اصلاحات فنی DNS به زبان زیادی ساده
اگه کاربر عمومی هستی نیازی نیست این قسمت رو یاد بگیری چون ممکنه به کارت نیاد اما اگر دنبال یادگیری فناوری اطلاعات و شبکه هستی بد نیست این اصلاحات سرویس DNS رو خوب بشناسی ، بریم مرور کنیم :
- Zone یا محدوده : همون چیزی که بحث کردیم ! معادل صفحه هر حرف الفباء در دفترچه تلفنتون میشه ، هر Zone فقط شامل اسامی هست که با اون حرف شروع میشن ( با اون اسم شروع میشن )
- Record یا رکورد : معادل ترکیب اسم + شماره تلفن هست ، در DNS وقتی میگیم آدرس www.tosinso.com آدرس IP ایش میشه 81.65.78.40 ترکیبش رو میگیم یک DNS Record ... همونطور که یک صفحه تلفن میتونه کلی شماره تلفن داشته باشه ، هر Zone در DNS هم می تونه کلی Record داشته باشه حله؟
- Lookup : این کلمه رو خیلی جاها در سرویس DNS میشنوید ، یعنی دنبال چیزی گشتن ، وقتی سرویس DNS تو بین Zone ها و Record هاش دنبال نتیجه دلخواه شما میگرده ، داره Lookup می کنه ، مثل اون کسیکه دفترچه تلفن رو داره جستجو می کنه .
- Domain یا دومین : دیگه ساده ترین حالت باید بگم اسم وب سایت ها رو میگن دومین ! مثلا شما وقتی میگید سایت توسینسو در واقع دومین tosinso.com منظورتون هست. بحثش مفصله فقط در همین حد اینجا بازش می کنم که گیج نشید.
دیگه بیشتر از این فنی نمیشیم چون شما قرار نیست خیلی تخصصی بشیم . اگه روزی به بحث شبکه های کامپیوتری علاقه مند شدی ، این مسائل رو خیلی حرفه ای تر و دقیقتر توی دوره آموزشی نتورک پلاس آموزش می دیم و بعدش هم می تونی توی دوره آموزشی مهندسی شبکه مایکروسافت راه اندازیشون رو هم یاد بگیری ، پس الان اگر متوجه جزئیاتش نشدی اصلا نترس ...
DNS و بازی آنلاین ! اهمیت دی ان اس در گیمینگ
چون می دونم اکثر دوستان اسم کلمه DNS و سوال DNS چیست و چیکار می کنه رو زمانی شنیدن که داشتن بازی آنلاین یا همون گیم میزدن ، شنیدن ، گفتم این موضوع رو توضیح بدم که چجوری تغییر دادن یه آدرس DNS می تونه سرعت بازی شما رو بالا ببره؟ خوب پس خوب دقت کنید تا متوجه بدبختی های اینترنتی مملکتمون بشید.دیگه می دونید DNS چی هست و چجوری کار می کنه ، فرآیند تبدیل کردن اسم به آی پی و برعکسش در حالت کلی در اینترنت چند میلی ثانیه طول میکشه ، یعنی از زمانیکه شما اسم رو بزنید تا تبدیل بشه و برگرده روی سیستم شما فقط چند میلی ثانیه کافی هست. این حالت طبیعیش هست دیگه؟
اما خوب ما تو ایران هستیم. فیلترینگ اینترنت از یه طرف ، از طرفی تحریم شدن از طرف سرویس های بازی آنلاین خارجی ، از طرفی خرابی زیرساخت اینترنتی خودمون ! قوز بالاقوز میشه ! یعنی به جای اینکه شما چند میلی ثانیه داشته باشید تا تبدیل انجام بشه ! چند ثانیه و بعضی اوقات چند ده ثانیه این فرآیند طول میکشه ! این یعنی چی؟
به زبان ساده شما تا میخاین تو یه بازی آنلاین جنگی شلیک کنید مثلا !! طرف شما رو زده ! بازی تموم شده ! جشن قهرمانی گرفتن ! تازه شما فهمیدین شلیک نشده اصلا ... خخخ متوجه شدی؟ توی بازی های آنلاین سرعت این تبدیل به شدت در بازی تاثیر داره و به خاطر همین هم سرویس هایی هستن که میان این سرعت رو کاهش میدن و باعث میشن سرعت این تبدیل براتون بالا بره ، به خاطر همین هست که شما همیشه دنبال DNS پر سرعت برای بازی هستید. گرفتید موضوع چی هست؟ اینم بگم که مکانیزم های زیادی برای دور زدنشون وجود داره که بهش میگن پروکسی کردن DNS که دیگه بحثش خارج از بحث این مقاله هست.
اگه بخایم DNS چیست رو در یک جمله خلاصه کنیم
این همه تعریف کردیم اما اگر بخایم کتابی تعریف کنیم و شما بخاین در یک جمله به یه نفر دیگه توضیح بدید که DNS چی هست ، به نظرم این جمله رو عینا بهش بگید :
"دی ان اس ( DNS ) یک سرویس شبکه ای هست که کارش تبدیل کردن اسم به آدرس های IP و برعکسش هست و تمام "
تفاوت سرویس DNS و پروتکل DNS تو چی هست؟
آهااااا این سوال خیلی خوبه ، چون خیلی جاها که میریم می بینیم نوشتن پروتکل DNS و یه جاهایی نوشتن سرویس DNS که نباید قاطی بشن . برای اینکه خوب تفاوت این دو تا رو درک کنید ساده ساده میگم ، این پروتکل ها هستند که از روشون سرویس ها نوشته میشن و اجرایی میشن ، متوجه شدید؟ یعنی واقعیت این هست که DNS یک پروتکل هست ، این پروتکل رو شرکت مایکروسافت برداشته و تبدیلش کردن به سرویس DNS مایکروسافت یا در سیستم عامل لینوکس سرویسش اسمش شده BIND یا در مودم های خونگی سرویسی داریم به نام DNS Masqe اوکی؟ اما ذاتا همشون از یک پروتکل مشترک استفاده می کنن ، پس وقتی معماری و مکانیزم کاری DNS رو متوجه شدی ، دیگه نوع سرویس مهم نیست. پس توی تعریف چه بگی سرویس DNS و چه بگی پروتکل DNS هر دوتاش درست هست.
خلاصه داستان دی ان اس چیست؟
خوب شما دیگه الان فهمیدید دی ان اس چی هست و چه تاریخچه ای داره ، می دونید چجوری کار می کنه ، می دونید چه اهمیتی در سرعت شبکه ها و بازی های آنلاین داره ، می دونید چه اصطلاحات فنی داره و حتی اگه خودتون هم بخاین راه اندازی کنید تا حدی راهنماییتون کردیم. اما فراموش نکنید که دنیا بزرگی هست و شما فقط در حد آشنایی با معماری DNS آشنا شدید. امیدوارم از خوندن این مقاله لذت برده باشید چون من " محمد نصیری " با عشق و علاقه این مطلب رو براتون نوشتم. پس لطفا اگه خوشت اومد ، لاگین و کن و نظرت رو بنویس که کلی محتوای اینجوری بنویسم براتون.
سلام ، چیز عجیب و غریبی نیست این سرویس به جای کاربر درخواست های DNS رو میگیره و پاسخ میده ، نقش واسط داره
آقای نصیری، سلام و خسته نباشید
میشه توضیحی در مورد dns resolver هم بدید
ممنون
سلام و عرض ادب و احترام ، خیر متاسفانه فعلا آموزشی در این خصوص نداریم
سلام خدمت مهندس نصیری
در مورد DNS doctoring مطلبی که در شبکه های سیسکو هست آموزشی دارید ؟ خیلی ممنونم
فرآیند یکسان هست ، اما برای آدرسهای داخلی هیچوقت در شبکه های داخلی درخواست به شمت DNS سرور روت نمیره
حالا فکر میکنم این برای موقعی بود که شما IP پابلیک دارید ،
موقعی که شما آی پی پابلیک ندارید و برای پیدا شده آدرس آی پی ، درخواست ها به دی ان اس سرور ریشه در اینترنت میرسد و اونجا پیدا میشه ، بعد چه اتفاقی می افته ؟!
همش به این فکر میکردم چجوری این داستان وصل میشه به dns . اونجا که حافظشو از دست داده بود یعنی flushdns کرده بود کلی حال کردم :-) مرسی مهندس نصیری
آقا چرا قاطی میکنی این دو تا شخصیت یکی هستن .... D:
آقا من کلاً قاطی کردم !!!!
الان یونیتی ای رو نوشته، یا محمد نصیری؟!
بعد یونیتی اگر یادش میره پس چطوری این مقاله رو نوشته ؟!!!
:D
:))
منم با این مفهوم مشکل دارم نمیدونم چرا؟
خیلی هم در موردش خوندم ولی انگار حالیم نمیشد به قول معروف
ولی با این داستان دارم میفهمم
ممنون