Dear reader, please download one of Myanmar unicode font and install it on your PC to see my blog well.Thanks.

Quality of Service - Classification in brief

Quality of Service (QoS) အကြောင်းပြောမယ်ဆိုရင် IP Packet ထဲက Type of Service (ToS) field အကြောင်းကို အရင်ပြောသင့်တာပါ။
ဒါပေမယ့် IP Precedence တို့ Differentiated Service တို့ကိုရှင်းပြရမှာဖြစ်သလို သူတို့အကြောင်းပြောမယ်ဆိုရင် Binary တွေပါတဲ့အတွက် Engineering/Computer ကျောင်းသားမဟုတ်တဲ့သူတွေအတွက် နားလည်ရလွယ်အောင်ရေးမပြတတ်သေးလို့ ခဏချန်ထားခဲ့ပါမယ်။
နောက်များမှာ အဆင်ပြေတဲ့အခါ ရေးပါ့မယ်။

ကျတော်တို့ Network ဆိုတာ Service တွေကို Deliver လုပ်ပေးတာလေ။
Service တွေမှာ လုပ်ငန်းလိုအပ်ချက်တွေပေါ်မူတည်ပြီး အသုံးပြုတဲ့ Application တွေရှိတာပေါ့။
Application တွေပါလာတာနဲ့ Bandwidth တွေ၊ Delay နဲ့ Jitter စတဲ့ လိုအပ်ချက်တွေပါလာတာပေါ့။
FTP လို application အတွက် Delay နဲ့ Jitter က သိပ်အရေးမကြီးပေမယ့် File Size အကြီးကြီးတွေ သယ်ယူပို့ဆောင်ရတဲ့အတွက် Bandwidth ကိုတော့ လိုအပ်ပါတယ်။
ဒီလိုပဲ Skype လို Voice over IP (VoIP) တွေအနေနဲ့ကျတော့ Bandwidth က သိပ်အများကြီးမလိုပေမယ့် Delay ၊ Jitter တွေ မဖြစ်ဖို့လိုပါတယ်။
မဟုတ်ရင် Delay ကြောင့် Dialogue မဖြစ်တော့ပဲ Monologue ဖြစ်သွားနိုင်သလို၊ Jitter ကြောင့်လဲ ကိုယ်ပြောတာ သူအကုန်မကြားရ သူပြောတာ ကိုယ် အကုန်မကြားရဖြစ်ကုန်မှာပါ။

ဒီလိုအခြေအနေတွေကို ကျော်လွှားနိုင်ဖို့ ကျတော်တို့တွေ Quality of Service (QoS) ဆိုတာကို လိုအပ်လာတာပါ။
QoS အကြောင်းပြောမယ်ဆိုရင် Classification, Queuing, Policiing, Shaping စတာတွေပြောရမှာပါ။
ကျတော် Classification ဆိုတာကို အရင် စ ပြောပါမယ်။
ပုံမှန်အားဖြင့် QoS configure လုပ်မထားတဲ့ Router တွေဟာ သူတို့ဆီကို ဝင်လာတဲ့ IP Packet တွေကို အမျိုးအစားခွဲခြားခြင်း Classification ဆိုတဲ့အလုပ်မလုပ်ပဲ Destination ကိုကြည့်ပြီး Forward/Discard လုပ်လိုက်တာပါပဲ။
ဒါကြောင့် ပထမဆုံးအနေနဲ့ ဝင်လာတဲ့ IP Packet ဟာ ဘယ် Application ရဲ့ Packet လဲဆိုတာကို သိအောင် အရင်လုပ်ရပါတယ်။
ပြီးတော့မှ ဒီဟာကတော့ Telnet, ဒီဟာကတော့ Web, ဒီဟာကတော့ Voice စသည်ဖြင့် မှတ်သားခြင်း Marking နဲ့ ဘယ် Application Packet ဆိုရင် ဘာလုပ်ဆိုတဲ့ Policing လုပ်တာတွေကို လုပ်ကြတာပါ။

Cisco IOS router တွေမှာတော့ Packet တွေကို ပုံစံနှစ်မျိုးနဲ့ Classify လုပ်တယ်ဗျ။

1) Header inspection ဆိုတာနဲ့
Layer 2 MAC address တွေ၊ Layer 3 Source , Destination IP address တွေ၊ Layer 4 Source, Destination Port Number တွေ ကို Classify လုပ်တာရယ်။

