პროტოკოლი სახელწოდებით TCP Flow Control შეიქმნა მომხმარებლისა და სერვერს შორის მონაცემთა ნაკადის გასაკონტროლებლად.
ის დარწმუნდება, რომ გარკვეული რაოდენობის გამტარობა ხელმისაწვდომია მონაცემების გაგზავნისა და მისაღებად, რათა დამუშავება გაგრძელდეს რაიმე სერიოზული პრობლემის გარეშე.
ამის მისაღწევად TCP პროტოკოლი იყენებს მეთოდს, რომელიც ცნობილია როგორც მოცურების ფანჯრის პროტოკოლი.
ჩვენ ღრმად შევხედავთ TCP ნაკადის კონტროლს ამ ნაწილში, მათ შორის, როგორ ფუნქციონირებს და, რაც მთავარია, მოცურების ფანჯრის პროტოკოლს.
რა არის TCP ნაკადის კონტროლი?
TCP პროტოკოლი უზრუნველყოფს საიმედო საკომუნიკაციო არხის შექმნას არაპროგნოზირებად ქსელში.
მონაცემთა პაკეტები შეიძლება დაიკარგოს, ჩამოვიდეს თანმიმდევრობით, იქონიოს სარეზერვო ასლი ქსელში, ან გადაიტვირთოს მიმღებ კვანძზე, როდესაც ისინი იგზავნება ერთი კვანძიდან მეორეში.
თუმცა, აპლიკაციის შემუშავებისას, ჩვენ ჩვეულებრივ არ გვიწევს ამ სირთულესთან გამკლავება; ამის ნაცვლად, ჩვენ უბრალოდ ვუგზავნით გარკვეულ მონაცემებს სოკეტში და TCP უზრუნველყოფს პაკეტების წარმატებით მიწოდებას მიმღების კვანძში.
ნაკადის კონტროლი არის მნიშვნელოვანი დამატებითი ფუნქცია, რომელსაც გთავაზობთ TCP.
ნაკადის კონტროლის გამოყენებით, TCP არსებითად დარწმუნდება, რომ გამგზავნი არ უგზავნის მიმღებს ძალიან ბევრ პაკეტს ერთდროულად.
როგორ მუშაობს გადაცემის კონტროლის პროტოკოლი - ნაკადის კონტროლი?
ეს ჩვეულებრივ ხდება მაშინ, როდესაც ჩვენ გვჭირდება მონაცემთა კომუნიკაცია ქსელში.
გამგზავნი აპლიკაცია აგზავნის მონაცემებს სოკეტში, სატრანსპორტო ფენა (ამ შემთხვევაში, TCP) აფუჭებს ამ მონაცემებს სეგმენტში, ხოლო ქსელის ფენა (მაგალითად, IP) გადასცემს ამ პაკეტს მიმღებ კვანძზე გარკვეული მარშრუტით.
ქსელის შრე ამ მონაცემებს გადასცემს TCP-ს საუბრის მიმღებ ბოლოზე და TCP გახდის მას მიმღები აპლიკაციისთვის, როგორც მოცემული მონაცემების იდენტური დუბლიკატი.
TCP არ მიაწვდის პაკეტებს მწყობრიდან გამოსული და დაელოდება ხელახლა გადაცემას, თუ აღმოაჩენს ბაიტის ნაკადის ხარვეზს.
ეს არის ის, რასაც ჩვენ დავინახავთ, თუ გავადიდებთ.
როგორც გადაცემის, ასევე მიღების ბუფერები TCP-ზე გამოიყენება მონაცემების შესანახად, რომლებიც უნდა გაიგზავნოს და მიიღოთ, შესაბამისად.
მიღებული ბუფერიდან მიღებული მონაცემები წაიკითხება განაცხადის მიერ, როდესაც ის მომზადდება.
იმის უზრუნველყოფა, რომ არ გავაგზავნოთ დამატებითი პაკეტები, სანამ მიმღების მიღების ბუფერი უკვე სავსეა, ნაკადის კონტროლის მთავარი მიზანია, რადგან ამის გაკეთება აიძულებს მიმღებს ჩამოაგდოს დამატებითი პაკეტები, რომლებსაც ის ვერ უმკლავდება.
მიმღები გამოაცხადებს თავის მიღების ფანჯარას, ან მისაწვდომ ადგილს მიმღების ბუფერში, რათა შეზღუდოს იმ მონაცემების რაოდენობა, რომლის გადაცემაც TCP-ს შეუძლია.
მოცურების ფანჯრის პროტოკოლი
მოცურების ფანჯრის პროტოკოლი TCP-ში არის ნაკადის კონტროლის ერთ-ერთი ყველაზე ფართოდ გამოყენებული მეთოდი. ეს არის ცვლადი ზომის, ბაიტზე ორიენტირებული პროცედურა.
ამ მიდგომით, მიმღები გამომგზავნს უგზავნის მიმღების ფანჯარას, როგორც კი გამგზავნი და მიმღები შეერთდებიან.
მიმღების მიმდინარე ბუფერის ზომას მოიხსენიებენ როგორც მიმღების ფანჯარას.
მონაცემების რაოდენობა, რომელიც შეიძლება შემდგომ გაიგზავნოს დადასტურების გარეშე, ახლა გამოითვლება TCP-ის მიერ ხელმისაწვდომი მიმღების ფანჯრის საფუძველზე.
თუმცა, TCP აჩერებს მონაცემთა გადაცემას, თუ მიმღების ფანჯრის ზომა არის 0 და ელოდება მის გაზრდას.
მიმღების ფანჯრის ზომა არის TCP ჩარჩოს კომპონენტი.
ფანჯრის მაქსიმალური ზომაა 65,535 ბაიტი, რადგან მას აქვს 16 ბიტიანი ფანჯრის ზომა.
ფანჯრის ზომებს ირჩევს მიმღები. ყოველი დამადასტურებელი გზავნილით, მიმღები გადასცემს მიმღების ფანჯრის ზომას, რომელიც ამჟამად ხელმისაწვდომია.
მოცურების ფანჯრის პროტოკოლის პროცესი
მოცურების ფანჯრის პროტოკოლის ტექნიკის გამოყენებისას ორი ბუფერი იქმნება გამგზავნისა და მიმღების დაკავშირებისას.
ეს ორი ბუფერი იყოფა ორ ჯგუფად: გაგზავნის ფანჯარა, რომელიც ეკუთვნის გამგზავნს და მიმღები ფანჯარა, რომელიც ეკუთვნის მიმღებს.
მიმღები ფანჯარა უბრუნებს დარჩენილ მიმღებ ბუფერულ ადგილს, როდესაც გამგზავნი გადასცემს მონაცემებს მიმღებს.
შედეგად, გამგზავნი შემოიფარგლება იმ მონაცემების რაოდენობით, რომელიც შეიძლება მოთავსდეს მიმღებ ბუფერში.
ზემოთ მოცემულ მაგალითში გადამცემი ფანჯარა გადასცემს მონაცემებს მიმღებ ფანჯარაში.
მონაცემების მიღების შემდეგ მიმღები ფანჯარა აგზავნის დადასტურებას, შემდეგ კი გადამცემი ფანჯარა გადასცემს ახალ მონაცემთა ჩარჩოს.
თუმცა, ამჯერად, მიმღები ფანჯარა დამატებით აგზავნის შეტყობინებას, რომელშიც ნათქვამია, რომ ხელმისაწვდომი მეხსიერება ივსება მის მიერ მიღებული დადასტურების გარდა.
გადამცემი ფანჯარა აჩერებს მონაცემთა გადაცემას მანამ, სანამ მიმღები ფანჯრიდან არ მიიღებს დადასტურებას, რომ სივრცე გათავისუფლდა, რა დროსაც მას შეუძლია განაახლოს მონაცემთა გადაცემა.
დასკვნა
დასასრულს, მონაცემთა კავშირის ფენა და სატრანსპორტო ფენა პასუხისმგებელია ნაკადის კონტროლის პრობლემებზე.
ნაკადის კონტროლის მექანიზმის ძირითადი მიზანია შეაჩეროს მიმღების გადატვირთვა უფრო სწრაფად გადამცემი გამგზავნის მონაცემებით.
მაშინაც კი, თუ გამომგზავნის მიერ გადაცემული მონაცემები უშეცდომოა და მძლავრი აპარატის წყალობით უფრო სწრაფი ტემპით იგზავნება, შესაძლებელია, რომ უფრო ნელი მიმღები ვერ უმკლავდება მონაცემთა სწრაფ სიჩქარეს და, შესაბამისად, დაკარგავს გარკვეულ მონაცემებს.
დატოვე პასუხი