Quality of Service - IP Precedence and DSCP Values




IP Packet တခုမှာ Type of Service Field (TOS byte လို့လဲ ခေါ်ကြတယ်) ဆိုတာပါပါတယ်။
အဲဒီ TOS byte ကိုသုံးပြီး ကျတော်တို့တွေက Layer 3 Network Equipment တွေကို throughput, low delay, reliable service တွေအတွက် priority တွေကစားလို့ရပါတယ်။
ဒီတော့ TOS byte ကို နားလည်ဖို့အတွက် IP Precedence, DSCP အစရှိတဲ့ အခေါ်အဝေါ်ပေါင်းများစွာကို ကျတော်တို့ လေ့လာရမှာပါ။
ပထမဆုံး IP Precedence ဆိုတာကို လေ့လာရအောင်။

8 bits ရှိတဲ့ TOS byte  ကို ရှေ့ 3 bits နဲ့ နောက် 5 bits ခွဲထုတ်လိုက်ပါမယ်။

ရှေ့ 3 bits ကို precedence လို့ခေါ်ပြီး သူ့တန်ဖိုးကို IP Packet တခုရဲ့ Priority ကစားတဲ့အခါမှာ သုံးပါတယ်။
တကယ်လို့  Network Busy ဖြစ်နေပြီး Line congested ဖြစ်နေတဲ့အခါမှာ Precedence တန်ဖိုးပိုမြင့်တဲ့ IP Packet ကို Router က အရင် Process လုပ်ပြီး Precedence တန်ဖိုးနိမ့်တဲ့ IP Packet ကိုတော့ Drop လုပ်ပစ်မှာပဲ ဖြစ်ပါတယ်။
နောက်က 5 bits ကိုတော့ Type of Service လို့ ခေါ်ပြီး Network ရဲ့ Delay, Throughput နဲ့ Reliable အမျိုးအစားတွေကို သတ်မှတ်ချင်တဲ့အခါမှာ အသုံးပြုပါတယ်။
ဒီနေရာမှာ 8 bits လုံးကို Type of Service Byte လို့ခေါ်ပြီး 8 bits ရဲ့ နောက်ပိုင်း 5 bits ကိုတော့ Type of Service Bits လိုခေါ်တာကို ရောပြီအမှတ်မမှားမိအောင် သတိထားဖို့လို့ပါတယ်။
အောက်က ဇယားမှာတော့ bit တခုချင်းစီရဲ့ အဓိပ္ပာယ်တွေကို ရှင်းပြထားပါတယ်။


အပေါ်က ပြောခဲ့တာတွေထဲက type of service bits တွေကို လက်တွေ့မှာ တခါမှ အသုံးမပြုကြပါဘူး။
ဒါနဲ့ အဲ့ဒီ Type of Service 5 bits ထဲက နောက်ဆုံး 1 bit ကို MBZ (Must Be Zero) အဖြစ်သတ်မှတ်ပြီး အပြင်မှာ မသုံးပဲ စမ်းသပ်ဖို့အတွက်ပဲ ထားမယ်ဆိုပြီး RFC 1349 ထပ်ထွက်လာပါတယ်။


ဒီတော့ Type of Service Bits ဟာ 4 bits ပဲ ရှိပါတော့မယ်။
ဒီ 4 bits ပဲရှိတော့တဲ့ Type of Service Bit တွေရဲ့ အဓိပ္ပာယ်ကို အောက်က ဇယားမှာ ပြထားပါတယ်။
ဒီမှာ လည်း တကယ်တော့ Type of Service Bits, 4 Bits ကို အပြင်မှာ မသုံးကြပါဘူး။
ဒီတော့ ဘာသုံးလဲ။ Differentiated Services ဆိုတာကို သုံးကြပါတယ်။
Differentiated Services
TOS Byte ကို DS (Differentiated Services) Field လို့ပြောင်းလိုက်တဲ့ RFC 2474 ဆိုတာ ထပ်ထွက်လာပါတယ်။

