پروتکل انتقال فایل که آن را ftp می نامیم ابزاریست مطمئن برای انتقال فایل بین کامپیوتر ها یی که به شبکه اینترنت متصل هستند. خدماتی که این پروتکل ارائه می کند عبارتند از :
• تهیه لیستی از فایلهای موجود ازسیستیم فایل کامپوتر راه دور
• حذف، تغییر نام و جابجا کردن فایلهای کامپیوتر راه دور
• جستجو در شاخه های ( دایر کتوریهای) کامپیوتر راه دور
• ایجاد یا حذف شاخه روی کامپیوتر راه دور
• انتقال فایل ازکامپیوتر میزبان
• انتقال فایل و ذخیره ی آن از کامپیوتر میزبان به کامپیوتر راه دور
قابلیت هایی که پروتکل FTP عرضه می کند می تواند برای سیستم سرویس دهنده بسیار خطرناک باشد چرا که بسادگی می توان فایل های یک کامپیوتر راه دور را آلوده یا نابود کرد. فلذا در این پروتکل کاربران باید قبل ازتقاضای هر سرویسی کلمه ی عبور خود را وارد نمایند و سرویس دهنده پس از شناسایی کاربر سطح دسترسی وعملیات مجاز برای کاربر را تعیین می کند و یک نشست FTP آغاز می شود. FTP این قابلیت را ندارد که بتوان همانند پروتکل Telnet برنامه ای را برروی ماشین راه دور اجرا کرد بلکه فقط روشی سریع ساده و مطمئن برای خدمات فایل به کاربران راه دور محسوب می شود. حال باید ارتباط بین سرویس دهنده و سرویس گیرنده FTP را تشریح نماییم:
در پروتکل FTP برای شروع یک نشست بین برنامه سرو.یس دهنده و برنامه ی سرویس گیرنده باید دو ارتباط همزمان ازنوع TCP بر قرار شود. به هر یک از این ارتباطات در ادبیات پروتکل FTP ،کانال گفته می شود. این دو کانال عبارتند از :
• کانال داده : یک ارتباط TCP با پورت شمارهی 20 از سرویس دهنده که روی آن داده ها ( مثلا بلوکهای یک فایل ) مبادله می شوند .
• کانال فرمان: یک ارتباط TCP با پورت شمارهی 21 که روی آن فرامین لازم برای مدیریت فایلها رد و بدل می شود.
دلیل لزوم برقراری دو کانال مجزا بین سروس دهنده و سرویس گپیرنده ان است که بتوان بدون قطع جریان داده ها فرامین را بطور همزمان مبادله کرد. بعنوان مثال در حین اتقاال یک فایل می توان روی کانال فرمان دستور لغو عمل انتقال یا تغییر مود انتقال را صادر کرد. ذکر این نکته ضروری است که در پروکتل FTP ازسیستم spooler یا صف برای انتقال فایلها استفاده نمی کند بلکه عملیات انتقال به صورت بلادر نگ انجام می گیرد . ( سیستمهایی مثل مدیریت چاپ در پس زمینه عمل می کند یعنی وقتی پروسه ای تقاضای چاپ یک سند را می دهد سیستم عامل آن را به صف میکند تادر موقع مناسب آنرا چاپ نماید فلذا مشخص نیست از زمان صدور فرمان چاپ چه مدت طول بکشد تا سند چاپ شود چرا که اولویت با پروسه هایی است که در پیش زمینه اجرا می شوند .)
به گونه ای که اشاره شد سرویس دهنده FTP بایستی دو پروسه همزمان ایجاد نماید که یکی وظیفه مدیریت ارتباط روی کانال فرمان را به عهده داشته و اصطلاحاً مفسر پروتکل یا پروسه PI نامیده می شود . وظیفه پروسه دیگر مدیریت انتقال داده است وبه DTP یا پروسه انتقال داده معروف است . پروسه PI همیشه به پورت شماره 21 گوش میدهد و پروسه DPT به پورت شماه 20 مقید شده است.
روشهای برقراری یک نشست FTP
برقراری ارتباط بین سرویس دهنده وسرویس گیرنده FTP با دو روش امکان پذیر است :
• روش معمولی یا NORMAL MODE
• روش غیر فعال یا PASSIVE MODE
در روش معمولی برای برقراری یک نشست FTP مراحل زیر انجام میشود :
1) در برنامه سمت سرویس گیرنده ( برنامه سمت مشتری ) ابتدا دو سوکت نوع TCP با شماره پورت تصادفی بالای 1024 ایجاد می شود .
2) در مرحله دوم برنامه سمت مشتری سعی می کند با استفاده ازدستور () CONNECT ارتباط یکی از سوکتهای ایجاد شده را با پورت شماره 21 ازسرویس دهنده برقرار نماید. اگر این ارتباط برقرار شود در حقیقت کانال فرمان باز شده و پروسه PI آماده تفسیر فرامین صادره ازسمت مشتری می باشد .
3) برنامه سمت مشتری با فرمان PORT به برنامه سمت سرویس دهنده شماره پورت سوکت دوم را اعلام می ماند . ( در حقیقت برنامه مشتری روی سوکت دوم عمل () Iisten انجام می دهد )
4) در ادامه برنامه سرویس دهنده سعی می کند یک ارتباط با tcp با شماره پورت اعلام شده برقرار نماید . یکی ازنکات عجیب در این پروتکل آنست که سرویس دهنده FTP موظف است اقدام به برقراری یک ارتباط TCP ازطریق دستور ()CONNECT با برنامه مشتری نماید در صورتی که معمولا سرویس دهنده پذیرنده ارتباط است نه شروع کننده ارتباط.
5) برنامه سمت مشتری ارتباط TCP شروع شده ازسرویس دهنده را تصدیق کرده و یک نشست FTP آغاز می شود.
مثالی از یک نشست FTP به روش معمولی
حال باید روش غیر فعال را در برقراری یک نشست FTP بر رسی نمایم :
1) در برنامه ی سمت مشتری ابتدا دو سوکت نوع TCP با شماره پورت های تصادفی بالای 1024 ایجاد می شود.
2) برنامه سمت مشتری سعی می کند ارتباط TCP یکی ازسوکتهای ایجاد شده را با پورت شماره 21 ازسرویس دهنده برقرار نماید. با برقراری این ارتباط کانال فرمان باز شده و پروسه PI آماده تفسیر فرامین صادره ازسمت مشتری خواهد شد.
3) برنامه سمت مشتری با فرمان PASV به برنامه سمت سرویس دهنده اعلام می کند که خواستار یک نشست از نوع غیرفعاال است.
4) برنامه سمت سرویس دهنده یک سوکت با شماره پورت تصادفی ( بالای 1024 ) ایجاد کرده و شماره آنرا به برنامه مشتری اعلام می نماید .
5) برنامه سمت مشتری ارتباط سوکت دوم خود را با شماره پورت اعلام شده برقرار کرده پس ازتصدیق ارتباط نشست FTP آغاز می شود.
مثالی از یک نشست FTP به روش غیر فعال
در دنیای یونیکس برنامه سمت سرویس دهنده بنام FTPD و برنامه سمت مشتری بنام FTP مشهور است. دقت کنید که برخی ازسرویس دهنده ازروش غیر فعال حمایت نمی کنند و فقط روش معمولی را می پذیرند.
در برنامه FTP دو نوع فرمان تعریف شده است که گاهاً با هم اشتباه می شوند. نوع اول فرامینی هستند که روی کانال فرمان یعنی بین سرویس دهنده و سرویس گیرنده رد و بدل می شود. این فرامین که در ادامه معرفی می شوند فرامین داخلی هستند که بین کاربر و برنامه FTP تعریف شده و کاربر برای بکار گیری برنامه FTP باید آنها را بداند. ( همانند فرامین داخلی DOS )
فرامین داخلی FTP
اگر به مراحل برقراری نشست FTP دقت کنید، متوجه خواهید شد که در هر دو روش ابتدا کانال فرمان برقرار می شد و تا پایان نشست این کانال برقرار خواهد شد در این بخش بررسی می کنیم که روی این کانال چه فرامینی مبادله می شود. فرامین داخلی FTP تماماً حالت متنی داشته و حداکثر چهار حرفی هستند. برخی ازفرامین دارای پارامتر هستند که این پارامتر ها نیز به صورت متنی پس از یک فاصله خالی در ادامه فرمان قرار می گیرند. خاتمه فرمان باکدهای r/ و n/ مشخص شده است. مثلا:
PASV/ r/ n
اولین مزیت بهره گیری ازفرامین متنی آن است که کابر می تواند سلسله فرامین را دیده و به آسانی بفهمد و این مزیت به یک کاربر حرفه ای تا حد زیادی به درک روند عملیات و اشکال زدایی کمک خواهد کرد. دومین مزیت آن است که یک متخصص می تواند براحتی ( بدون نیاز به برنامه ftp و با ابزاری مثل telnet یا برنامه نویسی سوکت ) مستقیما با سرویس دهنده ارتباط برقرار کند. مجموعه فرامین FTP با توضیح مختصر در جدول زیر آمده است. به گونه ای که مشاهده می شود این فرامین برای سه دسته عملیات در نظر گرفته شده است:
• فرایند برقراری و ختم یک نشست ftp ( مثل فرمان PASV، PORT ،QUIT )
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 12 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله مریم حیدرزاه