2) Payload inspection ဆိုတာနဲ့
Packet အထဲမှာပါတဲ့ Content တွေကို စစ်ပြီး Classify လုပ်တာရယ်ဆိုပြီးတော့ပေါ့ဗျာ။ သူကတော့ Deep Packet Inspection (DPI) လို့လဲ ခေါ်ကြသေးတယ်ဗျ။
နောက်တမျိုး Network-Based Application Recognition (NBAR) လို့လဲ ခေါ်သေးတယ်။
NBAR မှာ ဝင်လာတဲ့ Packet တွေကို Signature တွေ၊ Attribute တွေတိုက်ပြီးစစ်ပေးနိုင်တဲ့ Packet Description Language Module (PDLM) ဆိုတာပါတဲ့အခါကျတော့
HTTP ကို Port 80 အစား တခြား Port number တွေသုံးပြီး Network ထဲကနေ ခိုးထွက်ဖို့  ကြိုးစားတာတို့ ၊ .exe file ကို .doc, .zip စသည်ပြောင်းပြီး transfer လုပ်ဖို့ကြိုးစားတာတို့ကို စစ်နိုင်တာပေါ့ဗျာ။
တချို့ Firewall မသုံးတဲ့ Network အသေးစားလေးတွေမှာ ဒါမျိုးလေးတွေသုံးပြီး Traffic ကို စစ်တာကိုတွေ့ဖူးကြမှာပါ။

ဒီလောက်ဆို QoS ရဲ့ Classification အကြောင်းအနည်းငယ်တီးမိခေါက်မိလောက်ပြီထင်ပါတယ်။
Configuration ဘယ်လိုလုပ်တယ်ဆိုတာကို နောက်ပို့စ်မှာ ဆက်ပါမယ်။

ပျော်ရွှင်ပါစေဗျာ။
(Be knowledgeable, pass it on then)

Border Gateway Protocol - 3


Default အနေနဲ့ eBGP နဲ့ neighbor adjacency လုပ်ထားတဲ့ Router ၂ လုံးဟာ အချင်းချင်း တိုက်ရိုက်ချိတ်ဆက်ထားဖို့လိုပါတယ်။
ဘာလို့လဲဆိုတော့ eBGP router တွေရဲ့ Time To Live (TTL) က 1 မို့လို့ပါ။
ဒီတော့ အောက်က Topology လိုမျိုးဆိုရင် R1 က R3 ကိုရောက်ဖို့ Hop Count က 1 ထက်ပိုနေသလို  R3 ကနေ R1 ကိုရောက်ဖို့လဲ 1 Hop Count ထက်ပိုနေပါတယ်။
ဒါကြောင့် R1 BGP Packet ရဲ့ TTL တန်ဖိုး က R2 ဆီကိုရောက်တာနဲ့ 0 ဖြစ်သွားမှာ ဖြစ်ပြီး R3 BGP Packet ရဲ့ TTL တန်ဖိုးလဲ R2 ဆီကိုရောက်တာနဲ့ 0 ဖြစ်သွားမှာပါ။
ဒါဆိုရင် eBGP neighbor မဖြစ်တော့ဘူးပေါ့။

Interface IP Address, BGP နဲ့ Static Route တွေကို ပုံထဲကအတိုင်း သက်ဆိုင်ရာ Router ၃ လုံးမှာ ကိုယ့်ဖာသာ ကိုယ် Configure လုပ်ကြည့်ပါ။

R1(config)#int s2/0
R1(config-if)#ip add 10.12.12.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit

R1(config)#ip route 10.23.23.3 255.255.255.255 10.12.12.2

R1(config)#router bgp 100
R1(config-router)#neighbor 10.23.23.3 remote-as 300

R2(config)#int s2/1
R2(config-if)#ip add 10.12.12.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int s2/2
R2(config-if)#ip add 10.23.23.2 255.255.255.0
R2(config-if)#no shut

R3(config)#int s2/3
R3(config-if)#ip add 10.23.23.3 255.255.255.0
R3(config-if)#no shut
R3(config-router)#exit

R3(config)#ip route 10.12.12.1 255.255.255.255 10.23.23.2

R3(config)#router bgp 300
R3(config-router)#neighbor 10.12.12.1 remote-as 100
R3(config-router)#exit

ပြီးတာနဲ့ eBGP neighbor စစ်ကြည့်ပါ။ BGP neighbor မဖြစ်တာကိုတွေ့ပါလိမ့်မယ်။
ဘာလို့လဲဆိုတော့ BGP Packet TTL Value က R2 ဆီကိုရောက်တဲ့ အခါ 1 ကနေ 0 ဖြစ်သွားပြီး drop ဖြစ်သွားလို့ပါ။

