"Unicast" "Broadcast" & "Multicast"

ZawGyi

#Unicast
Unicast ဆိုတာက.. One to One communication ပဲျဖစ္ပါတယ္ ဘယ္လိုမ်ိုးလဲ ဆိုေတာ့.. computer nodeတစ္ခု/IPတစ္ခု ကေနျပီးေတာ့ တစ္ျခား computerတစ္လံုး/IPတစ္ခု ကို data ေတြကို ပို့တာပဲ ျဖစ္ပါတယ္. Point to Point transmisson ပါ ;-) network ေတြမွာရွိတဲ့ nodeေတြ computer ေတြ printer ေတြမွာ ေပးထားတဲ့ IP address ေတြသည္ unicast IP ေတြပဲျဖစ္ပါတယ္..
No automatic alt text available.
#Broadcast
Broadcast က်ေတာ့ one to all transmission ျဖစ္ပါတယ္.. သူ့မွာ Limited Broadcast နဲ့ Directed Broadcast ဆုိျပီးနွစ္မ်ိုးရွိပါတယ္.. Limited BC သည္ same network(local area network) ထဲက node အားလံုးကို Package ပို့ဖုိ့အတြက္သံုးတာျဖစ္ပါတယ္. Example အေနနဲ့ ေျပာရရင္ Network A ထဲမွာ ရွိတဲ့ DHCP Server ကို Network A ထဲမွာ ရွိတဲ့ client computer ကေနျပီးေတာ့ DHCP Discover message လွမ္းပို့မယ္ဆို့.. သူ့မွာ ဘာIP မွလဲ မရွိ serverရဲ့ IPကိုလဲ မသိဘူး.. ဆုိေတာ့ကာ.. Discover message ကို Network ထဲမွာရွိတဲ့ Nodeတုိင္း deviceတုိင္း ကို ေရာက္ဖုိ့ အတြက္ဆုိ .. Broadcastလြွင့္မွအဆင္ေျပမယ္ဗ်ာ့.. အဲ့ေတာ့DHCP Discover လုပ္မယ့္ packageရဲ ့ သြားေစခ်င္တဲ့ Destination IP သည္ Limited Broadcast IP >> 255.255.255.255 (All 1>>1111 1111.1111 1111.1111 1111.1111 1111) အေနနဲ့ ပို့လြွတ္လိုက္မွ same broadcast domain ထဲမွာရွိတဲ့ Node အားလံုးကိုေရာက္ျပီး.. သက္ဆုိင္ရာ DHCP server ကေနျပီး ေရာက္လာတဲ့ package အတြက္ DHCP offer message ကို reply ျပန္နုိင္မွာ ျဖစ္တယ္.
အကယ္လို့ DHCP server သည္ same Network မွာ မဟုတ္ပဲ Different Network ျဖစ္တဲ့ Network B(172.16.0.0/24) မွာ ရွိေနမယ္္ဆုိရင္.. Network A(10.10.10.0/24) ဘက္မွာရွိတဲ့ client node(10.10.10.1/24) ကေနပုိ့လြွတ္လိုက္တဲ့ DHCP Discover message သည္ Network B ဘက္မွာရွိတဲ့ Server(172.16.0.2/24) ကို ေရာက္မွာမဟုတ္ပါဘူး.. ဘာလိို့လဲဆိုေတာ့ Router ေတြသည္ Default အားျဖင့္ Broadcast package ေတြကို သူ့ကုိေက်ာ္ျပီးသြားခြင့္မေပးပါဘူး.. တစ္နည္းေျပာရရင္ Router ကိုေရာက္လာတဲ့ Broadcast package ကိုRouter က Terminate လုပ္ပစ္လုိက္ပါတယ္.. အဲ့လုိ့အေျခအေနမ်ိုး မွာဆို Limited Broadcast အေနနဲ့ အဆင္မေျပပါဘူး.. Directed Broadcast ကိုသံုးမွာ အဆင္ေျပမွာပါ.. ဘာလို့လဲဆုိေတာ့ Directed Broadcast သည့္ "specified network" တစ္နည္းေျပာရရင္ သက္မွတ္လိုက္တဲ့ Network ရဲ့ Broadcast IP,. example အေနနဲ့ေျပာရရင္ Network B အတြက္ Directed Broadcast IP ဆုိက်ပါဆုိ့ Network B ရဲ့ Network ID သည္ 172.16.0.0/24 >> ေရွ ့က 24 bit ျဖစ္တဲ့ 172.16.0 သည္ Network part.. ေနာက္က 8 bit ျဖစ္တဲ့ 0 သည္ Host Part.. တစ္ျခား Different Network/Domain ေတြကေနျပီး Netwrok Bမွာ ရွိတဲ့ Nodeတုိင္း device တိုင္းကိုေရာက္ေစခ်င္တဲ့ Message Package မ်ိုးပို့ခ်င္ရင္ Network B ရဲ့ Network Part ျဖစ္တဲ့ 172.16.0 ကို အဲ့တုိင္းပဲထား..ဘာလို့ အဲ့တိုင္းထားတာလဲဆိုေတာ့.. ပို့ခ်င္တဲ့ Network ကုိညြန္းခ်င္တဲ့ အတြက္ေျကာင့္ပဲ.. ျပီးတာ့ Host Part>> အဲ့Host Part မွာရွိတဲ့ Bit ေတြအကုန္ကို 1 ေျပာင္း >> .255.. အဲ့လိုေျပာင္းရျခင္းအေျကာင္းအရင္းသည္ Broadcast လုပ္မယ္လို့ေျပာတာ.. အဲ့အေျကာင္းကို IP subneting မွာေျပာဖူးတယ္ဗ်ာ့... ဆုိေတာ့ကာ..ခု ရလာတဲ့ 172.16.0.255 သည္ Network B ရဲ့ Directed Broadcast IP ျဖစ္ပါတယ္.. Network B ရဲ့ limited Broadcast IP ဆုိရင္ေတာ့ 255.255.255.255 ပဲျဖစ္ပါတယ္.. limited Broadcast သည္ Network တုိင္းအတြက္ 255.255.255.255ပာပဲ..
Image may contain: text
ပံုမွာဆို..10.10.10.0/24(Network A) မွာ ရွိတဲ့ Client computer(10.10.10.1/24) ကေနျပီး DHCP message(255.255.255.255)ေတြ ပို့မယ္ဆိုDifferent Network(Network B) ျဖစ္တဲ့ 172.16.0.0/24 မွာရွိတဲ့ DHCP Serverဆီကို ပံုမွန္တုိင္းဆုိေရာက္မွာမဟုတ္ပါဘူး.. Router မွာ Broadcast အေနနဲ့လာတဲ့ အဲ့ DHCP discover message ၀င္လာတဲ့ interface( int eth0) မွာ ip helper-address ဆုိျပီး Network B မွာ ရွိတဲ့ DHCP Server ရဲ့ IP ကို ညြန္းေပးရတယ္ဗ်ာ့ .. ညြန္းေပးလုိက္မွ router သည္ Broadcast အေနနဲ့ ေရာက္လာတဲ့ DHCP Message ကို ညြန္းထာတဲ့ DHCP Server ဆီကို တုိက္ရုိက္ unicast အေနနဲ့ ေပးပို့မွာျဖစ္တယ္ .. အဲ့လုိ#ip helper-address 172.16.0.2 လို့လုပ္တာကို DHCP Relay Agent လုပ္တယ္လို့သိရမယ္.. အကယ္၍ Network B မွာ ရွိတဲ့ DHCP Server ရဲ့ IP ကုိ မသိနိုင္ခဲ့ဘူးဆုိရင္ Network B ရဲ့ Directed Broadcast IP ကို #ip helper-address 172.16.0.255 ဆုိျပီး ညြန္းေပးျခင္းျဖင့္ 172.16.0 Network မွာရွိတဲ့ Node တုိင္းကို DHCP message ေရာက္မွာပါ.. အဲ့လိုလုပ္မယ္ဆို.. route သည္ defult က Broadcast ကို forward မလုပ္ပဲ Terminate လုပ္ပစ္တဲ့အတြက္ .. Terminate မလုပ္ပဲ Forward လုပ္ေအာင္ route ကေနျပီး DHCP Server ဘက္ကို ထြက္မယ့္ interface ( int eth1) မွာ #ip directed-broadcast ဆိုျပီး Enable လုပ္ေပးမွ client ဘက္က DHCP message ေတြသည္ server ကို ေရာက္မွာျဖစ္ပါတယ္.. အဲ့လိုက်မွ client ကလြင့္လိုက္တဲ့ 255.255.255.255 အေနနဲ့router ဆီကို ေရာက္လာတဲ့ packetသည္ DHCP Relay Agent ကေနတစ္ဆင့္ တစ္ဘက္Network(172.16.0.255)ကုိ Broadcast ထပ္လြင့္ေပးမွာျဖစ္ပါတယ္ အဲ့အခါက်မွာ သက္ဆုိင္ရာ server ကေနျပီး DHCP message ကို reply ျပန္္မွာျဖစ္ပါတယ္..  
No automatic alt text available.
;-)
"Multicast"
Class D IP Address(224.0.0.0 to 239.255.255.255) သံုးျပီး ပို့တဲ့့ package ေတြကို
multicast package လုိ့သိရပါ့မယ္.. ဘယ္လိုမ်ိုးဆုိ Multicast သံုးမလဲဆုိရင္.. one to all (broadcast) လိုပိ့ုခ်င္တာမ်ိုး မဟုတ္ပဲ.. one to selected host (multicast) ေတြကို ပို့ခ်င္တာမ်ိုးဆုိ "Multicast" သံုးပါတယ္...Multicast routing အတြက္ Intradomain မွာဆုိ.. အဓိက အားျဖင့္ 
1)IGMP(Internet Group Management Protocol) နဲ့ 
2)PIM(Protocol Independent Multicast) ဆုိျပီး နွစ္မ်ိုး ရွိပါတယ္...
IGMP ကို client(computer host) နဲ့ router ျကားမွာ.. client ကေန "multicast group" ကို join ခ်င္တဲ့ အခါမွာ multicast package ကို receive လုပ္ခ်င္တဲ့ interface ရွိေျကာင္း IGMP ကုိသံုးျပီး ေျပာပါတယ္..PIM ကိုက်ေတာ့.. Multicast-enabled routers ေတြျကားမွာ အခ်င္းခ်င္း ဆက္သြယ္ဖုိ့ သံုးပါတယ္ဗ်ာ့.. ပံုမွာဆုိ.. video server သည္ သူ့မွာ multicast group ထဲမွာ ရွိတဲ့ client ေတြဆီကို multicast video package ေတြ ပုိ့ဖုိ့ ဘယ္ area ေတြကို ပုိ့လြွတ္ရမလဲဆုိတာသိဖုိ့ ပထမဆံုး network ထဲမွာ package ေတြကို flood လုပ္လုိက္ျပီး Router ေတြကေနတစ္ဆင့္ query(224.0.0.1)လုပ္ပါတယ္. အဲ့အခ်ိန္မွာ router ေတြသည္ Multicast Routing Table ဖန္တီးျပီး unicast to Multicast matching အတြက္ပါ.. အဲ့လုိ flood လုပ္လိုက္တဲ့အတြက္.. Multicast group မွာပါတဲ့/Multicast video ကို လိုခ်င္တဲ့ client computer ေတြသည္ IGMP ကိုသံုးျပီး join message ပို့ပါတယ္.. လက္ခံရရွိတဲ့ router ေတြကေနျပီး သူတုိ့ upper router ကို PIM join Packet ပုိ့ျပီး Multicast Traffice လိုခ်င္ေျကာင္း သိေစပါတယ္.... မလိုခ်င္တဲ့/တစ္နည္းမjoinခ်င္တဲ့ computer ေတြသည္ Prune Packet ေတြပုိ့လြွတ္ပါတယ္.. အကယ္၍ router တစ္လံုးသည္ သူ ့ေအာက္မွာ Join မယ့္သူ မရွိဘူးဆုိရင္ upper router ကို Prune Packet ပို့ျပီး Multicast Packet မပို့ဖုိ့ အခ်က္ေပးပါတယ္.. အဲ့လိုနည္းျဖင့္သိရွိျပီး Server ကေနပို့လိုက္တဲ့ video package သည္ router ကိုေရာက္ျပီဆုိတာနဲ့ copyကူးျပီး သက္ဆုိင္ရာ Multicast Groupကို Foward လုပ္ေပးလုိက္ပါတယ္... Router နဲ့ Nodeေတြ ျကားမွာ switch ရွိေနမယ္ဆုိရင္ Layer 2မွာလဲ MAC address နဲ့ multicast(01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF) လုပ္ပါတယ္.. Layer 3 Multicast ကေနျပီးေတာ့ Layer 2 Multicast address ကို Mapping လုပ္ေပးဖုိ့ ဆုိရင္ >> 
ဥပမာအေနနဲ့ multicast IP Address ျဖစ္တဲ့ 224.0.0.5ကို ပထမဆံုး Binary Form ေျပာင္းပါ
>>1110 0000-0000 0000-0000 0000-0000 0101 ျပီးရင္ သိရမွာ တစ္ခုက Layer 2 Multicast MAC address သည္ 01-00-0E နဲ့ စတယ္ဆုိတာကိုပါ
MAC address သည္ 48 bit ျဖစ္ျပီး ေရွ့24bit(01-00-5E)သည္ အေသပါ 01-00-5E>> 0000 0001-0000 0000-0101 1110-
ျပီးရင္ multicast IP ရဲ ့ ေနာက္ 24 bit ကိုယူပါ > left most bit 0(24th bit) ေျပာင္းပါ >> "0"000 0000-0000 0000-0000 010
01-00-5E(0000 0001-0000 0000-0101 1110-) ေနာက္မွာ သြားေပာင္းထည့္ပါ ျပီးရင္ Decimal form ကို convert လုပ္ပါ
>> 0000 0001-0000 0000-0101 1110-0000 0000-0000 0000-0000 0101 ( 01-00-5E-00-00-05 ) 
ရလာတဲ့ 48bit သည္ Layer 3 Multicast address ျဖစ္တဲ့ 224.0.0.5 ရဲ့Layer 2 Multicast address ပဲျဖစ္ပါတယ္...
အသံုးမ်ားတဲ့ Well-Known Multicast IP address ေတြကေတာ့
224.0.0.1 >> All systems on this subnet (all Nodes)
224.0.0.2 >> All routers on this subnet
224.0.0.5 >> All OSPF routers 
224.0.0.6 >> OSPF designated routers 
224.0.0.9 >> RIP-2 routers 
224.0.0.10 > EIGRP routers
Multicast Address Range ျဖစ္တဲ့ 224.0.0.0 to 239.255.255.255 ကို အသံုးျပုမယ့္အေျခအေနကို မူတည္ျပီး ထပ္ခြဲထားပါေသးတယ္...
1)224.0.0.0 to 224.0.0.255 >> Local Multicast(network protocols(OSPF,EIGRP,.etc) ေတြအတြက္ local segmentမွာ သံုးဖုိ့ပါ. Multicast routers ေတြက အဲ့ range ထဲကေန လာတဲ့ packet ေတြကို forward မလုပ္ ေပးပါဘူး)
2)224.0.1.0 to 224.0.1.255 >> Routed Multicast ( Layer 3 Multicast Router ေတြကေန forward လုပ္ေပးပါတယ္)
3)232.0.0.0 to 232.255.255.255 >> Source Specific Application(a host to indicate that it would only like to receive packets from a specific source)
4)233.0.0.0 to 233.255.255.255 >> GLOP addressing
5)239.0.0.0 to 239.255.255.255 >> Private Addressing (This space can NOT be advertised ‘outside’. only use for private Network ;-) )
No automatic alt text available.
Thanks for your Reading
~[F]or-get
UniCode

