ইন্টারনেট প্রটোকল TCP এবং UDP যে কারনে ব্যবহৃত হয়

এই আর্টিকেলটিতে ইন্টারনেট প্রটোকল TCP এবং UDP সম্পর্কে একটি স্পষ্ট ধারণা দেয়ার চেষ্টা করেছি। পুরো আর্টিকেলজুড়ে যে বিষয়গুলো আলোচনা করা হয়েছে সেগুলো হচ্ছে, TCP এবং UDP কি, প্রটোকল দুটি কিভাবে কাজ করে এবং এদের মধ্যে পার্থক্য।

যে কাজে ব্যবহার হয়

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

TCP

TCP stands for transmission control protocol. TCP/IP নেটওয়ার্কে ব্যবহৃত প্রধান প্রটোকলগুলোর একটি TCP প্রটোকল। TCP ব্যবহার করা হয় গ্যারান্টি হিসাবে যে সমস্ত ডেটা অর্ডার অনুযায়ী রিসিভ হয়েছে কিনা। আপনি যদি TCP ব্যবহার ছাড়াই কোনও ওয়েব পেইজ ভিউ করতে চান তাহলে আপনার ওয়েব পেইজ স্বাভাবিকভাবেই সবকিছু গোলমেলে করে ফেলবে, হয়ত দেখা যাবে আপনার ওয়েব পেইজের ইমেজগুলো ঠিকভাবে আসছে না কিংবা লেখাগুলো কোন অর্ডার মেইনটেইন করছে না অথবা সেখান থেকে কোন ফাইল ডাউনলোড করতে চাইলে নাও করতে পারেন বা কোন ক্রম ছাড়াই অকেজো একটি ফাইল পেতে পারেন যেটা অবশ্যই আপনি চান না।
TCP একটি কানেকশন-ওরিয়েন্টেড প্রটোকল আর এর মাধ্যমে যেটা বোঝায় যে অবশ্যই এটি একটি সেশন অ্যাকনলেজ করবে দুটি কম্পিউটারের মধ্যে যারা একে অপরের সাথে কমিউনিকেট করতে চায়। তাই কম্পিউটার দুটি তাদের সংযোগ ভেরিফাই করে কমিউনিকেট করবার জন্য এবং এটি করে থাকে একটি থ্রি-ওয়ে হ্যান্ডশেক ব্যবহার করে। এই থ্রি-ওয়ে হ্যান্ডশেক পদ্ধতির প্রথম স্টেপ এ একটি কম্পিউটার অন্য কম্পিউটারকে একটি ম্যাসেজ পাঠিয়ে থাকে যেটাকে বলে SYN. আর তারপর রিসিভিং কম্পিউটার সেন্ডার কম্পিউটারকে একটি অ্যাকনলেজমেন্ট পাঠায় যে, সে তার SYN ম্যাসেজটি পেয়েছে যেটি সে পাঠিয়েছিল। এবং তারপরে অবশেষে সেন্ডার কম্পিউটার আর একটি অ্যাকনলেজমেন্ট ম্যাসেজ পাঠায়। তারপরে এটি একবার সম্পন্ন হয়ে গেলে তারপর ডেটা আদান-প্রদান করা যায়। আরেকটি গুরুত্বপূর্ণ ব্যাপার TCP সম্পর্কে মনে রাখার বিষয় যেটি হ’ল এটি ডেটা আদান-প্রদানের গ্যারান্টি দেয়। সুতরাং যদি কোনও ডেটা প্যাকেটটি বিপথগামী হয় বা না পৌছায় তখন TCP প্যাকেটটা রিসেন্ড করে। এভাবে TCP ব্যবহারের মাধ্যমে ডেটা লস হওয়া থেকে রক্ষা পায়। যখন কোন একটি ওয়েব পেইজ লোড করা হয় তখন আপনার কম্পিউটার ওয়েব সার্ভার অ্যাড্রেস-এ TCP প্যাকেটস প্রেরন করে আর বলে যেন ওয়েব পেইজটা তাকে প্রেরন করা হয়। ওয়েব সার্ভার তখন TCP প্যাকেটস এর একটি স্ট্রিম প্রেরন করে যেগুলো আপনার ওয়েব ব্রাউজার একত্রিত করে ওয়েব পেজ গঠন করবার জন্য এবং পরিশেষে তা প্রদর্শন করে থাকে। যখন আপনি কোন লিংকে ক্লিক করেন, সাইন ইন করেন, কোন কমেন্ট পোষ্ট করেন অথবা অন্য কিছু, তখন আপনার ওয়েব ব্রাউজার সার্ভারের নিকট TCP প্যাকেট প্রেরন করে এবং সার্ভার প্রেরনকৃত TCP প্যাকেট ফেরত পাঠায়। TCP গ্যারান্টি দেয় যে রিসিপিয়েন্ট প্যাকেট রিসিভ করবে প্যাকেটগুলো নাম্বারিং করবার মাধ্যমে। রিসিপিয়েন্ট সেন্ডারের পাঠানো ম্যাসেজটি পেয়েছি বলে ফিরতি ম্যাসেজ পাঠায়। আর যদি কোন ফিরতি ম্যাসেজ না আসে তখন সেন্ডার আবার ম্যাসেজ পাঠায় যতক্ষন পর্যন্ত সে নিশ্চিত না হয় যে রিসিপিয়েন্ট তার ম্যাসেজ পেয়েছে। এররস বা ভুলের জন্যও প্যাকেট চেক করা হয়। TCP যেকোন ভাবেই হোক না কেন নির্ভরযোগ্যতা দিয়ে থাকে। TCP-ব্যবহার করে পাঠানো সব প্যাকেটগুলি ট্র্যাক করা হয় যাতে ট্রানজিটে কোনও ডেটা হারিয়ে না যায় বা ক্ষতিগ্রস্থ না হয়। এই কারণেই নেটওয়ার্ক হিচাপ থাকলেও ফাইল ডাউনলোডগুলি ক্ষতিগ্রস্থ হয় না। যদি রিসিপিয়েন্ট সম্পূর্ণ অফলাইন থাকে তাহলে সেক্ষেত্রে আপনার কম্পিউটারটি হাল ছেড়ে দেবে এবং আপনি একটি এরর ম্যাসেজ দেখতে পাবেন যেখানে এটি বলা থাকবে যে, এটি হোস্টের সাথে কমিউনিকেট করতে পারছে না।

UDP

UDP stands for User Datagram Protocol. ইনফরমেশনের প্যাকেট এবং ডেটাগ্রাম দুটি একই জিনিস। UDP, TCP দুটি প্রায় একইধরনের বলা যেতে পারে। UDP প্রটোকলও ডেটা প্রেরণ এবং গ্রহণের জন্য ব্যবহৃত হয় তবে মূল পার্থক্য হচ্ছে UDP কানেকশনলেস বা সংযোগহীন যার অর্থ এটি কোন সেশন গঠন করেনা TCP প্রটোকল এর মত এবং এটি ডেটা ডেলিভারির কোন গ্যারান্টিও দিয়ে থাকে না। তাই যখন একটি কম্পিউটার তার ডেটা প্রেরন করে তখন সে সেই ডেটা রিসিপিয়েন্ট পেল কিনা তা যাচাইয়ের অপেক্ষা করে না এবং পরবর্তি প্যাকেট পাঠানো অবিরত রাখে। আর এজন্য UDP-কে Fire and Forget প্রটোকল বলা হয়ে থাকে। যদি আপনি রিসিপিয়েন্ট হয়ে থাকেন এবং আপনি কিছু UDP প্যাকেট মিস করে থাকেন তাহলে আপনি সেসব মিসিং প্যাকেট এর জন্য সেন্ডারকে আর জিজ্ঞেস করতে পারবেন না। যেহেতু এটি রিপ্লাই পাবার অপেক্ষা করেনা তাই এটি TCP এর তুলনায় দ্রুত কমিউনিকেট করতে পারে। UDP তখনি ব্যবহার করা হয় যখন ডেটা আদান-প্রদানের স্পিডটাই মূখ্য ও গুরুত্বপূর্ণ এবং এরর চেকিং এরও প্রয়োজন নেই।
উদাহরণস্বরূপ- UDP প্রায়শই সরাসরি সম্প্রচার এবং অনলাইন গেমগুলির জন্য ব্যবহৃত হয়।

TCP vs UDP
ছবিতে TCP এবং UDP এর পার্থক্য দেখানো হয়েছে

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

ধন্যবাদ।

Leave a Comment