ftp چیست؟ همه چیز در مورد پروتکل FTP و کارایی آن
یادداشت ویراستار: این مطلب در اسفند 1402 توسط کارشناسان سرور و شبکه فالنیک، بررسی و تایید شده است.
خرید سرور فیزیکی یا سایر تجهیزاتی که در شبکه مورد استفاده قرار می گیرند، تنها بخشی از دنیای بزرگ شبکه هستند. پروتکل ها بخش مهمی از شبکهها هستند و در صورت آشنایی با آن ها می توانید دیدگاه درستی نسبت به منابع شبکه خود داشته باشید. در این مقاله میخواهیم به معرفی و بررسی پروتکل ftp چیست؟ بپردازیم. ببینیم چطور کار میکند و با چه پروتکلهای دیگر شبکه ترکیب میشود. با فالنیک همراه باشید.
فهرست محتوا
پروتکل ftp چیست؟
ftp مخفف چیست؟ ftp مخفف File Transfer Protocol و راهی برای انتقال فایل به صورت آنلاین است. شاید فکر کنید سایتها را در مرورگرتان میبینید، اما مرورگر شما فقط از HTTP استفاده میکند. پروتکلهای دیگری هستند که در کنار هم اینترنت را به وجود میآورند. مثلا IMAP و POP دو پروتکلی هستند که کاربران ایمیل از آنها برای ارسال و دریافت پیامها استفاده میکنند و یا خود ftp.
📌 برای آشنایی با نحوه اشتراک گذاری فایلها با سایر کاربران، مقاله فایل سرور چیست؟ را بخوانید.
تاریخچه و آینده FTP چیست؟
FTP یکی از قدیمیترین و راحتترین پروتکلهایی است که برای انتقال فایلها استفاده میشود. سرور ftp امکان دسترسی به دایرکتوریها را با استفاده از ساب دایرکتوریها فراهم میکند. کاربران با کلاینت ftp به این سرورها وصل میشوند و از نرم افزاری که اجازه دانلود / آپلود فایلها را از / به سرور میدهد، استفاده میکنند.
ftp یکی از سادهترین فرمتهایی است که فایلها را به سرعت از دستگاهی به دستگاه دیگر منتقل میکند. قدمت آن به سال 1971 میرسد، وقتی که اولین نسخه آن تولید و منتشر شد. در سالهای 1980 فرمت ftp به نسخه tcp/ip آپدیت شد.
البته که ftp بیش از هر پروتکل دیگری در دنیای آنلاین حضور داشته است اما با به عرصه آمدن پروتکلهایی مثل SFTP به سرعت، پشتیبانی از ftp کنار میرود. به نظر میرسد سال 2020 سال شروع خداحافظی با ftp است چون بسیاری از مرورگرهای وب تغییر کردند. در آپدیت گوگل کروم در اوایل سال 2020، اولین بار بود که حضور ftp به صورت اتوماتیک وجود نداشت ولی امکان روشن کردن آن با تغییر Command Line وجود داشت اما با آمدن نسخه 82 به طور کل حذف شد.
کاربرد FTP چیست؟
ftp برای انتقال فایلهای حجیم مناسب است. ftp ابزار مفیدی برای انتقال اطلاعات کامپیوتری که روی آن کار میکنید به سروری است که وب سایتی را هاست میکند. مثلا اگر بخواهید وردپرس را روی وب سرور نصب کنید باید از ftp استفاده کنید تا فایلها را روی آن کپی کنید.
ftp برای اشتراک گذاری فایلها هم استفاده میشود. یک نفر فایلی را روی ftp سرور آپلود میکند و لینک آن را با دیگران به اشتراک میگذارد. این مورد بیشتر در سرویسهای ابری Easy to use کاربرد دارد. اما اغلب افراد تمایل دارند فایلهایشان روی home server هاست شود و از ftp استفاده کنند تا آن را فعال کنند.
تا وقتی رمزگذاری و اقدامات امنیتی در سطح پروتکل IP انجام نشود، مثلا پیاده سازی پروتکل IPsec، نباید از ftp استفاده کنیم. به خصوص اگر اطلاعات مهم و حساسی را انتقال میدهیم.
✔️ بیشتر بخوانید: آموزش راه اندازی ftp server در لینوکس
ftp چطور کار میکند؟
ftp دو کانال اصلی برای انجام وظیفه دارد:
- کانال Command که وظیفه برقراری ارتباط و احراز هویت را برعهده دارد و شامل اطلاعاتی مانند اینکه چه فایلهایی میتوانند در دسترس باشند، دارد.
- کانال Data که فایلها را بین دستگاهها منتقل میکند.
اتصالات ftp دو حالت Active و Passive دارند. حالت active رایجترین حالت است و ارتباطات Open بین سرور و دستگاه، در هر دو کانال فراهم میکند. به سرور نقش اکتیو داده میشود تا اتصال را با تایید درخواست دیتا برقرار کند. اما ممکن است این حالت با فایروال ها و موارد این چنینی مختل شود؛ در نتیجه حالت Passive استفاده میشود. در این حالت دیگر سرور مسئول نگه داشتن اتصال نیست و دستگاهِ دیگر تمام کارها را انجام میدهد.
راههای استفاده از FTP
برای استفاده از ftp سه روش وجود دارد:
- استفاده از نرم افزارها: آسان ترین و رایجترین راه استفاده از FTP است. با نصب نرم افزارهایی مانند filezilla و ulletProof FTP، WS FTP Professional، FTP Explorer، CuteFTP و Smart FTP روی سیستم میتوانید به سرور FTP وصل شوید و با Drag and Drop فایلها، آنها را دانلود و آپلود کنید.
- استفاده از مرورگرها: با وارد کردن آدرس FTP یک سایت مثلا ftp.example.com در مرورگری مثل کروم و فایرفاکس و وارد کردن نام کاربری و پسورد، به فایلها دسترسی داشته باشید. این روش زمانی کاربرد دارد که فقط بخواهید فایلی را سرچ کرده و بخوانید. در این روش نمیتوانید فایلی را آپلود و ارسال کنید. سرعت و امنیت این روش از روش اول کمتر است.
- استفاده از Command line: محیط زمخت خط فرمان طرفدار کمتری دارد اما دستورهای پیشرفته با آن قابل اجرا است و با این روش هم میتوانید به فایلهای ftp دست یابید. این روش بیشتر در محیط لینوکس و برای ایجاد پروتکل ftp استفاده میشود.
🔗 مقاله “معرفی امن ترین و بهترین نرم افزار FTP Server” را برای آشنایی با انواع ftp سرورها مطالعه کنید.
پورت ftp چیست؟
در صورت استفاده از نرم افزار ftp Client علاوه بر نام کاربری و پسورد، به پورت ftp نیاز دارید. در اتصال tcp / ip برای برقراری ارتباط بین سرور و کلاینت به چهار مورد نیاز است: آدرس و پورت سرور، آدرس و پورت کلاینت.
پروتکل ftp به عنوان پروتکل لایه هفتم مدل مرجع OSI اغلب از tcp و یا udp استفاده میکند. ftp برای انجام وظایفش ممکن است از دو شماره پورت استفاده کند یکی برای ارسال داده و دیگری برای گوش دادن به دستورات. شماره پورت پروتکل ftp در حالت ارسال دیتا 20 و هنگام گوش دادن 21 است.
📃 بیشتر بخوانید: آموزش راه اندازی FTP Server در انواع ویندوز سرورها
sftp چیست؟
پروتکل sftp پروتکل ftp است که Secure Shell یا SSH دارد، یعنی ftp روی پروتکل ssh اجرا میشود. secure Shell مولفه رمزنگاری در امنیت اینترنت است و امنیت و احراز هویت کاملی در وب فراهم میکند. روشهای دسترسی به sftp دو روش نرم افزار و command prompt است.
در مواردی که امنیت فایل مهم است SFTP جایگزین FTP میشود؛ مثلا تبادلات مالی و ارزی، پروندههای پزشکی و درمانی. sftp یکی از روشهای محفوظ نگه داشتن بسته ارسالی از دسترس هکرها است. به خصوص در برابر حملات password sniffing و man-in-the-middle attacks بسیار موثر است.
sftp از پورت رایج ssh یعنی پورت 22 استفاده میکند. فقط وقتی کاربر به سروری که از ssh استفاده میکند لاگین میشود، پروتکل sftp کار میکند. پورت جداگانه sftp روی سرور نداریم. پس نیازی به پیکربندی جداگانهای روی فایروال نیست.
مقایسه SFTP و FTPS
در پروتکل ftps پروتکل ftp روی SSL (Secure Sockets Layer) یا TLS (Transport Layer Security) اجرا میشود. مزایای sftp نسبت به ftps عبارتند از:
- sftp روی پورت ssh اجرا میشود و نیازی به پورت اضافه و احراز هویت اضافه نیست. در نتیجه کانفیگ و پیکربندی، سادهتر و راحتتر است و بالطبع اشتباه کمتری از لحاظ پیکربندی داریم.
- ftps نیاز به پیکربندیهای پیچیده فایروالی دارد و ممکن است روی NAT که نیاز به پورت 989 و 990 دارد کار نکند. ftps هم از حالت active و هم از حالت Passive پشتیبانی میکند که پیکربندی فایروال را پیچیده میکند. برای آشنایی با پروتکل nat مقاله “تکنولوژی NAT کاربرد و انواع آن و تفاوتش با PAT” را بخوانید.
- ftps نیاز به گواهی X.509 برای سرور دارد. ssh نیاز به هیچ زیرساخت متمرکز و کار اضافی ندارد.
- ftps اساسا ftp است که حالت ASCII دارد. اگر مود آن به درستی تنظیم نشده باشد، ممکن است فایلها را خراب کند. برخی پیاده سازیها به صورت پیش فرض ASCII هستند.
- ftps به عنوان فایل سیستم نمیتواند استفاده شود.
- ftps به نرم افزار اضافی روی سرور نیاز دارد در حالی که sftp اغلب با ssh است.
جدول مقایسه SFTP و FTPSدر یک نگاه | ||
ویژگی | ویژگی | FTPS |
پورت | 22 (SSH) | 21 (کنترل)، 990 (داده) |
احراز هویت | نام کاربری و رمز عبور | نام کاربری، رمز عبور و گواهی X.509 |
امنیت | بسیار امن (رمزنگاری کلید عمومی) | امن (SSL/TLS) |
پیکربندی | ساده | پیچیده (فایروال، گواهی) |
سازگاری با NAT | بله | ممکن است مشکلاتی ایجاد کند |
پشتیبانی از حالت | Passive و Active | Passive و Active |
نیاز به زیرساخت | خیر | بله (گواهی X.509) |
حالت پیش فرض | Binary | ASCII (ممکن است مشکلاتی ایجاد کند) |
قابلیت استفاده به عنوان سیستم فایل | بله | خیر |
نیاز به نرم افزار اضافی | خیر (اغلب با SSH) | بله |
tftp چیست؟
tftp مخفف Trivial File Transfer Protocol است. پروتکل tftp از udp برای انتقال دیتا استفاده میکند و بیشتر برای خواندن و نوشتن فایل/ایمیل به/از سرور ریموت کاربرد دارد.
tftp طراحی سادهای دارد و در مقایسه با ftp ویژگیهای محدودتری دارد. مثلا هیچ احراز هویت و امنیتی در انتقال فایل فراهم نمیکند. در نتیجه اغلب برای انتقال فایلهای بوت یا فایلهای پیکربندی بین دو ماشین در تنظیمات لوکال به کار میرود. طراحی آسان آن باعث میشود کاربران شبکه کامپیوتری به ندرت با آن کار کنند. از طرفی فقدان امنیت استفاده از آن را در اینترنت خطرناک میکند.
tftp برای بوت کامپیوترها و دستگاههایی که هارد دیسک یا دستگاه ذخیره سازی ندارند، مناسب است. بدین ترتیب یکی از پروتکلهای عالی برای پروتکل بوت شبکه یا preboot execution environment (PXE) محسوب میشود.
انتقال دیتا در tftp از طریق پورت 69 انجام میشود، هر چند که پورت انتقال دیتا هنگام برقراری اتصال، توسط فرستنده و گیرنده مشخص میشود.
🎯 اگر میخوانید بدانید چطور با نرم افزار filezilla میتوانید ftp server راه اندازی کنید، خواندن مقاله آموزش تصویری راه اندازی ftp server با filezilla را از دست ندهید.
Ftp در موبایل چیست؟
ftp برای انتقال دیتا بین دو کامپیوتر یا کامپیوتر و موبایل یا کلود و کامپیوتر روی اینترنت استفاده میشود. کاربرانی که به سرور ftp وصل میشوند، کلاینت FTP هستند که میتوانند از اسمارت فون و موبایل خود برای اتصال به سرور FTP استفاده کنند. این کلاینت ها میتوانند از طریق مرورگر وب گوشی خود به سرور FTP وصل شوند. همچنین امکان استفاده از نرم افزارهای FTP روی موبایل وجود دارد.
در این مقاله در تعریف مفهوم ftp چیست ، گفتیم پروتکل FTP مخفف «File Transfer Protocol» است و برای انتقال فایل بین دو کامپیوتر از طریق شبکه استفاده میشود. این پروتکل یکی از قدیمیترین و رایجترین پروتکلهای اینترنت است که به شما امکان میدهد فایلها را آپلود، دانلود، حذف و تغییر نام دهید. به علاوه در مورد پورت ftp، کاربرد و نحوه استفاده آن صحبت کردیم. همچنین اطلاعات کاملی در مورد مقایسه SFTP و FTPS ارائه کردیم. در صورت وجود هر گونه سوال میتوانید با کارشناسان فالنیک در تماس باشید.