آشنایی با FTP

اگر برنامه نویس و یا وب مستر باشید، بدون شک FTP را زیاد شنیده اید اما شاید هیچ وقت به دنبال پیدا کردن معنی و کاربرد آن نبوده اید. FTP یا File Transfer Protocol یک پروتکل است که در سال ۱۹۷۱ در بستر اینترنت توسعه یافت. این پروتکل یکی از پرکاربردترین و قدیمی‌ترین پروتکل‌های اینترنت است. در ادامه این مطلب می‌خواهیم ببینیم که پروتکل FTP چیست و چه کاربردهایی در دنیای وب دارد؟

FTP یک پروتکل انتقال فایل میباشد که به شما اجازه میدهد تا با سرعت بالا بتوانید اطلاعات خود را منتقل نمایید.
توصیه ما به کاربران این است که برای انتقال فایل ها از نرم افزار هایFTP استفاده نمایند. به همین منظور و برای بالا بردن سطح کیفی سرویس های ارائه شده در فایل منیجر هاست دایرکت ادمین محدودیت 20 مگابایتی و سی پنل 100 مگابایتی برای آپلود و در اسکریپت نیز همین محدودیت 20 مگابایتی برای آپلود درنظر گرفته شده است و شما میتوانید برای آپلود فایل های حجیم تر از نرم افزار های FTP استفاده نمایید.
FTP چیست؟

پروتکل اف تی پی یا FTP در سال ۱۹۷۱ توسط Abhay Bhushan و تحت عنوان RFC114 منتشر شد. همانطور که از نام این پروتکل مشخص است، FTP وظیفه انتقال فایل‌ها از یک کامپیوتر به کامپیوتر دیگری را برعهده دارد. این پروتکل با هدف ارائه روشی استاندارد برای انتقال فایل در شبکه ای کوچک از کامپیوترها ایجاد شد. این شبکه شامل چند مرکز نظامی، دانشگاهی و عده کمی از افراد می‌ شد. در ابتدای ایجاد این پروتکل شبکه از تعداد مشخص و کمی از کامپیوترها و کاربران تشکیل شده بود. به همین دلیل مسائل امنیتی در نسخه‌های اولیه پروتکل FTP از اهمیت چندانی برخوردار نبود.

اما به تدریج و با گسترش شبکه کامپیوتر و افزایش ناگهانی کاربران آن نیاز به در نظر گرفتن مسائل امنیتی احساس شد. بنابراین به منظور پر کردن این خلا امنیتی، بروزرسانی‌های RFC 2228 و RFC 2428 برای این پروتکل ارائه شدند. FTP يک پروتکل استاندارد بر پایه TCP/IP است. معمولا ارتباط در این پروتکل از طریق پورت‌های 20 و 21 برقرار می‌شود. پورت 21 به منظور ارتباط میان سرور و کلاینت و پورت 20 برای تبادل و ارسال فایل‌ها در شبکه مورد استفاده قرار می‌گیرد.

FTP که مخفف کلمه File Transfer Protocol می باشد یکی از مناسب ترین و در عین حال سریع ترین روش های انتقال فایل از دیسکت کامپیوتر به روی اینترنت می باشد. امروزه از پروتكل های متعددی در شبكه های كامپيوتری استفاده می گردد كه صرفاٌ تعداد اندكی از آنان به منظور انتقال داده طراحی و پياده سازی شده اند. اينترنت نيز به عنوان يك شبكه گسترده از اين قاعده مستثنی نبوده و در اين رابطه از پروتكل های متعددی استفاده می شود. برای بسياری از كاربران اينترنت همه چيز محدود به وب و پروتكل مرتبط با آن يعنی HTTP است، در صورتیكه در اين عرصه  پروتكل های متعدد ديگری نيز وجود دارد. FTP نمونه ای در اين زمينه است. مانند HTTP که محتواي وب را منتقل مي کند يا SMTP که ايميل ها را منتقل مي نماید، FTP نیز ساده ترين راه براي تبادل فايل از يک کامپيوتر به کامپيوتر ديگر مي باشد. يکي از کاربرد هاي FTP، دانلود موزيک و برنامه هاي کاربردي از وب سايت ها است. به خاطر استفاده اين پروتکل از يک پورت مجزا که پورت شماره 21 است، عمل دانلود بسيار سريع انجام مي شود. مانند آدرسهاي وب سايت ها، FTP هم آدرس مخصوص خود را دارد چون همانند يک وب سايت، اين پروتکل بر روي هارد کامپيوتر سرور فضاي مشخصي را اشغال ميکند. معمولاً اگر آدرس يک وب سايت بطور مثال http://www.domain.com باشد، آدرس FTP آن سايت به صورت ftp://ftp.domain.com خواهد بود. FTP در انتقال فايل بسيار قويتر از HTTP است ولی به مراتب پيچيده تر از HTTP می باشد. جهت استفاده از پروتکل FTP شما به نرم افزارهای سرويس دهنده مانند FileZilla نياز دارید. Cute FTP،WSFTP و FTP Voyager نيز نمونه های ديگری هستند.

FTP چه کاربردی دارد؟

این پروتکل، برای توسعه‌دهندگان وب، ابزاری است برای انتقال فایل‌ها از کامپیوتر محلی به سرور میزبان وب‌سایت. برای مثال اگر شما بخواهید سیستم مدیریت محتوا WordPress را بر روی سرور میزبان نصب کنید، برای انتقال فایل‌ها بین سرور و کامپیوتر به FTP نیاز خواهید داشت.

