رکورد دی ان اس سرویس یا SRV اطلاعاتی از قبیل میزبان و پورت برخی سرویسهای خاص مانند VoIP و پیام رسانی آنی را تعیین مینماید. غالب رکوردهای دی ان اس تنها یک سرور یا آی پی را مشخص میکنند، درحالیکه رکورد SRV علاوه بر این موضوع پورت یا درگاه موجود در آن آدرس آی پی را نیز تعیین میکند. بعضی از پروتکلهای اینترنتی برای کارکرد نیازمند استفاده از رکورد SRV میباشند.
منظور از پورت یا درگاه چیست؟
در علم شبکه، پورتها درگاههای مجازی هستند که ترافیک را بر اساس پردازش مورد نیاز دسته بندی میکنند. این درگاهها به کامپیوتر اجازه میدهند تا به راحتی بین انواع مختلف ترافیک تمایز قائل شود و پردازش مورد نیاز را بر روی آنها اعمال نماید. برای مثال ممکن است ایمیلها و جریانات VoIP تقریبا به طور همزمان و توسط اینترنت یکسان به یک سیستم وارد شوند ولی با این وجود هر دسته به پورت مخصوص به خود هدایت میگردد. درست همانند آی پیها، پورتها نیز بوسیله اعدادی که به آنها اختصاص داده میشود مشخص میگردند.
همانطور که پیشتر اشاره شد، بعضی پروتکلهای اینترنتی مانند IMAP, SIP و XMPP علاوه بر اتصال به یک سرور خاص نیازمند متصل شدن به یک پورت مشخص نیز هستند و این رکوردهای SRV هستند که راه تعیین پورت در دی ان اس را هموار میسازند.
رکورد SRV شامل چه مواردی میشود؟
یک رکورد SRV شامل اطلاعات زیر میشود. جهت درک بهتر برای هر مورد مثالی نیز آورده شده است:
XMMP | Service |
TCP | Protocol |
abc.ir | Domain Name |
86400 | TTL |
SRV | Type |
IN | Class |
10 | Priority |
5 | Weight |
5223 | Port |
Server.abc.ir | Target |
البته فرمت رکوردهای SRV به شکل زیر میباشد:
_service._proto.name. TTL class type of record priority weight port target.
به این ترتیب رکورد SRV آورده شده در جدول نیز به شکل زیر خواهد بود:
_xmpp._tcp.abc.ir. 86400 IN SRV 10 5 5223 server.abc.ir.
رکوردهای SRV میبایست به یک رکورد A در IPv4 و یا یک رکورد AAAA در IPv6 اشاره نمایند و نام سروری که لیست میکنند نمیتواند یک CNAME باشد. بنابراین در مثال بالا server.abc.ir میبایست مستقیما به یک رکورد A یا AAAA تحت همان نام هدایت شود.
تفاوت بین Priority و Weight در چیست؟
رکوردهای SRV “اولویت” و “وزن” سرورهای گوناگونی که لیست میکنند را نمایان میسازند. مقدار Priority در یک رکورد، قابلیت اولویت بندی سرورهای ارائه دهنده یک سرویس مشخص را ایجاد مینماید. درواقع سرور با عدد priority کمتر، ترافیک بیشتری از سرورهای دیگر دریافت میکند. Weight یا وزن نیز به طور مشابه است با این تفاوت که سروری که عدد وزن بالاتری دارد ترافیک بیشتری را دریافت میکند.
تفاوت اولویت و وزن در این است که ابتدا مقدار اولویت در نظر گرفته میشود. برای درک بهتر سه سرور الف، ب و ج را با میزان اولویت 10، 20 و 30 در نظر بگیرید. در این حالت دیگر مقدار وزن سرورها اهمیتی ندارد. اما حالتی را در نظر بگیرید که هر سه سرور دارای اولویت یکسان اما مقدار وزن آنها به ترتیب 5، 4 و 3 میباشد. در این شرایط میزان weight عامل تعیین کننده است و سرور الف بیشترین ترافیک را دریافت خواهد کرد.