Sepertinya AirPlay bekerja di luar kotak, secara samar-samar, hanya di dalam LAN. Tidak jelas bagi saya persis mengapa, tetapi sepertinya setidaknya penemuan bergantung pada siaran. Wikipedia menyatakan bahwa Airplay adalah protokol berpemilik yang mungkin menjelaskan mengapa satu-satunya dokumentasi yang saya temukan tidak resmi seperti spesifikasi ini di github .
Jadi, pertanyaan saya adalah:
- Dapatkah jaringan dikonfigurasikan sedemikian rupa sehingga Airplay berfungsi di seluruh VLAN?
- Jika demikian, apa, tepatnya, yang harus diizinkan lewat di antara VLAN untuk membuatnya berfungsi?
- Apakah ini ide yang buruk di lingkungan produksi mengingat tidak tersedianya dokumentasi protokol resmi?
Jawaban:
Ada dua hal berbeda dalam istilah "Airplay".
Yang pertama adalah tentang penemuan layanan dan cara perangkat yang dapat menerima aliran Airplay mengumumkan ke jaringan "Hei! Saya bisa menerima Airplay!". Ini dilakukan secara normal melalui layanan yang disebut Bonjour (setidaknya Apple menyebutnya begitu) atau DNS-SD . Ini menggunakan multicast dan itu intinya jika seseorang mengatakan kepada Anda bahwa "Airplay hanya untuk LAN lokal" atau sesuatu. Streaming itu sendiri adalah UDP unicast "normal".
Sekarang masalah utama adalah bagaimana Anda mendapatkan info tentang penerima Airplay ke pengirim potensial di jaringan lain. Ada dua opsi teoretis:
Anda dapat meneruskan multicast. Mungkin agak rumit, tetapi ada router / firewall yang mampu melakukan ini. RTFM bagaimana tepatnya, tetapi idenya adalah Anda harus meneruskan lalu lintas multicast dengan alamat tujuan 224.0.0.251 ke jaringan lain dan Anda harus melakukannya tanpa mengurangi TTL.
Pilihan lain adalah menggunakan unicast DNS-SD. Anda dapat menggunakan DNS normal untuk mengumumkan info yang sama yang biasanya didistribusikan secara otomatis melalui multicast DNS-SD dan Anda dapat menggunakan sedikit bantuan dari utilitas dns-sd (1) pada MacOSX Anda untuk mendapatkan info apa yang harus ditulis dalam file zona DNS Anda . Jalankan perintah ini di LAN dengan penerima Airplay dan ini akan memberi Anda semua info yang Anda butuhkan:
Ada juga proksi DNS-SD (misalnya avahi dapat digunakan seperti itu).
Sekarang, saya berkata "secara teoritis", karena saya belum mengujinya dan apa pun yang Anda lakukan dengan protokol, penerusan dan sebagainya, MUNGKIN akan ada beberapa penghalang di luar kendali Anda - bagaimanapun juga itu adalah Apple. Anda bisa mendapatkan semua info dengan benar ke pengirim potensial, tetapi iOS / MacOSX mungkin masih menolaknya karena tidak suka karena suatu alasan dan sebagainya.
Ada satu lagi (lagi teoretis;) opsi brute force - buat entri DNS-SD untuk alamat router Anda sebagai penerima Airplay untuk jaringan dengan pengirim Airplay dan teruskan (NAT) aliran UDP ke penerima Airplay yang sebenarnya. Tetapi bahkan dengan ini ada beberapa kemungkinan (untuk insinyur Apple) untuk memecahkannya.
Ayo, uji dan beri tahu kami tentang hasil Anda.
sumber
Ini adalah masalah umum di lingkungan pendidikan. Apple telah melakukan pekerjaan yang sangat baik dalam menjual iPad dan Mac kepada siswa / staf dan mereka ingin memanfaatkan fungsi Airplay / Airprint / Bonjour lainnya. Namun, seperti yang Anda tunjukkan, fitur-fitur ini bergantung pada satu domain siaran untuk penemuan layanan. Jaringan perusahaan / pendidikan tidak terstruktur seperti itu.
Masalahnya begitu lazim sehingga banyak staf lembaga pendidikan IT berkumpul beberapa tahun yang lalu, dan mengajukan petisi kepada Apple untuk memperbaiki Bonjour agar bekerja lebih baik di lingkungan ini.
Untuk langsung menjawab pertanyaan Anda, biasanya akan memerlukan konfigurasi yang sangat khusus untuk mencapai rentang layanan Airplay di jaringan Anda. Dan konfigurasi spesifik akan sangat bergantung pada solusi nirkabel Anda saat ini (Cisco, Aerohive, Ubiquity, dll). Secara umum, jika Anda mencari vendor nirkabel dan Bonjour, Anda harus menemukan dokumentasi untuk setidaknya mengarahkan Anda ke arah yang benar.
Saya mendapatkan kesuksesan yang beragam dalam menyebarkan solusi gateway Avahi Bonjour dari Cisco , dan tidak akan merekomendasikan untuk melihatnya kecuali Anda benar-benar harus melakukannya.
Intinya bagi saya adalah, seperti yang Anda tunjukkan dalam pertanyaan ketiga Anda, Anda akan selalu berada di tangan Apple karena ini adalah layanan tertutup, eksklusif, tidak berdokumen * yang ditujukan untuk lingkungan jaringan rumah. Jadi, kecuali Apple memutuskan untuk mengubahnya, saya akan menghindari menerapkannya di jaringan Enterprise sedapat mungkin.
* Kode dasar untuk mDNSResponder terbuka, tidak berpemilik, dan tersedia di bawah lisensi Apache. Namun, implementasi internal Apple ini untuk iDevices dan MacOS mereka semua di luar kendali Anda dan dapat berubah kapan saja.
sumber
Avahi dapat membantu Anda di sini. Ada banyak opsi tetapi ini harus mendapatkan lalu lintas lintas subnet. Anda harus bisa mendapatkannya di kotak ddwrt atau menggunakan Raspberry Pi dan antarmuka dot1q.
sumber
Itu tidak berfungsi karena itu adalah teknologi siaran ( multicast ). (lihat juga: Bonjour) Melintasi domain siaran (yaitu VLAN) memerlukan proxy. Saya bukan orang Mac, tapi saya pernah melihat setup proxy seperti sebelumnya - sehingga iDevices bisa mendapatkan ke printer di mana nirkabel dan kabel berbeda lans. Saya tidak ingat program yang digunakan, tetapi itu tidak gratis.
sumber
Airplay melakukan perjalanan lebih dari IP, sehingga berlaku rute normal. Anda memerlukan perute untuk merutekan lalu lintas dari satu VLAN ke VLAN lainnya. Namun, kecuali Anda mulai mengotak-atik Multicast, Bonjour akan tetap menggunakan VLAN lokal.
Apakah ini ide yang buruk? Tergantung ;-). Anda harus memberi tahu kami lebih banyak tentang lingkungan produksi Anda untuk membuat tebakan yang berpendidikan.
sumber
Seperti yang telah dicatat oleh orang lain, ada solusi open source gratis yang disebut Avahi ( http://www.avahi.org ) yang dapat berfungsi sebagai proxy mDNS / Bonjour. Mesin yang dijalankan oleh perangkat lunak ini harus memiliki antarmuka jaringan untuk setiap VLAN / subnet yang Anda inginkan layanan mDNS diiklankan ke / dari. Agar layanan aktual dapat berfungsi, Anda harus mengaktifkan perutean antar VLAN atau mengizinkan koneksi TCP / UDP ke perangkat berkemampuan mDNS dalam daftar akses atau firewall Anda. Opsi lain termasuk pengontrol wifi Cisco atau Ubiquiti yang juga dapat berfungsi sebagai proxy mDNS, atau jika menggunakan Mac Anda dapat membuat proxy untuk setiap layanan ( https://kb.acronis.com/sites/default/files/content/2013/ 01/39490 / wanbonjour_1.pdf). Masalah dengan solusi terakhir ini adalah Anda harus membuat proxy untuk setiap layanan individual, dan Anda harus mengulanginya setiap kali mesin reboot.
sumber