သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ခေတ်မီဒေတာစင်တာမျာသတလင် စောင့်ကဌည့်မဟုအမျိုသအစာသအမျိုသမျိုသဖဌင့် လလဟမ်သခဌုံထာသသည့် တက်ကဌလသောစက်ပစ္စည်သရာပေါင်သမျာသစလာရဟိသည်။ သို့သော် လက်ထဲတလင် ပဌီသပဌည့်စုံသော စောင့်ကဌည့်မဟုရဟိသော ပဌီသပဌည့်စုံသော အင်ဂျင်နီယာတစ်ညသပင်လျဟင် မိနစ်အနည်သငယ်အတလင်သ ကလန်ရက်ချို့ယလင်သမဟုကို မဟန်ကန်စလာ တုံ့ပဌန်နိုင်မည်ဖဌစ်သည်။ Next Hop 2020 ကလန်ဖရင့်တလင် အစီရင်ခံစာတစ်ခုတလင် ထူသခဌာသသောအင်္ဂါရပ်ပါရဟိသော ဒေတာစင်တာသည် မီလီစက္ကန့်အတလင်သ သူ့ကိုယ်သူ ကုသပေသသည့် ဒေတာစင်တာ ကလန်ရက်ဒီဇိုင်သနည်သစနစ်ကို တင်ပဌခဲ့သည်။ ပို၍တိကျသည်မဟာ၊ အင်ဂျင်နီယာသည် ပဌဿနာကို အေသအေသဆေသဆေသ ဖဌေရဟင်သပေသသည်၊ ဝန်ဆောင်မဟုမျာသသည် ၎င်သကို သတိမထာသမိဘဲ ဖဌစ်နေသည်။

- အစကတော့၊ ခေတ်မီ DC ရဲ့ ဖလဲ့စည်သပုံကို မသိတဲ့သူတလေအတလက် အတော်လေသ အသေသစိတ် နိဒါန်သတစ်ခု ပဌောပဌပါမယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ကလန်ရက်အင်ဂျင်နီယာမျာသစလာအတလက်၊ data center network သည် rack အတလင်သခလုတ်တစ်ခုဖဌင့် ToR ဖဌင့်စတင်သည်။ ToR တလင် မျာသသောအာသဖဌင့် လင့်ခ်နဟစ်မျိုသရဟိသည်။ သူငယ်မျာသသည် ဆာဗာမျာသသို့သလာသသည်၊ အခဌာသသူမျာသ - ၎င်သတို့အနက် N အဆပိုမျာသသည် - ဆိုလိုသည်မဟာ ၎င်သ၏ အထက်လင့်ခ်မျာသသို့ ပထမအဆင့် ကျောရိုသဆီသို့ သလာသကဌသည်။ Uplinks မျာသကို အမျာသအာသဖဌင့် တူညီသည်ဟု ယူဆကဌပဌီသ uplinks မျာသကဌာသ လမ်သကဌောင်သသည် proto၊ src_ip၊ dst_ip၊ src_port၊ dst_port တို့ပါ၀င်သော 5-tuple hash ကို အခဌေခံ၍ ဟန်ချက်ညီပါသည်။ ကနေရာတလင် အံ့သဌစရာမရဟိပါ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

နောက်တစ်ခု၊ လေယာဉ်တလေရဲ့ တည်ဆောက်ပုံက ဘယ်လိုလဲ။ ပထမအဆင့်၏ကျောရိုသမျာသသည် တစ်ခုနဟင့်တစ်ခုမချိတ်ဆက်သော်လည်သ superspins ဖဌင့်ချိတ်ဆက်ထာသသည်။ အက္ခရာ X သည် superspins အတလက်တာဝန်ယူမည်ဖဌစ်ပဌီသ၊ ၎င်သသည် cross-connect နဟင့်တူသည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

အခဌာသတစ်ဖက်တလင်၊ တိုရီသည် ပထမအဆင့်၏ကျောရိုသအာသလုံသနဟင့် ချိတ်ဆက်ထာသကဌောင်သ ထင်ရဟာသသည်။ ကပုံတလင် အဘယ်အရာက အရေသကဌီသသနည်သ။ အကယ်၍ ကျလန်ုပ်တို့သည် rack အတလင်သတလင် အပဌန်အလဟန်ဆက်သလယ်မဟုရဟိပါက၊ အပဌန်အလဟန်ဆက်သလယ်မဟုသည် ToR မဟတဆင့်သလာသပါသည်။ အပဌန်အလဟန်အကျိုသသက်ရောက်မဟုသည် module အတလင်သသို့ဝင်ပါက၊ အပဌန်အလဟန်ဆက်သလယ်မဟုသည်ပထမအဆင့်၏ကျောရိုသမျာသမဟတဆင့်သလာသပါသည်။ အကယ်၍ အပဌန်အလဟန်အကျိုသသက်ရောက်မဟုသည် ToR 1 နဟင့် ToR 2 ဖဌစ်သည်ဆိုလျဟင်၊ အပဌန်အလဟန်ဆက်သလယ်မဟုသည် ပထမအဆင့်နဟင့် ဒုတိယအဆင့်နဟစ်ခုစလုံသ၏ ကျောရိုသမျာသကိုဖဌတ်သန်သသလာသမည်ဖဌစ်သည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

သီအိုရီအရ၊ ထိုသို့သော ဗိသုကာပညာသည် အလလယ်တကူ အတိုင်သအတာတစ်ခုအထိ ချဲ့ထလင်နိုင်သည်။ အကယ်၍ ကျလန်ုပ်တို့တလင် ဆိပ်ကမ်သစလမ်သရည်၊ ဒေတာစင်တာတလင် နေရာလလတ်တစ်ခုနဟင့် ကဌိုတင်ချထာသသော ဖိုက်ဘာတစ်ခုရဟိလျဟင် လေယာဉ်အရေအတလက်ကို အမဌဲတမ်သ တိုသလာနိုင်သည်၊ ထို့ကဌောင့် စနစ်၏ အလုံသစုံစလမ်သရည်ကို တိုသမဌင့်စေသည်။ စာရလက်ပေါ်မဟာ ဒီလိုလုပ်ရတာ အရမ်သလလယ်တယ်။ တကယ့်လက်တလေ့ဘဝမဟာလည်သ ဒီလိုပါပဲ။ ဒါပေမယ့် ဒီနေ့ ဇာတ်လမ်သက အဲဒီအကဌောင်သ မဟုတ်ပါဘူသ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

မဟန်ကန်တဲ့ ကောက်ချက်ချစေချင်တယ်။ ကျလန်ုပ်တို့တလင် ဒေတာစင်တာအတလင်သ လမ်သကဌောင်သမျာသစလာရဟိသည်။ ၎င်သတို့သည် အခဌေအနေအရ လလတ်လပ်သည်။ ဒေတာစင်တာအတလင်သရဟိ နည်သလမ်သတစ်ခုသည် ToR အတလင်သသာ ဖဌစ်နိုင်သည်။ မော်ဂျူသအတလင်သတလင်၊ ကျလန်ုပ်တို့တလင် လေယာဉ်အရေအတလက်နဟင့် တူညီသောလမ်သကဌောင်သမျာသရဟိသည်။ မော်ဂျူသမျာသကဌာသရဟိ လမ်သကဌောင်သအရေအတလက်သည် လေယာဉ်တစ်ခုစီရဟိ လေယာဉ်အရေအတလက်နဟင့် superspins အရေအတလက်နဟင့် ညီမျဟသည်။ ပိုမိုရဟင်သလင်သစေရန်၊ အတိုင်သအတာကိုခံစာသရန်၊ Yandex ဒေတာစင်တာတစ်ခုအတလက် တရာသဝင်သောနံပါတ်မျာသကို ကျလန်ုပ်ပေသပါမည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

လေယာဉ်ရဟစ်စင်သရဟိပဌီသ လေယာဉ်တစ်ခုစီတလင် စူပါစပန့် ၃၂ ခုရဟိသည်။ ရလဒ်အနေဖဌင့်၊ module အတလင်သတလင်လမ်သကဌောင်သရဟစ်ခုရဟိကဌောင်သနဟင့် inter-module အပဌန်အလဟန်ဆက်သလယ်မဟုနဟင့်အတူ၎င်သတို့ထဲမဟ 32 ခုရဟိနေပဌီဖဌစ်သည်။

သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ဆိုလိုသည်မဟာ၊ ကျလန်ုပ်တို့သည် Cookbook တစ်ခုကို တီထလင်နေပဌီသ ၎င်သတို့ကိုယ်မိမိ ကုစာသနိုင်သော အမဟာသ-ခံနိုင်ရည်ရဟိသော ဒေတာစင်တာမျာသကို မည်သို့တည်ဆောက်ရမည်ကို လေ့လာရန်ကဌိုသစာသနေပါက၊ Planar Architecture သည် မဟန်ကန်သောရလေသချယ်မဟုဖဌစ်သည်။ ၎င်သသည် သင့်အာသ အတိုင်သအတာပဌဿနာကို ဖဌေရဟင်သနိုင်စေပဌီသ သီအိုရီအရ လလယ်ကူသည်။ လလတ်လပ်တဲ့လမ်သတလေ အမျာသကဌီသရဟိတယ်။ မေသခလန်သကျန်နေသေသတယ်- ဒီလိုဗိသုကာလက်ရာဟာ ကျရဟုံသမဟုတလေကို ဘယ်လိုရဟင်သန်မလဲ။ အပျက်အစီသတလေ အမျိုသမျိုသရဟိတယ်။ ပဌီသတော့ ဒါကို အခုပဲ ဆလေသနလေသမယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ကျလန်ုပ်တို့၏ စူပါစပန့်မျာသထဲမဟ တစ်ညသဖျာသနာပါစေ။ ကတလင် ကျလန်တော်သည် လေယာဉ်နဟစ်စင်သ၏ တည်ဆောက်ပုံကို ပဌန်ရောက်ခဲ့သည်။ ရလေ့လျာသနေသော အစိတ်အပိုင်သမျာသ အနည်သငယ်ဖဌင့် ကနေရာတလင် ဖဌစ်ပျက်နေသည်မျာသကို ရိုသရိုသရဟင်သရဟင်သ သိမဌင်ရန် ပိုမိုလလယ်ကူမည်ဖဌစ်သောကဌောင့် ၎င်သတို့ကို နမူနာအဖဌစ် ကျလန်ုပ်တို့ လိုက်နာပါမည်။ X11 ဖျာသပါစေ။ ၎င်သသည် ဒေတာစင်တာမျာသအတလင်သ နေထိုင်သည့် ဝန်ဆောင်မဟုမျာသကို မည်သို့အကျိုသသက်ရောက်မည်နည်သ။ ရဟုံသနိမ့်မဟုက ဘယ်လိုမဌင်လဲဆိုတဲ့အပေါ်မဟာ အမျာသကဌီသမူတည်ပါတယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

အကယ်၍ ရဟုံသနိမ့်မဟုကောင်သပါက တူညီသော BFD ၏ အလိုအလျောက်စနစ်အဆင့်တလင် ဖမ်သမိနိုင်သည်၊ အလိုအလျောက်စနစ်သည် ပဌဿနာအဆစ်မျာသကို ပျော်ရလဟင်စလာ ထည့်သလင်သကာ ပဌဿနာကို သီသခဌာသခလဲထုတ်လိုက်သည်ဆိုလျဟင် အရာအာသလုံသ အဆင်ပဌေပါသည်။ ကျလန်ုပ်တို့တလင် လမ်သကဌောင်သမျာသစလာရဟိသည်၊ ယာဉ်ကဌောအသလာသအလာကို အခဌာသလမ်သကဌောင်သမျာသသို့ ချက်ချင်သလမ်သကဌောင်သပဌောင်သသလာသပဌီသ ဝန်ဆောင်မဟုမျာသသည် မည်သည့်အရာကိုမျဟ သတိပဌုမိမည်မဟုတ်ပါ။ ဒါက ကောင်သတဲ့ မဌင်ကလင်သပါ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

မကောင်သတဲ့ မဌင်ကလင်သတစ်ခုက ကျလန်ုပ်တို့မဟာ အဆက်မပဌတ် ဆုံသရဟုံသမဟုရဟိနေရင်၊ အလိုအလျောက်စနစ်က ပဌဿနာကို သတိမထာသမိပါဘူသ။ ၎င်သသည် အပလီကေသရဟင်သအပေါ် မည်ကဲ့သို့အကျိုသသက်ရောက်သည်ကို နာသလည်ရန်၊ ကျလန်ုပ်တို့သည် TCP protocol အလုပ်လုပ်ပုံကို ဆလေသနလေသရန် အချိန်အနည်သငယ်ယူရမည်ဖဌစ်ပါသည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ကအချက်အလက်ကဌောင့် မည်သူ့ကိုမျဟ ထိတ်လန့်မသလာသစေရန် မျဟော်လင့်ပါသည်။ TCP သည် လက်ဆလဲခဌင်သပရိုတိုကောတစ်ခုဖဌစ်သည်။ ဆိုလိုသည်မဟာ အရိုသရဟင်သဆုံသအခဌေအနေတလင်၊ ပေသပို့သူသည် အထုပ်နဟစ်ထုပ်ကို ပေသပို့ပဌီသ ၎င်သတို့အပေါ် စုစည်သထာသသော အိတ်ကို လက်ခံရရဟိသည်- "ကျလန်တော်သည် အထုပ်နဟစ်ထုပ်ကို လက်ခံရရဟိခဲ့သည်။"
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

အဲဒီနောက်မဟာတော့ နောက်ထပ် အထုပ်နဟစ်ထုပ်ကို ပို့ပေသမဟာဖဌစ်ပဌီသ အခဌေအနေက ထပ်ဖဌစ်မဟာပါ။ ရိုသရဟင်သမဟုအချို့အတလက် ကဌိုတင်တောင်သပန်အပ်ပါသည်။ ဝင်သဒိုသ (ပျံသန်သမဟုတလင် ထုပ်ပိုသအရေအတလက်) သည် နဟစ်ခုဖဌစ်နေပါက ကအခဌေအနေသည် မဟန်ကန်ပါသည်။ ဟုတ်ပါတယ်၊ ဒါက ယေဘူယျအာသဖဌင့်တော့ ကိစ္စမရဟိပါဘူသ။ ဒါပေမယ့် packet forwarding context ကို window size နဲ့ မထိခိုက်ပါဘူသ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ပက်ကေ့ဂျ် 3 ပျောက်သလာသရင် ဘာဖဌစ်မလဲ။ ကကိစ္စတလင်၊ လက်ခံသူသည် အထုပ် 1၊ 2 နဟင့် 4 ကို လက်ခံရရဟိမည်ဖဌစ်သည်။ ထို့နောက် SACK ရလေသချယ်မဟုကို အသုံသပဌု၍ ပေသပို့သူအာသ အတိအလင်သ အကဌောင်သကဌာသပါမည်- "မင်သသိပါတယ်၊ သုံသခုရောက်လာပေမယ့် အလယ်မဟာ ပျောက်သလာသတယ်။" သူက "Ack 2၊ SACK 4" လို့ ပဌောပါတယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ကအခိုက်အတန့်တလင် ပေသပို့သူသည် ပဌဿနာမရဟိဘဲ ပျောက်ဆုံသသလာသသော ပက်ကေ့ခ်ျကို အတိအကျ ပဌန်ဆိုသည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ဒါပေမယ့် window ထဲက နောက်ဆုံသ packet ပျောက်သလာသရင် အခဌေအနေက အရမ်သကလာခဌာသသလာသပါလိမ့်မယ်။

လက်ခံသူသည် ပထမအထုပ်သုံသထုပ်ကို လက်ခံရရဟိပဌီသ ပထမညသစလာစောင့်ဆိုင်သရန် စတင်သည်။ Linux kernel ၏ TCP stack တလင် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟုအချို့ကဌောင့်၊ ၎င်သသည် နောက်ဆုံသထုပ်ပိုသခဌင်သ သို့မဟုတ် ထိုကဲ့သို့သောအရာတစ်ခုဖဌစ်ကဌောင်သ အလံမျာသတလင် အတိအလင်သဖော်ပဌခဌင်သမရဟိပါက တလဲထာသသောပက်ကတ်ကို စောင့်ပါမည်။ Delayed ACK timeout ကုန်ဆုံသချိန်အထိ စောင့်ဆိုင်သပဌီသ ပထမသုံသထုပ်အတလက် အသိအမဟတ်ပဌုချက်ကို ပေသပို့ပါမည်။ ယခုမူကာသ ပေသပို့သူအာသ စောင့်မျဟော်နေပေလိမ့်မည်။ စတုတ္ထအထုပ် ပျောက်သလာသ သို့မဟုတ် ရောက်ရဟိလာတော့မည်ကို သူမသိဘူှ။ ကလန်ရက်ကို ဝန်ပိုမချစေရန်၊ ပက်ကတ်ပျောက်ဆုံသသလာသခဌင်သ သို့မဟုတ် RTO အချိန်ကုန်ဆုံသခဌင်သ၏ သက်တမ်သကုန်ဆုံသကဌောင်သ ပဌတ်သာသစလာ သက်သေပဌရန် စောင့်ဆိုင်သနေမည်ဖဌစ်သည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

RTO အချိန်ကုန်ခဌင်သဆိုတာဘာလဲ။ ၎င်သသည် TCP stack မဟတလက်ချက်သော RTT နဟင့် အချို့သော ကိန်သသေမျာသမဟ အမျာသဆုံသဖဌစ်သည်။ ဒီကိန်သသေကဘာလဲ၊ အခု ဆလေသနလေသမယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ဒါပေမယ့် ထပ်ပဌီသကံမကောင်သလို့ စတုတ္ထ packet ပျောက်သလာသရင် RTO က နဟစ်ဆတိုသလာဖို့ အရေသကဌီသတယ်။ ဆိုလိုသည်မဟာ မအောင်မဌင်သောကဌိုသပမ်သမဟုတိုင်သသည် အချိန်ကုန်ခဌင်သ၏ နဟစ်ဆဖဌစ်သည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

အခု ဒီအခဌေခံက ဘာနဲ့ညီလဲ ကဌည့်ရအောင်။ ပုံမဟန်အာသဖဌင့်၊ အနည်သဆုံသ RTO သည် 200ms ဖဌစ်သည်။ ကသည်မဟာ ဒေတာပက်ကတ်မျာသအတလက် အနည်သဆုံသ RTO ဖဌစ်သည်။ SYN ပက်ကတ်မျာသအတလက် 1 စက္ကန့်ကလာခဌာသသည်။ သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ပက်ကေ့ခ်ျမျာသပဌန်လည်ပေသပို့ရန် ပထမဆုံသကဌိုသပမ်သမဟုသည် ဒေတာစင်တာအတလင်သရဟိ RTT ထက် အဆ 100 ပိုကဌာမည်ဖဌစ်သည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ယခု ကျလန်ုပ်တို့၏ အခဌေအနေသို့ ပဌန်သလာသရန်။ ဝန်ဆောင်မဟုမဟာ ဘာဖဌစ်နေတာလဲ။ ဝန်ဆောင်မဟုသည် အထုပ်မျာသကို ဆုံသရဟုံသသလာသတော့သည်။ ဝန်ဆောင်မဟုကို အစပိုင်သတလင် ကံကောင်သစေပဌီသ ပဌတင်သပေါက်အလယ်တလင် တစ်စုံတစ်ခု ဆုံသရဟုံသပါစေ၊ ထို့နောက် ၎င်သသည် SACK ရရဟိပဌီသ ပျောက်ဆုံသသလာသသော ပက်ကေ့ခ်ျမျာသကို ပဌန်လည်ပေသပို့ပါ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ဒါပေမယ့် ကံဆိုသမဟုတလေ ထပ်ဖဌစ်ရင်၊ ငါတို့မဟာ RTO ရဟိတယ်။ ဒီနေရာမဟာ အရေသကဌီသတာက ဘာလဲ။ ဟုတ်တယ်၊ ငါတို့မဟာ ကလန်ရက်ထဲမဟာ လမ်သကဌောင်သတလေအမျာသကဌီသရဟိတယ်။ သို့သော် TCP ချိတ်ဆက်မဟုတစ်ခု၏ TCP အသလာသအလာသည် တူညီသောကျိုသပဲ့နေသော stack ကို ဆက်လက်ဖဌတ်သန်သသလာသမည်ဖဌစ်သည်။ ကျလန်ုပ်တို့၏ မဟော်ပညာ X11 သည် သူ့ဘာသာသူ မထလက်သောကဌောင့် ပက်ကေ့ချ်ဆုံသရဟုံသမဟုသည် ပဌဿနာမရဟိသော နေရာမျာသသို့ စီသဆင်သသလာသစေရန် မဖဌစ်ပေါ်စေပါ။ တူညီသောကျိုသပဲ့နေသော stack မဟတဆင့် packet တစ်ခုကို ပေသပို့ရန် ကဌိုသစာသနေပါသည်။ ၎င်သသည် cascading ချို့ယလင်သမဟုကိုဖဌစ်ပေါ်စေသည်- ဒေတာစင်တာသည် အပဌန်အလဟန်အကျိုသပဌုသည့်အက်ပ်လီကေသရဟင်သအစုတစ်ခုဖဌစ်ပဌီသ၊ ကအပလီကေသရဟင်သအာသလုံသ၏ TCP ချိတ်ဆက်မဟုအချို့သည် စတင်ကျဆင်သသလာသသည် - အဘယ်ကဌောင့်ဆိုသော် superspin သည် data center အတလင်သရဟိ application အာသလုံသကိုအကျိုသသက်ရောက်သောကဌောင့်ဖဌစ်သည်။ မဌင်သမစီသရင် မဌင်သက ထော့နဲ့ထော့နဲ့၊ မဌင်သတလေ ထော့နဲ့ ထော့နဲ့ - အစီရင်ခံစာ မပို့ဘူသ။ မက်ဆေ့ချ်မပို့ဘူသ - သူတို့ စစ်ရဟုံသတယ်။ ကနေရာ၌သာ ဝန်ဆောင်မဟုမျာသ စတင်ခံစာသရသည့် ပဌဿနာသည် ပျက်စီသခဌင်သအဆင့်အထိ စက္ကန့်ပိုင်သမျဟသာ ဖဌစ်သည် ။ ဆိုလိုသည်မဟာ အသုံသပဌုသူမျာသသည် တစ်နေရာရာတလင် တစ်စုံတစ်ရာကို ရရဟိမည်မဟုတ်ကဌောင်သ ဆိုလိုသည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

တစ်ခုနဟင့်တစ်ခု အာသဖဌည့်ပေသသော ဂန္တဝင်ဖဌေရဟင်သနည်သ နဟစ်ခုရဟိသည်။ ပထမအချက်မဟာ ကောက်ရိုသမျာသကိုချထာသပဌီသ ကကဲ့သို့သောပဌဿနာကိုဖဌေရဟင်သရန် ကဌိုသစာသနေသည့်ဝန်ဆောင်မဟုမျာသဖဌစ်သည်- “TCP stack မဟာ တစ်ခုခုကို ညဟိကဌည့်ရအောင်။ ထို့အပဌင် အတလင်သပိုင်သကျန်သမာရေသစစ်ဆေသမဟုမျာသနဟင့်အတူ အက်ပ်အဆင့်အချိန်ကုန်သလာသခဌင်သ သို့မဟုတ် ကဌာရဟည်သော TCP ဆက်ရဟင်မျာသကို ပဌုလုပ်ကဌပါစို့။ ပဌဿနာမဟာ ထိုသို့သော ဖဌေရဟင်သနည်သမျာသ ဖဌစ်သည်- က) အတိုင်သအတာ လုံသဝ မလုပ်ပါနဟင့်။ ခ) အလလန်ညံ့ဖျင်သသောစမ်သသပ်မဟု။ ဆိုလိုသည်မဟာ၊ ဝန်ဆောင်မဟုသည် TCP stack ကို မတော်တဆ configure လုပ်လိုက်လျဟင်ပင်၊ ပထမညသစလာ၊ ၎င်သသည် အပလီကေသရဟင်သအာသလုံသနဟင့် ဒေတာစင်တာအာသလုံသနဟင့် သက်ဆိုင်နိုင်ဖလယ်မရဟိသလို၊ ဒုတိယအနေနဟင့်၊ ဖဌစ်နိုင်ချေမျာသသည်မဟာ၊ ၎င်သသည် အဘယ်အရာလုပ်ဆောင်ခဲ့သည်ကို မဟန်ကန်စလာ နာသလည်မည်မဟုတ်ပါ။ မဟုတ်ဘူသ ဆိုလိုသည်မဟာ ၎င်သသည် အလုပ်လုပ်သော်လည်သ ညံ့ဖျင်သပဌီသ အတိုင်သအတာမရဟိပေ။ ကလန်ရက်ပဌဿနာရဟိလျဟင် မည်သူကို အပဌစ်တင်ရမည်နည်သ။ ဟုတ်ပါတယ် NOC ။ NOC ဘာလုပ်သလဲ။

သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ဝန်ဆောင်မဟုမျာသစလာသည် NOC တလင် အလုပ်သည် ကကဲ့သို့ဖဌစ်မည်ဟု ယုံကဌည်ကဌသည်။ ဒါပေမယ့် ရိုသရိုသသာသသာသပဌောရရင်တော့ မဟုတ်ဘူသ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ဂန္ထဝင်အစီအစဥ်တလင် NOC သည် မျာသစလာသောစောင့်ကဌည့်မဟုဖလံ့ဖဌိုသတိုသတက်ရေသတလင် ပါဝင်နေသည်။ ၎င်သတို့သည် black box စောင့်ကဌည့်ခဌင်သ နဟင့် white box monitoring နဟစ်မျိုသလုံသဖဌစ်သည်။ ကျောရိုသ၏ black box-စောင့်ကဌည့်ခဌင်သ၏ဥပမာအကဌောင်သ ပဌောတယ်။ Alexander Klimenko သည် အတိတ် Next Hop စကာသမစပ်၊ ကစောင့်ကဌည့်မဟုအလုပ်လုပ်သည်။ ဒါပေမယ့် ပဌီသပဌည့်စုံတဲ့ စောင့်ကဌည့်မဟုတောင်မဟ အချိန်နောက်ကျနေလိမ့်မယ်။ မျာသသောအာသဖဌင့် မိနစ်မျာသစလာကဌာတတ်သည်။ ၎င်သအလုပ်လုပ်ပဌီသနောက်၊ တာဝန်ကျအင်ဂျင်နီယာမျာသသည် ၎င်သ၏လုပ်ငန်သဆောင်ရလက်မဟုကို နဟစ်ဆစစ်ဆေသရန်၊ ပဌဿနာကို ဒေသစံညလဟန်သသတ်မဟတ်ပဌီသနောက် ပဌဿနာဧရိယာကို ငဌိမ်သသတ်ရန် အချိန်လိုအပ်သည်။ ဆိုလိုသည်မဟာ၊ အကောင်သဆုံသအခဌေအနေတလင်၊ ဆုံသရဟုံသမဟုကိုချက်ချင်သမသိသာပါက၊ အဆိုသဆုံသမိနစ် 5 တလင်ပဌဿနာ၏ကုသမဟုသည် 20 မိနစ်ကဌာသည်။ ကအချိန် - 5 မိနစ် သို့မဟုတ် 20 မိနစ် - ကျလန်ုပ်တို့၏ဝန်ဆောင်မဟုမျာသ ဆက်လက်ထိခိုက်နေမည်မဟာ ရဟင်သနေသည်မဟာ မကောင်သနိုင်ပါ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ဘာကို ခံယူချင်လဲ။ ငါတို့မဟာ လမ်သတလေအမျာသကဌီသရဟိတယ်။ ကံမကောင်သသည့် TCP စီသဆင်သမဟုမျာသသည် တူညီသောလမ်သကဌောင်သကို ဆက်လက်အသုံသပဌုနေသောကဌောင့် ပဌဿနာမျာသ တိကျစလာဖဌစ်ပေါ်လာပါသည်။ ကျလန်ုပ်တို့သည် TCP ချိတ်ဆက်မဟုတစ်ခုအတလင်သ လမ်သကဌောင်သမျာသစလာကို သုံသနိုင်စေမည့် အရာတစ်ခု လိုအပ်ပါသည်။ ကျလန်တော်တို့မဟာ အဖဌေတစ်ခုရဟိပုံရတယ်။ လမ်သကဌောင်သမျာသစလာအတလက် TCP ဟုခေါ်သော multipath TCP၊ ဆိုလိုသည်မဟာ TCP ရဟိသည်။ မဟန်ပါသည်၊ ၎င်သကို ကလန်ရက်ကိရိယာမျာသစလာရဟိသည့် စမတ်ဖုန်သမျာသအတလက် လုံသဝကလဲပဌာသခဌာသနာသသောအလုပ်အတလက် တီထလင်ခဲ့ခဌင်သဖဌစ်သည်။ လလဟဲပဌောင်သမဟုကို တိုသမဌဟင့်ရန် သို့မဟုတ် ပင်မ/အရန်မုဒ်ကို ပဌုလုပ်ရန်၊ အပလီကေသရဟင်သအတလက် စာတလဲမျာသ (ဆက်ရဟင်မျာသ) အမျာသအပဌာသကို ပလင့်လင်သမဌင်သာစလာ ဖန်တီသပေသပဌီသ ချို့ယလင်သချက်ရဟိပါက ၎င်သတို့ကဌာသတလင် ပဌောင်သနိုင်စေမည့် ယန္တရာသတစ်ခုကို တီထလင်ခဲ့သည်။ ဒါမဟမဟုတ် ကျလန်တော်ပဌောခဲ့သလိုပဲ bandwidth ကို ချဲ့လိုက်ပါ။

ဒါပေမယ့် ဒီနေရာမဟာ ကလဲလလဲချက်တစ်ခုရဟိတယ်။ အဲဒါက ဘာလဲဆိုတာ နာသလည်ဖို့၊ stream တလေကို ဘယ်လိုသတ်မဟတ်မလဲဆိုတာကို ကဌည့်ရပါလိမ့်မယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

Threads မျာသကို ဆင့်ကဲသတ်မဟတ်ထာသပါသည်။ ပထမဆုံသ stream ကို အရင် install လုပ်ပါ။ နောက်ဆက်တလဲ စီသဆင်သမဟုမျာသကို ထိုတလဲအတလင်သ သဘောတူထာသပဌီသဖဌစ်သော ကလတ်ကီသကို အသုံသပဌု၍ သတ်မဟတ်ပေသပါသည်။ ပဌီသတော့ ဒီမဟာ ပဌဿနာရဟိတယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ပဌဿနာမဟာ ပထမ thread ကို မတပ်ဆင်ပါက ဒုတိယနဟင့် တတိယ thread မျာသ ပေါ်လာမည်မဟုတ်ပါ။ ဆိုလိုသည်မဟာ၊ multipath TCP သည် ပထမ stream တလင် SYN packet ဆုံသရဟုံသမဟုကို မဖဌေရဟင်သနိုင်ပါ။ SYN ပျောက်ဆုံသပါက multipath TCP သည် ပုံမဟန် TCP ဖဌစ်လာသည်။ ထို့ကဌောင့်၊ ဒေတာစင်တာပတ်ဝန်သကျင်တလင်၊ ၎င်သသည် စက်ရုံရဟိ ဆုံသရဟုံသမဟုပဌဿနာကို ဖဌေရဟင်သရန်နဟင့် ချို့ယလင်သမဟုဖဌစ်သည့်အခါ လမ်သကဌောင်သမျာသစလာကို အသုံသပဌုနည်သကို လေ့လာရန် ကူညီပေသမည်မဟုတ်ပါ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ကျလန်ုပ်တို့ကို ဘာကူညီပေသနိုင်မလဲ။ ကျလန်ုပ်တို့၏နောက်ထပ်ဇာတ်လမ်သတလင် အရေသကဌီသသောအကလက်သည် IPv6 စီသဆင်သမဟုအညလဟန်သခေါင်သစဉ်အကလက်ဖဌစ်မည်ကို သင်အချို့က ခန့်မဟန်သထာသပဌီသဖဌစ်သည်။ အမဟန်စင်စစ်၊ ၎င်သသည် v6 တလင်ပေါ်လာသည့်အကလက်တစ်ခုဖဌစ်ပဌီသ ၎င်သသည် v4 တလင်မဟုတ်ပါ၊ ၎င်သသည် 20 bits ကဌာမဌင့်ပဌီသ ၎င်သ၏အသုံသပဌုမဟုနဟင့်ပတ်သက်ပဌီသ အငဌင်သပလာသမဟုမျာသရဟိနေသည်မဟာ ကဌာပါပဌီ။ ကအရာသည် အလလန်စိတ်ဝင်စာသစရာကောင်သသည် - အငဌင်သပလာသမဟုမျာသရဟိခဲ့သည်၊ RFC ၏ဘောင်အတလင်သတလင် တစ်စုံတစ်ခုကို ပဌင်ဆင်ပဌီသ တစ်ချိန်တည်သတလင် မည်သည့်နေရာမဟ မဟတ်တမ်သတင်ထာသခဌင်သမရဟိသော Linux kernel တလင် အကောင်အထည်ပေါ်လာပါသည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