R1(config-router)#do sh ip bgp neighbors | include External
  External BGP neighbor not directly connected.

ကျတော်တို့ ဒီပြဿနာကို ebgp-multihop ဆိုတဲ့ command ကိုသုံးပြီး TTL Value ကိုတိုးပေးခြင်းဖြင့် ရှင်းနိုင်ပါတယ်။
ဒီလိုပါ..

R1(config)#router bgp 100
R1(config-router)#neighbor 10.23.23.3 ebgp-multihop 2

R3(config)#router bgp 300
R3(config-router)#neighbor 10.12.12.1 ebgp-multihop 2

ဒီမှာတော့ R1 ကနေ R3 ကိုရောက်ဖို့ နဲ့ R3 ကနေ R1 ကိုရောက်ဖို့  2 hops ပဲ လိုလို့ ebgp-multihop 2 ဆိုပြီး configure လုပ်ထားတာပါ။
Lab မှာ Router ပိုထည့်ပြီးစမ်းကြည့်ချင်ရင်တော့ hop count value ကို တိုးပြီးစမ်းပေါ့ဗျာ။

ကဲ... eBGP neighbor ကို ပြန်စစ်ကြည့်ရအောင်။

R1#show ip bgp neighbors | include External
  External BGP neighbor may be up to 2 hops away.

R3#show ip bgp neighbors | include External
  External BGP neighbor may be up to 2 hops away.

ကဲ...eBGP neighbor ပြဿနာကို ရှင်းလိုက်ပါပြီ။

တကယ်တော့ BGP router ၂ လုံးကြားထဲမှာ BGP run မထားတဲ့ Router ကို ထားခြင်းဟာ Network Prefix တွေ ဖလှယ်တဲ့နေရာမှာ ပြဿနာတက်မှာပဲ ဖြစ်ပါတယ်။
ဥပမာအနေနဲ့ R1 နဲ့ R3 ရဲ့ Loopback Network Prefix ကို BGP ထဲကို ထည့်ပြီး Advertise လုပ်တဲ့အခါ R2 က သူ့ဆီရောက်လာတဲ့ Packet တွေကို ဘယ်ကို Forward လုပ်ရမလဲ မသိတာပါ။

ဒီပို့စ်ရဲ့ ရည်ရွယ်ချက်က eBGP Multihop အကြောင်းကို သိစေချင်ယုံသက်သက်ပဲ ရေးထားတာဖြစ်တဲ့အတွက် eBGP multihop အလုပ်လုပ်ပုံသိပြီဆိုရင် ကျေနပ်ပါပြီ။

ဆက်ပါအုံးမယ်။

ပျော်ရွှင်ပါစေဗျာ။
(Be knowledgeable, pass it on then)

Border Gateway Protocol - 2

BGP မှာ iBGP နဲ့ eBGP ဆိုပြီး ၂ မျိုး ထက်ခွဲထားတယ်။
iBGP ကို AS အတွင်းမှာ configure လုပ်ပြီး eBGP ကိုတော့ မတူတဲ့ AS တွေ အချင်းချင်းဆက်သွယ်ဖို့ configure လုပ်တယ်။
အခု ဒီပို့စ်မှာ ကျတော် eBGP ကို ဘယ်လို configure လုပ်လဲ ဆိုတာပြပါမယ်။

အောက်က Router ၂ လုံးနဲ့ AS ၂ ခုရယ်၊ Local network ကို ကိုယ်စားပြုထားတဲ့ Loopback network ရယ်ပါတဲ့ Topology ရိုးရိုးလေးကိုပဲ သုံးပါမယ်။


eBGP ကို configure လုပ်ဖို့ global configuration mode ထဲကိုဝင်ပြီး အောက်က syntax ၂ ကြောင်းကို ရိုက်ပေးရမှာပါ။

router bgp "AS Number"
neighbor "neighbor router ip address" remote-as "neighbor router's AS number"

ကျတော် Router 1 နဲ့ 2 ကို အောက်မှာ configure လုပ်ပြထားပါတယ်။ (ဒါမလုပ်ခင် router hostname, interface ip address configuration တွေကို အရင်လုပ်ထားရပါမယ်။ ဒါကိုတော့ ကိုယ့်ဖာသာ ကိုယ်လုပ်ကြည့်ပါ။)

R1(config)#router bgp 1
R1(config-router)#neighbor 172.16.12.2 remote-as 2

