ডিক্রিপশন আইপি ফ্র্যাগমেন্টেশন এবং রিঅ্যাসেম্বলি: মাইলিঙ্কিং™ নেটওয়ার্ক প্যাকেট ব্রোকার আইপি ফ্র্যাগমেন্টেড প্যাকেট শনাক্ত করে

ভূমিকা

আমরা সবাই আইপি-এর ক্লাসিফিকেশন ও নন-ক্লাসিফিকেশন নীতি এবং নেটওয়ার্ক কমিউনিকেশনে এর প্রয়োগ সম্পর্কে জানি। প্যাকেট ট্রান্সমিশন প্রক্রিয়ায় আইপি ফ্র্যাগমেন্টেশন এবং রিঅ্যাসেম্বলিং একটি মূল কৌশল। যখন একটি প্যাকেটের আকার কোনো নেটওয়ার্ক লিঙ্কের ম্যাক্সিমাম ট্রান্সমিশন ইউনিট (MTU) সীমা অতিক্রম করে, তখন আইপি ফ্র্যাগমেন্টেশন ট্রান্সমিশনের জন্য প্যাকেটটিকে একাধিক ছোট ছোট খণ্ডে বিভক্ত করে। এই খণ্ডগুলো নেটওয়ার্কে স্বাধীনভাবে প্রেরিত হয় এবং গন্তব্যে পৌঁছানোর পর আইপি রিঅ্যাসেম্বলিং কৌশলের মাধ্যমে পুনরায় একত্রিত হয়ে সম্পূর্ণ প্যাকেট তৈরি করে। ফ্র্যাগমেন্টেশন এবং রিঅ্যাসেম্বলিং-এর এই প্রক্রিয়াটি ডেটার অখণ্ডতা এবং নির্ভরযোগ্যতা নিশ্চিত করার পাশাপাশি নেটওয়ার্কে বড় আকারের প্যাকেট প্রেরণ করা সম্ভব করে তোলে। এই অংশে, আমরা আইপি ফ্র্যাগমেন্টেশন এবং রিঅ্যাসেম্বলিং কীভাবে কাজ করে তা আরও গভীরভাবে দেখব।

আইপি খণ্ডন এবং পুনঃসংযোজন

বিভিন্ন ডেটা লিঙ্কের সর্বোচ্চ ট্রান্সমিশন ইউনিট (MTU) ভিন্ন ভিন্ন হয়; উদাহরণস্বরূপ, FDDI ডেটা লিঙ্কের MTU হলো ৪৩৫২ বাইট এবং ইথারনেটের MTU হলো ১৫০০ বাইট। MTU-এর পূর্ণরূপ হলো ম্যাক্সিমাম ট্রান্সমিশন ইউনিট এবং এটি নেটওয়ার্কের মাধ্যমে প্রেরণযোগ্য প্যাকেটের সর্বোচ্চ আকারকে বোঝায়।

FDDI (ফাইবার ডিস্ট্রিবিউটেড ডেটা ইন্টারফেস) হলো একটি উচ্চ-গতির লোকাল এরিয়া নেটওয়ার্ক (LAN) স্ট্যান্ডার্ড যা ট্রান্সমিশন মাধ্যম হিসেবে অপটিক্যাল ফাইবার ব্যবহার করে। ম্যাক্সিমাম ট্রান্সমিশন ইউনিট (MTU) হলো ডেটা লিঙ্ক লেয়ার প্রোটোকল দ্বারা প্রেরিত হতে পারে এমন সর্বোচ্চ প্যাকেটের আকার। FDDI নেটওয়ার্কে, MTU-এর আকার হলো ৪৩৫২ বাইট। এর মানে হলো, FDDI নেটওয়ার্কে ডেটা লিঙ্ক লেয়ার প্রোটোকল দ্বারা প্রেরিত হতে পারে এমন সর্বোচ্চ প্যাকেটের আকার হলো ৪৩৫২ বাইট। যদি প্রেরিতব্য প্যাকেট এই আকার অতিক্রম করে, তবে প্রেরণের জন্য এবং রিসিভারে পুনরায় একত্রিত করার জন্য প্যাকেটটিকে MTU আকারের উপযুক্ত একাধিক খণ্ডে বিভক্ত করতে হয়।

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

আমরা আগেও টিসিপি সেগমেন্ট নিয়ে আলোচনা করেছি, কিন্তু এমএসএস (MSS)-এর পূর্ণরূপ হলো ম্যাক্সিমাম সেগমেন্ট সাইজ (Maximum Segment Size), এবং এটি টিসিপি প্রোটোকলে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। একটি টিসিপি সংযোগে প্রেরণের জন্য অনুমোদিত সর্বোচ্চ ডেটা সেগমেন্টের আকারকে এমএসএস দ্বারা বোঝানো হয়। এমটিইউ (MTU)-এর মতোই, এমএসএস প্যাকেটের আকার সীমিত করতে ব্যবহৃত হয়, কিন্তু এটি ট্রান্সপোর্ট লেয়ারে, অর্থাৎ টিসিপি প্রোটোকল লেয়ারে, এই কাজটি করে থাকে। টিসিপি প্রোটোকল অ্যাপ্লিকেশন লেয়ারের ডেটাকে একাধিক ডেটা সেগমেন্টে বিভক্ত করে প্রেরণ করে, এবং প্রতিটি ডেটা সেগমেন্টের আকার এমএসএস দ্বারা সীমিত থাকে।

প্রতিটি ডেটা লিঙ্কের MTU ভিন্ন হয়, কারণ প্রতিটি ভিন্ন ধরনের ডেটা লিঙ্ক ভিন্ন ভিন্ন উদ্দেশ্যে ব্যবহৃত হয়। ব্যবহারের উদ্দেশ্যের ওপর নির্ভর করে বিভিন্ন MTU হোস্ট করা যেতে পারে।

ধরা যাক, প্রেরক একটি ইথারনেট লিঙ্কের মাধ্যমে প্রেরণের জন্য একটি বড় ৪০০০ বাইটের ডেটাগ্রাম পাঠাতে চায়, তাই প্রেরণের জন্য ডেটাগ্রামটিকে তিনটি ছোট ডেটাগ্রামে বিভক্ত করতে হবে। এর কারণ হলো, প্রতিটি ছোট ডেটাগ্রামের আকার MTU সীমা, যা ১৫০০ বাইট, অতিক্রম করতে পারে না। তিনটি ছোট ডেটাগ্রাম গ্রহণ করার পর, প্রাপক প্রতিটি ডেটাগ্রামের সিকোয়েন্স নম্বর এবং অফসেটের উপর ভিত্তি করে সেগুলোকে পুনরায় একত্রিত করে মূল ৪০০০ বাইটের বড় ডেটাগ্রামটি তৈরি করে।

 আইপি খণ্ডন এবং পুনঃসংযোজন

খণ্ডিত ট্রান্সমিশনে, একটি খণ্ড হারিয়ে গেলে পুরো আইপি ডেটাগ্রামটিই অকার্যকর হয়ে যায়। এটি এড়ানোর জন্য, টিসিপি এমএসএস (MSS) চালু করেছে, যেখানে আইপি লেয়ারের পরিবর্তে টিসিপি লেয়ারেই খণ্ডন করা হয়। এই পদ্ধতির সুবিধা হলো, প্রতিটি সেগমেন্টের আকারের উপর টিসিপির আরও সুনির্দিষ্ট নিয়ন্ত্রণ থাকে, যা আইপি লেয়ারে খণ্ডনের সাথে সম্পর্কিত সমস্যাগুলো এড়াতে সাহায্য করে।

UDP-এর ক্ষেত্রে, আমরা MTU-এর চেয়ে বড় ডেটা প্যাকেট না পাঠানোর চেষ্টা করি। এর কারণ হলো, UDP একটি সংযোগবিহীন ট্রান্সপোর্ট প্রোটোকল, যা TCP-এর মতো নির্ভরযোগ্যতা এবং পুনঃপ্রেরণের ব্যবস্থা প্রদান করে না। যদি আমরা MTU-এর চেয়ে বড় কোনো UDP ডেটা প্যাকেট পাঠাই, তবে প্রেরণের জন্য IP লেয়ার দ্বারা এটিকে খণ্ডিত করা হবে। একবার কোনো একটি খণ্ড হারিয়ে গেলে, UDP প্রোটোকল আর পুনঃপ্রেরণ করতে পারে না, যার ফলে ডেটা হারিয়ে যায়। অতএব, নির্ভরযোগ্য ডেটা প্রেরণ নিশ্চিত করার জন্য, আমাদের UDP ডেটা প্যাকেটের আকার MTU-এর মধ্যে নিয়ন্ত্রণ করার চেষ্টা করা উচিত এবং খণ্ডিত প্রেরণ এড়িয়ে চলা উচিত।

মাইলিঙ্কিং™ নেটওয়ার্ক প্যাকেট ব্রোকারএটি স্বয়ংক্রিয়ভাবে বিভিন্ন ধরণের টানেল প্রোটোকল যেমন VxLAN/NVGRE/IPoverIP/MPLS/GRE ইত্যাদি শনাক্ত করতে পারে, যা ব্যবহারকারীর প্রোফাইল অনুযায়ী টানেল ফ্লো আউটপুটের অভ্যন্তরীণ বা বাহ্যিক বৈশিষ্ট্য অনুসারে নির্ধারণ করা যায়।

○ এটি VLAN, QinQ, এবং MPLS লেবেল প্যাকেট শনাক্ত করতে পারে।

○ অভ্যন্তরীণ এবং বাহ্যিক VLAN সনাক্ত করতে পারে

○ IPv4/IPv6 প্যাকেট শনাক্ত করা যায়

○ VxLAN, NVGRE, GRE, IPoverIP, GENEVE, MPLS টানেল প্যাকেট শনাক্ত করতে পারে

○ আইপি ফ্র্যাগমেন্টেড প্যাকেট শনাক্ত করা যায় (আইপি ফ্র্যাগমেন্টেশন শনাক্তকরণ সমর্থিত এবং সমস্ত আইপি ফ্র্যাগমেন্টেশন প্যাকেটের উপর L4 ফিচার ফিল্টারিং বাস্তবায়নের জন্য আইপি ফ্র্যাগমেন্টেশনের পুনঃসংযোজন সমর্থন করে। ট্র্যাফিক আউটপুট পলিসি বাস্তবায়ন করা হয়।)

আইপি এবং টিসিপি কেন খণ্ডিত হয়?

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

ধরা যাক, একটি বড় প্যাকেট TCP লেয়ারে বিভক্ত না হওয়ায় পরিবহনের সময় হারিয়ে গেল; TCP সেটি পুনরায় প্রেরণ করবে, কিন্তু শুধুমাত্র সম্পূর্ণ বড় প্যাকেটটিই (যদিও IP লেয়ার ডেটাকে ছোট ছোট প্যাকেটে বিভক্ত করে, যার প্রতিটির একটি MTU দৈর্ঘ্য থাকে)। এর কারণ হলো, IP লেয়ার ডেটার নির্ভরযোগ্য প্রেরণ নিয়ে মাথা ঘামায় না।

অন্য কথায়, একটি মেশিনের ট্রান্সপোর্ট থেকে নেটওয়ার্ক লিঙ্কে, যদি ট্রান্সপোর্ট লেয়ার ডেটাকে খণ্ডিত করে, তবে আইপি লেয়ার তা করে না। যদি ট্রান্সপোর্ট লেয়ারে খণ্ডন না করা হয়, তবে আইপি লেয়ারে খণ্ডন সম্ভব।

সহজ কথায়, TCP ডেটাকে এমনভাবে খণ্ডিত করে যাতে IP লেয়ার আর খণ্ডিত না থাকে, এবং যখন পুনঃপ্রেরণ ঘটে, তখন কেবল খণ্ডিত ডেটার ক্ষুদ্র অংশই পুনরায় প্রেরণ করা হয়। এইভাবে, ট্রান্সমিশনের দক্ষতা এবং নির্ভরযোগ্যতা উন্নত করা যায়।

TCP খণ্ডিত হলে, IP স্তর কি খণ্ডিত হয় না?

উপরের আলোচনায় আমরা উল্লেখ করেছি যে, প্রেরকের কাছে TCP ফ্র্যাগমেন্টেশনের পর IP লেয়ারে আর কোনো ফ্র্যাগমেন্টেশন হয় না। তবে, ট্রান্সপোর্ট লিঙ্ক জুড়ে অন্যান্য নেটওয়ার্ক লেয়ার ডিভাইস থাকতে পারে, যেগুলোর ম্যাক্সিমাম ট্রান্সমিশন ইউনিট (MTU) প্রেরকের MTU-এর চেয়ে ছোট হতে পারে। তাই, যদিও প্যাকেটটি প্রেরকের কাছে ফ্র্যাগমেন্টেড হয়ে যায়, এই ডিভাইসগুলোর IP লেয়ারের মধ্য দিয়ে যাওয়ার সময় এটি আবার ফ্র্যাগমেন্টেড হয়। অবশেষে, প্রাপকের কাছে সমস্ত খণ্ডগুলো একত্রিত হয়ে যায়।

যদি আমরা সম্পূর্ণ লিঙ্কের উপর সর্বনিম্ন MTU নির্ধারণ করতে পারি এবং সেই দৈর্ঘ্যে ডেটা পাঠাতে পারি, তাহলে ডেটা যে নোডেই পাঠানো হোক না কেন, কোনো ফ্র্যাগমেন্টেশন ঘটবে না। সম্পূর্ণ লিঙ্কের উপর এই সর্বনিম্ন MTU-কে পাথ MTU (PMTU) বলা হয়। যখন একটি IP প্যাকেট একটি রাউটারে পৌঁছায়, যদি রাউটারের MTU প্যাকেটের দৈর্ঘ্যের চেয়ে কম হয় এবং DF (Do not Fragment) ফ্ল্যাগটি 1-এ সেট করা থাকে, তাহলে রাউটার প্যাকেটটিকে ফ্র্যাগমেন্ট করতে পারবে না এবং কেবল এটিকে ড্রপ করে দিতে পারে। এই ক্ষেত্রে, রাউটার "Fragmentation Needed But DF Set" নামক একটি ICMP (Internet Control Message Protocol) এরর মেসেজ তৈরি করে। এই ICMP এরর মেসেজটি রাউটারের MTU ভ্যালু সহ সোর্স অ্যাড্রেসে ফেরত পাঠানো হয়। যখন প্রেরক ICMP এরর মেসেজটি পায়, তখন সে নিষিদ্ধ ফ্র্যাগমেন্টেশন পরিস্থিতি পুনরায় এড়ানোর জন্য MTU ভ্যালুর উপর ভিত্তি করে প্যাকেটের আকার সামঞ্জস্য করতে পারে।

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

IPv6 সম্পর্কে প্রাথমিক ধারণা

IPv6 হলো ইন্টারনেট প্রোটোকলের ষষ্ঠ সংস্করণ, যা IPv4-এর উত্তরসূরি। IPv6 ১২৮-বিট অ্যাড্রেস দৈর্ঘ্য ব্যবহার করে, যা IPv4-এর ৩২-বিট অ্যাড্রেস দৈর্ঘ্যের চেয়ে বেশি আইপি অ্যাড্রেস সরবরাহ করতে পারে। এর কারণ হলো IPv4 অ্যাড্রেস স্পেস ক্রমশ ফুরিয়ে আসছে, অপরদিকে IPv6 অ্যাড্রেস স্পেস অত্যন্ত বিশাল এবং এটি ভবিষ্যতের ইন্টারনেটের চাহিদা মেটাতে সক্ষম।

IPv6-এর কথা বলতে গেলে, এটি অধিক অ্যাড্রেস স্পেসের পাশাপাশি উন্নততর নিরাপত্তা এবং স্কেলেবিলিটিও নিয়ে আসে, যার অর্থ হলো IPv4-এর তুলনায় IPv6 আরও ভালো নেটওয়ার্ক অভিজ্ঞতা প্রদান করতে পারে।

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

সারসংক্ষেপ

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


পোস্ট করার সময়: ০৭-আগস্ট-২০২৫