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

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

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

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

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

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

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

 SYN پيڪٽ

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

SYN+ACK پيڪٽ

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

ACK پيڪٽ

هڪ دفعو ڪلائنٽ سرور کان پيڪٽ وصول ڪري ٿو، ان کي آخري جوابي پيڪٽ جو جواب ڏيڻ لاءِ هيٺ ڏنل اصلاحون ڪرڻ جي ضرورت آهي: پهريون، ڪلائنٽ جوابي پيڪٽ جي TCP هيڊر جي ACK بٽ کي 1 تي سيٽ ڪري ٿو؛ ٻيو، ڪلائنٽ "جواب نمبر جي تصديق ڪريو" فيلڊ ۾ server_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