TCP SSTP sees: miks kordussaatmine toimub kaks korda
SSTP kannab tunnelit TCP-voos üle TLS-i. Kui tee kaotab pakette, taanduvad välimine ja sisemine taastamine korraga.
Kuulujutt jõuab kohale enne protokolli. Küsige ringi ja SSTP on see aeglane, valik, mida väldite, kui miski ei sunni. See maine kirjeldab üht tõrkerežiimi ühel tee tüübil.
Mehhanism on tõeline. See on ka tingimuslik, mida maine kunagi ei maini.
Kaks usaldusväärset voogu ühel teel
SSTP mässib oma tunneli HTTPS-seansi sisse. HTTPS jookseb TCP peal ja see välimine voog tagab järjestatud kohaletoimetamise. Seetõttu hoiab üks puuduv segment kinni kõik, mis selle taga järjekorras seisab. Hilisemad baidid, mis kuuluvad teistele sisemistele vestlustele, ootavad niikuinii.
Sisemised TCP-vood säilitavad oma järjestuse ja ummikukontrolli. Nad ei näe välist taastamist, seega ainus, mida nad täheldavad, on seiskumine. Seiskumine on signaal, mis ütleb neile, et tee on ummistunud.
Nüüd taanduvad mõlemad kihid samal ajal. See on kogu vastastikmõju ja selle käivitamiseks piisab ühest kaotatud segmendist.
Kus efekt ilmneb ja kus mitte
Puhtal teel taastab välimine voog harva midagi. Vastastikmõju ei käivitu kunagi ja SSTP kannab interaktiivset liiklust täiesti hästi. Üldine väide ebaõnnestub täpselt selles punktis.
Efekt ilmneb siis, kui kadu või ümberjärjestamine jõuab alusvõrgu teele. Ülekoormatud Wi-Fi link või muutuva latentsusega mobiilne ühendus loob tingimused. Blokeeritud välimine järjekord muutub seejärel tunnelis nähtavaks viivituseks.
See skaleerub ka töökoormusega. Paljud paralleelsed vood täidavad järjekorra ja halvendavad järjekorra alguses blokeerimist. Üks interaktiivne seanss samal teel võib tunduda vastuvõetav.
Milleks sümptom tavaliselt ei ole
Mitte iga aeglane seanss ei ole see probleem. Esimesest paketist ühtlane madal kiirus viitab mahutavusele, kujundamisele või serveri piirangule. Kohaliku ummikusega kokku langevad pausid viitavad järjekordadele juurdepääsulülil.
Abinõud erinevad, seepärast tuleb diagnoos esimesena. Puhvrite häälestamine ei aita kujundatud lüli puhul. Protokollide vahetamine ei aita serveri puhul, mille mahutavus on otsas. Korduvad lähtestamised viitavad hoopis mujale.
# 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
Tehke mõõtmine siis, kui probleem esineb. Terves minutis tehtud salvestus ei tõesta midagi tsükli kohta, mis töötab halvas.
Võrdlus, mida tasub usaldada
Kui mõni teine transport on tõesti saadaval, võrrelge seda kontrollitud tingimustes. Sama host, sama võrk, sama sihtkoht ja sama ülesanne. Mõlemad käivitused peavad mahtuma samasse kümnesse minutisse, et tee tingimused ühtiksid.
Pordi muutmine ei muuda protokolli. Sõltumatu profiili importimine SSTP-kliendisse ei loo alternatiivset transporti. Võrdlusel on mõtet ainult siis, kui server pakub teist valikut.
Hoidke TLS-i kontroll kogu aeg sisse lülitatud. Jõudlustöö ei ole põhjus nõustuda kontrollimata sertifikaadiga. Kui tõrked ilmnevad peamiselt siis, kui üleslüli on küllastunud, vaadake järjekordi enne kihtide süüdistamist.