آبجی
20th February 2010, 01:09 AM
• • • FTP چیست ؟
پروتکلی که از طريق آن کامپيوتر ها ميتوانند به دنبال فايلها بر روی اينترنت بپردازند FTP ناميده ميشود، در واقع FTP مخفف File Transfer Protocol ميباشد که يک پروتکل استاندارد در TCP/IP است.
FTP يکی از قديمی ترين پروتکل های اينترنت می باشد که هنوز هم کاربرد زيادی دارد و در سال 1970 در اينترنت توسعه يافت.. مانند HTTP که محتوای وب را منتقل می کند يا SMTP که ايميل ها را منتقل می کند FTP هم ساده ترين راه برای تبادل فايل از يک کامپيوتر به کامپيوتر ديگر است.
پروتکل FTP علاوه بر نقل و انتقال فايل بين دو کامپيوتر ، می تواند نوعی مديريت فايل ( مثل حذف فايل يا ايجاد پوشه ) روی کامپيوتر مقصد را انجام دهد . FTP در انتقال فايل بسيار قويتر از HTTP است ولی به مراتب پيچيده تر از HTTP می باشد.
جهت استفاده از پروتکل FTP شما به نرم افزارهای سرويس دهنده مانند WSFTP نياز داريد. Cute FTP و FTP Voyager نيز نمونه های ديگری هستند.
خدماتی که این پروتکل ارایه می کند عبارتند از :
1. تهیه لیستی موجود از فایلهای کامپیوتر راه دور
2. حذف، تغییرنام و جابجا کردن فایلهای کامپیوتر راه دور
3. جستجو در دایرکتوریهای کامپیوتر راه دور
4. ایجاد یا حذف دایرکتویهای کامپیوترهای راه دور
5. انتقال فایل از کامپیوتر میزبان به کامپیوتر راه دور و بالعکس
...
• • • مفهوم FTP
قابلیتهایی که پروتکلFTP عرضه می کند می تواند برای کامپیوتر سرویس دهنده بسیار خطرناک باشد، چرا که به سادگی می توان فایلهای یک کامپیوتر راه دور را آلوده یا نابود کرد. بنابراین کاربران قبل از هر اقدامی باید شناسایی شده و سطح دسترسی آنها تعیین شود.
FTP قابلیت اجرای یک برنامه را بر روی کامپیوتر راه دور ندارد، بلکه روشی سریع، ساده و مطمئن برای خدمات فایل به کاربران راه دور محسوب می شود.
• • • ارتباط بین سرویس گیرنده و سرویس دهنده
برای شروع یک "نشست" بین برنامه سرویس دهنده و سرویس گیرنده باید دو ارتباط همزمان از نوع TCP برقرار شود. به هریک از این ارتباطات در ادبیات پروتکل TCP، یک "کانال" گفته می شود. این دو کانال عبارتند از :
1. کانال داده : یک ارتباط TCP با پورت شماره 20 از سرویس دهنده که روی آن داده ها مبادله می شوند.
2. کانال فرمان : یک ارتباط TCP با پورت شماره 21 که روی آن فرامین لازم برای مدیریت فایلها رد و بدل می شوند.
دلیل لزوم برقراری دو کانال مجزا بین سرویس دهنده و سرویس گیرنده آن است که بتوان بدون قطع جریان داده ها فرامین را به طور همزمان مبادله کرد. بعنوان مثال در حین انتقال یک فایل می توان روی کانال فرمان دستور لغو انتقال یا تغییر مود انتقال را صادر کرد.
ذکر این نکته ضروریست که در پروتکل FTP همه عملیات انتقال فایل در "پیش زمینه" انجام می شود. بدین معنی که پروتکل FTP مانند سیستمهایی مثل مدیریت چاپ که درخواستهای چاپ پرونده را به صف کرده و یک به یک آنها را رسیدگی می کند، نیست و عملیات انتقال فایل را به صورت بلادرنگ انجام می دهد.
پروتکل FTP، دو پروسه همزمان ایجاد می کند که یکی وظیفه مدیریت ارتباط روی کانال فرمان را به عهده داشته و اصطلاحا "مفسر پروتکل" یا پروسه PI نامیده می شود. وظیفه پروسه دیگر مدیریت انتقال داده هاست و به DTP یا "پروسه انتقال داده" معروف است. پروسه PI همیشه به پورت شماره 21 و پروسه DTP به پورت شماره 20 مقید شده اند.
• • • انواع FTP
از نقطه نظر شبکه ای دو نوع FTP وجود دارد :
فعال (Active) : در این روش برای انتقال داده ها، ارتباط بین سرویس دهنده و سرویس گیرنده از سمت سرویس دهنده شروع می شود.
غیر فعال (Passive) : در این روش برای انتقال داده ها، ارتباط بین سرویس دهنده و سرویس گیرنده از سمت سرویس گیرنده شروع می شود.
شکل زیر بهتر این موضوع را نشان می دهد :
http://radcom.ir/weblog//images/radcom_ir/majid/52/r_ftp.gif
• • • مجموعه رخدادهایی که برای Active FTP رخ می دهند
1. سرویس گیرنده به پورت شماره 21 سرویس دهنده، متصل می شود.
2. هر زمان که سرویس گیرنده از طریق خط کنترلی داده ای از سرویس دهنده تقاضا کند، ارتباطی از سمت سرویس دهنده و روی پورت 20 بین آن دو ایجاد می شود.
3. در نتیجه داده ها از طریق پورت شماره 20 روی سرویس دهنده و یک پورت شماره بالا(بزرگتر از 1024) روی سرویس گیرنده بین دو کامپیوتر منتقل می شود.
مجموعه رخدادهایی که برای Passive FTP رخ می دهد، عبارتند از :
1. سرویس گیرنده به پورت شماره 21 سرویس دهنده، متصل می شود. دستورات از طریق این خط انتقال می یابند.
2.هر زمان که سرویس گیرنده از طریق خط کنترلی داده ای تقاضا می کند، ارتباطی از طریق یک پورت شماره بالا روی سرویس گیرنده با یک پورت شماره بالا روی سرویس دهنده برقرار می شود.
نکته: Passive FTP برای سرویس گیرندگانی که پشت دیواره آتش (Firewall) هستند مناسبتر است. در Windows حالت پیش فرض Active FTP و در Linux حالت پیش فرض Passive FTP می باشد.
پروتکلی که از طريق آن کامپيوتر ها ميتوانند به دنبال فايلها بر روی اينترنت بپردازند FTP ناميده ميشود، در واقع FTP مخفف File Transfer Protocol ميباشد که يک پروتکل استاندارد در TCP/IP است.
FTP يکی از قديمی ترين پروتکل های اينترنت می باشد که هنوز هم کاربرد زيادی دارد و در سال 1970 در اينترنت توسعه يافت.. مانند HTTP که محتوای وب را منتقل می کند يا SMTP که ايميل ها را منتقل می کند FTP هم ساده ترين راه برای تبادل فايل از يک کامپيوتر به کامپيوتر ديگر است.
پروتکل FTP علاوه بر نقل و انتقال فايل بين دو کامپيوتر ، می تواند نوعی مديريت فايل ( مثل حذف فايل يا ايجاد پوشه ) روی کامپيوتر مقصد را انجام دهد . FTP در انتقال فايل بسيار قويتر از HTTP است ولی به مراتب پيچيده تر از HTTP می باشد.
جهت استفاده از پروتکل FTP شما به نرم افزارهای سرويس دهنده مانند WSFTP نياز داريد. Cute FTP و FTP Voyager نيز نمونه های ديگری هستند.
خدماتی که این پروتکل ارایه می کند عبارتند از :
1. تهیه لیستی موجود از فایلهای کامپیوتر راه دور
2. حذف، تغییرنام و جابجا کردن فایلهای کامپیوتر راه دور
3. جستجو در دایرکتوریهای کامپیوتر راه دور
4. ایجاد یا حذف دایرکتویهای کامپیوترهای راه دور
5. انتقال فایل از کامپیوتر میزبان به کامپیوتر راه دور و بالعکس
...
• • • مفهوم FTP
قابلیتهایی که پروتکلFTP عرضه می کند می تواند برای کامپیوتر سرویس دهنده بسیار خطرناک باشد، چرا که به سادگی می توان فایلهای یک کامپیوتر راه دور را آلوده یا نابود کرد. بنابراین کاربران قبل از هر اقدامی باید شناسایی شده و سطح دسترسی آنها تعیین شود.
FTP قابلیت اجرای یک برنامه را بر روی کامپیوتر راه دور ندارد، بلکه روشی سریع، ساده و مطمئن برای خدمات فایل به کاربران راه دور محسوب می شود.
• • • ارتباط بین سرویس گیرنده و سرویس دهنده
برای شروع یک "نشست" بین برنامه سرویس دهنده و سرویس گیرنده باید دو ارتباط همزمان از نوع TCP برقرار شود. به هریک از این ارتباطات در ادبیات پروتکل TCP، یک "کانال" گفته می شود. این دو کانال عبارتند از :
1. کانال داده : یک ارتباط TCP با پورت شماره 20 از سرویس دهنده که روی آن داده ها مبادله می شوند.
2. کانال فرمان : یک ارتباط TCP با پورت شماره 21 که روی آن فرامین لازم برای مدیریت فایلها رد و بدل می شوند.
دلیل لزوم برقراری دو کانال مجزا بین سرویس دهنده و سرویس گیرنده آن است که بتوان بدون قطع جریان داده ها فرامین را به طور همزمان مبادله کرد. بعنوان مثال در حین انتقال یک فایل می توان روی کانال فرمان دستور لغو انتقال یا تغییر مود انتقال را صادر کرد.
ذکر این نکته ضروریست که در پروتکل FTP همه عملیات انتقال فایل در "پیش زمینه" انجام می شود. بدین معنی که پروتکل FTP مانند سیستمهایی مثل مدیریت چاپ که درخواستهای چاپ پرونده را به صف کرده و یک به یک آنها را رسیدگی می کند، نیست و عملیات انتقال فایل را به صورت بلادرنگ انجام می دهد.
پروتکل FTP، دو پروسه همزمان ایجاد می کند که یکی وظیفه مدیریت ارتباط روی کانال فرمان را به عهده داشته و اصطلاحا "مفسر پروتکل" یا پروسه PI نامیده می شود. وظیفه پروسه دیگر مدیریت انتقال داده هاست و به DTP یا "پروسه انتقال داده" معروف است. پروسه PI همیشه به پورت شماره 21 و پروسه DTP به پورت شماره 20 مقید شده اند.
• • • انواع FTP
از نقطه نظر شبکه ای دو نوع FTP وجود دارد :
فعال (Active) : در این روش برای انتقال داده ها، ارتباط بین سرویس دهنده و سرویس گیرنده از سمت سرویس دهنده شروع می شود.
غیر فعال (Passive) : در این روش برای انتقال داده ها، ارتباط بین سرویس دهنده و سرویس گیرنده از سمت سرویس گیرنده شروع می شود.
شکل زیر بهتر این موضوع را نشان می دهد :
http://radcom.ir/weblog//images/radcom_ir/majid/52/r_ftp.gif
• • • مجموعه رخدادهایی که برای Active FTP رخ می دهند
1. سرویس گیرنده به پورت شماره 21 سرویس دهنده، متصل می شود.
2. هر زمان که سرویس گیرنده از طریق خط کنترلی داده ای از سرویس دهنده تقاضا کند، ارتباطی از سمت سرویس دهنده و روی پورت 20 بین آن دو ایجاد می شود.
3. در نتیجه داده ها از طریق پورت شماره 20 روی سرویس دهنده و یک پورت شماره بالا(بزرگتر از 1024) روی سرویس گیرنده بین دو کامپیوتر منتقل می شود.
مجموعه رخدادهایی که برای Passive FTP رخ می دهد، عبارتند از :
1. سرویس گیرنده به پورت شماره 21 سرویس دهنده، متصل می شود. دستورات از طریق این خط انتقال می یابند.
2.هر زمان که سرویس گیرنده از طریق خط کنترلی داده ای تقاضا می کند، ارتباطی از طریق یک پورت شماره بالا روی سرویس گیرنده با یک پورت شماره بالا روی سرویس دهنده برقرار می شود.
نکته: Passive FTP برای سرویس گیرندگانی که پشت دیواره آتش (Firewall) هستند مناسبتر است. در Windows حالت پیش فرض Active FTP و در Linux حالت پیش فرض Passive FTP می باشد.