নেটওয়ার্ক প্যাকেট ব্রোকার টিসিপি সংযোগগুলির মূল রহস্য: ট্রিপল হ্যান্ডশেকের প্রয়োজনীয়তাটিকে নির্মূল করা

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

এই নিবন্ধটি ত্রি-মুখী হ্যান্ডশেকের নীতি, প্রক্রিয়া এবং গুরুত্ব সম্পর্কে আলোচনা করবে। ধাপে ধাপে, আমরা কেন ত্রি-মুখী হ্যান্ডশেকটি প্রয়োজন, কীভাবে এটি সংযোগের স্থায়িত্ব এবং নির্ভরযোগ্যতা নিশ্চিত করে এবং ডেটা স্থানান্তরের জন্য এটি কতটা গুরুত্বপূর্ণ তা ব্যাখ্যা করব। ত্রি-মুখী হ্যান্ডশেকের আরও গভীর বোঝার সাথে আমরা নেটওয়ার্ক যোগাযোগের অন্তর্নিহিত প্রক্রিয়া এবং টিসিপি সংযোগগুলির নির্ভরযোগ্যতার একটি পরিষ্কার দৃষ্টিভঙ্গি সম্পর্কে আরও ভাল ধারণা অর্জন করব।

টিসিপি ত্রি-মুখী হ্যান্ডশেক প্রক্রিয়া এবং রাষ্ট্রীয় রূপান্তর
টিসিপি একটি সংযোগ-ভিত্তিক পরিবহন প্রোটোকল, যার ডেটা সংক্রমণের আগে সংযোগ স্থাপনের প্রয়োজন। এই সংযোগ স্থাপনের প্রক্রিয়াটি ত্রি-মুখী হ্যান্ডশেক দ্বারা সম্পন্ন হয়।

 টিসিপি ত্রি-মুখী হ্যান্ডশেক

আসুন প্রতিটি সংযোগে প্রেরিত টিসিপি প্যাকেটগুলি ঘনিষ্ঠভাবে দেখে নেওয়া যাক।

প্রাথমিকভাবে, ক্লায়েন্ট এবং সার্ভার উভয়ই বন্ধ রয়েছে। প্রথমত, সার্ভারটি সক্রিয়ভাবে একটি বন্দরে শোনায় এবং শ্রবণ অবস্থায় রয়েছে, যার অর্থ সার্ভারটি অবশ্যই শুরু করা উচিত। এরপরে, ক্লায়েন্ট ওয়েবপৃষ্ঠায় অ্যাক্সেস শুরু করতে প্রস্তুত t এটি সার্ভারের সাথে একটি সংযোগ স্থাপন করা দরকার। প্রথম সংযোগ প্যাকেটের ফর্ম্যাটটি নিম্নরূপ:

 সিন প্যাকেট

যখন কোনও ক্লায়েন্ট কোনও সংযোগ শুরু করে, এটি একটি এলোমেলো প্রাথমিক সিকোয়েন্স নম্বর (ক্লায়েন্ট_আইএসএন) উত্পন্ন করে এবং এটি টিসিপি শিরোনামের "সিকোয়েন্স নম্বর" ক্ষেত্রে রাখে। একই সময়ে, ক্লায়েন্ট বহির্গামী প্যাকেটটি একটি সিএন প্যাকেট বলে নির্দেশ করতে সিওয়াইএন পতাকা অবস্থান 1 এ সেট করে। ক্লায়েন্ট ইঙ্গিত দেয় যে এটি সার্ভারে প্রথম সিএন প্যাকেট প্রেরণ করে সার্ভারের সাথে একটি সংযোগ স্থাপন করতে চায়। এই প্যাকেটে অ্যাপ্লিকেশন স্তর ডেটা থাকে না (অর্থাৎ ডেটা প্রেরিত)। এই মুহুর্তে, ক্লায়েন্টের স্থিতি সিন-সেন্স হিসাবে চিহ্নিত করা হয়।

Syn+ack প্যাকেট

যখন কোনও সার্ভার কোনও ক্লায়েন্টের কাছ থেকে একটি সিএন প্যাকেট গ্রহণ করে, এটি এলোমেলোভাবে তার নিজস্ব সিরিয়াল নম্বর (সার্ভার_আইএসএন) আরম্ভ করে এবং তারপরে সেই সংখ্যাটি টিসিপি শিরোনামের "সিরিয়াল নম্বর" ক্ষেত্রে রাখে। এরপরে, সার্ভারটি "স্বীকৃতি নম্বর" ক্ষেত্রে ক্লায়েন্ট_আইএসএন + 1 এ প্রবেশ করে এবং সিএন এবং এসি উভয় বিট উভয়কে 1 এ সেট করে। অবশেষে, সার্ভারটি ক্লায়েন্টকে প্যাকেটটি প্রেরণ করে, এতে কোনও অ্যাপ্লিকেশন-স্তর ডেটা নেই (এবং সার্ভারের জন্য কোনও ডেটা প্রেরণের জন্য কোনও ডেটা নেই)। এই মুহুর্তে, সার্ভারটি সিন-আরসিভিডি অবস্থায় রয়েছে।

অ্যাক প্যাকেট

ক্লায়েন্টটি সার্ভার থেকে প্যাকেটটি গ্রহণ করার পরে, চূড়ান্ত উত্তর প্যাকেটটির প্রতিক্রিয়া জানাতে এটি নিম্নলিখিত অপ্টিমাইজেশনগুলি সম্পাদন করতে হবে: প্রথমত, ক্লায়েন্ট উত্তর প্যাকেটের টিসিপি শিরোনামের এসিকে বিটটি 1 এ সেট করে; দ্বিতীয়ত, ক্লায়েন্ট "উত্তর নম্বর" ক্ষেত্রে মান সার্ভার_আইএসএন + 1 এ প্রবেশ করে; অবশেষে, ক্লায়েন্টটি সার্ভারে প্যাকেটটি প্রেরণ করে। এই প্যাকেটটি ক্লায়েন্ট থেকে সার্ভারে ডেটা বহন করতে পারে। এই ক্রিয়াকলাপগুলি শেষ হওয়ার পরে, ক্লায়েন্ট প্রতিষ্ঠিত অবস্থায় প্রবেশ করবে।

সার্ভারটি ক্লায়েন্টের কাছ থেকে উত্তর প্যাকেটটি গ্রহণ করার পরে, এটি প্রতিষ্ঠিত অবস্থায়ও স্যুইচ করে।

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

কেন তিনটি হ্যান্ডশেক? দুবার নয়, চারবার?
সাধারণ উত্তরটি হ'ল, "কারণ ত্রি-মুখী হ্যান্ডশেকটি গ্রহণ এবং প্রেরণের দক্ষতার গ্যারান্টি দেয়" " এই উত্তরটি সঠিক, তবে এটি কেবল পৃষ্ঠের কারণ, মূল কারণটি সামনে রাখে না। নিম্নলিখিতগুলিতে, আমি এই সমস্যাটি সম্পর্কে আমাদের বোঝার আরও গভীর করার জন্য তিনটি দিক থেকে ট্রিপল হ্যান্ডশেকের কারণগুলি বিশ্লেষণ করব।

ত্রি-মুখী হ্যান্ডশেক কার্যকরভাবে histor তিহাসিকভাবে পুনরাবৃত্তি সংযোগগুলির সূচনা এড়াতে পারে (মূল কারণ)
ত্রি-মুখী হ্যান্ডশেক গ্যারান্টি দেয় যে উভয় পক্ষই একটি নির্ভরযোগ্য প্রাথমিক সিকোয়েন্স নম্বর পেয়েছে।
ত্রি-মুখী হ্যান্ডশেক সংস্থানগুলি অপচয় করা এড়ায়।

কারণ 1: historical তিহাসিক সদৃশ যোগ এড়ানো
সংক্ষেপে, ত্রি-মুখী হ্যান্ডশেকের মূল কারণ হ'ল পুরানো সদৃশ সংযোগের সূচনা দ্বারা সৃষ্ট বিভ্রান্তি এড়ানো। একটি জটিল নেটওয়ার্ক পরিবেশে, নির্দিষ্ট সময় অনুসারে ডেটা প্যাকেটগুলির সংক্রমণ সর্বদা গন্তব্য হোস্টে প্রেরণ করা হয় না এবং পুরানো ডেটা প্যাকেটগুলি নেটওয়ার্ক যানজট এবং অন্যান্য কারণে প্রথমে গন্তব্য হোস্টে আসতে পারে। এটি এড়াতে, টিসিপি সংযোগটি প্রতিষ্ঠার জন্য ত্রি-মুখী হ্যান্ডশেক ব্যবহার করে।

ত্রি-মুখী হ্যান্ডশেক historical তিহাসিক সদৃশ সংযোগগুলি এড়ায়

যখন কোনও ক্লায়েন্ট নেটওয়ার্ক কনজেশনের মতো পরিস্থিতিতে উত্তরসূরিতে একাধিক সিএন সংযোগ স্থাপনের প্যাকেট প্রেরণ করে, তখন নিম্নলিখিতটি ঘটতে পারে:

1- পুরানো সিএন প্যাকেটগুলি সর্বশেষতম সিএন প্যাকেটের আগে সার্ভারে আসে।
2- সার্ভারটি পুরানো সিএন প্যাকেট পাওয়ার পরে ক্লায়েন্টকে একটি SYN + ACK প্যাকেটের জবাব দেবে।
3- ক্লায়েন্ট যখন সিএন + এসি প্যাকেটটি গ্রহণ করে, তখন এটি নির্ধারণ করে যে সংযোগটি তার নিজস্ব প্রসঙ্গ অনুসারে একটি historical তিহাসিক সংযোগ (সিকোয়েন্স নম্বর মেয়াদোত্তীর্ণ বা সময়সীমা) এবং তারপরে সংযোগটি বাতিল করার জন্য সার্ভারে আরএসটি প্যাকেটটি প্রেরণ করে।

দ্বি-হ্যান্ডশেক সংযোগের সাথে, বর্তমান সংযোগটি historical তিহাসিক সংযোগ কিনা তা নির্ধারণ করার কোনও উপায় নেই। ত্রি-মুখী হ্যান্ডশেক ক্লায়েন্টকে তৃতীয় প্যাকেট প্রেরণের জন্য প্রস্তুত হলে বর্তমান সংযোগটি প্রসঙ্গের ভিত্তিতে একটি historical তিহাসিক সংযোগ কিনা তা নির্ধারণ করতে দেয়:

1- যদি এটি একটি historical তিহাসিক সংযোগ (সিকোয়েন্স নম্বর মেয়াদোত্তীর্ণ বা টাইমআউট) হয় তবে তৃতীয় হ্যান্ডশেক দ্বারা প্রেরিত প্যাকেটটি historical তিহাসিক সংযোগটি বাতিল করার জন্য একটি প্রথম প্যাকেট।
2- যদি এটি কোনও historical তিহাসিক সংযোগ না হয় তবে তৃতীয়বারের জন্য প্রেরিত প্যাকেটটি একটি এসিকে প্যাকেট এবং দুটি যোগাযোগকারী দল সাফল্যের সাথে সংযোগ স্থাপন করে।

অতএব, টিসিপি ত্রি-মুখী হ্যান্ডশেকটি ব্যবহার করার মূল কারণ হ'ল এটি historical তিহাসিক সংযোগগুলি রোধ করতে সংযোগটি শুরু করে।

কারণ 2: উভয় পক্ষের প্রাথমিক সিকোয়েন্স নম্বরগুলি সিঙ্ক্রোনাইজ করতে
টিসিপি প্রোটোকলের উভয় পক্ষই অবশ্যই একটি সিকোয়েন্স নম্বর বজায় রাখতে হবে, যা নির্ভরযোগ্য সংক্রমণ নিশ্চিত করার জন্য একটি মূল কারণ। সিকোয়েন্স নম্বরগুলি টিসিপি সংযোগগুলিতে গুরুত্বপূর্ণ ভূমিকা পালন করে y তারা নিম্নলিখিতগুলি করুন:

রিসিভার ডুপ্লিকেট ডেটা দূর করতে এবং ডেটার যথার্থতা নিশ্চিত করতে পারে।

রিসিভার ডেটার অখণ্ডতা নিশ্চিত করতে সিকোয়েন্স নম্বর ক্রমে প্যাকেটগুলি গ্রহণ করতে পারে।

● সিকোয়েন্স নম্বরটি নির্ভরযোগ্য ডেটা ট্রান্সমিশন সক্ষম করে অন্য পক্ষের দ্বারা প্রাপ্ত ডেটা প্যাকেটটি সনাক্ত করতে পারে।

অতএব, একটি টিসিপি সংযোগ স্থাপনের পরে, ক্লায়েন্ট প্রাথমিক সিকোয়েন্স নম্বর সহ এসওয়াইএন প্যাকেটগুলি প্রেরণ করে এবং ক্লায়েন্টের সিএন প্যাকেটের সফল অভ্যর্থনা নির্দেশ করে একটি এসিকে প্যাকেট দিয়ে সার্ভারের জবাব দিতে হবে। তারপরে, সার্ভারটি ক্লায়েন্টের কাছে প্রাথমিক সিকোয়েন্স নম্বর সহ সিএন প্যাকেটটি প্রেরণ করে এবং ক্লায়েন্টকে একবার এবং সর্বোপরি জবাব দেওয়ার জন্য অপেক্ষা করে, যাতে প্রাথমিক সিকোয়েন্স নম্বরগুলি নির্ভরযোগ্যভাবে সিঙ্ক্রোনাইজ করা হয় তা নিশ্চিত করার জন্য।

উভয় পক্ষের প্রাথমিক সিরিয়াল নম্বরগুলি সিঙ্ক্রোনাইজ করুন

যদিও উভয় পক্ষের প্রাথমিক ক্রম সংখ্যাগুলি নির্ভরযোগ্যভাবে সিঙ্ক্রোনাইজ করাও একটি চার দিকের হ্যান্ডশেকও সম্ভব, দ্বিতীয় এবং তৃতীয় পদক্ষেপগুলি একক পদক্ষেপে একত্রিত করা যেতে পারে, যার ফলে ত্রি-মুখী হ্যান্ডশেক হয়। যাইহোক, দুটি হ্যান্ডশেক কেবল গ্যারান্টি দিতে পারে যে একটি পক্ষের প্রাথমিক সিকোয়েন্স সংখ্যাটি অন্য পক্ষের দ্বারা সফলভাবে প্রাপ্ত হয়েছে, তবে উভয় পক্ষের প্রাথমিক ক্রম সংখ্যাটি নিশ্চিত হওয়া যায় এমন কোনও গ্যারান্টি নেই। অতএব, টিসিপি সংযোগগুলির স্থায়িত্ব এবং নির্ভরযোগ্যতা নিশ্চিত করার জন্য ত্রি-মুখী হ্যান্ডশেকটি গ্রহণ করা সেরা পছন্দ।

কারণ 3: সংস্থান নষ্ট করা এড়ানো
যদি কেবলমাত্র একটি "দ্বি-হ্যান্ডশেক" থাকে, যখন ক্লায়েন্ট এসওয়াইএন অনুরোধটি নেটওয়ার্কে অবরুদ্ধ করা হয়, ক্লায়েন্টটি সার্ভার দ্বারা প্রেরিত এসি কে প্যাকেটটি গ্রহণ করতে পারে না, সুতরাং সিএনটি বিরক্তি প্রকাশ করবে। তবে, যেহেতু কোনও তৃতীয় হ্যান্ডশেক নেই, তাই সার্ভারটি নির্ধারণ করতে পারে না যে ক্লায়েন্টটি সংযোগটি প্রতিষ্ঠার জন্য কোনও এসিকে স্বীকৃতি পেয়েছে কিনা। অতএব, সার্ভার প্রতিটি সিএন অনুরোধ পাওয়ার পরে কেবল সক্রিয়ভাবে একটি সংযোগ স্থাপন করতে পারে। এটি নিম্নলিখিতগুলির দিকে নিয়ে যায়:

