ট্রান্সমিশন কন্ট্রোল প্রোটোকল (TCP) একটি কানেকশন-ওরিয়েন্টেড প্রোটোকল, যা ডেটা পাঠানোর আগে সংযোগ স্থাপন করে এবং বিভিন্ন মেকানিজমের মাধ্যমে শতভাগ ডেটা ইন্টিগ্রিটি ও নির্ভরযোগ্যতা নিশ্চিত করে।
TCP যেভাবে ডেটা ইন্টিগ্রিটি এবং নির্ভরযোগ্যতা নিশ্চিত করে:
• থ্রি-ওয়ে হ্যান্ডশেক (Connection Establishment): ডেটা আদান-প্রদান শুরুর আগে TCP ক্লায়েন্ট এবং সার্ভারের মধ্যে একটি তিন-ধাপের যোগাযোগ (SYN, SYN-ACK, ACK) সম্পন্ন করে। এটি নিশ্চিত করে যে উভয় পক্ষই ডেটা পাঠাতে ও গ্রহণ করতে সম্পূর্ণ প্রস্তুত।
• সিকোয়েন্স নাম্বারিং (Sequencing): বড় ডেটাকে ছোট ছোট ভাগে (Segments) ভাগ করে প্রতিটিতে একটি ক্রমানুসারে নম্বর (Sequence Number) দেওয়া হয়। এর ফলে নেটওয়ার্কে ডেটা উল্টোপাল্টা বা এলোমেলোভাবে পৌঁছালেও রিসিভার সেগুলোকে আবার সঠিক ক্রমানুসারে সাজিয়ে নিতে পারে।
• অ্যাকনলেজমেন্ট এবং রিট্রান্সমিশন (ACK & Retransmission): রিসিভার কোনো ডেটা প্যাকেট সঠিকভাবে পেলে প্রেরককে একটি 'অ্যাকনলেজমেন্ট' (ACK) মেসেজ পাঠায়। যদি কোনো প্যাকেট মাঝপথে হারিয়ে যায় বা নির্দিষ্ট সময়ে ACK না আসে, তবে TCP স্বয়ংক্রিয়ভাবে সেই প্যাকেটটি পুনরায় পাঠায় (Retransmission)।
• চেকসাম (Data Integrity): প্রতিটি প্যাকেটের সাথে 'Checksum' নামক একটি গাণিতিক কোড যুক্ত থাকে। রিসিভার ডেটা পাওয়ার পর কোডটি আবার হিসাব করে দেখে। যদি মাঝপথে ডেটাতে কোনো পরিবর্তন বা বিকৃতি ঘটে, তবে চেকসাম মিলবে না এবং TCP ওই ত্রুটিপূর্ণ ডেটা বাতিল করে আবার পাঠাতে বলে।
• ফ্লো এবং কনজেশন কন্ট্রোল (Flow & Congestion Control): রিসিভারের ডেটা গ্রহণের ক্ষমতার ওপর ভিত্তি করে TCP ডেটা পাঠানোর গতি নিয়ন্ত্রণ করে (Flow Control)। একই সাথে নেটওয়ার্কে জ্যাম বা ট্রাফিক বেশি থাকলে এটি স্বয়ংক্রিয়ভাবে ডেটা প্রেরণের গতি কমিয়ে প্যাকেট লস হওয়া রোধ করে (Congestion Control)।