#Unicast
Unicast ဆိုတာက.. One to One communication ပဲဖြစ်ပါတယ် ဘယ်လိုမျိုးလဲ ဆိုတော့.. computer nodeတစ်ခု/IPတစ်ခု ကနေပြီးတော့ တစ်ခြား computerတစ်လုံး/IPတစ်ခု ကို data တွေကို ပို့တာပဲ ဖြစ်ပါတယ်. Point to Point transmisson ပါ ;-) network တွေမှာရှိတဲ့ nodeတွေ computer တွေ printer တွေမှာ ပေးထားတဲ့ IP address တွေသည် unicast IP တွေပဲဖြစ်ပါတယ်..
No automatic alt text available.
#Broadcast
Broadcast ကျတော့ one to all transmission ဖြစ်ပါတယ်.. သူ့မှာ Limited Broadcast နဲ့ Directed Broadcast ဆိုပြီးနှစ်မျိုးရှိပါတယ်.. Limited BC သည် same network(local area network) ထဲက node အားလုံးကို Package ပို့ဖို့အတွက်သုံးတာဖြစ်ပါတယ်. Example အနေနဲ့ ပြောရရင် Network A ထဲမှာ ရှိတဲ့ DHCP Server ကို Network A ထဲမှာ ရှိတဲ့ client computer ကနေပြီးတော့ DHCP Discover message လှမ်းပို့မယ်ဆို့.. သူ့မှာ ဘာIP မှလဲ မရှိ serverရဲ့ IPကိုလဲ မသိဘူး.. ဆိုတော့ကာ.. Discover message ကို Network ထဲမှာရှိတဲ့ Nodeတိုင်း deviceတိုင်း ကို ရောက်ဖို့ အတွက်ဆို .. Broadcastလွှင့်မှအဆင်ပြေမယ်ဗျာ့.. အဲ့တော့DHCP Discover လုပ်မယ့် packageရဲ ့ သွားစေချင်တဲ့ Destination IP သည် Limited Broadcast IP >> 255.255.255.255 (All 1>>1111 1111.1111 1111.1111 1111.1111 1111) အနေနဲ့ ပို့လွှတ်လိုက်မှ same broadcast domain ထဲမှာရှိတဲ့ Node အားလုံးကိုရောက်ပြီး.. သက်ဆိုင်ရာ DHCP server ကနေပြီး ရောက်လာတဲ့ package အတွက် DHCP offer message ကို reply ပြန်နိုင်မှာ ဖြစ်တယ်.
အကယ်လို့ DHCP server သည် same Network မှာ မဟုတ်ပဲ Different Network ဖြစ်တဲ့ Network B(172.16.0.0/24) မှာ ရှိနေမယ််ဆိုရင်.. Network A(10.10.10.0/24) ဘက်မှာရှိတဲ့ client node(10.10.10.1/24) ကနေပို့လွှတ်လိုက်တဲ့ DHCP Discover message သည် Network B ဘက်မှာရှိတဲ့ Server(172.16.0.2/24) ကို ရောက်မှာမဟုတ်ပါဘူး.. ဘာလိို့လဲဆိုတော့ Router တွေသည် Default အားဖြင့် Broadcast package တွေကို သူ့ကိုကျော်ပြီးသွားခွင့်မပေးပါဘူး.. တစ်နည်းပြောရရင် Router ကိုရောက်လာတဲ့ Broadcast package ကိုRouter က Terminate လုပ်ပစ်လိုက်ပါတယ်.. အဲ့လို့အခြေအနေမျိုး မှာဆို Limited Broadcast အနေနဲ့ အဆင်မပြေပါဘူး.. Directed Broadcast ကိုသုံးမှာ အဆင်ပြေမှာပါ.. ဘာလို့လဲဆိုတော့ Directed Broadcast သည့် "specified network" တစ်နည်းပြောရရင် သက်မှတ်လိုက်တဲ့ Network ရဲ့ Broadcast IP,. example အနေနဲ့ပြောရရင် Network B အတွက် Directed Broadcast IP ဆိုကျပါဆို့ Network B ရဲ့ Network ID သည် 172.16.0.0/24 >> ရှေ ့က 24 bit ဖြစ်တဲ့ 172.16.0 သည် Network part.. နောက်က 8 bit ဖြစ်တဲ့ 0 သည် Host Part.. တစ်ခြား Different Network/Domain တွေကနေပြီး Netwrok Bမှာ ရှိတဲ့ Nodeတိုင်း device တိုင်းကိုရောက်စေချင်တဲ့ Message Package မျိုးပို့ချင်ရင် Network B ရဲ့ Network Part ဖြစ်တဲ့ 172.16.0 ကို အဲ့တိုင်းပဲထား..ဘာလို့ အဲ့တိုင်းထားတာလဲဆိုတော့.. ပို့ချင်တဲ့ Network ကိုညွန်းချင်တဲ့ အတွက်ကြောင့်ပဲ.. ပြီးတာ့ Host Part>> အဲ့Host Part မှာရှိတဲ့ Bit တွေအကုန်ကို 1 ပြောင်း >> .255.. အဲ့လိုပြောင်းရခြင်းအကြောင်းအရင်းသည် Broadcast လုပ်မယ်လို့ပြောတာ.. အဲ့အကြောင်းကို IP subneting မှာပြောဖူးတယ်ဗျာ့... ဆိုတော့ကာ..ခု ရလာတဲ့ 172.16.0.255 သည် Network B ရဲ့ Directed Broadcast IP ဖြစ်ပါတယ်.. Network B ရဲ့ limited Broadcast IP ဆိုရင်တော့ 255.255.255.255 ပဲဖြစ်ပါတယ်.. limited Broadcast သည် Network တိုင်းအတွက် 255.255.255.255ပာပဲ..
Image may contain: text
ပုံမှာဆို..10.10.10.0/24(Network A) မှာ ရှိတဲ့ Client computer(10.10.10.1/24) ကနေပြီး DHCP message(255.255.255.255)တွေ ပို့မယ်ဆိုDifferent Network(Network B) ဖြစ်တဲ့ 172.16.0.0/24 မှာရှိတဲ့ DHCP Serverဆီကို ပုံမှန်တိုင်းဆိုရောက်မှာမဟုတ်ပါဘူး.. Router မှာ Broadcast အနေနဲ့လာတဲ့ အဲ့ DHCP discover message ၀င်လာတဲ့ interface( int eth0) မှာ ip helper-address ဆိုပြီး Network B မှာ ရှိတဲ့ DHCP Server ရဲ့ IP ကို ညွန်းပေးရတယ်ဗျာ့ .. ညွန်းပေးလိုက်မှ router သည် Broadcast အနေနဲ့ ရောက်လာတဲ့ DHCP Message ကို ညွန်းထာတဲ့ DHCP Server ဆီကို တိုက်ရိုက် unicast အနေနဲ့ ပေးပို့မှာဖြစ်တယ် .. အဲ့လို#ip helper-address 172.16.0.2 လို့လုပ်တာကို DHCP Relay Agent လုပ်တယ်လို့သိရမယ်.. အကယ်၍ Network B မှာ ရှိတဲ့ DHCP Server ရဲ့ IP ကို မသိနိုင်ခဲ့ဘူးဆိုရင် Network B ရဲ့ Directed Broadcast IP ကို #ip helper-address 172.16.0.255 ဆိုပြီး ညွန်းပေးခြင်းဖြင့် 172.16.0 Network မှာရှိတဲ့ Node တိုင်းကို DHCP message ရောက်မှာပါ.. အဲ့လိုလုပ်မယ်ဆို.. route သည် defult က Broadcast ကို forward မလုပ်ပဲ Terminate လုပ်ပစ်တဲ့အတွက် .. Terminate မလုပ်ပဲ Forward လုပ်အောင် route ကနေပြီး DHCP Server ဘက်ကို ထွက်မယ့် interface ( int eth1) မှာ #ip directed-broadcast ဆိုပြီး Enable လုပ်ပေးမှ client ဘက်က DHCP message တွေသည် server ကို ရောက်မှာဖြစ်ပါတယ်.. အဲ့လိုကျမှ client ကလွင့်လိုက်တဲ့ 255.255.255.255 အနေနဲ့router ဆီကို ရောက်လာတဲ့ packetသည် DHCP Relay Agent ကနေတစ်ဆင့် တစ်ဘက်Network(172.16.0.255)ကို Broadcast ထပ်လွင့်ပေးမှာဖြစ်ပါတယ် အဲ့အခါကျမှာ သက်ဆိုင်ရာ server ကနေပြီး DHCP message ကို reply ပြန််မှာဖြစ်ပါတယ်..  
No automatic alt text available.;-)
"Multicast"
Class D IP Address(224.0.0.0 to 239.255.255.255) သုံးပြီး ပို့တဲ့့ package တွေကို
multicast package လို့သိရပါ့မယ်.. ဘယ်လိုမျိုးဆို Multicast သုံးမလဲဆိုရင်.. one to all (broadcast) လိုပို့ချင်တာမျိုး မဟုတ်ပဲ.. one to selected host (multicast) တွေကို ပို့ချင်တာမျိုးဆို "Multicast" သုံးပါတယ်...Multicast routing အတွက် Intradomain မှာဆို.. အဓိက အားဖြင့် 
1)IGMP(Internet Group Management Protocol) နဲ့ 
2)PIM(Protocol Independent Multicast) ဆိုပြီး နှစ်မျိုး ရှိပါတယ်...
IGMP ကို client(computer host) နဲ့ router ကြားမှာ.. client ကနေ "multicast group" ကို join ချင်တဲ့ အခါမှာ multicast package ကို receive လုပ်ချင်တဲ့ interface ရှိကြောင်း IGMP ကိုသုံးပြီး ပြောပါတယ်..PIM ကိုကျတော့.. Multicast-enabled routers တွေကြားမှာ အချင်းချင်း ဆက်သွယ်ဖို့ သုံးပါတယ်ဗျာ့.. ပုံမှာဆို.. video server သည် သူ့မှာ multicast group ထဲမှာ ရှိတဲ့ client တွေဆီကို multicast video package တွေ ပို့ဖို့ ဘယ် area တွေကို ပို့လွှတ်ရမလဲဆိုတာသိဖို့ ပထမဆုံး network ထဲမှာ package တွေကို flood လုပ်လိုက်ပြီး Router တွေကနေတစ်ဆင့် query(224.0.0.1)လုပ်ပါတယ်. အဲ့အချိန်မှာ router တွေသည် Multicast Routing Table ဖန်တီးပြီး unicast to Multicast matching အတွက်ပါ.. အဲ့လို flood လုပ်လိုက်တဲ့အတွက်.. Multicast group မှာပါတဲ့/Multicast video ကို လိုချင်တဲ့ client computer တွေသည် IGMP ကိုသုံးပြီး join message ပို့ပါတယ်.. လက်ခံရရှိတဲ့ router တွေကနေပြီး သူတို့ upper router ကို PIM join Packet ပို့ပြီး Multicast Traffice လိုချင်ကြောင်း သိစေပါတယ်.... မလိုချင်တဲ့/တစ်နည်းမjoinချင်တဲ့ computer တွေသည် Prune Packet တွေပို့လွှတ်ပါတယ်.. အကယ်၍ router တစ်လုံးသည် သူ ့အောက်မှာ Join မယ့်သူ မရှိဘူးဆိုရင် upper router ကို Prune Packet ပို့ပြီး Multicast Packet မပို့ဖို့ အချက်ပေးပါတယ်.. အဲ့လိုနည်းဖြင့်သိရှိပြီး Server ကနေပို့လိုက်တဲ့ video package သည် router ကိုရောက်ပြီဆိုတာနဲ့ copyကူးပြီး သက်ဆိုင်ရာ Multicast Groupကို Foward လုပ်ပေးလိုက်ပါတယ်... Router နဲ့ Nodeတွေ ကြားမှာ switch ရှိနေမယ်ဆိုရင် Layer 2မှာလဲ MAC address နဲ့ multicast(01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF) လုပ်ပါတယ်.. Layer 3 Multicast ကနေပြီးတော့ Layer 2 Multicast address ကို Mapping လုပ်ပေးဖို့ ဆိုရင် >> 
ဥပမာအနေနဲ့ multicast IP Address ဖြစ်တဲ့ 224.0.0.5ကို ပထမဆုံး Binary Form ပြောင်းပါ
>>1110 0000-0000 0000-0000 0000-0000 0101 ပြီးရင် သိရမှာ တစ်ခုက Layer 2 Multicast MAC address သည် 01-00-0E နဲ့ စတယ်ဆိုတာကိုပါ
MAC address သည် 48 bit ဖြစ်ပြီး ရှေ့24bit(01-00-5E)သည် အသေပါ 01-00-5E>> 0000 0001-0000 0000-0101 1110-
ပြီးရင် multicast IP ရဲ ့ နောက် 24 bit ကိုယူပါ > left most bit 0(24th bit) ပြောင်းပါ >> "0"000 0000-0000 0000-0000 010
01-00-5E(0000 0001-0000 0000-0101 1110-) နောက်မှာ သွားပောင်းထည့်ပါ ပြီးရင် Decimal form ကို convert လုပ်ပါ
>> 0000 0001-0000 0000-0101 1110-0000 0000-0000 0000-0000 0101 ( 01-00-5E-00-00-05 ) 
ရလာတဲ့ 48bit သည် Layer 3 Multicast address ဖြစ်တဲ့ 224.0.0.5 ရဲ့Layer 2 Multicast address ပဲဖြစ်ပါတယ်...
အသုံးများတဲ့ Well-Known Multicast IP address တွေကတော့
224.0.0.1 >> All systems on this subnet (all Nodes)
224.0.0.2 >> All routers on this subnet
224.0.0.5 >> All OSPF routers 
224.0.0.6 >> OSPF designated routers 
224.0.0.9 >> RIP-2 routers 
224.0.0.10 > EIGRP routers
Multicast Address Range ဖြစ်တဲ့ 224.0.0.0 to 239.255.255.255 ကို အသုံးပြုမယ့်အခြေအနေကို မူတည်ပြီး ထပ်ခွဲထားပါသေးတယ်...
1)224.0.0.0 to 224.0.0.255 >> Local Multicast(network protocols(OSPF,EIGRP,.etc) တွေအတွက် local segmentမှာ သုံးဖို့ပါ. Multicast routers တွေက အဲ့ range ထဲကနေ လာတဲ့ packet တွေကို forward မလုပ် ပေးပါဘူး)
2)224.0.1.0 to 224.0.1.255 >> Routed Multicast ( Layer 3 Multicast Router တွေကနေ forward လုပ်ပေးပါတယ်)
3)232.0.0.0 to 232.255.255.255 >> Source Specific Application(a host to indicate that it would only like to receive packets from a specific source)
4)233.0.0.0 to 233.255.255.255 >> GLOP addressing
5)239.0.0.0 to 239.255.255.255 >> Private Addressing (This space can NOT be advertised ‘outside’. only use for private Network ;-) )
No automatic alt text available.
Thanks for your Reading

Comments