تا %60 تخفیف خرید با صدور مدرک برای 2 نفر فقط تا
00 00 00

تفاوت Active FTP و Passive FTP در چیست؟ به زبان بسیار ساده

وقتی صحبت از FTP سرور می شود همه راجع به دو شماره پورت صحبت می کنند ! شماره پورت 20 و 21 و بعضا هیچیک از دوستان نمی دانند که کاربرد هر کدام از این پورت ها در چیست؟ چرا فایروال های ما اکثرا با پروتکل FTP بصورت پیشفرض مشکل دارند؟ آیا همچنان از پورت 20 در FTP استفاده می شود یا خیر ؟ و ... خوب در این مقاله در توسینسو من به شما این موارد را توضیح می دهم . به زبان بسیار ساده به این موضوع آگاه باشید که دیگر عملا در محیط های واقعی چیزی به نام Active FTP وجود ندارد و شما فقط از این نوع FTP برای توضیح دادن فرآیند کاری Passive FTP استفاده می کنید و بس .

تفاوت حالت Passive  و Active در FTP چیست؟

خوب قبل از اینکه ادامه بدهیم این جمله را به خاطر داشته باشید که Passive و Active در FTP دو Mode یا حالت اتصال و برقراری ارتباط بین کلاینت و سرور هستند که تفاوت اصلی آنها در نحوه برقراری ارتباط بین کلاینت و سرور از طریق پورت های مختلف است . FTP برای برقراری ارتباط با کلاینت از یک کانال برای ارسال دستورات و از کانالی دیگر برای انتقال داده ها استفاده می کند ، به زبان ساده ما در FTP دو کانال Command Channel و Data Channel داریم که در یکی از آنها دستورات برقراری ارتباط ارائه می شود و در دومی داده ها منتقل می شوند . بصورت پیشفرض Command Channel بر روی پورت 21 و  Data Channel بر روی پورت 20 فعالیت می کنند. وظیفه کانال دستور ، دریافت کردن دستورات از کلاینت و وظیفه کانال انتقال داده ، انتقال دادن فایل هاست ! همین ... ساده هست نه؟

تفاوت Active Mode و Passive Mode در FTP

در حالت Active FTP کلاینت از طریق یک پورت تصادفی یا Random Port دستور خودش را به سمت پورت Command Channel یا همان پورت 21 ارسال می کند . دلیل اینکار این است که نیازی نیست الزاما در سمت کلاینت از همان پورتی که سرور استفاده می کند برای ارسال کردن دستور به پورت 21 استفاده شود . بعد از اینکه دستور از طریق پورت 21 در حالت Active FTP دریافت شد ، سرور از طریق پورت 20 که Data Channel است یک شماره پورت تصادفی برای ارتباط گیری کلاینت با پورت 20 خودش به سمت کلاینت ارسال می کند. تعجب نکنید ، بله کلاینت از روی پورت 20 خودش برای برقراری ارتباط با کلاینت درخواست می دهد که کلاینت با یک پورت تصادفی دیگر ( معمولا یک شماره بالاتر از شماره پورتی که کلاینت در زمان ارسال درخواست به پورت 21 ارسال کرده است ) به سرور متصل شود و شروع به انتقال داده کند .

قطعا در این میان یک فرآیند Port Forwarding انجام می شد در دو مرحله ( یکبار در سمت سرور که پورت تصادفی کلاینت را دریافت و به سمت پورت 21 منتقل می کند و یکبار در سمت برگشت در سمت کلاینت که پورت تصادفی سرور برای ارتباط گیری را باز و ارتباط را برقرار می کند ) . و در نهایت کلاینت بر روی پورت 20 سرور ارتباط برقرار کرده و شروع به انتقال فایل می کند. در قدیم این امکان وجود داشت که پروتکل ها بصورت مستقیم ارتباط بگیرند اما این روزها با وجود فایروال ها این امکان وجود ندارد.

اما وقتی در حالت Passive FTP صحبت می کنیم . کلاینت باز هم از طریق یک پورت تصادفی دستور خودش را به سمت پورت یا همان کانال دستور FTP سرور به شماره 21 ارسال می کند اما اینبار درون دستور FTP خودش اعلام می کند که می خواهد ارتباط از نوع Passive FTP برقرار کند. در این حالت سرور پورت های تصادفی را برای برقراری ارتباط کلاینت به سمت خودش در نظر گرفته است که با هر با هر بار درخواست کلاینت ممکن است این شماره پورت تغییر کند . بعد از دریافت کردن دستور از سمت پورت تصادفی کلاینت به پورت 21 سرور ، سرور از طریق پورت 21 به کلاینت شماره پورت تصادفی که می تواند با آن Data Channel را برقرار کند را ارسال می کند و اینبار کلاینت به سمت پورت تصادفی مجددا ارتباط برقرار می کند .

تفاوت اصلی حالت FTP Passive و FTP Active در چیست ؟

تفاوت اصلی بین این دو روش انتقال در FTP در واقع سمت برقراری ارتباط است . در حالت Passive این سرور است که در پاسخ به سمت کلاینت ارتباط برقرار می کند که در بسیاری از فایروال ها ارتباط از بیرون به داخل مسدود شده است . در حالت Active این کلاینت است که با دستوری که در همان پورت اول دریافت کرده است به پورت تصادفی جدیدی که در سرور در نظر گرفته شده است متصل می شود و بنابراین Session اضافی نیاز نیست از بیرون به داخل شبکه تعریف شود. در واقع یک مبحث امنیتی است که تفاوت این دو روش را تعیین می کند . اگر به تصاویر بالا مراجعه کنید و سمت فلش ارتباطی را مشاهده کنید قطعا متوجه تفاوت ایندو خواهید شد . امیدوارم مورد توجه شما قرار گرفته باشد.

نویسنده : محمد نصیری

منبع : جزیره شبکه و زیرساخت وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

2 نظر
Linuxi

خوب آلان  تو شبکه dmz شرکت خودمون کلاینت ها با فایلزیلا با حالت اکتیو مد دارن کانکت میشن و اصلا با پسیو مد کانکت نمیشن.

محمد نصیری

روی فایروال ها ساپورت میشه این قضیه عرض کردم ولی عملا Active Mode منسوخ شده هست میخاین چک کنید ببینید چه پورتهایی رو باز کردن

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر