Mundtlig omtale kommer før protokollen. Spørg dig omkring, og SSTP er den langsomme, den mulighed du undgår, medmindre noget tvinger dig. Det rygte beskriver én fejltilstand på én slags vej.

Mekanismen er reel. Den er også betinget, hvilket rygtet aldrig nævner.

To pålidelige strømme på én vej

SSTP pakker sin tunnel ind i en HTTPS-session. HTTPS kører over TCP, og den ydre strøm garanterer levering i rækkefølge. Et enkelt manglende segment holder derfor alt tilbage, der står i kø bag det. Senere bytes, der hører til andre indre samtaler, venter alligevel.

Indre TCP-strømme holder deres egen rækkefølge og overbelastningskontrol. De kan ikke se den ydre genopretning, så det eneste, de observerer, er en pause. En pause er det signal, der fortæller dem, at vejen er overbelastet.

Nu trækker begge lag sig tilbage samtidig. Det er hele samspillet, og et enkelt tabt segment er nok til at starte det.

Hvor effekten viser sig, og hvor den ikke gør

På en ren vej genopretter den ydre strøm sjældent noget. Samspillet udløses aldrig, og SSTP bærer interaktiv trafik ganske fint. Den generelle påstand fejler netop på dette punkt.

Effekten viser sig, når tab eller omrokering når den underliggende vej. Et overbelastet Wi-Fi-link eller en mobilforbindelse med variabel latenstid skaber betingelserne. En blokeret ydre kø bliver så til synlig forsinkelse inde i tunnelen.

Den skalerer også med arbejdsbyrden. Mange parallelle strømme fylder køen og gør blokering i køens forende værre. En enkelt interaktiv session over samme vej kan føles acceptabel.

Hvad symptomet normalt ikke er

Ikke enhver langsom session er dette problem. En jævn lav hastighed fra den første pakke peger på kapacitet, shaping eller en servergrænse. Pauser, der passer med lokal overbelastning, peger på kødannelse på adgangslinjen.

Midlerne er forskellige, og derfor kommer diagnosen først. Bufferjustering gør intet for et shaperet link. Skift af protokoller gør intet for en server, der er løbet tør for kapacitet. Gentagne resets peger et helt andet sted hen.

# outer path quality to the SSTP endpoint
ping -c 50 203.0.113.44 | tail -3
mtr -rwc 50 203.0.113.44

# is the local link saturated while the session stalls?
sar -n DEV 2 5

# retransmissions on the outer connection
ss -tin dst 203.0.113.44

Udfør målingen, mens problemet sker. En optagelse fra et sundt minut beviser intet om den løkke, der kører i det dårlige.

En sammenligning, der er værd at stole på

Hvis en anden transport faktisk er tilgængelig, så sammenlign den under kontrollerede forhold. Samme vært, samme netværk, samme destination og samme opgave. Begge kørsler skal ligge inden for de samme ti minutter, så vejens forhold matcher.

At ændre en port ændrer ikke en protokol. At importere en uvedkommende profil i en SSTP-klient skaber ikke en alternativ transport. Sammenligningen betyder kun noget, når serveren tilbyder den anden mulighed.

Hold TLS-verifikationen slået til hele tiden. Ydelsesarbejde er ikke en grund til at acceptere et uverificeret certifikat. Hvis pauserne hovedsageligt opstår, mens uplink er mættet, så kig på kødannelse, før du bebrejder lagene.

Relaterede artikler