FTP

— ქსელური ოქმი, რომლის დანიშნულებაა ერთი კომპიუტერიდან მეორეში ფაილების გადაგზავნა კომპიუტერული ქსელის საშუალებით.

 მუშაობს ოქმზე დაყრდნობით, რაც მონაცემთა გადაცემის საიმედოობას უზრუნველყოფს მონაცემთა დამატებითი შემოწმების გარეშე. კლიენტი უკავშირდება სერვერს, რის შემდეგაც მას შეუძლია სერვერისთვის ფაილების გადაცემა, მიღება და ასევე სერვერზე განთავსებული ფაილების მართვა. -ის მიერ სერვერული მხარისთვის სპეციალურად გამოყოფილია 20-ე, 21-ე და 115-ე პორტები,

 სერვერი კლიენტებისგან შემომავალი კავშირების მისაღებად ნაგულისხმებად უსმენს 21-ე პორტს. ამ პორტზე დაკავშირების შემდეგ ზედა დონეზე ხდება კლიენტთან მონაცემთა ნაკადების შექმნა, რომლის საშუალებითაც ხდება ბრძანებების დამუშავება, ხოლო ფაილების გადაცემისთვის ხდება ცალკე მექანიზმის ამოქმედება და მონაცემთა გადაცემის ნაკადის შექმნა. მუშაობის განსხვავებულ მეთოდებს მონაცემთა გადაცემისთვის განსხვავებული გადაცემის მექანიზმების ამოქმედება სჭირდება.

აქტიურ რეჟიმში კლიენტი ხსნის დინამიკურ პორტს, უგზავნის სერვერს დინამიკური პორტის ნომერს რომელსაც ის უსმენს მართვის ნაკადის მისაღებად, რის შემდეგაც ამ პორტზე ხდება სესიის გამართვა და ბრძანებების გაგზავნა. მონაცემთა გაგზავნისთვის და მიღებისთვბის სერვერი ხსნის 20-ე პორტს და მისი საშუალებით აგზავნის ფაილებს.

აქტიური რეჟიმის დროს კლიენტი აგზავნის ბრძანებას და მისამართის და პორტის მითითებით ფორმატში „1,2,3,4,1,2“. ყოველი ველი არის ჰოსტის მისამართის 8 ბიტიანი ნაწილების ათობითში გამოსახული მნიშვნელობა, რომელსაც მოჰყვება მონაცემთა გადაცემისთვის არჩეული პორტი. მაგალითად, კლიენტი რომელსაც აქვს მისამართი 192.168.0.1, და ელოდება მონაცემებს 49154 პორტზე, გააგზავნის ბრძანებას „ 192,168,0,1,192,2“. პორტის ველები უნდა იყოს წარმოდგენილი როგორც 1×256 + 2 = პორტს, ანუ, ამ მაგალითში, 192×256 + 2 = 49154.

პასიურ რეჟიმში, სერვერი ხსნის დინამიკურ პორტს, უგზავნის კლიენტს სერვერის მისამართს და პორტს რომელსაც ის უსმენს (16-ბიტიანი მნიშვნელობა დაყოფილია ორ ნაწილად, ისევე როგორც ზევით მოყვანილ მაგალითში) მართვის ნაკადის მისაღებად და ელოდება კავშირს კლიენტისგან. ამ შემთხვევაში კლიენტი გაგზავნისას იყენებს დინამიკურ პორტს.

პასიური რეჟიმის დროს, კლიენტი აგზავნის ბრძანებას, რომელსაც სერვერი პასუხობს „227 (127,0,0,1,192,52)“-ის მსგავსად. მისამართი და პორტი გამოყვანილია იგივენაირად როგორც ბრძანების მაგალითში.

გაფართოებულ პასიურ რეჟიმში სერვერი მუშაობს ზუსტად ისევე როგორც პასიურ რეჟიმში იმ განსხვავებით, რომ ის აგზავნის მხოლოდ პორტის ნომერს რომელიც არ არის დაყოფილი ზედა და ქვედა ბაიტებად და კლიენტი ნაგულისხმევად უკავშირდება იგივე მისამართს რომელსაც თავიდანვე შეეხმიანა. გაფართოებული პასიური რეჟიმი დაემატა 2428 სტანდარტს 1998 წელს.

რადგან მონაცემების გადაცემა ცალკე არხით ხდება და ამ დროს მართვის ნაკადი დუმს — ხშირად ჩნდება ხოლმე პრობლემები ქსელურ ფარის გამო, რადგან მისთვის ძნელია სტანდარტული მეთოდით სესიის გათვლა და ხშირია არხის დაბლოკვის შემთხვევები დიდი ზომის ფაილების გადაცემისას რაც იგივე არხით ახალი ფაილების გადაცემას უშლის ხელს, მიუხედავად იმისა, რომ ამ დიდი ფაილების გადაცემა წარმატებით ხდება.

 ოქმს აქვს ფაილების მიღების შეწყვეტის შემდეგ გადაცემის განახლების საშუალება ბრძანების საშუალებით. კლიენტი აგზავნის ბრძანებასთან ერთად მიღებული ბაიტების რაოდენობას და აგრძელებს ფაილის მიღებას. აგრეთვე, ზოგიერთ ტექსტურ რეჟიმში მომუშავე კლიენტებს აქვთ შიდა ბრძანება „"“, რომელიც „“ ბრძანებით ჩამოტვირთვის შემთხვევაში კავშირის ხარვეზების და წყვეტების შემთხვევაში ავტომატურად აგრძელებს ფაილის მიღების მცდელობას.

ატვირთვების გაგრძელება ბევრად რთულია — მიუხედავად იმისა, რომ ოქმს გააჩნია ბრძანება რომლის დანიშნულებაც სერვერზე მოთავსებული ფაილისთვის მონაცემების მიმატებაა, იმისთვის რომ კლიენტმა იცოდეს თუ რა ადგილას გაწყდა კავშირი — ის წინასწარ ამოწმებს ფაილის ზომას სხვა მეთოდით, მაგალითად მთელი დირექტორიის ფაილების მახასიათებლების მიხედვით, თუნდაც ბრძანების გამოყენებით.

 რეჟიმში გადაცემის გაგრძელება შეიძლება პრობლემატიური აღმოჩნდეს თუ კლიენტი და სერვერი განსხვავებულ სიმბოლოებს იყენებენ სტრიქონის დამთავრებისას .