TCP بمقابلہ UDP: قابل اعتمادی بمقابلہ کارکردگی کی بحث کو غیر واضح کرنا

آج، ہم TCP پر توجہ مرکوز کرکے شروع کرنے جا رہے ہیں۔ اس سے پہلے تہہ بندی کے باب میں ہم نے ایک اہم نکتہ کا ذکر کیا تھا۔ نیٹ ورک کی پرت اور نیچے، یہ کنکشن کی میزبانی کے لیے میزبان کے بارے میں زیادہ ہے، جس کا مطلب ہے کہ آپ کے کمپیوٹر کو یہ جاننے کی ضرورت ہے کہ اس سے جڑنے کے لیے دوسرا کمپیوٹر کہاں ہے۔ تاہم، نیٹ ورک میں کمیونیکیشن اکثر انٹرمشین کمیونیکیشن کی بجائے انٹرپروسیس کمیونیکیشن ہوتی ہے۔ لہذا، TCP پروٹوکول بندرگاہ کا تصور متعارف کرایا ہے. ایک بندرگاہ پر صرف ایک عمل کے ذریعے قبضہ کیا جا سکتا ہے، جو مختلف میزبانوں پر چلنے والے درخواست کے عمل کے درمیان براہ راست مواصلت فراہم کرتا ہے۔

ٹرانسپورٹ لیئر کا کام یہ ہے کہ مختلف میزبانوں پر چلنے والے ایپلی کیشن کے عمل کے درمیان براہ راست مواصلاتی خدمات کیسے فراہم کی جائیں، اس لیے اسے اینڈ ٹو اینڈ پروٹوکول بھی کہا جاتا ہے۔ نقل و حمل کی تہہ نیٹ ورک کی بنیادی تفصیلات کو چھپا دیتی ہے، جس سے درخواست کے عمل کو یہ دیکھنے کی اجازت ملتی ہے کہ گویا دو ٹرانسپورٹ لیئر اداروں کے درمیان ایک منطقی اینڈ ٹو اینڈ کمیونیکیشن چینل موجود ہے۔

TCP کا مطلب ٹرانسمیشن کنٹرول پروٹوکول ہے اور اسے کنکشن پر مبنی پروٹوکول کہا جاتا ہے۔ اس کا مطلب یہ ہے کہ اس سے پہلے کہ ایک ایپلیکیشن دوسرے کو ڈیٹا بھیجنا شروع کر دے، دونوں عملوں کو ہاتھ ملانا پڑتا ہے۔ ہینڈ شیک ایک منطقی طور پر جڑا ہوا عمل ہے جو ڈیٹا کی قابل اعتماد ترسیل اور منظم استقبال کو یقینی بناتا ہے۔ مصافحہ کے دوران، کنٹرول پیکٹ کی ایک سیریز کا تبادلہ کرکے اور ڈیٹا کی کامیاب ترسیل کو یقینی بنانے کے لیے کچھ پیرامیٹرز اور قواعد پر اتفاق کرتے ہوئے ذریعہ اور منزل کے میزبانوں کے درمیان ایک رابطہ قائم کیا جاتا ہے۔

TCP کیا ہے؟ (مائی لنکنگنیٹ ورک ٹیپ کریں۔اورنیٹ ورک پیکٹ بروکرTCP یا UDP دونوں پیکٹوں پر کارروائی کر سکتا ہے۔)
TCP (ٹرانسمیشن کنٹرول پروٹوکول) ایک کنکشن پر مبنی، قابل اعتماد، بائٹ اسٹریم پر مبنی ٹرانسپورٹ لیئر کمیونیکیشن پروٹوکول ہے۔

