محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

Netmask Ordering چیست و چه تفاوتی با Round Robin در DNS دارد؟

حتما با ساختار کاری سرویس DNS آشنایی دارید ، اگر با این ساختار آشنایی ندارید پیشنهاد می کنم قبل از خواندن این مطلب مقاله بنده با عنوان معرفی سرویس DNS بصورت طنز در انجمن تخصصی فناوری اطلاعات ایران را مشاهده کنید. شاید برای شما جالب باشد بدانید که شما می توانید بصورت همزمان در یک DNS سرور چندین رکورد یا بهتر بگوییم چندین A Record با یک اسم داشته باشید ، برای مثال شما می توانید یک A Record به شکل www با آدرس IP به شماره 192.168.1.100 در Zone ای به نام tosinso.com ایجاد کنید و در کنار همین A Record یک A Record دیگر نیز به شکل www با آدرس IP به شماره 172.16.1.100 نیز داشته باشید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. Round Robin چیست ؟
  2. Netmask Ordering چیست ؟

یعنی دو رکورد یکسان با آدرس های IP متفاوت ، این قابلیت در DNS سرور به عنوان قابلیت Round Robin شناخته می شود که در خصوص آن بیشتر با هم صحبت خواهیم کرد. اما نکته قابل تامل در این است که سرویس DNS ما از کجا می تواند تشخیص دهد که کدامیک از این رکوردها باید به درخواست کلاینت ها پاسخ داده شوند ؟ DNS سرور از کجا متوجه می شود که کدامیک از این رکوردها را باید در پاسخ به کلاینت برگرداند ؟ این موضوع دقیقا بحث امروز مقاله ما است.

کاربرد Round Robin چیست

Round Robin چیست ؟

با فعال کردن قابلیت Round Robin در DNS سرور شما می توانید رکوردهای مشابه با آدرس های IP غیرمشابه ایجاد کنید ، Round Robin این امکان را به DNS سرور می دهد که به محض دریافت درخواست رکورد سرور ، بصورت ترتیبی درخواست های کلاینت را به ترتیب بر روی رکوردهای مشابه موجود ارسال کند ، یعنی اولین درخواست به اولین رکورد ارسال می شود و دومین درخواست دومین رکورد را خواهد دید. در واقع با استفاده از این مکانیزم ، شما اگر دو عدد وب سرور مشابه داشته باشید و DNS سرور شما رکوردهای آنها را که دارای آدرس های IP غیرمشابه می باشند در خود داشته باشد .

اولین درخواست وب سایت برای سرور اول و دومین درخواست به سرور دوم ارسال خواهد شد ، در واقع سرویس Round Robin در DNS سرور به نوعی برای ما Load Balancing در سطح DNS سرور ایجاد می کند. به رکوردهای زیر دقت کنید ، هر کدام دارای یک آدرس IP متفاوت در یک DNS سرور هستند اما با قابلیت Round Robin درخواست اول به سمت آدرس IP به شماره 192.168.1.100 و درخواست دوم به سمت آدرس IP به شماره 192.168.1.200 برای برگرداندن اسم www.tosinso.com بازگردانی خواهد شد :

A Record : www.tosinso.com = 192.168.1.100
A Record : www.tosinso.com = 192.168.1.200
Netmask Ordering در DNS چیست

Netmask Ordering چیست ؟

قابلیت Netmask Ordering این امکان را به DNS سرور می دهد که تشخیص دهد که درخواست کلاینت از چه محدوده آدرس IP ای دریافت شده است و با توجه به داشتن چندین رکورد مشابه ، DNS سرور متوجه می شود که کدامیک از رکوردهای را باید به کلاینت معرفی کند ، شاید درک این موضوع کمی مبهم به نظر برسد اما همان مثال بالا را با شرایط زیر در نظر بگیرید ، ما 5 عدد رکورد برای www.tosinso.com به شکل زیر داریم که هر کدام از آنها دارای ادرس های IP متفاوت و بعضا محدوده آدرس آنها با هم متفاوت است ، به مثال زیر توجه کنید :

A Record : www.tosinso.com :192.168.1.100
A Record : www.tosinso.com :192.168.1.200
A Record : www.tosinso.com :172.16.1.100
A Record : www.tosinso.com :172.16.1.200
A Record : www.tosinso.com :85.146.23.77

حالا به مثال بالا توجه کنید ، همانطور که مشاهده می کنید ما 5 عدد A Record در DNS سرور خود داریم که همه آنها به www.tosinso.com اشاره می کنند ولی آدرس های IP هر کدام از آنها متفاوت است ، دقت کنید که به هر حال شما باید قابلیت Round Robin را داشته باشید تا بتوانید از Netmask Ordering استفاده کنید ، حالا تصور کنید کلاینتی در شبکه داخلی قرار دارد که یکی از کارت شبکه های این DNS سرور به این شبکه داخلی متصل است و کلاینت دارای آدرس IP به شماره 192.168.1.50 است و درخواست پیدا کردن آدرس IP وب سایت www.tosinso.com را به این وب سایت می دهد .

DNS سرور در لیست رکوردهای خود به دنبال رکوردهای مورد نظر می گردد ، در چنین حالتی متوجه می شود که درخواست کلاینت ما از آدرسی ارسال شده است که با دو عدد از رکوردهای DNS موجود تشابه دارد بنابراین در اینجاست که قابلیت Netmask Ordering به DNS سرور می گوید که در پاسخ به کلاینت بایستی رکورد www.tosinso.com با آدرس IP به شماره 192.168.1.100 یا 192.168.1.200 را باید بازگردانی کند ، در حقیقت اینجاست که Netmask Ordering با استفاده از Subnet Mask ای که درخواست از آن ارسال شده است تشخیص می دهد که کدام آدرس را باید بازگردانی کند.

تصور کنید شما یک وب سایت دارید که بر روی یک سرور قرار گرفته است ، این سرور هم به شبکه داخلی شما با محدوده آدرس 192.168.1.0//24 و هم به شبکه اینترانت سازمان با محدوده آدرس 172.16.0.0//16 و هم دارای سرویس دهی عمومی به شبکه اینترنت می باشد. در چنین شرایطی با استفاده از قابلیت Netmask Ordering اگر درخواستی به DNS سرور ارسال شود که از شبکه داخلی باشد ، یا شبکه اینترانت و یا شبکه اینترنت ، سرور متوجه می شود که باید کدامیک از رکوردها را برای کلاینت بازگردانی کند. در مثال بالا با توجه به اینکه ما Round Robin نیز داریم برای کلاینت های شبکه داخلی ابتدا آدرس های 192.168.1.100 و سپس آدرس 192.168.1.200 برای ایجاد کردن Load Balancing بازگردانی خواهند شد.

  • نکته : استفاده از Netmask Ordering در شبکه هایی که از Subnet Mask های استاندارد محدوده آدرس های Class A یا Class B و C استفاده می کنند بسیار دقیق عمل می کند اما در خصوص Subnet هایی که استاندارد نیستند بصورت حدودی و نزدیک به هدف محاسبات انجام می شود چندان دقیق نیست ، شما می توانید برای هر کدام از رکوردهای خود در این حالت یک Netmask خاص تعریف کنید که معمولا بصورت Hexadecimal با استفاده از دستور dnscmd انجام می شود. امیدوارم مورد توجه شما قرار گرفته باشد در صورتیکه ابهامی در این موضوع هست یا تجربه ای در این خصوص دارید خوشحال می شویم از دانش شما استفاده کنیم . ITPRO باشید

محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات