টিসিপি 65535 এর বেশি বন্দর সরবরাহ করতে পারে?


50

একটি লিনাক্স সিস্টেম সেটআপ করা সম্ভব হয় যাতে এটি 65,535 এরও বেশি পোর্ট সরবরাহ করে? উদ্দেশ্যটি হ'ল কোনও প্রদত্ত সিস্টেমে 65 কেরও বেশি ডেমন শোনা।

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


11
এই প্রশ্নের অনুপ্রেরণা কি? আপনি কেন এমন অনেক ডিমন শোনাতে চান?
ওয়ারেন ইয়ং

1
এছাড়াও, আপনার অনেকগুলি প্রক্রিয়া শুরু করার জন্য খুব কঠিন সময় কাটাতে হবে। (আমি ধরে নিলাম আপনি ডেমোন প্রতি একটি প্রক্রিয়া বোঝাতে চাইছেন))
ওয়ারেন ইয়ং

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

13
এই কিউ এর প্রকৃতি সম্পূর্ণ তাত্ত্বিক, টিসিপি এবং বন্দরগুলির # সীমাবদ্ধতাগুলি বোঝার ব্যতীত অন্য কোনও উদ্দেশ্যে উদ্দেশ্য নয়।
slm

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

উত্তর:


84

টিসিপি: আরএফসি 793 এর জন্য আরএফসিটির দিকে তাকানো - ট্রান্সমিশন কন্ট্রোল প্রোটোকল , কোনও টিসিপি শিরোনাম উত্স / গন্তব্য বন্দর ক্ষেত্রের জন্য 16-বিটের মধ্যে সীমাবদ্ধ থাকার কারণে উত্তরটি হ'ল না।

    এসএস # 1

আইপিভি 6 কি জিনিসগুলিকে উন্নত করে?

না। যদিও আইভিভি 6 আমাদের অনেক বড় আইপি অ্যাড্রেস স্থান দেবে, 32-বিট বনাম 128-বিট, এটি পোর্ট সংখ্যার জন্য 16-বিটের টিসিপি প্যাকেটের সীমাবদ্ধতা উন্নত করার কোনও প্রচেষ্টা করে না। আকর্ষণীয়ভাবে আইপিভি 6 এর জন্য আরএফসি: ইন্টারনেট প্রোটোকল, সংস্করণ 6 (আইপিভি 6) নির্দিষ্টকরণ , আইপি ক্ষেত্রটি প্রসারিত করা দরকার to

যখন টিসিপি আইপিভি over-র উপরে চলে যায়, আরএফসি 2460 অনুযায়ী চেকসাম গণনা করার জন্য ব্যবহৃত পদ্ধতিটি পরিবর্তিত হয় :

যে কোনও পরিবহন বা অন্যান্য আপার-লেয়ার প্রোটোকল যাতে তার চেকসাম গণনাতে আইপি শিরোনামের ঠিকানাগুলি অন্তর্ভুক্ত করে সেগুলিতে 32-বিট আইপিভি 4 অ্যাড্রেসের পরিবর্তে 128-বিট আইপিভি 6 ঠিকানা অন্তর্ভুক্ত করতে আইপিভি 6-র ব্যবহারের জন্য সংশোধন করতে হবে।

                 এসএস # 2

তাহলে কীভাবে আপনি আরও বন্দর পেতে পারেন?

একটি উপায় হ'ল আরও ইন্টারফেস ব্যবহার করে অতিরিক্ত আইপি অ্যাড্রেস স্ট্যাক করা। আপনার সিস্টেমে যদি একাধিক এনআইসি থাকে তবে এটি আরও সহজ, তবে কেবল একটি একক এনআইসি দিয়েও, প্রয়োজনে আরও আইপি বরাদ্দ করতে ভার্চুয়াল ইন্টারফেস (ওরফে অ্যালিয়াসস ) ব্যবহার করতে পারেন ।

দ্রষ্টব্য: এলিয়াস ব্যবহার করে এমন সংকলন করা হয়েছে iproute2যার সাহায্যে আপনি eth0পরিবর্তে একটি একক ইন্টারফেসে আইপি ঠিকানাগুলি স্ট্যাক করতে পারেন (যেমন )।

উদাহরণ

$ sudo ip link set eth0 up
$ sudo ip addr add 192.0.2.1/24 dev eth0
$ sudo ip addr add 192.0.2.2/24 dev eth0
$ ip addr show dev eth0
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc
      pfifo_fast state DOWN qlen 1000
    link/ether 00:d0:b7:2d:ce:cf brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.1/24 brd 192.0.2.255 scope global eth1
    inet 192.0.2.2/24 scope global secondary eth1

উত্স: iproute2: জীবন ifconfig পরে

তথ্যসূত্র


3
গন্তব্য বন্দরটি একা ব্যবহার করে ,৫,53636++ ডিমনগুলির মধ্যে নির্বাচন করা সম্ভব হবে না তবে একের যদি সীমাহীন মেমরি এবং ব্যান্ডউইথ থাকে তবে প্রতিটি আগত বন্দরে প্রতিটি স্বতন্ত্র টিসিপি ঠিকানার সাথে 32,000 এর বেশি সংযোগ থাকতে পারে।
সুপারক্যাট

7

একটি লিনাক্স সিস্টেম সেটআপ করা সম্ভব হয় যাতে এটি 65,535 এরও বেশি পোর্ট সরবরাহ করে?

নাঃ।

উদ্দেশ্যটি হ'ল কোনও প্রদত্ত সিস্টেমে 65 কেরও বেশি ডেমন শোনা।

তারপরে আপনার প্রয়োজন:

  • একটি iptablesকনফিগারেশন যা ট্রাফিক সামগ্রী বা পুনর্নির্দেশ করে

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

