Lisää toinen WAN-linkki ja tunnelit nousevat, mutta tiedostokopio juuttuu silti, kun yksi polku horjuu. Linkit ovat kunnossa ja VPN-prosessit käyvät; puuttuu sopimus operaattorin ja tunnelin väliltä. Useat socketit eivät käyttäydy automaattisesti kuin yksi yhteys, eikä niiden yläpuolella oleva sovellus huomaa eroa ennen kuin toimitus katkeaa. Jokainen sopimuksen osa vastaa vikaa, jonka voit testata, ja juuri se tekee siitä hyödyllisen.

Kirjoita sopimus ennen tuotteen valintaa. Siinä on neljä osaa: virta, jonka VPN vastaanottaa, miten operaattori palauttaa puuttuvat tiedot, mikä päätepisteen identiteetti säilyy polun vaihtuessa ja miten kokonaisuus käyttäytyy, kun polku pettää.

Oire: linkit ovat ylhäällä, istunto katkeaa silti

Valvontakaavio, joka näyttää molemmat linkit ylhäällä, todistaa vain, että kukin polku pystyy kuljettamaan liikennettä. Se ei todista, että VPN näkee yhden järjestetyn virran, että yhdellä polulla kadonnut paketti palautetaan toisella, tai että vastapuoli tietää vielä, minkä istunnon kanssa se puhuu. Sopimuksen loppuosa kattaa sen, mitä kaavio ei voi näyttää.

Kun siirto juuttuu, selvitä, jatkoiko operaattori toimittamista henkiin jääneellä polulla. Jos istunto kuolee toisen linkin ollessa tyhjänä, operaattori ei koskaan käyttänyt sitä. Jos istunto säilyy mutta tiedot saapuvat väärässä järjestyksessä tai kahdesti, operaattori siirtää paketteja ilman yhteystason sopimusta. Aikaleimat molemmilla puolilla selvittävät sen yleensä.

Tämä ero ratkaisee korjauksen. Reititys- tai käytäntöongelma vaatii polun valinnan muutosta; puuttuva järjestys- ja palautuskerros vaatii toisen kuljetuksen, ei suurempaa puskuria.

Takuu yksi: tavuvirta yhteystasolla

Jos VPN tarvitsee luotettavan järjestetyn virran, operaattorin on tunnistettava tavualueet yksittäisen polun yläpuolella. Jokainen taustalla oleva TCP-yhteys numeroi vain omat segmenttinsä, joten vastaanottaja ei voi järjestää uudelleen polkujen välillä pelkillä niillä numeroilla.

Multipath TCP on standardoitu esimerkki. Se tarjoaa yhden luotettavan tavuvirran koordinoiden useita TCP-alivirtoja, datatason järjestyskuvauksella ja kuittauksella. Sovellus lukee virtaa, ei alivirtaa, joka sattui toimittamaan palan ensimmäisenä.

Linuxissa MPTCP on socketkohtainen opt-in IPPROTO_MPTCP:n kautta. Kun neuvottelu ei voi käyttää monipolkuista käyttäytymistä, dokumentoitu varasuunnitelma on tavallinen TCP, mikä tarkoittaa, että sovellus voi jatkaa yhdellä polulla käyttämättä koskaan toista. Tarkista, minkä käyttäytymisen käyttöönotettu socket todella neuvotteli, sen sijaan että olettaisit ytimen asetuksen tulleen voimaan.

Takuu kaksi: järjestys, kopiointi ja palautus

Polut, joilla on erilaiset viiveet ja häviöt, pakottavat operaattorin puskuroimaan, järjestämään uudelleen ja lähettämään uudelleen. Sopimuksessa on kerrottava sallittu puskurointi, sovelluksen näkemä vastapaine ja se, mikä polku kantaa uudelleenlähetyksen.

Polku, joka pysyy yhteydessä mutta lakkaa toimittamasta, on vaikeampi kuin puhdas sulkeminen. Operaattorin on havaittava se, siirrettävä odottavat tiedot ja vältettävä ikuista odotusta segmentille, joka ei koskaan saavu. Yksinkertainen tarkistus, että molemmat linkit ovat ylhäällä, ei kata tätä tilaa.

