বিশ্লেষক একটি প্যাকেটকে খারাপ চেকসামযুক্ত বলে চিহ্নিত করে, আর ডাউনলোড করা একটি ফাইল ভুল দেখায়, তাই দুটি পর্যবেক্ষণকে VPN-এ নষ্ট হওয়ার একটিমাত্র গল্পে জোড়া লাগানো হয়। এগুলো ভিন্ন ভিন্ন বিন্দুতে নেওয়া ভিন্ন ভিন্ন পরিমাপ। একটি বর্ণনা করে নেটওয়ার্ক অ্যাডাপ্টার তার কাজ শেষ করার আগে ক্যাপচার ব্যবস্থা কী দেখেছে; অন্যটি বর্ণনা করে অ্যাপ্লিকেশন যে বাইটগুলো সংরক্ষণ করেছে। আসলে কোনটি বদলেছে তা নির্ধারণ করাই হলো সম্পূর্ণ রোগনির্ণয়।

অ্যাডাপ্টারের সাপেক্ষে ক্যাপচার কোথায় বসে

প্যাকেট ক্যাপচার হলো এমন একটি পথের এক বিন্দুতে তোলা তাৎক্ষণিক চিত্র, যেখানে একাধিক রূপান্তর আছে। হোস্ট স্ট্যাক আর তারের মধ্যে থাকে সেগমেন্টেশন, চেকসাম গণনা এবং গ্রহণের সময় একত্রীকরণ। একটি ক্যাপচার বিন্দু সেই মুহূর্তের অবস্থা দেখায়, যা চূড়ান্ত তার-ফ্রেমের সঙ্গে খুব কমই হুবহু মেলে। এটিকে তারটাই মনে করে পড়াই এমনভাবে ঘটে যে একটি প্লেসহোল্ডার ক্ষেত্র অভিযোগে পরিণত হয়।

তাই যেকোনো সন্দেহজনক ক্ষেত্র সম্পর্কে উপকারী প্রশ্ন হলো তা ভুল দেখাচ্ছে কি না নয়, বরং কোথায় তা পর্যবেক্ষণ করা হয়েছে। ক্যাপচার ইন্টারফেস, বিশ্লেষকের সংস্করণ এবং প্যাকেট স্তরটি ফলাফলের পাশে লিখে রাখুন; এই তিনটি ছাড়া চেকসাম লেবেলের কোনো অর্থই করা যায় না।

প্রেরণ অফলোড একটি ট্রেসে কী করে

প্রেরণ চেকসাম অফলোড চালু থাকলে অ্যাডাপ্টার চেকসাম গণনা করে এবং হোস্ট প্যাকেটটি সারিতে দেওয়ার পরে ক্ষেত্রটি পূরণ করে। তাই হোস্টের দিকের ক্যাপচার একটি প্লেসহোল্ডার লিপিবদ্ধ করে, এবং বিশ্লেষক এমন চেকসাম রিপোর্ট করে যা তার কখনো বহন করেনি। সেগমেন্টেশন অফলোডও অনুরূপ কৃত্রিমতা তৈরি করে, কারণ হোস্ট অ্যাডাপ্টারকে একটি বড় বাফার দিতে পারে যা পরে কয়েকটি ফ্রেমে পরিণত হয়।

Wireshark-এর অফলোডিং রেফারেন্স দুই প্রভাবই বর্ণনা করে এবং উল্লেখ করে যে আংশিক চেকসাম চেনা নির্ভর করে বিশ্লেষকের সংস্করণ ও প্যাকেটের ধরনের উপর। এ কারণেই একটি পুরোনো ক্যাপচার সরঞ্জাম আর একটি নতুন সরঞ্জাম একই ট্রেস নিয়ে ভিন্ন মত দিতে পারে, অথচ দুটিই তা সঠিকভাবেই পড়ছে।

এনক্যাপসুলেশন আরেকটি বস্তু যোগ করে

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

