Добавете втора WAN връзка и тунелите се вдигат, но копирането на файл все още засича, когато един път се колебае. Връзките са здрави и VPN процесите работят; липсва договор между оператора и тунела. Няколко сокета не се държат автоматично като една връзка и приложението над тях не вижда разликата, докато доставянето не се счупи. Всяка част от договора отговаря на отказ, който можете да тествате, и точно това го прави полезен.

Напишете този договор, преди да изберете продукт. Той има четири части: потокът, който VPN получава, как операторът възстановява липсващите данни, коя идентичност на крайната точка оцелява при смяна на път и как се държи цялото, когато път се провали.

Симптомът: връзките са активни, сесията все пак се къса

Графика за мониторинг, която показва и двете връзки активни, доказва само, че всеки път може да носи трафик. Тя не доказва, че VPN вижда един подреден поток, че пакет, загубен по един път, се възстановява по друг, нито че партньорът още знае с коя сесия говори. Останалата част от договора покрива това, което графиката не може да покаже.

Когато трансферът засече, разберете дали операторът продължи да доставя по оцелелия път. Ако сесията умре, докато втората връзка е бездейна, операторът никога не я е използвал. Ако сесията оцелее, но данните пристигат извън ред или дублирани, операторът мести пакети без договор на ниво връзка. Времевите маркери от двете страни обикновено го изясняват.

Тази разлика решава поправката. Проблем с маршрутизацията или политиката изисква промяна в избора на път; липсващ слой за подреждане и възстановяване изисква друг транспорт, а не по-голям буфер.

Първа гаранция: байтов поток на ниво връзка

Ако VPN се нуждае от надежден подреден поток, операторът трябва да идентифицира байтови диапазони над отделния път. Всяка подлежаща TCP връзка номерира само своите сегменти, така че получателят не може да пренарежда между пътища само с тези номера.

Multipath TCP е стандартизираният пример. Той представя един надежден байтов поток, докато координира няколко TCP подпотока, с картографиране на последователността и потвърждение на ниво данни. Приложението чете поток, а не подпотока, който случайно е доставил част първи.

В Linux MPTCP е opt-in за всеки сокет чрез IPPROTO_MPTCP. Когато преговорите не могат да използват многопътно поведение, документираният резервен вариант е обикновен TCP, което означава, че приложението може да продължи по един път, без никога да използва втория. Проверете какво поведение внедреният сокет действително е договорил, вместо да предполагате, че настройката на ядрото е приложена.

Втора гаранция: подреждане, дублиране и възстановяване

Пътищата с различни закъснения и нива на загуба принуждават оператора да буферира, пренарежда и препраща. Договорът трябва да указва допустимото буфериране, обратния натиск, който приложението вижда, и кой път носи повторното изпращане.

Път, който остава свързан, но спира да доставя, е по-труден от чисто затваряне. Операторът трябва да го открие, да премести чакащите данни и да избегне вечното чакане за сегмент, който никога няма да пристигне. Проста проверка, че и двете връзки са активни, не покрива това състояние.

Дублирането се нуждае от собствено правило. Изпращането на един и същ товар по двата пътя може да подобри латентността, но получателят трябва да потисне копието, преди то да стигне до VPN. IPsec anti-replay е незадължителен за всяка асоциация за сигурност и проверява поредните номера; слой за дублиране, който пренарежда или преиграва пакети, може да го задейства или да скрие проблема, докато тунелът падне.

Трета гаранция: идентичност на крайната точка и присъединяване на път

Партньорът се нуждае от стабилен начин да разпознае сесията, когато се появи нов път. Ако всеки път се удостоверява като отделен тунел, VPN може да види две сесии вместо една. Ако операторът обединява пътища под една сесия, трябва да определи как се удостоверява новият път и какво се случва със стария.

Запишете кои адреси и идентификатори остават стабилни: крайната точка на тунела, идентификаторът на сесията на оператора и всеки посредник между тях. Посредникът добавя още една граница на достъпност и доверие, дори когато никога не вижда защитения товар.

Тук живее и политиката. Път, който се присъединява от неочаквана мрежа, може да е технически валиден и въпреки това да нарушава предвидения модел на доверие. Решете дали новите пътища се приемат автоматично, изискват удостоверяване или се отказват.

Четвърта гаранция: ограничено поведение при отказ

Тествайте пълен отказ на път, а не само бавен път. Оцелелият път трябва да носи сесията без неограничен растеж на паметта и възстановяването не трябва да зависи от таймер, по-дълъг от този, който приложението понася. Когато повреденият път се върне, операторът трябва да реши дали да ребалансира, или да остави потока където е.

Задайте ограничения за буфериране, повторно изпращане и брой пътища, след което ги проверете при загуба, пренареждане, дублиране и неравномерно закъснение. Общата честотна лента е най-малко интересното число тук; непрекъснатостта на доставянето и границите на паметта са договорът.

Дръжте състоянието за възстановяване на оператора отделно от криптографското състояние на VPN. Собствен слой за надеждност, който замества установено удостоверяване или криптиране, не е пряк път, а повторното използване на поредни номера между слоевете прави защитата срещу повторение и диагностиката ненадеждни.

Приемете оператора с план за тестване

Напишете четирите гаранции като проверки премина или не: един подреден поток, определено възстановяване, стабилна идентичност на сесията, ограничено поведение при отказ. Изпълнете всяка проверка с един влошен път и след това с един премахнат път.

Един успешен трансфер на файл през смяна на път не доказва непрекъсната работа. Повторете трансфера, докато сменяте предпочитания път, и инспектирайте както изгледа на оператора, така и собствените броячи на VPN. Ако двете не са съгласни кой път е носил данните, договорът все още не е наблюдаем.

Пазете одобрената матрица заедно с внедряването. Тя казва на следващия инженер какво поведение е обещано, кои комбинации от пътища са тествани и кой режим на отказ все още не се поддържа, без още един кръг догадки от светлините за състояние на връзките.

Подобни статии