کنکشن پر مبنی: کنکشن اورینٹڈ کا مطلب یہ ہے کہ TCP کمیونیکیشن ون ٹو ون ہے، یعنی پوائنٹ ٹو پوائنٹ اینڈ ٹو اینڈ کمیونیکیشن، UDP کے برعکس، جو ایک ہی وقت میں ایک سے زیادہ میزبانوں کو پیغامات بھیج سکتا ہے، اس لیے ون ٹو کئی کمیونیکیشن حاصل نہیں کی جا سکتی۔
قابل اعتماد: TCP کی وشوسنییتا اس بات کو یقینی بناتی ہے کہ نیٹ ورک لنک میں ہونے والی تبدیلیوں سے قطع نظر پیکٹ وصول کنندہ تک قابل اعتماد طریقے سے پہنچائے جائیں، جو TCP کے پروٹوکول پیکٹ فارمیٹ کو UDP سے زیادہ پیچیدہ بناتا ہے۔
بائٹ اسٹریم پر مبنی: TCP کی بائٹ سٹریم پر مبنی نوعیت کسی بھی سائز کے پیغامات کی ترسیل کی اجازت دیتی ہے اور پیغام کے آرڈر کی ضمانت دیتی ہے: یہاں تک کہ اگر پچھلا پیغام پوری طرح سے موصول نہیں ہوا ہے، اور یہاں تک کہ اگر بعد کے بائٹس موصول ہو گئے ہیں، TCP انہیں پروسیسنگ کے لیے ایپلی کیشن لیئر تک نہیں پہنچائے گا اور خود بخود ڈپلیکیٹ پیکٹ چھوڑ دے گا۔
ایک بار میزبان A اور میزبان B کا کنکشن قائم ہو جانے کے بعد، ایپلیکیشن کو ڈیٹا بھیجنے اور وصول کرنے کے لیے صرف ورچوئل کمیونیکیشن لائن استعمال کرنے کی ضرورت ہوتی ہے، اس طرح ڈیٹا کی منتقلی کو یقینی بنایا جاتا ہے۔ TCP پروٹوکول کنکشن کے قیام، رابطہ منقطع، اور انعقاد جیسے کاموں کو کنٹرول کرنے کا ذمہ دار ہے۔ واضح رہے کہ یہاں ہم کہتے ہیں کہ ورچوئل لائن کا مطلب صرف کنکشن قائم کرنا ہے، TCP پروٹوکول کنکشن صرف اس بات کی نشاندہی کرتا ہے کہ دونوں فریق ڈیٹا کی ترسیل شروع کر سکتے ہیں، اور ڈیٹا کی وشوسنییتا کو یقینی بنانا ہے۔ روٹنگ اور ٹرانسپورٹ نوڈس کو نیٹ ورک ڈیوائسز کے ذریعے سنبھالا جاتا ہے۔ TCP پروٹوکول خود ان تفصیلات سے متعلق نہیں ہے۔

ایک TCP کنکشن ایک مکمل ڈوپلیکس سروس ہے، جس کا مطلب ہے کہ میزبان A اور میزبان B TCP کنکشن میں دونوں سمتوں میں ڈیٹا منتقل کر سکتے ہیں۔ یعنی، ڈیٹا کو میزبان A اور میزبان B کے درمیان دو طرفہ بہاؤ میں منتقل کیا جا سکتا ہے۔

TCP عارضی طور پر ڈیٹا کو کنکشن کے بھیجنے والے بفر میں محفوظ کرتا ہے۔ یہ بھیجنے والا بفر تین طرفہ مصافحہ کے دوران ترتیب دیا گیا کیشز میں سے ایک ہے۔ اس کے بعد، TCP سینڈ کیش میں موجود ڈیٹا کو مناسب وقت پر منزل کے میزبان کے ریسیو کیش کو بھیجے گا۔ عملی طور پر، ہر ساتھی کے پاس بھیجنے والا کیش اور ایک وصولی کیش ہوگا، جیسا کہ یہاں دکھایا گیا ہے:

TCP-UDP

بھیجنے والا بفر میموری کا ایک علاقہ ہے جسے بھیجنے والے کی طرف TCP نفاذ کے ذریعے برقرار رکھا جاتا ہے جو بھیجے جانے والے ڈیٹا کو عارضی طور پر ذخیرہ کرنے کے لیے استعمال کیا جاتا ہے۔ جب کنکشن قائم کرنے کے لیے تین طرفہ مصافحہ کیا جاتا ہے، تو بھیجیں کیش سیٹ ہو جاتا ہے اور ڈیٹا کو ذخیرہ کرنے کے لیے استعمال کیا جاتا ہے۔ بھیجنے والے بفر کو متحرک طور پر نیٹ ورک کنجشن اور وصول کنندہ کے تاثرات کے مطابق ایڈجسٹ کیا جاتا ہے۔

وصول کرنے والا بفر میموری کا ایک ایسا علاقہ ہے جسے وصول کرنے والے حصے پر TCP کے نفاذ کے ذریعے برقرار رکھا جاتا ہے جو موصولہ ڈیٹا کو عارضی طور پر ذخیرہ کرنے کے لیے استعمال ہوتا ہے۔ TCP موصول شدہ ڈیٹا کو ریسیو کیشے میں محفوظ کرتا ہے اور اوپری ایپلیکیشن کے پڑھنے کا انتظار کرتا ہے۔

نوٹ کریں کہ کیش بھیجنے اور وصول کرنے والے کیش کا سائز محدود ہے، جب کیش بھر جائے تو TCP قابل اعتماد ڈیٹا کی ترسیل اور نیٹ ورک کے استحکام کو یقینی بنانے کے لیے کچھ حکمت عملی اپنا سکتا ہے، جیسے کنجشن کنٹرول، فلو کنٹرول، وغیرہ۔

کمپیوٹر نیٹ ورکس میں، میزبانوں کے درمیان ڈیٹا کی ترسیل طبقات کے ذریعے کی جاتی ہے۔ تو ایک پیکٹ سیگمنٹ کیا ہے؟

TCP آنے والی ندی کو ٹکڑوں میں تقسیم کرکے اور ہر حصے میں TCP ہیڈر شامل کرکے ایک TCP سیگمنٹ، یا پیکٹ سیگمنٹ بناتا ہے۔ ہر طبقہ کو صرف ایک محدود وقت کے لیے منتقل کیا جا سکتا ہے اور زیادہ سے زیادہ سیگمنٹ سائز (MSS) سے زیادہ نہیں ہو سکتا۔ نیچے جاتے ہوئے، ایک پیکٹ سیگمنٹ لنک پرت سے گزرتا ہے۔ لنک پرت میں زیادہ سے زیادہ ٹرانسمیشن یونٹ (MTU) ہے، جو کہ زیادہ سے زیادہ پیکٹ سائز ہے جو ڈیٹا لنک لیئر سے گزر سکتا ہے۔ زیادہ سے زیادہ ٹرانسمیشن یونٹ عام طور پر مواصلاتی انٹرفیس سے متعلق ہے.

تو MSS اور MTU میں کیا فرق ہے؟

کمپیوٹر نیٹ ورکس میں، درجہ بندی کا فن تعمیر بہت اہم ہے کیونکہ یہ مختلف سطحوں کے درمیان فرق کو مدنظر رکھتا ہے۔ ہر پرت کا مختلف نام ہے؛ نقل و حمل کی تہہ میں، ڈیٹا کو سیگمنٹ کہا جاتا ہے، اور نیٹ ورک کی تہہ میں، ڈیٹا کو آئی پی پیکٹ کہا جاتا ہے۔ لہذا، زیادہ سے زیادہ ٹرانسمیشن یونٹ (MTU) کو زیادہ سے زیادہ IP پیکٹ سائز کے طور پر سوچا جا سکتا ہے جسے نیٹ ورک کی تہہ کے ذریعے منتقل کیا جا سکتا ہے، جبکہ زیادہ سے زیادہ سیگمنٹ سائز (MSS) ایک ٹرانسپورٹ پرت کا تصور ہے جس سے مراد ڈیٹا کی زیادہ سے زیادہ مقدار ہے جسے ایک وقت میں TCP پیکٹ کے ذریعے منتقل کیا جا سکتا ہے۔

نوٹ کریں کہ جب زیادہ سے زیادہ سیگمنٹ سائز (MSS) زیادہ سے زیادہ ٹرانسمیشن یونٹ (MTU) سے بڑا ہوتا ہے، تو IP فریگمنٹیشن نیٹ ورک پرت پر انجام دیا جائے گا، اور TCP بڑے ڈیٹا کو MTU سائز کے لیے موزوں حصوں میں تقسیم نہیں کرے گا۔ نیٹ ورک پرت پر ایک سیکشن ہوگا جو IP پرت کے لیے وقف ہے۔

TCP پیکٹ سیگمنٹ کا ڈھانچہ
آئیے TCP ہیڈر کے فارمیٹ اور مواد کو دریافت کریں۔

ٹی سی پی سیگمنٹ

ترتیب نمبر: کمپیوٹر کے ذریعہ تیار کردہ ایک بے ترتیب نمبر جب TCP کنکشن قائم ہونے پر کنکشن کو اس کی ابتدائی قدر کے طور پر قائم کیا جاتا ہے، اور SYN پیکٹ کے ذریعے وصول کنندہ کو ترتیب نمبر بھیجا جاتا ہے۔ ڈیٹا ٹرانسمیشن کے دوران، بھیجنے والے ڈیٹا کی مقدار کے مطابق ترتیب نمبر میں اضافہ کرتا ہے۔ وصول کنندہ موصول شدہ ترتیب نمبر کے مطابق ڈیٹا کی ترتیب کا فیصلہ کرتا ہے۔ اگر ڈیٹا آرڈر سے باہر پایا جاتا ہے، تو وصول کنندہ ڈیٹا کی ترتیب کو یقینی بنانے کے لیے ڈیٹا کو دوبارہ ترتیب دے گا۔

اقرار نمبر: یہ ایک ترتیب نمبر ہے جسے TCP میں ڈیٹا کی وصولی کو تسلیم کرنے کے لیے استعمال کیا جاتا ہے۔ یہ اگلے ڈیٹا کی ترتیب نمبر کی نشاندہی کرتا ہے جو بھیجنے والے کو موصول ہونے کی توقع ہے۔ TCP کنکشن میں، وصول کنندہ اس بات کا تعین کرتا ہے کہ کون سا ڈیٹا کامیابی کے ساتھ موصول ہوا ہے، موصولہ ڈیٹا پیکٹ سیگمنٹ کی ترتیب نمبر کی بنیاد پر۔ جب وصول کنندہ کامیابی کے ساتھ ڈیٹا وصول کرتا ہے، تو وہ بھیجنے والے کو ایک ACK پیکٹ بھیجتا ہے، جس میں اقرار نامہ نمبر ہوتا ہے۔ ACK پیکٹ حاصل کرنے کے بعد، بھیجنے والا تصدیق کر سکتا ہے کہ جوابی نمبر کو تسلیم کرنے سے پہلے ڈیٹا کامیابی سے موصول ہو گیا ہے۔

TCP سیگمنٹ کے کنٹرول بٹس میں درج ذیل شامل ہیں:

ACK بٹ: جب یہ بٹ 1 ہے، تو اس کا مطلب ہے کہ اعترافی جواب کا فیلڈ درست ہے۔ TCP بتاتا ہے کہ اس بٹ کو 1 پر سیٹ کیا جانا چاہیے سوائے SYN پیکٹ کے جب کنکشن شروع میں قائم ہو جائے۔
RST بٹ: جب یہ بٹ 1 ہے، تو یہ اشارہ کرتا ہے کہ TCP کنکشن میں ایک استثناء ہے اور کنکشن کو لازمی طور پر منقطع کیا جانا چاہیے۔
SYN بٹ: جب اس بٹ کو 1 پر سیٹ کیا جاتا ہے، تو اس کا مطلب ہے کہ کنکشن قائم ہونا ہے اور ترتیب نمبر کی ابتدائی قیمت ترتیب نمبر کے خانے میں سیٹ کی جاتی ہے۔
FIN بٹ: جب یہ بٹ 1 ہے تو اس کا مطلب ہے کہ مستقبل میں مزید ڈیٹا نہیں بھیجا جائے گا اور کنکشن مطلوب ہے۔
ٹی سی پی کے مختلف افعال اور خصوصیات ٹی سی پی پیکٹ سیگمنٹس کی ساخت سے مجسم ہیں۔

UDP کیا ہے؟ (مائی لنکنگنیٹ ورک ٹیپ کریں۔اورنیٹ ورک پیکٹ بروکرTCP یا UDP دونوں پیکٹوں پر کارروائی کر سکتے ہیں)
یوزر ڈیٹاگرام پروٹوکول (UDP) ایک کنکشن لیس کمیونیکیشن پروٹوکول ہے۔ TCP کے مقابلے میں، UDP پیچیدہ کنٹرول میکانزم فراہم نہیں کرتا ہے۔ UDP پروٹوکول ایپلی کیشنز کو بغیر کنکشن قائم کیے انکیپسلیٹڈ IP پیکٹ بھیجنے کی اجازت دیتا ہے۔ جب ڈویلپر TCP کے بجائے UDP استعمال کرنے کا انتخاب کرتا ہے، تو ایپلیکیشن براہ راست IP کے ساتھ بات چیت کرتی ہے۔