তুলনা করার দরকার হলে সমজাতীয়ের সঙ্গে সমজাতীয়ের তুলনা করুন: ভেতরের সঙ্গে ভেতরের, বাইরের সঙ্গে বাইরের, পথের একই বিন্দুতে। মিলহীন এক জোড়া ক্ষেত্র কেবল প্রমাণ করে দুটি ভিন্ন বস্তু মাপা হয়েছে। প্রতিটি ট্রেস কোন ইন্টারফেস থেকে এসেছে তা টুকে রাখুন, কারণ পরিষ্কার দেখতে একটি টানেল ক্যাপচার অ্যাডাপ্টার কী নির্গত করেছে সে সম্পর্কে কিছুই বলে না।

হ্যাশ দিয়ে ফাইলের অখণ্ডতা প্রমাণ করুন

ফাইলের নিজের জন্য, একটি পুনরুৎপাদনযোগ্য উৎস এবং সংরক্ষিত ফলাফলের বিষয়বস্তুর হ্যাশ গণনা করে ডাইজেস্ট দুটি মিলিয়ে দেখুন। এটি প্রতি-প্যাকেট লেবেলের চেয়ে ভিন্ন প্রশ্নের উত্তর দেয়, এবং ব্যবহারকারী আসলে যে বস্তুটি নিয়ে চিন্তিত তার সম্পর্কেই উত্তর দেয়।

sha256sum payload.bin
sha256sum /srv/transfer/payload.bin
cmp -l payload.bin /srv/transfer/payload.bin | head

সমান ডাইজেস্ট ওই স্থানান্তরের জন্য নষ্ট হওয়ার প্রশ্নটি বন্ধ করে। ভিন্ন ডাইজেস্ট আরও সংকীর্ণ একটি প্রশ্ন খোলে: বাইটগুলো যেখানে প্রথম বিচ্ছিন্ন হয় সেই প্রাচীনতম ধাপটি খুঁজুন, এবং দেখুন কোনো কিছু ইচ্ছাকৃতভাবে ফাইলটি রূপান্তর করেছে কি না। আংশিক সংরক্ষণ, পুনরায় এনকোড করা সংযুক্তি এবং প্রত্যাশিত ফাইলনামে সংরক্ষিত একটি ত্রুটি পাতা — সবই কোনো নেটওয়ার্ক ত্রুটি ছাড়াই বাইট বদলে দেয়।

কোনো অ্যাডাপ্টার পথকে স্থায়ী না করে তাকে চিহ্নিত করুন

একটি ডক বা অ্যাডাপ্টার অনুসরণ করা পুনরুৎপাদনযোগ্য সমস্যার জন্য VPN প্রোফাইল, অ্যাপ্লিকেশন, পরীক্ষার বস্তু ও গন্তব্য স্থির রেখে সমর্থিত বিকল্প ইন্টারফেস দিয়ে স্থানান্তরটি আবার করুন। যে ফলাফল অ্যাডাপ্টারের সঙ্গে বদলায় তা ত্রুটিটিকে ওই পথে সীমাবদ্ধ করে; এটি এখনো কোনো ড্রাইভার সেটিং শনাক্ত করে না, কিংবা পুরো মডেল জুড়ে ত্রুটি প্রমাণ করে না।

অফলোড পুরোপুরি বন্ধ করা একটি লোভনীয় পরীক্ষা এবং খারাপ ডিফল্ট। হোস্ট-ব্যাপী সেটিং পরীক্ষার অনেক বাইরের ট্রাফিকেও প্রভাবিত করে এবং প্রকৃত কর্মক্ষমতা খরচ বহন করতে পারে, তাই এমন যেকোনো পরিবর্তনকে সাময়িক ধরুন, তা লিখে রাখুন এবং ফিরিয়ে দিন। অন্য মেশিন থেকে ধার করা কোনো সমাধান ধরে রাখার আগে প্রস্তুতকারকের সমর্থিত ডায়াগনস্টিক ব্যবহার করুন।

প্রতিবেদনে বলা উচিত তিনটি ফলাফলের কোনটি বদলেছে: বিশ্লেষকের প্যাকেট-ব্যাখ্যা, সম্পূর্ণ হওয়া অ্যাপ্লিকেশন বাইট, নাকি একটি অ্যাডাপ্টার পথের পুনরুৎপাদনযোগ্যতা। এগুলো তিনটি ভিন্ন পরবর্তী পদক্ষেপে নিয়ে যায়, এবং তাদের মধ্যে কেবল একটি এনক্রিপশন সম্পর্কে।

সম্পর্কিত নিবন্ধ