نيٽ ورڪ پيڪٽ بروکر TCP ڪنيڪشن جا اهم اسرار: ٽرپل هينڊ شيڪ جي ضرورت کي ختم ڪري ڇڏيو

TCP ڪنيڪشن سيٽ اپ
جڏهن اسان ويب براؤز ڪندا آهيون، هڪ اي ميل موڪليو، يا آن لائن راند کيڏندا آهيون، اسان اڪثر ان جي پويان پيچيده نيٽ ورڪ ڪنيڪشن بابت نه سوچيو. بهرحال، اهو اهي بظاهر ننڍا قدم آهن جيڪي اسان ۽ سرور جي وچ ۾ مستحڪم رابطي کي يقيني بڻائين ٿا. سڀ کان اهم قدمن مان هڪ آهي TCP ڪنيڪشن سيٽ اپ، ۽ ان جو بنيادي حصو ٽي طرفي هٿ ملائڻ آهي.

هي آرٽيڪل ٽن طرفن هٿ ملائڻ جي اصول، عمل ۽ اهميت تي تفصيل سان بحث ڪندو. قدم بہ قدم، اسان وضاحت ڪنداسين ته ٽي طرفي هٿ ملائڻ جي ضرورت ڇو آهي، اهو ڪيئن ڪنيڪشن جي استحڪام ۽ اعتبار کي يقيني بڻائي ٿو، ۽ ڊيٽا جي منتقلي لاءِ اهو ڪيترو اهم آهي. ٽن طرفي هٿ ملائڻ جي وڌيڪ ڄاڻ سان، اسان نيٽ ورڪ ڪميونيڪيشن جي بنيادي ميکانيزم جي بهتر ڄاڻ حاصل ڪنداسين ۽ TCP ڪنيڪشن جي اعتبار جو هڪ واضح نظارو حاصل ڪنداسين.

ٽي سي پي ٽي طرفي هٿ ملائڻ وارو عمل ۽ رياستي منتقلي
TCP هڪ ڪنيڪشن تي مبني ٽرانسپورٽ پروٽوڪول آهي، جيڪو ڊيٽا جي منتقلي کان اڳ ڪنيڪشن جي قيام جي ضرورت آهي. هي ڪنيڪشن قائم ڪرڻ وارو عمل ٽن طرفي هٿ ملائڻ سان ڪيو ويندو آهي.

 ٽي سي پي ٽي طرفي هٿ ملائڻ

اچو ته TCP پيڪٽس تي هڪ ويجهي نظر رکون جيڪي هر ڪنيڪشن ۾ موڪليا ويا آهن.

شروعات ۾، ٻئي ڪلائنٽ ۽ سرور بند ٿيل آهن. پهريون، سرور فعال طور تي بندرگاهن تي ٻڌي ٿو ۽ لسٽن جي حالت ۾ آهي، جنهن جو مطلب آهي ته سرور کي شروع ڪيو وڃي. اڳيون، ڪلائنٽ ويب پيج تائين رسائي شروع ڪرڻ لاء تيار آهي. ان کي سرور سان ڪنيڪشن قائم ڪرڻ جي ضرورت آهي. پهرين ڪنيڪشن پيڪٽ جي شڪل هن ريت آهي:

 SYN پيڪيٽ

جڏهن هڪ ڪلائنٽ ڪنيڪشن شروع ڪري ٿو، اهو هڪ بي ترتيب ابتدائي ترتيب نمبر (client_isn) ٺاهي ٿو ۽ ان کي TCP هيڊر جي "Sequence number" فيلڊ ۾ رکي ٿو. ساڳئي وقت، ڪلائنٽ سيٽ ڪري ٿو SYN پرچم پوزيشن 1 ڏانهن اشارو ڪرڻ لاء ته ٻاهر نڪرندڙ پيڪٽ هڪ SYN پيڪٽ آهي. ڪلائنٽ اشارو ڪري ٿو ته اهو سرور سان ڪنيڪشن قائم ڪرڻ چاهي ٿو سرور ڏانهن پهريون SYN پيڪٽ موڪلي. ھن پيڪٽ ۾ ايپليڪيشن ليئر ڊيٽا شامل نه آھي (يعني ڊيٽا موڪليو ويو). هن نقطي تي، ڪلائنٽ جي حيثيت SYN-SENT طور نشان لڳل آهي.

