VPN ব্যবহারকারীর অভিজ্ঞতা উন্নত করা

এই পৃষ্ঠা নেটওয়ার্ক অপারেটরদের জন্য নির্দেশিকা প্রদান করে যাতে তারা নিশ্চিত করতে পারে যে কনজিউমার ও এন্টারপ্রাইজ ভার্চুয়াল প্রাইভেট নেটওয়ার্ক (VPN) অ্যাপ তাদের নেটওয়ার্কে ভাল এন্ড-ইউজার অভিজ্ঞতা প্রদান করে। Android, ডেভেলপারদের VPN সলিউশন তৈরি করার জন্য VpnManager ক্লাস প্রদান করে, যা গ্রাহক এবং এন্টারপ্রাইজ তাদের কমিউনিকেশন এনক্রিপ্ট করতে বা বিভিন্ন নেটওয়ার্কে রুট করতে ব্যবহার করে।

আমরা নেটওয়ার্ক অপারেটরদের এই নির্দেশিকা অনুসরণ করতে সাজেস্ট করি:

  • আপনার নেটওয়ার্কে IPv6 এনক্যাপসুলেটিং সিকিউরিটি পেলোড (ESP) প্রোটোকল (পরবর্তী হেডার ৫০) প্যাকেট সাপোর্ট করুন, যাতে এই ট্রাফিকের পারফর্ম্যান্স ইউজার ডেটাগ্রাম প্রোটোকল (UDP) বা ট্রান্সমিশন কন্ট্রোল প্রোটোকল (TCP) কানেকশনের সাথে তুলনীয় হয়। ESP সেশনকে ডিভাইস থেকে আসা ইনবাউন্ড ট্রাফিকের অনুমতি দিতে হবে অথবা খুব বেশি টাইম-আউট সেট করতে হবে এবং লাইন রেটে ফরওয়ার্ড করতে হবে।
  • নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন (NAT) ও স্টেটফুল ফায়ারওয়াল টাইমআউট সেট করুন যা ৪৫০০ পোর্টে UDP কানেকশনের জন্য কমপক্ষে ৬০০ সেকেন্ডের হতে হবে যাতে VPN সলিউশন অতিরিক্ত পাওয়ার খরচ না করেই নির্ভরযোগ্য কানেক্টিভিটি বজায় রাখতে পারে।

IPv6 ESP প্রোটোকল (নেক্সট হেডার ৫০) প্যাকেট কাজ করে

Encapsulating Security Payload (ESP) হল প্যাকেট ফর্ম্যাট যা VPN সলিউশনে প্যাকেট এনক্রিপ্ট ও যাচাই করার জন্য ইন্টারনেট প্রোটোকল সিকিউরিটি (IPSec) প্রোটোকলের অংশ হিসেবে সংজ্ঞায়িত করা হয়। Android OS তার বিল্ট-ইন VPN সমাধানে এই স্ট্যান্ডার্ড নিরাপত্তা প্রোটোকল প্রয়োগ করে।

IPv6-এর উপযুক্ত নেটওয়ার্কে, ESP প্যাকেট সরাসরি IPv6 প্যাকেটে 50-এর নেক্সট হেডার ফিল্ডের সাথে নিয়ে যাওয়া হয়। কোনও নেটওয়ার্ক যদি এই ধরনের প্যাকেট সঠিকভাবে সাপোর্ট না করে, তাহলে VPN সলিউশনের ক্ষেত্রে কানেক্টিভিটির অভাব দেখা দিতে পারে, যার লক্ষ্য হল প্যাকেটের আরও এনক্যাপসুলেশন ছাড়াই এই প্রোটোকল ব্যবহার করা। ফায়ারওয়াল কনফিগারেশনের কারণে নেটওয়ার্ক এইসব প্যাকেট ড্রপ করতে পারে। অথবা ESP প্যাকেট নেটওয়ার্কে স্লো পাথ হিট করতে পারে, যার ফলে TCP বা UDP কানেকশনের তুলনায় থ্রুপুট পারফর্ম্যান্স মারাত্মকভাবে কমে যায়।

