একাধিক পথে VPN: ক্যারিয়ারকে দিতে হওয়া চারটি নিশ্চয়তা
দুটি WAN লিংক ও কয়েকটি সকেট একটি VPN সংযোগ তৈরি করে না। আপনার প্রয়োজনীয় বাইট স্ট্রিম, পুনরুদ্ধার, প্রান্তবিন্দু পরিচয় ও ব্যর্থতার আচরণ নির্দিষ্ট করুন।
দ্বিতীয় WAN লিংক যোগ করুন আর টানেল উঠে আসে, তবুও একটি পথ দোল খেলে ফাইল কপি আটকে যায়। লিংকগুলি সুস্থ আর VPN প্রক্রিয়াগুলি চলছে; যা অনুপস্থিত তা হল ক্যারিয়ার ও টানেলের মধ্যে চুক্তি। কয়েকটি সকেট স্বয়ংক্রিয়ভাবে একটি সংযোগের মতো আচরণ করে না, এবং তাদের উপরের অ্যাপ্লিকেশনটি ডেলিভারি না ভাঙা পর্যন্ত পার্থক্য বুঝতে পারে না। চুক্তির প্রতিটি অংশ এমন ব্যর্থতার সাথে মেলে যা আপনি পরীক্ষা করতে পারেন, এবং এটাই এটিকে উপযোগী করে।
পণ্য বেছে নেওয়ার আগে সেই চুক্তি লিখুন। এর চারটি অংশ: VPN যে স্ট্রিম পায়, ক্যারিয়ার কীভাবে অনুপস্থিত ডেটা পুনরুদ্ধার করে, কোন প্রান্তবিন্দু পরিচয় পথ পরিবর্তনে টিকে থাকে, এবং পথ ব্যর্থ হলে সমগ্র ব্যবস্থা কীভাবে আচরণ করে।
লক্ষণ: লিংক চালু, সেশন তবুও ভাঙে
উভয় লিংক চালু দেখানো মনিটরিং গ্রাফ কেবল প্রমাণ করে প্রতিটি পথ ট্রাফিক বহন করতে পারে। এটি প্রমাণ করে না যে VPN একটি ক্রমান্বিত স্ট্রিম দেখে, একটি পথে হারানো প্যাকেট অন্যটিতে পুনরুদ্ধার হয়, বা সহকর্মী এখনও জানে কোন সেশনের সাথে কথা বলছে। চুক্তির বাকি অংশ গ্রাফ যা দেখাতে পারে না তা ঢাকে।
স্থানান্তর আটকে গেলে, দেখুন ক্যারিয়ার টিকে যাওয়া পথে ডেলিভারি চালিয়ে গেছে কি না। দ্বিতীয় লিংক নিষ্ক্রিয় থাকতে সেশন মরে গেলে ক্যারিয়ার এটি কখনও ব্যবহার করেনি। সেশন টিকে থাকলে কিন্তু ডেটা ক্রমবহির্ভূত বা দ্বিগুণ এলে ক্যারিয়ার সংযোগ-স্তরের চুক্তি ছাড়া প্যাকেট সরাচ্ছে। দুই পক্ষের টাইমস্ট্যাম্প সাধারণত এটি স্পষ্ট করে।
এই পার্থক্যই প্রতিকার নির্ধারণ করে। রাউটিং বা নীতির সমস্যায় পথ-নির্বাচন পরিবর্তন দরকার; অনুপস্থিত ক্রম ও পুনরুদ্ধার স্তরে ভিন্ন পরিবহন দরকার, বড় বাফার নয়।
প্রথম নিশ্চয়তা: সংযোগ-স্তরে বাইট স্ট্রিম
যদি VPN-এর নির্ভরযোগ্য ক্রমান্বিত স্ট্রিম দরকার, ক্যারিয়ারকে পৃথক পথের উপরে বাইট পরিসর চিহ্নিত করতে হবে। প্রতিটি অন্তর্নিহিত TCP সংযোগ কেবল নিজের সেগমেন্ট নম্বর করে, তাই প্রাপক কেবল সেই নম্বর দিয়ে পথের মধ্যে পুনর্বিন্যাস করতে পারে না।
Multipath TCP হল মানক উদাহরণ। এটি একটি নির্ভরযোগ্য বাইট স্ট্রিম উপস্থাপন করে আর কয়েকটি TCP উপস্ট্রিম সমন্বয় করে, ডেটা-স্তরের ক্রম ম্যাপিং ও স্বীকৃতি সহ। অ্যাপ্লিকেশন স্ট্রিম পড়ে, সেই উপস্ট্রিম নয় যা ঘটনাক্রমে আগে টুকরো দিয়েছিল।
Linux-এ MPTCP প্রতি সকেটে IPPROTO_MPTCP দিয়ে opt-in। যখন দর-কষাকষি বহুপথ আচরণ ব্যবহার করতে পারে না, নথিভুক্ত বিকল্প হল সাধারণ TCP, অর্থাৎ অ্যাপ্লিকেশন দ্বিতীয় পথ কখনও ব্যবহার না করেই একটি পথে চলতে পারে। কার্নেল সেটিং প্রয়োগ হয়েছে ধরে নেওয়ার বদলে মোতায়েন করা সকেট আসলে কী আচরণে সম্মত হয়েছে তা যাচাই করুন।
দ্বিতীয় নিশ্চয়তা: ক্রম, দ্বিগুণতা ও পুনরুদ্ধার
ভিন্ন বিলম্ব ও ক্ষতি-হারের পথ ক্যারিয়ারকে বাফারিং, পুনর্বিন্যাস ও পুনঃপ্রেরণে বাধ্য করে। চুক্তিতে বলতে হবে কত বাফারিং অনুমোদিত, অ্যাপ্লিকেশন কী প্রতিচাপ দেখে এবং কোন পথ পুনঃপ্রেরণ বহন করে।
সংযুক্ত থেকে ডেলিভারি বন্ধ করা পথ পরিষ্কার বন্ধের চেয়ে কঠিন। ক্যারিয়ারকে এটি শনাক্ত করতে হবে, অপেক্ষমাণ ডেটা সরাতে হবে এবং কখনও না আসা সেগমেন্টের চিরন্তন অপেক্ষা এড়াতে হবে। দুটি লিংক চালু আছে এমন সরল পরীক্ষা এই অবস্থা ঢাকে না।
দ্বিগুণতার নিজস্ব নিয়ম দরকার। একই পেলোড দুই পথে পাঠানো বিলম্ব উন্নত করতে পারে, তবে প্রাপককে অনুলিপি VPN-এ পৌঁছানোর আগে দমন করতে হবে। IPsec anti-replay প্রতি নিরাপত্তা-সংযোগে ঐচ্ছিক এবং ক্রম নম্বর যাচাই করে; প্যাকেট পুনর্বিন্যস্ত বা পুনঃচালিত করা দ্বিগুণতা স্তর এটি সক্রিয় করতে পারে বা টানেল পড়ার আগে সমস্যা লুকাতে পারে।
তৃতীয় নিশ্চয়তা: প্রান্তবিন্দু পরিচয় ও পথের যোগদান
সহকর্মীর নতুন পথ দেখা দিলে সেশন চেনার স্থির উপায় দরকার। প্রতিটি পথ আলাদা টানেল হিসেবে প্রমাণিত হলে VPN একটির বদলে দুটি সেশন দেখতে পারে। ক্যারিয়ার পথগুলি এক সেশনের অধীনে একত্র করলে নতুন পথ কীভাবে প্রমাণিত হয় এবং পুরোটির কী হয় তা নির্ধারণ করতে হবে।
কোন ঠিকানা ও শনাক্তকারী স্থির থাকে তা লিপিবদ্ধ করুন: টানেলের প্রান্তবিন্দু, ক্যারিয়ারের সেশন শনাক্তকারী এবং মাঝের যেকোনো প্রক্সি। প্রক্সি প্রাপ্যতা ও বিশ্বাসের আরেকটি সীমা যোগ করে, এমনকি যখন এটি সুরক্ষিত পেলোড কখনও দেখে না।
নীতি এখানেও থাকে। অপ্রত্যাশিত নেটওয়ার্ক থেকে যোগ দেওয়া পথ কারিগরি ভাবে বৈধ হতে পারে এবং তবুও অভীষ্ট বিশ্বাস-মডেল লঙ্ঘন করতে পারে। নতুন পথ স্বয়ংক্রিয়ভাবে গ্রহণ করা হয়, প্রমাণীকরণ চায় নাকি প্রত্যাখ্যান করা হয় তা ঠিক করুন।
চতুর্থ নিশ্চয়তা: ব্যর্থতার অধীনে সীমিত আচরণ
পথের সম্পূর্ণ ব্যর্থতা পরীক্ষা করুন, কেবল ধীর পথ নয়। টিকে যাওয়া পথকে সেশন অসীম স্মৃতিবৃদ্ধি ছাড়া বহন করতে হবে, এবং পুনরুদ্ধার অ্যাপ্লিকেশনের সহনসীমার চেয়ে দীর্ঘ টাইমারের উপর নির্ভর করা উচিত নয়। ব্যর্থ পথ ফিরে এলে ক্যারিয়ারকে পুনঃভারসাম্য বা প্রবাহ যথাস্থানে রাখার সিদ্ধান্ত নিতে হবে।
বাফারিং, পুনঃপ্রেরণ ও পথ-সংখ্যার সীমা নির্ধারণ করুন, তারপর সেগুলি ক্ষতি, পুনর্বিন্যাস, দ্বিগুণতা ও বিলম্ব-অসামঞ্জস্যে যাচাই করুন। মোট ব্যান্ডউইথ এখানে সবচেয়ে কম আকর্ষণীয় সংখ্যা; ডেলিভারির ধারাবাহিকতা ও স্মৃতি-সীমাই চুক্তি।
ক্যারিয়ারের পুনরুদ্ধার অবস্থা VPN-এর ক্রিপ্টোগ্রাফিক অবস্থা থেকে আলাদা রাখুন। প্রতিষ্ঠিত প্রমাণীকরণ বা এনক্রিপশন প্রতিস্থাপনকারী নিজস্ব নির্ভরযোগ্যতা স্তর কোনো শর্টকাট নয়, এবং স্তরগুলির মধ্যে ক্রম নম্বর পুনঃব্যবহার replay সুরক্ষা ও নির্ণয়কে অবিশ্বাস্য করে তোলে।
ক্যারিয়ারকে পরীক্ষা পরিকল্পনা সহ গ্রহণ করুন
চারটি নিশ্চয়তা পাস বা ফেল যাচাই হিসেবে লিখুন: একটি ক্রমান্বিত স্ট্রিম, নির্ধারিত পুনরুদ্ধার, স্থির সেশন পরিচয়, সীমিত ব্যর্থতা আচরণ। প্রতিটি যাচাই একটি পথ দুর্বল ও পরে একটি পথ অপসারিত অবস্থায় চালান।
পথ পরিবর্তনের মধ্য দিয়ে একটি সফল ফাইল স্থানান্তর ধারাবাহিক পরিচালনা প্রমাণ করে না। পছন্দের পথ বদলাতে বদলাতে স্থানান্তর পুনরাবৃত্তি করুন, এবং ক্যারিয়ারের দৃষ্টিভঙ্গি ও VPN-এর নিজস্ব কাউন্টার দুটোই পরীক্ষা করুন। ডেটা কোন পথে গেছে তা নিয়ে দুটি একমত না হলে চুক্তি এখনও পর্যবেক্ষণযোগ্য নয়।
অনুমোদিত ম্যাট্রিক্স মোতায়েনের সাথে রাখুন। এটি পরবর্তী প্রকৌশলীকে বলে কোন আচরণ প্রতিশ্রুত ছিল, পথের কোন সমন্বয় পরীক্ষা করা হয়েছে এবং কোন ব্যর্থতা পদ্ধতি এখনও অসমর্থিত, লিংক-স্থিতি বাতি থেকে নতুন অনুমান না করেই।