FTP در مقابل SFTP
FTP (پروتکل انتقال فایل) پروتکلی است که برای انتقال فایل ها بین میزبان ها در اینترنت (یا سایر شبکه های مبتنی بر TCP) استفاده می شود. این یک پروتکل مبتنی بر مدل مشتری-سرور است. سرور FTP فایل ها و پایگاه های داده ای را که برای ارائه خدمات درخواستی مشتریان مورد نیاز است، نگهداری می کند. در اغلب موارد، سرور FTP یک دستگاه پرقدرت است که قادر است چندین درخواست مشتری را به طور همزمان مدیریت کند. کلاینت FTP معمولاً یک رایانه شخصی است که توسط یک کاربر نهایی یا یک دستگاه تلفن همراه استفاده می شود که نرم افزار لازم را اجرا می کند که قادر به درخواست و دریافت فایل ها از طریق اینترنت از سرور FTP است. FTP برای انتقال اطلاعات و داده های کنترلی، اتصالات جداگانه ای بین مشتری و سرور برقرار می کند.برنامه های سرویس گیرنده FTP در طول این مدت از برنامه های خط فرمان به برنامه هایی با رابط کاربری گرافیکی تبدیل شده اند. SFTP (پروتکل انتقال فایل امن) پروتکلی است که برای انتقال فایل ها از طریق یک کانال امن استفاده می شود. این به عنوان یک فرمت پروتکل Secure Shell (SSH) توسط گروه ضربت مهندسی اینترنت (IETF) توسعه یافته است. SFTP فرض می کند که کانال مورد استفاده برای ارتباط امن است و کلاینت توسط سرور احراز هویت می شود و اطلاعات مربوط به مشتری برای استفاده از پروتکل در دسترس است.
FTP چیست؟
FTP پروتکلی است که برای انتقال فایل ها از طریق اینترنت استفاده می شود. مشخصات فعلی FTP در RFC 959 موجود است. این پروتکل در لایه برنامه عمل می کند. همانطور که قبلا ذکر شد، FTP دو اتصال را برای انتقال اطلاعات کنترلی و داده ها حفظ می کند. پروتکل FTP به شرح زیر عمل می کند. یک سرور FTP به درخواست های دریافتی از مشتریان گوش می دهد. کلاینتی که می خواهد با سرور ارتباط برقرار کند می تواند از طریق پورت 21 این کار را انجام دهد و به آن اتصال کنترل می گویند.اتصال کنترل در طول کل جلسه باز می شود و برای برقراری ارتباط اطلاعات مدیریت استفاده می شود. سپس اتصال دوم توسط سرور FTP از طریق پورت 20 با کلاینت ارتباطی باز می شود و به این اتصال اتصال داده می گویند. فایلها از طریق اتصال داده منتقل میشوند و انتقال مداوم میتواند با ارسال یک سیگنال توقف از طریق اتصال کنترل متوقف شود.
SFTP چیست؟
SFTP پروتکلی است که برای انتقال فایل ها از طریق یک کانال امن استفاده می شود. SFTP همچنین بر اساس معماری مشتری-سرور است. یک سرور SFTP به طور گسترده شناخته شده OpenSSH است و کلاینت های SFTP به عنوان برنامه های خط فرمان (همانطور که با OpenSSH ارائه شده است) یا برنامه های رابط کاربری گرافیکی پیاده سازی می شوند. SFTP هم برای داده ها و هم برای دستوراتی که منتقل می شوند، رمزگذاری را فراهم می کند و امنیت اطلاعات حساس مانند رمزهای عبور را فراهم می کند. علاوه بر این، فایلهای آپلود شده با استفاده از SFTP با ویژگیهای فایل مانند مهر زمانی مرتبط هستند که با FTP امکانپذیر نیست. SFTP تنها یک پروتکل برای دسترسی و انتقال فایل ها نیست، بلکه در واقع یک پروتکل سیستم فایل است.
تفاوت بین FTP و SFTP چیست؟
SFTP مکانیزم امنی برای انتقال فایل ها از طریق اینترنت فراهم می کند. SFTP مکانیزمی را برای رمزگذاری داده ها و دستوراتی که بین کلاینت و سرور منتقل می شوند فراهم می کند، در حالی که اطلاعات منتقل شده بین مشتری و سرور تحت FTP به صورت متن ساده است. علاوه بر این، فایلهای آپلود شده با استفاده از SFTP با ویژگیهای فایل مانند مهر زمانی مرتبط هستند که با FTP امکانپذیر نیست. اگرچه SFTP عملکردی مشابه (ایمن تر) مانند FTP ارائه می دهد، به دلیل تفاوت های اساسی در پروتکل ها، یک کلاینت FTP نمی تواند برای ارتباط با یک سرور SFTP و یک کلاینت SFTP برای ارتباط با یک سرور FTP استفاده شود.