ไปที่เนื้อหา


รูปภาพ
- - - - -

รายงานผลการศึกษา multicast กับ การใช้ multicast ทำ online TV


  • คุณไม่สามารถตั้งกระทู้ใหม่ได้
  • กรุณาลงชื่อเข้าใช้เพื่อตอบกระทู้
มี 4 โพสต์ตอบกลับกระทู้นี้

#1 หยุดอะตอมใจ

หยุดอะตอมใจ
  • Members
  • 729 โพสต์
  • Gender:Male

โพสต์เมื่อ 03 February 2005 - 04:33 PM

สวัสดีครับ จากที่ผมได้รับความรู้โครงสร้างของทาง DMC อย่างคร่าวๆ ก็ได้พยายามศึกษาหาความรู้ทางเรื่อง multicast broadcasting เนื่องจาก อาจจะเป็นทางเลือกที่ดีที่จะลดค่าใช้จ่าย bandwidth และ load ของ server ที่จะต้องเสียไปถ้ามีจำนวน client เข้ามาเรียกดู dmc.tv ที่แต่ละ server เป็นจำนวนมาก ผลการศึกษาอย่างคร่าวๆ มีดังนี้ครับ

Multicast คืออะไร

ในขณะนี้ถ้ามีเครื่องคอมพิวเตอร์ 100 เครื่อง เข้ามาขอดูรายการฝันในฝันพร้อมๆ กัน จากเครื่อง server www.dmc.tv ทางเครื่อง server จะส่ง stream กลับไปยังเครื่องเหล่านั้นในรูปแบบ "unicast" โดยจำนวน connection ที่จะเสียไปก็คือ 100 connections และสมมติว่า แต่ละคนใช้ bandwidth 100Kbit/s ก็จะเสียทั้งหมด 100,000Kbit/s ครับ

user posted image

ภาพการทำงานแบบ unicast

และถ้า server มี bandwidth น้อยกว่า 100,000 Kbit/s ผลที่ได้ก็คือ คนที่มาทีหลัง (คนที่ 101) ก็จะไม่สามารถดูได้ หรือคนก่อนๆ ก็จะได้ bandwidth ที่ต่ำกว่า 100Kbit/s แล้วแต่ว่าจะตั้ง server ไว้ว่าอย่างไร นอกจากนี้ยังติดเรื่อง license อีกด้วย

แต่ในกรณีที่ เรากำหนดให้เครื่อง server ส่งแบบ multicast

user posted image

เครื่องจะ ส่งข้อมูลไปยัง router ต่างๆ ที่สามารถ route stream นั้นๆ ไปยังเครื่อง clients ทั้งหมดได้ ดังนั้น จำนวน stream มากที่สุด ที่เครื่อง server จะต้องส่งก็คือ encoding rate * จำนวน router ที่เครื่อง server นั้นต่ออยู่ ถ้าตามรูปก็คือ 3 ครับ แต่ส่วนมากจะ 1 เพราะมี lan card อันเดียว

#2 หยุดอะตอมใจ

หยุดอะตอมใจ
  • Members
  • 729 โพสต์
  • Gender:Male

โพสต์เมื่อ 03 February 2005 - 04:44 PM

ข้อเสียของ Multicast
--------------------

ฟังดูแล้วเหมือนจะดีเลยครับ แต่มันมีเงื่อนไขอยู่เหมือนในการทำ multicast

1. router จะต้อง forward IP class D ซึ่ง router ในโลกตอนนี้ จากคำบอกเล่าของเพื่อนคนหนึ่งที่ทำงานอยู่ thnic ประเทศไทย มี router จำนวนไม่มากเลยที่ forward IP class D

2. เครื่อง client จะต้องอยู่ไม่ไกลออกไปมาก เพราะ multicast ใช้ TTL value ในการกำหนดว่าจะส่งไปไกลแค่ไหน ค่า TTL นี่คร่าวๆก็คือจำนวน router ที่คั่นกลาง นั่นแหละครับ เช่นถ้า TTL เท่ากับ 10 ก็จะมี router อยู่ตรงกลางได้ 10 ระหว่างเส้นทาง ถ้าเส้นทางนั้นต้องการ router 15 ตัว ก็จะส่งไม่ได้

เวลาที่ router forward stream ไปเครื่อง client ก็จะลดค่า TTL ลงไป 1 ครับ ถ้าค่าเหลือ 0 ก็จะไม่ forward ต่อ ดังนั้น การทำ multicast แล้วต้องประมาณค่า TTL เนี่ย ก็เป็นอะไรที่ยากพอสมควรครับ (TTL max = 255)

