কম্পিউটার টিউটোরিয়াল

TCP বনাম UDP: পার্থক্য বুঝুন এবং সঠিক প্রোটোকল বেছে নিন

যদি আপনি কম্পিউটার নেটওয়ার্কিং-এ নये হন, অথবা কিছু অ্যাপ্লিকেশনের নেটওয়ার্ক সেটিংসে খুঁজে বের করেছেন, তবে আপনি সম্ভবত এই শব্দগুলো দেখেছেন: TCP এবং UDP।

TCP, যার পূর্ণরূপ Transmission Control Protocol, এবং UDP, অর্থাৎ User Datagram Protocol, ইন্টারনেট প্রোটোকল স্যুটের অংশ। TCP এবং UDP ইন্টারনেট জুড়ে তথ্য পাঠানোর ভিন্ন ভিন্ন পদ্ধতি।

তবে এগুলো কী তা জানলেও, কোন প্রোটোকল ব্যবহার করা উচিত বা কেন একটি অন্যের চেয়ে ভালো, সেটি জানা কঠিন।

এই আর্টিকেলে, আমরা কম্পিউটার নেটওয়ার্কিং বেসিক, TCP এবং UDP-এর পার্থক্য, প্রতিটি কখন ব্যবহার করা হয়, এবং আরও অনেক কিছু আলোচনা করব।

কম্পিউটার নেটওয়ার্কিং বেসিক

TCP এবং UDP কীভাবে কাজ করে সেটি জানার আগে, ইন্টারনেট কীভাবে কাজ করে তার বেসিক জানা উপকারী।

সাধারণভাবে বললে, ইন্টারনেট হলো সংযুক্ত ডিভাইসগুলোর একটি নেটওয়ার্ক। প্রতিটি ডিভাইস, যেটি আপনার স্মার্টফোন হোক বা সার্ভার, ইন্টারনেট প্রোটোকল স্যুটের মাধ্যমে যোগাযোগ করে।

ইন্টারনেট প্রোটোকল স্যুট হলো বিভিন্ন প্রোটোকল বা পদ্ধতির একটি সংকলন যা ডিভাইসগুলোর একে অপরের সাথে যোগাযোগের জন্য ব্যবহার হয়। TCP এবং UDP উভয়ই ইন্টারনেট প্রোটোকল স্যুটের 주요 প্রোটোকল:

TCP বনাম UDP: পার্থক্য বুঝুন এবং সঠিক প্রোটোকল বেছে নিন
উৎস

ইন্টারনেটের সাথে সংযুক্ত প্রতিটি ডিভাইসের একটি ইউনিক IP ঠিকানা থাকে। এবং যখন দুটি ডিভাইস ইন্টারনেটের মাধ্যমে যোগাযোগ করে, তবে সেগুলো সম্ভবত TCP বা UDP ব্যবহার করে সেটি করে।

এখানে দুটির মধ্যে একটি সংক্ষিপ্ত তুলনা:

TCP বনাম UDP: পার্থক্য বুঝুন এবং সঠিক প্রোটোকল বেছে নিন
উৎস

ইন্টারনেট কীভাবে কাজ করে তার আরও উচ্চ-স্তরের ওভারভিউ জন্য এই পাঁচ মিনিটের ভিডিওটি দেখুন:

TCP কী?

TCP, অর্থাৎ Transmission Control Protocol, অনলাইনে সবচেয়ে সাধারণ নেটওয়ার্কিং প্রোটোকল। TCP অত্যন্ত নির্ভরযোগ্য, এবং ওয়েব ব্রাউজিং (HTTP), ইমেইল পাঠানো (SMTP), এবং ফাইল ট্রান্সফার (FTP)-এর মতো সব কাজে ব্যবহার হয়।

TCP بتلك পরিস্থিতিতে ব্যবহার হয় যেখানে একটি ডিভাইস দ্বারা পাঠানো সকল ডেটা অন্য ডিভাইসদ্বারা সম্পূর্ণরূপে অক্ষত গ্রহণ করা নিশ্চিত করা জরুরি।

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

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

দুটি ডিভাইসের মধ্যে সংযোগ প্রতিষ্ঠা করার জন্য TCP তিন-দফা হ্যান্ডশেক (three-way handshake) নামক একটি পদ্ধতি ব্যবহার করে:

TCP বনাম UDP: পার্থক্য বুঝুন এবং সঠিক প্রোটোকল বেছে নিন
উৎস

উদাহরণস্বরূপ, এই আর্টিকেলটি আপনার ডিভাইসে পড়তে হলে, আপনার ডিভাইস প্রথমে freeCodeCamp News সার্ভারের কাছে একটি SYN (Synchronize Sequence Number) নামক মেসেজ পাঠায়।

তারপর freeCodeCamp News সার্ভার একটি SYN-ACK নামক acknowledgement মেসেজ পাঠায় ফিরিয়ে।

যখন আপনার ডিভাইস সার্ভার থেকে SYN-ACK পায়, তবে সেটি একটি ACK acknowledgement মেসেজ পাঠায় ফিরিয়ে, যা সংযোগটি প্রতিষ্ঠা করে।

একবার TCP সংযোগ প্রতিষ্ঠা হলে, প্রোটোকল নিশ্চিত করে যে সকল ডেটা ট্রান্সমিট হয়েছে।

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

সকল ডিভাইস ইন্টারনেটের মাধ্যমে পাঠানোর আগে ডেটাকে ছোট ছোট প্যাকেটে ভাগ করে দেয়। সেই প্যাকেটগুলো তারপর প্রাপক পক্ষে রি-অ্যাসেম্বল হতে হয়।

সুতরাং, যখন freeCodeCamp News সার্ভার এই আর্টিকেলের HTML, CSS, ছবি, এবং অন্যান্য কোড পাঠায়, এটি সবকিছু ছোট ছোট ডেটা প্যাকেটে ভাগ করে আপনার ডিভাইসের কাছে পাঠায়। আপনার ডিভাইস তারপর সেই প্যাকেটগুলোকে ফাইল এবং ছবি হিসেবে রি-অ্যাসেম্বল করে যা এই আর্টিকেল রেন্ডার করার জন্য প্রয়োজন।

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

একবার আপনার ডিভাইস আর্টিকেল রেন্ডার করার জন্য প্রয়োজনীয় সকল ডেটা পাওয়া যাবে, TCP স্বয়ংক্রিয়ভাবে দুটি ডিভাইসের মধ্যের সংযোগটি ভাঙিয়ে দেয় তিন-দফা হ্যান্ডশেকের মত একটি পদ্ধতিতে, এইবার FIN এবং ACK প্যাকেট ব্যবহার করে।

UDP কী?

UDP, অর্থাৎ User Datagram Protocol, ইন্টারনেট প্রোটোকল স্যুট গঠনকারী অন্য একটি প্রধান প্রোটোকল। UDP TCP-এর চেয়ে কম নির্ভরযোগ্য, কিন্তু অনেক সহজ।

UDP उन পরিস্থিতিতে ব্যবহার হয় যেখানে কিছু ডেটা লস গ্রহণযোগ্য, যেমন লাইভ ভিডিও/অডিও, বা যেখানে গতি একটি ক্রিটিক্যাল ফ্যাক্টর যেমন অনলাইন গেমিং।

UDP TCP-এর সাথে সাদৃশ্য রাখে যে এটি অনলাইনে ডেটা পাঠানোর এবং গ্রহণের জন্য ব্যবহার হয়, কিন্তু কিছু মূল পার্থক্য আছে।

প্রথমে, UDP একটি কানেকশন-লেস প্রোটোকল, অর্থাৎ এটি TCP-এর মত তিন-দফা হ্যান্ডশেক দিয়ে আগে থেকে সংযোগ প্রতিষ্ঠা করে না।

দ্বিতীয়, UDP গ্যারান্টি দেয় না যে সকল ডেটা সফলভাবে ট্রান্সফার হয়েছে। UDP-তে, ডেটা যেকোনো ডিভাইসকে পাঠানো হয় যা শুনতে থাকে, কিন্তু এটি চিন্তা করে না যদি পথে কিছু হারিয়ে যায়। এই কারণেই UDP-কে "ফায়ার-অ্যান্ড-ফরগেট" প্রোটোকলও বলা হয়।

এই পার্থক্যগুলো বুঝার একটি ভালো উপায় হলো TCP হলো দুজনের মাঝপথে একটি কথোপকথন। ব্যক্তি ক বললেন ব্যক্তি খ-কে কথা বলতে। ব্যক্তি খ বললেন হ্যাঁ, ঠিক আছে। ব্যক্তি ক সম্মত হলেন এবং তারা দুজন কথা বলতে শুরু করল।

UDP হলো মেগাফোন নিয়ে বাইরে দাঁড়িয়ে একটি প্রতিবাদী। যারা প্রতিবাদীর কথা শুনছে সেরা সবাই তাদের কথার অধিকাংশ শুনতে পাবে। কিন্তু কোনো গ্যারান্টি নেই যে এলাকার সবাই শুনতে পাবে, অথবা সেগুলো শোনছেন কিনা।

TCP বনাম UDP: পার্থক্য বুঝুন এবং সঠিক প্রোটোকল বেছে নিন
UDP বনাম TCP — উৎস

