“Ipadala ang malalaking download sa paligid ng VPN at panatilihin ang maliliit na tugon dito” ay parang patakaran sa routing, at hindi ito. Nagpapasya ang router gamit ang impormasyong available sa sandaling iyon: mga address, port, protocol, marka ng firewall, isang natukoy na daloy. Ang huling laki ng tugon ay wala sa set na iyon, dahil hindi pa ito dumarating, at sa oras na masukat ng router ang mga byte, dinadala na niya ang mga ito. Kung gusto mong gabayan ayon sa gawain, kailangang lumipat ang desisyon sa puntong nakakaalam ng gawain, at ipinapakita ng checklist sa ibaba kung may ganoong punto ang disenyo mo.

Bakit hindi masusukat ng router ang isang tugon

Sa sandaling kailangan ng isang packet ng ruta, nakita ng router ang pinakamaraming unang ilang packet ng isang daloy. Masasabi niya kung sino ang kausap ng sino, sa anong protocol, may anong marka, at ilang byte na ang naipasa hanggang ngayon. Ang mga byte hanggang ngayon ay naglalarawan ng nakaraan. Ang laki ng tugon ay katangian ng isang tugon na hindi pa nabuo, at sa mga tugon na hinati o streaming, maaaring hindi ito kailanman malalaman nang maaga.

Kahit ang metadata ng protocol mismo ay mas mahina kaysa sa itsura nito. Pinapayagan ng HTTP ang mga tugon na ang haba ay hindi inihayag bago ang katawan, at ang isang aksyon ng user ay makakabuo ng maraming kahilingan na ang pinagsamang gastos ay hindi katulad ng anumang halaga ng header. Ang ituring na laki ng gawain ang isang header ay error sa pagmomodelo bago maging error sa routing.

Pagsusuri 1: may punto ba ng desisyon na makapipili ng landas?

Pangalanan ang component na gagawa ng pagpili, at pagkatapos ay pangalanan kung ano ang alam nito sa sandali ng pagpili. Ang updater na kumukuha mula sa dokumentadong set ng host ay alam ang layunin nito bago magsimula ang paglilipat. Ang serbisyo ng download na sumusuri ng metadata at pagkatapos ay nagbubukas ng kahilingan ay alam ang gawain bago pa man umiral ang koneksyon. Ang nakikipagtulungang proxy ay makakapagpatupad ng patakaran sa antas ng kahilingan o mag-cache ng tugon nang hindi nagpapanggap na router.

Kung ang sagot ay “gateway”, nabigo na ang checklist. Ang gateway ay maaaring mag-uri ng mga kilalang daloy ayon sa destinasyon, marka, o segment ng kliyente at ipadala ang mga ito sa tinukoy na landas mula sa unang packet, na kadalasang sapat para sa aprubadong updater at hindi kailanman sapat para sa hindi kilalang laki ng tugon.

Pagsusuri 2: ano ba talaga ang sinasabi ng metadata?

Ang paggabay na may kamalayan sa aplikasyon ay kasing ganda lamang ng mga field na binabasa nito. Ang mga tuntunin sa haba ng tugon sa ang semantika ng HTTP ay nagpapahintulot ng mga kaso kung saan ang haba ay hindi available sa simula, at ginagawa ng mga content encoding na iba ang bilang ng naipasang byte sa laki ng representasyon kahit ano pa. Kaya ang patakarang nagbabago ng landas kapag tumawid ang header sa isang threshold ay mag-uugali nang hindi pare-pareho, at madalas ay sa mismong malalaking paglilipat na dapat nitong mahuli.

Ang maaaring suportahan ng metadata ng aplikasyon ay isang desisyon tungkol sa isang gawain: ang workflow na ito ay bulk sync, ito ay interactive, ito ay update ng software mula sa kilalang pinagmulan. Iyon ay patakarang nakasulat sa mga termino ng intensyon, at sapat ang katatagan upang masubukan. “Ang tugon na ito ay mas malaki sa apatnapung megabyte” ay hindi ganoong patakaran.

Pagsusuri 3: umiiral na ba ang daloy?

Maaaring magbago ang routing para sa isang daloy nang hindi nagbabago ang pagkakakilanlan ng koneksyon, at ang pagkakaibang iyon ay sulit panatilihing malinaw. Ang koneksyon ng TCP ay nakikilala sa pamamagitan ng mga address at port ng mga dulo nito, at ang mga packet ay maaaring tumahak ng ibang landas kung magbago ang routing table sa ilalim nila. Ang hindi maaaring magbago nang hindi nakikita ay ang estado ng translation ng network address: ang paglipat ng trapiko sa ibang labasan ay karaniwang nagbabago ng pampublikong source tuple, at makikita ng malayong dulo ang ibang kapareha na walang tugmang estado.

conntrack -L -p tcp --dport 443 | head -5
ip route get 203.0.113.10
ss -tn state established dst 203.0.113.10

Kaya ang praktikal na tuntunin ay ang paglipat sa gitna ng koneksyon mula sa isang labasan patungo sa isa pa ay bagong ugnayan, hindi migrasyon. Kung hinihiling ng disenyo na magpatuloy ang parehong koneksyon, ang desisyon ay kailangang gawin bago ang unang SYN, at walang patakaran sa packet na idinagdag mamaya ang makakabuo muli nito nang malinis.

Pagsusuri 4: ang tunay na pangangailangan ba ay latency, hindi labasan?

Napakaraming kahilingang “ipadala ang bulk traffic sa ibang lugar” ay talagang mga reklamong ang malaking paglilipat ay nagpapabagal ng pakiramdam sa interactive na trabaho. Iyon ay problema sa pag-iiskedyul, at may sagot ito sa pag-iiskedyul: ang patas na pila o sinusuportahang patakaran sa bandwidth sa umiiral na landas ay pumipigil sa isang bulk flow na gutumin ang isang mensahe sa chat nang hindi ginagalaw ang alinman sa dalawa.

tc qdisc replace dev eth0 root cake bandwidth 100mbit

Ang pagtugon sa sintomas sa ganitong paraan ay nagpapanatili sa desisyon sa labasan kung saan ito inilagay ng patakaran sa seguridad, at nababalik ito sa isang utos. Ang pagbabago ng labasan para sa isang buong klase ng trapiko ay pagbabago ng patakaran na may mga kahihinatnan sa authentication, pag-log, at mga tuntunin sa pag-access, kaya hindi ito dapat ang unang tool sa reklamo tungkol sa latency.

Kung ang pangangailangan ay tunay na ibang labasan sa internet, sabihin ito sa mga salitang iyon at ipatupad ito sa sinusuportahang hangganan: bagong koneksyon mula sa aprubadong workflow, o aplikasyong nagbubukas ng sariling kahilingan sa pamamagitan ng piniling labasan. Pagkatapos ay itala kung aling mga gawain ang gumagamit ng aling labasan, upang hindi kailangang hulaan ito ng susunod na tao mula sa routing table.

Panatilihin ang checklist sa talaan ng pagbabago: ang punto ng desisyon, ang field o gawain na nagtutulak dito, kung umiiral na ang daloy, at kung ang sinukat na sintomas ay latency o labasan. Apat na tanong, at ang patakarang sumasagot sa lahat ng apat ay isang patakarang maaari mong patakbuhin sa halip na ipagtanggol.

Kaugnay na mga artikulo