SYN + ACK پيڪيٽ

جڏهن هڪ سرور هڪ ڪلائنٽ کان هڪ SYN پيڪيٽ وصول ڪري ٿو، اهو بي ترتيب طور تي پنهنجو سيريل نمبر (server_isn) شروع ڪري ٿو ۽ پوءِ ان نمبر کي TCP هيڊر جي "سيريل نمبر" فيلڊ ۾ رکي ٿو. اڳيون، سرور ڪلائنٽ_isn + 1 کي "اعتراف نمبر" فيلڊ ۾ داخل ڪري ٿو ۽ SYN ۽ ACK بٽ ٻنهي کي 1 تي سيٽ ڪري ٿو. آخر ۾، سرور ڪلائنٽ ڏانهن پيڪٽ موڪلي ٿو، جنهن ۾ ڪو به ايپليڪيشن-پرت ڊيٽا نه آهي (۽ سرور لاء ڪو به ڊيٽا ناهي. موڪلڻ). هن وقت، سرور SYN-RCVD حالت ۾ آهي.

ACK پيڪيٽ

هڪ دفعو ڪلائنٽ سرور مان پيڪٽ حاصل ڪري ٿو، ان کي حتمي جوابي پيڪيٽ جو جواب ڏيڻ لاءِ هيٺين اصلاحن کي انجام ڏيڻ جي ضرورت آهي: پهريون، ڪلائنٽ جوابي پيڪيٽ جي TCP هيڊر جي ACK بٽ کي 1 تي سيٽ ڪري ٿو؛ ٻيو، ڪلائنٽ "جواب نمبر جي تصديق ڪريو" فيلڊ ۾ قدر سرور_isn + 1 داخل ڪري ٿو؛ آخرڪار، ڪلائنٽ پيڪٽ سرور ڏانهن موڪلي ٿو. هي پيڪٽ ڪلائنٽ کان سرور تائين ڊيٽا کڻي سگھي ٿو. انهن عملن جي مڪمل ٿيڻ تي، ڪلائنٽ قائم ڪيل رياست ۾ داخل ٿيندو.

هڪ دفعو سرور ڪلائنٽ کان جوابي پيڪٽ وصول ڪري ٿو، اهو پڻ قائم ڪيل رياست ڏانهن سوئچ ڪري ٿو.

جيئن ته توهان مٿي ڏنل عمل مان ڏسي سگهو ٿا، جڏهن ٽي طرفي هٿ ملائي، ٽيون هٿ ملائڻ جي اجازت هوندي آهي ڊيٽا کڻي وڃڻ جي، پر پهرين ٻه هٿ ملائڻ جي اجازت ناهي. اهو هڪ سوال آهي جيڪو اڪثر انٽرويو ۾ پڇيو ويندو آهي. هڪ دفعو ٽي طرفي هٿ ملائڻ مڪمل ٿيڻ بعد، ٻئي پارٽيون قائم ڪيل رياست ۾ داخل ٿين ٿيون، اهو ظاهر ڪري ٿو ته ڪنيڪشن ڪاميابيءَ سان قائم ٿي چڪو آهي، جنهن وقت ڪلائنٽ ۽ سرور هڪ ٻئي ڏانهن ڊيٽا موڪلڻ شروع ڪري سگهن ٿا.

ٽي هٿ ملائڻ ڇو؟ ٻه ڀيرا نه، چار ڀيرا؟
عام جواب آهي، "ڇاڪاڻ ته ٽي طرفي هٿ ملائڻ حاصل ڪرڻ ۽ موڪلڻ جي صلاحيت جي ضمانت ڏئي ٿي." اهو جواب صحيح آهي، پر اهو صرف سطحي سبب آهي، بنيادي سبب اڳيان نٿو رکي. هيٺ ڏنل ۾، مان ٽن طرفن کان ٽنهي هٿ ملائڻ جي سببن جو تجزيو ڪندس ته جيئن هن مسئلي بابت اسان جي سمجھ کي وڌيڪ وڌايو وڃي.

