Dodajte drugu WAN vezu i tuneli se podignu, ali kopiranje datoteke se i dalje zaglavi kada jedna putanja zatitra. Veze su zdrave i VPN procesi rade; nedostaje ugovor između operatera i tunela. Nekoliko soketa se ne ponaša automatski kao jedna konekcija, a aplikacija iznad njih ne vidi razliku dok se isporuka ne prekine. Svaki dio ugovora odgovara kvaru koji možete testirati, i to ga čini korisnim.

Napišite taj ugovor prije odabira proizvoda. Ima četiri dijela: tok koji VPN prima, kako operater oporavlja podatke koji nedostaju, koji identitet krajnje točke preživljava promjenu putanje i kako se cjelina ponaša kada putanja zakaže.

Simptom: veze su aktivne, sesija se ipak prekida

Graf nadzora koji prikazuje obje veze aktivne dokazuje samo da svaka putanja može prenositi promet. Ne dokazuje da VPN vidi jedan uređen tok, da se paket izgubljen na jednoj putanji oporavlja na drugoj, ni da partner još zna s kojom sesijom razgovara. Ostatak ugovora pokriva ono što graf ne može pokazati.

Kada se prijenos zaglavi, otkrijte je li operater nastavio isporučivati na putanji koja je preživjela. Ako sesija umre dok druga veza miruje, operater je nikad nije upotrijebio. Ako sesija preživi, ali podaci dolaze izvan reda ili duplicirani, operater premješta pakete bez ugovora na razini konekcije. Vremenske oznake na obje strane to obično razjasne.

Ta razlika odlučuje popravak. Problem usmjeravanja ili politike zahtijeva promjenu odabira putanje; nedostajući sloj redanja i oporavka zahtijeva drugi transport, a ne veći međuspremnik.

Prva garancija: tok bajtova na razini konekcije

Ako VPN treba pouzdan uređen tok, operater mora identificirati raspone bajtova iznad pojedinačne putanje. Svaka temeljna TCP konekcija numerira samo svoje segmente, pa primatelj ne može presložiti između putanja koristeći samo te brojeve.

Multipath TCP je standardizirani primjer. Predstavlja jedan pouzdan tok bajtova dok usklađuje nekoliko TCP podtokova, s preslikavanjem sekvence i potvrdom na razini podataka. Aplikacija čita tok, a ne podtok koji je slučajno prvi isporučio dio.

Na Linuxu je MPTCP opt-in po socketu putem IPPROTO_MPTCP. Kada pregovaranje ne može koristiti ponašanje više putanja, dokumentirani povratak je običan TCP, što znači da aplikacija može nastaviti raditi preko jedne putanje bez ikakvog korištenja druge. Provjerite kakvo je ponašanje implementirani socket stvarno dogovorio umjesto da pretpostavljate da je kernelska postavka primijenjena.

Druga garancija: redanje, dupliciranje i oporavak

Putanje s različitim kašnjenjima i stopama gubitka prisiljavaju operatera na međuspremanje, preslaganje i ponovno slanje. Ugovor mora navesti koliko je međuspremanja dopušteno, kakav protutlak aplikacija vidi i koja putanja nosi ponovno slanje.

Putanja koja ostane povezana, ali prestane isporučivati, teža je od čistog zatvaranja. Operater je mora otkriti, premjestiti podatke na čekanju i izbjeći vječno čekanje segmenta koji nikada neće stići. Jednostavna provjera da su obje veze aktivne ne pokriva ovo stanje.

Dupliciranje treba vlastito pravilo. Slanje istog tereta obje putanje može poboljšati latenciju, ali primatelj mora potisnuti kopiju prije nego stigne do VPN-a. IPsec anti-replay opcionalan je po sigurnosnoj asocijaciji i provjerava redne brojeve; sloj dupliciranja koji preslaže ili ponavlja pakete može ga aktivirati ili sakriti problem dok tunel ne padne.

Treća garancija: identitet krajnje točke i priključenje putanje

Partner treba stabilan način prepoznavanja sesije kada se pojavi nova putanja. Ako se svaka putanja autentificira kao zaseban tunel, VPN može vidjeti dvije sesije umjesto jedne. Ako operater spaja putanje pod jednom sesijom, mora definirati kako se nova putanja autentificira i što se događa sa starom.

Zabilježite koje adrese i identifikatori ostaju stabilni: krajnja točka tunela, identifikator sesije operatera i bilo koji posrednik između. Posrednik dodaje još jednu granicu dostupnosti i povjerenja čak i kada nikada ne vidi zaštićeni teret.

Ovdje živi i politika. Putanja koja se priključi iz neočekivane mreže može biti tehnički valjana i ipak kršiti predviđeni model povjerenja. Odlučite jesu li nove putanje automatski prihvaćene, zahtijevaju li autentifikaciju ili se odbijaju.

Četvrta garancija: ograničeno ponašanje pri kvaru

Testirajte potpuni kvar putanje, ne samo sporu putanju. Putanja koja preživi treba nositi sesiju bez neograničenog rasta memorije, a oporavak ne smije ovisiti o timeru duljem nego što aplikacija tolerira. Kada se neispravna putanja vrati, operater mora odlučiti hoće li rebalansirati ili ostaviti tok gdje jest.

Postavite ograničenja međuspremanja, ponovnog slanja i broja putanja, pa ih provjerite pod gubitkom, preslaganjem, dupliciranjem i neravnotežom kašnjenja. Ukupna propusnost je ovdje najmanje zanimljiv broj; kontinuitet isporuke i memorijske granice su ugovor.

Držite stanje oporavka operatera odvojeno od kriptografskog stanja VPN-a. Vlastiti sloj pouzdanosti koji zamjenjuje uspostavljenu autentifikaciju ili enkripciju nije prečac, a ponovna uporaba rednih brojeva između slojeva čini zaštitu od ponavljanja i dijagnostiku nepouzdanima.

Prihvatite operatera s planom testiranja

Napišite četiri garancije kao provjere prošlo ili nije prošlo: jedan uređen tok, definiran oporavak, stabilan identitet sesije, ograničeno ponašanje pri kvaru. Pokrenite svaku provjeru s jednom putanjom degradiranom, a zatim s jednom uklonjenom.

Jedan uspješan prijenos datoteke kroz promjenu putanje ne dokazuje neprekidni rad. Ponovite prijenos dok mijenjate preferiranu putanju i provjerite i pogled operatera i vlastite brojače VPN-a. Ako se njih dvoje ne slažu koja je putanja nosila podatke, ugovor još nije vidljiv.

Čuvajte odobrenu matricu uz implementaciju. Ona sljedećem inženjeru govori koje je ponašanje obećano, koje su kombinacije putanja testirane i koji način kvara još nije podržan, bez novog kruga nagađanja na temelju svjetala stanja veza.

Povezani članci