تفاوت ftp با tftp

واژه FTP برای افرادی که در حوزه شبکه فعالیت می کنند واژه آشنایی است اما TFTP شاید کمی غریبه باشد. TFTP مخفف کلمات Trivial File Transfer Protocol است و به نوعی می توان از آن به عنوان ساده ترین حالت ممکن از پروتکل FTP نام برد. از این پروتکل معمولا برای انتقال خودکار فایل های Boot و تنظیمات دستگاه هایی از قبیل روتر و سویچ در شبکه های محلی استفاده می شود. اگر بخواهیم TFTP را با FTP مقایسه کنیم بایستی بگوییم TFTP بسیار بسیار نسبت به FTP دارای محدودیت می باشد ، TFTP هیچگونه ساختار احراز هویت ندارد و همچنین به ندرت با کاربر ارتباط برقرار می کند و معمولا این دستگاه ها هستند که به این سرویس متصل و از آن استفاده می کنند. با توجه به طراحی ساده این سرویس شما می توانید TFTP را با کمترین مقدار حافظه در شبکه خود پیاده سازی کنید. یکی از مصارفی که TFTP سرورها برای ما دارند boot کردن دستگاه هایی مانند روترها و سویچ ها می باشد که حافظه مناسبی برای ذخیره سازی اطلاعات ندارند. TFTP یکی از اساسی ترین قسمت های پروتکل PXE یا Preboot Execution Environment بر روی کارت های شبکه می باشد که امکان دریافت آدرس IP و Boot شدن سیستم قبل از رسیدن به سیستم عامل را فراهم می کند. Firmware پروتکل PXE در داخل حافظه ROM یا NVRAM کارت های شبکه امروزی قرار گرفته است.

یکی دیگر از کاربردهای TFTP در شبکه این است که شما می توانید براحتی با استفاده از یک ترمینال ساده یا یک Thin Client با سرور TFTP ارتباط برقرار کنید و فایل های کوچک را براحتی بین این دو دستگاه رد و بدل کنید ، برای مثال معمولا برای بروز رسانی Firmware های دستگاه هایی مثل IP Phone ها یا Router ها می توانید Image آنها را درون TFTP سرور قرار بدهید و از طریق آن Firmware دستگاه را بروز کنید. بسیاری از نرم افزارهایی که قبل از Boot شدن سیستم عامل قابلیت استفاده از شبکه را دارند مانند Solaris Jumpstart یا Symantec Ghost و از همه معروف تر سرویس WDS شرکت مایکروسافت برای رسیدن به مرحله نصب سیستم عامل تحت شبکه یا مواردی از این قبیل یک Kernel ساده را از طریق TFTP سرور Load می کنند تا بتوانند فرآیند های خود را ادامه دهند.همچنین TFTP سرور برای نگهداری فایل های تنظیمات روترهای سیسکو نیز مورد استفاده قرار می گیرد.

TFTP اولین بار در سال ۱۹۸۰ مورد استفاده قرار گرفت و Extension های مختلفی از این پروتکل نیز ارائه شد. TFTP بر اساس یک پروتکل قدیمیتر به نام EFTP بنا گذاشته شد. به دلیل عدم داشتن تمهدیدات امنیتی برای این پروتکل به دلیل نداشتن هرگونه سیستم احراز هویت استفاده از این پروتکل بسیار خطرناک است به گونه ای که فقط و فقط پیشنهاد می شود از TFTP در شبکه های داخلی و خصوص استفاده شود و به هیچ عنوان در شبکه های عمومی از TFTP استفاده نشود.TFTP ذاتا برای کامپیوترهایی طراحی شده بود که حافظه و فضای لازم برای راه اندازی سرویس FTP را نداشتند ، امروزه تمامی دستگاه های شبکه ای از قبیل روتر و سویچ و امثال اینها از این پروتکل پشتیبانی می کنند.

TFTP در یک سری موارد کلیدی با FTP تفاوت دارد ، TFTP در نسخه های اصلی خود فقط اجازه آپلود و دانلود فایل هایی را می داد که ماکزیمم ۳۲ مگابایت حجم داشتند اما در نسخه های جدیدتر آن این محدودیت برداشته شد. این محدودیت حجمی در FTP وجود ندارد. TFTP هیچگونه مکانیزم احراز هویت و Login به سیستم ندارد و به شما هیچ پیام ورود نام کاربری و رمز عبور نمایش داده نمی شود اما FTP حداقل کاری که می کند احراز هویت بصورت Anonymous را انجام می دهد و قابلیت احراز هویت را نیز دارد هر چند احراز هویت FTP اصلا قابل اعتماد نیست اما به هر حال کاچی به از هیچی است. TFTP از شماره پورت ۶۹ برای برقراری ارتباطات شبکه ای استفاده می کند و این در حالی است که FTP از شماره پورت های ۲۰ و ۲۱ برای اینکار استفاده می کند. به دلیل استفاده TFTP از UDP معمولا در شبکه های داخلی از این پروتکل استفاده می شود و این در حالی است که شما می توانید از FTP در شبکه های عمومی و اینترنت نیز استفاده کنید.