close
تبلیغات در اینترنت

بهترين کرک ها

آشنائی با پروتكل FTP




جستجوگر پیشرفته سایت
search



آخرین ارسال های انجمن
عنوان پاسخ بازدید توسط
2 687 mmh
7 1013 sajadzamani
4 698 sajadzamani
3 875 snow
4 803 sajadzamani
0 419 snow
0 426 snow
1 664 snow
1 620 snow
1 741 snow
0 534 sajadzamani
1 614 Rayansys
0 503 sajadzamani
0 477 sajadzamani
0 475 sajadzamani
0 514 sajadzamani
0 424 sajadzamani
0 411 sajadzamani
0 358 sajadzamani
0 343 sajadzamani
آشنائی با پروتكل FTP

امروزه از پروتكل های متعددی در شبكه های كامپيوتری استفاده می گردد كه صرفا" تعداد اندكی از آنان به منظور انتقال داده طراحی و پياده سازی شده اند . اينترنت نيز به عنوان يك شبكه گسترده از اين قاعده مستثنی نبوده و در اين رابطه از پروتكل های متعددی استفاده می شود. 

برای بسياری از كاربران اينترنت همه چيز محدود به وب و پروتكل مرتبط با آن يعنی HTTP است ، در صورتی كه در اين عرصه از پروتكل های متعدد ديگری نيز  استفاده می گردد. FTP  نمونه ای در اين زمينه است .

 

پروتكل FTP چيست ؟ 

تصوير اوليه اينترنت در ذهن بسياری از كاربران،  استفاده از منابع اطلاعاتی و حركت از سايتی به سايت ديگر است و شايد به همين دليل باشد كه اينترنت در طی ساليان اخير به سرعت رشد و متداول شده است . بسياری از كارشناسان اين عرصه اعتقاد دارند كه اينترنت گسترش و  عموميت خود را مديون  سرويس وب می باشد .

فرض كنيد كه سرويس وب را از اينترنت حذف نمائيم . برای بسياری از ما اين سوال مطرح خواهد شد كه چه نوع استفاده ای را می توانيم از اينترنت داشته باشيم ؟ در صورت تحقق چنين شرايطی ،  يكی از عملياتی كه كاربران قادر به انجام آن خواهند بود ،  دريافت داده ، فايل های صوتی ، تصويری و ساير نمونه فايل های ديگر با استفاده از پروتكل FTP (برگرفته از File Transfer Protocol ) است.  

 

ويژگی های پروتكل FTP

 

پروتكل FTP ، اولين تلاش انجام شده برای‌ ايجاد يك استاندارد به منظور مبادله فايل بر روی شبكه های مبتنی بر پروتكل TCP/IP  است كه از اوايل سال 1970 مطرح  و مشخصات استاندارد آن طی RFC 959  در اكتبر سال 1985 ارائه گرديد .

 

پروتكل FTP  دارای حداكثر انعطاف لازم و در عين حال امكان پذير به منظور استفاده در شبكه های مختلف با توجه به نوع پروتكل شبكه است .

 

پروتكل FTP از مدل سرويس گيرنده - سرويس دهنده تبعيت می نمايد . برخلاف HTTP كه يك حاكم مطلق در عرصه مرورگرهای وب و سرويس دهندگان وب است ، نمی توان ادعای مشابهی را در رابطه با پروتكل FTP  داشت و هم اينك مجموعه ای گسترده از سرويس گيرندگان و سرويس دهندگان FTP وجود دارد .

 

برای ارسال فايل با استفاده از پروتكل FTP به يك سرويس گيرنده FTP نياز می باشد . ويندوز دارای يك برنامه سرويس گيرنده FTP از قبل تعبيه شده می باشد ولی دارای محدوديت های مختص به خود می باشد . در اين رابطه نرم افزارهای متعددی تاكنون طراحی و پياده سازی شده است:

ulletProof FTP  ، WS FTP Professional، FTP Explorer  و Smart FTP  نمونه هائی در اين زمينه می باشند .

 

