اشكال عمده ارتباط مستقيم بين چند برنامه  لزوم ايجاد هماهنگي  بين برنامه هاي چندين  كامپيوتر است كه چنين چيزي بسادگي  انجام پذير نيست.اولا بايد مطمئن بود كه همه كامپيوترها در حال انجام آن هستند، ثانيا برنامه ها بايد به طور همزمان   اماده باشند،ثالثا به منظور بالا بردن كارايي بايد مانع از اشغال قابل توجه cpu ، حافظته  يا پههناي باند شبكه توسط ديگر برنامه هاي روي  كامپيوتر شد.

اشكال ديگر آنست كه اگر يكي از كامپيوترها دچار اشكال شود ،كل محاسبات بايد از سر گرفته  شود زيرا: هيچ نتيجه مياني ثبت نميشود.

انتقال  دسته اي وتعاملي  فايل ها

  يك سيستم انقال فايل ميتواند نمونه اي  از يك فايل رااز كامپيوتري به  كامپيوتر ديگر به روش تعاملي ويا دسته اي انتقال دهد.اين سرويس را ميتوان به گونه اي ساختكه براي هر يك از دو روش زير بكار رود.}

روش انتقال دسته اي  وقتي مناسب است كه احتمال دسترسي به كامپيوترميزبان كم وو يا اينكه زمان لازم  براي انتقال زياد باشد.

در عملكرد تعاملي  تعاملي يك  شخص كاربر سرويس را صدا زده ،درخواستي ارائه مي  دهد ومنتظر پاسخ آن مي ماند.


پروتكل انتقال فايل يا      file transfer protocol

پركاربردترين سرويس انتقال فايل در اينترنت از پروتكل انتقال فايل ياftp   استفاده ميكند.

ftp   يك پروتكل همه منظوره است كه بسياري از مفاهيم اشاره شده در بخش قبل را در بر ميگيرد.

Ftpامكان انتقال هر فايل دلخواه را داده و مكانيزمي نيز براي مالكيت    فايل ها و محدوديتهاي دسترسي دارد،مهم تر از همه آنكه  جزئيات مربوط به يك سيستم كامپيوتري را از ديد كاربر  مخفي نگه  ميدارد وعدم سازگاري بين كامپيوترهارا كاملا پوشش ميدهد.

Ftpيكي از قديمي ترين پروتكل هاي كاربردي است كه هنوز در اينترنت استفاده مي شود  .

Ftpابتدائا به عنوان   كامپيوتر بخشي ازپروتكل هاي   Arpanetتعريف شده بودند واز tcpونيز    ipقديمي  تر است.وقتي tcp/ipبوجود آمد ،نسخه جديدي از ftpطراحي شد كه   با پروتكل هاي جديد اينترنت كار مي كرد.

Ftpاز جمله برنامه هاي كار بردي است   كه بيش ترين استفاده را داشته است.    


 

مدل   كلي ftp     وانتقال فايل ها

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

وقتي يك كاربر ftpرا به صورت تعاملي صدا مي كند،وي در واقع با يك واسط مبتني بر فرمان ارتباط برقرار مي كند.ftpتوسط يك علامت آمادگي اجراي فرامين را اعلام كرده و كاربربا وارد كردن يك فرمان پاسخ ميدهد.ftp فرمان را اجرا  كرده،مجددا اعلام آمادگي مي كند.

Ftpفراميني دارد  كه به كاربر اجازه مي دهد كامپيوتر ميزبان را تعيين كند، اجازه ي  دسترسي يافته ،فايل هاي  قابل دسترسي را شناسايي كرده و تقاضاي انتقال  يك يا چند را بنمايد.بعضي از فرامين ftpزمان اجراي ناچيزي دارند،در حالي  كه اجراي برخي ديگر ممكن  است زمان قابل توجهي نياز داشته باش

دسترسي  به فايل به صورت گم نام

هر چند استانداد مربوط به پروتكل ftpچگونگي  ارتباط نرم افزارروي  يك كامپيوتر رابا نرم افزار ftpروي ماشين ديگر دقيقا مشخص مي كند،ولي اين استانداردواسط كاربر را تعريف نكرده است.در نتيجه در پياده سازي ftpواسط هاي مختلفي را براي كاربر ميتوان يافت.

جهت حفظ شباهت  بين محصولات مختلف ،فروشندگان سعي كرده ان بر مبناي واسطي كه براي نخستين بار در نسخه ي اول نرم افزار ftpنوشته شده براي سيستم bsd unixارائه شد،حركت كنند.

واسط bsdبراي  ftpبيش از 50فرمان مختلف دارد.


 

انتقال  فايل در دو جهت

نكته  جالب در مورد ftpامكان انتقال فايل در دو جهت مي باشد.پس از آنكه يك كاربر اتصالي را با كامپيوتر ميزبان برقرار نمود،ميتواند فايلي را از كامپيوتر ميزبان دريافت كرده ويا نمونه اي از يك فايل محلي را بر روي كامپيوتر ميز بان انتقال دهد.البته چنين انتقال هايي منوط به داشتن مجوز است، يعني كامپيوتر ميزبان ميتواند به گونه اي  پيكربندي شده باشد كه از ايجاد فايل جديد  تا تغيير فايل هاي  موجود ممانعت    به عمل آورد  و كامپيوترهاي محلي نيز محدوديت هاي دسترسي قرار دادي را  براي هر كاربراجباري نمايد.

كاربراز فرمان getيا   mgetبراي   د ريافت نمونه  اي از يك فايل روي كامپيوترميزبان استفاده مي كند.فرمان getكه بيشتر نيز استفاده ميشود،براي انتقال   يك فايل در هر لحظه است وكاربر بايد نام فايل مورد نظر را وارد كند.

در اين دستور كاربر مي تواند نام دومي را نيز وارد كند،كه براي نام محلي نمونه ي فايل دريافت شده منظور خواهد شد.اگر كاربر نام فايل روي كامپيوتر ميزبان را براي اين فرمان مشخص نكند ،ftpعلامتي را  براي درخواست يك فايل نشان خواهدداد.موقعي كه ftpنام فايل مورد نظر را بدست آورد،اقدام به  انتقال فايل كرده  وپس از اتمام عمليات  به اطلاع كاربر خواهد رسانيد.دستور mgetبه كاربر اجازه مي دهد تا در يك درخواست،تقاضاي دريافت چندين  فايل را بنمايد.كاربرليستي از فايل ها را مشخص  كرده  وftpهر يك را به ترتيب به  كامپيوتر كاربر منتقل مي كنند.

جهت انتقال نمونه اي از يك فايل از يك كامپيوترمحلي به كامپيوتر ميزبان از دستورput,sendيا     mputاستفاده ميشود. كه دستور   putيا   sendمشابه بوده و براي انتقال فايل استفاده مي شود.

ديگري را نيز براي فايل منتقل شده  روي كامپيوترميزبان   انتخاب نمايد.

اگر هيچ نام فايلي  در اين دستور مشخص نشده باشد،ftpاز كاربر درخواست نام خواهد نمود.دستور mputمشابه mgetاست يعني  به  كاربر اجازه مي دهد تا يك دستور ،تقاضاي انتقال چندين فايل را بنمايد.كاربر ليستي از فايل ها را  مشخص  كرده،و ftpهر يك را انتقال  مي دهد.

 انواع  فايل ها ومدهاي  انتقال

اگرچه سيستم ها ي كامپيوتري ممكن است نحوه نمايش متفاوتي براي نمايش فايل ها داشته باشند ،ولي ftpسعي بر مديريت همهء انواع فايل ها  ندارد.

در  ftpدو نوع اصلي براي انتقال تعريف شده   كه اغلب فايل ها را در بر ميگيرد :

                     روش متني  و روش باينري

