Miks paljud rakenduste ühendused jagavad üht OpenVPN seanssi
Üks välimine UDP-vestlus kannab iga sisemist voogu, mille marsruudid sellesse saadavad. Sisesadamad ja -protokollid säilivad; muutumatuna püsib ainult välimine viisik.
Kujutage ette brauserit, mis laeb HTTPS-lehte, samal ajal kui SSH-klient jõuab teise serverini ja resolver vastab päringule, kõik ühe OpenVPN seansi kaudu. Füüsilisel liidesel näete üht vestlust; tunnelis sees näete kolme. Mõlemad vaated on õiged ja teadmine, miks, on vahe kasuliku ja segadusse ajava tabamuse vahel. Jälgige üht sisemist voogu soketist kuni juhtmeni ja kihistatus lakkab olemast abstraktne.
Üks välimine vestlus, palju sisemisi vooge
Iga rakendus avab oma soketi ja tuum annab sellele viisiku: lähteaadress, lähtesadam, sihtaadress, sihtsadam ja protokoll. Need viisikud on olemas enne, kui ükski tunnel mängu tuleb. Seejärel otsustab marsruutimine, et kõik need väljuvad tunnelseadmest, nii et OpenVPN-le antud pakett kannab endiselt sees algseid päiseid. OpenVPN krüpteerib selle sisemise paketi ja mässib tulemuse ühte välimisse UDP- või TCP-vestlusesse partneriga. Välimine vestlus on seega üks, samas kui vooge selles on nii palju, kui rakendused avasid.
Miski ei kollapseeru. Sisesed viisikud püsivad otsast otsani, ja seepärast suudab kaugem pool ikka need kolm voogu eristada.
Sadam, mis jääb muutumatuks
Muutumatuks jääb välimine viisik: teie aadress, kohalik sadam, mille klient sidus, partneri aadress ja seadistatud teenusesadam. Just seda viisikut peab tee peal olev tulemüür või NAT lubama, ja just seda näitab üleslingi tabamus. See on ka see, mis muutub pärast taasühendust või võrguvahetust, sest klient võib siduda teise kohaliku sadama. Üks tunnel ei tähenda üht fikseeritud lähtesadamat igavesti.
Sisesadamad on see, millest lõpp-punktidel hool on. HTTPS-voog hoiab tunnelis sihtsadama 443, kuigi välimine transport istub sadamal, mille operaator seadistas. Rakenduse lõpp-punktid ei saa välimisest kunagi teada.
Mida dekapsuleerimine kaugemas otsas muudab
Partneri juures võetakse välimine kiht ära ja alles jääb sisemine pakett. Sealt edasi kehtivad edastamine ja juurdepääsupoliitika sisemise sihtkoha ja protokolli kohta. Veebiserver saab endiselt HTTPS-ühenduse, SSH-deemon saab endiselt SSH ja resolver saab endiselt päringu.
Seepärast ei ole välimist transporti lubav reegel sama reegel kui sisemise teenuse lubamine. Esimene kirjeldab teed; teine kirjeldab volitust.
Välimine TCP tähendab üht voogu, mitte üht ühendust
Kui välimine transport on UDP, on iga sisemise voo saatus sõltumatu: kadunud datagramm mõjutab üht ülekannet kuni selle enda kordussaatmiseni. Kui välimine transport on TCP, jagavad kõik sisesed vood üht usaldusväärset baidivoogu.
See jagatud voog on osa, mida inimesed märkamata jätavad. Taastumine toimub üks kord, kõige jaoks, nii et üks kadunud segment viivitab iga sees multipleksitud rakenduse liiklust. Lõpp-punktides on endiselt palju ühendusi ja juhtmel üks ühendus, ja juhtmel elabki järjekorra pea efekt. Kuulavate sadamate arv ei ütle selle kohta midagi, mistõttu on sadamate lugemine halb viis tunneli jõudluse üle arutlemiseks.
Kirjeldage oma seadistust täpselt
Nimetage valitud sisemine liiklus ja konkreetne välimine transport, mis seda kannab, selle asemel et öelda, et masin saadab kõik ühe sadama kaudu. Kohalikud teenused, teine tunnel ja teine aadressiperekond loovad vooge, mis ei satu kunagi sellesse vestlusesse. Üleslingi tabamus näitab välimist viisikut; tunnelisisene tabamus näitab sisemisi.
Võtke mõlemad ja pange ajatemplid kõrvuti. Kui peate tõestama, milline rakendus tekitas millise sisemise voo, on hosti soketitabel parem instrument, sest see seob sadamad otse protsessidega. Seejärel kirjutage üles välimine viisik, mida vaatlesite, ja hetk, mil seda vaatlesite, sest järgmine tabamus pärast taasühendust võib õigustatult näidata teisi numbreid.