Multicast for beginners

One Source to One Destination ဆိုရင် Unicast
One Source to Everyone ဆိုရင် Broadcast
One Source to Group of Devices ဆိုရင် Multicast ဆိုတာကိုတော့ အားလုံး သိထားပြီးဖြစ်ပါလိမ့်မယ်။
Multicast ကို ဘာလို့လိုအပ်တာလဲ၊ ဘယ်လို အသုံးချတာလဲ ဆိုတာကို unicast, broadcast တွေနဲ့ယှဉ်တွဲပြီး ဥပမာလေးတွေနဲ့ ရှင်းပြပါရစေ။
အောက်ကပုံကို ကြည့်ပါ။


Video Streaming Server နဲ့ သူ့ဆီက Video ကို unicast ကိုသုံးပြီး ကြည့်မယ့် Host လေးလုံးရှိပါတယ်။
Host လေးလုံးမှာ နှစ်လုံးက Local ထဲမှာ ရှိနေပြီး နောက် Host နှစ်လုံးက WAN ဖက်မှာပါ။
WAN link bandwidth က 30Mbps ရှိပြီး 6Mbps Bandwidth လိုအပ်တဲ့ High Definition Video Stream တခုကို Video Streaming Server က နေ Host တခုချင်းစီက ယူကြည့်တယ်ပေါ့ဗျာ။
unicast ဖြစ်တဲ့အတွက် Host တလုံးစီအတွက် 6Mbps ကိုသုံးတယ်ဗျာ။ ၄ လုံးဆိုတော့ 4x6Mbps=24Mbps Bandwidth ကိုသုံးထားတယ်ပေါ့။
တကယ်လို့များ Host ၄ လုံးထပ်ပိုလာမယ် ပိုလာတဲ့ Host တွေကလဲ Video ကို ကြည့်မယ်ဆိုရင်တော့ ပြဿနာ စတက်ပြီပေါ့ဗျာ။
ဒါက unicast သုံးထားတဲ့အတွက် ဖြစ်တဲ့ ပြဿနာပေါ့။


အပေါ်က ပုံအတိုင်းပဲ broadcast ကို သုံးကြည့်မယ်ဗျာ။
ပုံမှာ ပြထားသလိုပဲ Router 1 မှာ broadcast က drop ဖြစ်သွားပြီး WAN ဖက်က Host တွေလိုချင်တဲ့ Video မရတော့ဘူးပေါ့။
နောက်ပြီး LAN ဖက်က Host တလုံးက Video မကြည့်ဘူးဆိုရင်လဲ traffic က သူ့ဆီ လာနေမှာပါပဲ။
ဒီအခြေအနေဟာဆိုရင်လဲ လိုတဲ့သူက braoadcast ကို drop လုပ်တဲ့ router ရဲ့ သဘာဝကြောင့် လိုချင်တာကို မရသလို၊ မလိုတဲ့သူကို ပေးနေတဲ့အတွက်လဲ bandwidth တွေဆုံးရှုံးနေတာပေါ့။
ဒါက broadcast သုံးလို့ ဖြစ်တဲ့ ပြဿနာပေါ့။

Same Topology ကိုပဲ multicast ကိုသုံးကြည့်အုံးမယ်ဗျာ။

ဒီတခါတော့ LAN ဖက်က Host တလုံးရယ်၊ WAN ဖက်က Host တလုံးရယ်ပဲ Video Streaming ကိုကြည့်ဖို့လိုတယ်ဗျာ။
Video Streaming Server က Video Packets တွေကို တကြိမ်ပဲ Send ဖို့လိုပါတယ်။ Network မှာရှိတဲ့ Router, Switch တွေက multicast traffic ကို လိုတဲ့ Host ဆီကို Forward လုပ်ပေးပါတယ်။
unicast လို လိုတဲ့ Host တိုင်းကို အကြိမ်ကြိမ် send စရာမလိုသလို၊ broadcast လိုလဲ လိုလို မလိုလို send ရတာမျိုးလဲ မရှိပါဘူး။
ဒါ multicast ပါပဲဗျာ။

ဒါပေမယ့် multicast ဟာ သူ့ချည်းပဲတော့ အလုပ်မလုပ်ဘူးဗျ။ သူကောင်းကောင်းအလုပ်လုပ်နိုင်ဖို့ တခြား component တွေလိုသေးတယ်။
ပထမဆုံးကတော့ multicast traffic အတွက် IP address တွေပေါ့ဗျာ။ multicast IP address တွေကို သိချင်ရင်တော့ Internet မှာ ရှာကြည့်နိုင်ပါတယ်။
နောက်ပြီး multicast ကို support လုပ်တဲ့ application တွေလဲ လိုပါသေးတယ်။ ဥပမာအနေနဲ့ဆိုရင် VLC mediaplayer လိုမျိုးပေါ့။

နောက်တခုက အောက်ကပုံကိုကြည့်ပါ