UDP پروٹوکول کا پورا نام User Datagram Protocol ہے، اور اس کا ہیڈر صرف آٹھ بائٹس (64 بٹس) ہے، جو کہ بہت مختصر ہے۔ UDP ہیڈر کا فارمیٹ اس طرح ہے:

UDP سیگمنٹ

منزل اور سورس پورٹس: ان کا بنیادی مقصد یہ بتانا ہے کہ UDP کو کس عمل کو پیکٹ بھیجنا چاہیے۔
پیکٹ کا سائز: پیکٹ سائز کا فیلڈ UDP ہیڈر کا سائز اور ڈیٹا کا سائز رکھتا ہے۔
چیکسم: UDP ہیڈر اور ڈیٹا کی قابل اعتماد ترسیل کو یقینی بنانے کے لیے ڈیزائن کیا گیا ہے چیکسم کا کردار یہ معلوم کرنا ہے کہ آیا UDP پیکٹ کی ترسیل کے دوران کوئی خرابی یا بدعنوانی ہوئی ہے تاکہ ڈیٹا کی سالمیت کو یقینی بنایا جا سکے۔

Mylinking's میں TCP اور UDP کے درمیان فرقنیٹ ورک ٹیپ کریں۔اورنیٹ ورک پیکٹ بروکرTCP یا UDP دونوں پیکٹوں پر کارروائی کر سکتا ہے۔
TCP اور UDP درج ذیل پہلوؤں میں مختلف ہیں:

TCP بمقابلہ UDP

کنکشن: TCP ایک کنکشن پر مبنی ٹرانسپورٹ پروٹوکول ہے جس میں ڈیٹا کی منتقلی سے پہلے کنکشن قائم کرنے کی ضرورت ہوتی ہے۔ دوسری طرف UDP کو کنکشن کی ضرورت نہیں ہے اور یہ فوری طور پر ڈیٹا منتقل کر سکتا ہے۔

سروس آبجیکٹ: TCP ایک سے ایک دو نکاتی سروس ہے، یعنی ایک کنکشن میں ایک دوسرے کے ساتھ بات چیت کرنے کے لیے صرف دو اختتامی نقطے ہوتے ہیں۔ تاہم، UDP ون ٹو ون، ون ٹو کئی، اور کئی سے کئی انٹرایکٹو کمیونیکیشن کی حمایت کرتا ہے، جو ایک ہی وقت میں متعدد میزبانوں کے ساتھ بات چیت کر سکتا ہے۔

وشوسنییتا: TCP ڈیٹا کو قابل اعتماد طریقے سے ڈیلیور کرنے کی خدمت فراہم کرتا ہے، اس بات کو یقینی بناتا ہے کہ ڈیٹا غلطی سے پاک، نقصان سے پاک، نان ڈپلیکیٹ، اور ڈیمانڈ پر پہنچ جائے۔ دوسری طرف UDP اپنی پوری کوشش کرتا ہے اور قابل اعتماد ترسیل کی ضمانت نہیں دیتا۔ UDP ٹرانسمیشن کے دوران ڈیٹا کے نقصان اور دیگر حالات کا شکار ہو سکتا ہے۔

بھیڑ کنٹرول، بہاؤ کنٹرول: TCP میں کنجشن کنٹرول اور فلو کنٹرول میکانزم ہیں، جو ڈیٹا ٹرانسمیشن کی شرح کو نیٹ ورک کے حالات کے مطابق ایڈجسٹ کر سکتے ہیں تاکہ ڈیٹا ٹرانسمیشن کی سیکیورٹی اور استحکام کو یقینی بنایا جا سکے۔ UDP میں کنجشن کنٹرول اور فلو کنٹرول میکانزم نہیں ہے، یہاں تک کہ اگر نیٹ ورک بہت بھیڑ ہے، تو یہ UDP بھیجنے کی شرح میں ایڈجسٹمنٹ نہیں کرے گا۔

