FTP چیست ؟ پروتکلی که از طریق آن کامپیوتر ها میتوانند به دنبال فایلها بر روی اینترنت بپردازند FTP نامیده میشود، در واقع FTP مخفف File Transfer Protocol میباشد که یک پروتکل استاندارد در TCP/IP است. FTP یکی از قدیمی ترین پروتکل های اینترنت می باشد که هنوز هم کاربرد زیادی دارد و در سال ۱۹۷۰ در اینترنت توسعه یافت.. مانند HTTP که محتوای وب را منتقل می کند یا SMTP که ایمیل ها را منتقل می کند FTP هم ساده ترین راه برای تبادل فایل از یک کامپیوتر به کامپیوتر دیگر است. پروتکل FTP علاوه بر نقل و انتقال فایل بین دو کامپیوتر ، می تواند نوعی مدیریت فایل ( مثل حذف فایل یا ایجاد پوشه ) روی کامپیوتر مقصد را انجام دهد . FTP در انتقال فایل بسیار قویتر از HTTP است ولی به مراتب پیچیده تر از HTTP می باشد. جهت استفاده از پروتکل FTP شما به نرم افزارهای سرویس دهنده مانند WSFTP نیاز دارید. Cute FTP و FTP Voyager نیز نمونه های دیگری هستند.
خدماتی که این پروتکل ارایه می کند عبارتند از :
۱٫ تهیه لیستی موجود از فایلهای کامپیوتر راه دور ۲٫ حذف، تغییرنام و جابجا کردن فایلهای کامپیوتر راه دور ۳٫ جستجو در دایرکتوریهای کامپیوتر راه دور ۴٫ ایجاد یا حذف دایرکتویهای کامپیوترهای راه دور ۵٫ انتقال فایل از کامپیوتر میزبان به کامپیوتر راه دور و بالعکس …
• مفهوم FTP قابلیتهایی که پروتکلFTP عرضه می کند می تواند برای کامپیوتر سرویس دهنده بسیار خطرناک باشد، چرا که به سادگی می توان فایلهای یک کامپیوتر راه دور را آلوده یا نابود کرد. بنابراین کاربران قبل از هر اقدامی باید شناسایی شده و سطح دسترسی آنها تعیین شود. FTP قابلیت اجرای یک برنامه را بر روی کامپیوتر راه دور ندارد، بلکه روشی سریع، ساده و مطمئن برای خدمات فایل به کاربران راه دور محسوب می شود.
• ارتباط بین سرویس گیرنده و سرویس دهنده برای شروع یک “نشست” بین برنامه سرویس دهنده و سرویس گیرنده باید دو ارتباط همزمان از نوع TCP برقرار شود. به هریک از این ارتباطات در ادبیات پروتکل TCP، یک “کانال” گفته می شود. این دو کانال عبارتند از : ۱٫ کانال داده : یک ارتباط TCP با پورت شماره ۲۰ از سرویس دهنده که روی آن داده ها مبادله می شوند. ۲٫ کانال فرمان : یک ارتباط TCP با پورت شماره ۲۱ که روی آن فرامین لازم برای مدیریت فایلها رد و بدل می شوند. دلیل لزوم برقراری دو کانال مجزا بین سرویس دهنده و سرویس گیرنده آن است که بتوان بدون قطع جریان داده ها فرامین را به طور همزمان مبادله کرد. بعنوان مثال در حین انتقال یک فایل می توان روی کانال فرمان دستور لغو انتقال یا تغییر مود انتقال را صادر کرد. ذکر این نکته ضروریست که در پروتکل FTP همه عملیات انتقال فایل در “پیش زمینه” انجام می شود. بدین معنی که پروتکل FTP مانند سیستمهایی مثل مدیریت چاپ که درخواستهای چاپ پرونده را به صف کرده و یک به یک آنها را رسیدگی می کند، نیست و عملیات انتقال فایل را به صورت بلادرنگ انجام می دهد. پروتکل FTP، دو پروسه همزمان ایجاد می کند که یکی وظیفه مدیریت ارتباط روی کانال فرمان را به عهده داشته و اصطلاحا “مفسر پروتکل” یا پروسه PI نامیده می شود. وظیفه پروسه دیگر مدیریت انتقال داده هاست و به DTP یا “پروسه انتقال داده” معروف است. پروسه PI همیشه به پورت شماره ۲۱ و پروسه DTP به پورت شماره ۲۰ مقید شده اند.
• انواع FTP از نقطه نظر شبکه ای دو نوع FTP وجود دارد : فعال (Active) : در این روش برای انتقال داده ها، ارتباط بین سرویس دهنده و سرویس گیرنده از سمت سرویس دهنده شروع می شود. غیر فعال (Passive) : در این روش برای انتقال داده ها، ارتباط بین سرویس دهنده و سرویس گیرنده از سمت سرویس گیرنده شروع می شود. شکل زیر بهتر این موضوع را نشان می دهد :
• مجموعه رخدادهایی که برای Active FTP رخ می دهند ۱٫ سرویس گیرنده به پورت شماره ۲۱ سرویس دهنده، متصل می شود. ۲٫ هر زمان که سرویس گیرنده از طریق خط کنترلی داده ای از سرویس دهنده تقاضا کند، ارتباطی از سمت سرویس دهنده و روی پورت ۲۰ بین آن دو ایجاد می شود. ۳٫ در نتیجه داده ها از طریق پورت شماره ۲۰ روی سرویس دهنده و یک پورت شماره بالا(بزرگتر از ۱۰۲۴) روی سرویس گیرنده بین دو کامپیوتر منتقل می شود.
مجموعه رخدادهایی که برای Passive FTP رخ می دهد، عبارتند از : ۱٫ سرویس گیرنده به پورت شماره ۲۱ سرویس دهنده، متصل می شود. دستورات از طریق این خط انتقال می یابند. ۲٫هر زمان که سرویس گیرنده از طریق خط کنترلی داده ای تقاضا می کند، ارتباطی از طریق یک پورت شماره بالا روی سرویس گیرنده با یک پورت شماره بالا روی سرویس دهنده برقرار می شود.
نکته: Passive FTP برای سرویس گیرندگانی که پشت دیواره آتش (Firewall) هستند مناسبتر است. در Windows حالت پیش فرض Active FTP و در Linux حالت پیش فرض Passive FTP می باشد.