VPN pa vairākiem ceļiem: četras garantijas, kas operatoram jāsniedz
Divi WAN savienojumi un vairāki socketi neveido vienu VPN savienojumu. Norādiet nepieciešamo baitu plūsmu, atjaunošanu, galapunkta identitāti un kļūmes uzvedību.
Pievienojiet otru WAN savienojumu, un tuneļi paceļas, taču faila kopēšana joprojām iestrēgst, kad viens ceļš šūpojas. Savienojumi ir veseli un VPN procesi darbojas; trūkst līguma starp operatoru un tuneli. Vairāki socketi automātiski neuzvedas kā viens savienojums, un virs tiem esošā lietojumprogramma nevar pamanīt atšķirību, līdz piegāde tiek pārtraukta. Katra līguma daļa atbilst kļūmei, ko varat pārbaudīt, un tas padara to noderīgu.
Uzrakstiet šo līgumu pirms produkta izvēles. Tam ir četras daļas: plūsma, ko saņem VPN, kā operators atjauno trūkstošos datus, kura galapunkta identitāte pārdzīvo ceļa maiņu un kā viss uzvedas, kad ceļš sabrūk.
Simptoms: savienojumi ir augšā, sesija joprojām pārtrūkst
Uzraudzības grafiks, kas rāda abus savienojumus augšā, pierāda tikai to, ka katrs ceļš var pārvadāt trafiku. Tas nepierāda, ka VPN redz vienu sakārtotu plūsmu, ka vienā ceļā pazaudēts pakets tiek atjaunots citā, vai ka partneris joprojām zina, ar kuru sesiju runā. Pārējā līguma daļa aptver to, ko grafiks nevar parādīt.
Kad pārsūtīšana iestrēgst, noskaidrojiet, vai operators turpināja piegādāt izdzīvojušajā ceļā. Ja sesija mirst, kamēr otrais savienojums ir dīkstāvē, operators to nekad nav izmantojis. Ja sesija izdzīvo, bet dati ierodas nekārtībā vai dublēti, operators pārvieto paketus bez savienojuma līmeņa līguma. Laika zīmogi abās pusēs parasti to noskaidro.
Šī atšķirība nosaka labojumu. Maršrutēšanas vai politikas problēma prasa ceļa izvēles maiņu; trūkstošs kārtošanas un atjaunošanas slānis prasa citu transportu, nevis lielāku buferi.
Pirmā garantija: baitu plūsma savienojuma līmenī
Ja VPN nepieciešama uzticama sakārtota plūsma, operatoram jāidentificē baitu diapazoni virs atsevišķā ceļa. Katrs pamatā esošais TCP savienojums numurē tikai savus segmentus, tāpēc uztvērējs nevar pārkārtot starp ceļiem, izmantojot tikai šos numurus.
Multipath TCP ir standartizētais piemērs. Tas piedāvā vienu uzticamu baitu plūsmu, vienlaikus koordinējot vairākas TCP apakšplūsmas, ar datu līmeņa secības kartēšanu un apstiprinājumu. Lietojumprogramma lasa plūsmu, nevis apakšplūsmu, kas nejauši piegādāja gabalu pirmā.
Linux vidē MPTCP ir opt-in katram socketam, izmantojot IPPROTO_MPTCP. Kad sarunas nevar izmantot daudzceļu uzvedību, dokumentētā atkāpšanās ir parastais TCP, kas nozīmē, ka lietojumprogramma var turpināt darboties pa vienu ceļu, nekad neizmantojot otro. Pārbaudiet, kādu uzvedību izvietotais sockets faktiski vienojis, nevis pieņemiet, ka kodola iestatījums tika piemērots.
Otrā garantija: kārtošana, dublēšana un atjaunošana
Ceļi ar atšķirīgu aizturi un zudumu līmeni piespiež operatoru buferēt, pārkārtot un pārsūtīt atkārtoti. Līgumā jānorāda atļautā buferēšana, pretspiediens, ko redz lietojumprogramma, un tas, kurš ceļš pārvadā atkārtotu sūtījumu.
Ceļš, kas paliek savienots, bet pārstāj piegādāt, ir grūtāks nekā tīra aizvēršana. Operatoram tas jāatklāj, jāpārvieto gaidošie dati un jāizvairās no mūžīgas gaidīšanas uz segmentu, kas nekad neieradīsies. Vienkārša pārbaude, vai abi savienojumi ir augšā, šo stāvokli neaptver.
Dublēšanai nepieciešams savs noteikums. Vienas un tās pašas kravas sūtīšana pa abiem ceļiem var uzlabot latentumu, taču uztvērējam kopija jānospiež pirms tā sasniedz VPN. IPsec anti-replay ir neobligāts katrai drošības asociācijai un pārbauda secības numurus; dublēšanas slānis, kas pārkārto vai atkārto paketus, var to izraisīt vai paslēpt problēmu, līdz tunelis nokrīt.
Trešā garantija: galapunkta identitāte un ceļa pievienošanās
Partnerim nepieciešams stabils veids, kā atpazīt sesiju, kad parādās jauns ceļš. Ja katrs ceļš tiek autentificēts kā atsevišķs tunelis, VPN var redzēt divas sesijas vienas vietā. Ja operators apvieno ceļus vienā sesijā, tam jādefinē, kā jaunais ceļš tiek autentificēts un kas notiek ar veco.
Pierakstiet, kuras adreses un identifikatori paliek stabili: tuneļa galapunkts, operatora sesijas identifikators un jebkurš starpniekservers. Starpniekservers pievieno vēl vienu pieejamības un uzticēšanās robežu, pat ja tas nekad neredz aizsargāto kravu.
Šeit dzīvo arī politika. Ceļš, kas pievienojas no negaidīta tīkla, var būt tehniski derīgs un tomēr pārkāpt paredzēto uzticēšanās modeli. Izlemiet, vai jaunie ceļi tiek pieņemti automātiski, vai tiem nepieciešama autentifikācija, vai tie tiek noraidīti.
Ceturtā garantija: ierobežota uzvedība kļūmes laikā
Pārbaudiet pilnīgu ceļa kļūmi, ne tikai lēnu ceļu. Izdzīvojušajam ceļam jāpārvadā sesija bez neierobežotas atmiņas izaugsmes, un atjaunošanai nevajadzētu būt atkarīgai no taimera, kas ir garāks par to, ko lietojumprogramma var paciest. Kad bojātais ceļš atgriežas, operatoram jāizlemj, vai līdzsvarot no jauna, vai atstāt plūsmu vietā.
Nosakiet buferēšanas, atkārtotas sūtīšanas un ceļu skaita ierobežojumus, pēc tam pārbaudiet tos zudumu, pārkārtošanas, dublēšanas un aiztures nelīdzsvarotības apstākļos. Kopējā joslas platums šeit ir vismazāk interesantais skaitlis; piegādes nepārtrauktība un atmiņas ierobežojumi ir līgums.
Turiet operatora atjaunošanas stāvokli atsevišķi no VPN kriptogrāfiskā stāvokļa. Pielāgots uzticamības slānis, kas aizstāj noteiktu autentifikāciju vai šifrēšanu, nav īsceļš, un secības numuru atkārtota izmantošana starp slāņiem padara atkārtošanas aizsardzību un diagnostiku neuzticamu.
Pieņemiet operatoru ar testa plānu
Uzrakstiet četras garantijas kā izturēts-vai-neizturēts pārbaudes: viena sakārtota plūsma, noteikta atjaunošana, stabila sesijas identitāte, ierobežota kļūmes uzvedība. Izpildiet katru pārbaudi ar vienu pasliktinātu ceļu un pēc tam ar vienu noņemtu ceļu.
Viens veiksmīgs faila pārsūtījums ceļa maiņas laikā nepierāda nepārtrauktu darbību. Atkārtojiet pārsūtīšanu, pārslēdzot vēlamo ceļu, un pārbaudiet gan operatora skatu, gan paša VPN skaitītājus. Ja abi nepiekrīt, kurš ceļš nesa datus, līgums vēl nav novērojams.
Glabājiet apstiprināto matricu kopā ar ieviešanu. Tā stāsta nākamajam inženierim, kāda uzvedība tika apsolīta, kuras ceļu kombinācijas tika pārbaudītas un kurš kļūmes režīms joprojām netiek atbalstīts, bez vēl viena minējumu apļa pēc saites statusa gaismiņām.