پروتکل FTP چیست؟
آیا تا به حال نسخه جدیدی از فایرفاکس یا هر برنامه دیگری را دانلود کردهاید؟ اگر چنین است، پس احتمالاً بدون اینکه بدانید از پروتکل FTP استفاده کردهاید. از طریق مرورگرهای امروزی، میتوانیم فایلها را از طریق FTP و از داخل پنجره مرورگر دانلود کنیم. دانلود فایلها از این طریق بسیار آسان و راحت شده است؛ اما در هنگام بارگیری برخی از فایلها از مرورگر نیز انعطاف پذیری زیادی در دسترس نیست و ما نمیتوانیم فایلها را آپلود کنیم. بنابراین، در این زمان باید از کلاینتهای FTP برای انتقال فایلها استفاده کنیم. برای درک بهتر مفهوم و عملکرد FTP با مقاله دیگری از پینگونت همراه باشید.
تاریخچه سیستم FTP
اولین مشخصات برای FTP با نام RFC 114 در 16 آوریل 1971 منتشر و توسط Abhay Bhushan، دانشجوی آن زمان در موسسه فناوری ماساچوست نوشته شد. ایده اصلی پشت FTP، فعال کردن انتقال فایلها از طریق ARPANET، پیشرو اینترنت بود. همانطور که اینترنت مدرن شروع به شکل گیری کرد، مشخصات FTP تحت چندین بازنگری قرار گرفت تا با استانداردهای شبکه، از جمله TCP/IP هماهنگ شود.
در سال 1980، نسخه جدیدی از FTP در RFC 765 توسط جان پستل، دانشمند پژوهشی در موسسه علوم اطلاعات در دانشگاه کالیفرنیای جنوبی در آن زمان تعریف شد. در سال 1997، RFC 959 با قابلیتهای جدید تعریف شده در RFC 2228 به روز شد تا قابلیتهای امنیتی را فراهم کند. دو سال بعد، FTP با RFC 2428 به روز شد تا از پروتکل IPv6 پشتیبانی نماید.
تعریف پروتکل FTP
پروتکل انتقال فایل یا افتیپی (File Transfer Protocol)، مجموعهای از پروتکلهایی است که کامپیوترهای تحت شبکه برای مکالمه از طریق اینترنت استفاده میکنند. به عبارت سادهتر، FTP راهی برای اتصال دو کامپیوتر و انتقال فایلها بین آنها است. پروتکل انتقال فایل به صفحات وب اجازه میدهد تا برای کاربر در اینترنت نمایش داده شوند. FTP همچنین این امکان را فراهم میکند تا صفحات وب به سرور منتقل شده تا دیگران بتوانند به آنها دسترسی داشته باشند.
با استفاده از یک سرویس گیرنده FTP میتوانیم فایل را آپلود، دانلود، حذف، انتقال، تغییر نام و کپی کنیم. اگر فایل خود را از طریق افتیپی ارسال میکنید، فایلهای شما عمدتاً از سرور FTP آپلود یا دانلود میشوند. هنگامی که فایلها را آپلود میکنید، فایلها را از رایانه شخصی خود به سرور منتقل کرده و زمانی که فایل را دانلود میکنید، فایل را از سرور به رایانه شخصی خود منتقل خواهید کرد.
نحوه کار پروتکل انتقال فایل
FTP یک پروتکل سرویس گیرنده سرور (Client-Server) است که بر دو کانال ارتباطی بین مشتری و سرور متکی است.
اتصال کنترل
کلاینت FTP مثلا FileZilla یک درخواست اتصال معمولاً به پورت سرور شماره 21 ارسال میکند. این اتصال کنترل است و برای ارسال و دریافت دستورات و پاسخها استفاده میشود. معمولاً یک کاربر برای برقراری ارتباط باید به سرور FTP وارد شود؛ اما برخی از سرورها وجود دارند که تمام محتوای خود را بدون ورود به سیستم در دسترس قرار میدهند. این سرورها به عنوان FTP ناشناس شناخته میشوند.
اتصال داده
برای انتقال فایلها و پوشهها از یک اتصال جداگانه به نام اتصال داده استفاده میکنیم.
این ارتباط به دو صورت ایجاد میشد:
حالت اکتیو (فعال)
در این حالت، کاربر از یک پورت تصادفی (پورت تصادفی 1) روی کلاینت FTP به پورت 21 سرور متصل میشود. دستور پورت را ارسال میکند که به سرور میگوید که باید به کدام پورت کلاینت متصل شود، یعنی (پورت تصادفی 2). سرور از پورت 20 به پورتی که کلاینت تعیین کرده است، یعنی پورت تصادفی 2، متصل خواهد شد. پس از برقراری ارتباط، انتقال داده از طریق این پورت بین کلاینت و سرور انجام میشود.
حالت پسیو (غیرفعال)
در شرایطی که کلاینت نمیتواند اتصال را بپذیرد مانند زمانی که توسط فایروال مسدود میشود، باید از حالت غیرفعال یا پسیو استفاده کرد. پسیو بسیار رایج است زیرا امروزه کلاینت از فایروال استفاده میکند (به عنوان مثال فایروال داخلی ویندوز). در این حالت، کاربر از یک پورت تصادفی (پورت تصادفی 1) در سرویس گیرنده FTP به پورت 21 سرور متصل میشود. سرور دستور «PASV» را ارسال میکند که به کلاینت میگوید که برای برقراری ارتباط باید به کدام پورت سرور متصل شود (پورت تصادفی 3). کلاینت از پورت تصادفی 2 به پورتی که سرور تعیین کرده است، یعنی پورت تصادفی 3، متصل میشود. پس از برقراری ارتباط، انتقال دادهها از طریق این پورت بین کلاینت و سرور انجام خواهد شد.
کاربرد پروتکل انتقال فایل
یکی از دلایل اصلی نیاز کسب و کارها و افراد به FTP، توانایی آن در انجام انتقال فایل هایی با حجم بزرگ است. هنگام ارسال یک فایل نسبتاً کوچک مانند یک سند ورد، اکثر روشها این کار را انجام میدهند اما با پروتکل انتقال فایل میتوان چندین گیگابایت را به طور همزمان ارسال کنید.
بدون خدمات پروتکل انتقال فایل ممکن است مجبور شوید فایلها را یکی یکی ارسال کنید! به عنوان مثال، اگر مجبور هستید مجموعه بزرگی از اسناد مهم را از دفتر مرکزی به یک دفتر ماهوارهای منتقل کنید، میتوانید از FTP برای ارسال همه آنها استفاده نمایید.
به طور کلی، FTP برای انتقال فایل بین یک سیستم به سیستم دیگر استفاده میشود و چندین مورد استفاده رایج از جمله موارد زیر را دارد:
- پشتیبان گیری: FTP را میتوان توسط سرویسهای پشتیبان یا کاربران جداگانه برای پشتیبانگیری از دادهها از یک مکان به یک سرور پشتیبان امن که خدمات پروتکل انتقال فایل را اجرا میکند، استفاده کرد.
- دسترسی و بارگذاری دادهها: پروتکل انتقال فایل همچنین معمولاً برای دسترسی به میزبانی وب مشترک و خدمات ابری به عنوان مکانیزمی برای بارگذاری دادهها بر روی یک سیستم راه دور استفاده میشود.
کلاینتهای FTP
کلاینتهای FTP برای آپلود، دانلود و مدیریت فایلها بر روی سرور استفاده میشوند. کلاینتهای FTP شامل موارد زیر هستند:
- FileZilla: این یک سرویس گیرنده FTP رایگان برای ویندوز، مک و لینوکس است که از FTP، FTPS و SFTP پشتیبانی میکند.
- Transmit: این یک سرویس گیرنده FTP برای مک است که از FTP و SSH پشتیبانی میکند.
- WinSCP: این یک سرویس گیرنده FTP ویندوز است که از FTP، SSH و SFTP پشتیبانی میکند.
- WS_FTP: این یکی دیگر از سرویس گیرندگان FTP ویندوز است که از SSH پشتیبانی میکند.
مزایای استفاده از FTP
FTP یک پروتکل شبکه استاندارد است که میتواند قابلیتهای گسترده انتقال فایل را در شبکههای IP در اختیار کاربران قرار دهد. بدون پروتکل انتقال فایل، انتقال فایل و دادهها را میتوان با مکانیسمهای دیگری مدیریت کرد مانند ایمیل یا سرویس وب HTTP اما سایر گزینهها فاقد تمرکز، دقت و کنترلی هستند که FTP ارائه میدهد.
همانطور که به دنبال بهترین راه برای اشتراک گذاری فایلها هستید، مزایای زیر را از FTPدر نظر داشته باشید:
1- قادر به انتقال فایلهای بزرگ است
برای بسیاری از شرکتها، نیازهای انتقال فایل فراتر از ارسال یک سند ورد در یک زمان است. ممکن است لازم باشد چندین گیگابایت داده را همزمان ارسال کنید. اف تی پی به راحتی انتقالهای بزرگ را تسهیل میکند.
2- گردش کار را بهبود میدهد
استفاده از FTP به شما این امکان را میدهد تا چندین دایرکتوری را در یک زمان انتقال دهید. اگر مرتب فایلها را انتقال میدهید، میدانید که این ویژگی چقدر میتواند مفید باشد. به جای ارسال فایلهای تکی یا حتی دایرکتوریهای تکی در یک زمان، میتوانید چندین دایرکتوری را به طور همزمان ارسال کنید..
3- انتقالات دادهها میتواند از سر گرفته شوند
اگر انتقال فایلها قطع شود، لازم نیست نگران از دست رفتن پیشرفت انتقال باشید. با FTP، اگر اتصال شما قطع شد، میتوانید انتقال فایل قطع شده را از سر بگیرید. بدون شروع مجدد انتقال از ابتدا، از جایی که متوقف کردید، انتقال فایلها ادامه پیدا میکند.
4- انتقالات دادهها را میتوان برنامه ریزی کرد
با راه حلهای برتر FTP میتوانید انتقالات را برای زمانهایی با کمترین تأثیر بر گردش کار خود انجام دهید. مثلاً، شاید دوست داشته باشید انتقال دادهها را در انتهای شب یا آخر هفته برنامه ریزی کنید. در این حالت بهره وری شما تحت تأثیر قرار نمیگیرد و انتقالات به صورت زمان بندی شده و خودکار انجام میشوند.
5- اطلاعات از دست رفته قابل بازیابی هستند
با FTP دادهها از بین نمیروند، حتی زمانی که رویدادهای غیرمنتظرهای رخ میدهند. فایلهای شما به طور منظم و خودکار پشتیبان گیری میشوند، بنابراین در صورت وقوع سیل، آتش سوزی یا قطع برق، لازم نیست نگران از دست دادن اطلاعات خود باشید. با این پروتکل میتوانید دادهها خود را بازیابی کنید.
انواع پروتکل انتقال فایل
چندین راه مختلف وجود دارند که یک سرور و نرم افزار کلاینت میتوانند با استفاده از FTP انتقال فایل را انجام دهند. این راهها عبارتند از:
FTP ناشناس
این پروتکل ابتداییترین شکل FTP است که از انتقال دادهها، بدون رمزگذاری دادهها یا استفاده از نام کاربری و رمز عبور پشتیبانی میکند. این اف تی پی بیشتر برای دانلود مطالبی که برای توزیع نامحدود مجاز است، استفاده میشود.
FTP محافظت شده با رمز عبور
این اف تی پی نیز یک سرویس اصل FTP است اما نیاز به استفاده از نام کاربری و رمز عبور دارد، اگرچه ممکن است این سرویس رمزگذاری یا ایمن نباشد. این سرویس روی پورت 21 هم کار میکند.
FTP امین
این اف تی پی رویکرد امنیت لایه انتقال ضمنی (TLS) را به محض برقراری اتصال فعال میکند. FTP امن در ابتدا برای کمک به فعال کردن یک فرم امنتر از انتقال داده استفاده میشود. این پروتکل معمولاً به طور پیش فرض از پورت 990 استفاده میکند.
FTP از طریق SSL/TLS
این رویکرد با ارتقاء اتصال اف تی پی از طریق پورت 21 به یک اتصال رمزگذاری شده، پشتیبانی صریح TLS را امکانپذیر میکند. این روشی است که معمولاً توسط وب و سرویسهای اشتراک فایل برای فعال کردن انتقال امن فایل استفاده میشود.
FTP امن
این پروتکل از نظر فنی یک پروتکل FTP نیست اما به طرزی مشابه عمل میکند. در عوض، اف تی پی امن زیرمجموعهای از پروتکل پوسته ایمن «SSH» است که روی پورت 22 اجرا میشود. پوسته ایمن معمولاً توسط مدیران سیستم برای دسترسی از راه دور به سیستمها و برنامهها استفاده میشود و FTP امن مکانیزمی را در SSH برای انتقال امن فایل فراهم میکند.
بررسی امنیت FTP
به طور پیش فرض، FTP ترافیک را رمزگذاری نمیکند و افراد میتوانند بستهها را برای خواندن نامهای کاربری، رمز عبور و سایر دادهها ضبط کنند. با رمزگذاری FTP با FTPS یا FTPES، دادهها محافظت میشوند و امکان سرقت دادهها را کاهش میدهد.
پروتکل انتقال فایل ممکن است همچنان در برابر حملات جستجوی فراگیر (Brute-Force Attack)، در برابر جعل احراز هویت کاربر و رمز عبور، یک حمله برگشتی FTP یا یک حمله محروم سازی از سرویس (DDoS) آسیب پذیر باشد.
نحوه استفاده از FTP
سه روش برای برقراری ارتباط FTP وجود دارد. یک روش بسیار ساده استفاده از یک FTP خط فرمان مانند استفاده از «Command Prompt» برای ویندوز است. امروزه نیز توسعه دهندگان از این مورد برای انتقال فایلها با استفاده از اف تی پی استفاده میکنند.
کاربر همچنین میتواند از یک مرورگر وب برای برقراری ارتباط با سرور FTP استفاده نماید. هنگامی که کاربران میخواهند به فهرستهای بزرگ در سرور دسترسی داشته باشند، مرورگر وب راحتتر است. با این حال، این مهم اغلب نسبت به استفاده از یک برنامه اختصاصی FTP کمتر قابل اعتماد بوده و کندتر است.
امروزه رایجترین روش استفاده از پروتکل انتقال فایل، به خصوص برای توسعه دهندگان وب، استفاده از سرویس گیرنده FTP است. یک کلاینت اف تی پی در مقایسه با روشهای خط فرمان و مرورگر وب، آزادی بیشتری را فراهم میکند. مدیریت این روش آسانتر بوده و در مقایسه با روشهای دیگر قدرتمندتر است. همچنین، سرویس گیرنده FTP ویژگیهای بیشتری در دسترس قرار می دهد. به عنوان مثال، این روش به کاربران اجازه میدهد تا یک فایل بزرگ را انتقال دهند و از ابزار همگام سازی استفاده کنند.
کلام آخر
اف تی پی یک پروتکل ارتباطی استاندارد است که برای انتقال فایلهای کامپیوتری از یک سرور به یک کلاینت در یک شبکه کامپیوتری استفاده میشود. بسیاری از سرویس گیرندگان FTP و ابزارهای اتوماسیون از این اف تی پی برای دسکتاپ، سرورها، دستگاههای تلفن همراه و سخت افزار استفاده میکنند.
منابع:
بدون دیدگاه