[სიმღერაში - 7, 6, 5, 4, 3, 2, 1] ინტერნეტი:
პაკეტები, როუტერები და სანდოობა
გამარჯობა, მე ლინი ვარ, სფოთიფაის პროგრამული
უზრუნველყოფის ინჟინერი. უნდა ვაღიარო, რომ
მეც კი ხანდახან ინტერნეტი სამუდამო, უწყვეტი
მგონია. საოცარია, რა რაოდენობის ინფორმაცია
ტრიალებს ინტერნეტით. როგორ მოგდით
თითოეული ინფორმაცია
ასეთი დიდი სიზუსტით? ვთქვათ,
გინდათ, სფოთიფაიზე მოუსმინოთ სიმღერას. თქვენი
კომპიუტერი სფოთიფაის სერვერს, თითქოს,
პირდაპირ უკავშირდება და სიმღერას პირდაპირი,
საგანგებო ხაზით გიგზავნით. სინამდვილეში, ეს ასე
არ არის. ინტერნეტი პირდაპირი, საგანგებო
კავშირებით რომ მუშაობდეს, ამდენი მომხმარებლის
მომსახურება შეუძლებელი
იქნებოდა. მით უმეტეს, რა გარანტია გვაქვს, რომ
სასურველი კომპიუტერის კაბელი
შეუფერხებლად მუშაობს. სანაცვლოდ, მონაცემები
ინტერნეტით ნაკლებად პიდაპირი მარშრუტით
მოგზაურობს. ბეეევრი წლის წინ, 1970-იანების
დასაწყისში, მე და ჩემმა პარტნიორმა, ბობ კანმა,
იმ დიზაინზე მუშაობა დავიწყეთ, დღეს რომ ინტერნეტს
ვეძახით> მე და ბობს მოგვეცა შანსი და
პასუხისმგებლობა, აგვეგო ინტერნეტის პროტოკოლები
და მისი არქიტექტურა. მთელი
ეს დრო ინტერნეტის ზრდასა და ევოლუციაში
ვიღებდით მონაწილეობას.
ძალიან საინტერესოა, როგორ მოგზაურობს
ინფორმაცია ერთი კომპიუტერიდან
მეორემდე. ის ფიქსირებულ მარშრუტს არ
გადის. პრინციპში, მისი მარშრუტი
გაგზავნისასაც შეიძლება, შეიცვალოს.
ინფორმაცია ერთი კომპიუტერიდან
მეორემდე პაკეტის სახით იგზავნება.
ეს პაკეტი ისევე მოგზაურობს,
როგორც თქვენ მანქანით ერთი ადგილიდან
მეორემდე გადაადგილდებით.
იმის მიხედვით, როგორია სატრანსპორტო
მოძრაობა და გზები, თქვენ შეიძლება, მოგიწიოთ,
დანიშნულებამდე მისასვლელად სხვა მარშრუტი
აირჩიოთ.
მანქანით ათასი რამის გადაზიდვა შეგიძიათ.
ზუსტად ასევე იგზავნება ციფრული
ინფორმაცია IP პაკეტებით. ცხადია, ყველაფერს
საზღვარი აქვს. რა ხდება, მაგალითად, როცა
კოსმოსურ შატლს ერთგან აშენებთ და მეორეგან
გადაგაქვთ? შატლი
ერთ სატვირთოში ნამდვილად ვერ ჩაეტევა.
ამიტომ, მისი დანაწილება მოგვიწევს და რამდენიმე
სატვირთოთი წაღება. მანქანებს შეუძლიათ,
დანიშნულებამდე სხვადასხვა გზებით და დროში
მივიდნენ. ნაწილები დანიშნულებამდე რომ
მივა, შეგიძლიათ, ისინი ისევ ააწყოთ
და შატლიც მზადაა. ინტერნეტიც მსგავსაც
მუშაობს.
ვთქვათ, გინდათ, დიდი სურათი მეგობარს
გაუგზავნოთ ან ვებ-საიტზე ატვირთოთ,
შეიძლება, ის 10-ეული მილიონი ბიტისგან
შედგებოდეს, ერთ პაკეტად მისი გაგზავნა
გაჭირდება. რადგან ეს კომპიუტერული მონაცემია,
კომპიუტერს მარტივად შეუძლია, სურათი
ასობით ან ათასობით მსგავს ნაწილად, ანუ,
პაკეტად დაშალოს. მანქანებისა და
სატვირთოებისგან განსხვავებით ამ პაკეტებს
მძღოლები არ ყავთ და ისინი არც მარშრუტს ირჩევენ.
პაკეტს აქვს როგორც საწყისი, ისე საბოლოო წერტილის
მისამართი. ინტერნეტის სპეციალური კომპიუტერები,
როუტერები, სწორედ ამ მოძრაობას მართავენ
და ცდილობენ, პაკეტები ქსელში უპრობლემოდ
გაატარონ. თუ რომელიმე გზა გადატვირთულია,
ზოგი პაკეტი მიმართულებას იცვლის
და დანიშნულებამდე სხვა გზით,
სხვა დროს ან არეულიც კი მიდის.
მოდით, ვნახოთ, როგორ ხდება ეს.
ინტერნეტის პროტოკოლისამებრ თითოეული
როუტერი პაკეტების გაგზავნის რამდენიმე
გზას აკონტროლებს და მონაცემის გაგზავნის
ყველაზე მომგებიანი მარშრუტს ირჩევს საბოლოო
წერტილის IP მისამართის მიხედვით.
ყველაზე მომგებიანი გულისხმობს არა ფასს,
არამედ დროსა და არატექნიკურ ფაქტორებს, მაგალითად,
პოლიტიკას და კომპანიებს შორის ურთიერთობებს.
ხშირად ყველაზე მომგებიანი გზა სულაც არაა ყველაზე
პირდაპირი. რადგან ქსელში ერთზე მეტი
მარშრუტია, ხარვეზები ატანადია. თუ ერთ
მარშრუტზე რამე პრობლემა გაჩნდება, პაკეტი
მეორე მარშრუტით გააგრძელებს გზას.
სწორედ ესაა ინტერნეტის მთავარი პრინციპის
საფუძველი: სანდოობა. და რა ხდება მაშინ,
როცა მოითხოვეთ რაღაც მონაცემები და მხოლოდ
ნაწილი მიიღეთ? ვთქვათ, გინდათ სიმღერის მოსმენა.
როგორ დარწმუნდებით, რომ მისი 100%-ს მიიღებთ
და სიმღერა იდეალურად დაუკრავს?
აი, აქ შემოდის TCP (გადაცემის მართვის პროტოკოლი).
TCP თქვენი პაკეტების გაგზავნასა და
მიღებას აკონტროლებს. ეს გარანტირებული
ფოსტისავითაა.
როცა მოითხოვთ სიმღერას, სპოტიფაი
სიმღერას დანაწევრებით აგზავნის.
როცა თქვენი პაკეტები თქვენამდე აღწევს,
TCP აღწერს პროცესს და აგზავნის შეტყობინებას,
რომ პაკეტი მიიღეთ. თუ ყველა პაკეტი ადგილზეა,
TCP, ასე ვთქვათ, ხელს აწერს, რომ მიიღეთ.
(სიმღერა) თუ TCP დაადგენს, რომ პაკეტები გზაში
დაიკარგა, ის ხელს არ მოაწერს, რადგან ამ
შემთხვევაში თქვენი სიმღერა უხარისხო ან არასრული
იქნება. სფოთიფაი მიიღებს
მესიჯს და პაკეტებს თავიდან გამოაგზვნის.
TCP დაადასტურებს ყველა
პაკეტის მიღებას,
თქვენი სიმღერაც ჩაირთვება. TCP და
როუტერები იმიტომაა კარგი, რომ ისინი ინტერნეტის
ზრდას ფეხს უწყობს. მათ შეუძლიათ, 8 მილიარდამდე
ხელსაწყოს მოემსახურონ. შეფერხებები ყოველთვის
იარსებებს, ამიტომ, რაც უფრო მეტ როუტერს
დავამაებთ, მით უკეთ იმუშავებს ინტერნეტი.
შეგვიძლია, ინტერნეტი ისე გავზარდოთ, რომ
არავის ამით ხელი არ შევუშალოთ.
ინტერნეტში ასობით ათასი ქსელი და
მილიარდობით კომპიუტერი და ხელსაწყოა
ჩართული. ეს სისტემები
ერთმანეთს უკავშირდება, ერთმანეთს
ეურთიერთება და ერთად
მუშაობს. ისინი მასალის გაგზავნის
სტანდარტებზე არიან შეთანხმებული.
კომპიუტერული მოწყობილობები ან როუტერები
ამ პაკეტებს დანიშნულებამდე მისვლაში
ეხმარებიან, სადაც პაკეტები ლაგდებიან და
ისევ ერთ ფაილს ქმნიან. ეს დღეში
მილიარდჯერ ხდება, როცა იგზავნება იმეილი,
იხსნება ვებ გვერდი, ვიდეო ჩატი,
მობილური აპლიკაცია, ან როცა
ინტერნეტის მოწყობილობები ერთმანეთს
ესაუბრებიან.