كاربر بايد يك نوع انتقال را انتخاب نمايد كه اين وضعيت تا پايان عمل انتقال فايل پابرجا خواهدبود.

*انتقال از نوع متني براي فايل ها ي متني استفاده مي شود.يك فايل متني شامل رشته اي از كاراكتر هاست ، كه به صورت فايل هاي  مجزا قرار گرفته اند.اغلب سيستم هاي كامپيوتري از مجموعه كاراكترهاي اسكي  يا     ebcdicبراي نمايش كاراكترهاي  موجوددر يك فايل استفاده ميكنند.كاربري كه مجموعه كاراكترهاي مورد استفاده روي يك  كامپيوتر ميزبان را ميشناسد،مي تو اند براي  انتقال متني از فرمان اسكي استفاده كند وبدين وسيله از ftpمي خواهد  تا موقع انتقال يك فايل تر جمه ء بين مجموعه كاراكترهاي كامپيوتر ميزبان و محلي را انجام دهد .

*انتقال از  نوع  باينري بايد براي هر نوع فايل غير متني استفاده شود.مثلا يك قطعه صوتي يك تصوير يا يك ماتريس اعداد اعشاري بايد به روش باينري منتقل شود.براي  اينكه ftpدر حالت باينري قرار گيرد بايد كاربر از دستور binaryاستفاده كند.

در حالت باينري ftp محتواي فايل را به هيچ وجه مورد بررسي قرار نداده ونحوهء نمايش آن را تغيير  نمي دهد، بلكه منحصرا يك نمونه از فايل را توليد ميكند.البته ممكن است انتقال  باينري نتيجه ء مطلوب را بدست ندهد.مثلا فايلي را در نظر بگيريد كه از اعداد مميز شناور 32بيتي استفاده مي كند.در حالت باينري ،ftpنمونه اي از بيت هاي فايل را از يك كامپيوتر بدون هيچ تغييري منتقل مي كند.حال اگر نمايش اعداد مميز شناور در دو كامپيوتر متفاوت باشد، كامپيوترها برداشت هاي متفاوتي از اعداد خواهند داشت.

{در ftpدو نوع انتقال وجود دارد :يكي براي انتقال فايل هاي متني وديگري براي كليه فايل هاي غير متني.اگرچه در روش باينري دقيقا نمونه اي از تمام بيت ها توليد ميشود،نتيجه بدست آمده ممكن است بي معني باشد،چرا كه ftpنحوه نمايش اعداد را عوض  نمي كند.}


پروتكل  سر راست انتقال فايل

پروتكل ها ي اينترنت سرويس انتقال فايل ديگري را شامل ميشوند كه «پروتكل سر راست انتقال فايل »يا tftpناميده ميشود.tftpاز چند نظر با ftpتفاوت دارد .

يكي  آنكه ارتباط  بين مشتري وكارگزار در tftp    به جاي  tcpاز     udpاستفاده مي كند.دوم آنكه      tftpفقط انتقال فايل را پشتيباني مي كند،يعني تعامل در آن وجود نداشته ومجموعه ء گسترده اي از دستورات  را     ندارد.از همه مهم تر آنكه tftpاجازه ليست گرفتن از محتواي يك فهرست را به كاربر نميدهد و كاربر نميتواند از كارگزار اسامي فايل هاي موجود را پرس وجو كند  وسوم آنكه  tftpكنترل اجازهء دسترسي را ندارد.يك  مشتري نام ورود    و  رمز عبور را  نميفرستد بلكه  انتقال يك فايل به صرف داشتن مجوز دسترسي همگاني براي  آن فايل قابل انجام است.

اگرچه tftpتوانايي كمتري نسبت به ftpدارد ،ليكن دو  مزيت ويژه دارد:

