ایجاد نشست بین سرویس دهنده و مشتری FTP با دو روش امکان پذیر است:
روش معمولی برقراری نشست:
برای برقراری یک نشست FTP به روش معمولی مراحل زیر انجام می شود:
الف) در برنامه ی سمت مشتری ابتدا دو سوکت نوع TCP با شماره پورت تصادفی بالای ۱۰۲۴ ایجاد می شود.
ب) در مرحله ی دوم برنامه ی سمت مشتری سعی می کند با استفاده از دستور ()connect اتصال یکی از سوکت های ایجاد شده را با پورت شماره ۲۱ از سرویس دهنده برقرار نماید. اگر این اتصال برقرار شود در حقیقت کانال فرمان باز شده و پروسه PIآماده تفسیر فرامین صادره از سمت مشتری است.
ج) برنامه ی سمت مشتری با فرمان “PORT x” به برنامه ی سمت سرویس دهنده شماره ی پورت سوکت دوم را اعلام می نماید و منتظر می ماند. (در حقیقت برنامه مشتری روی سوکت دوم عمل ()listen انجام می دهد.)
د) در ادامه برنامه ی سرویس دهنده سعی می کند یک اتصال TCP با شماره پورت اعلام شده از مشتری برقرار نماید.یکی از نتایج عجیب در این پروتکل آن است که سرویس دهنده FTP موظف است اقدام به برقراری یک اتصال TCP از طریق دستور ()connect با برنامه مشتری نماید در صورتی که معمولاً سرویس دهنده ها پذیرنده ی اتصال هستند نه شروع کننده!. البته باید توجه کرد که به هرحال اتصال اول را مشتری ایجاد کرده است.
ه) برنامه سمت مشتری اتصال TCP شروع شده از سرویس دهنده را تصدیق کرده و یک نشست FTP آغاز می شود. ابتدا برنامه ی سمت مشتری دو سوکت مجزا باز کرده و شماره پورت های دلخواه و تصادفی (مثل ۵۱۵۰ و ۵۱۵۱) را به آن ها مقید می کند. سپس از طریق سوکت اول یک اتصال TCP با پورت ۲۱ از سرویس دهنده برقرار کرده و پس از برقراری اتصال، با ارسال فرمان “PORT 5151” شماره پورت سوکت دوم خود را اعلام می کند. برنامه ی سمت سرویس دهنده ضمن تصدیق پذیرش درخواست نشست، بلافاصله اقدام به برقراری یک اتصال TCP بین پورا ۲۰ خودش و پورت دوم (شماره ۵۱۵۱) از مشتری می نماید. با تصدیق این اتصال توسط مشتری نشست FTP آغاز می شود.
برای برقراری یک نشست FTP به روش غیر فعال تعاملات زیر لازم است:
الف) در برنامه سمت مشتری ابتدا دو سوکت نوع TCP با شماره پورت تصادفی بالای ۱۰۲۴ ایجاد می شود.
ب) برنامه ی سمت مشتری سعی می کند اتصال TCP یکی از سوکت های ایجاد شده را با پورت شماره ی ۲۱ از سرویس دهنده برقرار نماید. با برقراری این ارتباط کانال فرمان باز شده و پروسه ی PI آماده ی تفسیر فرامین صادره از سمت مشتری خواهد بود.
ج) برنامه ی سمت مشتری با فرمان PASV به برنامه ی سمت سرویس دهنده اعلام می کند که خواستار یک نشست از نوع غیر فعال است.
د) برنامه ی سمت سرویس دهنده یک سوکت با شماره پورت تصادفی بالای ۱۰۲۴ ایجاد کرده و شماره ی آن را به برنامه ی مشتری اعلام می نماید.
ه) برنامه ی سمت مشتری اتصال سوکت دوم خود را با شماره پورت اعلام شده برقرار کرده پس از تصدیق اتصال، نشست FTP آغاز می شود.[۴]
قابلیت هایی که پروتکل FTP عرضه میکند همانند Telnet می تواند برای سیستم سرویس دهنده بسیار خطرناک باشد زیرا به سادگی می توان فایل های یک کامپیوتر راه دور را آلوده یا نابود کرد. پس در این پروتکل کاربران باید قبل از تقاضای هر سرویسی شناسه و کلمه ی عبور خود را وارد کنند و سرویس دهنده پس از احراز هویت کاربر، سطح دسترسی و عملیات مجاز برای کاربر را تعیین می کند و یک نشست FTP آغاز می شود.
FTP یا File Transfer Protocol به پروتکلی اطلاق می شود که برای ارسال و دریافت فایل بین سرور و کلاینت بکار گرفته می شود. در مقابل پروتکل HTTP، پروتکل FTP از قدمت بیشتری برخوردار است و با در نظرگیری تکنولوژی های مورد استفاده در زمانهای قدیم، پروتکل FTP از سرعت پایینتری در مقایسه با پروتکل FTP برخوردار است.
امنیت بکار گرفته شده برای FTP بسیار ضعیف بوده بطوریکه امکان هک شدن داده ها از نظر تئوری برای این پروتکل وجود دارد (برخلاف پروتکل HTTP که از نظر تئوری، امکان هک شدن برای آن وجود ندارد).
ولی چه چیزی باعث محبوبیت FTP شده است؟ بسیار عجیب است که پس از گذشت سالیان سال، کاربران زیادی هنوز از این پروتکل برای ارسال و دریافت داده هایشان استفاده می نمایند. دلیل محبوبیت این پروتکل، شاید بتوان گفت در کاربر پسندی آن است. کاربران می توانند از طریق نرم افزارهای مخصوصی که برای این کار طراحی شده اند، از روی دسکتاپ کامپیوتر خود، فایل های مورد نیازشان را به سرور ارسال، یا دریافت دارند. درست مثل آنکه این عملیات دارد از طریق MyComputer انجام می شود.ولی در پروتکل HTTP اوضاع به این منوال نیست. کاربران بایستی از طریق سایت، ابتدا به سرور سایت متصل شوند و سپس مبادرت به دریافت و ارسال داده ها نمایند.
با توجه به محبوبیتی که FTP در بین استفاده کنندگان خود دارد، چنین بنظر می رسد که عنصر سادگی، بر عنصر سرعت غلبه دارد. کاربران زیادی حاضرند وقت خود را فدای سادگی در استفاده نمایند و این خود شاید نمود بارزی باشد از اهمییت کاربر پسندی و سادگی.