TCP SSTP-ის შიგნით: რატომ ხდება ხელახალი გადაცემა ორჯერ
SSTP გვირაბს TCP ნაკადში გადააქვს TLS-ის გავლით. როცა გზა პაკეტებს კარგავს, გარე და შიდა აღდგენა ერთდროულად იხევს უკან.
ჭორი პროტოკოლზე ადრე მოდის. იკითხეთ გარშემო და SSTP ნელიაო, ის ვარიანტი, რომელსაც გაურბიხართ, თუ რაღაც არ გაიძულებთ. ეს რეპუტაცია აღწერს ერთ წარუმატებლობის რეჟიმს გზის ერთ ტიპზე.
მექანიზმი რეალურია. ის ასევე პირობითია, რასაც რეპუტაცია არასოდეს ახსენებს.
ორი საიმედო ნაკადი ერთ გზაზე
SSTP თავის გვირაბს HTTPS სესიაში ახვევს. HTTPS TCP-ზე მუშაობს, და ეს გარე ნაკადი დალაგებულ მიწოდებას იძლევა. ამიტომ ერთი დაკარგული სეგმენტი ყველაფერს აჩერებს, რაც მის უკან რიგში დგას. სხვა შიდა საუბრებს მიკუთვნებული გვიანდელი ბაიტები მაინც ელოდება.
შიდა TCP ნაკადები თავიანთ წესრიგსა და გადატვირთულობის კონტროლს ინარჩუნებენ. მათ გარე აღდგენა არ უჩანთ, ამიტომ ერთადერთი, რასაც ამჩნევენ, გაჩერებაა. გაჩერება არის სიგნალი, რომელიც ეუბნება მათ, რომ გზა გადატვირთულია.
ახლა ორივე ფენა ერთდროულად იხევს უკან. ეს არის მთელი ურთიერთქმედება, და მის დასაწყებად ერთი დაკარგული სეგმენტი საკმარისია.
სად ჩნდება ეფექტი და სად არა
სუფთა გზაზე გარე ნაკადი იშვიათად რამეს აღადგენს. ურთიერთქმედება არასოდეს აქტიურდება, და SSTP ინტერაქტიულ ტრაფიკს სავსებით კარგად ატარებს. ზოგადი მტკიცება სწორედ ამ წერტილზე მარცხდება.
ეფექტი ჩნდება მაშინ, როცა დანაკარგი ან გადალაგება ქვედა გზას აღწევს. გადატვირთული Wi-Fi კავშირი ან ცვალებადი დაყოვნების მობილური კავშირი ქმნის პირობებს. შემდეგ ჩაკეტილი გარე რიგი გვირაბში ხილულ დაყოვნებად იქცევა.
ის ასევე იზრდება დატვირთვის მიხედვით. ბევრი პარალელური ნაკადი ავსებს რიგს და აუარესებს რიგის თავში ბლოკირებას. ერთი ინტერაქტიული სესია იმავე გზაზე შეიძლება მისაღები ჩანდეს.
რა ჩვეულებრივ არ არის სიმპტომი
ყოველი ნელი სესია ეს პრობლემა არ არის. პირველი პაკეტიდან სტაბილურად დაბალი სიჩქარე მიუთითებს ტევადობაზე, ფორმირებაზე ან სერვერის ზღვარზე. პაუზები, რომლებიც ადგილობრივ გადატვირთულობას ემთხვევა, მიუთითებს რიგებზე წვდომის რგოლში.
საშუალებები განსხვავებულია, ამიტომ დიაგნოზი პირველი მოდის. ბუფერების რეგულირება არაფერს აკეთებს ფორმირებული რგოლისთვის. პროტოკოლების შეცვლა არაფერს აკეთებს სერვერისთვის, რომლის ტევადობა ამოიწურა. განმეორებითი გადატვირთვები სულ სხვა ადგილისკენ მიუთითებს.
# 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
გაზომვა შეასრულეთ მაშინ, როცა პრობლემა ხდება. ჯანსაღ წუთში აღებული ჩანაწერი არაფერს ამტკიცებს ცუდ წუთში მომუშავე ციკლზე.
შედარება, რომლის ნდობაც ღირს
თუ მართლაც ხელმისაწვდომია სხვა ტრანსპორტი, შეადარეთ ის კონტროლირებულ პირობებში. იგივე ჰოსტი, იგივე ქსელი, იგივე დანიშნულება და იგივე ამოცანა. ორივე გაშვება უნდა მოხდეს იმავე ათ წუთში, რომ გზის პირობები დაემთხვეს.
პორტის შეცვლა პროტოკოლს არ ცვლის. SSTP კლიენტში უკავშირო პროფილის იმპორტი ალტერნატიულ ტრანსპორტს არ ქმნის. შედარებას აზრი მხოლოდ მაშინ აქვს, როცა სერვერი მეორე ვარიანტს გვთავაზობს.
TLS შემოწმება მუდამ ჩართული შეინახეთ. წარმადობაზე მუშაობა არ არის მიზეზი დაუდასტურებელი სერტიფიკატის მისაღებად. თუ გაჩერებები ძირითადად მაშინ ჩნდება, როცა აღმავალი არხი გაჯერებულია, სანამ ფენებს დაადანაშაულებთ, რიგებს შეხედეთ.