যদিও এই প্রশ্নটি ইতিমধ্যে উত্তর হিসাবে চিহ্নিত হয়েছে, আমি ওপিতে জিজ্ঞাসা করা অতিরিক্ত কিছু প্রশ্নের সমাধান করতে চেয়েছিলাম।
এই বন্দরগুলি কি শারীরিক বস্তু?
কোনও বন্দর শারীরিক বস্তু নয়।
একটি পোর্ট নম্বরটি একটি 16-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা, যার অর্থ ব্যবহারের জন্য উপলব্ধ পোর্টগুলির পরিসীমা 1 থেকে 65535 (পোর্ট নম্বর 0 সংরক্ষিত এবং ব্যবহার করা যায় না)। একটি প্রক্রিয়া তার ইনপুট বা আউটপুট চ্যানেলগুলিকে ইন্টারনেট সকেট, এক ধরণের ফাইল ডেস্ক্রিপ্টর, ট্রান্সপোর্ট প্রোটোকল, একটি পোর্ট নম্বর এবং একটি আইপি ঠিকানা দিয়ে যুক্ত করে। এই প্রক্রিয়াটি বাঁধাই হিসাবে পরিচিত, এবং নেটওয়ার্কের মাধ্যমে ডেটা প্রেরণ এবং গ্রহণ করতে সক্ষম করে।
এগুলি কি আমার কম্পিউটারের কিছু অংশে নির্মিত? তারা এমনকি শারীরিক কিছু? নাকি কোডে লেখা? এই কোডটি কোথায়? অপারেটিং সিস্টেম? সত্যিই একটি বন্দর কি?
অপারেটিং সিস্টেমের নেটওয়ার্কিং সফ্টওয়্যারটির মধ্যে সমস্ত অ্যাপ্লিকেশন পোর্ট থেকে আউটগোয়িং ডেটা নেটওয়ার্কে প্রেরণ করা এবং প্যাকেটের আইপি ঠিকানা এবং পোর্ট নম্বর মিলিয়ে কোনও প্রক্রিয়ায় আগত নেটওয়ার্ক প্যাকেটগুলি ফরোয়ার্ড করার কাজ রয়েছে।
একই পরিবহন প্রোটোকল ব্যবহার করে কেবল একটি প্রক্রিয়া নির্দিষ্ট আইপি ঠিকানা এবং পোর্ট সংমিশ্রণে আবদ্ধ হতে পারে। সাধারণ অ্যাপ্লিকেশন ব্যর্থতা, কখনও কখনও পোর্ট বিবাদগুলি বলা হয়, যখন একাধিক প্রোগ্রাম একই আইপি ঠিকানায় একই প্রোটোকল ব্যবহার করে একই পোর্ট নম্বরগুলিতে আবদ্ধ হওয়ার চেষ্টা করে।
উপরের অনুচ্ছেদটি কেন বন্দর / প্রোটোকল নেটওয়ার্কিংয়ে ব্যবহৃত হয় তা বোঝার মূল চাবিকাঠি। যদি আমাদের কাছে প্রোটোকলটি নির্দিষ্ট করার কোনও উপায় না থাকে যা একটি স্বীকৃত আপন পোর্ট নম্বরে ডেটা প্রেরণ করে - আপনি একবারে 1 টিরও বেশি জিনিস করতে সক্ষম হবেন না (আপনার ইমেলটি দেখুন এবং ওয়েবটি ব্যবহার করুন) কারণ আপনার কম্পিউটারে আপনার ব্রাউজ করা ওয়েবসাইটের জন্য আপনার ইমেল ক্লায়েন্টের ডেটা এবং ডেটার মধ্যে পার্থক্য করার কোনও উপায় নেই।
কয়টি বন্দর আছে?
পোর্ট সংখ্যাগুলি বিভিন্নভাবে নির্ধারিত হয়, তিনটি রেঞ্জের উপর ভিত্তি করে:
সুপরিচিত / সিস্টেম বন্দরগুলি (0-1023) - পোর্টগুলির এই ব্যাপ্তিগুলি সিস্টেম প্রক্রিয়াগুলি দ্বারা ব্যবহৃত হয় যা বহুল ব্যবহৃত ব্যবহৃত জাতীয় নেটওয়ার্ক পরিষেবাদি সরবরাহ করে (HTTP / 80, HTTPS / 443, টেলনেট / 21, এসএসএইচ / 22)
নিবন্ধিত / ব্যবহারকারীর বন্দরগুলি (1024-49151) - 1024 থেকে 49151 পর্যন্ত পোর্ট সংখ্যার ব্যাপ্তি নিবন্ধিত বন্দরগুলি। একটি অনুরোধকারী সত্তা দ্বারা আবেদনের উপরে নির্দিষ্ট পরিষেবার জন্য তাদের আইএএনএ দ্বারা নিয়োগ করা হয়। (ওয়েবমিন / 10000, HTTP প্রক্সি / 8080, রিমোট ডেস্কটপ প্রোটোকল / 3389, ইত্যাদি)
ক্ষণজীবী / ডায়নামিক / ব্যক্তিগত বন্দর (49152-65535) - পরিসীমা 49152-65535 গতিশীল বা ব্যক্তিগত পোর্ট যে রয়েছে না পারেন IANA সাথে নিবন্ধিত হতে পারে। এই ব্যাপ্তিটি কাস্টম বা অস্থায়ী উদ্দেশ্যে এবং সাময়িক বন্দরগুলির স্বয়ংক্রিয় বরাদ্দের জন্য ব্যবহৃত হয়।
আমি কি বন্দর সংখ্যা বাড়াতে বা হ্রাস করতে পারি?
উপলব্ধ বন্দরগুলির সংখ্যা বৃদ্ধি করতে সক্ষম হওয়ার ক্ষেত্রে, আপনি গণিতের কারণে 65535 এর উপরে কোনও বন্দর নির্ধারণ করতে পারবেন না যা নেটওয়ার্কিং (বাইনারি) কাজ করতে দেয় - সুতরাং এই প্রশ্নের উত্তর হ'ল না, আপনি মোট উপলব্ধ সংখ্যা বাড়াতে পারবেন না 65535 উপরে পোর্ট।
প্রোটোকল কি?
কম্পিউটার বিজ্ঞানের মধ্যে, একটি যোগাযোগ প্রোটোকল কম্পিউটারের মধ্যে বা এর মধ্যে বার্তা বিনিময়ের জন্য ডিজিটাল নিয়মের একটি ব্যবস্থা। কম্পিউটার নেটওয়ার্কের মাধ্যমে বার্তাগুলি বিনিময় করা হয়, নিয়ম সিস্টেমকে নেটওয়ার্ক প্রোটোকল বলা হয়। একটি প্রোটোকল হ'ল নির্দেশাবলী / কমান্ড / কলগুলির সেটগুলিতে সম্মত হয় যে দুটি নেটওয়াক ডিভাইস উভয়ই যোগাযোগ করতে পারে। চিন্তা করুন যে আমরা প্রোটোকল এবং ওয়েব সার্ভারগুলির বিষয়ে সম্মতি না জানালে কেবল এলোমেলোভাবে ওয়েব ব্রাউজারগুলিতে ডেটা প্রেরণ করেছি যে ব্রাউজারটি কী করতে হবে তা জানে না? ভাগ্যক্রমে আমাদের মধ্যে এইচটিটিপি রয়েছে এবং যা তৈরি করা প্রতিটি ওয়েব ব্রাউজারটি সফ্টওয়্যারটিতে তৈরি করে তাই এটি যে কোনও ওয়েব সার্ভারের সাথে একই ভাষায় কথা বলতে পারে (এইচটিটিপি)।
আমি ভাবতে পারি যে তারা কোনও প্রকারের কোড .... আপনি কি নিজের প্রোটোকল তৈরি করতে পারবেন? প্রোটোকল তৈরি করতে আপনি কোন ভাষা ব্যবহার করেন?
হ্যাঁ আপনি নিজের প্রোটোকল তৈরি করতে পারেন। প্রোটোকল বিভিন্ন ভাষায় রচিত হয়। আমি কোনও সফ্টওয়্যার বিকাশকারী নই, তবে আমি নিশ্চিত যে আপনি যতটা ভাষা ব্যবহার করছেন ততক্ষণ লাইব্রেরি রয়েছে যা আপনাকে এমন সফ্টওয়্যার লিখতে দেয় যা টিসিপি / আইপি যোগাযোগ করতে পারে (অন্যান্য প্রোটোকল স্যুট রয়েছে, তবে টিসিপি / আইপি সবচেয়ে বেশি প্রোটোকল লেখার জন্য আপনি সেই ভাষাটি ব্যবহার করতে পারেন widely প্রোগ্রামিং ভাষা 'সি' প্রোটোকল লেখার ক্ষেত্রে সবচেয়ে বেশি ব্যবহৃত হয় বলে মনে হয়। এটি ১৯ network০ এর দশকে ইউএনআইএক্স-এ প্রথম নেটওয়ার্ক প্রোটোকলগুলির অনেকগুলি বিকাশ করা হয়েছিল এবং ইউএনআইএক্স নিজেই যে ভাষায় লিখিত ছিল সে সি হতে পারে।
একটি নির্দিষ্ট প্রোটোকল চালানোর জন্য আপনি কীভাবে একটি নির্দিষ্ট বন্দর পাবেন?
এটি ওএস এর মধ্যে বেশ কিছুটা আলাদা। উদাহরণস্বরূপ, উইন্ডোতে চালু থাকা পোর্ট নম্বর রিমোট ডেস্কটপ প্রোটোকলটি পরিবর্তন করতে আপনাকে রেজিস্ট্রি সম্পাদনা করতে হবে। লিনাক্সে, অনেকগুলি নেটওয়ার্ক পরিষেবাদি একটি নির্দিষ্ট নেটওয়ার্ক পরিষেবার জন্য একটি .conf ফাইল থেকে সরাসরি কনফিগার করা যায়।
আপনি কীভাবে একটি নতুন প্রোটোকল সংজ্ঞায়িত বা উদ্ভাবন করবেন?
দেখুন https://journal.paul.querna.org/articles/2012/02/22/designing-network-protocols/ কেউ একটি ব্লগ পোস্টে যারা সম্প্রতি একটি নতুন নেটওয়ার্কিং প্রোটোকল এবং কিছু সাজানোর কি তিনি কি ছিল উন্নত হয়েছে জন্য এ পথ ধরে.