কেন একাধিক টিসিপি / আইপি পোর্ট HTTP তে উত্সর্গ করা বুদ্ধিমান হয় না? যদিও স্বীকার করে নিখোঁজ, সার্ভারের কার্যকারিতা একরকম বাড়ানো যেতে পারে তা ভাবা কি কোনওভাবেই স্বজ্ঞাত নয়?
কেন একাধিক টিসিপি / আইপি পোর্ট HTTP তে উত্সর্গ করা বুদ্ধিমান হয় না? যদিও স্বীকার করে নিখোঁজ, সার্ভারের কার্যকারিতা একরকম বাড়ানো যেতে পারে তা ভাবা কি কোনওভাবেই স্বজ্ঞাত নয়?
উত্তর:
পোর্ট ৮০ একটি সুপরিচিত বন্দর, যার অর্থ এটি সাধারণত আপনি এইচটিটিপি সার্ভারগুলি পাবেন এমন স্থান হিসাবে সুপরিচিত। আপনি এটি HTTP / 1.1 আরএফসি তে নথিভুক্ত খুঁজে পেতে পারেন ।
ডিফল্ট থাকা অবিকলভাবে দরকারী কারণ আপনাকে এটি ইউআরআই দিয়ে আপনার ওয়েব ব্রাউজারে টাইপ করতে হবে না। যদি আপনি কোনও মানহীন পোর্টে এইচটিটিপি সার্ভার চালনা করেন (বা আসলে কোনও পরিষেবা), আপনি ক্লায়েন্টকে কোন স্বেচ্ছাসেবী 16-বিট নম্বর পছন্দ করেছেন এবং এটি টাইপ করে তা মনে রাখতে বাধ্য করেন।
এই বন্ধুত্বের পাশাপাশি, কোনও কার্যকারিতা সুবিধা নেই: একটি বন্দর হল (dst ip:port, src ip:port)
4-টিউপলের একটি অংশ যা একটি টিসিপি সংযোগটি অনন্যভাবে চিহ্নিত করে। যদি দুটি সংযোগ একটি ভাগ করে dst ip:port
, এর অর্থ এই নয় যে তারা কিছু সিস্টেম সংস্থান ভাগ করে - তারা বিভিন্ন থ্রেড বা বিভিন্ন প্রক্রিয়াতে থাকতে পারে।
এখন, আপনি কথাটি বিভিন্ন সেবা যা উভয় আছে যদি ঘটতে HTTP- র ব্যবহার করতে, কোন হল সমস্যা তাদের বিভিন্ন পোর্ট চলমান সঙ্গে। এটি কেবল ইউআরআইকে কিছুটা খারাপ করে তোলে।
এক বা একাধিক পোর্টে সংযোগ পরিচালনা করে সার্ভার সংস্থানগুলি অপচয় করে না। সংযোগগুলি পরিচালনা করতে সার্ভার সংস্থানগুলি বরাদ্দ করা হয়, এবং পোর্ট নম্বরটি কোনও নির্দিষ্ট সংযোগের সাথে একটি নির্দিষ্ট প্রোগ্রামের সংযোগ করার একমাত্র উপায়।
উদাহরণস্বরূপ: এইচটিটিপি সার্ভার জানে যে তিনি 80 বন্দরটিতে আসা সংযোগগুলি শুনবেন And এর পরে, HTTP সার্ভারটি যোগাযোগটি পরিচালনা করবে এবং তারপরে সংস্থানগুলি ব্যবহার করবে।
আপনি বন্দরগুলি বাস্তব হিসাবে মনে করেন; এটি কেবল একটি 16-বিট স্বাক্ষরযুক্ত নম্বর (0-65535) যা একটি আইপি প্যাকেটের শিরোনামে একটি লেবেল। এটি অ্যাপ্লিকেশন-স্তরের মাল্টিপ্লেক্সিংয়ে সহায়তা করে। যখন একটি ইনকামিং প্যাকেট একটি নেটওয়ার্ক কার্ডে আসে, ওএস একটি বিজ্ঞপ্তি পায়। এটি আগত প্যাকেটটি কোন পোর্টে নির্দেশিত হয়েছিল তা পরীক্ষা করে এবং তারপরে প্যাকেটটি কেবলমাত্র সঠিক অ্যাপ্লিকেশনে ফরোয়ার্ড করে। আপনি যদি পোর্ট ৮০ এ শুনতে আপনার ওয়েবসারভার (এনগিনেক্স) চালাচ্ছেন তবে কেবল এনজিনেক্স পোর্ট ৮০ এ প্রেরণযোগ্য প্যাকেটগুলি পাবেন।
যখন কোনও ক্লায়েন্ট (আইপি: 100.200.100.200) সার্ভারে একটি HTTP অনুরোধ করে (55.55.55.55), তারা সার্ভারে গন্তব্য পোর্ট 80 এর জন্য অনুরোধ জানায় (55.55.55.55:80), তবে উত্স বন্দরটি এলোমেলোভাবে চয়ন করেছে ওয়েব ব্রাউজারের জন্য ওএস (45490 এর মতো কিছু)। তারপরে ওয়েব সার্ভারের এইচটিটিপি প্রতিক্রিয়াটি (55.55.55.55:80) থেকে আসে তবে গন্তব্যে (আপনার আইপি) (100.200.100.200:45490) পাঠানো হয়। আপনার কম্পিউটারের ওএস জানে যে 45490 পোর্টে আগত প্যাকেটগুলি (55.55.55.55:80 থেকে) ওয়েব ব্রাউজারে অনুরোধ করা উচিত। ক্লায়েন্টের কাছ থেকে একটি ওয়েব সাইটের প্রতিটি অনন্য সংযোগ যেমন একটি অনন্য র্যান্ডম পোর্ট পায়, তাই আপনি একই ওয়েব সাইটে সংযোগকারী একাধিক ওয়েব ব্রাউজার রাখতে পারেন এবং যখন কোনও পৃষ্ঠা একটি ব্রাউজারে পুনরায় লোড করা হয় তখন অন্যান্য উইন্ডোজ প্রভাবিত হয় না।
প্রতিটি আইপি প্যাকেটে শিরোনামে এটির জন্য উত্স এবং গন্তব্য আইপি ঠিকানা এবং পোর্ট উভয়ই থাকে। ওএস এবং অ্যাপ্লিকেশন (ওয়েব ব্রাউজার বা ওয়েব সার্ভার) প্যাকেটটি কীভাবে প্রক্রিয়াকরণ করা যায় তার জন্য যথাযথ ব্যবস্থা বের করতে উভয়কেই ব্যবহার করতে পারে।
পোর্ট 80 এবং 443 এইচটিটিপি / এইচটিটিপিএসের জন্য "ডিফল্ট" পোর্ট
এর অর্থ হ'ল কোনও ওয়েব ব্রাউজার ব্যবহার করার সময় আপনাকে পোর্টটি নির্দিষ্ট করতে হবে না ( http://www.example.com:80 , https://www.example.com:443 )।
আপনি যদি অন্য কোনও পোর্টে কোনও ওয়েবস্রোয়ার শুনতে চান তবে ব্যবহারকারীদের ম্যানুয়ালি পোর্টটি ইউআরএলে যুক্ত করতে হবে, অথবা এটি নির্দিষ্ট পোর্টের কোনও লিঙ্কে এনকোড করতে হবে।
এছাড়াও, বেশিরভাগ প্রক্সি এবং ফায়ারওয়ালগুলি নির্দিষ্টভাবে এটির জন্য কনফিগার না করা থাকলে p পোর্টগুলির সাথে সংযোগ স্থাপন করতে দেবে না (কনফিগারেশন ব্যতীত বহির্গামী প্রক্সিগুলি ডিফল্ট পোর্টগুলি শুনতে পাবে না, সুতরাং ওয়েবসভারগুলিতে অনুরোধটি প্রেরণ করবে না, যখন ফায়ারওয়ালস কেবলমাত্র নন- TCP80 / 443 সংযোগের প্রচেষ্টা অবরুদ্ধ করুন)
টিসিপি / আইপি স্তরে কী করা যায় এই সমস্ত সীমাবদ্ধ করে
পারফরম্যান্স বৃদ্ধির একটি উপায় হ'ল লোড ব্যালেন্সিং ডিভাইস / পরিষেবাদি টিসিপি 80/443 শোনার পরে তা বিভিন্ন পোর্ট এবং / অথবা আইপি (স্থানীয় ব্যালেন্সিং) বা এমনকি বিভিন্ন দূরবর্তী সাইটগুলিতে (গ্লোবাল ব্যালেন্সিং) সার্ভারগুলিতে অনুরোধটি পুনর্নির্দেশ করবে। তবে এটি পুরোপুরি আরেকটি বিষয়
অতিরিক্ত পোর্ট যুক্ত করা অতিরিক্ত ব্যান্ডউইথ বা এর মতো কিছু যুক্ত করে না, একটি বন্দর পাইপের চেয়ে একটি লেবেলের চেয়ে বেশি , এটি পাইপ পূর্ণ হওয়ার কারণে কোনও ধীর গতির না হয়ে আপনার যতটা প্রস্থের প্রয়োজন তত বাড়তে পারে।
যদি কোনও সার্ভার অত্যধিক অনুরোধ গ্রহণ করে তবে সার্ভার অবশ্যই ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে নামবে will
আপনি যদি এলোমেলো বন্দর ব্যবহার করেন তবে ব্যবহারকারীরা আপনার সাইটে যাবার সময় সঠিক পোর্ট নম্বর যুক্ত করতে হবে। অর্থাত www.example.com:80; www.example.com:81; www.example.com:82 ইত্যাদি
এটি আরও বন্দর ব্যবহার করতে পারফরম্যান্স বাড়ায় না। প্রতিটি সংযোগের জন্য উত্স বন্দরগুলি একটি ক্ষুদ্রকালীন বন্দর এবং যাইহোক
প্রতিটি টিসিপি / আইপি সংযোগের একটি সোর্সআইআইপি থাকে: সোর্সপোর্ট এবং একটি গন্তব্য আইপি: গন্তব্য পোর্ট।
আপনি যখন কোনও সংযোগ শুরু করেন, আপনি সর্বদা 80 টি গন্তব্য পোর্ট হিসাবে ব্যবহার করবেন (যা সার্ভারকে এইচটিটিপি-র জন্য কেবলমাত্র 80 পোর্টে শুনতে হবে এবং বেশ কয়েকটি পোর্টে নয়) ব্যবহার করা উচিত sense কৌশলটি হ'ল প্রতিটি সংযোগের জন্য সোর্সপোর্টটি গতিশীল।
উদাহরণ:
ব্যবহারকারীর সংখ্যা: 1.1.1.1
ব্যবহারকারী 2: 1.1.1.245333 থেকে 2.2.2.2:80
কোনও ভিন্ন শারীরিক সংযোগ বা উচ্চতর নেটওয়ার্ক ব্যান্ডউইথ বা সার্ভার প্রক্রিয়াজাতকরণ কর্মক্ষমতা জন্য কোনও ভিন্ন পোর্টকে ভুল করবেন না। সার্ভারটি যা পায় তা হ'ল টিসিপি বা ইউডিপি প্যাকেট, যা ঠিকানার অংশ হিসাবে একটি পোর্ট নম্বর থাকে। তারা এখনও একই তারের উপর দিয়ে আসে, একই নেটওয়ার্ক ইন্টারফেস হার্ডওয়্যার এবং ড্রাইভারের মধ্য দিয়ে যায় এবং আরও অনেক কিছু।
যদি আপনি কোনও সার্ভারে দুটি প্যাকেট প্রেরণ করতে চান, সংস্থানসমূহের দিক থেকে সার্ভার এই দুটি প্যাকেট প্রসেস করতে ব্যয় করে তবে দুজনের একটির সাথে পৃথক পোর্ট নম্বর বা একই পোর্ট নম্বর যুক্ত থাকলে তা বিবেচ্য নয়, অভ্যন্তরীণ হ্যান্ডলিং হবে অভিন্ন কাছাকাছি হতে।
সুতরাং, কোনও উপায়ে কর্মক্ষমতা বাড়ানোর কোনও পদ্ধতি এটি নয়।
এর একমাত্র সম্ভাব্য ব্যতিক্রম হ'ল যদি আপনি একই সাথে চলমান দুটি পৃথক দু'জন রাক্ষসকে (বা একই কপির দুটি অনুলিপি) দুটি পৃথক বন্দর সংখ্যার সাথে সংযুক্ত করে থাকেন এবং যদি এই রাক্ষসগুলির মধ্যে প্রতিটি লোড দিয়ে অত্যন্ত খারাপভাবে স্কেল করে। যা সাধারণত হয় না।
রেমি উল্লিখিত হিসাবে, পোর্ট 80 এবং 443 এইচটিটিপি / এইচটিটিপিএসের জন্য "ডিফল্ট" পোর্ট।
বেশিরভাগ নেটওয়ার্ক এবং ফায়ারওয়াল এই পোর্টগুলির মধ্য দিয়ে যান চলাচল বন্ধ করে না। সুতরাং এই পোর্টগুলি ব্যবহার করা সহজ কারণ বেশিরভাগ সময় আপনার ফায়ারওয়ালগুলি আপনার পরিষেবাটি ব্লক করার বিষয়ে চিন্তা করার প্রয়োজন নাও হতে পারে অন্যথায় আপনাকে ফায়ারওয়াল বিধিগুলি পুনরায় কনফিগার করার এবং সেইগুলির জন্য সম্মতি / সুরক্ষা থেকে অনুমোদনের মাধ্যমে যেতে হবে।
যেমন এখানকার প্রত্যেকে বলেছে, 80 পোর্ট ব্যতীত অন্য কোনও বন্দরে ওয়েব সার্ভারটি হোস্ট করা অর্থহীন ... যদি আপনি বাড়ি থেকে এটি হোস্টিং না করেন। অনেক আইএসপি গুলো আউটবাউন্ড টিসিপি / ইউডিপি পোর্টগুলি 80 এবং 443 ( আইএএনএ যথাক্রমে এইচটিটিপি এবং এইচটিটিপিএস হিসাবে সংজ্ঞায়িত করে), এবং এই ক্ষেত্রে, এই বন্দরগুলি ব্যবহার করে সাইট লোডিং গতি ইত্যাদি হ্রাস পাবে, তবে আইএএনএ এর জন্য 3 টি এইচটিটিপি-এএলটি পোর্ট বরাদ্দ করেছে টিসিপি এবং ইউডিপি উভয়ই। এগুলি হল: 591, 8008 এবং 8080 these এই পোর্টগুলি ব্যবহার করাও গ্রহণযোগ্য, তবে আপনি সার্ভার প্রশাসকদের জীবনকে নরক বানিয়ে তুলবেন।
বন্দর সংখ্যার উত্স: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml