Кіріспе
Қызметтерді анықтау протоколы
Компьютерлік желілерде көп тарату DNS (mDNS) протоколы жергілікті атау сервері жоқ шағын желілерде хост атауларын IP-адрестерге айналдырады. Бұл нөлдік конфигурациялы қызмет, негізінен бірдей бағдарламалау интерфейстерін, пакет пішімдерін және біржола трансляциялы Domain Name System (DNS) сияқты жұмыс принциптерін пайдаланады. Ол дербес протокол ретінде немесе стандартты DNS серверлерімен үйлесімді жұмыс істеу үшін жасалған. IP көп таратушы пайдаланушы деректерді жіберу протоколы (UDP) пакеттерін қолданады және Apple Bonjour және ашық кодты Avahi бағдарламалық пакеттері арқылы іске асырылады, олар көптеген Linux дистрибутивтерінде қамтылған. Windows 10 нұсқасы желілік принтерлерді анықтаумен шектелгенімен, кейінгі нұсқалары хост атауларын да анықтай алды. mDNS DNS Service Discovery (DNS SD) протоколымен бірге жұмыс істей алады, бұл нөлдік конфигурациялы желілік техника, ол бөлек сипатталған.
Тарих
Көп тарату DNS-ді алғаш рет Билл Вудкок және Билл Мэннинг 2000 жылы IETF ұйымында ұсынған, ал одан кейін он үш жыл өткен соң Стюарт Чешир мен Марк Крохмал оны стандарт ретінде жариялады.
Хаттаманың жалпы көрінісі
mDNS клиенті хост атын анықтау қажет болғанда, сол атқа ие хостты өзін тануын сұрап, IP көп тарату сұраныс хабарын жібереді. Осы мақсатты машина өзінің IP-адресін қамтитын хабарды көптеп таратады. Сол желідегі барлық машиналар осы ақпаратты mDNS кэштерін жаңарту үшін пайдалана алады. Кез келген хост, нөлге тең өмір сүру уақытымен (TTL) жауап хабарламасын жіберу арқылы атауға деген құқығынан бас тарта алады. Дәстүрлі түрде, mDNS тек жергілікті жоғарғы деңгейлі доменмен аяқталатын хост аттарын анықтайды. Егер жергілікті хосттар mDNS-ті қолдамаса, бірақ оларды стандартты біржолғы DNS сервері арқылы табуға болады, онда бұл қиындықтар тудыруы мүмкін. Мұндай қайшылықтарды шешу үшін желі конфигурациясын өзгерту қажет, ал mDNS осыдан аулақ болу үшін жасалған.
Сұраулар
Сұрау салу бөліміндегі жазбалардың сым форматы бір-биттік UNICAST RESPONSE өрісін қосу арқылы біржолғы DNS-ден сәл өзгертілді. + mDNS Сұрау салу бөлімі өрістері Өрістің сипаттамасы Ұзындығы биттер QNAME Сұрау салуға қатысты түйіннің атауы Өзгергіш QTYPE Сұрау салу түрі, яғни жауаптарда қайтарылуы тиіс ресурстық жазбаның түрі. 16 UNICAST RESPONSE Булдік белгі біржолғы жауап қажеттігін көрсетеді 1 QCLASS Класс коды, 1 a. k. a. "IN" Интернет және IP желілері үшін 15 Біржолғы DNS-тегідей, QNAME өрісі ұзындығы/мәні қосалқы өрістерінен тұратын белгілерден құралады. Әрбір белгі толыққанды білікті домендік атаудағы (FQDN) нүктелермен бөлінген кіші тізбектердің біреуін көрсетеді. Тізім DNS түбірін көрсететін бір нөлдік байтпен немесе хабарламадағы басқа орынға жанама сілтеме жасау үшін жоғары екі биті орнатылған (мәні 192) байтпен аяқталады. Бұл RFC 6762-де атауды қысу деп аталады. UNICAST RESPONSE өрісі желідегі қажетсіз хабар таратуды азайту үшін қолданылады: егер бит орнатылған болса, жауап берушілер жауапты бүкіл желіге таратудың орнына сұрау салушы түйінге тікелей біржолғы жауап жіберуі керек. QCLASS өрісі біржолғы DNS-де кездесетін өріске ұқсас.
As in unicast DNS, the QNAME field consists of a series of length/value sub fields called labels. Each label represents one of the dot separated substrings in a fully qualified domain name (FQDN). The list is terminated by either a single null byte representing the root of the DNS, or by a byte with the two high order bits set (value 192) to signal an indirect pointer to another location in the message. This is known as name compression in RFC 6762. The UNICAST RESPONSE field is used to minimize unnecessary broadcasts on the network: if the bit is set, responders SHOULD send a directed unicast response directly to the inquiring node rather than broadcasting the response to the entire network. The QCLASS field is identical to that found in unicast DNS.