সিরিজ: কম্পিউটার নেটওয়ার্ক (IP vs TCP)

IP এবং TCP: ইন্টারনেটের রাস্তা আর ট্রাফিক নিয়ম
আমরা আগের কয়েকটি পর্বে CPU, Thread, Concurrency, Parallelism ইত্যাদি নিয়ে কথা বলেছি—অর্থাৎ, কিভাবে একটি কম্পিউটার অভ্যন্তরীণভাবে অনেক কাজ একসাথে সামলায়।
এবার আমরা সেই কম্পিউটারের দুনিয়া থেকে বের হয়ে নেটওয়ার্কের জগতে ঢুকব—যেখানে হাজার হাজার কম্পিউটার একে অপরের সাথে কথা বলে। আর এই কথোপকথনের দুই প্রধান ভিত্তি হলো IP আর TCP।
প্রথমে আমরা IP দিয়ে শুরু করছি,
IP – Internet Protocol
IP হচ্ছে এক ধরনের প্রোটোকল যা ডেটাকে “প্যাকেট” আকারে ভেঙে তার ঠিকানায় পৌঁছে দেয়। প্রতিটি ডিভাইসের জন্য থাকে একটি ইউনিক IP Address, যেটা ডাকপিয়নের হাতে লেখা ঠিকানার মতো — যেখানে ঠিকানা ভুল হলে চিঠি ভুল জায়গায় চলে যায়।
IP-এর দায়িত্ব শুধু একটাই —
“ডেটা এক স্থান থেকে অন্য স্থানে পৌঁছে দেওয়া
অর্থাৎ IP ডাকপিয়নের মতো — সে শুধু চিঠি তুলে নেয় আর ঠিকানায় পৌঁছে দেয়।
IP-এর প্রধান কাজ হলো
Source থেকে Destination-এ data পাঠানো।
Data কে ছোট ছোট অংশে (packets) ভাগ করে ফেলা এবং প্রতিটি packet-এ প্রেরক ও প্রাপকের IP address অনুযায়ী তার গন্তব্যে পাঠানো।
IP এর Limitations
No guarantee of delivery: IP শুধু প্যাকেট পাঠিয়ে দেয়, কিন্তু পৌঁছেছে কিনা — সেটা সে জানে না।
No guarantee of order: প্যাকেটগুলো যে কোন ক্রমে পৌঁছাতে পারে, অর্থাৎ প্যাকেট গুলো ধারাবাহিক ভাবে পৌছাবে কিনা তার কোনো নিশ্চয়তা নেই। আগে পাঠানো প্যাকেট পরেও আসতে পারে।
No guarantee of integrity: যদি কোনো Packet corrupt হয় তবে সেটা পুনঃরায় পাঠায় না। বা IP নিজে তা ঠিক করতে পারেনা।
অর্থাৎ, IP এক ধরনের addressing and delivery service, কিন্তু reliability police নয়।
TCP – Transmission Control Protocol
IP হলো রাস্তা, TCP হলো সেই রাস্তায় চলাচলের ট্রাফিক নিয়ম + ডেলিভারি গ্যারান্টি।
TCP, IP-এর উপর কাজ করে (TCP/IP stack)।
যখন আমরা বলি TCP/IP, তখন বোঝাই — IP data পাঠাচ্ছে, TCP নিশ্চিত করছে যে সেটা ঠিকভাবে এবং সঠিক ক্রমে পৌঁছেছে।
TCP-এর কাজ হলো
Reliable delivery: কোনো Data হারিয়ে গেলে তাকে আবার পাঠানো।
Ordered delivery: Data সঠিক ক্রমে সাজিয়ে দেওয়া।
Error detection and correction: কোনো Packet corrupted হলে তাকে পুনরায় পাঠানো।
Flow control: Receiver যত দ্রুত নিতে পারবে, তত গতিতেই ডাটা পাঠানো।
Connection-oriented: Data পাঠানোর আগে Sender আর Receiver-এর মধ্যে handshake (3-way handshake) ঘটানো।
TCP এর Limitations
Overhead বেশি — Reliability বজায় রাখতে বেশি control message লাগে।
Real-time applications-এর জন্য latency বাড়তে পারে।
বাস্তব উদাহরণ
ধরো, তুমি এক শহর থেকে আরেক শহরে বন্ধুকে কিছু জিনিস পাঠাচ্ছো।
IP হলো:
তুমি জিনিসগুলো ট্রাকে তুলে দিচ্ছো।
প্রতিটি বাক্সে প্রাপকের ঠিকানা লিখে দিচ্ছো।
রাস্তা দিয়ে ড্রাইভার যাবে, কিন্তু সে নিশ্চিত করছে না সব বাক্স পৌঁছাবে কিনা বা ঠিক ক্রমে পৌঁছাবে কিনা।
TCP হলো:
ডেলিভারি কোম্পানি যেটা নিশ্চিত করছে যে তোমার পাঠানো প্রতিটি বাক্স পৌঁছাবে।
যদি কোনো বাক্স হারায়, সেটা আবার পাঠাবে।
বাক্সগুলো যেভাবে পাঠানো হয়েছিল, ঠিক সেই ক্রমে সাজিয়ে বন্ধুকে দেবে।
আর সবকিছু শুরু হবে তোমার সাথে রিসিভারের যোগাযোগ (handshake) হওয়ার পর।
একসাথে কাজ করা – TCP/IP
তুমি যদি একটি ওয়েবসাইট ভিজিট করো:
IP তোমার কম্পিউটার থেকে ওয়েব সার্ভারের Address খুঁজে বের করে।
TCP নিশ্চিত করে যে HTML, CSS, JS ফাইলের প্রতিটি bit ঠিকভাবে, সঠিক ক্রমে তোমার ব্রাউজারে পৌঁছেছে।
কেন এগুলো দরকার
IP ছাড়া ইন্টারনেটে কে কোথায় আছে তা জানা সম্ভব না।
TCP ছাড়া Data loss, ভুল ক্রম, বা corruption এড়ানো যাবে না।
একসাথে, এগুলো ইন্টারনেটকে reliable global communication system বানিয়েছে।
সংক্ষিপ্ত তুলনা
IP → Addressing + Routing, but unreliable.
TCP → Reliability + Ordering + Error correction, built on top of IP.
শেষ কথা
CPU-তে যেমন Thread আর Process মিলে efficient কাজ হয়, নেটওয়ার্কে ঠিক তেমনই IP আর TCP মিলে data communication efficient ও reliable হয়।
IP তোমাকে গন্তব্যের রাস্তা দেখায়, TCP নিশ্চিত করে তুমি গন্তব্যে ঠিকভাবে পৌঁছেছো কিনা।
Subscribe to my newsletter
Read articles from AL Hasib directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