پروتكل FTP را می توان به عنوان يك سيستم پرس وجو نيز تلقی نمود چراكه سرويس گيرندگان و سرويس دهندگان گفتگوی لازم به منظور تائيد يكديگر و ارسال فايل را انجام می دهند. علاوه بر اين، پروتكل فوق مشخص می نمايد  كه سرويس گيرنده و سرويس دهنده، داده را بر روی كانال گفتگو ارسال نمی نمايند . در مقابل ،‌ سرويس گيرنده و سرويس دهنده در خصوص نحوه ارسال فايل ها بر روی اتصالات مجزا و جداگانه ( يك اتصال برای هر ارسال داده ) با يكديگر گفتگو خواهند كرد ( نمايش ليست فايل های موجود در يك دايركتوری نيز به عنوان يك ارسال فايل تلقی می گردد ) .

 

پروتكل FTP امكان استفاده از سيستم فايل را مشابه پوسته يونيكس و يا خط دستور ويندوز در اختيار كاربران قرار می دهد .

 

سرويس گيرنده در ابتدا يك پيام را برای سرويس دهنده ارسال و سرويس دهنده نيز به آن پاسخ خواهد داد و در ادامه ارتباط غيرفعال می گردد . وضعيت فوق با ساير پروتكل هائی كه به صورت تراكنشی كار می كنند ،‌ متفاوت می باشد ( نظير پروتكل HTTP ) . برنامه های سرويس گيرنده زمانی قادر به شبيه سازی يك محيط تراكنشی می باشند كه از مسائلی كه قرار است در آينده محقق شوند ، آگاهی داشته باشند . در واقع ، پروتكل FTP يك دنباله stateful  از يك و يا چندين تراكنش است.

 

سرويس گيرندگان ، مسئوليت ايجاد و مقداردهی اوليه درخواست ها را برعهده دارند كه  با استفاده از  دستورات اوليه FTP انجام می گردد. دستورات فوق ،  عموما" سه و يا چهار حرفی می باشند (مثلا" برای تغيير دايركتوری از دستور CWD استفاده می شود ).  سرويس دهنده نيز بر اساس يك فرمت استاندارد به سرويس گيرندگان پاسخ خواهد داد ( سه رقم كه به دنبال آن از  space استفاده شده است به همراه يك متن تشريحی ) . سرويس گيرندگان می بايست صرفا" به كد عددی نتيجه استناد نمايند چراكه متن تشريحی تغيير پذير بوده و در عمل برای اشكال زدائی مفيد است ( برای كاربران حرفه ای ) .

 

پروتكل FTP دارای امكانات حمايتی لازم برای ارسال داده با نوع های مختلف می باشد . دو فرمت  متداول،  اسكی برای متن ( سرويس گيرنده  با ارسال دستور  TYPE A ،‌موضوع را به اطلاع سرويس دهنده می رساند ) و image برای داده های باينری است ( توسط  TYPE I  مشخص می گردد) . ارسال داده با فرمت اسكی در مواردی كه ماشين سرويس دهنده و ماشين سرويس گيرنده از استانداردهای متفاوتی برای متن استفاده می نمايند ، مفيد بوده و  يك سرويس گيرنده می تواند پس از دريافت داده آن را به فرمت مورد نظر خود ترجمه و استفاده نمايد . مثلا" در نسخه های ويندوز  از يك دنباله  carriage return و  linefeed برای نشان دادن انتهای خط استفاده می گردد در صورتی كه در  سيستم های مبتنی بر يونيكس صرفا" از يك  linefeed استفاده می شود . برای ارسال هرنوع داده كه به ترجمه نياز نداشته باشد،می توان از ارسال باينری استفاده نمود.

 

 اتخاذ تصميم در رابطه با نوع ارسال فايل ها  در اختيار سرويس گيرنده است ( برخلاف HTTP كه می تواند به سرويس گيرنده نوع داده ارسالی را اطلاع دهد ) . معمولا" سرويس گيرندگان ارسال باينری را انتخاب می نمايند و پس از دريافت فايل ، ترجمه لازم را انجام خواهند داد . ارسال باينری ذاتا" دارای كارآئی بيشتری است چراكه سرويس دهنده و سرويس گيرنده نيازی به انجام تراكنش های on the fly نخواهند داشت . ارسال اسكی گزينه پيش فرض انتخابی توسط پروتكل FTP  است و در صورت نياز به ارسال باينری ، سرويس گيرنده می بايست اين موضوع را از سرويس دهنده درخواست نمايد .

 

