Wydaje się, że AirPlay działa od razu po wyjęciu z pudełka, niejasno, tylko w sieci LAN. Nie jest dla mnie jasne, dlaczego, ale wygląda na to, że przynajmniej odkrycie opiera się na transmisjach. Wikipedia stwierdza, że Airplay jest zastrzeżonym protokołem, który prawdopodobnie wyjaśnia, dlaczego jedyna dokumentacja, którą znalazłem, jest nieoficjalna, taka jak ta specyfikacja w github .
Tak więc moje pytania to:
- Czy można skonfigurować sieć tak, aby Airplay działał w sieciach VLAN?
- Jeśli tak, to co dokładnie musi być dozwolone między sieciami VLAN, aby to zadziałało?
- Czy to zły pomysł w środowisku produkcyjnym, biorąc pod uwagę niedostępność oficjalnej dokumentacji protokołu?
Odpowiedzi:
Termin „Airplay” obejmuje dwie różne rzeczy.
Pierwszy dotyczy odkrywania usług i sposób, w jaki urządzenia zdolne do odbierania strumieni Airplay ogłaszają w sieci „Hej! Mogę odbierać Airplay!”. Odbywa się to normalnie za pośrednictwem usługi o nazwie Bonjour (przynajmniej Apple tak to nazywa) lub DNS-SD . Używa multiemisji i właśnie o to chodzi, jeśli ktoś mówi ci, że „Airplay jest tylko dla lokalnej sieci LAN” lub coś w tym rodzaju. Sama transmisja strumieniowa jest „normalną” emisją pojedynczą UDP.
Teraz głównym problemem jest sposób, w jaki dostajesz informacje o odbiorniku Airplay do potencjalnych nadawców w innej sieci. Istnieją dwie teoretyczne opcje:
Możesz przesyłać dalej multiemisję. Może to być trudne, ale są do tego routery / zapory ogniowe. RTFM jak dokładnie, ale pomysł polega na tym, że musisz przekierować ruch multiemisji z adresem docelowym 224.0.0.251 do innej sieci i musisz to zrobić bez zmniejszania TTL.
Inną opcją jest użycie emisji pojedynczej DNS-SD. Możesz użyć normalnego DNS, aby ogłosić te same informacje, które są normalnie dystrybuowane automatycznie za pośrednictwem multiemisji DNS-SD, i możesz skorzystać z małej pomocy narzędzia dns-sd (1) na MacOSX, aby uzyskać informacje, co dokładnie zapisać w pliku strefy DNS . Wykonaj to polecenie w sieci LAN za pomocą odbiornika Airplay, a to powinno dać ci wszystkie potrzebne informacje:
Istnieją również serwery proxy DNS-SD (na przykład avahi może być używane jako takie).
Teraz powiedziałem „teoretycznie”, ponieważ nie testowałem tego i cokolwiek robisz z protokołami, przekazywaniem itd., MOGĄ istnieć pewne przeszkody, na które nie masz wpływu - w końcu to Apple. Możesz poprawnie przekazać wszystkie informacje potencjalnemu nadawcy, ale iOS / MacOSX nadal może je odrzucić, ponieważ z jakiegoś powodu po prostu się nie podoba.
Jest jeszcze jedna (znowu teoretyczna;) opcja brutalnej siły - utwórz wpis DNS-SD dla adresu routera jako odbiornika Airplay dla sieci z nadawcami Airplay i przekaż (NAT) strumień UDP do prawdziwego odbiornika Airplay. Ale nawet przy tym istnieje kilka możliwości (dla inżynierów Apple), aby go złamać.
Kontynuuj, przetestuj i daj nam znać o swoich wynikach.
źródło
Jest to powszechny problem w środowiskach edukacyjnych. Apple wykonało świetną robotę, sprzedając iPady i komputery Mac studentom / pracownikom i chcą korzystać z Airplay / Airprint / innych funkcji Bonjour. Jednak, jak wskazałeś, funkcje te polegają na pojedynczej domenie rozgłoszeniowej do wykrywania usług. Sieci korporacyjne / edukacyjne po prostu nie mają takiej struktury.
Problem jest tak powszechny, że wielu pracowników IT instytucji edukacyjnych spotkało się kilka lat temu i zwróciło się do Apple o naprawienie Bonjour, aby działał lepiej w tych środowiskach.
Aby bezpośrednio odpowiedzieć na twoje pytania, zazwyczaj będzie potrzebować bardzo wyspecjalizowanych konfiguracji, aby osiągnąć zasięg usług Airplay w twojej sieci. Konkretna konfiguracja będzie w dużym stopniu zależeć od aktualnego rozwiązania bezprzewodowego (Cisco, Aerohive, Ubiquity itp.). Ogólnie rzecz biorąc, jeśli szukasz dostawcy bezprzewodowego i Bonjour, powinieneś znaleźć dokumentację, która przynajmniej wskaże ci właściwy kierunek.
Miałem mieszany sukces we wdrażaniu rozwiązania bramy Avahi Bonjour firmy Cisco i nie zalecałbym , aby się tym zajmować, chyba że jest to absolutnie konieczne.
Najważniejsze dla mnie jest to, jak wskazałeś w trzecim pytaniu, zawsze będziesz na łasce Apple, ponieważ jest to zamknięta, zastrzeżona, nieudokumentowana usługa * przeznaczona dla środowisk sieci domowej. Tak więc, o ile Apple nie zdecyduje się tego zmienić, unikałbym implementowania go w sieci Enterprise tam, gdzie to możliwe.
* Podstawowy kod dla mDNSResponder jest otwarty, niezastrzeżony i dostępny na licencji Apache. Jednak implementacje tego wewnętrznego rozwiązania Apple w urządzeniach iDevices i MacOS są poza twoją kontrolą i mogą ulec zmianie w dowolnym momencie.
źródło
Avahi może ci tutaj pomóc. Istnieje wiele opcji, ale powinno to spowodować ruch w podsieciach. Powinieneś być w stanie uzyskać go w polu ddwrt lub użyć interfejsów Raspberry Pi i dot1q.
źródło
Nie działa, ponieważ jest to technologia emisji ( multiemisji ). (patrz także: Bonjour) Przekraczanie domeny rozgłoszeniowej (tj. VLAN) wymaga serwera proxy. Nie jestem komputerem Mac, ale widziałem już taką konfigurację proxy - więc iDevices może dostać się do drukarki, w której połączenia bezprzewodowe i przewodowe były różne. Nie pamiętam programu, który był używany, ale nie był darmowy.
źródło
Airplay podróżuje przez IP, więc obowiązuje normalny routing. Potrzebujesz routera do kierowania ruchu z jednej sieci VLAN do drugiej. Jednak dopóki nie zaczniesz mieszać z Multicastem, Bonjour pozostanie w lokalnej sieci VLAN.
Czy to zły pomysł? To zależy ;-). Musisz powiedzieć nam znacznie więcej o swoim środowisku produkcyjnym, aby zgadywać.
źródło
Jak zauważyli inni, istnieje bezpłatne rozwiązanie open source o nazwie Avahi ( http://www.avahi.org ), które może działać jako serwer proxy mDNS / Bonjour. Maszyna, na której działa to oprogramowanie, musi mieć interfejsy sieciowe do każdej sieci VLAN / podsieci, w której mają być reklamowane usługi mDNS. Aby rzeczywiste usługi działały, musisz jednak włączyć routing między sieciami VLAN lub zezwolić na połączenia TCP / UDP z urządzeniem obsługującym mDNS na listach dostępu lub zaporze. Inne opcje obejmują kontrolery Wi-Fi Cisco lub Ubiquiti, które mogą również służyć jako serwery proxy mDNS, a jeśli używasz komputera Mac, możesz utworzyć serwer proxy dla każdej usługi ( https://kb.acronis.com/sites/default/files/content/2013/ 01/39490 / wanbonjour_1.pdf). Problem z tym ostatnim rozwiązaniem polega na tym, że musisz utworzyć serwer proxy dla każdej pojedynczej usługi i musisz go powtórzyć przy każdym ponownym uruchomieniu komputera.
źródło