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