দ্বিতীয় আইটেমটি অনুযায়ী, আপনি যদি সত্যিই চান তবে এই পরিষেবাটি 2 ^ 16 টিরও বেশি "পোর্ট" হ্যান্ডেল করার জন্য ডিজাইন করতে পারেন। আমি নিশ্চিত যে চলমান 2 + 16 + শ্রোতার লোডের তুলনায় পারফরম্যান্সের প্রভাব ন্যূনতম হবে।

লিনাক্সের ডেমনগুলি ইউনিক্স সকেটগুলিতে শুনতে পারে যা ফাইল সিস্টেমে রয়েছে তাই আপনার "মাল্টিপ্লেক্সর পরিষেবা" বহিরাগত পোর্টের অভ্যন্তরীণ ম্যাপিং বজায় রাখতে পারে <-> অভ্যন্তরীণ ইউনিক্স সকেট। যে কোনও আধুনিক ফাইল সিস্টেমে ইনড আউট হওয়ার আগে আপনি সম্ভবত কার্নেল প্রক্রিয়া সীমা (32 কেবিট প্রসেস?) এ চলে যাবেন।


আমি এটিকে নিম্নোক্ত করেছিলাম কারণ আপনি বলেছিলেন যে এটি সম্ভব নয়, তারপরে খুব বিভ্রান্তিকর রাউন্ড আউট হলেও একাধিক আইপি এবং লোড ব্যালেন্সিং ব্যবহার করে কীভাবে এটি করবেন তা ব্যাখ্যা করতে যান।
সুপ্রজামি

2
একক সিস্টেমে K৪ কে-র বেশি পোর্ট অসম্ভব। 64৪ কে-র বেশি শ্রোতা সম্ভবত সম্ভব, তবে আপনার প্রক্সি বা সামনের শ্রোতা থাকতে হবে যা সঠিক আসল "ব্যাকএন্ড" শ্রোতার সাথে আগত সংযোগগুলিকে "বিভক্ত" করবে। আপনি একাধিক অভ্যন্তরীণ আইপি অ্যাড্রেসগুলিতে অভ্যন্তরীণ NAT এর মতো উন্মাদ কিছু করতে পারেন।
LawrenceC

2
ভুল। লোকেরা একটি সিস্টেমে অর্ধ মিলিয়ন একযোগে সংযোগ পেতে সক্ষম হয়েছে। হ্যাঁ, একাধিক আইপি এবং লোড ব্যালান্সারগুলি (একই সিস্টেমে অগত্যা নয়) প্রয়োজন, তবে একটি একক সিস্টেম যদি সঠিকভাবে করা হয় তবে orts৪ কেটের বেশি বন্দর এবং এমনকি k৪ কেও বেশি শ্রোতাদের খুলতে পারে।
সুপ্রজামি

2

ঠিক উত্তর নেই বলেই আমি চিম ইন করতে চেয়েছিলাম।

এটি করার একটি উপায় হ'ল একটি আইপি বিকল্প যুক্ত করা যা পোর্ট এক্সটেনশান নির্দিষ্ট করে। আইপি শিরোলেখের alচ্ছিক অংশের মধ্যে ফিট করতে বিকল্পটি অবশ্যই ডিজাইন করা উচিত এবং অজানা হप्स থেকে এড়িয়ে যেতে হবে।

আপনি উত্স, গন্তব্য বা উভয় বন্দর সংখ্যা প্রসারিত করতে এই বিকল্পটি এবং তথ্য সম্পর্কিত তথ্য ব্যবহার করবেন।

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

সংক্ষেপে এটি করা সহজ নয় এবং প্যাকেটের পেলোডে থাকা একক পুনরায় ব্যবহারযোগ্য শ্রোতা এবং ডেটা ব্যবহার করে আরও ভাল কাজ করা হবে।

আপনি আরও সহজে সফ্টওয়্যারটিতে পোর্ট পুনরায় ব্যবহারের অনুমতি দিতে পারবেন যা একাধিক ক্লায়েন্ট সংযোগের জন্য সার্ভারের পোর্ট পুনরায় ব্যবহার করে এই সীমাবদ্ধতা কাটিয়ে উঠতে সহায়তা করতে পারে।

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

একটি এইচটিপি সার্ভারও এটি বা অন্য কোনও ধরণের সার্ভার করতে পারে।

বন্দরগুলির পুনঃব্যবহারের অনুমতি দেওয়ার সময় গুরুত্বপূর্ণ বিষয়টি হ'ল আপনাকে অবশ্যই উত্সের আইপি ঠিকানাটি বিবেচনায় নিতে হবে।


-2

হ্যা, তুমি পারো !

এটি এর আগেও হয়ে গেছে, উদাহরণস্বরূপ এডজহিল এনক্রিপশন সার্ভার, যা 25.000.000 ডেমোন অনলাইনে চলছে।


9
ওপি কীভাবে এটি সম্পাদন করতে পারে, আপনার উত্তর বা সম্পর্কিত ব্যাখ্যা সমর্থন করে এমন ডকুমেন্টেশন অন্তর্ভুক্ত করার জন্য কিছু নির্দেশনা অন্তর্ভুক্ত করার জন্য আপনার উত্তরকে প্রসারিত করার বিষয়ে বিবেচনা করুন।
HalosGhost

আপনি এই বিবৃতি রেফারেন্স প্রদান করতে পারেন? একটি দ্রুত অনুসন্ধান আমাকে এটি বিশ্বাস করে তোলে এটি যাইহোক এটি প্রচুর মেশিনে বিতরণ করা হয়।
থমাস গিয়ট-সিওনেস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.