سیستم DNS یکی از فناوری های اساسی در عملکرد اینترنت است که ما اکنون آن را می شناسیم.
به لطف این سیستم می توانیم از طریق اینترنت به آدرس IP سروری که می خواهیم به آن دسترسی داشته باشیم دسترسی پیدا کنیم.
به گونهای عمل میکند که گویی یک دفترچه تلفن یا پلتفرمی است که به ترجمه نام یک وبسایت به یک IP اختصاص داده شده است که با آن میتوان وب سرور را تعیین کرد.
این به کاربران اجازه می دهد تا به سرعت و به راحتی به خدمات میزبانی شده روی سرورهای متصل به اینترنت دسترسی داشته باشند.
DNS به نام سرور یا سرور نام نیز شناخته می شود.
هنگامی که ما به اینترنت متصل می شویم، ISP (ارائه دهنده خدمات اینترنت) ما یک آدرس IP به ما اختصاص می دهد.
این آدرس می تواند یک سری از ۱۲ عدد (در مورد IPv4) یا ۳۲ کاراکتر در قالب هگزادسیمال (در مورد IPv6) باشد.
در هر دو مورد، یک کامپیوتر به راحتی می تواند این فرمت های آدرس را مدیریت کند. از سوی دیگر، برای یک فرد این کار آسانی نخواهد بود.
برای مثال به خاطر سپردن آدرسی مانند ۱۰۲۲که آدرس Google IPv4 است بسیار دشوار است.
یا آدرس ۱۰۴.۲۱.۲۶.۱۸۵ که مربوط به آدرس آنلاین صرافی IPv2 است.
وقتی به عنوان کاربر به وب سایت ها و خدمات مختلف دسترسی پیدا می کنیم، اوضاع پیچیده تر می شود.
و وقتی آدرسهای آن سرویسها پویا باشند (با گذشت روزها تغییر میکنند) کاملاً یک چالش میشود.
در مواجهه با این وضعیت، بهترین راه داشتن یک پایگاه داده از نام های دامنه است که به یک آدرس IP مربوط می شود.
به خاطر سپردن نام های دامنه آسان تر است و ما را برای حرکت در اینترنت آسان تر می کند. به عنوان مثال، نوشتن Wikipedia.com با نوشتن ۲۰۸.۸۰.۱۵۴.۲۲۴ یکی نیست.
عملیات DNS
زیرساخت عملیاتی این نوع سرورها به یک سری لایه با عملکردهای کاملاً مشخص تقسیم می شود.
این لایه ها وظیفه ثبت، درخواست و حل نام دامنه را بر عهده دارند.
این لایه های عملیاتی به شرح زیر است:
لایه شماره ۱: مشتریان یا حل کننده ها
این اولین لایه عملیات DNS است. این نزدیکترین به کامپیوتر کاربران است.
نقش اصلی کلاینت های DNS این است که برای حل دامنه ها به سرورهای DNS پرس و جو می کنند.
یعنی مسئول درخواست اطلاعات هستند تا بتوانیم در اینترنت برای حل دامنه ها پیمایش کنیم.
هر سیستم عاملی با قابلیت اتصال به اینترنت، عملکرد این کلاینت ها را دارد.
این به منظور تسهیل ناوبری در شبکه است. وظایف این مشتریان عبارتند از:
سرور DNS را برای دامنه هایی که کاربر به آنها دسترسی دارد بازجویی کنید.
پاسخ های سرور DNS را در دامنه های درخواستی تفسیر کنید.
اطلاعات را به برنامه ای که درخواست کرده است (مرورگرهای وب، برنامه های P2P و غیره) برگردانید.
عموماً این کلاینتها از تکنیکهای خاصی مانند کش DNS استفاده میکنند تا امکان مرور سریعتر را داشته باشند.
این به این دلیل است که درخواست هایی که به درستی توسط سرور DNS پاسخ داده شده اند به صورت محلی ذخیره می شوند.
به این ترتیب، وضوح نام زمان بسیار کمتری نسبت به ارسال اطلاعات به یک سرور راه دور و انتظار برای پاسخ آن میبرد.
سایر قابلیتهای نمایش داده شده توسط این کلاینتها عبارتند از DNS-over-TLS (DNS با استفاده از TLS) DNSSEC (برنامههای افزودنی امنیتی DNS).
هر دو لایههای امنیتی هستند که به یک عملیات دوبخشی بستگی دارند (سرور و مشتری باید از گزینهها پشتیبانی کنند).
این به دنبال جلوگیری از اسکن یا خراب شدن ترافیک DNS توسط اشخاص ثالث مخرب است.
در مورد DNS-over-TLS، اتصال مشتری به سرورهای راه دور را رمزگذاری می کند.
در حالی که DNSSEC به لطف یک سیستم رمزگذاری نامتقارن، پاسخ های سرورهای DNS را از نظر رمزنگاری ایمن می کند.
یکی دیگر از عملکردهای کلاینت ها این است که به عنوان حافظه کش برای DNS خدمت کنند.
با این ویژگی، مشتریان به دنبال حل سریعتر آدرسهای سرور هستند و تجربه مرور روانتری را برای کاربران فراهم میکنند.
لایه شماره ۲: سرورها
سرورهای DNS رایانههایی هستند که به درخواستها پاسخ میدهند و با استفاده از یک سیستم درختی ساختار نامهای دامنه را حل میکنند.
این سرورها یک پایگاه داده با نام دامنه و آدرس IP ثبت شده مربوطه دارند.
به این ترتیب هر بار که یک کلاینت DNS درخواستی (پرس و جو) می دهد، سرور آن را دریافت کرده، دامنه مورد نظر را در پایگاه داده خود جستجو کرده و پاسخی را ارسال می کند.
این پاسخ آدرس IP دامنه ای است که مشتری از آن اطلاعات درخواست کرده است.
به لطف این عملیات، میتوانیم با نوشتن نامهای ساده در مرورگرهای خود، با خیال راحت در اینترنت بگردیم.
این سرورها عموماً با استفاده از آدرس های IP ثابت به اینترنت متصل می شوند (هرگز تغییر نمی کنند). این آدرسهای IP همانهایی هستند که معمولاً هنگامی که از طریق ISP به اینترنت متصل میشویم، بهطور خودکار پیکربندی میشوند.
با این حال، ما همچنین می توانیم آنها را به آدرس سرورهای IP دیگر مورد علاقه خود تغییر دهیم.
نمونه ای از این آدرس های IP 8.8.8.8 و ۸.۸.۴.۴ است. هر دو آدرس با DNS سرویس Google DNS مطابقت دارند.
همچنین امکان استفاده از آدرس های ۱.۱.۱.۱ و ۱.۰.۰.۱ Cloudflare DNS وجود دارد که مورد دوم از DNSSEC و DNS-over-TLS پشتیبانی می کند.
از سوی دیگر، این نکته نیز مهم است که سرورهای DNS عمومی و خصوصی وجود دارد.
در این صورت می بینیم که برای داشتن گزینه های امنیتی باید در سمت سرور ارائه شود.
بی فایده است که یک سرویس گیرنده DNS با پشتیبانی از DNSSEC داشته باشید.
لایه شماره ۳: مناطق اختیار
با توجه به ساختار درختی که سیستم DNS بر روی آن طراحی شده است، می توان آن را تقسیم کرد.
هر یک از این تقسیمات، مناطق مرجع نامیده می شوند.
یک منطقه مرجع یک پایگاه داده کامل برای یک درخت فرعی است که بخشی از درخت ریشه سیستم DNS است.
هر منطقه تحت یک اختیار است و می تواند مدیریت بخشی از درخت را به او تفویض کند.
منبع درخت DNS شامل ناحیه ریشه حاوی نمایندگیهای TLD (دامنه سطح بالا) است.
هر TLD به نوبه خود یک منطقه DNS را تشکیل می دهد، همانطور که دامنه های سطح دوم، و غیره. هر یک از این مناطق ممکن است تحت اختیار متفاوتی قرار گیرند.
این سرورها یا گروههایی از آنها، آنهایی هستند که به عنوان مثال، تفکیک نام زیر دامنههایی مانند .es یا .org را مدیریت میکنند.
به طور خلاصه، این مناطق آنهایی هستند که انواع رکوردها و دامنه های سرور DNS را محدود می کنند.
DNS چگونه کار می کند؟
به لطف عملکرد DNS ما می توانیم به تعداد زیادی از منابع موجود در اینترنت دسترسی پیدا کنیم.
درک نحوه عملکرد این سیستم به ما کمک می کند تا کمی بیشتر شگفتی تکنولوژیکی را که جهان را به هم متصل می کند درک کنیم.
اهمیت DNS در زیرساخت اینترنت.
در این مرحله می توان گفت که مفید بودن و اهمیت DNS غیر قابل تردید است.
به لطف زیرساخت DNS، می توانیم از اینترنت و خدمات آن لذت ببریم.
تسهیل دسترسی کاربران به پلتفرمها کلید انبوهسازی آنها است و در این مرحله DNS کاملاً با این فرض مطابقت دارد.
اینکه فقط باید نام یک دامنه (مثلا learn.onlinesarafi.com) را بنویسیم و به سایت برسیم بسیار مرتبط است.
به خصوص، زمانی که گزینه اولیه نوشتن یک سری اعداد یا کاراکترهای هگزادسیمال بسیار مرموز است.
علاوه بر این، باز شدن و توزیع سیستم به اینترنت امکان رشد مداوم را می دهد.
به عنوان مثال، یک شرکت می تواند یک سرور DNS ایجاد کند که می تواند برای حل منابع داخلی آن استفاده شود.
اما در عین حال قادر به حل (یا نه) منابع خارجی همان شرکت (خود یا غیر خود) است. این انعطاف پذیری منحصر به فرد بوده و یکی از دلایل رشد سریع و مستمر شبکه می باشد.
با این حال، طرح متمرکز و مقتدرانه علیرغم اهمیت آن، مشکلات جدی را ایجاد کرده است.
به عنوان مثال، دستکاری سوابق DNS رایج ترین شکل سانسور در جهان است.
دولتها در سرتاسر جهان از آن استفاده میکنند تا از دسترسی به وبسایتها یا خدمات خاص از منطقه خاصی جلوگیری کنند.
در مواجهه با این وضعیت، میتوانیم ببینیم که چرا داشتن گزینههای غیرمتمرکز که از این نوع اقدامات اجتناب میکنند نیز مهم است.
نه تنها به منظور اعطای آزادی، بلکه برای ارائه شفافیت بیشتر و دسترسی جهانی بیشتر.
غیر متمرکز یا توزیع شده؟
ما معمولاً می گوییم که DNS “متمرکز” است، زیرا دارای یک جزء مشتری-سرور متمرکز است.
همچنین دارای یک نقطه مرکزی است که از طریق آن شکست می خورد.
این نقطه ضعف در مدیریت ساختار ریشه آن است که توسط IANA/ICANN انجام شده است.
از سوی دیگر، DNS نیز یک سیستم توزیع شده است زیرا شامل تعداد زیادی کامپیوتر در سراسر جهان است.
به همین دلیل است که مانند بسیاری از شبکه ها، DNS یک سیستم توزیع شده است.
چگونه بلاک چین می تواند به بهبود آنها کمک کند؟
فناوری بلاک چین توانایی های بسیار خوبی برای تغییر سناریوهای مختلف در دنیای امروز نشان داده است.
و دقیقاً یکی از این سناریوها، فناوری پشت DNS است.
ثابت شده است که ساختار متمرکز، مبتنی بر قدرت و از نظر رمزنگاری ضعیف سیستم فعلی کافی نیست.
سهولت انجام حملات انکار خدمات وحشتناک است.
اما این تنها کاری نیست که می توان انجام داد.
برای مثال، این واقعیت که معمولاً درخواستهای تیمهای ما به صورت متن ساده و بدون استفاده از رمزنگاری انجام میشود، از قبل نگرانکننده است.
هر کسی که دانش داشته باشد می تواند از کارهایی که ما با تجهیزات خود انجام می دهیم (کامپیوتر یا تلفن های هوشمند) جاسوسی کند.
در واقع، آنها میتوانند ناوبری ما را به سایتهایی هدایت کنند که میتوانند اطلاعات ما را بدون اینکه متوجه شوند تا زمانی که خیلی دیر شده به سرقت ببرند.
در مواجهه با این وضعیت، بلاک چین راهی برای حل قطعی این مشکلات است.
یک سرویس DNS روی بلاک چین از نظر رمزنگاری ایمن، غیرمتمرکز، بدون مجوز، مقاوم در برابر حمله، تغییر ناپذیر و غیرقابل انکار خواهد بود.
این بسیار بهتر از چیزی است که اکنون با سرویس DNS فعلی داریم.
نمونه خوبی از این نوع سیستم را می توان در Namecoin مشاهده کرد، یک بلاک چین که برای تبدیل شدن به یک سیستم DNS که بر روی فناوری بلاک چین کار می کند، اختصاص داده شده است.
با در نظر گرفتن این موضوع قابل درک است که بگوییم فناوری بلاک چین می تواند به بهبود فناوری DNS کمک کند.
بهبودهایی به نفع امنیت، حریم خصوصی و مبارزه با سانسور کردن.