အဲဒီ 8 bits ရှိတဲ့ DS Field ကို ရှေ့ပိုင်း 6 bits ကို Differentiated Services CodePoint (DSCP) ၊ နောက်ပိုင်း 2 bits ကို Currently Unused (CU) ဆိုပြီး သတ်မှတ်ပါတယ်။
DSCP က အပေါ်က ပြောခဲ့တဲ့ Precendance value လိုမျိုး Traffic တွေကို Priority သတ်မှတ်ဖို့အတွက် သုံးတာပါ။
ဒီ DSCP value တွေကပဲ host/node တခုချင်းစီ အပေါ် Per Hop Behavior (PHB) လို့ ခေါ်တဲ့ traffic ဖြတ်သန်းသွားလာမှုပုံစံတွေကို တမျိုးတဖုံ အကျိုးသက်ရောက်စေပါတယ်။
ဥပမာ အနေနဲ့ ရှင်းပြရမယ်ဆိုရင် QoS မှာ End to End connection အတွက် Traffic ကို reserve လုပ်တဲ့အခါ End to End ကြားထဲမှာ ရှိတဲ့ Network Device တခုချင်းစီကို bandwidth reserve လုပ်ပေးရတဲ့ IntServ (Integrated Services) ဆိုတာနဲ့ Network Device တခုချင်းစီကို မတူညီတဲ့ priority value codepoint တွေနဲ့ bandwidth reserve လုပ်လို့ရတဲ့ တနည်းအားဖြင့် mark လုပ်လို့ရတဲ့ DiffServ (Differentiated Services) ဆိုပြီး ရှိပါတယ်။
ဒီနှစ်မျိုးထဲက DiffServ ဆိုတာက Per Hop Behavior ရဲ့ idea ကို ယူသုံးထားတာပါပဲ။
PHB မှာလဲ
Default PHB နဲ့ Class-Selector (CS) PHB ဆိုပြီး နှစ်မျိုးရှိပါသေးတယ်။
Default PHB ကတော့ DSCP Value ကို 000000 သုည ခြောက်လုံး ထားလိုက်ပြီး packet ကို “best effort” အဖြစ် process လုပ်ခိုင်းတာပါ။
DSCP ကို support မလုပ်နိုင်ပဲ IP Precedence ကိုပဲ support လုပ်တဲ့ network device အဟောင်းတွေအတွက် compatible ဖြစ်အောင် Class-Selector PHB ဆိုတာကို သုံးပါတယ်။ သူ့မှာတော့ DS Field ရဲ့ ရှေ့ 3 bits ကို class-selector codepoint တွေရှိအဖြစ်သတ်မှတ်ထားပါတယ်။ အောက်က ဇယားလေးကို ကြည့်လိုက်ရင် ရှင်းသွားမှာပါ။


အချိန်အနည်းငယ်ကြာတဲအခါ
Queueing နဲ့ Congestion Avoidance ဆိုတဲ့ Function နှစ်ခုပါတဲ့ Assured Forwarding PHB (AF PHB) ဆိုတဲ့ နောက်ထပ် RFC တခု ထွက်လာပြန်ပါတယ်။
ဒီမှာတော့ Traffic Class ၄ မျိုးခွဲထားပြီး တမျိုးချင်းစီမှာ queue ပုံစံ အမျိုးမျိုးထပ်ခွဲထားပါတယ်။ Precedence အနေနဲ့ တော့ low, medium နဲ့ high ဆိုပြီး level ၃ ခုသတ်မှတ်ထားပါတယ်။
အောက်က DS Field ပုံလေးမှာ ပြထားတာကို ကြည့်ရင် ရှင်းပါတယ်။


ရှေ့ 3 bits က Class ခွဲဖို့ ဖြစ်ပြီး နောက် 3 bits က queue ပြည့်နေရင် ဘယ် traffic ကို drop လုပ်ရမလဲ ဆုံးဖြတ်ဖို့ ဖြစ်ပါတယ်။ နောက်ဆုံး 2 bits က တော့ နောက်ပိုင်းမှာ သုံးဖို့အတွက်ဖြစ်ပြီး လက်ရှိမှာတော့ unused ပေါ့။
Class 1 က priority အနိမ့်ဆုံးဖြစ်ပြီး Class 4 ကတော့ priority အမြင့်ဆုံးဖြစ်ပါတယ်။
ဒါကြောင့် Video Traffic တွေအတွက် QoS configuration တွေကို ကြည့်တဲ့အခါ AF41 လေးတွေနဲ့ ဆိုတာ သတိထားမိပါလိမ့်မယ်။


Assured Forwarding PHB (AF PHB) ကိုသိပြီးရင် Expedited Forwarding PHB (EF PHB) ဆိုတာကိုလဲ မသိလို့မရဘူး။

သူ့မှာလဲ Queueing နဲ့ Policing ဆိုတဲ့ Function ၂ မျိုးရှိပါတယ်။
သူ့ကို သုံးရတဲ့ ရည်ရွယ်ချက်ကတော့ voice traffic လိုမျိုး delay နဲ့ packet loss သိပ်အဖြစ်ခံလို့မရတဲ့ traffic မျိုးအတွက် သုံးရတာပါ။ Network က အရမ်းအလုပ်များပြီး congested ဖြစ်နေတဲ့အချိန်မှာ packet loss ဖြစ်တာတို့ delay ဖြစ်တာတို့ ကြုံရပါတယ်။ အဲ့လို အချိန်မျိုးမှာ Voice Traffic လိုမျိုး packet ကို priority queue ထဲကို ထည့်ပြီး တခြား queue ထဲက packet တွေထက် အရင် send out လုပ်ခိုင်းတာမျိုးကို Expedited Forwarding လုပ်တယ်လို့ ခေါ်တာပါ။
သူ့ကို သုံးရင် rate limit လေးနဲ့ သုံးမှအဆင်ပြေပါတယ်။ မဟုတ်ရင် တခြား packet တွေအတွက် အခွင့်အရေးကို ရတော့မှာ မဟုတ်တော့လို့ပါ။ သူ့အတွက် DSCP တန်ဖိုးကိုတော့ EF ဆိုပြီး သတ်မှတ်ထားပါတယ်။
သူ့ကိုတော့ Voice Traffic အတွက် QoS configuration တွေကို ကြည့်တဲ့အခါ dscp ef ဆိုတာမျိုး မြင်ရပါလိမ့်မယ်။


အပေါ်က ပြောခဲ့တာတွေက သီအိုရီတွေပဲ ဖြစ်ပြီး ဝင်လာတဲ့ Traffic တွေကို အမျိုးအစားခွဲပြီး value သတ်မှတ်ယုံပဲ ရှိပါသေးတယ်။ တကယ့်လက်တွေမှာတော့ ဒီ Traffic ကို ဒီ Value ထားပါ ဆိုပြီး Class တွေကို ခွဲထားယုံနဲ့ Router တွေ Switch တွေက လိုချင်တဲ့ Queue Processing ကို လုပ်မပေးနိုင်ပါဘူး။ အဲလိုလုပ်ဖို့အတွက် ဒီ Class ကိုတော့ မြန်မြန် send ပါ။ ဒီ Class ကိုတော့ နောက်မှ send ပါ ဆိုတာမျိုး ထပ်ခိုင်းရပါသေးတယ်။

နောက်တခုက အပေါ်က IP Precedence နဲ့ DSCP Value တွေက Vendor တခုနဲ့ တခု သတ်မှတ်ပုံ မတူတဲ့အတွက် QoS configure လုပ်ဖို့လိုပြီဆိုရင် သက်ဆိုင်ရာ Vendor ရဲ့ Guide ကို ဖတ်ဖို့လိုပါတယ်။
အောက်မှာတော့ အပေါ်က ပြောခဲ့တာတွေရဲ့ RFC တွေကို ဖတ်ချင်ရင် ဖတ်ရအောင် ထည့်ပေးထားပါတယ်။

ကဲ ဒီလောက်ဆို QoS ရဲ့ Value တွေအကြောင်း တီးမိခေါက်မိပြီလို့ ထင်ပါတယ်။


တခြား QoS post တွေကိုတော့ အောက်က လင့်တွေမှာ ဖတ်နိုင်ပါတယ်။


Quality of Service - Classification in brief



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


No comments :

Post a Comment