DNS یا Domain Name System
همانطور که می دانید کلیه آدرس ها در شبکه بر مبنای IP Address است ( که البته در قسمت قبل صحبت کردیم که پشت پرده یه اتفاق دیگه می افته و آدرس ها بر مبنای IP نیست ! ) یعنی برای وارد شدن به سایتی باید آدرس آن سایت یا به عبارتی IP مربوط به آن سایت را بدانیم ، اما آیا واقعا ما IP مربوط به همه ی سایت هایی را که مرتب به آنها مراجعه می کنیم را حفظ هستیم؟مثلا شما هر روز از سایت گوگل استفاده می کنید اما هر بار برای وارد شدن به گوگل به جای نوشتن google.com ، آدرس 173.194.32.33 که یکی از IP های گوگل است را در نوار آدرس می نویسید؟خوب در این صورت ما باید بی نهایت IP رو برای وارد شدن به سایت ها حفظ کنیم ! و استفاده از اینترنت تنها برای تعداد محدودی از افراد امکانپذیر می شد ! در اینجاست که اهمیت سرویس DNS مشخص می شود.در واقع DNS ، IP ها را به اسم سایت ها و بالعکس ، اسامی سایت ها را به IP های آنها تبدیل می کند.یعنی شما زمانی که در نوار آدرس مرورگر خود مثلا Itpro.ir را تایپ می کنید،DNS فورا IP مربوط به این سایت را پیدا می کند و از طریقIP آن ،وارد Itpro.ir می شود.
حال این DNS Server چیست و در کجا قرار دارد؟DSN Server نوع به خصوصی از کامپیوتر است که معمولا به صورت پیشفرض ،شرکت ارائه دهنده ی اینترنت یا همان ISP ،IP های DNS Server را در اختیار کاربران خود قرار می دهد و گاهی چون این سرویسی که در اختیار مشتریان خود قرار می دهد سرعت و کیفیت پایینی دارد سبب کند شدن سرعت در گرفتن اطلاعات می شود.از اینرو تغییر DNS پیش فرض ISP با یک DNS با کیفیت، راه حل مناسبی است.البته برای بهبود عملکرد DNS،هر کاربر پس از وارد شدن به سایتی برای اولین بار و تبدیل hostname آن سایت به IP اش ، آن IP در cache ی که مختص DNS است نگهداری می شود تا در صورتی که کاربر مجددا بخواهد از آن سایت استفاده کند،برای به دست آوردن IP ، به DNS Server مراجعه نشود و این سرعت را در شبکه بالا میبرد.
DNS Server ،اطلاعات مربوط به DNS را در تعدادی فایل که در هارددیسک سرور ذخیره می شوند،نگهداری می کند و این فایل ها مرتب به روزرسانی یا update می شوند که این باعث بهبود عملکرد و افزایش سرعت در به دست آوردن IP ها و اسامی سایت ها می شود.بدین صورت که زمانی که شما برای اولین بار نام سایتی را وارد می کنید و DNS ،IP آن را به دست می آورد ،این IP در حافظه ی سرور آن باقی می ماند تا دفعه ی بعدکه شما خواستید مجددا از آن سایت استفاده کنید ،با داشتن IP آن در Cache مربوط به DNS (یا حافظه ی سرور )،بالا آمدن سایت سریعتر انجام شود.به شکل زیر توجه کنید.
در این شکل کاربر قصد وارد شدن به سایت www.howstuffworks.com را دارد.پس از وارد کردن hostname در مرورگر خود،درخواستش به نزدیکترین DNS ارسال می شود.DNS Server در مرحله 2 می گوید که "من IP متناظر با این hostname را در cache خود ندارم پس اجازه بده از یک سرور دیگر برایت بگیرم ".سپس درخواست بهServer DNS در مرحله 3 ارسال می شود.IP مورد نظر ما آنجا وجود دارد.در رمحله ی بعد این IP ابتدا در cache مربوط به DNS مرحله ی 2 ذخیره می شود تا در دفعات بعدی اگر کاربر مجددا خواست از این سایت استفاده کند ، دسترسی به این IP با یک مرحله کمتر انجام شود و سپس IP برای کاربر ارسال و کاربر می تواند وارد سایت مورد نظر خود شود.
DNS از دو قسمت تشکیل شده است: Forward lookup zone و Reverse lookup zone که هر کدام وظیفه ی خاصی دارند.در Forward lookup zone ،IP ها به اسامی تبدیل می شوند و در Reverse lookup zone اسامی به IP ها.حال که به صورت مختصر با DNS و مفهوم آن آشنا شدید ، به معرفی NSLookup می پردازیم.
دستور NSLookup
NSLookup یک ابزار مفید برای خطایابی ، تست و رفع اشکال مشکلات مربوط به DNS است.زمانی که از این کامند استفاهده می کنیم ،نام host و IP آدرس DNS سیستم نشان داده می شود.درصورتی که DNS ،fail شود یا اطلاعات نادرست ارائه دهد،سرعت برقراری ارتباط در شبکه کاهش می یابد و client ها دچار مشکل می شوند چرا که همانطور که در مورد عملکرد DNS بیان کردیم،Client ها دیگر نمی توانند از طریف اسامی سایتها وارد آنها شوند .در شبکه های برمبنای ویندوز،اکتیودایرکتوری ها به DNS نیازمندند در واقع به عبارتی اگر DNS، fail شود اکتیودایرکتوری و domain نیز fail خواهند شد. NSLook up ،انواع رکوردها در DNS Server را بررسی می کند و برای خطایابی در عدم اتصال سیستم به سیستم های دیگر استفاده می شود.در صورتی که رکورد اشتباهی در DNS Server وجود داشته باشد یا اصلا رکوردی وجود نداشته باشد،برای بررسی مشکل می توان از این کامند استفاده کرد.در صورتی که با Ping،IPمربوط به سرور توانستید از آن Reply بگیرید اما از طریق Ping نام آن سرور نتوانستید،مطمئن باشید که مشکل از DNS شماست.
به طور کلی NSLookup دو حالت دارد : interactive & noninteractive
در حالت interactive ،شما خیلی ساده تنها دستور NSlookup رو در command prompt تایپ می کنید.این حالت زمانی استفاده می شود که شما در پایگاه داده DNS خود بیشتر از یک مورد را بررسی خواهید کرد.بهتر است بدین صورت بگویم:زمانی که دستور NSlookup را در command prompt تایپ می کنید،ابتدا نام و IPمربوط به DNS Server ی که سیستم شما استفاده می کند نشان داده می شود،سپس در سطر بعدی ، خط فاصله ی چشمک زن، منتظر وارد کردن دستور بعدی NSLookup می ماند و تا زمانی که کلید exit یا clt + c را نزنید این انتظار ادامه پیدا خواهد کرد.فرض کنید برای از انتظار در آوردن این خط فاصله ی چشمک زن ، yahoo.com را تایپ کنیم،دراین صورت کلیه ی IP های مربوط به این سایت،و همچنین مجددا IP مربوط به DNS Server ی که استفاده می کنید را مشاهده خواهید کرد.
در حالت noninteractive، تنها یک دستور NSLookup تایپ نمی شود.بلکه گزینه های دیگری نیز در ادامه ی آن تایپ می شود.مثلا اگر برای حل مشکل خود به دنبال یک IP بخصوص می باشید،می توانید پس از تایپ NSlookup ،نام سایتی که به دنبال IP آن هستید را تایپ کنید یا باالعکس یعنی اگر IP را دارید و به دنبال نام سایت هستید نیز می توانید از این حالت استفاده کنید.در جدول زیر،کامندهای دستور NSLookup را ارائه شده است.در پایان به صورت مختصر تعدادی از سوئیچ های این کامند را بررسی می کنم.
Ls :این سوئیچ اطلاعات را برای DNS domain به صورت لیست در می آورد.
Server : سرور DNS را تبدیل به سرور به خصوصی که کاربر می خواهد می کند.
[Ser po[rt : پورتی که توسط DNS استفاده می شود را تغییر می دهد.
[Set ret[ry :تعداد ورودی ها را مشخص می کند.
[Set ty[pe : نوع اطلاعاتی که بررسی می شود را تغییر می دهد.
برای دیدن سوئیچ های این کامند به صورت کامل می توانید از سوئیچ help یا /? استفاده کنید.در اینجا یک مثال عملی از اجرای این دستور را در کامپیوتر خودم برای شما ارائه داده ام.
همانطور که در شکل مشاهده می کنید،دستور nslookup در command prompt اجرا می شود (برای وارد شدن به آن باید run را اجرا کنیم،برای این کار می توان دو کلید win+r را همزمان نگه داشت،در مرحله ی بعد هم میتوان به صورت مستقیم nslookup را نوشت و اجرا کرد و هم می توان cmd را اجرا کرد و سپس در پنجره ی بعدی nslookup را اجرا کرد،که من از روش دوم اینکار را انجام داده ام ) با اجرای دستور nslookup در حالت interactive DNS Server ی که از آن استفاده می کنم را ( که dns server ،گوگل است ) و نام hostname آن نشان داده شده است.underline چشمک زن منتظر وارد کردن درخواست بعدی می ماند،من yahoo.com را به عنوان درخواست بعدی وارد کردم و همانطور که مشاهده می کنید مجددا ابتدا IP و hostname مربوط به DNS Server ی که استفاده می کنم را نشان داده و سپس IP های مربوط به سایت yahoo نمایش داده شده است.در خواست بعدی Itpro.ir بوده است که خودتان نتیجه را مشاهده می کنید.همانطور که گفتم این underline چشمک زن تا زمانی که exit یا clt+c را نزده ایم ،منتظر درخواست می ماند.تمامی این توضیحات در حالت interactive بوده است.در حالت noninteractive بهمین صورت است با این تفاوت که در ادامه ی nslookup لازم است یک سوئیچ هم ذکر شود.
در آخر لازم به ذکر است که DIG دستوری است مشابه NSLookup ، با این تفاوت که این دستور در محیط لینوکس مورد استفاده قرار می گیرد.
همانطور که می دانید کلیه آدرس ها در شبکه بر مبنای IP Address است ( که البته در قسمت قبل صحبت کردیم که پشت پرده یه اتفاق دیگه می افته و آدرس ها بر مبنای IP نیست ! ) یعنی برای وارد شدن به سایتی باید آدرس آن سایت یا به عبارتی IP مربوط به آن سایت را بدانیم ، اما آیا واقعا ما IP مربوط به همه ی سایت هایی را که مرتب به آنها مراجعه می کنیم را حفظ هستیم؟مثلا شما هر روز از سایت گوگل استفاده می کنید اما هر بار برای وارد شدن به گوگل به جای نوشتن google.com ، آدرس 173.194.32.33 که یکی از IP های گوگل است را در نوار آدرس می نویسید؟خوب در این صورت ما باید بی نهایت IP رو برای وارد شدن به سایت ها حفظ کنیم ! و استفاده از اینترنت تنها برای تعداد محدودی از افراد امکانپذیر می شد ! در اینجاست که اهمیت سرویس DNS مشخص می شود.در واقع DNS ، IP ها را به اسم سایت ها و بالعکس ، اسامی سایت ها را به IP های آنها تبدیل می کند.یعنی شما زمانی که در نوار آدرس مرورگر خود مثلا Itpro.ir را تایپ می کنید،DNS فورا IP مربوط به این سایت را پیدا می کند و از طریقIP آن ،وارد Itpro.ir می شود.
حال این DNS Server چیست و در کجا قرار دارد؟DSN Server نوع به خصوصی از کامپیوتر است که معمولا به صورت پیشفرض ،شرکت ارائه دهنده ی اینترنت یا همان ISP ،IP های DNS Server را در اختیار کاربران خود قرار می دهد و گاهی چون این سرویسی که در اختیار مشتریان خود قرار می دهد سرعت و کیفیت پایینی دارد سبب کند شدن سرعت در گرفتن اطلاعات می شود.از اینرو تغییر DNS پیش فرض ISP با یک DNS با کیفیت، راه حل مناسبی است.البته برای بهبود عملکرد DNS،هر کاربر پس از وارد شدن به سایتی برای اولین بار و تبدیل hostname آن سایت به IP اش ، آن IP در cache ی که مختص DNS است نگهداری می شود تا در صورتی که کاربر مجددا بخواهد از آن سایت استفاده کند،برای به دست آوردن IP ، به DNS Server مراجعه نشود و این سرعت را در شبکه بالا میبرد.
DNS Server ،اطلاعات مربوط به DNS را در تعدادی فایل که در هارددیسک سرور ذخیره می شوند،نگهداری می کند و این فایل ها مرتب به روزرسانی یا update می شوند که این باعث بهبود عملکرد و افزایش سرعت در به دست آوردن IP ها و اسامی سایت ها می شود.بدین صورت که زمانی که شما برای اولین بار نام سایتی را وارد می کنید و DNS ،IP آن را به دست می آورد ،این IP در حافظه ی سرور آن باقی می ماند تا دفعه ی بعدکه شما خواستید مجددا از آن سایت استفاده کنید ،با داشتن IP آن در Cache مربوط به DNS (یا حافظه ی سرور )،بالا آمدن سایت سریعتر انجام شود.به شکل زیر توجه کنید.
در این شکل کاربر قصد وارد شدن به سایت www.howstuffworks.com را دارد.پس از وارد کردن hostname در مرورگر خود،درخواستش به نزدیکترین DNS ارسال می شود.DNS Server در مرحله 2 می گوید که "من IP متناظر با این hostname را در cache خود ندارم پس اجازه بده از یک سرور دیگر برایت بگیرم ".سپس درخواست بهServer DNS در مرحله 3 ارسال می شود.IP مورد نظر ما آنجا وجود دارد.در رمحله ی بعد این IP ابتدا در cache مربوط به DNS مرحله ی 2 ذخیره می شود تا در دفعات بعدی اگر کاربر مجددا خواست از این سایت استفاده کند ، دسترسی به این IP با یک مرحله کمتر انجام شود و سپس IP برای کاربر ارسال و کاربر می تواند وارد سایت مورد نظر خود شود.
DNS از دو قسمت تشکیل شده است: Forward lookup zone و Reverse lookup zone که هر کدام وظیفه ی خاصی دارند.در Forward lookup zone ،IP ها به اسامی تبدیل می شوند و در Reverse lookup zone اسامی به IP ها.حال که به صورت مختصر با DNS و مفهوم آن آشنا شدید ، به معرفی NSLookup می پردازیم.
دستور NSLookup
NSLookup یک ابزار مفید برای خطایابی ، تست و رفع اشکال مشکلات مربوط به DNS است.زمانی که از این کامند استفاهده می کنیم ،نام host و IP آدرس DNS سیستم نشان داده می شود.درصورتی که DNS ،fail شود یا اطلاعات نادرست ارائه دهد،سرعت برقراری ارتباط در شبکه کاهش می یابد و client ها دچار مشکل می شوند چرا که همانطور که در مورد عملکرد DNS بیان کردیم،Client ها دیگر نمی توانند از طریف اسامی سایتها وارد آنها شوند .در شبکه های برمبنای ویندوز،اکتیودایرکتوری ها به DNS نیازمندند در واقع به عبارتی اگر DNS، fail شود اکتیودایرکتوری و domain نیز fail خواهند شد. NSLook up ،انواع رکوردها در DNS Server را بررسی می کند و برای خطایابی در عدم اتصال سیستم به سیستم های دیگر استفاده می شود.در صورتی که رکورد اشتباهی در DNS Server وجود داشته باشد یا اصلا رکوردی وجود نداشته باشد،برای بررسی مشکل می توان از این کامند استفاده کرد.در صورتی که با Ping،IPمربوط به سرور توانستید از آن Reply بگیرید اما از طریق Ping نام آن سرور نتوانستید،مطمئن باشید که مشکل از DNS شماست.
به طور کلی NSLookup دو حالت دارد : interactive & noninteractive
در حالت interactive ،شما خیلی ساده تنها دستور NSlookup رو در command prompt تایپ می کنید.این حالت زمانی استفاده می شود که شما در پایگاه داده DNS خود بیشتر از یک مورد را بررسی خواهید کرد.بهتر است بدین صورت بگویم:زمانی که دستور NSlookup را در command prompt تایپ می کنید،ابتدا نام و IPمربوط به DNS Server ی که سیستم شما استفاده می کند نشان داده می شود،سپس در سطر بعدی ، خط فاصله ی چشمک زن، منتظر وارد کردن دستور بعدی NSLookup می ماند و تا زمانی که کلید exit یا clt + c را نزنید این انتظار ادامه پیدا خواهد کرد.فرض کنید برای از انتظار در آوردن این خط فاصله ی چشمک زن ، yahoo.com را تایپ کنیم،دراین صورت کلیه ی IP های مربوط به این سایت،و همچنین مجددا IP مربوط به DNS Server ی که استفاده می کنید را مشاهده خواهید کرد.
در حالت noninteractive، تنها یک دستور NSLookup تایپ نمی شود.بلکه گزینه های دیگری نیز در ادامه ی آن تایپ می شود.مثلا اگر برای حل مشکل خود به دنبال یک IP بخصوص می باشید،می توانید پس از تایپ NSlookup ،نام سایتی که به دنبال IP آن هستید را تایپ کنید یا باالعکس یعنی اگر IP را دارید و به دنبال نام سایت هستید نیز می توانید از این حالت استفاده کنید.در جدول زیر،کامندهای دستور NSLookup را ارائه شده است.در پایان به صورت مختصر تعدادی از سوئیچ های این کامند را بررسی می کنم.
Ls :این سوئیچ اطلاعات را برای DNS domain به صورت لیست در می آورد.
Server : سرور DNS را تبدیل به سرور به خصوصی که کاربر می خواهد می کند.
[Ser po[rt : پورتی که توسط DNS استفاده می شود را تغییر می دهد.
[Set ret[ry :تعداد ورودی ها را مشخص می کند.
[Set ty[pe : نوع اطلاعاتی که بررسی می شود را تغییر می دهد.
برای دیدن سوئیچ های این کامند به صورت کامل می توانید از سوئیچ help یا /? استفاده کنید.در اینجا یک مثال عملی از اجرای این دستور را در کامپیوتر خودم برای شما ارائه داده ام.
همانطور که در شکل مشاهده می کنید،دستور nslookup در command prompt اجرا می شود (برای وارد شدن به آن باید run را اجرا کنیم،برای این کار می توان دو کلید win+r را همزمان نگه داشت،در مرحله ی بعد هم میتوان به صورت مستقیم nslookup را نوشت و اجرا کرد و هم می توان cmd را اجرا کرد و سپس در پنجره ی بعدی nslookup را اجرا کرد،که من از روش دوم اینکار را انجام داده ام ) با اجرای دستور nslookup در حالت interactive DNS Server ی که از آن استفاده می کنم را ( که dns server ،گوگل است ) و نام hostname آن نشان داده شده است.underline چشمک زن منتظر وارد کردن درخواست بعدی می ماند،من yahoo.com را به عنوان درخواست بعدی وارد کردم و همانطور که مشاهده می کنید مجددا ابتدا IP و hostname مربوط به DNS Server ی که استفاده می کنم را نشان داده و سپس IP های مربوط به سایت yahoo نمایش داده شده است.در خواست بعدی Itpro.ir بوده است که خودتان نتیجه را مشاهده می کنید.همانطور که گفتم این underline چشمک زن تا زمانی که exit یا clt+c را نزده ایم ،منتظر درخواست می ماند.تمامی این توضیحات در حالت interactive بوده است.در حالت noninteractive بهمین صورت است با این تفاوت که در ادامه ی nslookup لازم است یک سوئیچ هم ذکر شود.
در آخر لازم به ذکر است که DIG دستوری است مشابه NSLookup ، با این تفاوت که این دستور در محیط لینوکس مورد استفاده قرار می گیرد.
نویسنده مقاله : | |
ایمیل نویسنده: | |
منبع مقاله : |