3. Multicast IP class D จะต้องไม่ซ้ำกับของคนอื่นๆ เนื่องจากปัจจุบันไม่มีการจัดสรร IP class D นี่อย่างเป็นทางการ การทำ multicast จึงใช้วิธีกำหนด IP กันเอง ทำให้ก็มีโอกาสซ้ำกันได้ ซึ่งเพื่อนผมบอกว่า ถ้าจะทำจริงๆ อาจจะต้องขอ iana เพื่อบอกว่า IP multicast นี้ เราจองนะ คนอื่นห้ามใช้

4. นอกจากนี้ multicast protocol ยังมีมากมาย หลากหลาย router ก็ไม่ได้รู้จักไปซะทุกอัน น่ะครับ

#3 หยุดอะตอมใจ

หยุดอะตอมใจ
  • Members
  • 729 โพสต์
  • Gender:Male

โพสต์เมื่อ 03 February 2005 - 04:53 PM

แล้วสรุปว่าได้หรือไม่ได้
--------------------

ตอนนี้การทำ multicast ยังไม่แพร่หลายครับ การทำจาก server ส่งไปทั่วโลก เป็นไปได้ยาก เพราะอย่างที่บอกครับ ว่า
1. router ทุกตัวในโลก ยังไม่ support multicast
2. multicast IP อาจจะซ้ำกันได้
3. เราประมาณไม่ได้ว่า เครื่องที่เข้ามาดู อยู่ไกลแค่ไหน ค่า TTL จึงกำหนดได้ยากมาก

งาน streaming ที่ใช้ multicast จึงถูกกำจัดอยู่แค่เพียงในวงเล็กๆ เท่านั้น เช่นในวง LAN หรือองค์กรเดียวกัน

ดังนั้นถ้า DMC จะทำ multicast อาจจะต้องทำ unicast ระหว่าง server ในแต่ละภูมิภาค และให้ server เหล่านั้นทำ multicast ไปยังเครื่อง clients ที่อยู่ไม่ไกลกันมาก ... ในกรณีนี้ จะเป็นประโยชน์สูงสุด ก็คือมีนักเรียนโรงเรียนอนุบาล 100 คน แต่ละคนมีจอของตัวเอง แล้วก็นั่งอยู่ใน ห้องเรียน หรือห้อง lab computer เดียวกันนั่นแหละครับ

user posted image

แต่เนื่องจากนักเรียนอนุบาล ไม่ได้อยู่ในวง LAN เดียวกัน แต่ละคนมี ISP เป็นของตนเอง การศึกษาเพื่อทำ multicast ต่อไป จึังเป็นสิ่งที่ไม่คุ้มครับ หรือคงจะต้องบอกว่าเป็นไปไม่ได้ในตอนนี้ครับ

ในขณะนี้มีการเริ่มเชื่อมต่อ multicast ระหว่าง Autonomous System (AS) โดยแต่ละ AS ทำ interdomain เพื่อแลกเปลี่ยนข้อมูล multicast source กัน แต่ว่าทำกันแค่ในวงการศึกษาเท่านั้น ยังไม่แพร่หลายอยู่หมู่ commercial ISP ครับ

#4 หยุดอะตอมใจ

หยุดอะตอมใจ
  • Members
  • 729 โพสต์
  • Gender:Male

โพสต์เมื่อ 03 February 2005 - 05:02 PM

ในกรณีนี้ คงจะต้องไปศึกษาเรื่อง relay สัญญาณส่ง หรือ load balancing กันแล้วครับ

อ้อ ผมลืมบอกไปว่า มีบางบริษัท เช่น akamai หรือ vitalstream ที่น่าจะมี infrastructure แบบ multicast อยู่ทั่วโลก แค่เอา stream ไปให้เค้า เค้าก็จะ set ทุกอย่างให้เลยครับ แต่ว่าในกรณีนี้น่าจะเสียค่าใช้จ่ายเยอะแน่ๆ ซึ่งผมเองก็ไม่รู้ว่าเท่าไหร่

#5 ปัจเจกชน บนทางสายกลาง

ปัจเจกชน บนทางสายกลาง
  • Members
  • 4109 โพสต์
  • Gender:Male
  • Location:จ. สงขลา

โพสต์เมื่อ 29 January 2007 - 08:49 AM

กราบอนุโมทนาบุญครับ สาธุ