Marka Linux conntrack hadda ma aha saaxiibkaa

Marka Linux conntrack hadda ma aha saaxiibkaa

Raadinta isku xirka ("conntrack") waa astaanta udub dhexaadka u ah xirmada isku xirka kernel-ka. Waxay u ogolaataa kernel-ku inuu la socdo dhammaan isku xirka shabakadaha macquulka ah ama qulqulka oo uu ku aqoonsado dhammaan baakadaha ka kooban socodka kasta si si isku xigta loogu habeeyo.

Conntrack waa sifo kernel muhiim ah oo loo isticmaalo xaaladaha aasaasiga ah qaarkood:

  • NAT waxay ku tiirsan tahay macluumaadka laga helayo conntrack si ay si siman ula dhaqanto dhammaan baakadaha ka yimid isla qulqulka. Tusaale ahaan, marka boodhku galo adeega Kubernetes, kube-proxy load balancer wuxuu isticmaalaa NAT si uu u hago taraafikada meel gaar ah oo kutlada dhexdeeda ah. Conntrack wuxuu diiwaangeliyaa in xiriirka la bixiyay, dhammaan xirmooyinka adeegga IP-ga waa in loo soo diraa isla boodh isku mid ah, iyo baakooyinka ay soo celiyaan boodhka dambe waa in dib loogu celiyaa sanduuqii uu codsigu ka yimid.
  • Dab-damis dawladeed sida Calico waxay ku tiirsan yihiin macluumaadka laga bilaabo Connecttrack ilaa taraafikada "jawaabta" ee liiska cad-cad. Tani waxay kuu ogolaanaysaa inaad qorto siyaasad shabakad oo leh "u ogolow boodhkaygu inuu ku xidho ciwaan kasta oo IP ah" adoon qorin siyaasad si cad loogu oggolaado taraafikada jawaabta. (Tani la'aanteed, waa inaad ku darto mid aad u yar oo ammaan ah "u oggolow baakadaha boodhkayga qawaaniinta IP kasta".)

Intaa waxaa dheer, conntrack caadi ahaan waxay hagaajisaa waxqabadka nidaamka (iyadoo la dhimayo isticmaalka CPU iyo daahitaanka xirmada) tan iyo kaliya baakidhka ugu horreeya ee qulqulka.
waa in la dhex maro dhammaan xirmooyinka shabakadda si loo go'aamiyo waxa lagu samaynayo. Fiiri qoraalka"Isbarbardhigga hababka kube-wakiilka" si aad u aragto tusaale sida ay u shaqeyso.

Si kastaba ha ahaatee, contrack waxay leedahay xaddidaadkeeda ...

Haddaba halkee ka khaldameen?

Jadwalka kontrack wuxuu leeyahay cabbirka ugu sarreeya ee la habeyn karo, oo haddii uu buuxsamo, isku xirnaanta badanaa waxay bilaabaan in la diido ama la tuuro. Waxaa jira meel banaan oo ku filan miiska si loo maareeyo taraafikada codsiyada badankooda, tani weligeed dhib ma noqon doonto. Si kastaba ha ahaatee, waxaa jira dhowr xaaladood oo laga yaabo inaad rabto inaad ka fikirto isticmaalka miiska ka hortagga:

  • Arrinka ugu cad ayaa ah haddii server-kaagu uu gacanta ku hayo tiro aad u badan oo iskuxiran oo firfircoon. Tusaale ahaan, haddii miiskaaga conntrack loo habeeyey gelinta 128k, laakiin aad leedahay> 128k isku xidhka isku xidhan, hubaal waxaad la kulmi doontaa dhibaato!
  • Kiis yar oo cad: haddii server-kaagu uu socodsiiyo tiro aad u badan oo isku xidh ah ilbiriqsikiiba. Xataa haddii xidhiidhadu yihiin kuwo cimri gaaban, waxa ay sii wadaan in ay Linux la socdaan muddo wakhti ah (120s sida caadiga ah). Tusaale ahaan, haddii miiskaaga conntrack loo habeeyey 128k entries oo aad isku dayayso inaad xakamayso 1100 xidhiidhada ilbiriqsi kasta, waxay dhaafi doonaan cabbirka miiska conntrack, xitaa haddii xiriiryadu ay yihiin kuwo aad u gaaban (128k / 120s = 1092 Connections/ s).

Waxaa jira dhowr nooc oo apps ah oo ku dhaca qaybahan. Intaa waxaa dheer, haddii aad leedahay jilayaal badan oo xun, buuxinta miiska conntrack server-kaaga oo leh xiriiro badan oo kala badh furan ayaa loo isticmaali karaa qayb ka mid ah diidmada adeegga (DOS). Labada xaaladoodba, contrack waxay ku noqon kartaa xannibaad xaddidan nidaamkaaga. Xaaladaha qaarkood, hagaajinta jaangooyooyinka miiska qandaraaska ayaa laga yaabaa inay ku filnaato si loo daboolo baahiyahaaga - adoo kordhinaya cabbirka ama yareynaya waqtiyada xannibaadda (laakiin haddii aad qalad sameyso, waxaad la kulmi doontaa dhibaato badan). Kiisaska kale waxa ay noqon doontaa lagama maarmaan in laga gudbo kontoroolada gardarrada.

Tusaalaha dhabta ah

Aan bixino tusaale gaar ah: mid ka mid ah bixiye SaaS weyn oo aan la shaqeynay ayaa lahaa tiro ka mid ah server-yada memcached ee martida loo yahay (maaha mashiinnada farsamada), kuwaas oo mid kastaa ka baaraandegay 50K + isku xirka muddada-gaaban ilbiriqsi kasta.

Waxay tijaabiyeen qaabeynta kontrack, kordhinta cabbirrada miiska iyo yaraynta waqtiga raadraaca, laakiin qaabeynta ayaa ahayd mid aan la isku halleyn karin, isticmaalka RAM aad ayuu u kordhay, taas oo ahayd dhibaato (marka loo eego GBytes!) Samee faa'iidada waxqabadka caadiga ah (latency CPU ama xirmada isticmaalka oo yaraaday).

Waxay u jeesteen Calico beddelkeeda. Xeerarka shabakada Calico waxay kuu oggolaanayaan inaadan isticmaalin kontrack noocyada taraafikada qaarkood (adoo isticmaalaya doorashada siyaasadda doNotTrack). Tani waxay siisay heerka waxqabad ee ay u baahan yihiin, oo lagu daray heerka ammaan ee ay bixisay Calico.

Muddo intee le'eg ayaad qaadan doontaa si aad uga gudubto heshiiska?

  • Siyaasadaha shabakadaha-ha-la socon waa inay guud ahaan noqdaan kuwo siman. Xaaladda bixiyaha SaaS: codsiyadoodu waxay ku socdeen gudaha aagga la ilaaliyo, sidaas darteed, iyagoo isticmaalaya siyaasadda shabakadda, waxay caddayn karaan taraafikada codsiyada kale ee gaarka ah ee loo oggolaaday inay galaan memcached.
  • Siyaasadda ha-raacin ma tixgalinayso jihada isku xidhka. Sidaa darteed, haddii server-ka memcached la jabsado, waxaad aragti ahaan isku dayi kartaa inaad ku xidho mid ka mid ah macaamiisha memcached, ilaa iyo inta uu isticmaalo dekedda isha saxda ah. Si kastaba ha ahaatee, haddii aad si sax ah u qeexday siyaasadda shabakadda ee macaamiishaada kaydsan, markaa isku dayga xidhiidhkan weli waa la diidi doonaa dhinaca macmiilka.
  • Siyaasada aan la socon waxa lagu dabaqaa baakidh kasta, si ka duwan siyaasadaha caadiga ah, kuwaas oo lagu dabaqo kaliya baakidhka ugu horeeya ee socodka. Tani waxay kordhin kartaa isticmaalka CPU ee xirmo kasta sababtoo ah siyaasadda waa in lagu dabaqaa xirmo kasta. Laakin isku xirka mudada gaaban, kharashkan waxaa dheeli tiran hoos u dhigida isticmaalka kheyraadka ee ka baaraandegida contrack. Tusaale ahaan, marka la eego bixiyaha SaaS, tirada xirmooyinka xiriir kasta aad bay u yarayd, sidaas darteed isticmaalka dheeraadka ah ee CPU marka la adeegsanaayo siyaasadaha xirmo kasta waa la caddeeyey.

Aan bilowno tijaabada

Waxa aanu ku wadnay tijaabada hal boodh oo ay ku jiraan server memcached ah iyo xidhmo badan oo macmiil ah oo xidhxidhan oo ku shaqaynaya noodhka fog si aanu u wadno xidhiidho tiro badan ilbiriqsigiiba. Server-ka leh sanduuqa kaydka ee memcached waxa uu lahaa 8 cores iyo 512k gelis shaxda conntrack (heerka miiska la habeeyey ee martida loo yahay).
Waxaan cabbirnay farqiga waxqabad ee u dhexeeya: siyaasad shabakad la'aan; oo leh siyaasad Calico joogto ah; iyo siyaasadda Calico ha-raacin.

Tijaabada koowaad, waxaanu dejinnay tirada isku xidhka 4.000 ilbiriqsikii, si aanu diirada u saarno farqiga u dhexeeya isticmaalka CPU. Ma jirin farqi weyn oo u dhexeeya siyaasad la'aan iyo siyaasad caadi ah, laakiin ha la socon korodhka isticmaalka CPU qiyaastii 20%:

Marka Linux conntrack hadda ma aha saaxiibkaa

Tijaabadii labaad, waxa aanu bilownay inta xidhiidh ee macaamiisheena ay dhalin karaan oo aanu cabbirnay tirada ugu badan ee isku xidhka ilbidhiqsikii ee serfarkayada kaydsan uu xamili karo. Sidii la filayey, kiisaska "siyaasad la'aan" iyo "siyaasad caadi ah" labaduba waxay gaadheen xadka ka badan 4,000 oo xidhiidh ilbiriqsikii (512k/120s = 4,369 links/s). Siyaasad la-socod la'aan, macaamiisheena waxay soo direen 60,000 iskuxir ilbiriqsi kasta dhib la'aan. Waxaan hubnaa inaan kordhin karno lambarkan annagoo ku daraya macaamiil badan, laakiin waxaan dareensanahay in tirooyinkani ay durbaba ku filan yihiin inay muujiyaan dulucda maqaalkan!

Marka Linux conntrack hadda ma aha saaxiibkaa

gunaanad

Conntrack waa muuqaal kernel muhiim ah. Shaqadiisa si fiican ayuu u gutaa. Inta badan waxaa isticmaala qaybaha nidaamka muhiimka ah. Si kastaba ha ahaatee, xaaladaha qaarkood ee gaarka ah, ciriiriga ka dhasha isdhaafsiga ayaa ka miisaan badan faa'iidooyinka caadiga ah ee ay bixiso. Xaaladdan, siyaasadaha shabakada Calico waxaa loo isticmaali karaa in si door ah loo joojiyo isticmaalka contrack iyada oo la kordhinayo amniga shabakada. Dhammaan taraafikada kale, xiriirku wuxuu sii ahaanayaa saaxiibkaa!

Sidoo kale akhri maqaallo kale oo ku jira blog-keena:

Source: www.habr.com

Add a comment