# mDNS / DNS-SD — کشف سرویس بدون سرور

> چاپگر، تلویزیون و بلندگوی هوشمند بدون هیچ سرور DNS یا تنظیمی در شبکهٔ خانه پیدا می‌شوند. دستگاه‌ها پرسش‌های DNS را چندپخشی می‌کنند و صاحب هر نام خودش پاسخ می‌دهد. Bonjour و AirPrint بر همین پایه‌اند.

- نشانی درس تعاملی: https://npe.ikral.ir/p/mdns
- دسته: نام و زمان
- لایهٔ OSI: ۷ (کاربرد)
- انتقال: UDP
- پورت: 5353
- استاندارد: RFC 6762 / 6763 (۲۰۱۳)
- رمزنگاری: ندارد
- سطح: مقدماتی · حدود ۷ دقیقه
- پشتهٔ لایه‌ها: Ethernet → IPv4 → UDP → mDNS

## نکته‌های کلیدی

- mDNS همان قالب DNS است ولی روی 224.0.0.251 (و ff02::fb) و پورت 5353؛ دامنهٔ .local هرگز به سرور DNS فرستاده نمی‌شود.
- DNS-SD با سه رکورد PTR، SRV و TXT نوع سرویس، پورت و ویژگی‌هایش را معرفی می‌کند.
- چندپخشی از روتر عبور نمی‌کند؛ برای کشف در چند زیرشبکه به بازتاب‌دهندهٔ mDNS (Gateway) نیاز است.

## مراحل شبیه‌سازی (۶ بسته)

1. **کاوش نام**: چاپگر تازه روشن شده و می‌خواهد نام HP-Office.local را بردارد. اول می‌پرسد آیا کسی این نام را دارد؟ — فیلدها: شناسه، پرچم‌ها، تعداد پرسش، تعداد پاسخ، تعداد مرجع، تعداد اضافی، نام پرسش، نوع، کلاس، نام رکورد، TTL، طول داده، نشانی
2. **اعلام**: در ۲۵۰ میلی‌ثانیه کسی اعتراض نکرد؛ چاپگر نام و نشانی‌اش را به همه اعلام می‌کند و بیت Cache-Flush نسخه‌های قدیمی را از حافظهٔ بقیه پاک می‌کند. — فیلدها: شناسه، پرچم‌ها، تعداد پرسش، تعداد پاسخ، تعداد مرجع، تعداد اضافی، نام رکورد، نوع، کلاس، TTL، طول داده، نشانی
3. **جست‌وجوی چاپگر**: امیر «چاپ» را می‌زند. لپ‌تاپ می‌پرسد چه دستگاه‌هایی سرویس چاپ IPP دارند. — فیلدها: شناسه، پرچم‌ها، تعداد پرسش، تعداد پاسخ، تعداد مرجع، تعداد اضافی، نام پرسش، نوع، کلاس
4. **معرفی سرویس**: چاپگر در یک پاسخ همه چیز را می‌دهد: نام نمونهٔ سرویس (PTR)، پورت و میزبان (SRV)، ویژگی‌ها (TXT) و نشانی IP. — فیلدها: شناسه، پرچم‌ها، تعداد پرسش، تعداد پاسخ، تعداد مرجع، تعداد اضافی، نام رکورد، نوع، کلاس، TTL، طول داده، نمونهٔ سرویس، اولویت، وزن
5. **سرکوب پاسخ تکراری**: گوشی هم دنبال چاپگر است ولی پاسخی را که قبلاً شنیده در بخش «پاسخ‌های دانسته» می‌گذارد تا چاپگر دوباره همان را نفرستد و شبکه شلوغ نشود. — فیلدها: شناسه، پرچم‌ها، تعداد پرسش، تعداد پاسخ، تعداد مرجع، تعداد اضافی، نام پرسش، نوع، کلاس، نام رکورد، TTL، طول داده، نمونهٔ سرویس
6. **خداحافظی**: چاپگر پیش از خاموش شدن همان رکوردها را با TTL صفر می‌فرستد تا از فهرست چاپگرهای همه حذف شود. — فیلدها: شناسه، پرچم‌ها، تعداد پرسش، تعداد پاسخ، تعداد مرجع، تعداد اضافی، نام رکورد، نوع، کلاس، TTL، طول داده، نمونهٔ سرویس

## پرسش‌های رایج

### mDNS / DNS-SD چیست؟

mDNS / DNS-SD (کشف سرویس بدون سرور) چاپگر، تلویزیون و بلندگوی هوشمند بدون هیچ سرور DNS یا تنظیمی در شبکهٔ خانه پیدا می‌شوند. دستگاه‌ها پرسش‌های DNS را چندپخشی می‌کنند و صاحب هر نام خودش پاسخ می‌دهد. Bonjour و AirPrint بر همین پایه‌اند.

### mDNS / DNS-SD در کدام لایهٔ شبکه کار می‌کند؟

در لایهٔ ۷ مدل OSI (کاربرد)؛ انتقال: UDP؛ پورت: 5353. دسته: نام و زمان.

### استاندارد mDNS / DNS-SD کدام است؟

mDNS / DNS-SD در RFC 6762 / 6763 تعریف شده است (۲۰۱۳).

### پرسش‌های mDNS به کجا فرستاده می‌شوند؟

نشانی چندپخشی 224.0.0.251 و پورت 5353.

### مهم‌ترین نکته‌های mDNS / DNS-SD چیست؟

mDNS همان قالب DNS است ولی روی 224.0.0.251 (و ff02::fb) و پورت 5353؛ دامنهٔ .local هرگز به سرور DNS فرستاده نمی‌شود. DNS-SD با سه رکورد PTR، SRV و TXT نوع سرویس، پورت و ویژگی‌هایش را معرفی می‌کند. چندپخشی از روتر عبور نمی‌کند؛ برای کشف در چند زیرشبکه به بازتاب‌دهندهٔ mDNS (Gateway) نیاز است.

## درس‌های مرتبط

- [DNS — سامانهٔ نام دامنه](https://npe.ikral.ir/p/dns.md)
- [DoH — DNS روی HTTPS](https://npe.ikral.ir/p/doh.md)
- [DNSSEC — امنیت امضای DNS](https://npe.ikral.ir/p/dnssec.md)
- [NTP — پروتکل زمان شبکه](https://npe.ikral.ir/p/ntp.md)

## منابع

- https://www.rfc-editor.org/rfc/rfc6762
- https://www.rfc-editor.org/rfc/rfc6763

---
منبع: کاوشگر پروتکل‌های شبکه (iKral NPE — Network Protocol Explorer) · https://npe.ikral.ir/
