رکورد SRV مخفف Service یک رکورد کاربردی در ساختار DNS است که برای برقراری ارتباط نام دامنه با سرویس ها کاربرد دارد، در این مقاله شما را با DNS SRV Record بیشتر آشنا خواهیم کرد، همراه داتیس نتورک باشید.
رکورد SRV چیست؟
مخفف Service یک رکورد کاربردی در ساختار DNS است که برای برقراری ارتباط نام دامنه با سرویس ها کاربرد دارد
SRV رکورد یک نوع DNS رکورد سفارشی هستند.
آن ها برای ایجاد ارتباط بین یک سرویس و یک نام میزبان یا همان هاست نیم استفاده می شوند.
هنگامی که یک برنامه باید مکان سرویس خاص را پیدا کند ، یک فایل SRV مربوط را جستجو می کند.
اگر یکی از آنها را پیدا کند ، لیست خدمات و نام های میزبان متصل کننده آن ها را برای یافتن موارد زیر جلب می کند:
- Hostname یا همان نام میزبان
- پورت ها
- اولویت و وزن یا (Priority and Weight)
- در صورت لزوم آدرس های IP
ایجاد یک رکورد SRV به طور عجیبی می تواند بعدا باعث صرفه جویی در وقت شما شود.
به عنوان مثال :
یک سرویس گیرنده ایمیل جدید، در صورت داشتن این رکورد ، درگاه ها و تنظیمات و پورت های برگزیده شما را از رکورد SRV خارج می کند.
بدون ثبت SRV ، مشتری جدید ایمیل معمولاً نادرست این تنظیمات را حدس می زند.
رکورد SRV به مدیران شبکه اجازه می دهد تا از چند سرور برای یک دامنه استفاده کرده و خدمات شبکه را از میزبانی به میزبان دیگر به راحتی انتقال دهند و تعیین کنند که بعضی از میزبان ها به عنوان سرویس دهنده اصلی خدمات باشند و دیگر میزبان ها به عنوان پشتیبان سرویس دهنده های اصلی ای که به هر دلیلی در دسترس نیستند عمل کنند.
هنگامی که کاربران درخواست استفاده از یک سرویس خاص یا پروتکل خاص در یک دامنه را پرس و جو (Query) می کنند رکورد SRV ایجاد شده در DNS سرور پاسخ می دهد که از کدام یک از سرور های موجود می توانند استفاده کنند.
رکوردهای SRV قابلیت های DNS را برای فعال کردن محل سرویس هایی که جزو سرویس های استاندارد DNS نیستند را گسترش می دهند.
پروتکل های مختلفی همانند SIP و XMPP از رکورد SRV استفاده می کنند تا DNS بتواند محل آن سرویس ها را به کاربران پرس و جوکننده در یک دامنه خاص پاسخ دهد.
کاربرد رکورد SRV
بهطور معمول سرویسها با شمارهی پورت، به همراه آدرس IP یا نام دامنهشان مشخص میشوند.
برای نمونه، برای دسترسی به سرویس ftp از نام دامنهی example.com، میتوان چنین درخواستی را با مرورگر ارسال کرد: example.com:21
که در نهایت در مرحلهی ترجمهی نام دامنه، این درخواست بهشکل ۱۸۵.۱۴۳.۲۳۴.۵:۲۱، یا همان [Port]:[IP] تبدیل میشود.
SRV Record نیز بهشکل کلی دسترسی به یک سرویس را امکانپذیر میسازد، اما تفاوت آن با حالت پیش در چیست؟
در حالت [Port]:[IP]، در واقع سرویسی روی یک رایانهی مشخص در شبکه تعریف شده است.
در این حالت هر کاربری که بخواهد از این سرویس استفاده کند، باید بهشکل دستی این آدرس IP و پورت را وارد کند.
اما در حالت SRV Record، یک سرویس در سطح نام دامنه تعریف میشود.
به این معنی که از این پس درخواستها تنها به شکل نام دامنهی سرویسدهنده، به همراه نام سرویس و نوع پروتکل ارسال میشوند.
بنابراین این درخواست میتواند به شکل example.com ftp tcp انجام شود.
حال این چه تفاوتی برای معماران و تولیدکنندگان نرمافزار ایجاد میکند؟
اگر معمار نرمافزار، برنامهی سمت کاربر خود را به گونهای طراحی کرده باشد که برای برقراری ارتباط با سرور، به جای [Port]:[Hostname] و یا [Port]:[IP]، از نام دامنهای با امکان SRV Record استفاده کند، درآینده برای تغییر پورت و نام دامنهی سرویس دیگر مشکلی نخواهد داشت.
ساختار رکورد SRV
- Service: رکورد SRV با یک ( _ ) شروع میشود. به این ترتیب، سرور DNS و فایل DNS Zone میتواند نقطهی آغاز هر رکورد را تشخیص دهد. پس از ( ـ )، نام سرویس که بهشکل نمادین است، قرار میگیرد. برای نمونه، این نام میتواند imaps یا ftp که بیانگر سرویسهای استاندارد متناظر آنها است، باشد. در واقع این نام، اطلاعاتی را به درخواستکننده میدهد که در هنگام اتصال انتظار چه نوع سرویسی را داشته باشد. پس از نام سرویس، یک ( . ) و ( ـ ) در انتها قرار میگیرد که بیانگر پایان بخش نامگذاری است.
- Protocol: این بخش مشخصکنندهی نوع پروتکل است که این پروتکل میتواند UDP یا TCP باشد.
- Domain: در بخش نام دامنهای که این فایل DNS Zone به آن تعلق دارد و رکورد SRV برای آن تعریف شده است، قرار میگیرد.
- Priority: در فهرست رکورد SRV ممکن است چند سرویس همنوع تعریف شود که برای مقاصدی مانند متعادل کردن بار ترافیکی درخواستها بهکار میآیند. بنابراین برای مشخص کردن سرویسی که پیش از سایر سرویسها باید اجرا شود، عددی بین بازهی ۰ تا ۶۵۵۳۵ به هر رکورد عددی تعلق میگیرد که بیانگر اولویت آنها است. هرچه این عدد مقدار کمتری داشته باشد، اولویت آن بالاتر و زودتر از سایر رکوردها، به آن رجوع میشود.
- Weight: اگر دو یا چند سرویس اولویت یکسانی داشته باشند، مقدار وزن مشخص شده برای ترتیب اجرای آنان مورد استفاده قرار میگیرد. هر چه عدد وزن بالاتر باشد، رکورد آن زودتر از سایر رکوردها اجرا میشود. این عدد نیز باید در بازهی ۰ تا ۶۵۵۳۵ قرار داشته باشد.
- Port: شمارهی پورتِ سرویس را مشخص میکند. در مثال بالا، شماره پورت ۹۹۳ بیانگر سرویس imaps است.
- Target: در اینجا نام میزبانی که سرویس در آن قرار دارد، مشخص میشود. اگر به جای نام میزبان، ( . ) قرار داده شود، آن سرویس مسدود میشود.
سایر آیتم های رکورد:
- TTL: مشخصکنندهی مدتزمان اعتبار این رکورد در سرورهای DNS است. پس از اتمام این زمان، درخواست جدیدی بهوسیلهی سرورها برای اطلاع از تغییرات احتمالیِ SRV Record، ارسال میشود.
- Class: نوع کلاس رکورد DNS را مشخص میکند که برای مصارف معمول اینترنت، مقدار آن برابر IN است.
- SRV: نوع رکورد DNS را مشخص میکند.
امیدواریم مقاله آشنایی با DNS SRV Record برای شما عزیزان مفید بوده باشد.
داتیس نتورک را در شبکه های اجتماعی دنبال کنید.