TCP znotraj SSTP: zakaj se ponovni prenos zgodi dvakrat
SSTP nosi tunel v toku TCP prek TLS. Ko pot izgublja pakete, se zunanje in notranje obnavljanje umakneta hkrati.
Ustno izročilo pride pred protokolom. Vprašajte naokoli in SSTP je počasni, možnost, ki se ji izogibate, razen če vas kaj prisili. Ta sloves opisuje en način okvare na eni vrsti poti.
Mehanizem je resničen. Je tudi pogojen, česar sloves nikoli ne omenja.
Dva zanesljiva toka na eni poti
SSTP svoj tunel ovije v sejo HTTPS. HTTPS teče prek TCP, in ta zunanji tok zagotavlja urejeno dostavo. Zato en manjkajoči segment zadrži vse, kar stoji v vrsti za njim. Kasnejši bajti, ki pripadajo drugim notranjim pogovorom, vseeno čakajo.
Notranji tokovi TCP ohranjajo svoj vrstni red in nadzor zastojev. Ne vidijo zunanjega obnavljanja, zato opazijo le ustavitev. Ustavitev je signal, ki jim pove, da je pot preobremenjena.
Zdaj se oba sloja umakneta hkrati. To je vsa interakcija, in en izgubljen segment zadostuje, da se začne.
Kje se učinek pojavi in kje ne
Na čisti poti zunanji tok le redko kaj obnovi. Interakcija se nikoli ne sproži, in SSTP interaktivni promet prenaša povsem dobro. Splošna trditev spodleti prav na tej točki.
Učinek se pojavi, ko izguba ali preurejanje dosežeta osnovno pot. Preobremenjena povezava Wi-Fi ali mobilna povezava s spremenljivo zakasnitvijo ustvarita pogoje. Blokirana zunanja vrsta se nato spremeni v vidno zakasnitev v tunelu.
Povečuje se tudi z delovno obremenitvijo. Veliko vzporednih tokov napolni vrsto in poslabša blokiranje na čelu vrste. Ena interaktivna seja po isti poti se lahko zdi sprejemljiva.
Česa simptom običajno ni
Ni vsaka počasna seja ta težava. Enakomerno nizka hitrost od prvega paketa kaže na zmogljivost, oblikovanje ali omejitev strežnika. Premori, ki se ujemajo z lokalno preobremenitvijo, kažejo na vrste na dostopni povezavi.
Sredstva se razlikujejo, zato diagnoza pride prva. Nastavljanje medpomnilnikov ne naredi ničesar za oblikovano povezavo. Zamenjava protokolov ne naredi ničesar za strežnik, ki mu je zmanjkalo zmogljivosti. Ponovni ponastavitvi kažeta povsem drugam.
# 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
Meritev izvedite, medtem ko se težava dogaja. Posnetek, zajet v zdravi minuti, ne dokaže ničesar o zanki, ki teče v slabi.
Primerjava, ki si zasluži zaupanje
Če je drugo prenašanje res na voljo, ga primerjajte pod nadzorom. Isti gostitelj, isto omrežje, isti cilj in ista naloga. Oba zagona morata biti v istih desetih minutah, da se pogoji poti ujemajo.
Sprememba vrat ne spremeni protokola. Uvoz nepovezanega profila v odjemalca SSTP ne ustanovi alternativnega prenašanja. Primerjava ima smisel le, kadar strežnik ponudi drugo možnost.
Preverjanje TLS imejte ves čas vključeno. Delo na zmogljivosti ni razlog za sprejem nepreverjenega potrdila. Če se ustavitve pojavljajo predvsem, ko je povezava navzgor nasičena, poglejte vrste, preden obtožite plasti.