উচ্চ ট্র্যাফিক সাইটগুলি কীভাবে 65535 টিসিপি সংযোগের বেশি পরিষেবা দেয়?


29

যদি কোনও মেশিনের পোর্টের সংখ্যার সীমা থাকে এবং একটি সকেট কেবল একটি অব্যবহৃত পোর্ট সংখ্যায় আবদ্ধ করতে পারে তবে কীভাবে অনুরোধের চরম উচ্চ পরিমাণে (সর্বোচ্চ পোর্ট সংখ্যার চেয়ে বেশি) অভিজ্ঞ সার্ভারগুলি এটি পরিচালনা করে? এটি কি কেবলমাত্র সিস্টেমটিকে বিতরণ করেই তৈরি করা হয়েছে, অর্থাত, অনেকগুলি মেশিনে অনেকগুলি সার্ভার?

উত্তর:


55

আপনি পোর্ট সংখ্যাগুলি বেশ তীব্রভাবে ভুল বুঝেছেন: একটি সার্ভার কেবল একটি পোর্টে শোনে এবং সেই পোর্টটিতে সংযোগকারী ক্লায়েন্টদের থেকে প্রচুর পরিমাণে খোলা সকেট থাকতে পারে।

টিসিপি স্তরে প্রতিটি যুগপত সংযোগের জন্য টিপল (উত্স আইপি, উত্স পোর্ট, গন্তব্য আইপি, গন্তব্য পোর্ট) অবশ্যই অনন্য হতে হবে। এর অর্থ একটি একক ক্লায়েন্ট 65535 এর বেশি সার্ভারের সাথে একযোগে সংযোগগুলি খুলতে পারে না। কিন্তু একটি সার্ভার (তাত্ত্বিকভাবে) ক্লায়েন্ট প্রতি 65535 একযোগে সংযোগ করতে পারে ।

সুতরাং অনুশীলনে সার্ভারের টিসিপি সংযোগের সংখ্যার দ্বারা নয়, কেবলমাত্র CPU শক্তি, মেমরি ইত্যাদির দ্বারা এটির অনুরোধগুলি পরিবেশন করতে হবে তা দ্বারা সীমাবদ্ধ।


আমি ভাবছি ক্যারিয়ার গ্রেড NAT এটিকে কীভাবে প্রভাবিত করবে
TheLQ

@TheLQ সিজিএন ব্যতীত প্রতিটি ক্লায়েন্ট একই সার্ভারে 65535 এর বেশি সংযোগ খুলতে পারে না, কোনও ক্লায়েন্টকে একই সার্ভারে প্রায় এত সংযোগের প্রয়োজন হবে না। সিজিএন দিয়ে প্রতিটি সিজিএন একই সার্ভারে 65535 এর বেশি সংযোগ খুলতে পারে না, সেগুলি সেই সিজিএন ব্যবহার করে সমস্ত ক্লায়েন্টের মধ্যে ভাগ করে নিতে হবে। সিজিএন একই সাথে একটি সার্ভারে 65535 সংযোগ এবং অন্য সার্ভারের সাথে 65535 সংযোগগুলি খুলতে পারে কিনা তা বাস্তবায়ন বিশদ, যা বিভিন্ন সিজিএন বাস্তবায়নের মধ্যে পরিবর্তিত হতে পারে।
কাস্পার্ড

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

14

আপনি ভুল করেছেন - সকেটের স্বতন্ত্রতা চারটি কারণ দ্বারা নির্ধারিত হয়:

  1. স্থানীয় আইপি ঠিকানা
  2. স্থানীয় পোর্ট নম্বর
  3. দূরবর্তী আইপি ঠিকানা
  4. দূরবর্তী পোর্ট নম্বর

নেটওয়ার্ক পরিষেবাদি সরবরাহের সময়, 1. এবং 2. সাধারণত স্থিতিশীল (যেমন আইপি 10.0.0.1, পোর্ট 80) তবে আপনি যদি একক ক্লায়েন্টের (বা একটি সিএল এনএইচ গেটওয়ে) হাজার হাজার সংযোগের প্রত্যাশা না করেন তবে আপনি এটির দিকে ধাবিত হবেন না স্থানীয় সংস্থানগুলি শেষ হয়ে যাওয়ার আগে 3 এবং 4 এর সম্ভাব্য সংমিশ্রনের সীমানা।

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

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


2

প্রশ্নটি কীভাবে বৃহত (> 64 কে) সংযোগ গণনাগুলি পরিচালনা করতে হয়। দুটি সাধারণ পদ্ধতি হ'ল:

  • আরও সার্ভার যুক্ত করা হচ্ছে, যা src / dst ঠিকানা এবং পোর্ট সংখ্যা tuples সংখ্যা বৃদ্ধি করে। একাধিক সার্ভার জুড়ে লোড ভাগ করার একাধিক উপায় রয়েছে; ডিএনএস রাউন্ড রবিন এক; অন্যরাও আছেন

  • "ক্যারিয়ার-গ্রেড NAT" স্থাপন করুন (যা আমার মতে একটি বন্ধু অবজ্ঞাপূর্ণভাবে এবং সঠিকভাবে "ক্রমমিয়ার-গ্রেড NAT" হিসাবে উল্লেখ করেছে)। এটি মূলত একটি NAT এর একটি NAT। এটির জন্য অ্যাপ্লিকেশনগুলির জন্য খুব খারাপ প্রভাব রয়েছে, তবে আইপিভি 4 স্পেস এবং / অথবা পোর্ট নম্বরগুলি শেষ হয়ে গেলে এবং / অথবা তারা আইপিভি 6 এ যেতে চান না এমন কিছু বড় প্রদানকারীরা তা করে।


2
আপনি যদি শিরোনামের চেয়ে বেশি পড়েন, আপনি দেখতে পাবেন যে এই প্রশ্নটি বন্দর ক্লান্তি সম্পর্কিত এবং এটি কীভাবে কাজ করে সে সম্পর্কে ওপিতে ভুল হয়েছিল। এই উত্তরটি ঠিক কীভাবে নতুন কোনও মূল্য যুক্ত করে?
MDMarra

2
ওপি স্পষ্টভাবে জিজ্ঞাসা করে (এবং কেবল শিরোনামে নয়) "সার্ভারগুলি কীভাবে অত্যন্ত উচ্চ মাত্রার ... অনুরোধগুলির অভিজ্ঞতা অর্জন করে" asks কীভাবে সকেটগুলি কাজ করে তা নিয়ে বিভ্রান্তি বাদ দেওয়া, এটি একটি বৈধ প্রশ্ন।
ব্যবহারকারী8162

1
প্রশ্নটি মধ্য বাক্যটি কেটে ফেলার দুর্দান্ত কাজ। যে বাক্য বাকি বলেছেন: (more than the max port number)
MDMarra

2
সম্ভবত আপনি সেই অংশটি মিস করেছেন যেখানে আমি ওপিকে স্থির করেছিলাম সকেট মেকানিক্স বুঝতে পারে না। আমি মতামত নিয়েছি যে কীভাবে exceed৪ কে বন্দর ছাড়িয়ে যাবেন তা আলোচনার জন্য বৈধ বিষয়; আমি যদি আপনি একমত না হন তবে আমি দুঃখিত, তবে সেই প্রশ্নটি ছিল এবং আমি যা জবাব দিয়েছি সেগুলিই ছিল। আপনি জিজ্ঞাসা করেছিলেন এটি কীভাবে প্রতিক্রিয়াশীল; এইভাবে।
ব্যবহারকারী 8162

3
এটা অর্ধেক প্রশ্ন। ওপির চূড়ান্ত বাক্যটির দ্বারা সমর্থিত - বড়-বড় প্রশ্নটি কীভাবে break৪ কে বাধা ভাঙবে break
ব্যবহারকারী8162
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.