„Schéck déi grouss Downloads laanscht d'VPN an hal déi kleng Äntwerten drop“ kléngt wéi eng Routingpolitik, an ass et net. En Router entscheet mat Informatiounen déi an deem Moment verfügbar sinn: Adressen, Porten, Protokoll, Firewall-Marken, en identifizéierte Floss. D'Endgréisst vun enger Äntwert ass net an deem Set, well se nach net ukomm ass, a bis de Router d'Byten kéint moossen, transportéiert en se schonn. Wann Dir no Aufgab steiere wëllt, muss d'Entscheedung op e Punkt réckelen deen d'Aufgab kennt, an d'Checklëscht hei ënnen weist ob Ären Design esou e Punkt huet.

Firwat en Router eng Äntwert net ka moossen

An deem Moment wou e Paket eng Route brauch, huet de Router héchstens déi éischt puer Pakete vun engem Floss gesinn. En kann soen wien mat wiem schwätzt, iwwer wéi ee Protokoll, mat wéi enger Mark, a wéi vill Byten bis elo duerchgaange sinn. Byten bis elo beschreiwen d'Vergaangenheet. D'Gréisst vun der Äntwert ass eng Eegenschaft vun enger Äntwert déi nach net entstanen ass, a bei gedeelten oder Streaming-Äntwerten ass se vläicht ni viraus bekannt.

Och d'Metadate vum Protokoll selwer si méi schwaach wéi se schéngen. HTTP erlaabt Äntwerten deenen hir Längt net virum Kierper ugekënnegt gëtt, an eng eenzeg Benotzeraktioun kann vill Ufroe produzéieren deenen hir Gesamtkäschten kenger eenzeger Header-Wäert gläicht. En Header als Gréisst vun enger Aufgab ze behandelen ass e Modelléierungsfeeler éier en e Routingfeeler ass.

Kontroll 1: gëtt et en Entscheedungspunkt dee en Wee ka wielen?

Nennt de Komponent deen d'Wiel mécht, an dann nennt wat se am Moment vun der Wiel weess. En Update dee vun engem dokumentéierte Set Hosts sicht weess säin Zweck éier den Transfer ufänkt. En Download-Service deen Metadaten consultéiert an dann d'Ufro opmécht weess d'Aufgab éier d'Verbindung existéiert. En kooperéierende proxy kann eng Politik op Ufroniveau uwenden oder d'Äntwert cache wéi wann en kee Router wier.

Wann d'Äntwert „d'Gateway“ ass, ass d'Checklëscht schonn duerchgefall. En Gateway kann bekannt Flëss no Destinatioun, Mark oder Clientssegment klassifizéieren an se vum éischte Paket un iwwer en definéierte Wee schécken, wat dacks genuch ass fir en approuvéierten Update an ni genuch fir eng onbekannt Äntwertgréisst.

Kontroll 2: wat soen d'Metadaten Iech wierklech?

Applikatiounsbewosst Steierung ass just esou gutt wéi d'Felder déi se liest. D'Regelen iwwer d'Äntwertlängt an d'Semantik vun HTTP erlaben Fäll wou d'Längt am Ufank net verfügbar ass, an Inhaltkodéierungen maachen d'Zuel vun den iwwerdroenen Byten ëmmer anescht wéi d'Gréisst vun der Representatioun. Dofir wäert eng Politik déi de Wee wiesselt wann en Header eng Schwelle iwwerschreit sech inkonsistent behuelen, a meeschtens just bei de groussen Transfere fir déi se geduecht war.

Wat Applikatiounsmetadaten ënnerstëtze kënnen ass eng Entscheedung iwwer eng Aufgab: dëse Workflow ass eng Bulk-Synchronisatioun, dësen ass interaktiv, dësen ass eng Software-Aktualiséierung vun enger bekannter Quell. Dat ass eng Politik an Terme vun Absicht geschriwwen, an se ass stabil genuch fir getest ze ginn. „Dës Äntwert gëtt méi grouss wéi véierzeg Megabyte“ ass net esou eng Politik.

Kontroll 3: existéiert de Floss schonn?

Routing kann sech fir e Floss änneren ouni d'Identitéit vun der Verbindung ze änneren, an deen Ënnerscheed ass wäert genee ze halen. Eng TCP-Verbindung gëtt duerch hir Endpunktadressen a Porten identifizéiert, an d'Pakete kënnen en anere Wee huelen wann d'Routingtabell ënner hinnen ännert. Wat sech net onsiichtbar ka änneren ass den Zoustand vun der Netzadressiwwersetzung: den Trafic op en aneren Ausgang ze réckelen ännert meeschtens den ëffentlechen Ursprongstupel, an déi wäit Säit wäert en anere Partner gesinn ouni passenden Zoustand.

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

Also ass déi praktesch Regel datt e Réckelen an der Mëtt vun der Verbindung vun engem Ausgang op en aneren eng nei Bezéiung ass, keng Migratioun. Wann den Design verlaangt datt déi selwecht Verbindung weiderlafs, muss d'Entscheedung virum éischte SYN gefall sinn, an keng Paketregel déi méi spéit bäikënnt kann se propper rekonstruéieren.

Kontroll 4: ass d'Ufuerderung wierklech Latenz, net den Ausgang?

Ganz vill Ufroe fir „de Bulk-Trafic soss wouhin ze schécken“ si jo Beschwéieren datt en groussen Transfer interaktiv Aarbecht lues fillen léisst. Dat ass e Planungsproblem, an et huet eng Planungsäntwert: fair Queueing oder eng ënnerstëtzte Bandbreedtepolitik um bestehende Wee verhënnert datt e Bulk-Floss eng Chat-Noriicht aushungert ouni ee vun deenen zwee ze réckelen.

tc qdisc replace dev eth0 root cake bandwidth 100mbit

D'Symptom esou unzegoen léisst d'Ausgangsentscheedung do wou d'Sécherheetspolitik se higesat huet, an et ass mat engem Kommando ëmdréibbar. Den Ausgang fir eng ganz Klass Trafic ze änneren ass eng Politikännerung mat Konsequenzen fir Authentifikatioun, Logging an Zougriffsregelen, dofir sollt et net dat éischt Instrument bei enger Beschwéier iwwer Latenz sinn.

Wann d'Ufuerderung wierklech en aneren Internetausgang ass, sot et mat deene Wierder a setzt et op enger ënnerstëtzter Grenz ëm: eng nei Verbindung vun engem approuvéierte Workflow, oder eng Applikatioun déi hir eege Ufro duerch en ausgewielten Ausgang opmécht. Dann notéiert wéi eng Aufgaben wéi en Ausgang benotzen, sou datt déi nächst Persoun et net aus enger Routingtabell muss ofleeden.

Halt d'Checklëscht am Ännerungsrecord: den Entscheedungspunkt, d'Feld oder d'Aufgab déi en dréit, ob de Floss schonn existéiert, an ob déi gemoosse Symptom Latenz oder Ausgang war. Véier Froen, an eng Politik déi all véier beäntwert ass eng déi Dir bedreiwe kënnt amplaz se ze verdeedegen.

Ähnlech Artikelen