Den Tunnel fällt aus, de Kill switch gräift an, an en Download, deen zu dräi Véierel fäerdeg war, entweder fréiert oder schléit direkt fehl. Déi zwou Resultater komme vun ënnerschiddlechen Entscheidungen an der Ëmsetzung, net vun ënnerschiddlechen Niveauen u Schutz. E verworfene Pak léisst d’Verbindung waarden, während en ofgeleente Pak se zoumécht an d’Applikatioun informéiert. Ze entscheeden, wéi eng Verhalen Dir wëllt, ass eng Designfro, an et ze testen ass eng separat Übung.

Verwerfen, Ofleenen an Zerécksetzen sinn ënnerschiddlech

Eng Firewall-Reeg, déi Traffic verwërft, verwerft de Pak an schéckt näischt zréck, dofir schéckt de Sender no sengen eegenen Timer nach ëmmer erëm. Eng Reeg, déi mat engem TCP Reset ofleent, mécht d’Verbindung direkt zou an d’Applikatioun gesäit e Feeler. Déi meescht Kill switche verwerfen, well eng Oflehnung d’Politik verroden hätt an well Verwerfen ähnlech wéi e doudegt Netz ausgesäit.

Blockéieren ass net d’selwecht wéi de Socket zoumaachen. D’Applikatioun hält nach ëmmer en Deskriptor an engem etabléierten Zoustand, an et feelen nëmmen d’Paken. Dofir kann eng Säit Minutte laang op engem Spinner sëtzen, während d’Betribssystem drop behaart, datt d’Verbindung existéiert. Liest déi dokumentéiert Ëmsetzung, amplaz se aus der Noriicht vun der Applikatioun ofzeleeden, well béid Verhalen ausgesäit wéi en Netz, deen ausgefale ass.

Wat d’Applikatioun mécht, während de Lach dauert

TCP schéckt mat wuessenden Verzögerungen erëm, an de Standard-Retry-Budget vu Linux leeft no ongeféier enger Véierelstonn of, net a Sekonnen. Bis dohinner ass de Socket weder nëtzlech op nach zou. Applikatioune mat hiren eegenen Keepalives oder Ufro-Zäitlimite ginn dacks méi fréi op, dofir behuele sech zwee Programmer op der selwechter Maschinn während engem Ausfall ënnerschiddlech.

Wann den Tunnel zréckkënnt, ass de lokale Socket onverännert, awer de Wee vläicht net. Eng nei ëffentlech Quelladress produzéiert e aneren Véier-Tupel um Server, dofir passt eng zoustänneg Firewall op der anerer Säit net méi mat der Sessioun. D’Verbindung ass dout, obwuel de Client ni e Feeler gesinn huet.

Entscheet, ob eng Erhuelung néideg ass

Wielt tëscht zwee Kontrakter. Entweder muss d’Sessioun e kuerzt Lach iwwerliewe, wat stabil Adresséierung an e Server brauch, deen säin Zoustand hält, oder d’Applikatioun muss sech propper nei verbannen, wat Retry-Logik brauch, déi sécher ze widderhuele ass. Alles dertëscht produzéiert dat schlëmmst Resultat: e Client, dee schéckt, wat de Server schonn ageschriwwen huet, oder ee, dee Succès fir eng Sessioun mellt, déi keen ze gesi kritt.

Stabil Adresséierung ass deen Deel, deen d’Leit vergiessen, well eng Neiverbindung, déi op enger anerer ëffentlecher Adress landt, de Serverzoustand ongülteg mécht, och wann de Client-Socket gesond ausgesäit. Schreift op, wéi ee vun den zwee Kontrakter op all Applikatioun zoutrëfft, well se seelen all zesummen passen.

Préift d’Blockéierung an d’Erhuelung getrennt

Betracht Leck-Schutz an d’Iwwerliewe vun der Sessioun als zwee Propriétéiten, well een ze bestoen näischt iwwer deen aneren seet. Eng Sessioun, déi iwwerlieft, ass kee Beweis, datt direkten Traffic blockéiert gouf, an eng Sessioun, déi stierft, ass kee Beweis, datt all direkte Wee blockéiert gouf.

ss -tnp state established '( dport = :443 )'
sudo conntrack -L -p tcp --dport 443
sudo tcpdump -ni any 'tcp port 443 and tcp[tcpflags] & tcp-syn != 0'

Benotzt eng harmlos Testoperatioun, wann Dir d’Erhuelung observéiert, sou datt eng duebel Soumissioun net den Incident gëtt. Schreift de Feeler-Modus op, deen Dir tatsächlech gesinn hutt: wat d’Applikatioun gewisen huet, ob de Socket iwwerlieft huet a wéini se sech vun selwer erholl huet.

Schreift dat erwaart Verhalen nieft d’Ëmsetzungsreegel a datéiert et. Déi nächst Persoun, déi déi Reeg ännert, muss wëssen, wéi ee vun den zwee Kontrakter d’Deployment versprach huet.

Ähnlech Artikelen