რომელი NAT ნახტომი ტოვებს უმოქმედო VPN ასახვას და როგორ გავიგოთ
უმოქმედო VPN ნაკადი შეიძლება მოკვდეს ნებისმიერ მდგომარეობის შემანარჩუნებელ ნახტომზე. გაიმეორეთ ერთი ტესტი, შეადარეთ რა დაინახა თითოეულმა საზღვარმა და მოახსენეთ შემოფარგლული შედეგი, ვიდრე გამოცნობილი დამნაშავე.
მშვიდი პერიოდის შემდეგ გვირაბი ხელახლა უკავშირდება, არც ერთი ჟურნალი არ ასახელებს დამნაშავეს და აშკარა ნაბიჯია აირჩიოთ მოწყობილობა ყველაზე შთამბეჭდავი დროის ლიმიტის დოკუმენტაციით. ეს არის გამოცნობა დიაგნოზის სამოსში. მდგომარეობა შეიძლება გაგრძელდეს გარკვეული დრო სახლის როუტერში, ოპერატორის მთარგმნელში და ღრუბლის კიდეზე, და ნებისმიერ მათგანს შეუძლია ჩამოაგდოს გაჩუმებული ნაკადი. სამაგიეროდ შეგიძლიათ გზის რუკა შეადგინოთ, მონიშნოთ რომელი მოწყობილობების დაკვირვება ნამდვილად შეგიძლიათ და ჩაატაროთ ერთი უმოქმედო ტესტი, რომლის გამეორებაც შეგიძლიათ.
განმეორებადი ტესტი ანეკდოტს გაზომვად აქცევს. ყველა ქვემოთ მოცემული ვარაუდობს ერთ კლიენტს, ერთ სერვერს და ერთ პროტოკოლს, და ვარაუდობს, რომ ერთდროულად ორი ცვლადის შეცვლას ეწინააღმდეგებით. მიზანია შემდეგი შემთხვევა ამაზე იაფი გახდეს.
ყოველ ჯერზე იგივე უმოქმედო ტესტი ჩაატარეთ
ჩაწერეთ როდის იყო ნაკადი ბოლოს კარგ მდგომარეობაში, რამდენ ხანს იჯდა შემდეგ უმოქმედოდ და დააბრუნა თუ არა ის ერთმა ახალმა პაკეტმა. ეს სამი ფაქტია გაზომვა; მათ გარეშე მხოლოდ ჩამოვარდნილი ლეპტოპის ისტორია გაქვთ. ყოველ გამეორებაზე გამოიყენეთ იგივე კლიენტი, იგივე სერვერი და იგივე პროტოკოლი, და დააფიქსირეთ ის მომენტი, როდესაც სიჩუმის შემდეგ პირველი პაკეტი გაიგზავნა.
შემდეგ შეადარეთ რა დაინახა სინამდვილეში თქვენს ფლობაში არსებულმა ყოველმა საზღვარმა. გამოძიებას წყვეტს ის განსხვავება, დაინახა თუ არა სერვერმა პაუზის შემდეგ საერთოდ არაფერი, თუ დაინახა მოთხოვნა და უპასუხა გზაში, რომელიც აღარ ატარებდა პასუხებს.
| What you observe | What it suggests | What it does not prove |
|---|---|---|
| server records no packet after the pause | state was lost upstream of the server | which hop dropped it |
| server answers, client never receives | return-path state or filtering | that the timer belongs to the client |
| client sends nothing at all | client-side timer or application behaviour | that the network path is healthy |
ბილიკების შედარება ხუთი რამის შეუცვლელად
მეორე დამტკიცებული წვდომის ქსელი ლეგიტიმური შედარებაა, რადგან NAT ჯაჭვი განსხვავდება. ის ასევე განსხვავდება პროვაიდერით, რადიო პირობებით და შესაძლოა მისამართების ოჯახით, ამიტომ შედეგი საზღვარია და არა მიწერა. მოხსენებისას ნუ ჩამოაგდებთ შეზღუდვებს ჩუმად, ჩაწერეთ ისინი შედეგთან ერთად. ასევე ჩაწერეთ გზა: მოწყობილობა, როლი და შესაძლებელია თუ არა მისი მდგომარეობის წაკითხვა საერთოდ.
ბილიკების შედარება გაძლევთ შემოფარგლულ კითხვას: ნაკადი ერთზე ცოცხლობს, მეორეზე კვდება მსგავსი სიჩუმის შემდეგ, ამიტომ ცვლადი სადღაც განსხვავებულ ნაწილებშია. ეს რეალური შედეგია მაშინაც, როცა მოწყობილობა არ დასახელდა, და ეუბნება შემდეგ ინჟინერს სად დახარჯოს ნახევარი დღე და სად არა.
ლოკალური მდგომარეობის წაკითხვა ღირს ოპერატორებზე ვარაუდის გაკეთებამდე. Linux კარიბჭეზე conntrack -L ჩამოთვლის თვალთვალის ქვეშ მყოფ ნაკადებს მათი დარჩენილი სიცოცხლით, რაც ტაიმერის შესახებ გამოცნობას აქცევს რიცხვად, რომლის ამოწურვასაც ხედავთ. წაიკითხეთ ის უმოქმედო პერიოდამდე და შემდეგ, და არა მხოლოდ შემდეგ.
რას შეინარჩუნებს სიცოცხლის შენარჩუნების სიგნალი და რას არა
მხარდაჭერილი სიცოცხლის შენარჩუნების სიგნალი ღიად ტოვებს ასახვას, და ღიად დატოვებული ასახვა არაფერს ამტკიცებს მის უკან არსებულ სერვისზე. გვირაბი შეიძლება ასახული დარჩეს, მაშინ როცა მის მიერ გადატანილი აპლიკაცია უკვე შეწყვიტა პასუხის გაცემა, და სტატუსის ნათურიდან ეს ორი სიტუაცია ერთნაირად გამოიყურება. სიცოცხლის შენარჩუნების სიგნალს მოეპყარით როგორც დაზღვევას უმოქმედობით ამოწურვის წინააღმდეგ, და არა როგორც ჯანმრთელობის შემოწმებას.
ინტერვალი დააყენეთ იმ უმოკლესი დროის ლიმიტის მიხედვით, რომელიც ნამდვილად გაზომეთ, და არა ფორუმიდან კოპირებული რიცხვის მიხედვით. ყველა წარმოსადგენ ტაიმერზე დაბლა მორგებული სიცოცხლის შენარჩუნების სიგნალი ტრაფიკია, რომელიც არავის სჭირდებოდა, და ის ასევე აშორებს იმ სიმპტომს, რომელიც გეტყოდათ, რომელი საზღვარი იწურება პირველი. ინტერვალი გაზომილი რიცხვიდან აირჩიეთ და დანარჩენი ყველაფერი მშვიდად დატოვეთ.
ერთი ცვლილება, შემდეგ კვლავ გაზომეთ
წინააღმდეგობა გაუწიეთ სურვილს, ცოცხალი ტესტის დროს ყველა დროის ლიმიტი აამაღლოთ და ყველა კარიბჭე გაასუფთაოთ. ეს შლის იმ მტკიცებულებებს, რომლებისთვისაც მოხვედით, და აწყვეტს სხვა ადამიანების ნაკადებს, რაც ცუდი გაცვლაა გამოუცდელი ჰიპოთეზისთვის. შეცვალეთ ერთი მხარდაჭერილი პარამეტრი ერთ მოწყობილობაზე, შემდეგ გაიმეორეთ უმოქმედო პერიოდი და აპლიკაციის აღდგენა.
ჩაწერეთ რომელი სასაზღვრო დაკვირვება შეიცვალა, და ჩაწერეთ მაშინაც, როცა არაფერი გაუმჯობესდა. პარამეტრი, რომელმაც არაფერი გამოასწორა, ინფორმაციაა, და ერთხელ შემჩნევა უფრო იაფია, ვიდრე მთელ მეურნეობაზე გაშვება.
დაწერეთ დასკვნა, რომლის დაცვაც შეგიძლიათ
როცა ზემოთ მდებარე მთარგმნელის შემოწმება შეუძლებელია, თქვით მხოლოდ ის, რასაც მტკიცებულებები უჭერენ მხარს: გაცვლა იღუპება სადღაც გზის ამ მონაკვეთზე ამხელა სიჩუმის შემდეგ, და პასუხისმგებელი ნახტომი მიუწერელი რჩება. შემოფარგლული განცხადება უძლებს განხილვას და შემდეგ ადამიანს სწორ სეგმენტზე მიუთითებს. ფარული როუტერის მიზეზად დასახელება არც ერთს არ აკეთებს. შემოფარგლული დასკვნა გადაეცით მას, ვინც ფლობს დაუკვირვებელ სეგმენტს, ინტერვალითურთ.
RFC 4787 აღწერს, რატომ არის ძნელი UDP ასახვის ტაიმერების ერთი ბოლოდან დასკვნა, და სწორედ ეს სიძნელე ხდის შემოფარგლულ დასკვნას პატიოსანს. ტაიმერები რეალურია, და მათ ირგვლივ არსებული გაურკვევლობაც.