Tambahkan tautan WAN kedua dan terowongan menyala, tetapi penyalinan berkas masih macet saat satu jalur goyah. Tautannya sehat dan proses VPN berjalan; yang hilang adalah kontrak antara operator dan terowongan. Beberapa soket tidak otomatis berperilaku seperti satu koneksi, dan aplikasi di atasnya tidak bisa membedakan sampai pengiriman rusak. Setiap bagian kontrak memetakan ke kegagalan yang bisa Anda uji, dan itulah yang membuatnya berguna.

Tulis kontrak itu sebelum memilih produk. Ada empat bagian: aliran yang diterima VPN, cara operator memulihkan data yang hilang, identitas titik akhir mana yang bertahan saat jalur berubah, dan bagaimana keseluruhan berperilaku ketika satu jalur gagal.

Gejalanya: tautan menyala, sesi tetap putus

Grafik pemantauan yang menunjukkan kedua tautan menyala hanya membuktikan bahwa setiap jalur dapat mengangkut lalu lintas. Itu tidak membuktikan bahwa VPN melihat satu aliran berurutan, bahwa paket yang hilang di satu jalur dipulihkan di jalur lain, atau bahwa peer masih tahu sesi mana yang sedang dia ajak bicara. Sisa kontrak mencakup hal yang tidak dapat ditunjukkan grafik itu.

Saat transfer macet, cari tahu apakah operator terus mengirim melalui jalur yang bertahan. Jika sesi mati sementara tautan kedua menganggur, operator tidak pernah memakainya. Jika sesi bertahan tetapi data tiba tidak berurutan atau terduplikasi, operator memindahkan paket tanpa kontrak tingkat koneksi. Stempel waktu di kedua sisi biasanya memperjelasnya.

Perbedaan itu menentukan perbaikannya. Masalah perutean atau kebijakan memerlukan perubahan pemilihan jalur; lapisan pengurutan dan pemulihan yang hilang memerlukan transport lain, bukan penyangga yang lebih besar.

Jaminan satu: aliran byte tingkat koneksi

Jika VPN memerlukan aliran berurutan yang andal, operator harus mengidentifikasi rentang byte di atas jalur individual. Setiap koneksi TCP yang mendasari hanya memberi nomor pada segmennya sendiri, sehingga penerima tidak dapat menyusun ulang antar jalur hanya dengan nomor itu.

Multipath TCP adalah contoh terstandar. Ia menyajikan satu aliran byte yang andal sambil mengoordinasikan beberapa subaliran TCP, dengan pemetaan urutan dan pengakuan di tingkat data. Aplikasi membaca aliran, bukan subaliran yang kebetulan mengirim potongan lebih dulu.

Di Linux, MPTCP bersifat opt-in per soket melalui IPPROTO_MPTCP. Jika negosiasi tidak dapat memakai perilaku multipath, fallback yang didokumentasikan adalah TCP biasa, yang berarti aplikasi mungkin tetap berjalan melalui satu jalur tanpa pernah memakai jalur kedua. Periksa perilaku apa yang sebenarnya dinegosiasikan soket yang dipasang, bukan menganggap pengaturan kernel berlaku.

Jaminan dua: pengurutan, duplikasi, dan pemulihan

Jalur dengan penundaan dan tingkat kehilangan berbeda memaksa operator menyangga, menyusun ulang, dan mengirim ulang. Kontrak harus menyatakan berapa banyak penyangga yang diizinkan, tekanan balik apa yang dilihat aplikasi, dan jalur mana yang membawa pengiriman ulang.

Jalur yang tetap tersambung tetapi berhenti mengirim lebih sulit daripada penutupan bersih. Operator harus mendeteksinya, memindahkan data yang tertunda, dan menghindari menunggu selamanya segmen yang tidak akan pernah tiba. Pemeriksaan sederhana bahwa kedua tautan menyala tidak mencakup keadaan ini.

Duplikasi memerlukan aturannya sendiri. Mengirim muatan yang sama di kedua jalur dapat meningkatkan latensi, tetapi penerima harus menekan salinannya sebelum mencapai VPN. Anti-replay IPsec bersifat opsional per asosiasi keamanan dan memeriksa nomor urut; lapisan duplikasi yang menyusun ulang atau memutar ulang paket dapat memicunya atau menyembunyikan masalah sampai terowongan putus.

Jaminan tiga: identitas titik akhir dan penggabungan jalur

Peer memerlukan cara stabil untuk mengenali sesi ketika jalur baru muncul. Jika setiap jalur diautentikasi sebagai terowongan terpisah, VPN dapat melihat dua sesi alih-alih satu. Jika operator menggabungkan jalur di bawah satu sesi, ia harus menentukan bagaimana jalur baru diautentikasi dan apa yang terjadi pada jalur lama.

Catat alamat dan pengenal mana yang tetap stabil: titik akhir terowongan, pengenal sesi operator, dan proksi apa pun di antaranya. Proksi menambah batas ketersediaan dan kepercayaan lain bahkan ketika ia tidak pernah melihat muatan yang dilindungi.

Di sinilah kebijakan juga berada. Jalur yang bergabung dari jaringan tak terduga bisa valid secara teknis dan tetap melanggar model kepercayaan yang dimaksudkan. Putuskan apakah jalur baru diterima otomatis, memerlukan autentikasi, atau ditolak.

Jaminan empat: perilaku terbatas saat kegagalan

Uji kegagalan jalur sepenuhnya, bukan hanya jalur yang lambat. Jalur yang bertahan harus membawa sesi tanpa pertumbuhan memori tak terbatas, dan pemulihan tidak boleh bergantung pada timer yang lebih lama daripada yang dapat ditoleransi aplikasi. Saat jalur yang gagal kembali, operator harus memutuskan apakah akan menyeimbangkan ulang atau membiarkan aliran di tempatnya.

Tetapkan batas untuk penyangga, pengiriman ulang, dan jumlah jalur, lalu verifikasi di bawah kehilangan, pengurutan ulang, duplikasi, dan ketidakseimbangan penundaan. Bandwidth agregat adalah angka paling tidak menarik di sini; kelangsungan pengiriman dan batas memori adalah kontraknya.

Jaga keadaan pemulihan operator terpisah dari keadaan kriptografis VPN. Lapisan keandalan khusus yang menggantikan autentikasi atau enkripsi yang sudah mapan bukan jalan pintas, dan menggunakan kembali nomor urut antar lapisan membuat perlindungan replay dan diagnostik menjadi tidak andal.

Terima operator dengan rencana pengujian

Tulis keempat jaminan sebagai pemeriksaan lulus atau gagal: satu aliran berurutan, pemulihan yang ditentukan, identitas sesi stabil, perilaku kegagalan terbatas. Jalankan setiap pemeriksaan dengan satu jalur terdegradasi lalu dengan satu jalur dihapus.

Satu transfer berkas yang berhasil melalui perubahan jalur tidak membuktikan operasi berkelanjutan. Ulangi transfer sambil mengganti jalur yang disukai, dan periksa pandangan operator maupun penghitung VPN sendiri. Jika keduanya tidak sepakat tentang jalur mana yang membawa data, kontraknya belum dapat diamati.

Simpan matriks yang disetujui bersama penerapan. Itu memberi tahu insinyur berikutnya perilaku apa yang dijanjikan, kombinasi jalur mana yang diuji, dan mode kegagalan mana yang masih tidak didukung, tanpa putaran tebakan lain dari lampu status tautan.

Artikel terkait