সংস্থানগুলির অপচয়: যদি ক্লায়েন্টের সিএন অনুরোধটি অবরুদ্ধ থাকে, যার ফলে একাধিক সিএন প্যাকেটের বারবার সংক্রমণ হয়, তবে সার্ভারটি অনুরোধটি পাওয়ার পরে একাধিক রিডানড্যান্ট অবৈধ সংযোগ স্থাপন করবে। এটি সার্ভার রিসোর্সের অপ্রয়োজনীয় অপচয়কে নিয়ে যায়।

বার্তা ধরে রাখা: তৃতীয় হ্যান্ডশেকের অভাবে, সার্ভারের সংযোগটি প্রতিষ্ঠার জন্য ক্লায়েন্টটি সঠিকভাবে এসিকে স্বীকৃতি পেয়েছে কিনা তা জানার কোনও উপায় নেই। ফলস্বরূপ, যদি বার্তাগুলি নেটওয়ার্কে আটকে যায় তবে ক্লায়েন্ট বার বার এসওয়াইএন অনুরোধগুলি প্রেরণ করতে থাকবে, যার ফলে সার্ভারটি ক্রমাগত নতুন সংযোগ স্থাপন করে। এটি নেটওয়ার্কের যানজট এবং বিলম্বকে বাড়িয়ে তুলবে এবং সামগ্রিক নেটওয়ার্কের কার্যকারিতাটিকে নেতিবাচকভাবে প্রভাবিত করবে।

সম্পদ নষ্ট করা এড়ানো

সুতরাং, নেটওয়ার্ক সংযোগের স্থিতিশীলতা এবং নির্ভরযোগ্যতা নিশ্চিত করার জন্য, টিসিপি এই সমস্যাগুলির ঘটনাটি এড়াতে সংযোগ স্থাপনের জন্য ত্রি-মুখী হ্যান্ডশেক ব্যবহার করে।

সংক্ষিপ্তসার
দ্যনেটওয়ার্ক প্যাকেট ব্রোকারটিসিপি সংযোগ স্থাপন একটি ত্রি-মুখী হ্যান্ডশেক দিয়ে করা হয়। ত্রি-মুখী হ্যান্ডশেকের সময়, ক্লায়েন্ট প্রথমে সার্ভারে সিওয়াইএন পতাকা সহ একটি প্যাকেট প্রেরণ করে, এটি ইঙ্গিত করে যে এটি কোনও সংযোগ স্থাপন করতে চায়। ক্লায়েন্টের কাছ থেকে অনুরোধ পাওয়ার পরে, সার্ভার ক্লায়েন্টের কাছে এসওয়াইএন এবং এসি কে পতাকা সহ একটি প্যাকেট জবাব দেয়, এটি ইঙ্গিত করে যে সংযোগের অনুরোধটি গৃহীত হয়েছে এবং তার নিজস্ব প্রাথমিক সিকোয়েন্স নম্বরটি প্রেরণ করে। অবশেষে, ক্লায়েন্টটি সার্ভারে একটি এসিকে পতাকা দিয়ে জবাব দেয় যাতে সংযোগটি সফলভাবে প্রতিষ্ঠিত হয়েছে তা নির্দেশ করে। সুতরাং, দুটি পক্ষ প্রতিষ্ঠিত অবস্থায় রয়েছে এবং একে অপরের কাছে ডেটা প্রেরণ শুরু করতে পারে।

সাধারণভাবে, টিসিপি সংযোগ স্থাপনের জন্য ত্রি-মুখী হ্যান্ডশেক প্রক্রিয়াটি সংযোগের স্থিতিশীলতা এবং নির্ভরযোগ্যতা নিশ্চিত করার জন্য, historical তিহাসিক সংযোগগুলির উপর বিভ্রান্তি এবং সংস্থানগুলির অপচয় এড়াতে এবং উভয় পক্ষই ডেটা গ্রহণ এবং প্রেরণ করতে সক্ষম হয়েছে তা নিশ্চিত করার জন্য ডিজাইন করা হয়েছে।


পোস্ট সময়: জানুয়ারী -08-2025