นี่คือคอลเลกชันการค้นพบบริการ DNS โอเพ่นซอร์สของ Apple คอลเลกชันประกอบด้วยชุด daemons เครื่องมือ และไลบรารีที่สามารถใช้ร่วมกันหรือแยกกันเมื่อปรับใช้และใช้งาน DNS Service Discovery คอลเลกชันประกอบด้วยระบบย่อยต่อไปนี้:
mDNS Responder Daemon (mDNSResponder) ทำหน้าที่เป็นทั้ง DNS Stub Resolver เป็นตัวแก้ไขข้อมูลที่เผยแพร่โดยใช้ multicast DNS (mDNS) และเป็นผู้เผยแพร่ข้อมูล mDNS mDNSResponder ตรวจสอบการรับส่งข้อมูลแบบหลายผู้รับบนพอร์ต 5353 ซึ่งเป็นพอร์ต mDNS เพื่อติดตามบริการที่โฆษณาบนเครือข่ายท้องถิ่น mDNSResponder ดำเนินการแก้ไข DNS สำหรับการสืบค้นที่ไม่ใช่ภายในเครื่อง และแก้ไขการสืบค้นในโดเมน “.local” พิเศษโดยใช้ mDNS mDNSResponder ถูกใช้บน macOS เป็นตัวแก้ไขระบบ รวมถึงให้บริการโฆษณาและการค้นพบบริการ Bonjour และสามารถให้บริการเดียวกันบนแพลตฟอร์มอื่นๆ เช่น Linux และ BSD
[คลิกที่นี่เพื่อเรียนรู้วิธีตั้งค่าและใช้ mDNSResponder][1]
OpenThread Stub Network Border Router สามารถใช้เพื่อให้บริการ เราเตอร์ stub สำหรับเครือข่าย Thread (802.15.4 mesh) โดยใช้ OpenThread เราเตอร์แบบ Stub คือเราเตอร์ที่ให้บริการเครือข่ายแบบแยก (stub) ตั้งแต่หนึ่งเครือข่ายขึ้นไป และสามารถเชื่อมต่อกับ เครือข่ายโครงสร้างพื้นฐาน ได้โดยอัตโนมัติ เช่น เครือข่าย Wi-Fi ในบ้าน วัตถุประสงค์ของเราเตอร์ stub คือเพื่ออนุญาต:
[คลิกที่นี่เพื่อเรียนรู้วิธีการตั้งค่าและใช้ Open Thread Stub Network Border Router][2]
DNSSD Discovery Proxy ใช้ IETF DNSSD Discovery Proxy ([RFC8766][3]) และ DNS Push ([RFC 8765][4]) สิ่งเหล่านี้ร่วมกันให้บริการ DNS ที่เชื่อถือได้เพื่อวัตถุประสงค์ในการค้นหาบริการ DNS โดยใช้ mDNS แทนฐานข้อมูล DNS แบบเก็บสถานะ ช่วยให้โครงสร้างพื้นฐานเครือข่ายสามารถให้บริการการค้นพบ DNS โดยอัตโนมัติผ่าน DNS ซึ่งช่วยขจัดปัญหาทั่วไปบนเครือข่ายแบบหลายลิงก์ซึ่งโฮสต์สามารถค้นพบบริการได้เมื่อเชื่อมต่อกับลิงก์ที่ถูกต้องเท่านั้น
[คลิกที่นี่เพื่อเรียนรู้วิธีการตั้งค่าและใช้ DNSSD Discovery Proxy][5]
พร็อกซีการโฆษณาโปรโตคอลการลงทะเบียนบริการ DNSSD นำไปใช้ทำหน้าที่เป็นเซิร์ฟเวอร์ [โปรโตคอลการลงทะเบียนบริการ DNSSD] [6]: ยอมรับการลงทะเบียนบริการจากไคลเอนต์ SRP จากนั้นการลงทะเบียนบริการจะถูกโฆษณาบนลิงก์โครงสร้างพื้นฐานอย่างน้อยหนึ่งลิงก์โดยใช้ multicast DNS
[คลิกที่นี่เพื่อเรียนรู้วิธีการตั้งค่าและใช้พร็อกซีการโฆษณาโปรโตคอลการลงทะเบียนบริการ DNSSD][7]
ไคลเอ็นต์โปรโตคอลการลงทะเบียนบริการ DNSSD ใช้งานฝั่งไคลเอ็นต์ของ [โปรโตคอลการลงทะเบียนบริการ DNSSD] [8] การใช้งานไคลเอ็นต์หลักถูกนำไปใช้ในลักษณะที่สามารถฝังได้อย่างง่ายดายโดยใช้ API ขนาดเล็กที่ต้องนำไปใช้ในสภาพแวดล้อมแบบฝัง มีการระบุ API สองตัวอย่าง อันหนึ่งสำหรับ Thread และอีกอันสำหรับ Posix การใช้งาน Posix จะสร้างไคลเอนต์บรรทัดคำสั่งที่สามารถใช้เป็น daemon เพื่อลงทะเบียนบริการ หรือใช้เพื่อตรวจสอบแง่มุมต่างๆ ของการใช้งาน Service Registration Protocol
[คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ DNSSD Service Registration Protocol Client][9]
พร็อกซีการอัปเดตโปรโตคอลการลงทะเบียนบริการ DNSSD ทำหน้าที่เป็นเซิร์ฟเวอร์ [DNSSD Service Registration Protocol] [10]: ยอมรับการลงทะเบียนบริการจากไคลเอนต์ SRP จากนั้นการลงทะเบียน SRP จะถูกนำมาใช้เพื่อสร้างชุดการอัปเดต DNS ([RFC2136] [11]) การอัปเดตเหล่านี้สามารถตรวจสอบได้โดยใช้ TSIG เซิร์ฟเวอร์ SRP ตอบสนองต่อไคลเอนต์หลังจากการอัปเดต DNS ทั้งหมดเสร็จสิ้นแล้ว หรือตอบสนองเมื่อส่วนหนึ่งของการอัปเดต DNS ล้มเหลว ผลของการรัน SRP Protocol Update Proxy จะเหมือนกับว่าเซิร์ฟเวอร์ DNS ที่กำลังอัปเดตนั้นเป็นเซิร์ฟเวอร์ SRP เอง
[คลิกที่นี่เพื่อเรียนรู้วิธีการตั้งค่าและใช้ DNSSD Service Registration Protocol Update Proxy][12]
เครื่องมือบรรทัดคำสั่ง DNSSD (dns-sd) มอบวิธีการใช้บริการที่ mDNSResponder มอบให้ บริการสามารถโฆษณา เรียกดู และแก้ไขได้ เครื่องมือนี้มีตัวเลือกบรรทัดคำสั่งที่หลากหลาย และเป็นวิธีที่ดีในการสำรวจฟังก์ชันการทำงานของ DNS-SD
[คลิกที่นี่เพื่อเรียนรู้เกี่ยวกับเครื่องมือบรรทัดคำสั่ง DNSSD][13]
เมื่อใช้ร่วมกับ mDNS Responder daemon ไลบรารีไคลเอ็นต์ DNSSD จะให้บริการแก้ไขชื่อ DNS stub ที่มีคุณลักษณะครบถ้วน บริการโฆษณา DNSSD และบริการเรียกดูและแก้ไขปัญหา DNSSD ไลบรารีเป็นแบบอะซิงโครนัสและสามารถรวมเข้ากับโฟลว์เซิร์ฟเวอร์แบบอะซิงโครนัสที่มีอยู่ได้อย่างง่ายดาย
[คลิกที่นี่เพื่อเรียนรู้เกี่ยวกับไลบรารีไคลเอ็นต์ DNSSD][14]
[คลิกที่นี่เพื่อเรียนรู้ว่า mDNSResponder จัดการกับเวลาอย่างไร][15] [1]: Documents/mDNSResponder.md [2]: Documents/openthread-border-router.md [3]: https://www.rfc-editor .org/rfc/rfc8766.html "RFC8766" [4]: https://www.rfc-editor.org/rfc/rfc8765.html [5]: เอกสาร/discovery-proxy.md [6]: https://datatracker.ietf.org/doc/draft-ietf-dnssd-srp/ [7]: เอกสาร/advertising-proxy.md [8]: https://datatracker.ietf.org/doc/draft-ietf-dnssd-srp/ [9]: เอกสาร/srp-client.md [10]: https://datatracker.ietf.org/doc/draft-ietf-dnssd-srp/ [11]: https://tools.ietf.org/html/rfc2136 [12]: เอกสาร/srp-update-proxy.md [13]: เอกสาร/dns-sd.md [14]: เอกสาร/dnssd-client-library.md [15]: เอกสาร/เวลาสัมพันธ์ใน mDNSResponder.md