Router တလုံး multicast traffic ကို လက်ခံရပြီဆိုတာနဲ့ သူနဲ့ ချိတ်ထားတဲ့ Host တွေထဲက ဒီ multicast traffic ကို လိုချင်တဲ့သူ ရှိမရှိသိအောင် လုပ်ရပါတယ်။
အဲဒီလို သိအောင် လုပ်ဖို့အတွက် IGMP (Internet Group Management Protocol) ဆိုတာကို သုံးပါတယ်။
Multicast Traffic ကိုလိုချင်တဲ့ Host ဟာ IGMP ကိုသုံးပြီး Router ကို အသိပေးရပါတယ်။
IGMP က Router ကို ဘယ် Interface က Multicast Traffic ကိုလိုနေတာဖြစ်ကြောင်းသိစေပြီး Forward လုပ်လို့ရအောင် ကူညီပေးပါတယ်။

ဟုတ်ပါပြီ။ တကယ်လို့များ အောက်ကပုံလို Router နောက်မှာ Switch တလုံးရှိနေသေးတယ်ဆိုရင် ဘယ်လိုလုပ်မလဲ။ 

Switch က သူ့ရဲ့ ဘယ် Interface ကို Multicast Traffic ကို Forward လုပ်ရမလဲ ဆိုတာ မသိပါဘူး။
မပူပါနဲ့ဗျာ။ ဒီလိုအခြေအနေမှာ သုံးဖို့ IGMP snooping ဆိုတာ ရှိပါတယ်။
Switch က Router နဲ့ Host တွေကြားထဲကနေ ပြီး IGMP message တွေကို နားထောင်တယ် ပြီးတော့မှ ဘယ် Interface ကနေ Multicast Traffic ကို Forward လုပ်ရမလဲဆိုတာကို ဆုံးဖြတ်တယ်ပေါ့။
IGMP snooping လိုမျိုး Cisco မူပိုင် CGMP (Cisco Group Management Protocol) ဆိုတာလဲ ရှိပါသေးတယ်။ ဒါပေမယ့် သိပ်မသုံးကြပါဘူး။

ကဲ...အခုထိ ပြောလာတာက simple topology အတွက်ဗျ။ တကယ်လို့ အောက်ကပုံလို Router တွေ နည်းနည်းများလာမယ် နည်းနည်းရှုပ်လာမယ်ဆိုရင် ဘယ်လိုလုပ်မလဲ။

Host 1 က လိုချင်တဲ့ Video ကို Router 1 က multicast traffic နဲ့ ပို့မယ်ဆိုပါတော့။
unicast မှာဆိုရင်တော့ Router တွေက destination address ကို ကြည့်ပြီး routing table အတိုင်း traffic ကို forward လုပ်လိုက်ယုံပဲ။
multicast မှာဆိုရင်တော့ ဒီလောက်မလွယ်ကူပါဘူး။ Destination Address က Multicast Group Address ဖြစ်နေတဲ့အတွက် Traffic ဟာ Multiple Receiver ကို ပို့ရမှာ ကြောင့်ပဲ ဖြစ်ပါတယ်။
အဲဒီလို Multiple Receiver တွေဆီကို Packet ကို Forward လုပ်ဖို့  အတွက် DVMRP (Distance Vector Multicast Rrouting Protocol), MOSPF (Multicast Open Shortest Path First) နဲ့ PIM (Protocol Independent Multicast) ဆိုတာတွေကို သုံးဖို့လိုပါတယ်။
Popular အဖြစ်ဆုံးကတော့ PIM ပေါ့။

Multicast မှာ advantage တွေကတော့ အများကြီးပေါ့ဗျာ။ unicast traffic နဲ့ အဓိကကျတဲ့ advantage ကိုယှဉ်မယ်ဆိုရင်တော့ multicast က scability ဖြစ်တာပါပဲ။
ဒါပေမယ့် multicast က udp ကိုပဲ support လုပ်တဲ့ disadvantage တခုတော့ရှိပါတယ်။

Multicast ကို Youtube , Netflix လို Video Streaming လုပ်တဲ့ Company တွေက Internet မှာ အသုံးချလား လို့မေးရင်တော့ မသုံးပါဘူးလို့ပဲ ဖြေရမှာပါပဲ။
သူတို့က unicast တွေအများကြီးနဲ့ ပဲ သူတို့ရဲ့ Online Video တွေကို သူတို့ Customer တွေဆီကို deliver လုပ်ပါတယ်။
ဒါပေမယ့် Local ISP တွေမှာတော့ Multicast ကို သုံးတာကို တွေ့ရမှာပါ။ ဥပမာ အနေနဲ့ Singapore မှာဆိုရင် SingTel ရဲ့ IPTV လိုမျိုးပေါ့ဗျာ။
ကဲ ဒီလောက်ဆိုရင် Multicast အခြေခံလေး နည်းနည်းရသွားပြီလို့ ယူဆပါတယ်။
နည်းနည်း ပိုပြည့်စုံသွားအောင် CCIE တွေရေးထားတဲ့ Multicast အကြောင်းလေးတွေကို ဒီအောက်က လင့် တွေမှာ သွားဖတ်နိုင်ပါသေးတယ်။

ပျော်ရွှင်ပါစေဗျာ။

(Be knowledgeable, pass it on then)

No comments :

Post a Comment