يك اتصال پروتكل TCP/IP ( نسخه شماره چهار)  شامل دو  نقطه مجزا می باشد كه هر نقطه از يك آدرس IP و يك شماره پورت استفاده می نمايد . برقراری ارتباط بين يك سرويس گيرنده و يك سرويس دهنده منوط به وجود چهار عنصر اطلاعاتی است : آدرس سرويس دهنده ،‌پورت سرويس دهنده ، آدرس سرويس گيرنده و پورت سرويس گيرنده . در زمان برقراری يك ارتباط ، سرويس گيرنده از يك شماره پورت استفاده می نمايد . اين شماره پورت می تواند متناسب با نوع عملكرد برنامه سرويس گيرنده به صورت اختياری و يا اجباری باشد . مثلا"  برخی برنامه های سرويس گيرنده به منظور ارتباط با سرويس دهنده ، نيازمند استفاده از يك شماره پورت خاص می باشند ( نظير برنامه های سرويس گيرنده وب و يا مرورگرهای وب كه از پورت شماره 80 به منظور ارتباط با سرويس دهنده وب استفاده می نمايد) . در مواردی كه الزامی در خصوص شماره پورت وجود ندارد از يك شماره پورت موقتی و يا   ephemeral  استفاده می گردد . اين نوع پورت ها موقتی بوده و توسط IP stack ماشين مربوطه به متقاضيان نسبت داده شده و پس از خاتمه ارتباط ، پورت آزاد می گردد . با توجه به اين كه اكثر IP Stacks بلافاصله از پورت موقت آزاد شده استفاده نخواهند كرد ( تا زمانی كه تمام pool تكميل نشده باشد ) ،‌در صورتی كه سرويس گيرنده مجددا" درخواست  برقراری يك ارتباط را نمايد ، يك شماره پورت موقتی ديگر به وی تخصيص داده می شود .

 

 پروتكل FTP منحصرا" از پروتكل TCP استفاده می نمايد( هرگز از پروتكل UDP  استفاده نمی شود) . معمولا" پروتكل های لايه Application ( با توجه به مدل مرجع OSI ) از يكی از پروتكل های TCP و يا UDP استفاده می نمايند ( به جزء پروتكل DNS  ) . پروتكل FTP نيز از برخی جهات شرايط خاص خود را دارد و برای انجام وظايف محوله از دو پورت استفاده می نمايد . اين پروتكل معمولا" از پورت شماره 20 برای ارسال داده و از پورت 21 برای گوش دادن به فرامين استفاده می نمايد . توجه داشته باشيد كه برای ارسال داده همواره از پورت 20 استفاده نمی گردد و ممكن است در برخی موارد از پورت های ديگر استفاده شود .

 

