อะไรคือสิ่งที่จำเป็นเพื่อให้ Airplay สามารถทำงานได้บน VLANs [ปิด]


17

ดูเหมือนว่า AirPlay จะทำงานนอกสถานที่พูดอย่างคลุมเครือเฉพาะภายใน LAN มันไม่ชัดเจนสำหรับฉันว่าทำไม แต่ดูเหมือนว่าการค้นพบอย่างน้อยต้องอาศัยการออกอากาศ วิกิพีเดียระบุว่าออกอากาศเป็นโปรโตคอลที่เป็นกรรมสิทธิ์ซึ่งอาจอธิบายได้ว่าทำไมเอกสารเดียวที่ฉันได้พบก็คือไม่เป็นทางการเช่นสเปคนี้ที่ GitHub

ดังนั้นคำถามของฉันคือ:

  1. เครือข่ายสามารถกำหนดค่าให้ Airplay ใช้งานได้กับ VLAN หรือไม่
  2. ถ้าเป็นเช่นนั้นจริง ๆ ต้องได้รับอนุญาตให้ผ่านระหว่าง VLAN เพื่อทำงานนี้หรือไม่?
  3. นี่เป็นความคิดที่ไม่ดีในสภาพแวดล้อมการใช้งานจริงเนื่องจากไม่มีเอกสารประกอบของโปรโตคอลอย่างเป็นทางการหรือไม่?

1
แอปพลิเคชั่นนี้เป็นสำนักงานที่มีอุปกรณ์ที่เชื่อถือได้ในเครือข่าย 'ที่เชื่อถือได้' และอุปกรณ์อื่น ๆ ในเครือข่ายไร้สาย 'ผู้เข้าชม' อุปกรณ์จากทั้งสองเครือข่ายควรจะสามารถออกอากาศไปยังทีวีห้องประชุมได้
alx9r

คุณสามารถเพิ่มรายละเอียดเพิ่มเติมเกี่ยวกับสภาพแวดล้อมของคุณได้หรือไม่? ตัวอย่างเช่นคุณใช้อุปกรณ์ไร้สายยี่ห้อใด สิ่งนี้จะส่งผลกระทบอย่างมากต่อความสามารถในการทำเช่นนี้ของคุณ
Brett Lykins

1
ทำไมไม่สร้าง SSID / VLAN ต่อห้องประชุมด้วย Apple TV สำหรับห้องประชุมใน vlan นั้น หรือใส่โดยตรงกับแขก SSID และให้พนักงานเชื่อมต่อกับมันในระหว่างการนำเสนอ จากนั้นทุกคนในห้องที่ใช้มันสามารถกระโดดบนเครือข่ายนั้นเพื่อนำเสนอ พนักงานภายในสามารถ VPN เข้าสู่เครือข่ายภายในจากที่นั่นเพื่อเข้าถึงทรัพยากรภายใน (ขึ้นอยู่กับการตั้งค่าของคุณ)
some_guy_long_gone

@legioxi นั่นเป็นแผนชั้นนำ ณ จุดนี้: อุปกรณ์ bonjour ทั้งหมดอาศัยอยู่บนเครือข่ายแขกและผู้ใช้ที่เชื่อถือได้ RA-VPN เข้าสู่เครือข่ายที่เชื่อถือได้จากที่นั่นหากต้องการ ยังคงมีปัญหาในการทำให้เครื่องพิมพ์พร้อมใช้งานบนเครือข่ายทั้งสอง แต่จนถึงขณะนี้ดูเหมือนว่าจะเป็นกลยุทธ์ที่แย่ที่สุด
alx9r

1
สิ่งนี้เรียกว่า 'Service Discovery Gateway' ในผลิตภัณฑ์ของซิสโก้ - cisco.com/c/th/us/td/docs/ios-xml/ios/ipaddr_dns/configuration/…
cpt_fink

คำตอบ:


7

มีสองสิ่งที่แตกต่างกันในคำว่า "ออกอากาศ"

สิ่งแรกคือการค้นพบบริการและเป็นวิธีที่อุปกรณ์ที่สามารถรับสตรีม Airplay ประกาศต่อเครือข่าย "เฮ้! ฉันสามารถรับ Airplay!" ก็ทำตามปกติผ่านทางบริการที่เรียกว่า Bonjour (อย่างน้อยแอปเปิ้ลเรียกมันว่าอย่างนั้น) หรือDNS-SD มันใช้มัลติคาสต์และนั่นเป็นประเด็นถ้ามีคนบอกคุณว่า "ออกอากาศสำหรับ LAN ในท้องถิ่นเท่านั้น" หรือบางสิ่งบางอย่าง การสตรีมเองคือ "ปกติ" UDP unicast

ตอนนี้ปัญหาหลักคือวิธีที่คุณได้รับข้อมูลเกี่ยวกับตัวรับสัญญาณออกอากาศไปยังผู้ส่งที่มีศักยภาพในเครือข่ายอื่น มีสองตัวเลือกทางทฤษฎี:

  1. คุณสามารถส่งต่อแบบหลายผู้รับ มันอาจจะยุ่งยาก แต่มีเราเตอร์ / ไฟร์วอลล์ที่มีความสามารถในเรื่องนี้ RTFM มีความแม่นยำเพียงใด แต่แนวคิดคือคุณต้องส่งต่อการรับส่งข้อมูลแบบหลายผู้รับด้วยที่อยู่ปลายทาง224.0.0.251ไปยังเครือข่ายอื่นและคุณต้องทำโดยไม่ลดทอน TTL

  2. ตัวเลือกอื่นคือใช้ unicast DNS-SD คุณสามารถใช้ DNS ปกติเพื่อประกาศข้อมูลเดียวกันโดยปกติจะกระจายโดยอัตโนมัติผ่านมัลติคาสต์ DNS-SD และคุณสามารถใช้ความช่วยเหลือเล็กน้อยจากยูทิลิตี้ dns-sd (1) บน MacOSX ของคุณเพื่อรับข้อมูลว่าจะเขียนลงในไฟล์โซน DNS ของคุณอย่างไร . ดำเนินการคำสั่งนี้ใน LAN ด้วย Airplay receiver และควรให้ข้อมูลทั้งหมดที่คุณต้องการ:

    $ dns-sd -Z _airplay._tcp
    Browsing for _airplay._tcp
    ...
    
  3. นอกจากนี้ยังมี DNS-SD พร็อกซี่ (เช่น avahi สามารถใช้ได้เช่นนี้)

ตอนนี้ฉันพูดว่า "ตามหลักวิชา" เพราะฉันไม่ได้ทดสอบและสิ่งที่คุณทำกับโปรโตคอลการส่งต่อและอื่น ๆ อาจมีสิ่งกีดขวางบนถนนที่อยู่เหนือการควบคุมของคุณ - เป็น Apple หลังจากทั้งหมด คุณสามารถรับข้อมูลทั้งหมดได้อย่างถูกต้องกับผู้ส่งที่อาจเกิดขึ้น แต่ iOS / MacOSX อาจยังคงปฏิเสธเพราะมันไม่ชอบด้วยเหตุผลบางอย่างและอื่น ๆ

มีอีกตัวเลือกหนึ่ง (ตามทฤษฎีอีกครั้ง;) กำลังดุร้าย - สร้างรายการ DNS-SD สำหรับที่อยู่เราเตอร์ของคุณเป็นเครื่องรับสัญญาณออกอากาศสำหรับเครือข่ายที่มีผู้ส่ง Airplay และส่งต่อ (NAT) กระแส UDP ไปยังเครื่องรับสัญญาณออกอากาศจริง แต่ถึงอย่างนี้ก็มีความเป็นไปได้ (สำหรับวิศวกรของ Apple) ที่จะทำลายมัน

ไปทดสอบและแจ้งให้เราทราบเกี่ยวกับผลลัพธ์ของคุณ


ฮึ. ดังนั้นจากการประเมินของคุณการทำให้การทำงานนี้เป็นไปตามการทดลอง
alx9r

1
คุณอยู่ในพื้นที่ที่ไม่มีเอกสารดังนั้นจึงเป็นเรื่องเกี่ยวกับการทดลอง Apple ไม่รองรับดังนั้นจึงอาจเกิดข้อผิดพลาดในช่วงเวลาใดก็ได้ (พร้อมกับการอัพเดท ฯลฯ ) เช่นกัน แต่เรียนรู้เกี่ยวกับสิ่งต่าง ๆ ที่คุณทำเข้าใจและคุณสามารถทำให้มันปลอดภัยและจะสามารถทำให้มันทำงานอีกครั้งถ้ามันพัง หรืออย่างน้อยก็เข้าใจว่าทำไมคุณไม่สามารถทำงานได้;)
Thom

จนถึงจุดสุดท้ายในย่อหน้าถัดไปของคุณ: โพสต์นี้ดูเหมือนจะระบุว่า "... AppleTV จะไม่เชื่อมต่อจากภายนอกเครือข่ายย่อยของตัวเอง ... " แม้ว่าการค้นพบจะทำงาน
alx9r

6

นี่เป็นปัญหาที่พบบ่อยในสภาพแวดล้อมทางการศึกษา Apple ทำได้ยอดเยี่ยมในการขาย iPads และ Mac ให้กับนักเรียน / พนักงานและพวกเขาต้องการใช้ฟังก์ชั่น Airplay / Airprint / Bonjour อื่น ๆ อย่างไรก็ตามตามที่คุณได้กล่าวไว้คุณสมบัติเหล่านี้ใช้โดเมนการออกอากาศเดียวสำหรับการค้นหาบริการ เครือข่ายองค์กร / การศึกษาไม่ได้เป็นแบบนั้น

ปัญหานี้แพร่หลายมากจนเจ้าหน้าที่ไอทีของสถาบันการศึกษาหลายแห่งมารวมตัวกันเมื่อไม่กี่ปีที่ผ่านมาและได้ร้องขอให้ Apple แก้ไข Bonjourให้ทำงานได้ดีขึ้นในสภาพแวดล้อมเหล่านี้


ในการตอบคำถามของคุณโดยตรงโดยปกติแล้วจะต้องมีการกำหนดค่าพิเศษเพื่อให้บริการออกอากาศของเครือข่ายของคุณประสบความสำเร็จ และการกำหนดค่าเฉพาะจะขึ้นอยู่กับโซลูชั่นไร้สายปัจจุบันของคุณ (Cisco, Aerohive, Ubiquity, ฯลฯ ) โดยทั่วไปหากคุณค้นหาผู้จำหน่ายอุปกรณ์ไร้สายและ Bonjour คุณควรพบเอกสารอย่างน้อยชี้ไปในทิศทางที่ถูกต้อง

ฉันประสบความสำเร็จในการปรับใช้โซลูชันเกตเวย์ Avahi Bonjour ของ Ciscoและจะไม่แนะนำให้มองหาเว้นแต่คุณจะต้องทำอย่างแน่นอน

สิ่งที่สำคัญที่สุดสำหรับฉันคือเมื่อคุณชี้ให้เห็นในคำถามที่สามคุณจะอยู่ในความเมตตาของ Apple เสมอเพราะนี่เป็นบริการที่ปิดเป็นกรรมสิทธิ์และไม่มีเอกสาร * สำหรับสภาพแวดล้อมเครือข่ายในบ้าน ดังนั้นหาก Apple ตัดสินใจเปลี่ยนแปลงสิ่งนั้นฉันจะหลีกเลี่ยงการนำไปใช้ในเครือข่ายองค์กรหากเป็นไปได้

* รหัสอ้างอิงสำหรับ mDNSResponder เปิดเป็นกรรมสิทธิ์และอยู่ภายใต้สิทธิ์ใช้งาน Apache อย่างไรก็ตามการใช้งานแอปเปิ้ลของ iDevices และ MacOS ภายในนี้อยู่นอกเหนือการควบคุมของคุณและสามารถเปลี่ยนแปลงได้ตลอดเวลา


ขอบคุณสำหรับคำตอบที่ยอดเยี่ยมนี้ เมื่อคุณพูดว่า "การกำหนดค่าเฉพาะจะขึ้นอยู่กับโซลูชันไร้สายปัจจุบันของคุณอย่างมาก" หมายความว่าพวกเขาแต่ละคนใช้เทคนิคที่แตกต่างกันเพื่อให้บริการ Airplay ทำงานบน VLAN หรือว่าพวกเขาแต่ละคนมีอินเทอร์เฟซผู้ดูแลระบบที่แตกต่างกัน สายไฟ?
alx9r

2
จริง ๆ แล้วทั้งสองเล็กน้อย ผู้ขายที่แตกต่างกันจะจัดการกับการสอดแนมและการส่งใหม่ของแพ็คเก็ตมัลติคาสต์ Bonjour แตกต่างกันและผู้ค้าต่าง ๆ จะมีวิธีการกำหนดค่าที่แตกต่างกันมากมายในประสบการณ์ของฉัน
Brett Lykins

คุณสามารถดูรายละเอียดเกี่ยวกับสิ่งที่คุณค้นพบด้วยโซลูชันเกตเวย์ bonjour ได้หรือไม่?
Robert Siemer

4

Avahiสามารถช่วยคุณได้ที่นี่ มีตัวเลือกมากมาย แต่ควรได้รับปริมาณการใช้งานข้ามซับเน็ต คุณควรจะรับมันในกล่อง ddwrt หรือใช้อินเตอร์เฟส Raspberry Pi และ dot1q

 enable-reflector= Takes a boolean value ("yes"  or  "no").  If  set  to
       "yes"  avahi-daemon  will  reflect  incoming mDNS requests to all local
       network interfaces, effectively allowing clients to browse  mDNS/DNS-SD
       services  on  all  networks  connected  to  the gateway. The gateway is
       somewhat intelligent and should work with all kinds  of  mDNS  traffic,
       though  some functionality is lost (specifically the unicast reply bit,
       which is used rarely anyway). Make sure to not run multiple  reflectors
       between the same networks, this might cause them to play Ping Pong with
       mDNS packets. Defaults to "no".

 reflect-ipv= Takes a boolean value ("yes" or "no"). If set to "yes" and
       enable-reflector  is  enabled,  avahi-daemon  will forward mDNS traffic
       between IPv4 and IPv6, which is usually not  recommended.  Defaults  to
       "no".