ٽي طرفي هٿ ملائڻ مؤثر طريقي سان تاريخي طور تي بار بار ڪنيڪشن جي شروعات کان پاسو ڪري سگهي ٿو (بنيادي سبب)
ٽي طرفي هٿ ملائڻ جي ضمانت ڏئي ٿي ته ٻنهي ڌرين کي هڪ قابل اعتماد ابتدائي ترتيب نمبر ملي چڪو آهي.
ٽي طرفي هٿ ملائڻ وسيلن جي ضايع ٿيڻ کان بچائي ٿو.

سبب 1: تاريخي نقل شامل ٿيڻ کان پاسو ڪريو
مختصر طور تي، ٽن طرفي هٿ ملائڻ جو بنيادي سبب پراڻي نقلي ڪنيڪشن جي شروعات جي سبب پيدا ٿيندڙ مونجهاري کان بچڻ آهي. هڪ پيچيده نيٽ ورڪ ماحول ۾، ڊيٽا پيڪيٽس جي ٽرانسميشن هميشه مقرر ڪيل وقت جي مطابق منزل جي ميزبان ڏانهن نه موڪلي ويندي آهي، ۽ پراڻن ڊيٽا پيڪيٽس نيٽ ورڪ جي گنجائش ۽ ٻين سببن جي ڪري پهرين منزل جي ميزبان تي پهچي سگهن ٿيون. ھن کان بچڻ لاءِ، TCP ڪنيڪشن قائم ڪرڻ لاءِ ٽي طرفي ھٿ شيڪ استعمال ڪري ٿو.

ٽي طرفي هٿ ملائڻ تاريخي نقلي رابطن کان بچي ٿو

جڏهن هڪ ڪلائنٽ ڪيترن ئي SYN ڪنيڪشن اسٽيبلشمينٽ پيڪيٽ موڪليندو آهي مسلسل، حالتن ۾ جيئن ته نيٽ ورڪ جي گنجائش، هيٺيان ٿي سگهي ٿي:

1- پراڻا SYN پيڪٽس سرور تي پهچندا آهن جديد SYN پيڪٽس کان اڳ.
2- پراڻو SYN پيڪٽ حاصل ڪرڻ کان پوءِ سرور ڪلائنٽ کي SYN + ACK پيڪيٽ جواب ڏيندو.
3- جڏهن ڪلائنٽ SYN + ACK پيڪٽ حاصل ڪري ٿو، اهو طئي ڪري ٿو ته ڪنيڪشن هڪ تاريخي ڪنيڪشن آهي (سيڪونس نمبر ختم ٿي چڪو آهي يا وقت ختم ٿي چڪو آهي) پنهنجي پنهنجي حوالي سان، ۽ پوءِ ڪنيڪشن کي ختم ڪرڻ لاءِ سرور ڏانهن RST پيڪٽ موڪلي ٿو.

ٻه هٿ ملائڻ واري ڪنيڪشن سان، اهو طئي ڪرڻ جو ڪو طريقو ناهي ته موجوده ڪنيڪشن هڪ تاريخي ڪنيڪشن آهي. ٽي طرفو هٿ ملائڻ ڪلائنٽ کي اهو طئي ڪرڻ جي اجازت ڏئي ٿو ته ڇا موجوده ڪنيڪشن هڪ تاريخي ڪنيڪشن آهي ان حوالي سان جڏهن اهو ٽيون پيڪٽ موڪلڻ لاءِ تيار آهي:

1- جيڪڏهن اهو هڪ تاريخي ڪنيڪشن آهي (سلسلن جو نمبر ختم ٿي ويو آهي يا وقت ختم ٿي ويو آهي)، ٽيون هٿ شيڪ طرفان موڪليل پيڪٽ تاريخي ڪنيڪشن کي ختم ڪرڻ لاءِ RST پيڪٽ آهي.
2- جيڪڏهن اهو تاريخي ڪنيڪشن نه آهي، ٽيون ڀيرو موڪليو ويو پيڪٽ هڪ ACK پيڪيٽ آهي، ۽ ٻه رابطي واريون پارٽيون ڪاميابي سان ڪنيڪشن قائم ڪن ٿيون.

تنهن ڪري، بنيادي سبب اهو آهي ته TCP ٽن طرفي هٿ ملائڻ کي استعمال ڪري ٿو ته اهو تاريخي ڪنيڪشن کي روڪڻ لاء ڪنيڪشن کي شروع ڪري ٿو.