اكثر سرويس دهندگان FTP  از روش خاصی برای رمزنگاری اطلاعات استفاده نمی نمايند و در زمان  login  سرويس گيرنده به سرويس دهنده ، اطلاعات مربوط به نام و  رمز عبور كاربر به صورت متن معمولی در شبكه ارسال می گردد . افرادی كه دارای يك Packet sniffer  بين سرويس گيرنده و سرويس دهنده می باشند ، می توانند به سادگی اقدام به سرقت نام و رمز عبور نمايند . علاوه بر سرقت رمزهای عبور ، مهاجمان می توانند تمامی مكالمات بر روی اتصالات FTP را شنود و محتويات داده های ارسالی را مشاهده نمايند . پيشنهادات متعددی به منظور ايمن سازی سرويس دهنده FTP مطرح می گردد ولی تا زمانی كه رمزنگاری و امكانات حفاظتی در سطح لايه پروتكل IP اعمال نگردد ( مثلا" رمزنگاری توسط  IPsecs  ) ،‌ نمی بايست از FTP استفاده گردد خصوصا" اگر بر روی شبكه اطلاعات مهم و حياتی ارسال و يا دريافت می گردد .

 

همانند بسياری از پروتكل های لايه Application ، پروتكل FTP دارای كدهای وضعيت خطاء مختص به خود می باشد ( همانند HTTP ) كه اطلاعات لازم در خصوص وضعيت ارتباط ايجاد شده و يا درخواستی را ارائه می نمايد . زمانی كه يك درخواست ( GET , PUT   ) برای يك سرويس دهنده FTP ارسال می گردد ، سرويس دهنده پاسخ خود را به صورت يك رشته اعلام می نمايد . اولين خط اين رشته معمولا" شامل نام سرويس دهنده و نسخه نرم افزار FTP است .در ادامه می توان  دستورات GET و يا PUT را برای سرويس دهنده ارسال نمود . سرويس دهنده با ارائه يك پيام وضعيت به درخواست سرويس گيرندگان پاسخ می دهد . كدهای وضعيت برگردانده شده را می توان در پنج گروه متفاوت تقسيم نمود : 

كدهای 1xx : پاسخ اوليه 

كدهای 2xx : درخواست بدون خطاء‌ اجراء گرديد . 

كدهای 3xx : به اطلاعات بشتری نياز است . 

كدهای 4xx : يك خطاء موقت ايجاد شده است . 

كدهای 5xx : يك خطاء دائمی ايجاد شده است . 







امتیاز: نتیجه : 5 امتیاز توسط 5 نفر مجموع امتیاز : 5

بازدید :763
مرتبط با : آموزش عمومی
لینک های مرتبط : نصب ویندوز 8 در کنار ویندوز 7
افزودن منو استارت به ویندوز 8
دسترسی از راه دور به رایانه با گوگل کروم
آموزش جی کوئری (JQuery)
آموزش کامل آی جکس ! (Ajax) ( به عبارت دیگه آژاکس)
چگونگی ساخت گدجت !
تبدیل گوشی به وبکم !!
صفحه قفل ویندوز مشابه اندروید !!
آموزش نصب سیستم عامل روی یک کیس مجازی (Virtual Machine)
افزونه anonymoX
آموزش ساخت وبلاگ !!
تبدیل لپ تاپ به مودم وایرلس (وای فای)!!
فارسی سازی محیط ویژوال بیسیک !!
پیاده سازی سایت بصورت آفلاین - WampServer
ساخت دیسک های Bootable با نرم افزار EasyBoot 5.1
اگر وبلاگ دارید این ۱۰ اشتباه را نکنید!!
معرفی 10 سایت جالب دنیای اینترنت !
گنولینوکس با ویندوز چه تفاوتی دارد؟
دانلود Windows 8 Persian Language Interface Pack - فارسی ساز محیط ویندوز 8
تغییر ظاهر بوت ویندوز 7
آموزش Visio 2007
آموزش کامل اوراکل (Oracle)
انواع توپولوژی شبکه
CSS و تاریخچه آن
آموزش روش جستجو در گوگل (google)
آموزش ویندوز 8
کامپیوترهای کوانتومی نسل جدید کامپیوتر
بالا بردن رتبه (Rank) سایت در موتورهای جستجو
آموزش ساختن ایمیل یاهو (یاهو میل/Yahoo! Mail)
آیا خرید یک فلش USB 3.0 مقرون به صرفه است؟
آموزش ساخت وبلاگ در رزبلاگ
دانسته هاي يک مهندس رايانه
قرار دادن ویدیو به عنوان تصویر حساب کاربری در ویندوز 8
مخفی‏سازی اطلاعات در ویندوز XP به شیوه‏ای متفاوت
آموزش گوگل پلاس
یک فوتوشاپیست حرفه ای شوید !!
بروز باشیـــــــــــــــد !
کرک ویندوز 8
آموزش ساخت ویندوز Live یا زنده!
آموزش نصب ویندوز XP از طریق Flash USB حافظه فلش
اتصال دو PC با درگاه USB !!
علل نمايش Error صفحه آبی !!!
vpn چیست ؟
ترفندهای گوگل!!
دانلود کتاب آموزش جامع سی شارپ #C
آموزش زبان Html
آموزش زبان Php
Cheat Engine
سیستم عامل مکینتاش
فیس بوک چیست؟ (Facebook)
برچسب ها : اف تی پی- چیست- چگونگی کار اف تی پی- ftp ?- ftp چیست- طرزکار با ftp-
نویسنده
نویسنده : علیرضا یوسفی
تاریخ : جمعه 13 / 11 / 1391
زمان : 23:53
ارسال نظر برای این مطلب

نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتیرفرش کد امنیتی
:: درگاه جدید اینتل با سرعت 1.6 ترابیت بر ثانیه ( تاریخ : پنجشنبه 28 شهریور 1392)
:: گوگل، تقریبا تمامی گذرواژه‌های مربوط به شبکه‌های وای-فای در سراسر جهان را در اختیار دارد ( تاریخ : پنجشنبه 28 شهریور 1392)
:: آیا فیس بوک رفع فیلتر خواهد شد؟ ( تاریخ : یکشنبه 03 شهریور 1392)
:: نصب ویندوز 8 در کنار ویندوز 7 ( تاریخ : یکشنبه 20 مرداد 1392)
:: افزودن منو استارت به ویندوز 8 ( تاریخ : یکشنبه 20 مرداد 1392)
:: دسترسی از راه دور به رایانه با گوگل کروم ( تاریخ : جمعه 18 مرداد 1392)
:: فیلتر شکن آندروید ! ( تاریخ : شنبه 05 مرداد 1392)
:: آموزش جی کوئری (JQuery) ( تاریخ : سه شنبه 21 خرداد 1392)
:: آموزش کامل آی جکس ! (Ajax) ( به عبارت دیگه آژاکس) ( تاریخ : سه شنبه 21 خرداد 1392)
:: ساخت برنامه برای آندروید ! ( تاریخ : چهارشنبه 15 خرداد 1392)
:: چگونگی ساخت گدجت ! ( تاریخ : چهارشنبه 15 خرداد 1392)
:: تبدیل گوشی به وبکم !! ( تاریخ : جمعه 03 خرداد 1392)
:: صفحه قفل ویندوز مشابه اندروید !! ( تاریخ : پنجشنبه 02 خرداد 1392)
:: ساخت منوی استارت برای وبلاگ یا وبسایت !! ( تاریخ : دوشنبه 30 اردیبهشت 1392)
:: باریکترین هارد دیسک جهان با ۵ میلی متر ضخامت ! ( تاریخ : دوشنبه 30 اردیبهشت 1392)
:: ویندوز 8 (فروشگاه) و 20000 برنامه !! ( تاریخ : دوشنبه 30 اردیبهشت 1392)
:: ترمیم عکس در فتوشاپ ! ( تاریخ : شنبه 28 اردیبهشت 1392)
:: کاملترین مجموعه سورس های ویژوال بیسیک به صورت رایگان !!!! ( تاریخ : شنبه 28 اردیبهشت 1392)
:: ساخت کتاب الکترونیک برای جاوا و آندروید ( تاریخ : شنبه 21 اردیبهشت 1392)
:: مجموعه 42 سورس ویژوال بیسیک 6 (VB6) ( تاریخ : پنجشنبه 19 اردیبهشت 1392)
:: آموزش نصب سیستم عامل روی یک کیس مجازی (Virtual Machine) ( تاریخ : شنبه 14 اردیبهشت 1392)
:: API چیست ؟ ! ( تاریخ : پنجشنبه 12 اردیبهشت 1392)
:: اجرای برنامه های آندروید در رایانه ( تاریخ : پنجشنبه 12 اردیبهشت 1392)
:: افزونه anonymoX ( تاریخ : پنجشنبه 05 اردیبهشت 1392)
:: زیبا سازی محیط ویژوال بیسیک ! ( تاریخ : پنجشنبه 05 اردیبهشت 1392)
:: تست آنلاین کد های HTML ( تاریخ : جمعه 23 فروردین 1392)
:: آیا عینک گوگل پایانی است بر نبرد گوشی‌های هوشمند؟ ( تاریخ : سه شنبه 20 فروردین 1392)
:: آموزش ساخت وبلاگ !! ( تاریخ : چهارشنبه 14 فروردین 1392)
:: تبدیل لپ تاپ به مودم وایرلس (وای فای)!! ( تاریخ : شنبه 10 فروردین 1392)
:: استراتژي تهاجمي مايكروسافت در جبهه اپن‌ سورس‌ !!! ( تاریخ : پنجشنبه 17 اسفند 1391)