
- 1. تاریخچه FTP
- 2. پروتکل FTP چگونه عمل میکند؟
- 3. انواع پروتکل FTP
- 4. مزایای پروتکل FTP
- 5. امنیت پروتکل FTP
- 6. کلاینتهای پروتکل FTP
- 7. جمعبندی
اصطلاح پروتکل انتقال فایل (FTP) به فرآیندی اشاره دارد که مربوط به انتقال فایلها بین دستگاهها از طریق شبکه است. این فرآیند زمانی اجرا میشود که در یک پروسه انتقال فایل، یک طرف به دیگری اجازه ارسال یا دریافت فایل از طریق اینترنت را بدهد.
پروتکل FTP در ابتدا به عنوان کانالی برای ارتباط کاربران و تبادل اطلاعات بین دو دستگاه فیزیکی استفاده میشد، اما امروزه معمولاً برای ذخیره فایلها در فضای ابری به کار میرود که معمولاً یک مکان امن است که از راه دور نگهداری میشود.
یک کسبوکار حقوقی یا شخص حقیقی برای انتقال فایلها از یک سیستم کامپیوتری به سیستم دیگر یا توسط وبسایتها برای آپلود یا دانلود فایلها از سرورهای خود میتوانند از این پروتکل استفاده کنند.
تاریخچه FTP
اولین نامگذاری برای FTP با نام RFC 114 در 16 آوریل 1971 منتشر شد و توسط Abhay Bhushan، دانشجوی موسسه فناوری ماساچوست نوشته شد. ایده اصلی FTP، ایجاد امکان انتقال فایلها از طریق ARPANET، در بستر اینترنت بود.
همانطور که اینترنت مدرن شروع به شکلگیری کرد، پروتکل FTP و ویژگیهای آن تحت بازنگریهای مختلفی قرار گرفت تا با استانداردهای شبکه از جمله TCP/IP هماهنگ شود. در سال 1980، نسخه جدیدی از FTP در RFC 765 توسط جان پستل، دانشمند پژوهشی در موسسه علوم اطلاعات در دانشگاه کالیفرنیای جنوبی تعریف شد.
پنج سال بعد، FTP دوباره با عنوان RFC 959 ارائه شد، که قابلیتهای مدیریتی جدیدی را برای این پروتکل معرفی کرد، از جمله توانایی ساخت و حذف یک فهرست از فایلهای مختلف. نسخههای قبلی FTP تا حد زیادی محدود به انتقال فایلها از ساختارهای فهرست فایل موجود بود و فهرستهای جدید را قبول نمیکرد.
در سال 1997، RFC 959 با قابلیتهای جدید تعریف شده در RFC 2228 برای ارائه قابلیتهای امنیتی، بهروزرسانی شد. دو سال بعد، FTP با نسخه RFC 2428 ارائه گردید تا از پروتکل IPv6 نیز پشتیبانی کند. امروزه این پروتکل برای کاربردهای مختلف استفاده میشود.
پروتکل FTP چگونه عمل میکند؟
پروتکل انتقال فایل یا همان FTP به افراد حقیقی و سازمانها اجازه میدهد تا فایلهای الکترونیکی را بدون نیاز به حضور در یک فضای فیزیکی یکسان، با دیگران به اشتراک بگذارند. این انتقال فایل را میتوان با استفاده از یک سرویسگیرنده FTP یا از طریق فضای ابری انجام داد. صرفنظر از این گزینه، هر دو طرف نیاز به اتصال به اینترنت فعال دارند.
اکثر مرورگرهای وب دارای کلاینتهای FTP هستند که به کاربران این امکان را میدهد که فایلها را از کامپیوتر خود به سرور و بالعکس منتقل کنند. برخی از کاربران ممکن است بخواهند از یک سرویسگیرنده FTP شخص ثالث استفاده کنند زیرا بسیاری از آنها ویژگیها و امکانات جانبی بیشتری را ارائه میدهند.
نمونههایی از کلاینتهای FTP که رایگان هستند عبارتاند از FileZilla Client، FTP Voyager، WinSCP، CoffeeCup Free FTP و Core FTP، که در بخشهای بعدی بیشتر به آنها خواهیم پرداخت.
بسیاری از کاربران قبلاً بدون اینکه متوجه باشند از FTP استفاده کردهاند. اگر تا به حال فایلی را از یک صفحه وب دانلود کردهاید، در واقع از پروتکل FTP استفاده کردهاید. اولین مرحله ورود به سیستم است که ممکن است به صورت خودکار یا با وارد کردن نام کاربری و رمز عبور به صورت دستی رخ دهد.
FTP همچنین از شما میخواهد که از طریق یک شماره پورت خاص به سرور FTP دسترسی داشته باشید. هنگامی که از طریق سرویسگیرنده FTP خود به سرور FTP دسترسی پیدا کردید، میتوانید فایلها را انتقال دهید. همه سرورهای FTP عمومی نیازی به ورود به سیستم ندارند زیرا برخی از سرورها به کاربران امکان دسترسی ناشناس را میدهند.
همانطور که در بالا ذکر شد، FTP در ابتدا به عنوان راهی برای ارسال و دریافت فایل بین دو کامپیوتر فیزیکی توسعه داده شد. اما با تغییرات تکنولوژی، کاربران میتوانند انتقال فایل را از طریق فضای ابری نیز انجام دهند. استفاده از ابر؛ انتقال راحت و ایمن فایلهای حجیم را ممکن میسازد و هزینه آن هم نسبتاً پایین است.
روند اجرای FTP
فرآیند FTP را میتوان به چند مرحله کلیدی تقسیم کرد که عبارتاند از:
- ابتدا، کاربر به سرور FTP متصل میشود (اگرچه ممکن است نیازی به ورود نباشد).
- سرویسگیرنده FTP بر اساس نوع درخواست، با سرور تعامل میکند.
- در نهایت کاربر میتواند فایلها را روی سرور آپلود، دانلود یا منتقل کند.
FTP یک پروتکل مبتنی بر کلاینت-سرور است که بر دو کانال ارتباطی بین کلاینت یا سرویسگیرنده و سرور متکی است: یکی کانال فرمان برای کنترل ارتباط و دیگری کانال داده برای انتقال محتوای فایل. در شکل زیر نحوه عملکرد یک انتقال معمولی FTP آمده است.
کاربر معمولاً ابتدا میبایست به سرور FTP وارد شود، اگرچه برخی از سرورها، بخشی از محتوا یا همه محتوای خود را بدون نیاز به ورود به سیستم در دسترس کاربران قرار میدهند (مدلی که به عنوان FTP ناشناس شناخته میشود).
هنگامی که کاربر درخواست دانلود فایلی را میدهد، کلاینت با سرور مکالمهای را آغاز میکند. با استفاده از FTP، هر کلاینت میتواند فایلها را در سرور آپلود، دانلود، حذف، تغییر نام، انتقال و کپی کند.
مراحل FTP در حالت فعال (اکتیو) یا غیرفعال (پسیو) عمل میکنند. حالت فعال پس از اینکه یک کلاینت، مرحله انتقال فایل را از طریق درخواست کانال فرمان آغاز کرد، سرور یک اتصال داده برای کلاینت ایجاد کرده و دادهها شروع به منتقل شدن میکنند.
در حالت غیرفعال یا پسیو، سرور از کانال فرمان استفاده میکند تا اطلاعات مورد نیاز برای ایجاد کانال داده را به کلاینت ارسال کند. از آنجایی که حالت غیرفعال تمام اتصالات را توسط کلاینت شروع میکند، در فایروالها و دروازههای ترجمه آدرس شبکه بیشتر مورد استفاده قرار میگیرد.
کاربران میتوانند با کمک پروتکل FTP از طریق یک رابط خط فرمان ساده، از یک کنسول یا پنجره ترمینال در Microsoft Windows، Apple macOS یا Linux، یا با یک رابط کاربری گرافیکی اختصاصی کار کنند. مرورگرهای وب نیز میتوانند به عنوان کلاینتهای FTP به کار گرفته شوند.
انواع پروتکل FTP
انواع مختلفی از FTP ها از جمله انتقال فایل ناشناس و محافظت شده با رمز عبور وجود دارد. نوع انتقال ناشناس یا به لاتین، Anonymous این امکان را به کلاینت میدهد که دادهها را بدون رمزگذاری یا با استفاده از رمز عبور منتقل کند. این روش برای فایلهایی که امکان توزیع و انتشار بدون محدودیت دارند، مناسب است.
یا مثلاً FTP محافظت شده با رمز عبور از یک نام کاربری و رمز عبور برای دسترسی به فایلها استفاده میکند. FTP safe یا به اختصار FTPS، امنیت بیشتری را هنگام انتقال ارائه میدهد.
FTP همچنین میتواند از TLS یا پروتکل امنیت لایه انتقال استفاده کند که برای امنیت بیشتر، نوع اتصال را به یک اتصال رمزگذاری شده ارتقا میدهد.
در ادامه این دو روش و سایر روشهای مورد استفاده در اجرای پروتکل FTP را بیشتر توضیح میدهیم:
- FTP ناشناس: این روش ابتداییترین شکل FTP است. این پروتکل امکان انتقال دادهها بدون رمزگذاری یا استفاده از نام کاربری و رمز عبور را فراهم میکند و بیشتر برای دانلود اطلاعات همگانی مناسب است.
- FTP محافظت شده با رمز عبور: این روش نیز همانطور که گفته شد، یک سرویس اصلی FTP است، اما نیاز به استفاده از نام کاربری و رمز عبور دارد، اگرچه ممکن است سرویس رمزگذاری ایمن نباشد.
- FTP Secure یا FTPS: این روش گاهی اوقات به عنوان لایه سوکتهای امن FTP یا به اختصار FTP-SSL نیز نامیده میشود. این رویکرد امنیت لایه انتقال (TLS) را به محض برقراری اتصال FTP فعال میکند. این روش ابتدا برای ایجاد امنیت بیشتر روی FTP پیاده شد و بعداً به عنوان یک رویکرد مجزا مورد استفاده قرار گرفت.
- FTP روی SSL/TLS مستقیم (FTPES): این رویکرد با ارتقاء اتصال FTP از طریق پورت 21 به یک اتصال رمزگذاری شده، پشتیبانی مستقیم TLS را امکانپذیر میکند. این روشی است که معمولاً توسط وب و سرویسهای اشتراک فایل برای فعال کردن انتقال با امنیت بیشتر استفاده میشود.
- FTP امن (SFTP): این روش از نظر فنی یک پروتکل FTP نیست، اما مشابه آن عمل میکند. در اصل، SFTP زیرمجموعهای از پروتکل Secure Shell یا SSH است که روی پورت 22 اجرا میشود. SSH معمولاً توسط ادمین های سیستم برای دسترسی از راه دور و ایمن به سیستمها و اپلیکیشنها استفاده میشود و SFTP مکانیزمی را در SSH برای انتقال امن فایل فراهم میکند.
مزایای پروتکل FTP
FTP یک پروتکل شبکه استاندارد است که میتواند قابلیتهای گسترده انتقال فایل را در سراسر شبکههای IP فعال کند. بدون FTP، انتقال فایل و دادهها را میتوان با مکانیسمهای دیگری مدیریت کرد مانند ایمیل یا سرویس وب HTTP، اما سایر گزینهها فاقد دقت و امکان کنترل و بعضاً امنیت بالا هستند.
برخی از مهمترین مزیتهای پروتکل FTP عبارتاند از:
- بکآپگیری: سرویسهای پشتیبان یا کاربران فردی میتوانند از FTP به عنوان ابزار بکآپگیری از دادهها از یک مکان به یک سرور پشتیبان امن که خدمات FTP را اجرا میکند، استفاده کنند.
- همانندسازی: همانند بکآپ گیری، پروسه هماهنگسازی هم از مزایای پروتکل FTP است که به معنی تکرار دادهها از یک سیستم به سیستم دیگر است و دسترسی و انعطافپذیری بالاتری را به ارمغان میآورد.
- دسترسی و بارگذاری دادهها: FTP معمولاً برای دسترسی به هاستینگ وب مشترک و خدمات ابری به عنوان مکانیزمی برای بارگذاری دادهها بر روی یک سیستم از راه دور استفاده میشود. این مزیت به عنوان ابزاری برای بارگذاری دادهها در فضای ابری مورد استفاده قرار میگیرد.
امنیت پروتکل FTP
FTP ابتدا در سال 1971 تعریف شد، قبل از پروتکلهای TCP و IP که چندین بار برای تطبیق با فناوریهای جدید، از جمله استفاده از TCP/IP، یا RFC 959، و IPv6، یا RFC 2428، نسخههای بهروزی از آنها ارائه گردید.
FTP همچنین چندین بهروزرسانی را برای افزایش امنیت FTP انجام داده است. بهطور پیشفرض، FTP ترافیک را رمزگذاری نمیکند و افراد میتوانند بستهها را برای خواندن نامهای کاربری، رمز عبور و سایر دادهها ضبط کنند.
با رمزگذاری FTP با FTPS یا FTPES، دادهها محافظت میشود و توانایی مهاجم برای دسترسی به اتصال و سرقت دادهها را محدود میکند. با این وجود، FTP ممکن است همچنان در برابر حملات بروت فورس، جعل احراز هویت کاربر/رمز عبور، حمله برگشتی FTP یا حمله انکار سرویس توزیع شده آسیبپذیر باشد.
کلاینتهای پروتکل FTP
راهاندازی نرمافزار FTP نسبتاً ساده است. FileZilla یک نمونه از کلاینتهای FTP بوده که رایگان و قابل دانلود است. نمونههای دیگر از کلاینتهای FTP عبارتاند از Transmit، WinSCP و WS_FTP.
برای استفاده و راهاندازی کلاینتها کافی است روند زیر را دنبال کنید:
- آدرس سروری را که میخواهید به آن دسترسی داشته باشید، پورت و رمز ورود به سرور را وارد کنید. پس از دریافت مجوز دسترسی، فایلهای کاربر در سیستم محلی و همچنین سرور، قابلمشاهده خواهد بود.
- کاربر میتواند فایلها را از سرور به سیستم محلی دانلود کند یا فایلها را از سیستم محلی به سرور آپلود کند. همچنین کاربران میتوانند تغییراتی در فایلهای روی سرور ایجاد کنند، البته تا زمانی که مجوز لازم برای انجام این کار را داشته باشند.
کلاینتهای FTP ویژگیهای مختلفی را ارائه میکنند که به کاربران اجازه میدهد نحوه آپلود و دانلود فایلها را تغییر دهند.
به عنوان مثال، اگر از FileZilla استفاده میکنید، این برنامه به شما این امکان را میدهد که برای فایلهای مختلف، محدودیتهای پهنای باند تعیین کنید. با این کار، امکان کنترل سرعت آپلود و دانلود، مدیریت چندین انتقال فایل به صورت همزمان و در نهایت بازدهی بیشتر برای سیستم انتقال فراهم میشود.
سایر ویژگیهایی که ممکن است در یک کلاینت FTP وجود داشته باشد عبارتاند از: احراز هویت با کلید عمومی، امکان تنظیم سطوح فشردهسازی فایل یا ابزارهایی که به شما امکان میدهد با استفاده از ماسک فایل، سرور را جستجو کنید.
مهمترین کلاینتهای پروتکل FTP عبارتاند از:
- FileZilla: این کلاینت یک سرویسگیرنده FTP رایگان برای ویندوز، macOS و لینوکس است که از FTP، FTPS و SFTP پشتیبانی میکند.
- Transmit: این کلاینت FTP برای macOS ارائه شده و از FTP و SSH پشتیبانی میکند.
- WinSCP: این یک کلاینت FTP ویندوز است و به صورت انحصاری برای این سیستم عامل طراحی شده است. این کلاینت از FTP، SSH و SFTP پشتیبانی میکند.
- WS_FTP: این یکی دیگر از کلاینتهای FTP به صورت انحصاری برای ویندوز است که از SSH پشتیبانی میکند.
جمعبندی
پروتکل FTP یک پروتکل قدیمی اما کارآمد برای انتقال فایل در بستر اینترنت بین کامپیوترهای مختلف است. در این مقاله در مورد انواع پروتکلهای FTP، مزایای و معایب آنها و همچنین مفاهیم کلاینت و سرور توضیحاتی را ارائه دادیم.
در پایان باید گفت اگرچه پروتکل FTP یک پروتکل قدیمی مبتنی بر وب است، اما به دلیل تغییرات و اصلاحاتی که در نسخههای جدید آن انجام شد و استانداردهای امنیتی بالایی که دارد امروزه به ویژه در ارسال فایل مبتنی بر فضای ابری به طور گسترده استفاده میشود.
نظرات کاربران