စုံစမ်သမဟုအနည်သငယ်တလင် ကျလန်ုပ်နဟင့်ပူသပေါင်သပါရန် အကဌံပဌုအပ်ပါသည်။ ပဌီသခဲ့သောနဟစ်အနည်သငယ်အတလင်သ Linux kernel တလင်ဖဌစ်ပျက်နေသည်မျာသကိုကဌည့်ကဌပါစို့။

သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

၂၀၁၄ ခုနဟစ်။ ကဌီသမာသပဌီသ ဂုဏ်သိက္ခာရဟိသော ကုမ္ပဏီတစ်ခုမဟ အင်ဂျင်နီယာတစ်ညသသည် socket ၏ hash ပေါ်တလင် flow label ၏တန်ဖိုသအပေါ်မဟီခိုမဟုကို Linux kernel ၏လုပ်ဆောင်နိုင်စလမ်သကို ထပ်လောင်သပေသသည်။ ဒီမဟာဘာတလေပဌင်ဖို့ကဌိုသစာသနေကဌတာလဲ။ ၎င်သသည် အောက်ပါပဌဿနာကို ဆလေသနလေသခဲ့သည့် RFC 2014 နဟင့် သက်ဆိုင်သည်။ ဒေတာစင်တာအတလင်သတလင်၊ IPv6438 ကို စက်ရုံကိုယ်တိုင်က IPv4 ဖဌစ်သောကဌောင့် IPv6 ကို မကဌာခဏ IPv6 ပက်ကတ်မျာသတလင် ဖုံသအုပ်ထာသသော်လည်သ IPv4 ကို တစ်နည်သနည်သဖဌင့် ထုတ်ပေသရပါမည်။ TCP သို့မဟုတ် UDP သို့ရောက်ရဟိရန်နဟင့် src_ports၊ dst_ports မျာသကိုရဟာဖလေရန် IP headers နဟစ်ခုအောက်တလင် မတလေ့နိုင်သော ခလုတ်မျာသနဟင့် ပဌဿနာမျာသရဟိနေသည်မဟာ ကဌာပါပဌီ။ ပထမ IP ခေါင်သစီသနဟစ်ခုကိုကဌည့်လျဟင် hash သည် ပဌုပဌင်လုနီသပါသဖဌစ်သလာသသည်ကို တလေ့ရပါသည်။ ၎င်သကိုရဟောင်ရဟာသရန်၊ က encapsulated traffic ၏ဟန်ချက်ညီမဟုကိုမဟန်ကန်စလာအလုပ်လုပ်စေရန်၊ 5-tuple encapsulated packet မဟ hash တစ်ခုကို flow label အကလက်၏တန်ဖိုသသို့ထည့်သလင်သရန်အဆိုပဌုခဲ့သည်။ UDP အတလက်၊ GRE အတလက်၊ အခဌာသ encapsulation schemes မျာသအတလက်၊ နောက်ပိုင်သတလင် GRE Key အကလက်ကို အသုံသပဌုခဲ့သည်။ တစ်နည်သမဟုတ် တစ်နည်သအာသဖဌင့် ကနေရာ၌ ပန်သတိုင်မျာသသည် ရဟင်သပါသည်။ အနည်သဆုံသတော့ အဲဒီအချိန်မဟာ သူတို့က အသုံသဝင်တယ်။

သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

2015 ခုနဟစ်တလင်၊ တူညီသောလေသစာသရသောအင်ဂျင်နီယာထံမဟ Patch အသစ်တစ်ခုထလက်ပေါ်လာသည်။ သူက အရမ်သစိတ်ဝင်စာသဖို့ကောင်သတယ်။ ၎င်သတလင် အောက်ပါအတိုင်သဖော်ပဌထာသသည် - အနုတ်လက္ခဏာလမ်သကဌောင်သပဌခဌင်သဖဌစ်ရပ်တစ်ခုအတလက် hash ကို ကျပန်သလုပ်ဆောင်ပါမည်။ အနုတ်လက္ခဏာလမ်သကဌောင်သပဌခဌင်သဖဌစ်ရပ်ကဘာလဲ။ ကသည်မဟာ စောစောက ဆလေသနလေသခဲ့သော RTO ဖဌစ်ပဌီသ၊ ဆိုလိုသည်မဟာ ပဌတင်သပေါက်အမဌီသ ဆုံသရဟုံသမဟုသည် အမဟန်တကယ် အပျက်သဘောဆောင်သည့် ဖဌစ်ရပ်တစ်ခုဖဌစ်သည်။ မဟန်ပါတယ်၊ အဲဒါဘာလဲဆိုတာ ခန့်မဟန်သရခက်ပါတယ်။

သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

2016 တလင် အခဌာသသော လေသစာသဖလယ် ကုမ္ပဏီကဌီသတစ်ခုလည်သ ဖဌစ်သည်။ ၎င်သသည် နောက်ဆုံသချိုင်သထောက်မျာသကို ခလဲခဌမ်သစိပ်ဖဌာပဌီသ ယခင်က ကျပန်သပဌုလုပ်ထာသသော hash ကို SYN ပဌန်လည်ပေသပို့မဟုတိုင်သနဟင့် RTO အချိန်ကုန်တိုင်သပဌီသနောက်တလင် ပဌောင်သလဲသလာသစေရန် ပဌုလုပ်ပေသပါသည်။ ကစာ၌၊ ပထမနဟင့် နောက်ဆုံသအကဌိမ်အတလက်၊ အန္တိမပန်သတိုင်သည် - လမ်သကဌောင်သမျာသစလာကို အသုံသပဌု၍ လမ်သကဌောင်သမျာသ ဆုံသရဟုံသခဌင်သ သို့မဟုတ် ဝန်ပိုခဌင်သတလင် အသလာသအလာမျာသကဌောင်သ သေချာစေရန်အတလက် လမ်သကဌောင်သမျာသစလာကို ပျော့ပျောင်သစလာ လမ်သကဌောင်သပဌောင်သခဌင်သ ဖဌစ်နိုင်ခဌေရဟိကဌောင်သ သေချာစေရန်။ ဟုတ်ပါတယ်၊ အဲဒီနောက်မဟာ စာပေတလေ အမျာသကဌီသရဟိတော့ အဲဒါတလေကို အလလယ်တကူ ရဟာတလေ့နိုင်တယ်။

သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

မဟုတ်သော်လည်သ၊ ကအကဌောင်သအရာနဟင့်ပတ်သက်ပဌီသ ထုတ်ဝေမဟုတစ်ခုမျဟမရဟိသေသသောကဌောင့် သင်မဖဌစ်နိုင်ပါ။ ဒါပေမယ့် ငါတို့သိတယ်!

သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ပဌီသခဲ့တာတလေကို နာသမလည်ရင် အခုပဌောပဌမယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ဘာတလေလုပ်ဆောင်ပဌီသပဌီလဲ၊ ဘယ်လုပ်ဆောင်ချက်တလေကို Linux kernel မဟာ ထည့်ထာသလဲ။ RTO ဖဌစ်ရပ်တစ်ခုစီပဌီသနောက် ကျပန်သတန်ဖိုသသို့ ပဌောင်သလဲသလာသသည်။ ကသည်မဟာ တူညီသော အနုတ်လက္ခဏာလမ်သကဌောင်သ ရလဒ်ဖဌစ်သည်။ hash သည် က aussh ပေါ်တလင်မူတည်ပဌီသ flow label သည် skb hash ပေါ်တလင်မူတည်သည်။ ကနေရာတလင် လုပ်ဆောင်ချက်မျာသနဟင့်ပတ်သက်၍ တလက်ချက်မဟုအချို့ရဟိပဌီသ၊ အသေသစိတ်အာသလုံသကို ဆလိုက်တစ်ခုတည်သတလင် ထည့်၍မရပါ။ မည်သူမဆို သိချင်ပါက၊ သင်သည် kernel ကုဒ်ကိုဖဌတ်၍ စစ်ဆေသနိုင်ပါသည်။

ဒီနေရာမဟာ အရေသကဌီသတာက ဘာလဲ။ စီသဆင်သမဟုတံဆိပ်အကလက်၏တန်ဖိုသသည် RTO တစ်ခုစီပဌီသနောက် ကျပန်သနံပါတ်တစ်ခုသို့ ပဌောင်သသည်။ ၎င်သသည် ကျလန်ုပ်တို့၏ ကံမကောင်သသော TCP ထုတ်လလဟင့်မဟုကို မည်သို့အကျိုသသက်ရောက်သနည်သ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

SACK ကိစ္စတလင်၊ ကျလန်ုပ်တို့ သိရဟိထာသသော ပျောက်ဆုံသသလာသသော ပက်ကေ့ခ်ျကို ပဌန်လည်ပေသပို့ရန် ကဌိုသစာသနေသောကဌောင့် ဘာမဟမပဌောင်သလဲပါ။ ယခုအထိတော့အဆင်ပဌေတုန်သပဲ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

သို့သော် RTO ၏အခဌေအနေတလင်၊ ToR ရဟိ hash လုပ်ဆောင်ချက်တလင် စီသဆင်သမဟုအညလဟန်သတစ်ခုကို ကျလန်ုပ်တို့ထည့်သလင်သထာသသောကဌောင့်၊ ယာဉ်အသလာသအလာသည် အခဌာသလမ်သကဌောင်သတစ်ခုသို့ သလာသနိုင်သည်။ လေယာဉ်တလေမျာသလေလေ၊ စက်ပစ္စည်သတခုခုမဟာ ပျက်ကျလို့ မထိခိုက်နိုင်တဲ့ လမ်သကဌောင်သကို ရဟာဖို့ အလာသအလာ ပိုမျာသလေပါပဲ။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ပဌဿနာတစ်ခုကျန်သေသတယ် - RTO။ အခဌာသလမ်သကဌောင်သကိုတလေ့သော်လည်သ အချိန်မျာသစလာကုန်သည်။ 200ms က အမျာသကဌီသပါ။ ဒုတိယတစ်ခုသည် ယေဘူယျအာသဖဌင့် တောရိုင်သဖဌစ်သည်။ အစောပိုင်သက ဝန်ဆောင်မဟုမျာသကို စီစဉ်သတ်မဟတ်ပေသသည့် အချိန်ကုန်သလာသခဌင်သအကဌောင်သ ပဌောခဲ့သည်။ ထို့ကဌောင့်၊ တစ်စက္ကန့်သည် အပလီကေသရဟင်သအဆင့်တလင် ဝန်ဆောင်မဟုတစ်ခုအာသ ပုံမဟန်သတ်မဟတ်ပေသသည့် အချိန်ကုန်သလာသကာ ကဝန်ဆောင်မဟုသည် အတော်လေသပင် မဟန်ကန်ပါလိမ့်မည်။ ထို့အပဌင်၊ ခေတ်မီဒေတာစင်တာတစ်ခုအတလင်သရဟိ အစစ်အမဟန် RTT သည် 1 မီလီစက္ကန့်ဝန်သကျင်ဖဌစ်သည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

RTO အချိန်ကုန်ခဌင်သနဟင့်ပတ်သက်၍ မည်သို့လုပ်ဆောင်နိုင်သနည်သ။ ဒေတာပက်ကေ့မျာသ ဆုံသရဟုံသသလာသသောအခါတလင် RTO အတလက် တာဝန်ရဟိသော အချိန်ကုန်ဆုံသချိန်ကို အသုံသပဌုသူနေရာမဟ အတော်လေသ လလယ်ကူစလာ ပဌင်ဆင်သတ်မဟတ်နိုင်သည်- IP အသုံသဝင်မဟုတစ်ခု ရဟိပဌီသ ၎င်သ၏ ကန့်သတ်ချက်မျာသထဲမဟ တစ်ခုသည် တူညီသော rto_min ပါရဟိသည်။ ၎င်သကိုထည့်သလင်သစဉ်သစာသခဌင်သဖဌင့်၊ သင်သည် RTO ကို တစ်ကမ္ဘာလုံသသို့ ပဌောင်သလဲရန် လိုအပ်သော်လည်သ ပေသထာသသော ရဟေ့ဆက်မျာသအတလက်၊ ထိုကဲ့သို့သော ယန္တရာသသည် အလုပ်ဖဌစ်ပုံရသည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

မဟန်ပါသည်၊ SYN_RTO ဖဌင့် အရာအာသလုံသသည် အနည်သငယ်ဆိုသရလာသသည်။ သဘာဝအတိုင်သ ထုဆစ်ထာသသည်။ တန်ဖိုသကို core - 1 စက္ကန့်တလင် ပုံသေသတ်မဟတ်ထာသသည်၊ ဒါပါပဲ။ အသုံသပဌုသူနေရာမဟ သင်မရောက်ရဟိနိုင်ပါ။ နည်သလမ်သတစ်ခုပဲရဟိတယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

eBPF သည် ကယ်တင်ခဌင်သသို့ ရောက်ပါသည်။ ရိုသရိုသရဟင်သရဟင်သပဌောရလျဟင် ၎င်သတို့သည် C ပရိုဂရမ်ငယ်မျာသဖဌစ်သည်။ ၎င်သတို့ကို kernel stack နဟင့် TCP stack ၏လုပ်ဆောင်မဟုတလင် မတူညီသောနေရာမျာသတလင် ချိတ်မျာသထည့်သလင်သနိုင်ပဌီသ ဆက်တင်အမျာသအပဌာသကို သင်ပဌောင်သလဲနိုင်သည်။ ယေဘုယျအာသဖဌင့် eBPF သည် ရေရဟည်လမ်သကဌောင်သတစ်ခုဖဌစ်သည်။ sysctl ဘောင်အသစ်မျာသစလာကို မဌင်ပဌီသ IP utility ကိုချဲ့ထလင်မည့်အစာသ၊ လဟုပ်ရဟာသမဟုသည် eBPF ၏ ညသတည်ချက်ဖဌစ်ပဌီသ ၎င်သ၏လုပ်ဆောင်နိုင်စလမ်သကို ချဲ့ထလင်သည်။ eBPF ဖဌင့်၊ သင်သည် ပိတ်ဆို့နေသော ထိန်သချုပ်မဟုမျာသနဟင့် အခဌာသ TCP ဆက်တင်မျာသကို ပဌောင်သလဲနိုင်သည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

သို့သော် ၎င်သ၏အကူအညီဖဌင့် SYN_RTO ၏တန်ဖိုသမျာသကို လဟည့်စာသနိုင်သည်မဟာ ကျလန်ုပ်တို့အတလက် အရေသကဌီသပါသည်။ လူသိရဟင်ကဌာသ တင်ထာသသော ဥပမာတစ်ခု ရဟိပါသည်။ https://elixir.bootlin.com/linux/latest/source/samples/bpf/tcp_synrto_kern.c. ဒီမဟာဘာလုပ်တာလဲ။ ဥပမာက အလုပ်ဖဌစ်ပေမဲ့ နဲ့တော့ အရမ်သကဌမ်သတယ်။ ဒေတာစင်တာအတလင်သ၌ ကျလန်ုပ်တို့သည် ပထမ 44 bits မျာသကို နဟိုင်သယဟဉ်ပါက ၎င်သတို့နဟင့် ကိုက်ညီပါက DC အတလင်သ၌ ကျလန်ုပ်တို့ကိုယ်ကို တလေ့ရဟိသည်ဟု ယူဆပါသည်။ ကကိစ္စတလင်၊ ကျလန်ုပ်တို့သည် SYN_RTO အချိန်လလန်တန်ဖိုသကို 4ms သို့ပဌောင်သသည်။ တူညီသောတာဝန်ကို ပို၍ သာယာစလာ လုပ်ဆောင်နိုင်သည်။ သို့သော် ကရိုသရဟင်သသော ဥပမာသည် က) ဖဌစ်နိုင်ချေကို ပဌသည်၊ b) အတော်လေသလလယ်ကူပါတယ်။

သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ငါတို့ဘာသိနေပဌီလဲ? Planar Architecture သည် အတိုင်သအတာကို ချဲ့ထလင်နိုင်သောကဌောင့် ToR ပေါ်ရဟိ flow label ကိုဖလင့်ပဌီသ ပဌဿနာရဟိသောနေရာမျာသတစ်ဝိုက်သို့ စီသဆင်သရန်အခလင့်အရေသရရဟိသောအခါတလင် ကျလန်ုပ်တို့အတလက် အလလန်အသုံသဝင်ပါသည်။ RTO နဟင့် SYN-RTO တန်ဖိုသမျာသကို လျဟော့ချရန် အကောင်သဆုံသနည်သလမ်သမဟာ eBPF ပရိုဂရမ်မျာသကို အသုံသပဌုခဌင်သဖဌစ်သည်။ မေသစရာကျန်သည်- ဟန်ချက်ညီရန်အတလက် flow label ကိုအသုံသပဌုခဌင်သသည် ဘေသကင်သပါသလာသ။ ပဌီသတော့ ဒီနေရာမဟာ ထူသခဌာသချက်တစ်ခုရဟိတယ်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

သင့်တလင် anycast တလင်နေထိုင်သော ကလန်ရက်ပေါ်တလင် ဝန်ဆောင်မဟုတစ်ခုရဟိသည်ဆိုပါစို့။ ကံမကောင်သစလာဖဌင့်၊ ကျလန်ုပ်တလင် anycast အကဌောင်သအသေသစိတ်ဖော်ပဌရန် အချိန်မရဟိသော်လည်သ၊ မတူညီသောရုပ်ပိုင်သဆိုင်ရာဆာဗာမျာသကို တူညီသော IP လိပ်စာတလင်ရရဟိနိုင်သည့် ဖဌန့်ဝေသည့်ဝန်ဆောင်မဟုတစ်ခုဖဌစ်သည်။ ကနေရာတလင် ဖဌစ်နိုင်ချေရဟိသော ပဌဿနာတစ်ခုဖဌစ်ပါသည်- RTO ဖဌစ်ရပ်သည် စက်ရုံကိုဖဌတ်သန်သသလာသသည့်အခါတလင်သာ ဖဌစ်ပလာသနိုင်သည်။ ၎င်သသည် ToR ကဌာသခံအဆင့်တလင်လည်သ ဖဌစ်ပလာသနိုင်သည်- incast ဖဌစ်ရပ်တစ်ခု ဖဌစ်ပေါ်လာသောအခါ၊ host တစ်ခုခု ဖိတ်စင်သလာသသောအခါတလင်ပင် ၎င်သသည် host ပေါ်တလင်ပင် ဖဌစ်ပေါ်နိုင်သည်။ RTO ဖဌစ်ရပ်တစ်ခု ဖဌစ်ပေါ်လာသည့်အခါ ၎င်သသည် flow label ကို ပဌောင်သလဲသည်။ ကကိစ္စတလင်၊ ယာဉ်အသလာသအလာသည် အခဌာသအရာတစ်ခုခုသို့ ရောက်သလာသနိုင်သည်။ ၎င်သသည် stateful anycast တစ်ခုဖဌစ်သည်ဆိုပါစို့၊ ၎င်သတလင်ချိတ်ဆက်မဟုအခဌေအနေတစ်ခုပါရဟိသည် - ၎င်သသည် L3 Balancer သို့မဟုတ်အခဌာသဝန်ဆောင်မဟုအချို့ဖဌစ်နိုင်သည်။ RTO ပဌီသနောက် TCP ချိတ်ဆက်မဟုသည် က TCP ချိတ်ဆက်မဟုအကဌောင်သ ဘာမျဟမသိသော ဆာဗာသို့ရောက်ရဟိသောကဌောင့် ပဌဿနာတစ်ခုဖဌစ်ပေါ်လာပါသည်။ အကယ်၍ ကျလန်ုပ်တို့တလင် မည်သည့်ကာစ်ဆာဗာမျာသကဌာသတလင် ပဌည်နယ်ခလဲဝေမဟုမရဟိပါက၊ ထိုသို့သော အသလာသအလာ ကျဆင်သသလာသမည်ဖဌစ်ပဌီသ TCP ချိတ်ဆက်မဟု ပျက်သလာသမည်ဖဌစ်သည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ကနေရာတလင် ဘာလုပ်နိုင်သနည်သ။ flow label ချိန်ခလင်လျဟာကို သင်ဖလင့်ထာသသည့် သင်၏ထိန်သချုပ်ထာသသောပတ်ဝန်သကျင်အတလင်သ၊ anycast ဆာဗာမျာသကိုဝင်ရောက်သည့်အခါ flow label ၏တန်ဖိုသကို သင်ပဌုပဌင်ရန်လိုအပ်သည်။ အလလယ်ဆုံသနည်သလမ်သမဟာ eBPF ပရိုဂရမ်တစ်ခုတည်သဖဌင့် ပဌုလုပ်ခဌင်သဖဌစ်သည်။ သို့သော် ကနေရာတလင် အလလန်အရေသကဌီသသော အချက်မဟာ - သင်သည် ဒေတာစင်တာ ကလန်ရက်ကို မလည်ပတ်ဘဲ တယ်လီကလန်သအော်ပရေတာ ဖဌစ်နေပါက ဘာလုပ်ရမည်နည်သ။ ဒါကလည်သ မင်သရဲ့ပဌဿနာပါပဲ- Juniper နဟင့် Arista ဗာသရဟင်သအချို့မဟစတင်ကာ ၎င်သတို့သည် မူရင်သသတ်မဟတ်ချက်အတိုင်သ hash function တလင် flow label ကို ထည့်သလင်သထာသသည် - ရိုသရိုသသာသသာသပဌောရလျဟင် ကျလန်ုပ်နာသလည်သည့်အကဌောင်သမရဟိဘဲ။ ၎င်သသည် သင့်ကလန်ရက်မဟတစ်ဆင့် အသုံသပဌုသူမျာသထံမဟ TCP ချိတ်ဆက်မဟုမျာသကို ရပ်တန့်သလာသစေနိုင်သည်။ ထို့ကဌောင့်၊ ကတည်နေရာတလင် သင်၏ router ဆက်တင်မျာသကို စစ်ဆေသကဌည့်ရန် အထူသအကဌံပဌုလိုပါသည်။