R2(config)#router bgp 2
R2(config-router)#neighbor 172.16.12.1 remote-as 1

eBGP configuration ပြီးပါပြီ။ ကျတော်တို့ လုပ်တာ အားလုံးမှန်တယ် အဆင်ပြေတယ်ဆိုရင် အောက်ကလိုမျိုး router မှာ neighbor up ဆိုတဲ့ message ကိုတွေ့ရမှာပါ။

R1#
*May 11 11:50:15.759: %BGP-5-ADJCHANGE: neighbor 172.16.12.2 Up

R2(config-router)#
*May 11 11:49:45.759: %BGP-5-ADJCHANGE: neighbor 172.16.12.1 Up

ဟုတ်ပြီ ဒါက အရိုးဆုံးနည်းပေါ့။ Router တိုင်းကို neighbor ပေးမလုပ်ချင်ဘူးဗျာ။ Authentication ခံထားချင်တယ်ဆိုပါစို့။
အောက်ကအတိုင်း MD5 password ခံထားနိုင်ပါသေးတယ်။

R1(config)#router bgp 1
R1(config-router)#neighbor 172.16.12.2 password ICT4MM

R2(config)#router bgp 2
R2(config-router)#neighbor 172.16.12.1 password ICT4MM

ဒါဆိုရင် password မတူတဲ့ router တွေ eBGP neighbor လုပ်လို့မရတော့ဘူးပေါ့။

အပေါ်က configuration တွေ ပြီးတဲ့အခါ show ip bgp summary command သုံးပြီး BGP neighbor တွေကို စစ်ပါမယ်။
ဒီလိုစစ်တာကနေ ကျတော်တို့ BGP neighbor တွေရဲ့ အခြေအနေကို သိနိုင်သလို neighbor တွေဆီကနေရတဲ့ network prefix တွေ ဘယ်နှစ်ခု ရသလဲဆိုတာကိုပါ စစ်နိုင်ပါတယ်။
အောက်က message ထဲက State/PfxRcd ဆိုတာကိုပြောတာပါ။

R1#show ip bgp summary
BGP router identifier 1.1.1.1, local AS number 1
BGP table version is 1, main routing table version 1

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.12.2     4            2      14               14        1         0    0    00:09:19         0

R2#show ip bgp summary
BGP router identifier 2.2.2.2, local AS number 2
BGP table version is 1, main routing table version 1

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.12.1     4              1      15          15           1         0    0     00:10:06        0

ဒီမှာ ကျတော်တို့ network prefix တွေ မရသေးပါဘူး။ ဘာလို့လဲဆိုတော့ ကျတော်တို့ loopback network တွေကို BGP ထဲ မထည့်ရသေးလို့ပါ။
အောက်ကအတိုင်း ထည့်ပါမယ်။

R1(config)#router bgp 1
R1(config-router)#network 1.1.1.0 mask 255.255.255.0

R2(config)#router bgp 2
R2(config-router)#network 2.2.2.0 mask 255.255.255.0

ပြီးတာနဲ့  show ip bgp summary ပြန်လုပ်ကြည့်ပါ။ prefix တွေ ရနေတာတွေ့ပါလိမ့်မယ်။
ဒီမှာတော့ prefix ၁ ခုပဲ တွေ့မှာပါ loopback network တခုထဲ ထည့်ထားလို့ပါ။

R1#show ip bgp summary
BGP router identifier 1.1.1.1, local AS number 1
BGP table version is 3, main routing table version 3
2 network entries using 288 bytes of memory
2 path entries using 160 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 744 total bytes of memory
BGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.12.2     4            2      36             36         3         0     0      00:28:49        1

R2#show ip bgp summary
BGP router identifier 2.2.2.2, local AS number 2
BGP table version is 3, main routing table version 3
2 network entries using 288 bytes of memory
2 path entries using 160 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 744 total bytes of memory
BGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.12.1      4            1      36           36          3         0    0      00:28:58        1

နောက်တခါ show ip bgp command နဲ့ BGP database ကို ဝင်ကြည့်ပြီး router တွေ network တွေနဲ့ next hop ip address တွေ learn လုပ်တာကို လေ့လာနိုင်ပါသေးတယ်။
path vector protocl ဖြစ်တဲ့အတွက် path တွေကိုပါ တွေ့နိုင်ပါတယ်။

R1#show ip bgp
BGP table version is 3, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  1.1.1.0/24       0.0.0.0                  0                  32768 i
 *>  2.2.2.0/24       172.16.12.2              0                       0 2 i

R2#show ip bgp
BGP table version is 3, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  1.1.1.0/24       172.16.12.1              0                       0 1 i
 *>  2.2.2.0/24       0.0.0.0                  0                  32768 i

နောက်ပြီး show ip route bgp command နဲ့ လဲ BGP route တွေ administration distance တွေကို ကြည့်နိုင်ပါသေးတယ်။

R1#show ip route bgp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      2.0.0.0/24 is subnetted, 1 subnets
B        2.2.2.0 [20/0] via 172.16.12.2, 00:18:10

R2#show ip route bgp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      1.0.0.0/24 is subnetted, 1 subnets
B        1.1.1.0 [20/0] via 172.16.12.1, 00:19:27


ကဲ...ဒီလောက်ဆို eBGP အခြေခံလေးတွေ သိသွားပြီထင်ပါတယ်။

ဆက်ပါအုံးမယ်။

ပျော်ရွှင်ပါစေဗျာ။
(Be knowledgeable, pass it on then)




Border Gateway Protocol - 1

Border Gateway Protocol (BGP) ဆိုတာ exterior gateway protocol ပါပဲ။
RIP, OSPF, EIGRP စတာတွေကတော့ interior gateway protocol တွေပေါ့။
လက်ရှိ သုံးနေတဲ့ BGP version ကတော့ Version 4 ပါ။

BGP ကို "path vector" routing protocol လို့ ပြောနိုင်သေးတယ်။
သူ့ကို Autonomous System (AS) တွေထဲမှာ Route လုပ်ဖို့ဆိုတာထက် Autonomous System (AS) တွေတခုနဲ့တခုကြားမှာ Route လုပ်ဖို့အတွက် ဖန်တီးထားတာလို့ပြောလို့ရတယ်။
သူ့မှာ လဲ သတ်မှတ်ထားတဲ့ Autonomous System Number (ASN) ဆိုတာရှိပါသေးတယ်။
အရင်ကတော့ 16-bit number သုံးတဲ့ 1 ကနေ 65535 ပေါ့။ သူ့မှာ Internet ပေါ်မှာ သုံးလို့ရတဲ့ public AS range နဲ့ Internet ပေါ်မှာ သုံးမရတဲ့ private AS range ဆိုပြီးရှိသေးတယ်။
Private AS range ကတော့ 64512 ကနေပြီးတော့ 65535 ထိပါ။
၂၀၀၉ ခုနှစ် ဇန်နဝါရီက စပြီး 32-bit AS number ကိုစသုံးကြပါတယ်။
AS Number format က 0-65535.0-65535 ဖြစ်သွားတယ်ပေါ့။
BGP က Protocol အနေနဲ့ TCP ကိုသုံးပြီး Port ကတော့ 179 ကိုသုံးပါတယ်။
ဒါတွေကတော့ knowledge အနေနဲ့ အကျဉ်းချုံးပြောထားတာပါ။ အသေးစိတ်သိချင်ရင်တော့ Internet မှာရှာဖတ်နိုင်ပါတယ်။

BGP ကို ဘယ်လိုအခြေအနေတွေမှာ သုံးလဲ?

- မတူညီတဲ့ Service Provider တွေဆီကနေ တခုထက်ပိုတဲ့ Network Connections တွေနဲ့ AS တွေကို ချိတ်ဆက်ထားတဲ့အခါမျိုး (ဥပမာ Internet Service Provider ၂ ခုဆီကနေ Internet ကိုထွက်တာမျိုး)
- Service Provider တခုတည်းကနေ သီးခြား Central Office ဒါမှမဟုတ် မတူညီတဲ့ Routing Policy တွေနဲ့ တခုထက်ပိုတဲ့ Network Connection တွေသုံးပြီး AS တွေကို ချိတ်ဆက်ထားတာမျိုး
- နောက်တခါ Transit Network လို မျိုးမှာ သုံးပါတယ်။

ရေးဖို့စိုင်းပြင်းနေတာကတော့ lab ပိုင်းပါ။ ဒါပေမယ့် သီအိုရီလေးလဲ နည်းနည်းတော့ ပြောမှ ဖြစ်မယ်ထင်လို့ ခြေဆင်းအနေနဲ့ နည်းနည်းထည့်ရေးလိုက်တာပါ။

ဆက်ပါအုံးမယ်...

ပျော်ရွှင်ပါစေဗျာ။
(Be knowledgeable, pass it on then)

Contact Form for ictformyanmar.com

Name

Email *

Message *