سبب 2: ٻنهي ڌرين جي شروعاتي ترتيب نمبرن کي هم وقت سازي ڪرڻ لاءِ
TCP پروٽوڪول جي ٻنهي پاسن کي هڪ ترتيب نمبر برقرار رکڻ گهرجي، جيڪو قابل اعتماد ٽرانسميشن کي يقيني بڻائڻ لاء هڪ اهم عنصر آهي. ترتيب نمبر TCP ڪنيڪشن ۾ اهم ڪردار ادا ڪن ٿا. اهي هيٺيان ڪندا آهن:

وصول ڪندڙ نقل ٿيل ڊيٽا کي ختم ڪري سگهي ٿو ۽ ڊيٽا جي درستگي کي يقيني بڻائي ٿو.

وصول ڪندڙ ڊيٽا جي سالميت کي يقيني بڻائڻ لاءِ ترتيب نمبر جي ترتيب ۾ پيڪيٽ وصول ڪري سگھي ٿو.

● تسلسل نمبر ڊيٽا پيڪٽ جي سڃاڻپ ڪري سگھي ٿو جيڪا ٻي پارٽي طرفان وصول ڪئي وئي آهي، قابل اعتماد ڊيٽا ٽرانسميشن کي فعال ڪندي.

تنهن ڪري، هڪ TCP ڪنيڪشن قائم ڪرڻ تي، ڪلائنٽ SYN پيڪيٽ موڪلي ٿو ابتدائي ترتيب نمبر سان ۽ سرور کي ضرورت آهي ته جواب ڏئي ACK پيڪٽ سان جيڪو ڪلائنٽ جي SYN پيڪٽ جي ڪامياب استقبال جي نشاندهي ڪري ٿو. پوءِ، سرور موڪلي ٿو SYN پيڪٽ کي شروعاتي ترتيب نمبر سان ڪلائنٽ ڏانهن ۽ انتظار ڪري ٿو ڪلائنٽ جو جواب ڏيڻ لاءِ، هڪ ڀيرو ۽ سڀني لاءِ، انهي ڳالهه کي يقيني بڻائڻ لاءِ ته ابتدائي ترتيب جا نمبر معتبر طور تي هم وقت ڪيا ويا آهن.

ٻنهي ڌرين جي شروعاتي سيريل نمبرن کي هم وقت سازي ڪريو

جيتوڻيڪ هڪ چار طرفي هٿ ملائڻ پڻ ممڪن آهي ته ٻنهي ڌرين جي شروعاتي ترتيبن جي انگن کي قابل اعتماد طور تي هم وقت سازي ڪرڻ لاء، ٻئي ۽ ٽئين مرحلن کي هڪ واحد قدم ۾ گڏ ڪري سگهجي ٿو، جنهن جي نتيجي ۾ ٽي طرفي هٿ ملائي سگهجي ٿي. جڏهن ته، ٻه هٿ ملائڻ صرف ان ڳالهه جي ضمانت ڏئي سگھن ٿا ته هڪ پارٽي جو ابتدائي ترتيب نمبر ڪاميابيءَ سان ٻئي پارٽيءَ طرفان حاصل ڪيو ويو آهي، پر ان ڳالهه جي ڪا به ضمانت نه آهي ته ٻنهي ڌرين جي شروعاتي ترتيب نمبر جي تصديق ٿي سگهي ٿي. تنهن ڪري، ٽي-واٽ هينڊ شيڪ بهترين انتخاب آهي جنهن کي يقيني بڻايو وڃي ته TCP ڪنيڪشن جي استحڪام ۽ اعتبار کي يقيني بڻايو وڃي.

سبب 3: وسيلن کي ضايع ڪرڻ کان پاسو ڪريو
جيڪڏهن اتي صرف هڪ "ٻه هٿ ملائڻ" آهي، جڏهن ڪلائنٽ SYN جي درخواست نيٽ ورڪ ۾ بلاڪ ڪئي وئي آهي، ڪلائنٽ سرور طرفان موڪليل ACK پيڪٽ حاصل نه ڪري سگهي، تنهنڪري SYN ٻيهر موڪليو ويندو. جڏهن ته، جيئن ته ڪو ٽيون هٿ ملائڻ نه آهي، سرور اهو طئي نٿو ڪري سگهي ته ڪلائنٽ کي ڪنيڪشن قائم ڪرڻ لاء ACK اعتراف حاصل ڪيو. تنهن ڪري، سرور صرف فعال طور تي هر SYN درخواست حاصل ڪرڻ کان پوء هڪ ڪنيڪشن قائم ڪري سگهي ٿو. اهو هيٺين طرف وٺي ٿو:

وسيلن جو ضايع: جيڪڏهن ڪلائنٽ جي SYN درخواست کي بلاڪ ڪيو ويو آهي، نتيجي ۾ ڪيترن ئي SYN پيڪٽس جي بار بار ٽرانسميشن جي نتيجي ۾، سرور درخواست حاصل ڪرڻ کان پوء ڪيترائي غير ضروري غلط ڪنيڪشن قائم ڪندو. اهو سرور وسيلن جي غير ضروري ضايع ڪرڻ جي ڪري ٿو.

پيغام برقرار رکڻ: ٽئين هٿ ملائڻ جي نه هجڻ جي ڪري، سرور وٽ اهو ڄاڻڻ جو ڪو طريقو ناهي ته ڇا ڪلائنٽ صحيح طريقي سان ACK اعتراف حاصل ڪيو آهي ڪنيڪشن قائم ڪرڻ لاءِ. نتيجي طور، جيڪڏهن پيغام نيٽ ورڪ ۾ ڦاسي پيا، ڪلائنٽ بار بار SYN درخواستون موڪليندو رهندو، سرور کي مسلسل نوان ڪنيڪشن قائم ڪرڻ جو سبب بڻائيندو. اهو نيٽ ورڪ جي گنجائش ۽ دير کي وڌائيندو ۽ مجموعي نيٽ ورڪ ڪارڪردگي تي منفي اثر انداز ڪندو.

وسيلن جي ضايع ٿيڻ کان پاسو ڪريو

تنهن ڪري، نيٽ ورڪ ڪنيڪشن جي استحڪام ۽ ڀروسي کي يقيني بڻائڻ لاءِ، TCP انهن مسئلن جي واقعن کان بچڻ لاءِ ڪنيڪشن قائم ڪرڻ لاءِ ٽي طرفي هٿ ملائڻ استعمال ڪري ٿو.

خلاصو
جينيٽ ورڪ پيڪيٽ بروکرٽي سي پي ڪنيڪشن اسٽيبلشمينٽ ٽن طرفي هٿ ملائڻ سان ڪيو ويندو آهي. ٽي طرفي هٿ ملائڻ دوران، ڪلائنٽ پهريون ڀيرو سرور ڏانهن SYN پرچم سان هڪ پيڪٽ موڪلي ٿو، اهو ظاهر ڪري ٿو ته اهو ڪنيڪشن قائم ڪرڻ چاهي ٿو. ڪلائنٽ کان درخواست حاصل ڪرڻ کان پوء، سرور ڪلائنٽ کي SYN ۽ ACK جھنڊو سان گڏ ھڪڙو پيڪٽ جواب ڏئي ٿو، اھو اشارو ڪري ٿو ته ڪنيڪشن جي درخواست قبول ڪئي وئي آھي، ۽ پنھنجي شروعاتي ترتيب نمبر موڪلي ٿو. آخرڪار، ڪلائنٽ جواب ڏئي ٿو ACK پرچم سان سرور ڏانهن اشارو ڪيو ته ڪنيڪشن ڪاميابي سان قائم ڪئي وئي آهي. اهڙيء طرح، ٻه پارٽيون قائم ڪيل رياست ۾ آهن ۽ هڪ ٻئي ڏانهن ڊيٽا موڪلڻ شروع ڪري سگهن ٿيون.

عام طور تي، TCP ڪنيڪشن اسٽيبلشمينٽ لاءِ ٽي طرفي هٿ ملائڻ وارو عمل ڪنيڪشن جي استحڪام ۽ ڀروسي کي يقيني بڻائڻ لاءِ ٺاهيو ويو آهي، تاريخي ڪنيڪشنن تي مونجهاري ۽ وسيلن جي ضايع ٿيڻ کان بچڻ، ۽ انهي ڳالهه کي يقيني بڻائڻ ته ٻئي پارٽيون ڊيٽا وصول ڪرڻ ۽ موڪلڻ جي قابل آهن.


پوسٽ ٽائيم: جنوري-08-2025