در این مقاله میخواهیم راجعبه یکی از معروفترین پروتکلهای اینترنتی، یعنی FTP صحبت کنیم. سازوکاری که امکان انتقال فایل بین دستگاههای مختلف و مدیریت آنها را از راه دور را ممکن میکند.
اگر اولین بار است که اسم پروتکل به گوشتتان خورده و دقیقاً نمیدانید که چیست، قبلاً در بلاگپست “پروتکل (Protocol) و چگونه کار میکند؟” دربارۀ این مفهوم صحبت کردهایم؛ پس اگر فکر میکنید به اطلاعات بیشتری در این رابطه نیاز دارید، حتماً آن مقاله را بخوانید.
بیایید مقدمهچینی را طولانی نکنیم و یک راست برویم سر اصل مطلب و ببینیم FTP چیست و چطور توانسته دهههای متمادی سر زبانها بماند.
FTP چیست؟
FTP مخفف عبارت File Transfer Protocol است و همانطور که نام آن نشان میدهد، این پروتکل برای انتقال فایلهای مختلف بین کلاینت و سرور کاربرد دارد.
هر روز، حجم خیلی زیادی فایل با فرمتهای مختلف، در بستر اینترنت جابهجا میشود. پروتکل FTP، یکی از روشهایی است که انتقال فایلهای دیجیتالی از سیستمی به سیستم دیگر را ممکن میکند.
برای مثال، وقتی کاربری قصد دانلود فایلی را داشته باشد، FTP فایل را از سرور (جایی که از فایل میزبانی میکند) میگیرد و آن را به دستگاه کاربر میفرستد. همانطور که میدانید، بعد از اتمام انتقال، امکان استفاده از فایل بهصورت آفلاین هم وجود دارد.
این پروتکل برای آنهایی که در زمینۀ ساخت و نگهداری از وبسایتها فعالیت دارند، ابزاری ضروری به حساب میآید. بیشتر نرمافزارهای FTP هم بهصورت رایگان در دسترس هستند؛ ضمن اینکه اغلب مرورگرهای اینترنتی بهصورت پیشفرض امکان استفاده از این پروتکل (بدون هیچ پیشنیاز) را فراهم میکنند.
💡 بیشتر بدانید…
بد نیست بدانید FTP یکی از قدیمیترین پروتکلهای اینترنتی است که قدمت آن به بیشتر از ۵۰ سال قبل برمیگردد! اولین بار، در سال ۱۹۷۲، فردی با نام Abhay Bhushan در یک وایتپیپر، چنین پروتکلی را تعریف کرد. هدف، ارائۀ راهکاری برای انتقال فایلها روی ARPANET (نسخۀ اولیۀ اینترنت امروزی) بود. چند سال بعد این پروتکل رسماً وارد بازی شد و از آن زمان تا به امروز کار انتقال میلیاردها (شاید هم بیشتر) فایل در بستر اینترنت را با موفقیت به سرانجام رسانده است. ضمن اینکه در طول زمان، بهروزرسانیهای بسیاری برای بهبود سرعت، دقت و امنیت آن انجام گرفتهاند. با وجود قدمت بالا و با در نظر گرفتن این موضوع که چیزهای قدیمی در دنیای دیجیتال خیلی زود از چشم میافتند، FTP بعد از بیشتر از نیمقرن خدمت، همچنان هم محبوب و پراستفاده است! |
نکته: توصیه میکنیم برای انتقال فایلهای حساس، بهجای FTP، از نسخۀ پیشرفتهتر آن، یعنی SFTP استفاده کنید؛ جلوتر توضیح میدهیم چرا.
فهمیدید FTP چیست؛ بد نیست با موجودیتی به نام سرور FTP هم آشنا شوید.
منظور از سرور FTP چیست؟
سرور FTP در واقع کامپیوتری است که جابهجایی ایمن فایلها در یک شبکۀ TCP/IP را تسهیل میکند. به بیان بهتر، چنین سروری مسئول اجرای پروتکل FTP برای برقراری ارتباط بین دستگاه کاربر و سرور میزبان فایل به حساب میآید.
میتوانیم اینطور بگوییم که سرور FTP بستری است که استفاده از این پروتکل را ممکن میکند!
اگر احیاناً گیج شدهاید، اصلاً نگران باشید؛ در بخشهای بعدی با بررسی دیگر جوانب موضوع، درک بهتری از همهچیز پیدا خواهید کرد؛ مثلاً کندوکاو مزایا وکاربردهای این پروتکل کمک بزرگی در این راستا خواهد بود.
پیشنهاد خواندنی: آموزش ساخت اکانت FTP در سیپنل (راهنمای گامبهگام) |
مزایا و کاربردهای FTP چیست؟
طبیعتاً مزیتها و نکات مثبت این پروتکل آنقدر برجسته هستند که استفاده از آن بعد از این همه سال را توجیه کنند. مزایا و کاربردهایی مثل:
- بکاپ: سرویسها و اشخاص میتوانند با FTP از یک دستگاه بکاپ گرفته و فایلها را به سروری مطمئن منتقل کنند.
- همانندسازی (Replication): درست مثل بکاپ، بعد از گرفتن کپی کامل از تمام دادهها، میتوان نسخۀ کپی را با FTP به جایی دیگر انتقال داد.
- دسترسی به دادهها و بارگذاری آنها: برای دسترسی به دادههای بارگذاریشده در یک سیستم ریموت میتوان از این پروتکل کمک گرفت.
- مدیریت فایلها از راه دور: همانطور که گفتیم با این پروتکل میتوانید فایلهای روی یک سرور ریموت را به هر شکلی که مد نظرتان است مدیریت کنید.
- انتقال فایلهای حجیم: اصلیترین کابرد و مزیت FTP همین است؛ یعنی امکان انتقال فایلهایی که حجم خیلی زیادی دارند.
اینجا لازم است یک نکتۀ مهم را گوشزد کنیم:
با وجود توانایی FTP در انتقال فایلهای حجیم، برای کارهایی مثل استریم بازیهای ویدیویی و محتوای ویدیویی، استفاده از فضاهای ذخیرهسازی ابری و…، بهتر است سراغ پروتکلهای پیشرفتهتر و ایمنتر برویم.
البته ناگفته نماند که FTP هموارکنندۀ جادهای بود که حالا تمام پروتکلهای پیشرفتهتر در آن تختگاز جلو میروند!
بالاتر از طرز کار آسان و سادگی FTP، بهعنوان یکی از دلایلی که باعث شدهاند این پروتکل همچنان مورد استفاده قرار بگیرد یاد کردیم. در بخش بعد میبینیم نحوۀ عملکرد FTP چیست.
پیشنهاد خواندنی: Juice SSH چیست؟ (راهنمای اتصال به سرور با سیستم اندرویدی) |
نحوه کار FTP چگونه است؟
در بیشتر مواقع، پروسههای وابسته به پروتکل FTP کاملاً خودکار عمل میکنند! یعنی حتی بدون اینکه کاربر متوجه شود، پروتکل وارد عمل شده و وظیفهاش را انجام میدهد.
برای مثال، اگر قبلاً نرمافزاری را در بستر اینترنت دانلود کرده باشید، احتمالاً از این پروتکل استفاده کردهاید.
اما اجازه دهید به عمق ماجرا برویم و با نگاهی فنیتر همهچیز را زیر ذرهبین ببریم.
همانطور که گفتیم، FTP به دو طرف نیاز دارد که به یکدیگر متصل شوند و در شبکه با هم ارتباط برقرار کنند. برای انجام این کار، طرفین باید مجوزهای لازم را برای اتصال به سرور FTP داشته باشند. البته برخی سرورها، اجازۀ دسترسی بدون نیاز به مجوز خاصی را هم فراهم میکنند.
وقتی یک اتصال از طریق FTP برقرار میشود، دو کانال ارتباطی مجزا وارد عمل خواهند شد. کانال اولی Command Channel نام دارد که دستورالعملهای اولیه را صادر کرده و پاسخ را آماده میکند. کانال دومی هم Data Channel نامیده میشود که انتقال دادهها در آن انجام میگیرد.
برای دریافت یا انتقال یک فایل، یک کاربر واجد شرایط از این پروتکل استفاده میکند تا درخواستی برای ایجاد تغییرات بهخصوصی روی سرور ثبت کند. در پاسخ به این درخواست، سرور دسترسی به دادهها را تضمین میکند.
نکته: وقتی انتقال فایل آغاز میشود، اگر دستگاه کاربر به فایروال مجهز باشد، احتمالاً مشکلاتی رخ خواهند داد؛ چون وظیفۀ ذاتی فایروال این است که نگذارد دسترسی غیرمعمولی شکل بگیرد!
برای جلوگیری از رخداد چنین مشکلی، از مد Passive استفاده میشود. در چنین حالتی، کاربر هر دو کانال Command و Data را برقرار میکند.
اجازه دهید طی ۵ مرحله و با زبانی ساده، توضیح دهیم که روال عملکردی پروتکل ftp چیست:
- برقراری اتصال: دستگاه کاربر به سرور FTP متصل میشود.
- احراز هویت: نام کاربری و کلمۀ عبور وارد شده و سرور درستی آنها را بررسی خواهد کرد.
- کنترل اتصال: کانال Command برای ارسال دستورات و دریافت پاسخ آماده میشود؛ دستورات (درخواستها) فرستاده خواهند شد و سرور بعد از پردازش آنها، پاسخ درست را برمیگرداند.
- برقراری اتصال برای جابهجایی دادهها: کانال Data ساخته شده و بعد از انتخاب مد درست (Active یا Passive)، جابهجایی آغاز میشود.
- بستن اتصال: بعد از تکمیل فرایند، کاربر با ارسال دستور درست، درخواست بسته شدن ارتباط را صادر میکند.
با این روال عملکردی است که پروتکل FTP میتواند کاربردها و مزایای زیادی را رقم بزند؛ کاربردها و مزایایی که در بخش قبلی راجعبه آنها صحبت کردیم.
یک مفهوم مرتبط دیگر وجود دارد که با عنوان پورت FTP شناخته میشود و در بخش بعدی به آن میپردازیم.
پیشنهاد خواندنی: بهترین نرم افزارهای FTP برای کاربران ویندوز و مک |
پورت FTP چیست؟
پروتکلی که این مقاله را به آن اختصاص دادهایم، از دو پورت اصلی برای انجام کارهایش استفاده میکند؛ یعنی پورت ۲۰ و پورت ۲۱.
پورت ۲۱ که به آن Command Port (پورت دستور) هم میگویند، برای برقراری اتصال اولیه بین کاربر و سرور کاربرد دارد. به بیان سادهتر، این پورت دستورات را جابهجا کرده و اطلاعات را کنترل میکند. منظور اطلاعاتی است مثل ورود و دسترسی به سرور، درخواستهای انتقال فایل و لیست دایرکتوریها.
در آن طرف ماجرا، پورت ۲۰ را داریم که نام دیگرش Data Port (پورت داده) است. این پورت برای جابهجایی دادههای حقیقی (شامل فایلها و دایرکتوریها) کاربرد دارد.
نکتۀ کلیدی: عدد دقیق پورت میتواند بسته به مُد انتخابی (Active یا Passive) متغیر باشد.
ضمناً، همانطور که گفتیم، اینها پورتهای اصلیای هستند که در خدمت پروتکل FTP قرار گرفتهاند. بسته به شرایط خاص و پیکربندیهای ویژه، امکان استفاده از پورتهای دیگری هم برای این پروتکل وجود دارد.
این هم از جواب پرسش پورت ftp چیست.
تا اینجا تمام تمرکزمان روی این بود که توضیح دهیم ftp چیست و دربارۀ مفاهیم پایهای و اولیۀ آن صحبت کردیم. حالا بیایید وارد عمل شویم و ببینیم چطور میتوان از این پروتکل استفاده کرد.
پیشنهاد خواندنی: پروتکل https چیست؟ چه فرقی با HTTP دارد و چرا به آن نیاز داریم؟ |
روشهای استفاده از پروتکل FTP برای ارسال فایل
فارغ از اینکه بارها، بدون اینکه مطلع باشیم، از این پروتکل استفاده کردهایم، ۳ روش برای استفاده از این پروتکل وجود دارند که اینجا آنها را بررسی خواهیم کرد.
۱. استفاده از Client (نرمافزار) FTP
ابزارهایی وجود دارند که با عنوان Client یا نرمافزار FTP شناخته میشوند و قبلاً در مقالۀ “بهترین نرم افزارهای FTP برای کاربران و ویندوز و مک” راجعبه آنها صحبت کردهایم.
بههرحال، نصب نرمافزارهایی مثل Cyberduck یا FileZilla، امکان استفاده از این پروتکل را به راحتترین شکل ممکن به وجود میآورد.
این رایجترین روشی است که برای استفاده از FTP به کار گرفته میشود و بیشتر وبدولوپرهایی که گفتیم به FTP نیاز دارند، از این کلاینتها کمک میگیرند.
کلاینتها آزادی عمل بیشتری برای کاربر به وجود میآورند و توانمندیهای بیشتری دارند؛ ضمن اینکه استفاده از آن هم راحتتر است.
۲. استفاده از خط فرمان
اگر با دستورهای سیستمعامل دستگاه خود آشنا باشید، این روش هم راه سرراستی برای استفاده از پروتکل FTP است.
با استفاده از Command Prompt در ویندوز، یا Terminal در مک و لینوکس، میتوانید دستور مناسب را بنویسید و یک اتصال FTP بسازید. این روش هم همچنان بین توسعهدهندگان محبوب است و از آن برای انتقال فایلهای حجیم از یک کامپیوتر به کامپیوتری دیگر در شبکه کمک میگیرند.
۳. اتصال به سرور FTP با مرورگر اینترنت
بالاتر گفتیم بیشتر مرورگرها قابلیتی پیشفرض برای ساخت اتصالی از جنس این پروتکل را دارند. وقتی میخواهید به دایرکتوریهای خیلی بزرگی که روی یک سرور قرار گرفتهاند دسترسی داشته باشید، این روش از باقی راهکارها بهتر است.
البته ناگفته نماند که در مقایسه با دو روش قبلی، سرعت پایینتر آن توی ذوق میزند!
برای اینکه اطلاعاتتان کاملتر باشد، بیایید با ببینیم انواع ftp چیست.
پیشنهاد خواندنی: ریست هاست چیست و چگونه انجام میشود؟ |
FTP انواع مختلفی دارد…
فهمیدیم FTP در گذر زمان با تغییرات و آپدیتهای بسیاری مواجه شد و در نتیجه، حالا انواع مختلفی از آن وجود دارند؛ انواعی که در این بخش با آنها آشنا خواهیم شد.
Anonymous FTP
سادهترین و اولیهایترین شکل پروتکل FTP همین نوع است که دادهها را بدون هیچگونه رمزنگاری و نام کاربری و پسورد انتقال میدهد.
این نوع بیشتر برای دانلود فایلهایی استفاده میشود که توزیع و عرضۀ آنها هیچ محدودیتی ندارد.
بهطور کلی، Anonymous FTP در حالت Active Mode با پورت ۲۰ کار میکند و برای دستورهای Control سراغ پورت ۲۱ میرود.
Password-protected FTP
این مدل هم اولیهای به حساب میآید، منتهی نیازمند نام کاربری و کلمۀ عبور است! البته خبری از رمزنگاری دادهها نیست و همچنان خلاء امنیتی وجود دارد. پورتهای این نوع هم کاملاً مشابه پورتهای نوع قبلی، یعنی Anonymous FTP است.
FTP Secure (FTPS)
گاهی به این نوع FTP Secure Socket Layer (FTP-SSL) میگویند. در این نوع، بلافاصله بعد از برقراری اتصال، TLS (نسخۀ پیشرفتهتر SSL) وارد عمل میشود.
هدف اولیه و اصلی FTPS فراهم آوردن امکان انتقال ایمنتر دادهها با پروتکل قدمتدار FTP است. این نوع بیشتر از پورت ۹۹۰ و پورت ۲۱ که بالاتر راجعبه آن صحبت کردیم استفاده میکند.
پیشنهاد خواندنی: آموزش اتصال هاست دانلود به وردپرس (۲ روش ساده) |
FTP over explicit SSL/TLS (FTPES)
این نوع امکان استفاده از TLS را با ارتقا اتصال FTP روی پورت ۲۱ به یک اتصال رمزنگاریشده فراهم میکند. معمولاً سرویسهای اشتراکگذاری فایل از این نوع برای ایمن کردن فرایند جابهجایی فایلها کمک میگیرند.
Secure FTP (SFTP)
بالاتر به این نوع اشارهای مختصر داشتیم و باز هم میگوییم که در بخشی جداگانه، کاملتر آن را بررسی خواهیم کرد.
اینجا همینقدر بدانید که این نوع ایمنی را تا جای ممکن بالا میبرد و به همین خاطر، برای انتقال فایلهای حساس بیشتر استفاده میشود.
حالا بیایید نگاهی به ایرادات جدی این پروتکل بیندازیم.
بشنوید از معایب پروتکل FTP!
در کنار تمام مزایا و نقاط قوتی که باعث شدهاند FTP دههها فعالیت کند، ایراداتی هم وجود دارند که نمیتوانیم آنها را نادیده بگیریم:
- رمزنگاری نشدن دادهها: نوع ساده و اولیۀ FTP همهچیز را در قالب متنی شفاف (اصطلاحاً Plain Text) ردوبدل میکند که فاقد هرگونه رمزنگاری است؛ این یعنی هرکس وسط راه این دادهها را بدزدد، خیلی راحت میتواند آنها را بخواند و تفسیر کند.
- پیچیدگیهای مربوط به پیکربندی: راهاندازی یک سرور FTP مطمئن و ایمن میتواند کار سختی باشد که فقط متخصصها از عهدۀ انجام آن برمیآیند.
- عملکرد ضعیف در انتقال فایلهای خیلی بزرگ: گفتیم که این پروتکل برای جابهجایی فایلهای حجیم کاربرد دارد و قرار نیست ادعای قبلی را تکذیب کنیم! ولی نمیتوانیم کند بودن پروتکل برای انتقال این نوع فایلها را نادیده بگیریم.
- آسیبپذیری در برابر حملات امنیتی: بهخاطر عدم برخورداری از امکانات امنیتی تکمیلی، پروتکل FTP میتواند در برابر انواع اقدامات مخرب امنیتی آسیبپذیر باشد.
همۀ این ایرادات، مخصوصاً خطرناکترین آنها، یعنی ضعفهای امنیتی، با استفاده از نسخههای پیشرفتهتر مثل SFTP برطرف میشوند.
وقت آن است که نگاهی بیندازیم به این نسخه از پروتکل FTP.
پروتکل SFTP چیست و چه تفاوتی با FTP دارد؟
از منظر فنی، SFTP اصلاً FTP محسوب نمیشود! ولی خب عملکرد کاملاً یکسانی با پروتکل داستان ما دارد.
میتوانیم بگوییم SFTP زیرشاخهای است از SSH که برای کسب اطلاعات بیشتر از آن، پیشنهاد میکنیم مقالۀ “SSH چیست؟ آشنایی با ۰ تا ۱۰۰ پروتکل SSH” را بخوانید.
SFTP از پورت ۲۲ استفاده میکند و ادمینهای سیستم برای دسترسی به سیستمها و اپلیکیشنها از راه دور (و به شکلی ایمن) از آن کمک میگیرند.
بنابراین، SFTP راهکاری ایمنتر و مطمئنتر برای انتقال فایل بین دستگاه کاربر و سرور محسوب میشود. اصلیترین تفاوت بین SFTP و FTP این است که اولی دادهها را رمزنگاری میکند و دومی، همانطور که کمی بالاتر گفتیم، این اقدام امنیتی مهم را انجام نمیدهد!
جدول زیر را ببینید تا به تفاوتهای بین این دو پروتکل اشراف کامل پیدا کنید:
مورد مقایسه | FTP | SFTP |
ایمنی | خبری از رمزنگاری نیست و ایمنی کمتری دارد | بهخاطر رمزنگاری ایمنی بالاتری دارد |
احراز هویت | نهایتاً نام کاربری و کلمۀ عبور | علاوهبر نام کاربری و کلمۀ عبور، بهخاطر رمزنگاری شدن دادهها، کلید عمومی را هم از کاربر درخواست میکند |
عملکرد | کندتر از SFTP | سریعتر از FTP |
میزان پیچیدگی | سادهتر از SFTP | پیچیدهتر از FTP |
کاربردهای اصلی | انتقال و اشتراکگذاری فایلهای غیرحساس و ساده | انتقال فایلهای حساس، ایجاد دسترسی ریموت ایمن و مطمئن |
این روزها SFTP محبوبتر و پراستفادهتر است، چون هم امنیت بیشتری را ارائه میکند، هم عملکرد خیلی بهتری را از خود نشان میدهد.
و اما جمعبندی مقاله.
پروتکل FTP: ریشسفیدی که قصد بازنشستگی ندارد!
در دنیای کامپیوترها، کمتر پروتکلی وجود دارد که بیشتر از ۵۰ سال فعال باشد و FTP یکی از آنها است!
در این مقاله، فهمیدیم ftp چیست. پروتکلی که وظیفۀ ایجاد ارتباط بین دو دستگاه در شبکه و فراهم آوردن امکان انتقال فایلها را بر عهده دارد.
در طول بیشتر از ۵۰ سال فعالیت، این پروتکل بارها توسعه پیدا کرده است که در بخشی از مقاله، انواع به وجود آمده ناشی از این بهروزرسانیها را معرفی کردیم. همچنین، کاربردها، مزایا و طرز کار FTP را هم بررسی کردیم.
در دو بخش جداگانه، توضیحات لازم دربارۀ دو مفهوم مرتبط با نامهای سرور FTP و پورت FTP را ارائه کردیم و به ایرادات اساسی این پروتکل پرداختیم. در انتها هم بخشی را به SFTP (جایگزین ایمن FTP) اختصاص دادیم و تفاوتهای آن را با پروتکل مادر زیر ذرهبین بردیم.
اگر همچنان سؤالی در رابطه با این سیستم کهنهکار دارید، در زیر همین مقاله برایمان کامنت بگذارید.
منابع: TechTarget | Investopedia | Hostinger
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید