TCP এর গল্প

TCP এর গল্প

অনলাইনে আমরা নিয়মিত তথ্যের আদান প্রদান করে থাকি। এই তথ্য বা data packet গুলো সুশৃঙ্খল নিয়ম মেনে চলাচল করে আর তাই আমরা দ্রুততম সময়ে সঠিক তথ্য পেতে এবং পাঠাতে পারি। এই যে ‘নিয়ম’ বা নির্দিষ্ট pattern মেনে চলা — এটাকে protocol বলা হয়। TCP একটি বহুল ব্যবহৃত protocol বা নিয়মের সমাহার। হ্যাকিং, প্রোগ্রামিং থেকে শুরু করে প্রায় সব রকম ক্ষেত্রে এর ব্যবহার দেখা যায়। আর তাই আজকের লেখা TCP নিয়ে বুঝানোর জন্য।

আজকের লেখায় যা যা থাকছে:
১. TCP কি
২. TCP কীভাবে কাজ করে
৩. কেন TCP দরকার
৪. হ্যাকিং এর সাথে TCP এর সম্পর্ক

TCP কি?

TCP শব্দটি হলো Transmission Control Protocol এর ক্ষুদ্ররূপ। মনে করুন আপনি ইউটিউবে একটি ভিডিও দেখতে চাচ্ছেন। আপনার কম্পিউটার থেকে ইউটিউব সার্ভারে যে কানেকশন হচ্ছে বা ভিডিও দেখার যেই রিকোয়েস্টটা যাচ্ছে — ওই কাজের সময়টিতে নেটওয়ার্ক প্রটোকল বা ‘তথ্য আদান প্রদানের নির্দিষ্ট নিয়ম’ হিসেবে TCP ব্যবহৃত হয়।

TCP কীভাবে কাজ করে?

TCP এর কাজের পদ্ধতিকে যদি ৩ ভাগে বর্ণনা করি তবে বুঝতে সুবিধা হবে।

যোগাযোগের শুরু :

TCP 3 way handshake

ছবিতে লক্ষ্য করুন। কানেকশন শুরু পূর্বে কম্পিউটার সার্ভারকে রিকোয়েস্ট পাঠাচ্ছে এবং তথ্যের সমন্বয় করার জন্য SYN নামক একটি ফ্ল্যাগ পাঠাচ্ছে। ২য় ধাপে, সার্ভার যদি উক্ত রিকোয়েস্ট ঠিকমত পায় তাহলে সে একটা রেসপন্স সেন্ড করে। এই রেস্পন্সের সাথে প্রথমে পাঠানো সেই SYN ফ্ল্যাগ এবং সার্ভার নিজের তৈরী ACK ফ্ল্যাগ পাঠায়। এই ACK মানে হলো ACKnowledge, সার্ভার আপনার রিকোয়েস্ট পেয়েছে তার প্রমাণ।
শেষ ধাপে, কম্পিউটার যখন দেখে, তার থেকে ঠিকমত রিকোয়েস্ট যাচ্ছে সার্ভারে এবং সার্ভারও উপযুক্ত প্রমাণ (flag) সহ রেস্পন্স করতে পারছে — তখন সে নিজে একটা ACK flag পাঠিয়ে কানেকশন শুরু করে। এটাকে বলে 3 way handshake.
ছবিতে আরেকটি জিনিস দেখুন, sequence নাম্বার। এটা মূলত data packet এর চিহ্ন বা ক্রম ঠিক রাখার জন্য ব্যবহার হয়। সার্ভার এবং কম্পিউটার আলাদা করে এই sequence নাম্বার সেট করে থাকে।

চলমান অবস্থা :

কানেকশন একবার তৈরী হয়ে যাওয়ার পরে কম্পিউটার থেকে request যায় আর সার্ভার থেকে response আসে। উল্টোটাও হয়।

যোগাযোগ শেষ :

TCP termination handshake

সার্ভারের সাথে যখন যোগাযোগ শেষ, তখন কম্পিউটার বা client নতুন একটা রিকোয়েস্ট পাঠায়। এখানে সে FIN ফ্ল্যাগ পাঠায় যার মানে হলো FINish. সার্ভার এই রিকোয়েস্ট পেয়ে সেও ACKnowledge করে এবং FINish রেসপন্স পাঠায়। সার্ভারের পাঠানো রেসপন্স দেখে client ফাইনাল ACKnowledge ফ্ল্যাগ পাঠায়। এখানেও ৩ ধাপে কানেকশন ক্লোজ হয়, কানেকশন শুরু করার মতো।

কেন TCP দরকার?

উপরে দেখিয়েছি কত নিয়ম মেনে, ধাপে ধাপে TCP তে যোগাযোগ হয়ে থাকে। এই ধরাবাধা নিয়মের কারণেই TCP প্রয়োজন হয়। ইন্টারনেট পুরো পৃথিবী জুড়ে একটা কানেকশন। এইযে শুরুতে ৩ ধাপে, একদম সার্ভারের সাথে কানেকশন নিশ্চিত করে, তারপর যোগাযোগ শুরু হচ্ছে — এতে করে আমাদের data ইন্টারনেটে হারিয়ে যায় না। আপনি নিরবছিন্ন ভাবে ইউটিউবে ভিডিও দেখতে পারেন, অনলাইন গেম খেলতে পারেন। আবার শেষেও উভয়পক্ষ সম্মতির মাধ্যমে কানেকশন অফ করে। এতে করে কানেকশন এর সুনির্দিষ্টতা বজায় থাকে। তাই TCP আমাদের বারবার দরকার পরে।
আরেকটি বিষয়, TCP এর এই stable বৈশিষ্ট্যের কারণে, অন্যান্য প্রটোকল এর সাথেও এর ব্যবহার হয়। যেমন আমাদের ওয়েবসাইটে ব্যবহার হওয়া HTTP. এই প্রটোকল TCP এর সাথে মিলে একসাথে কাজ করে তাই আমরা সুন্দর করে ওয়েব ব্রাউজ করতে পারি।

হ্যাকিং এর সাথে TCP এর সম্পর্ক :

ইন্টারনেটের বহু জায়গায় TCP ব্যবহার হয়। আবার এইযে উপরে ধাপ গুলো ব্যাখ্যা করলাম — এই ধাপগুলোতে পাঠানো flag বা sequence নাম্বার পরিবর্তন করে কম্পিউটারকে বোকা বানানো যায়। আর এই কারণেই হ্যাকিং, বিশেষ করে নেটওয়ার্ক সিকিউরিটিতে TCP গুরুত্বপূর্ণ বিষয়। কিভাবে এই TCP ব্যবহার করে হ্যাক করতে হয়, সেটার বিস্তারিত ব্যাখ্যা নিয়ে আরেকটি লেখা হবে ইনশাআল্লাহ।

আমার লেখাটি থেকে যদি উপকারী মনে হয়, তাহলে অবশ্যই অন্যদের সাথে শেয়ার করুন — sharing is caring ❤