ہیڈر اوور ہیڈ: TCP میں ہیڈر کی لمبائی لمبی ہوتی ہے، عام طور پر 20 بائٹس، جو آپشن فیلڈز کے استعمال ہونے پر بڑھ جاتی ہے۔ دوسری طرف، UDP کا صرف 8 بائٹس کا ہیڈر مقرر ہے، لہذا UDP کا ہیڈر اوور ہیڈ کم ہے۔

TCP بمقابلہ UDP

TCP اور UDP درخواست کے منظرنامے:
TCP اور UDP دو مختلف ٹرانسپورٹ لیئر پروٹوکول ہیں، اور ان کے اطلاق کے منظرناموں میں کچھ اختلافات ہیں۔

چونکہ TCP ایک کنکشن پر مبنی پروٹوکول ہے، اس لیے یہ بنیادی طور پر ایسے منظرناموں میں استعمال ہوتا ہے جہاں قابل اعتماد ڈیٹا ڈیلیوری کی ضرورت ہوتی ہے۔ کچھ عام استعمال کے معاملات میں شامل ہیں:

ایف ٹی پی فائل ٹرانسفر: TCP اس بات کو یقینی بنا سکتا ہے کہ منتقلی کے دوران فائلیں ضائع اور خراب نہ ہوں۔
HTTP/HTTPS: TCP ویب مواد کی سالمیت اور درستگی کو یقینی بناتا ہے۔
چونکہ UDP ایک کنکشن لیس پروٹوکول ہے، اس لیے یہ قابل اعتمادی کی ضمانت فراہم نہیں کرتا، لیکن اس میں کارکردگی اور حقیقی وقت کی خصوصیات ہیں۔ UDP درج ذیل حالات کے لیے موزوں ہے:

کم پیکٹ ٹریفک، جیسے DNS (ڈومین نیم سسٹم): DNS سوالات عام طور پر چھوٹے پیکٹ ہوتے ہیں، اور UDP انہیں تیزی سے مکمل کر سکتا ہے۔
ملٹی میڈیا مواصلات جیسے ویڈیو اور آڈیو: اعلیٰ حقیقی وقت کے تقاضوں کے ساتھ ملٹی میڈیا ٹرانسمیشن کے لیے، UDP اس بات کو یقینی بنانے کے لیے کم تاخیر فراہم کر سکتا ہے کہ ڈیٹا کو بروقت منتقل کیا جا سکے۔
نشریاتی مواصلات: UDP ایک سے کئی اور کئی سے کئی مواصلات کو سپورٹ کرتا ہے اور اسے نشریاتی پیغامات کی ترسیل کے لیے استعمال کیا جا سکتا ہے۔

خلاصہ
آج ہم نے TCP کے بارے میں سیکھا۔ TCP ایک کنکشن پر مبنی، قابل اعتماد، بائٹ اسٹریم پر مبنی ٹرانسپورٹ لیئر کمیونیکیشن پروٹوکول ہے۔ یہ کنکشن، مصافحہ اور اعتراف کے ذریعے ڈیٹا کی قابل اعتماد ترسیل اور منظم استقبال کو یقینی بناتا ہے۔ TCP پروٹوکول عمل کے درمیان رابطے کو محسوس کرنے کے لیے بندرگاہوں کا استعمال کرتا ہے، اور مختلف میزبانوں پر چلنے والے درخواست کے عمل کے لیے براہ راست مواصلاتی خدمات فراہم کرتا ہے۔ TCP کنکشن مکمل ڈوپلیکس ہیں، جو بیک وقت دو طرفہ ڈیٹا کی منتقلی کی اجازت دیتے ہیں۔ اس کے برعکس، UDP ایک کنکشن لیس اورینٹڈ کمیونیکیشن پروٹوکول ہے، جو قابل اعتبار کی ضمانت فراہم نہیں کرتا ہے اور یہ کچھ ایسے منظرناموں کے لیے موزوں ہے جن میں حقیقی وقت کی اعلی ضروریات ہیں۔ TCP اور UDP کنکشن موڈ، سروس آبجیکٹ، قابل اعتماد، بھیڑ کنٹرول، بہاؤ کنٹرول اور دیگر پہلوؤں میں مختلف ہیں، اور ان کے اطلاق کے منظرنامے بھی مختلف ہیں۔


پوسٹ ٹائم: دسمبر-03-2024