اول آنكه tftpدر جاهايي كه tcpدر دسترس نبوده وudpوجود دارد قابل استفاده است.دوم آنكه كد برنامه مربوط به  tftp حافظه كمتري نسبت به كد ftpنياز دارد.هرچند اين دو مزيت شايد براي  يك كامپيوتر  همه منظوره چندان مهم نباشد ولي براي كامپيوترهاي  كوچك ويا براي يك دستگاه سخت افزار تك منظوره خاص ميتواند با اهميت باشد.

tftpبه  ويژه براي را ه  اندازي اوليه يك دستگاه سخت افزاري كه ديسكي ندارد تا نرم افزار سيستم در آن ذخيره شود مناسب است. تنها چيزي  كه دستگاه نياز دارد يك اتصال  شبكه  و مقدار ناچيزي حافظه ثابت ROMاست كه برنامه ء tftp،udpوipدر آن بصورت دائمي ذخيره شده اند.وقتي چنين دستگاهي روشن مي شود برنامه موجود درROMرا اجرا مي كند كه  اين   برنامه يك درخواست TFTPرا روي شبكه به صورت همگاني ارسال مي كند.

يك كارگزارTftpروي  شبكه وجود دارد  كه براي  پاسخگويي  به  اين  درخواست  برنامه ريزي  شده و فايلي  را براي  درخواست  كننده  ارسال  مي كند   كه شامل برنامه ءاجرايي  آن دستگاه است .دستگاه اين فايل را دريافت كرده ،در حافظه  بار مي كند و شروع به اجراي آن مي نمايد.

اين روش راه اندازي دستگاهها از طريق شبكه باعث  انعطاف پذيري بيشتر و كاهش هزينه مي شود.


خلاصه مطالب

*يك سرويس انتقال فايل امكان ارسال يك نسخه كامل ازيك فايل را از كامپيوتري به كامپيوتر ديگر فراهم ميكند.پروتكل هاي tcp/ipدو نوع سرويس انتقال فايل را شامل  ميشوند:

Ftpوtftp.

ftp* وظايف و قابليت هاي بيشتري دارد ،زيرا يك واسطه تعاملي بر مبناي  فرامين را پشتيباني مي كند كه  به كاربر اجازه مي دهد تا عملياتي نظير : ليست كردن محتواي يك فهرست ،تعيين نوع انتقال براي  فايل هاي متني وياباينري ،كنترل تبديل نام فايل وترجمه ء مجموعه كاراكترها براي فايل هاي  متني را انجام ميدهد.

Tftpفقط يك سرويس پايهء انتقال فايل را ارائه مي دهديعني صرفا ميتواند براي  ارسال يك نسخه از يك فايل د ر يكي جهات استفاده مي شود.

*هرچندtftp,ftpهر دو از روش گزارش –مشتري استفاده مي كنند،ليكن پروتكل ارتباطي زيرين  براي آن ها متفاوت است    :مشتري وكارگزار tftpازudpبراي ارتباط استفاده مي كنند در حالي كه مشتري وكارگزار ftpاز tcpبهره مي جويند.

استفاده از udpباعث مي شودكه tftpبه ويژه به عنوان پروتكل راه اندازي سخت افزار جالب توجه باشد.

*يك مشتري ftpاتصالي  كنترلي تا يك كارگزار باز ميكند كه از طريق آن درخواست ها را فرستاده وپاسخ را دريافت مي كند. اين اتصال كنترلي در تمام طول مدت استفاده از ftpپابرجا باقي مي ماند.

Ftpعمل ارسال داده ها  را از طريق اتصال كنترلي انجام نميدهد،بلكه وقتي تقاضاي انتقال يك فايل دريافت گردد،كارگزار يك  اتصال جدا گانه داده براي آن تشكيل  مي دهد.بين يك اتصال داده واتصال  كنترل هيچ گاه تداخل واشتباهي رخ   نمي دهد زيرا ftpاز شماره درگاه هاي متفاوتي براي آن ها استفاده مي كند.

مكانيزم دسترسي  فايل ها  كه در tcp/Ipاستفاده ميشود، NFsناميده ميشود.