TCP SSTP iekšienē: kāpēc atkārtota nosūtīšana notiek divreiz
SSTP pārvadā tuneli TCP plūsmā virs TLS. Kad ceļš zaudē paketes, ārējā un iekšējā atkopšanās atkāpjas vienlaikus.
Baumas pienāk pirms protokola. Paprasiet apkārt un SSTP būs lēnais, iespēja, no kuras izvairāties, ja vien kaut kas nespiež. Šī reputācija apraksta vienu atteices režīmu vienā ceļa veidā.
Mehānisms ir īsts. Tas ir arī nosacīts, ko reputācija nekad nepiemin.
Divas uzticamas plūsmas vienā ceļā
SSTP savu tuneli ietin HTTPS sesijā. HTTPS darbojas virs TCP, un šī ārējā plūsma garantē kārtīgu piegādi. Tāpēc viens trūkstošs segments aiztur visu, kas rindā stāv aiz tā. Vēlākie baiti, kas pieder citām iekšējām sarunām, tik un tā gaida.
Iekšējās TCP plūsmas saglabā savu kārtību un sastrēgumu kontroli. Tās neredz ārējo atkopšanos, tāpēc vienīgais, ko tās novēro, ir apstāšanās. Apstāšanās ir signāls, kas tām saka, ka ceļš ir pārslogots.
Tagad abi slāņi atkāpjas vienlaikus. Tā ir visa mijiedarbība, un viens pazaudēts segments ir pietiekams, lai to sāktu.
Kur efekts parādās un kur ne
Tīrā ceļā ārējā plūsma reti ko atgūst. Mijiedarbība nekad neieslēdzas, un SSTP interaktīvo trafiku pārvadā pilnīgi labi. Vispārīgais apgalvojums cieš neveiksmi tieši šajā punktā.
Efekts parādās, kad zudumi vai pārkārtošana sasniedz pamatceļu. Pārslogots Wi-Fi savienojums vai mobilais savienojums ar mainīgu latentumu rada apstākļus. Tad bloķētā ārējā rinda pārvēršas redzamā aizkavēšanās tunelī.
Tas pieaug arī ar darba slodzi. Daudzas paralēlas plūsmas piepilda rindu un padara bloķēšanu rindas galvā sliktāku. Viena interaktīva sesija tajā pašā ceļā var šķist pieņemama.
Kas simptoms parasti nav
Ne katra lēna sesija ir šī problēma. Vienmērīgi zems ātrums no pirmās paketes norāda uz jaudu, formēšanu vai servera ierobežojumu. Pauzes, kas sakrīt ar vietējo sastrēgumu, norāda uz rindām piekļuves saitē.
Līdzekļi atšķiras, tāpēc diagnoze nāk pirmā. Buferu regulēšana neko nedod formētam savienojumam. Protokolu maiņa neko nedod serverim, kuram beigusies jauda. Atkārtotas atiestatīšanas norāda pavisam citur.
# 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
Veiciet mērījumu, kamēr problēma notiek. Veselīgā minūtē uzņemts ieraksts neko nepierāda par cilpu, kas darbojas sliktajā.
Salīdzinājums, kam ir vērts uzticēties
Ja cits transports patiešām ir pieejams, salīdziniet to kontrolētos apstākļos. Tas pats resursdators, tas pats tīkls, tas pats galamērķis un tas pats uzdevums. Abiem palaidieniem jāietilpst tajās pašās desmit minūtēs, lai ceļa apstākļi sakristu.
Porta maiņa nemaina protokolu. Nesaistīta profila importēšana SSTP klientā nerada alternatīvu transportu. Salīdzinājumam ir jēga tikai tad, kad serveris piedāvā otro iespēju.
Uzturiet TLS pārbaudi ieslēgtu visu laiku. Veiktspējas darbs nav iemesls pieņemt nepārbaudītu sertifikātu. Ja apstāšanās galvenokārt parādās, kamēr augšupielādes saite ir piesātināta, aplūkojiet rindas, pirms vainot slāņus.