امتياز دهي مقاله

  • *****
  • براي امتيازدهي کليک کنيد.
  • 0 رتبه ها
  • 0
  • 0
  • 0
  • 0
  • 0

A record چیست و چه تفاوتی با cname دارد

همانطور که می دانید وب سایت ها برای اینکه بتوانند در اینترنت سرویس دهی کنند از آدرس های IP استفاده می کنند که مجموعه ای از اعداد هستند. حفظ کردن این اعداد برای انسان ها کار دشواری است و به همین دلیل ما برای دسترسی به وب سایت ها از آدرس هایی به نام Domain یا دامنه استفاده می کنیم که در واقع همان اسم وب سایت است و به سادگی آنها را می توان حفظ کرد . برای مثال شما وب سایت ما را به عنوان www.aryanic.com می شناسید در حالیکه مثلا در سرویس های اینترنتی آن را به شکل 173.25.41.26 می شناسند. برای اینکه اسمی که مروگر خود وارد می کنید تبدیل به آدرس IP شود ، مرورگر اینترنتی شما از یک سرویس دهنده به نام DNS در خصوص آدرس IP ای که مربوط به اسم درخواستی شما است سئوال می کند. پایگاه داده ای که برای سرویس DNS وجود دارد برای خودش دارای یک سری رکورد است . به رکوردهایی که وظیفه تبدیل کردن اسامی به آدرس های IP یا بهتر بگوییم تبدیل کردن نام Domain به آدرس IP را بر عهده دارند در اصطلاح فنی A Record می گویند. انواع و اقسام رکورد ها در DNS وجود دارد ، یکی دیگر از این نوع رکوردها را به نام CName Record یا Canonical Name Record می شناسیم ، مهمترین تفاوت یک A Record با یک CName Record در این است که A Record به یک آدرس IP اشاره می کند در حالیکه CName Record به آدرس IP اشاره نمی کند و در حقیقت به یک A Record دیگر یا یک Domain Name Record دیگر اشاره می کند. در تعریف فنی می گوییم که CName Record رکوردی است که به یک رکورد دیگر اشاره می کند . 

اما ممکن است از خودتان سئوال کنید که کاربرد CName Record چیست ؟ همانطور که در محیط واقعی ممکن است شخصی در شناسنامه خودش یک اسم داشته باشد اما در میان دوستان به اسم دیگری معروف باشد ، ممکن است شما بخواهید چندین اسم را در اینترنت داشته باشید که به یک آدرس IP اشاره کنند. در واقع با ایجاد کردن یک CName شما یک نام مستعار برای سایر رکوردهای مجموعه DNS اضافه می کنید. فرض کنید که بر روی یک آدرس IP شما چندین سرویس دارید که می خواهید همه این سرویس ها با یک آدرس IP اما با اسامی مختلف کار بکنند ، در چنین مواردی می توانید یک یا چند CName ایجاد کنید که به همان آدرس IP اشاره می کنند. برای مثال توجه کنید که ممکن است شما وب سایتی داشته باشید که بصورت www.aryanic.com وجود داشته باشد و شما بخواهید هر کسی که web.aryanic.com را در مرورگر خود وارد کرد هم وارد www.aryanic.com بشود ، در چنین مواردی کافیست که ابتدا در سرویس DNS خود یک A Record به نام  www.aryanic.com ایجاد کنید و سپس یک CName Record به نام web.aryanic.com   ایجاد کنید که به www.aryanic.com    اشاره کند. در این حالت هر کسی که آدرس web.aryanic.com را وارد کند بصورت خودکار به  www.aryanic.com هدایت خواهد شد . 

CName Record  بسیار می تواند برای ما مفید باشد اما در نه در شرایطی ، ممکن است وجود CName ها باعث بروز مشکل در طراحی شبکه و وب سرور ما شود. با توجه به مثال بالا فرض کنید که ما دو عدد CName ایجاد کرده این که هر دو در مجموعه DNS ما وجود دارند ، مثلا  web.aryanic.com به www. aryanic.com  اشاره می کند و از طرفی ftp. aryanic.com هم به www. aryanic.com اشاره می کند. برخی اوقات در چنین شرایطی و با به وجود آمدن چندین CName که به یک A Record اشاره می کنند ممکن است فرآیند Reverse یا عکس عملیات Name Resolution شما دچار Loop شود و همین امر باعث به وجود آمدن مشکل می شود. اما این مشکلات برای A Record ها به وجود نمی آید. بصورت خلاصه می توانیم تفاوت A Record و CName را به شکل زیر خلاصه کنیم:

  1. یک CName به یک اسم Domain یا A Record دیگر اشاره می کند
  2. یک A Record به یک آدرس IP اشاره می کند
  3. پیدا کردن یک CName یعنی آغاز یک جستجو
  4. پیدا کردن یک A Record یعنی پایان یک جستجو
  5. تداخل CName های زیاد می تواند باعث ایجاد شدن Loop شود
  6. وجود A Record های زیاد هرگز ایجاد Loop در نتایج DNS نمی کند



شناسه مقاله: 125, ايجاد شده در: 8/28/2015, تغيير داده شده: 8/28/2015