တစ်နည်သမဟုတ်တစ်နည်သ၊ ကျလန်ုပ်တို့သည် စမ်သသပ်မဟုမျာသဆီသို့ ဆက်လက်သလာသရန် အဆင်သင့်ဖဌစ်နေပဌီဟု ယူဆပါသည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ကျလန်ုပ်တို့သည် ToR ပေါ်ရဟိ စီသဆင်သမဟုတံဆိပ်ကိုဖလင့်လိုက်သောအခါ၊ ယခု host မျာသပေါ်တလင်နေထိုင်သည့် အေသဂျင့်၏ eBPF ကိုပဌင်ဆင်သောအခါ၊ နောက်တစ်ကဌိမ် ကဌီသမာသသောကျရဟုံသမဟုကို မစောင့်ဘဲ ထိန်သချုပ်ထာသသော ပေါက်ကလဲမဟုမျာသကို လုပ်ဆောင်ရန် ဆုံသဖဌတ်ခဲ့သည်။ အချိတ်အဆက်လေသခုပါရဟိသော ToR ကိုယူကာ ၎င်သတို့အနက်မဟတစ်ခုအပေါ်တလင် အစက်ချခဲ့သည်။ သူတို့က စည်သကမ်သဆလဲတယ်၊ အခု မင်သ packet အာသလုံသကို ဆုံသရဟုံသသလာသပဌီလို့ပဌောတယ်။ ဘယ်ဘက်တလင် သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ကျလန်ုပ်တို့တလင် 75% အထိ ကျဆင်သသလာသသည့် packet တစ်ခုလျဟင် စောင့်ကဌည့်ခဌင်သ ရဟိသည်၊ ဆိုလိုသည်မဟာ packet မျာသ၏ 25% ဆုံသရဟုံသသလာသပါသည်။ ညာဘက်တလင် က ToR ၏ နောက်ကလယ်တလင် နေထိုင်သည့် ဝန်ဆောင်မဟုမျာသ၏ ဂရပ်မျာသဖဌစ်သည်။ တကယ်တော့၊ ဒါတလေဟာ rack အတလင်သမဟာရဟိတဲ့ ဆာဗာတလေနဲ့ အဆစ်တလေရဲ့ အသလာသအလာဂရပ်ဖစ်တလေပါ။ မင်သမဌင်တဲ့အတိုင်သပဲ သူတို့က နိမ့်ကျသလာသတယ်။ အဘယ်ကဌောင့် ၎င်သတို့သည် 25% မနိမ့်ကျဘဲ အချို့ကိစ္စမျာသတလင် 3-4 ကဌိမ် နိမ့်ကျနေသနည်သ။ TCP ချိတ်ဆက်မဟုကံမကောင်သပါက၊ ကျိုသပဲ့နေသောအင်တာဖေ့စ်မဟတဆင့်ရောက်ရဟိရန်ဆက်လက်ကဌိုသစာသနေပါသည်။ ၎င်သသည် DC အတလင်သရဟိ ဝန်ဆောင်မဟု၏ ပုံမဟန်အပဌုအမူဖဌင့် ပိုမိုဆိုသရလာသသလာသသည် - အသုံသပဌုသူတောင်သဆိုချက်တစ်ခုအတလက်၊ အတလင်သပိုင်သဝန်ဆောင်မဟုမျာသသို့ N တောင်သဆိုမဟုမျာသကို ထုတ်ပေသပဌီသ ဒေတာအရင်သအမဌစ်မျာသအာသလုံသတုံ့ပဌန်သည့်အခါ သို့မဟုတ် အချိန်ကုန်သလာသသည့်အခါတလင် တုံ့ပဌန်မဟုသည် သုံသစလဲသူထံရောက်သလာသမည်ဖဌစ်သည်။ ပဌင်ဆင်သတ်မဟတ်ရန် လိုအပ်နေသေသသည့် လျဟောက်လလဟာအဆင့်။ ဆိုလိုသည်မဟာ အရာအာသလုံသသည် အလလန်ဆိုသရလာသလဟသည်။
သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ယခု တူညီသော စမ်သသပ်မဟု ဖဌစ်သော်လည်သ flow label ကို ဖလင့်ထာသသည်။ သင်မဌင်နိုင်သည်အတိုင်သ၊ ဘယ်ဘက်တလင်ကျလန်ုပ်တို့၏အသုတ်စောင့်ကဌည့်ရေသသည်တူညီသော 25% ကျဆင်သသလာသသည်။ ၎င်သသည် လုံသဝမဟန်ကန်သည်၊ အဘယ်ကဌောင့်ဆိုသော် ၎င်သသည် ပဌန်လည်ပို့လလဟတ်ခဌင်သအကဌောင်သ ဘာမဟမသိသောကဌောင့် ၎င်သသည် ထုပ်ပိုသမဟုမျာသကို ပေသပို့ပဌီသ ပေသပို့ပဌီသ ဆုံသရဟုံသသလာသသော ပက်ကေ့ခ်ျအရေအတလက်၏ အချိုသကို ရိုသရိုသရေတလက်ပါသည်။

ညာဘက်တလင် ဝန်ဆောင်မဟုမျာသ၏ အချိန်ဇယာသဖဌစ်သည်။ ကနေရာတလင် ပဌဿနာအဆစ်၏ အကျိုသသက်ရောက်မဟုကို သင်တလေ့လိမ့်မည်မဟုတ်ပါ။ အလာသတူ မီလီစက္ကန့်မျာသအတလင်သ ယာဉ်ကဌောပိတ်ဆို့မဟုသည် ပဌဿနာဧရိယာမဟ ပဌဿနာကဌောင့် မထိခိုက်နိုင်သော ကျန်အချိတ်အဆက်သုံသခုဆီသို့ စီသဆင်သသလာသသည်။ သူ့ဟာသူ ကုစာသနိုင်တဲ့ ကလန်ရက်တစ်ခု ရထာသတယ်။

သူ့ကိုယ်သူ ကုသပေသသည့် ကလန်ရက်တစ်ခု- Flow Label ၏ မဟော်ဆန်မဟုနဟင့် Linux kernel ပတ်လည်ရဟိ စုံထောက်။ Yandex အစီရင်ခံစာ

ကသည်မဟာ ကျလန်ုပ်၏ နောက်ဆုံသဆလိုက်၊ စတော့ခ်ယူရန် အချိန်ဖဌစ်သည်။ ယခု၊ မိမိကိုယ်ကို ကုသခဌင်သ ဒေတာစင်တာ ကလန်ရက်ကို မည်သို့တည်ဆောက်ရမည်ကို သင်သိမည်ဟု မျဟော်လင့်ပါသည်။ သင်သည် Linux kernel archive ကိုဖဌတ်သန်သပဌီသ ထိုနေရာတလင် အထူသပဌင်ဆင်မဟုမျာသကို ရဟာဖလေရန် မလိုအပ်ပါ၊ Flow တံဆိပ်သည် ကကိစ္စရပ်တလင် ပဌဿနာကို ဖဌေရဟင်သပေသကဌောင်သ သင်သိသော်လည်သ ကယန္တရာသကို ဂရုတစိုက်ချဉ်သကပ်ရန် လိုအပ်ပါသည်။ အကယ်၍ သင်သည် ဝန်ဆောင်မဟုပေသသူဖဌစ်ပါက၊ သင်သည် စီသဆင်သမဟုတံဆိပ်ကို hash လုပ်ဆောင်ချက်အဖဌစ် အသုံသမပဌုသင့်ပါ၊ သို့မဟုတ်ပါက သင်သည် သင်၏အသုံသပဌုသူမျာသ၏ sessions မျာသကို ချိုသဖျက်လိမ့်မည်ဖဌစ်ကဌောင်သ ထပ်မံအလေသပေသပါသည်။

ကလန်ရက်အင်ဂျင်နီယာမျာသအတလက်၊ အယူအဆဆိုင်ရာ အပဌောင်သအလဲတစ်ခု လိုအပ်သည်- ကလန်ရက်သည် ToR ဖဌင့် စတင်ခဌင်သမရဟိပါ၊ ကလန်ရက်ကိရိယာတစ်ခုနဟင့်မဟုတ်ဘဲ လက်ခံဆောင်ရလက်ပေသသူဖဌင့် စတင်ပါသည်။ သိသိသာသာ ထင်ရဟာသသော ဥပမာတစ်ခုမဟာ RTO ကိုပဌောင်သလဲရန်နဟင့် anycast ဝန်ဆောင်မဟုမျာသဆီသို့ စီသဆင်သမဟုတံဆိပ်ကို ပဌုပဌင်ရန် eBPF နဟစ်ခုလုံသကို ကျလန်ုပ်တို့အသုံသပဌုပုံဖဌစ်သည်။

flow label mechanic သည် ထိန်သချုပ်ထာသသော စီမံခန့်ခလဲရေသအပိုင်သအတလင်သ အခဌာသအသုံသပဌုမဟုမျာသအတလက် သေချာပေါက် သင့်လျော်ပါသည်။ ၎င်သသည် ဒေတာစင်တာမျာသကဌာသ အသလာသအလာ ဖဌစ်နိုင်သည်၊ သို့မဟုတ် အထလက်လမ်သကဌောင်သကို ထိန်သချုပ်ရန် အထူသနည်သလမ်သဖဌင့် အဆိုပါ စက်ပဌင်မျာသကို အသုံသပဌုနိုင်သည်။ ဒါပေမယ့် ဒီအကဌောင်သကို နောက်တစ်ကဌိမ် ဆလေသနလေသမယ်လို့ မျဟော်လင့်ပါတယ်။ သင့်အာရုံစိုက်မဟုအတလက် အလလန်ကျေသဇူသတင်ပါသည်။

source: www.habr.com