Kopiointi tarvitsee oman sääntönsä. Saman hyötykuorman lähettäminen molemmilla poluilla voi parantaa viivettä, mutta vastaanottajan on tukahdutettava kopio ennen kuin se saavuttaa VPN:n. IPsec-anti-replay on valinnainen turva-assosiaatiokohtaisesti ja tarkistaa järjestysnumerot; kopiointikerros, joka järjestää uudelleen tai toistaa paketteja, voi laukaista sen tai piilottaa ongelman, kunnes tunneli kaatuu.

Takuu kolme: päätepisteen identiteetti ja polun liittyminen

Vastapuoli tarvitsee vakaan tavan tunnistaa istunto, kun uusi polku ilmaantuu. Jos jokainen polku todennetaan erillisenä tunnelina, VPN voi nähdä kaksi istuntoa yhden sijaan. Jos operaattori yhdistää polut yhden istunnon alle, sen on määriteltävä, miten uusi polku todennetaan ja mitä vanhalle tapahtuu.

Kirjaa, mitkä osoitteet ja tunnisteet pysyvät vakaina: tunnelin päätepiste, operaattorin istuntotunniste ja mahdollinen välityspalvelin. Välityspalvelin lisää yhden saatavuus- ja luottamusrajan, vaikka se ei koskaan näkisi suojattua hyötykuormaa.

Tässä asuu myös käytäntö. Odottamattomasta verkosta liittyvä polku voi olla teknisesti kelvollinen ja silti rikkoa aiottua luottamusmallia. Päätä, hyväksytäänkö uudet polut automaattisesti, vaativatko ne todennuksen vai hylätäänkö ne.

Takuu neljä: rajattu käyttäytyminen vian sattuessa

Testaa täydellinen polun vika, älä vain hidasta polkua. Henkiin jääneen polun on kannettava istunto ilman rajatonta muistinkasvua, eikä palautuminen saa riippua ajastimesta, joka on pidempi kuin sovellus sietää. Kun vioittunut polku palaa, operaattorin on päätettävä, tasapainottaako se uudelleen vai jättääkö virtauksen paikalleen.

Aseta rajat puskuroinnille, uudelleenlähetykselle ja polkujen määrälle ja varmista ne häviön, uudelleenjärjestelyn, kopioinnin ja viive-epätasapainon aikana. Kokonaiskaistanleveys on tässä vähiten kiinnostava luku; toimituksen jatkuvuus ja muistirajat ovat sopimus.

Pidä operaattorin palautumistila erillään VPN:n salauskryptografisesta tilasta. Mukautettu luotettavuuskerros, joka korvaa vakiintuneen todennuksen tai salauksen, ei ole oikotie, ja järjestysnumeroiden uudelleenkäyttö kerrosten välillä tekee replay-suojauksesta ja diagnostiikasta epäluotettavaa.

Hyväksy operaattori testisuunnitelmalla

Kirjoita neljä takuuta läpäissyt-tai-epäonnistui-tarkistuksina: yksi järjestetty virta, määritelty palautuminen, vakaa istuntoidentiteetti, rajattu vikakäyttäytyminen. Aja jokainen tarkistus yhden polun heikennettynä ja sitten yhden polun poistettuna.

Yksi onnistunut tiedostonsiirto polun vaihtuessa ei todista jatkuvaa toimintaa. Toista siirto vaihtaessasi ensisijaista polkua ja tarkista sekä operaattorin näkymä että VPN:n omat laskurit. Jos ne eivät ole yhtä mieltä siitä, mikä polku kuljetti tiedot, sopimus ei ole vielä havaittavissa.

Säilytä hyväksytty matriisi käyttöönoton yhteydessä. Se kertoo seuraavalle insinöörille, mitä käyttäytymistä luvattiin, mitä polkukombinaatioita testattiin ja mikä vikatila ei vielä ole tuettu, ilman uutta arvailukierrosta linkin tilavalojen perusteella.

Aiheeseen liittyvät artikkelit