همچنین در مواردی هم برای به اشتراک‌گذاری فایل‌ها مورد استفاده قرار می‌گیرد. برای مثال، کاربری پس از آپلود فایل در سرور FTP، لینک دسترسی به آن را در اختیار سایر کاربران قرار می‌دهد. اگرچه این روش به اشتراک‌گذاری در دنیای سرویس‌های ابری متداول نیست اما برخی کاربران ترجیح می‌دهند تا با ایجاد میزبان (Host) برای فایل‌ها در سرور خانگی خود، سرویس FTP خود را راه‌اندازی کنند.

خدمات ارائه شده توسط FTP :
  1. تهیه لیستی از فایل های موجود از سیستم فایل کامپیوتر از راه دور 
  2. حذف ، تغییر نام و جابجا کردن فایل های کامپیوتری از راه دور 
  3. جستجو در شاخه های ( دایرکتوری ) کامپیوتر از راه دور
  4. ایجاد یا حذف شاخه روی کامپیوتر از راه دور 
  5. انتقال فایل از کامپیوتر راه دور به کامپیوتر میزبان
  6. انتقال فایل و ذخیره آن از کامپیوتر میزبان به کامپیوتر راه دور 

امنیت در پروتکل FTP

همانطور که اشاره شد زمانی که پروتکل FTP ارائه شده بود، شبکه کامپیوترها بسیار کوچک و محدود بود. به همین دلیل در آن زمان صحبتی از امنیت سایبری و رعایت نکات امنیتی در برقراری ارتباطات به میان نیامده بود. این موضوع به این مساله اشاره می‌کند که ارتباطات در پروتکل FTP رمزنگاری (Encrypted) نمی‌ شوند.

بر این اساس اگر کسی به مسیر ارتباطی FTP دسترسی پیدا کند به راحتی می‌تواند عملیات‌های انجام شده را بررسی کند. حتی امکان دارد به راحتی با تغییر و یا پاک کردن فایل ها، اطلاعات سایت را به خطر بیندازد. به همین دلیل امروزه اکثر کاربران از FTPS استفاده می‌کنند. FTPS اطلاعات و ارتباطات رمزنگاری می‌شوند تا هکرها، خراب‌کار‌ها و یا هر کاربر غیرمجاز دیگری نتواند به فایل‌های سرور دسترسی داشته باشد.

انواع FTP :
از نقطه نظر شبکه ای دو نوع FTP وجود دارد :
  1. فعال (Active) : در این روش برای انتقال داده ها، ارتباط بین سرویس دهنده و سرویس گیرنده از سمت سرویس دهنده شروع میشود.
  2. غیر فعال (Passive) : در این روش برای انتقال داده ها، ارتباط بین سرویس دهنده و سرویس گیرنده از سمت سرویس گیرنده شروع میشود.
مجموعه رخدادهایی که برای Active FTP رخ می دهند :
  1. سرویس گیرنده به پورت شماره 21 سرویس دهنده، متصل می شود.
  2. هر زمان که سرویس گیرنده از طریق خط کنترلی داده ای از سرویس دهنده تقاضا کند، ارتباطی از سمت سرویس دهنده و روی پورت 20 بین آن دو ایجاد می شود.
  3. در نتیجه داده ها از طریق پورت شماره 20 روی سرویس دهنده و یک پورت شماره بالا (بزرگتر از 1024) روی سرویس گیرنده بین دو کامپیوتر منتقل می شوند.
مجموعه رخدادهایی که برای Passive FTP رخ می دهند :
  1. سرویس گیرنده به پورت شماره 21 سرویس دهنده، متصل می شود. دستورات از طریق این خط انتقال می یابند.
  2. هر زمان که سرویس گیرنده از طریق خط کنترلی داده ای تقاضا کند، ارتباطی از طریق یک پورت شماره بالا روی سرویس گیرنده با یک پورت شماره بالا روی سرویس دهنده برقرار می شود.

معایب و نواقص FTP :
  1. FTP این قابلیت را ندارد که بتوان همانند پروتکل Telnet برنامه ای را بر روی ماشین از راه دور اجرا کند، بلکه فقط روشی سریع، ساده و مطمئن برای خدمات کاربران راه دور محسوب می شود.
  2. FTP هیچ گونه رمزنگاری را پشتیبانی نمی کند. FTP حتی کلمات عبور را نیز بصورت رمز نشده انتقال می دهد و بدین ترتیب اجازه سو استفاده آسان از سیستم را می دهد.
  3. FTP  به عنوان یک روش امن مورد توجه نیست مگر اینکه درون یک کانال امن مانند SSL یا IPsec قرار گیرد.
مقایسه FTP با HTTP :
پروتکل FTP از مدل سرویس گیرنده – سرویس دهنده استفاده می نماید. بر خلاف HTTP که یک حاکم مطلق در عرصه مرورگرهای وب و سرویس دهندگان وب است، نمی توان ادعای مشابهی را در رابطه با این پروتکل در FTP داشت. هم اینک مجموعه ای گسترده از سرویس گیرندگان و سرویس دهندگان FTP وجود دارد.

جمع بندی

پروتکل اف تی پی یا FTP وظیفه انتقال فایل‌ها از کامپیوتری به کامپیوتر دیگری را برعهده دارد. این پروتکل با هدف ارائه روشی استاندارد برای انتقال فایل در شبکه ای کوچک از کامپیوترها ایجاد شد. از این پروتکل برای انتقال فایل‌ها بین حساب‌های یک کامپیوتر، بین دو کامپیوتر مختلف و… در یک شبکه استفاده می‌ شود.