დღეს ჩვენ TCP-ზე ფოკუსირებით დავიწყებთ. ფენების დაყოფის შესახებ თავში ადრე ვახსენეთ მნიშვნელოვანი საკითხი. ქსელის დონეზე და ქვემოთ, საქმე უფრო მეტად ჰოსტს შორის კავშირებს ეხება, რაც ნიშნავს, რომ თქვენმა კომპიუტერმა უნდა იცოდეს, სად მდებარეობს სხვა კომპიუტერი მასთან დასაკავშირებლად. თუმცა, ქსელში კომუნიკაცია ხშირად არის პროცესებს შორის კომუნიკაცია და არა მანქანებს შორის კომუნიკაცია. ამიტომ, TCP პროტოკოლი წარმოგვიდგენს პორტის კონცეფციას. პორტი შეიძლება დაიკავოს მხოლოდ ერთმა პროცესმა, რაც უზრუნველყოფს პირდაპირ კომუნიკაციას სხვადასხვა ჰოსტზე მომუშავე აპლიკაციის პროცესებს შორის.
ტრანსპორტის დონის ამოცანაა სხვადასხვა ჰოსტზე მომუშავე აპლიკაციის პროცესებს შორის პირდაპირი კომუნიკაციის სერვისების უზრუნველყოფა, ამიტომ ის ასევე ცნობილია, როგორც „დასასრულის პროტოკოლი“. ტრანსპორტის დონე მალავს ქსელის ძირითად დეტალებს, რაც აპლიკაციის პროცესს საშუალებას აძლევს დაინახოს, თითქოს არსებობს ლოგიკური, დასასრულის საკომუნიკაციო არხი ორ ტრანსპორტის დონის ერთეულს შორის.
TCP ნიშნავს გადაცემის კონტროლის პროტოკოლს და ცნობილია, როგორც კავშირზე ორიენტირებული პროტოკოლი. ეს ნიშნავს, რომ სანამ ერთი აპლიკაცია დაიწყებს მონაცემების გაგზავნას მეორესთვის, ორმა პროცესმა უნდა განახორციელოს ხელის შეშლა. ხელის შეშლა არის ლოგიკურად დაკავშირებული პროცესი, რომელიც უზრუნველყოფს მონაცემების საიმედო გადაცემას და მოწესრიგებულ მიღებას. ხელის შეშლის დროს, კავშირი მყარდება წყაროს და დანიშნულების ჰოსტებს შორის საკონტროლო პაკეტების სერიის გაცვლით და ზოგიერთ პარამეტრსა და წესზე შეთანხმებით, რათა უზრუნველყოფილი იყოს მონაცემთა წარმატებული გადაცემა.
რა არის TCP? (Mylinking-ისქსელის შეხებადაქსელური პაკეტების ბროკერიშეუძლია როგორც TCP, ასევე UDP პაკეტების დამუშავება)
TCP (გადაცემის კონტროლის პროტოკოლი) არის კავშირზე ორიენტირებული, საიმედო, ბაიტ-ნაკადზე დაფუძნებული სატრანსპორტო ფენის საკომუნიკაციო პროტოკოლი.
კავშირზე ორიენტირებულიკავშირზე ორიენტირებული ნიშნავს, რომ TCP კომუნიკაცია არის ერთი-ერთზე, ანუ წერტილიდან წერტილამდე, ბოლოდან ბოლომდე კომუნიკაცია, UDP-სგან განსხვავებით, რომელსაც შეუძლია შეტყობინებების ერთდროულად გაგზავნა რამდენიმე ჰოსტისთვის, ამიტომ ერთი-მრავალთან კომუნიკაციის მიღწევა შეუძლებელია.
სანდოTCP-ის საიმედოობა უზრუნველყოფს, რომ პაკეტები საიმედოდ მიეწოდება მიმღებს ქსელური კავშირის ცვლილებების მიუხედავად, რაც TCP-ის პროტოკოლის პაკეტის ფორმატს UDP-სთან შედარებით უფრო რთულს ხდის.
ბაიტ-ნაკადზე დაფუძნებულიTCP-ის ბაიტ-ნაკადზე დაფუძნებული ბუნება საშუალებას იძლევა ნებისმიერი ზომის შეტყობინებების გადაცემის და უზრუნველყოფს შეტყობინებების თანმიმდევრობას: მაშინაც კი, თუ წინა შეტყობინება სრულად არ არის მიღებული და მაშინაც კი, თუ შემდგომი ბაიტები მიღებულია, TCP არ გადასცემს მათ აპლიკაციის დონეს დასამუშავებლად და ავტომატურად წაშლის დუბლიკატ პაკეტებს.
მას შემდეგ, რაც ჰოსტი A და ჰოსტი B დაამყარებენ კავშირს, აპლიკაციას მხოლოდ ვირტუალური საკომუნიკაციო ხაზის გამოყენება სჭირდება მონაცემების გასაგზავნად და მისაღებად, რითაც უზრუნველყოფს მონაცემთა გადაცემას. TCP პროტოკოლი პასუხისმგებელია ისეთი ამოცანების კონტროლზე, როგორიცაა კავშირის დამყარება, გათიშვა და შენარჩუნება. უნდა აღინიშნოს, რომ აქ ვირტუალური ხაზი მხოლოდ კავშირის დამყარებას ნიშნავს, TCP პროტოკოლით კავშირი მხოლოდ იმაზე მიუთითებს, რომ ორივე მხარეს შეუძლია მონაცემთა გადაცემის დაწყება და მონაცემთა სანდოობის უზრუნველყოფა. მარშრუტიზაციისა და ტრანსპორტირების კვანძებს ქსელური მოწყობილობები ამუშავებენ; თავად TCP პროტოკოლი ამ დეტალებს არ ეხება.
TCP კავშირი არის სრული დუპლექსური სერვისი, რაც ნიშნავს, რომ ჰოსტ A-სა და ჰოსტ B-ს შეუძლიათ მონაცემების გადაცემა ორივე მიმართულებით TCP კავშირის დროს. ანუ, მონაცემების გადაცემა შესაძლებელია ჰოსტ A-სა და ჰოსტ B-ს შორის ორმხრივი ნაკადით.
TCP დროებით ინახავს მონაცემებს კავშირის გაგზავნის ბუფერში. ეს გაგზავნის ბუფერი სამმხრივი კავშირის დროს შექმნილი ქეშებიდან ერთ-ერთია. შემდგომში, TCP შესაბამის დროს გაგზავნის გაგზავნის ქეშში არსებულ მონაცემებს დანიშნულების ჰოსტის მიმღებ ქეშში. პრაქტიკაში, თითოეულ პირს ექნება გაგზავნის და მიმღები ქეში, როგორც ეს აქ არის ნაჩვენები:
გაგზავნის ბუფერი არის მეხსიერების ის არე, რომელსაც TCP იმპლემენტაცია ინარჩუნებს გამგზავნის მხარეს და რომელიც გამოიყენება გასაგზავნი მონაცემების დროებით შესანახად. როდესაც კავშირის დასამყარებლად სამმხრივი ხელის შეხება ხორციელდება, გაგზავნის ქეში იქმნება და გამოიყენება მონაცემების შესანახად. გაგზავნის ბუფერი დინამიურად რეგულირდება ქსელის გადატვირთვისა და მიმღების უკუკავშირის მიხედვით.
მიმღები ბუფერი არის მეხსიერების ის არე, რომელსაც TCP იმპლემენტაცია ინარჩუნებს მიმღებ მხარეს და რომელიც გამოიყენება მიღებული მონაცემების დროებით შესანახად. TCP ინახავს მიღებულ მონაცემებს მიმღებ ქეშში და ელოდება ზედა აპლიკაციის მიერ მათ წაკითხვას.
გაითვალისწინეთ, რომ გაგზავნის და მიღების ქეშის ზომა შეზღუდულია; როდესაც ქეში სავსეა, TCP-მ შეიძლება გამოიყენოს გარკვეული სტრატეგიები, როგორიცაა შეშუპების კონტროლი, ნაკადის კონტროლი და ა.შ., მონაცემთა საიმედო გადაცემისა და ქსელის სტაბილურობის უზრუნველსაყოფად.
კომპიუტერულ ქსელებში, მონაცემთა გადაცემა მასპინძლებს შორის ხორციელდება სეგმენტების საშუალებით. მაშ, რა არის პაკეტის სეგმენტი?
TCP ქმნის TCP სეგმენტს, ანუ პაკეტის სეგმენტს, შემომავალი ნაკადის ნაწილებად დაყოფით და თითოეულ ნაწილზე TCP სათაურების დამატებით. თითოეული სეგმენტის გადაცემა შესაძლებელია მხოლოდ შეზღუდული დროის განმავლობაში და არ შეიძლება აღემატებოდეს სეგმენტის მაქსიმალურ ზომას (MSS). ქვევით გადაადგილებისას, პაკეტის სეგმენტი გადის კავშირის ფენას. კავშირის ფენას აქვს მაქსიმალური გადაცემის ერთეული (MTU), რაც არის პაკეტის მაქსიმალური ზომა, რომლის გავლაც შესაძლებელია მონაცემთა კავშირის ფენაში. მაქსიმალური გადაცემის ერთეული, როგორც წესი, დაკავშირებულია საკომუნიკაციო ინტერფეისთან.
მაშ, რა განსხვავებაა MSS-სა და MTU-ს შორის?
კომპიუტერულ ქსელებში იერარქიული არქიტექტურა ძალიან მნიშვნელოვანია, რადგან ის ითვალისწინებს სხვადასხვა დონეებს შორის განსხვავებებს. თითოეულ ფენას განსხვავებული სახელი აქვს; ტრანსპორტის ფენაში მონაცემებს სეგმენტი ეწოდება, ხოლო ქსელის ფენაში - IP პაკეტი. ამიტომ, მაქსიმალური გადაცემის ერთეული (MTU) შეიძლება განვიხილოთ, როგორც ქსელის ფენის მიერ გადაცემული მაქსიმალური IP პაკეტის ზომა, ხოლო მაქსიმალური სეგმენტის ზომა (MSS) არის ტრანსპორტის ფენის კონცეფცია, რომელიც ეხება TCP პაკეტის მიერ ერთდროულად გადაცემული მონაცემების მაქსიმალურ რაოდენობას.
გაითვალისწინეთ, რომ როდესაც სეგმენტის მაქსიმალური ზომა (MSS) აღემატება მაქსიმალურ გადაცემის ერთეულს (MTU), IP ფრაგმენტაცია განხორციელდება ქსელის დონეზე და TCP არ დაყოფს უფრო დიდ მონაცემებს MTU ზომისთვის შესაფერის სეგმენტებად. ქსელის დონეზე იქნება განყოფილება, რომელიც გამოყოფილი იქნება IP ფენისთვის.
TCP პაკეტის სეგმენტის სტრუქტურა
მოდით განვიხილოთ TCP სათაურების ფორმატი და შინაარსი.
თანმიმდევრობის ნომერიშემთხვევითი რიცხვი, რომელსაც კომპიუტერი გენერირდება კავშირის დამყარებისას, როგორც მის საწყის მნიშვნელობას TCP კავშირის დამყარებისას და თანმიმდევრობის ნომერი იგზავნება მიმღებთან SYN პაკეტის მეშვეობით. მონაცემთა გადაცემის დროს გამგზავნი ზრდის თანმიმდევრობის ნომერს გაგზავნილი მონაცემების რაოდენობის მიხედვით. მიმღები აფასებს მონაცემების თანმიმდევრობას მიღებული თანმიმდევრობის ნომრის მიხედვით. თუ მონაცემები არათანაბარია, მიმღები ხელახლა დაალაგებს მონაცემებს, რათა უზრუნველყოს მონაცემთა თანმიმდევრობა.
დადასტურების ნომერიეს არის TCP-ში მონაცემთა მიღების დასადასტურებლად გამოყენებული თანმიმდევრობის ნომერი. ის მიუთითებს შემდეგი მონაცემების თანმიმდევრობის ნომერზე, რომლის მიღებასაც გამგზავნი ელის. TCP კავშირში, მიმღები განსაზღვრავს, თუ რომელი მონაცემები იქნა წარმატებით მიღებული მიღებული მიღებული მონაცემთა პაკეტის სეგმენტის თანმიმდევრობის ნომრის საფუძველზე. როდესაც მიმღები წარმატებით იღებს მონაცემებს, ის გამგზავნს უგზავნის ACK პაკეტს, რომელიც შეიცავს დადასტურების ნომერს. ACK პაკეტის მიღების შემდეგ, გამგზავნს შეუძლია დაადასტუროს, რომ მონაცემები წარმატებით იქნა მიღებული პასუხის ნომრის დადასტურებამდე.
TCP სეგმენტის საკონტროლო ბიტები მოიცავს შემდეგს:
ACK ბიტიროდესაც ეს ბიტი 1-ის ტოლია, ეს ნიშნავს, რომ დადასტურების პასუხის ველი სწორია. TCP მიუთითებს, რომ ეს ბიტი უნდა იყოს 1-ზე დაყენებული, გარდა SYN პაკეტებისა, როდესაც კავშირი თავდაპირველად დამყარებულია.
RST ბიტიროდესაც ეს ბიტი 1-ის ტოლია, ეს მიუთითებს, რომ TCP კავშირში არის გამონაკლისი და კავშირი იძულებით უნდა გაითიშოს.
SYN ბიტიროდესაც ეს ბიტი დაყენებულია 1-ზე, ეს ნიშნავს, რომ კავშირი უნდა დამყარდეს და თანმიმდევრობის ნომრის საწყისი მნიშვნელობა დაყენებულია თანმიმდევრობის ნომრის ველში.
FIN ბიტიროდესაც ეს ბიტი 1-ის ტოლია, ეს ნიშნავს, რომ მომავალში მონაცემები აღარ გაიგზავნება და კავშირი სასურველია.
TCP-ის სხვადასხვა ფუნქციები და მახასიათებლები განსახიერებულია TCP პაკეტის სეგმენტების სტრუქტურაში.
რა არის UDP? (Mylinking-ისქსელის შეხებადაქსელური პაკეტების ბროკერიშეუძლია როგორც TCP, ასევე UDP პაკეტების დამუშავება)
მომხმარებლის მონაცემთა გრამის პროტოკოლი (UDP) არის უკავშირო საკომუნიკაციო პროტოკოლი. TCP-თან შედარებით, UDP არ ითვალისწინებს რთულ საკონტროლო მექანიზმებს. UDP პროტოკოლი საშუალებას აძლევს აპლიკაციებს პირდაპირ გაგზავნონ კაფსულირებული IP პაკეტები კავშირის დამყარების გარეშე. როდესაც დეველოპერი ირჩევს TCP-ის ნაცვლად UDP-ის გამოყენებას, აპლიკაცია პირდაპირ დაუკავშირდება IP-ს.
UDP პროტოკოლის სრული სახელწოდებაა მომხმარებლის მონაცემთა გრამის პროტოკოლი და მისი სათაური მხოლოდ რვა ბაიტია (64 ბიტი), რაც ძალიან ლაკონურია. UDP სათაურის ფორმატი შემდეგია:
დანიშნულების და წყაროს პორტებიმათი მთავარი მიზანია მიუთითონ, რომელ პროცესს უნდა გაუგზავნოს UDP პაკეტები.
პაკეტის ზომაპაკეტის ზომის ველი შეიცავს UDP სათაურის ზომას პლუს მონაცემების ზომას.
ჩეკის ჯამიშექმნილია UDP სათაურებისა და მონაცემების საიმედო მიწოდების უზრუნველსაყოფად. ჩეკის ჯამის როლია დაადგინოს, მოხდა თუ არა შეცდომა ან დაზიანება UDP პაკეტის გადაცემის დროს, რათა უზრუნველყოს მონაცემების მთლიანობა.
განსხვავებები TCP-სა და UDP-ს შორის Mylinking-შიქსელის შეხებადაქსელური პაკეტების ბროკერიშეუძლია როგორც TCP, ასევე UDP პაკეტების დამუშავება
TCP და UDP განსხვავდებიან შემდეგი ასპექტებით:
კავშირიTCP არის კავშირზე ორიენტირებული სატრანსპორტო პროტოკოლი, რომელიც მონაცემების გადაცემამდე კავშირის დამყარებას მოითხოვს. მეორეს მხრივ, UDP არ საჭიროებს კავშირს და მონაცემების მყისიერად გადაცემას ახდენს.
მომსახურების ობიექტიTCP არის ერთ-ერთზე ორპუნქტიანი სერვისი, ანუ კავშირს ერთმანეთთან დასაკავშირებლად მხოლოდ ორი საბოლოო წერტილი აქვს. თუმცა, UDP მხარს უჭერს ერთ-ერთზე, ერთი-ბევრზე და ბევრი-ბევრზე ინტერაქტიულ კომუნიკაციას, რომელსაც შეუძლია ერთდროულად რამდენიმე ჰოსტთან კომუნიკაცია.
საიმედოობაTCP უზრუნველყოფს მონაცემების საიმედოდ მიწოდების სერვისს, რაც უზრუნველყოფს მონაცემების შეცდომების, დანაკარგების, დუბლიკატების არარსებობას და მოთხოვნისამებრ მოწოდებას. მეორეს მხრივ, UDP მაქსიმალურად ცდილობს და არ იძლევა საიმედო მიწოდების გარანტიას. გადაცემის დროს UDP-მ შეიძლება გამოიწვიოს მონაცემების დაკარგვა და სხვა სიტუაციები.
შეშუპების კონტროლი, ნაკადის კონტროლიTCP-ს აქვს შეგუბების კონტროლისა და ნაკადის კონტროლის მექანიზმები, რომლებსაც შეუძლიათ მონაცემთა გადაცემის სიჩქარის რეგულირება ქსელის პირობების შესაბამისად, მონაცემთა გადაცემის უსაფრთხოებისა და სტაბილურობის უზრუნველსაყოფად. UDP-ს არ აქვს შეგუბების კონტროლისა და ნაკადის კონტროლის მექანიზმები, მაშინაც კი, თუ ქსელი ძალიან გადატვირთულია, ის ვერ მოახდენს UDP გაგზავნის სიჩქარის კორექტირებას.
სათაურის ზედა ნაწილიTCP-ს აქვს დიდი სიგრძის სათაური, როგორც წესი, 20 ბაიტი, რომელიც იზრდება ოფციის ველების გამოყენებისას. მეორეს მხრივ, UDP-ს აქვს მხოლოდ 8 ბაიტის ფიქსირებული სათაური, ამიტომ UDP-ს აქვს უფრო დაბალი სათაურის დატვირთვა.
TCP და UDP აპლიკაციის სცენარები:
TCP და UDP ორი განსხვავებული სატრანსპორტო ფენის პროტოკოლია და მათ გარკვეული განსხვავებები აქვთ აპლიკაციის სცენარებში.
რადგან TCP კავშირზე ორიენტირებული პროტოკოლია, ის ძირითადად გამოიყენება იმ შემთხვევებში, როდესაც საჭიროა მონაცემთა საიმედო მიწოდება. გამოყენების რამდენიმე გავრცელებული შემთხვევა მოიცავს:
FTP ფაილის გადაცემაTCP-ს შეუძლია უზრუნველყოს, რომ ფაილები არ დაიკარგოს და არ დაზიანდეს გადაცემის დროს.
HTTP/HTTPSTCP უზრუნველყოფს ვებ-კონტენტის მთლიანობას და სისწორეს.
რადგან UDP არის უკავშირო პროტოკოლი, ის არ იძლევა საიმედოობის გარანტიას, მაგრამ მას აქვს ეფექტურობისა და რეალურ დროში მუშაობის მახასიათებლები. UDP შესაფერისია შემდეგი სცენარებისთვის:
დაბალი პაკეტების ტრაფიკი, როგორიცაა DNS (დომენის სახელის სისტემა)DNS მოთხოვნები, როგორც წესი, მოკლე პაკეტებია და UDP-ს მათი უფრო სწრაფად შესრულება შეუძლია.
მულტიმედიური კომუნიკაცია, როგორიცაა ვიდეო და აუდიომულტიმედიური გადაცემისთვის, რომელსაც აქვს მაღალი რეალურ დროში მოთხოვნები, UDP-ს შეუძლია უზრუნველყოს დაბალი შეყოვნება, რათა უზრუნველყოს მონაცემების დროულად გადაცემა.
სამაუწყებლო კომუნიკაციაUDP მხარს უჭერს ერთი-მრავალ და ბევრი-მრავალ კომუნიკაციას და შეიძლება გამოყენებულ იქნას სამაუწყებლო შეტყობინებების გადასაცემად.
რეზიუმე
დღეს ჩვენ TCP-ის შესახებ ვისწავლეთ. TCP არის კავშირზე ორიენტირებული, საიმედო, ბაიტ-ნაკადზე დაფუძნებული სატრანსპორტო ფენის საკომუნიკაციო პროტოკოლი. ის უზრუნველყოფს მონაცემების საიმედო გადაცემას და მოწესრიგებულ მიღებას კავშირის დამყარებით, დაკავშირების და დადასტურების გზით. TCP პროტოკოლი იყენებს პორტებს პროცესებს შორის კომუნიკაციის განსახორციელებლად და უზრუნველყოფს პირდაპირ საკომუნიკაციო სერვისებს სხვადასხვა ჰოსტზე მომუშავე აპლიკაციების პროცესებისთვის. TCP კავშირები სრული დუპლექსია, რაც საშუალებას იძლევა მონაცემთა ერთდროული ორმხრივი გადაცემისა. ამის საპირისპიროდ, UDP არის უკავშირო საკომუნიკაციო პროტოკოლი, რომელიც არ იძლევა საიმედოობის გარანტიებს და შესაფერისია ზოგიერთი სცენარისთვის, რომელსაც აქვს მაღალი რეალურ დროში მოთხოვნები. TCP და UDP განსხვავდებიან კავშირის რეჟიმით, სერვისის ობიექტით, საიმედოობით, შეგუბების კონტროლით, ნაკადის კონტროლით და სხვა ასპექტებით, ასევე განსხვავებულია მათი გამოყენების სცენარები.
გამოქვეყნების დრო: დეკემბერი-03-2024