پروتکل FTP چیست؟
FTP یا File Transfer Protocol پروتکلی پر کاربرد برای تبادل فایلها از طریق اینترنت است. این یک پروتکل شبکه استاندارد است که به کاربران اجازه میدهد فایلها را بین یک کامپیوتر محلی و یک سرور راه دور انتقال دهد. توجه داشته باشید که هر دو کامپیوتر باید از طریق شبکه متصل شده باشند تا فایلها بتوانند به راحتی منتقل شوند. بسیاری بدون آن که متوجه شوند، از پروتکل FTP استفاده کردهاند. برای مثال هنگامی که از صفحه وب چیزی دانلود میشود، در واقع از پروتکل FTP استفاده شده است. در آن زمان، FTP در ابتدا راهی برای ارسال و دریافت فایل بین دو کامپیوتر فیزیکی بود. اما امروزه این انتقالات در فضای ابری صورت میگیرد.

پروتکل FTP چگونه کار میکند؟
FTP پروتکلی است که میتواند هم به صورت سرور عمل کند و هم به صورت کلاینت. این پروتکل دو کانال ارتباطی بین کلاینت و سرور ایجاد میکند. این دو کانال شامل کانال فرمان برای کنترل مکالمه و کانال داده برای انتقال محتوای فایل است. هنگامی که کاربر برای دانلود فایلی درخواست میدهد، کلاینت مکالمهای را با سرور آغاز میکند. کلاینت قادر است تا فایلها را روی سرور آپلود، دانلود، حذف، تغییر نام، انتقال و یا کپی کند.
در کل FTP به دو صورت فعال و غیرفعال کار میکند. در حالت فعال، بعد از اینکه کلاینت جلسهای را از طریق درخواست خط فرمان آغاز کند، سرور یک کانکشن برای کلاینت ایجاد کرده و شروع به انتقال داده میکند.
در حالت غیرفعال، سرور از کانال فرمان استفاده میکند تا اطلاعات مورد نیاز را برای باز کردن یک کانال داده را به کلاینت ارسال کند. چونکه حالت غیرفعال موجب میشود که کلاینت شروع کننده اتصالات باشد، در نتیجه FTP با فایروالها و دروازههای ترجمه آدرس شبکه (NAT) به خوبی کار میکند.
مزایای پروتکل FTP
توانایی این پروتکل در مدیریت انتقال فایلهای بزرگ از مهمترین ویژگیهای آن محسوب میشود. FTP امکان انتقال فایلبا هر اندازهای را بدون هیچ گونه محدودیتی در اندازه یا نوع فایل فراهم میکند. همچنین از سرگیری انتقال فایلهای قطع شده پشتیبانی میکند، که در هنگام برخورد با فایلهای بزرگ یا اتصالات شبکه ناپایدار مفید است.
همچنین فشرده سازی دادهها در حین انتقال فایل برای بهینه سازی استفاده از پهنای باند و به حداقل رساندن زمان از دیگر ویژگیهای FTP است. برخی از کاربران با استفاده از پروتکل FTP از دادههای خود از یک مکان به یک سرور پشتیبان امن بک آپ میگیرند.
بیشتر بخوانید: تفاوت بوت استرپ 4 و 5
تاریخچه FTP
در سال 1971، FTP با نام RFC 114 توسط Abhay Bhushan منتشر شد. ایده اصلی ایجاد این پروتکل، ایجاد امکان انتقال فایلها از طریق ARPANET، در بستر اینترنت بود. با گذشت زمان و شکل گیری پیشرفته اینترنت، FTP توانست با استانداردهای شبکه از جمله TCP/IP هماهنگ شود. بعد از گذشت 5 سال، نام آن به RFC 959 تغییر یافت. همچنین قابلیتهایی مانند توانایی ساخت و حذف یک فهرست از فایلهای مختلف به آن اضافه شد.
برقرای ارتباط با FTP
برای برقراری ارتباط کلاینت به یک نرم افزار سرویسگیرنده FTP، مانند FileZilla Client، FTP Voyager، WinSCP، CoffeeCup Free FTP و Core FTP نیاز دارد که به کاربران اجازه میدهد با سرور تعامل داشته باشند و عملیات انتقال فایل را انجام دهند. پس از اتصال، کاربر می تواند به فایلها و دایرکتوریهای روی سرور دسترسی داشته باشد. همچنین در صورت نیاز میتواند فایلها را آپلود یا دانلود کند. پروتکل انتقال ابرمتن (HTTP) نیز روشی برای انتقال فایل است ولی FTP به عنوان بهترین پروتکل انتقال فایل برای بسیاری از برنامههای کاربردی مانند خدمات بانکی و دیگر اپلیکیشنها معرفی شده است.

انواع پروتکل FTP
1. 1. FTP ناشناس
از انتقال داده بدون رمزگذاری یا استفاده از نام کاربری و رمز عبور پشتیبانی میکند. این نوع FTP به عنوان ابتداییترین پروتکل FTP شناخته شده است. برای دانلود مطالبی که برای توزیع نامحدود مجاز هستند، مورد استفاده قرار میگیرد.
2. FTP محافظت شده با رمز عبور
این نوع از پروتکل، نیاز به استفاده از نام کاربری و رمز عبور دارد. همچنین ممکن است این سرویس ایمن یا رمز گذاری نباشد.
3. FTP Secure یا FTPS
FTPS نسبت به پروتکلهای دیگر، از امنیت بالا تری برخوردار است. بعد از اینکه اتصال وصل شود، به طور خودکار پروتکل تیالاس ضمنی (Implicit TLS) را فعال میکند.
4. FTP با قابلیتهای امنیتی SSL/TLS
این پروتکل اکثر توسط وب و سرویسهای اشتراک فایل برای فعال کردن انتقال امن فایل مورد استفاده قرار میگیرد. FTPES با دستورات خاصی که دارد، اتصال افتیپی سنتی را به یک اتصال افتیپی رمزنگاری شده با SSL/TLS صریح تبدیل میکند. حافظت از دادهها در برابر تهدیدات سایبری از ویژگی این پروتکل محسوب میشود.
5. FTP امن (SFTP)
از نظر فنی میتوان گفت SFTP پروتکل محسوب نمیشود ولی عملکردی شبیه به یکدیگر دارند. در واقع SFTP نسخه رمزنگاری شده پروتکل SSH است. پروتکل SSH سبب شده تا کاربر از راه دور به سیستمها و برنامههای کامپیوتری خود دسترسی داشته باشند. SFTP نیز با فعال کردن مکانیزمی در SSH، سبب امن شدن فرآیند انتقال فایلها میشود.
6. امنیت پروتکل FTP
اگرچه FTP یک پروتکل انتقال فایل است که به طور گسترده مورد استفاده قرار میگیرد، اما دارای محدودیتها و نگرانیهای امنیتی است. یکی از محدودیتهای قابل توجه این است که FTP دادهها را در حین انتقال رمزگذاری نمیکند. به این معنی که فایلها و اعتبارنامههای ورود به سیستم ارسال شده از طریق FTP میتوانند توسط افراد مخرب خوانده شوند. برای رفع این نگرانی، میتوان از نسخه ایمنتر FTP به نام FTPS (FTP over SSL/TLS) یا SFTP (SSH File Transfer Protocol) استفاده کرد که رمزگذاری را به فرایند انتقال فایل اضافه میکند.