ฉันกำลังค่อนข้างมั่นใจว่าฉันจะตั้งค่าโต๊ะปิงปอง :)
โจนาธาน Komar

3

มันไม่ทำงานเพราะมันเป็นเทคโนโลยีออกอากาศ ( มัลติคาสต์ ) (ดูเพิ่มเติมที่: Bonjour) การข้ามโดเมนออกอากาศ (เช่น VLAN) ต้องใช้พรอกซี ฉันไม่ใช่คน Mac แต่ฉันเคยเห็นการตั้งค่าพร็อกซี่มาก่อนดังนั้น iDevices จึงสามารถไปที่เครื่องพิมพ์ที่มีสายและสายเป็นลานกว้างที่แตกต่างกัน ฉันจำโปรแกรมที่ใช้ไม่ได้ แต่ก็ไม่ฟรี


1
ขอขอบคุณ. ดูเหมือนว่าฉันใช้คำค้นหาผิด การค้นหา Airplay proxy ให้สิ่งนี้และสิ่งนี้ซึ่งค่อนข้างจะครอบคลุม
alx9r

ในทางเทคนิคแล้วมันเป็นเทคโนโลยีมัลติคาสต์
bahamat

@bahamat, true, แต่ local-scope ดังนั้นมันอาจจะออกอากาศเช่นกัน จะไม่ปล่อยโดเมนการออกอากาศเดียวตามธรรมชาติ
Ricky Beam

นี่คือวิศวกรรมเครือข่าย ไม่ถามแตกต่างกัน มีความแตกต่างที่สำคัญระหว่างการออกอากาศและมัลติคาสต์ ในเว็บไซต์อภิปรายสำหรับผู้เชี่ยวชาญด้านวิศวกรรมเครือข่ายที่ไม่ได้แยกความแตกต่าง mDNS เป็นมัลติคาสต์ (ดังนั้น "m") และโดยค่าเริ่มต้นจะถูก จำกัด ไว้ที่โดเมนออกอากาศเดียว
bahamat

1

ออกอากาศเดินทางผ่าน IP ดังนั้นการกำหนดเส้นทางปกติจึงมีผล คุณต้องมีเราเตอร์เพื่อกำหนดเส้นทางการรับส่งข้อมูลจาก VLAN หนึ่งไปยังอีกเครื่องหนึ่ง อย่างไรก็ตามหากคุณไม่ได้เริ่มต้นใช้ Multicast Bonjour จะยังคงอยู่บน VLAN ในพื้นที่

นี่เป็นความคิดที่ไม่ดีเหรอ? มันขึ้นอยู่กับ ;-). คุณต้องบอกเราให้มากขึ้นเกี่ยวกับสภาพแวดล้อมการผลิตของคุณเพื่อคาดเดาการศึกษา


0

ดังที่คนอื่น ๆ ระบุไว้มีโซลูชันโอเพนซอร์ซฟรีที่เรียกว่าAvahi ( http://www.avahi.org ) ซึ่งสามารถทำงานเป็นพร็อกซี mDNS / Bonjour เครื่องซอฟต์แวร์นี้ทำงานจะต้องมีการเชื่อมต่อเครือข่ายกับแต่ละ VLAN / ซับเน็ตที่คุณต้องการให้บริการ mDNS ที่จะโฆษณา / จาก เพื่อให้บริการที่ใช้งานได้จริงคุณต้องเปิดใช้งานการกำหนดเส้นทางระหว่าง VLAN หรืออนุญาตการเชื่อมต่อ TCP / UDP ไปยังอุปกรณ์ที่เปิดใช้งาน mDNS ในรายการเข้าถึงหรือไฟร์วอลล์ของคุณ ตัวเลือกอื่น ๆ ได้แก่ ตัวควบคุม wifi ของ Cisco หรือ Ubiquiti ซึ่งสามารถทำหน้าที่เป็น mDNS proxies หรือหากใช้ Mac คุณสามารถสร้างพร็อกซีสำหรับแต่ละบริการ ( https://kb.acronis.com/sites/default/files/content/2013/) 01/39490 / wanbonjour_1.pdf) ปัญหาของการแก้ไขครั้งสุดท้ายนี้คือคุณต้องสร้างพร็อกซีสำหรับแต่ละบริการและคุณต้องทำซ้ำทุกครั้งที่รีบูทเครื่อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.