ইন্টারনেট ইঞ্জিনিয়ারিং টাস্ক ফোর্স (IETF) গ্রাহকের ইন্টারনেট অ্যাক্সেস পরিষেবার মাধ্যমে ব্যবহৃত ফায়ারওয়ালের মাধ্যমে IPsec-কে অনুমতি দেওয়ার সাজেশন দেয়। যেমন, RFC 6092-এর ৩.২.৪ বিভাগ দেখুন। ESP প্যাকেটকে নিরাপদে উভয় দিকেই ফায়ারওয়ালের মাধ্যমে অনুমতি দেওয়া যেতে পারে কারণ কোনও ডিভাইস যদি এমন ESP প্যাকেট পায় যা আগে থেকে থাকা কোনও নিরাপত্তা অ্যাসোসিয়েশনের অংশ নয়, তাহলে ডিভাইসটি প্যাকেটটি বাতিল করে দেয়। এর ফলে, VPN কানেক্টিভিটি বজায় রাখতে ডিভাইসকে কিপঅ্যালাইভ প্যাকেট পাঠাতে হয় না, এর ফলে ব্যাটারির আয়ু বাড়ে। আমরা সাজেস্ট করি যে নেটওয়ার্ক যেন সব সময় ডিভাইসে ESP প্যাকেট অনুমোদন করে অথবা দীর্ঘ সময় ধরে কোনও অ্যাক্টিভিটি না থাকলে (যেমন, ৩০ মিনিট) তবেই ESP সেশন টাইম-আউট করে।

আমরা সাজেস্ট করি যে নেটওয়ার্ক অপারেটররা যেন তাদের নেটওয়ার্কে ESP প্রোটোকল প্যাকেট (IPv6 প্যাকেট যার নেক্সট হেডার ৫০) সাপোর্ট করে এবং লাইন রেটে হার্ডওয়্যারে সেইসব প্যাকেট ফরওয়ার্ড করে। এটি নিশ্চিত করে যে VPN সলিউশন কানেক্টিভিটি সংক্রান্ত সমস্যার সম্মুখীন না হয় এবং UDP বা TCP কানেকশনের মতো পারফর্ম্যান্স প্রদান করে।

যথেষ্ট NAT ও স্টেটফুল ফায়ারওয়াল টাইম-আউট সেট করা

কানেকশনের নির্ভরযোগ্যতা বজায় রাখতে, VPN সলিউশনকে VPN সার্ভারের সাথে দীর্ঘস্থায়ী কানেকশন বজায় রাখতে হয় যা আউটবাউন্ড ও ইনবাউন্ড কানেক্টিভিটি প্রদান করে (যেমন, ইনকামিং পুশ বিজ্ঞপ্তি, চ্যাট মেসেজ এবং অডিও বা ভিডিও কল রিসিভ করা)। বেশিরভাগ IPsec VPN অ্যাপ, IPv4 UDP প্যাকেটে এনক্যাপসুলেট করা ESP ব্যবহার করে, যার ডেস্টিনেশন পোর্ট 4500 হয়। এটি RFC 3948-এ বর্ণনা করা হয়েছে।

এই কানেকশন বজায় রাখতে, ডিভাইসকে মাঝে মাঝে সার্ভারে প্যাকেট পাঠাতে হয়। এইসব প্যাকেটকে অবশ্যই নেটওয়ার্ক অপারেটরের দ্বারা আরোপিত NAT এবং ফায়ারওয়াল টাইমআউটের চেয়ে বেশি ফ্রিকোয়েন্সিতে পাঠাতে হবে। ঘন ঘন কিপঅ্যালাইভ ক্লায়েন্ট সাইডে অনেক বেশি পাওয়ার খরচ করে এবং ব্যাটারির আয়ুর উপর এর বড় প্রভাব পড়ে। এছাড়াও, ডিভাইসটি অন্যথায় আইডল থাকলেও, সেগুলি নেটওয়ার্কে প্রচুর সিগন্যালিং ট্রাফিক জেনারেট করে।

ব্যাটারির উপর প্রভাব এড়াতে, আমরা অপারেটরদের NAT এবং স্টেটফুল ফায়ারওয়াল টাইমআউট যথেষ্ট বেশি রাখতে সাজেস্ট করি। IPsec UDP এনক্যাপসুলেশন (পোর্ট ৪০০০)-এর জন্য সাজেস্ট করা টাইমআউট হল ৬০০ সেকেন্ড বা তার বেশি।

মোবাইল নেটওয়ার্কে, UDP NAT টাইমআউট প্রায়ই কম রাখা হয় কারণ IPv4 অ্যাড্রেসের দুর্লভতা পোর্ট রিইউজ ফ্যাক্টরকে অনেক বেশি করে দেয়। তবে, VPN কানেকশন তৈরি হয়ে গেলে, ইনবাউন্ড বিজ্ঞপ্তি ডেলিভার করার জন্য ব্যবহৃত দীর্ঘমেয়াদী TCP কানেকশনের মতো কানেকশন ডিভাইসের নেটওয়ার্কে কাজ করতে হবে না। তাই, VPN চালু থাকলে নেটওয়ার্ককে যতগুলি দীর্ঘমেয়াদী কানেকশন সাপোর্ট করতে হয়, VPN চালু না থাকলে ততগুলি বা তার থেকে কম কানেকশন সাপোর্ট করতে হয়।