কোনটি দ্রুত – TCP নাকি UDP?

সাধারণত, UDP দ্রুত প্রোটোকল।

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

বোতল থেকে সিপ করুন নয়, হোস থেকে পান খাওয়ার মত। আপনি দুভাবেই তৃষ্ণা মেটাতে পারবেন, কিন্তু প্রথম পদ্ধতিতে আপনার শার্ট ভিজে যাবে।

TCP বনাম UDP: পার্থক্য বুঝুন এবং সঠিক প্রোটোকল বেছে নিন
হোস নয়, কিন্তু খুব সঠিক। এছাড়া কল্পনা করুন TCP বোতলটি পান খাওয়ার সময় বারবার জিজ্ঞেস করছে কি আপনি পান পেয়েছেন। উৎস

তবে দ্রুত হওয়া মানে UDP সার্বিকভাবে ভালো প্রোটোকল নয়। এটি শুধু নির্দিষ্ট পরিস্থিতিতে ভালো।

যে ব্যবহারে 앞서 বলা হয়েছে, TCP 그곳ে জরুরি যেখানে সকল ডেটা প্যাকেট ক্রমবদ্ধভাবে পাঠানো এবং সব প্যাকেটের পৌঁছানো নিশ্চিত করা প্রয়োজন। TCP ছাড়া ওয়েব কাজ করতো না।

এবং যদিও সংযোগ প্রতিষ্ঠা এবং মিসিং প্যাকেট চেক করার কারণে TCP ধীর, এটি যেকোনো সময় জ্বালামুখী গতিতে হতে পারে। কারণ সেগুলো ওয়েবে আছে এবং HTTP ব্যবহার করে, YouTube বা Netflix-এর মতো সাইটগুলো TCP ব্যবহার করে আপনার ডিভাইসে ডেটা পাঠায়।

TCP বাফারিংও অনুমতি দেয়, যাতে আপনার ব্রাউজার আপনি দেখার সময় আরও ডেটা অনুরোধ ও লোড করতে পারে, যাতে সুবিধাজনক প্লেব্যাক এবং ভিডিওর অন্য অংশে যাওয়া যায়।

UDP লাইভ ভিডিও ও অডিও বা অনলাইন গেমের জন্য ভালো পছন্দ যেখানে গতি সম্ভাব্য ডেটা লসের চেয়ে বেশি গুরুত্বপূর্ণ।

যখন আপনি Google Meet বা Zoom-এ কল করেন, আপনার ভিডিও এবং অডিও UDP-র মাধ্যমে ট্রান্সমিট হয়। যদি পথে কিছু প্যাকেট হারিয়ে যায়, তবে সেটি শুধু একটু ল্যাগ বা ক্লিপ্ট ভিডিও/অডিও হিসেবে দেখা যাবে।

আপনি যদি ভিডিও গেম খেলেন, তবে আপনি মনে করতে পারেন TCP যেহেতু সব ডেটা প্যাকেট অন্য ডিভাইসে পৌঁছানো নিশ্চিত করে, সেটি আদর্শ পছন্দ হবে। কিন্তু বাস্তবে, TCP যা সমস্ত চেকিং এবং ডেটা পুনরায় পাঠানোর কাজ করে সেটি শুধু লেটেন্সি বাড়ায়।

গেম ডেভেলপাররা প্লেয়ার ইনপুট এবং স্টেট যত mogu สঠিক রাখার জন্য অন্যান্য চতুর উপায় খুঁজে পেয়েছে। আপনি যদি অনলাইন গেমিং-এ UDP কেন পছন্দ করা হয় সেটি সম্পর্কে আরও পড়তে চান, তবে এই আর্টিকেলটি দেখুন।

শেষ কথা

আশা করি এই আর্টিকেলটি TCP এবং UDP-এর মধ্যে সূক্ষ্ম পার্থক্যগুলো বুঝতে সাহায্য করেছে। এবং কেউ যদি জিজ্ঞাসে কোনটি দ্রুত, তবে বলুন যা আপনি এখানে পড়েছেন: "UDP দ্রুত, কিন্তু..."

এবং আপনি যা পড়ে ভালো লেগেছে, তবে টুইটারে আমাকে জানান।

  1. MBR বনাম GPT: আপনার PC-র জন্য সঠিক পার্টিশন স্কিম বেছে নেওয়ার গাইড

  2. Sleep, Hibernate, অথবা Shutdown: আপনার পিসির জন্য কোন পাওয়ার মোড সঠিক?

  3. OneDrive বনাম OneDrive for Business: মূল পার্থক্য ব্যাখ্যা

  4. উইন্ডোজ ১০ হোম বনাম প্রো: মূল পার্থক্য ব্যাখ্যা