ქსელთან მუშაობის საფუძვლები

Java-ს ქსელურ მხარდაჭერას საფუძვლად სოკეტის (socket) კონცეფცია უდევს. ქსელის საბოლოო წერტილის იდენტიფიცირებას სოკეტი ახდენს. სოკეტის პარადიგმა გასული საუკუნის 80ან წლებში 4.2 BSD Berkley UNIX ვერსიაში გამოჩნდა. სწორედ ამ მიზეზით გამოიყენება ტერმინი ბერკლის სოკეტი.

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

სოკეტური კომუნიკაციები განსაზღვრული პროტოკოლით სრულდება. ინტერნეტ პროტოკოლი (Internet Protocol – IP)  დაბალი დონის მქონე მარშრუტის მიმცემი პროტოკოლია, რომელიც მონაცემებს პაკეტებად ყოფს და განსაზღვრულ მისამართზე ქსელით აგზავნის, რაც ყველა პაკეტის მიღებას საჭირო მისამართზე ვერ უზრუნველყოფს. გადაცემების მართვის პროტოკოლი (Transmission Control Protocol – TCP) უფრო მაღალი დონის პროტოკოლს წარმოადგენს, რომელიც ამ პაკეტების საიმედო შეკრებას, დახარისხებას და ხელახლა გადაგზავნას უზრუნველყოფს, რაც მონაცემთა საიმედო მიღებას განაპირობებს. არსებობს კიდევ ერთი პროტოკოლი – სამომხმარებლო დეიტაგრამების პროტოკოლი (User Datagram Protocol – UDP), რომელიც უშუალოდ TCP პროტოკოლის შემდეგ დგას. ის პაკეტების სწრაფი და საიმედო ტრანსპორტირების უზრუნველსაყოფად გამოიყენება. UDP ვირტუალურ კავშირს არ ამყარებს და ვერც მონაცემთა მიღების „გარანტიას“ იძლევა. გამგზავნი აღნიშნულ მისამართზე უბრალოდ აგზავნის პაკეტებს და თუ გაგზავნილი ინფორმაცია დაზიანდა ან მან ვერ მიაღწია დანიშნულების ადგილს, ამას გამგზავნი ვერც გაიგებს. UDP-ს ერთადერთი უპირატესობა მონაცემთა გადაცემის მაღალი სიჩქარეა. აღნიშნული პროტოკოლი აუდიო და ვიდეო-სიგნალების ტრანსლაციის დროს გამოიყენება, რადგან მონაცემთა მცირე რაოდენობის დაკარგვა მთელი ინფორმაციის სერიოზულ დამახინჯებას არ იწვევს.

UDP პროტოკოლით მონაცემები პაკეტებით გადაიცემა. ამ შემთხვევაში UDP-ს პაკეტს DatagramPacket კლასის ობიექტი წარმოადგენს. ეს კლასი გადასაცემ მონაცემებს ბაიტების მასივის სახით წარმოადგენს.

TCP/IP პროტოკოლების სტეკში შემდეგი პროტოკოლები გამოიყენება:
HTTP – Hypertext Transfer Protocol (WWW);
NNTP – Network News Transfer Protocol (სიახლეების ჯგუფები);
SMTP – Simple Mail Transfer Protocol (საფოსტო გზავნილი);
POP3 – Post Office Protocol (ფოსტის წაკითხვა სერვერიდან);
FTP – File Transfer Protocol (ფაილების გადაცემის პროტოკოლი).

ქსელში ჩართულ ყოველ კომპიუტერს TCP/IP პროტოკოლის მიხედვით უნიკალური IP-

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

კავშირის დამყარებისთანავე მაღალი დონის პროტოკოლი გამოიყენება, რაც გამოსაყენებელ პორტზეა დამოკიდებული. TCP/IP პროტოკოლი სპეციფიური პროტოკოლებისთვის პირველი 1024 პორტის რეზერვირებას ახდენს. მაგალითად, პორტი №21 FTP პროტოკოლისთვისაა განკუთვნილი, №23 – Telnet პროტოკოლისთვის, №25 – ელექტრონული ფოსტისთვის, №80 – HTTP პროტოკოლისთვის, №119 – netnews-თვის და ა.შ. ყოველი პროტოკოლი კლიენტის პორტთან ურთიერთობის სახეს განსაზღვრავს. მაგალითად, HTTP პროტოკოლი სერვერების და ვებ-ბრაუზერების მიერ ჰიპერ-ტექსტისა და გრაფიკული გამოსახულებების გადასაცემად გამოიყენება. ის ვებ-სერვერების მიერ წარმოდგენილი ინფორმაციის ნახვის საკმაოდ მარტივი პროტოკოლია. ვნახოთ, თუ როგორ მუშაობს ეს პროტოკოლი. როდესაც კლიენტი HTTP სერვერიდან გამოითხოვს ფაილს, ადგილი აქვს წინასწარ განსაზღვრულ პორტზე გარკვეულ ფორმატში ფაილის სახელის გაგზავნას და მისი შიგთავსის წაკითხვას. სერვერი ასევე კოდის მდგომარეობის შესახებ იძლევა შეტყობინებას, იმისთვის, რომ კლიენტს აცნობოს იყო თუ არა მოთხოვნა დამუშავებული და რა მიზეზით.

ინტერნეტის მნიშვნელოვან კომპონენტს მისამართი წარმოადგენს. ყოველ კომპიუტერს ინტერნეტში საკუთარი მისამართი გააჩნია. ის რიცხვს წარმოადგენს, რომელიც ინტერნეტში უნიკალურად ახდენს ყოველი კომპიუტერის იდენტიფიცირებას. ისევე როგორც IP-მისამართი აღწერს ქსელურ იერარქიას, ინტერნეტ-მისამართის სახელი, რომელსაც დომენურ სახელს უწოდებენ, სახელების სივრცეში კომპიუტერის ადგილმდებარეობას წარმოგვიდგენს. მაგალითად, მისამართი: www.Herbschildt.com მიეკუთვნება com დომენს, (რომელიც აშშ-ს კომერციული საიტებისთვისაა დარეზერვებული), გააჩნია სახელი Herbschildt (კომპანიის სახელის მიხედვით), ხოლო www იმ სერვერის იდენტიფიცირებას ახდენს, რომელიც ვებმოთხოვნებს ამუშავებს. ინტერნეტის დომენური სახელი IP-მისამართს დომენური სახელების მომსახურების (Domain Name Service – DNS) საშუალებით უკავშირდება. ეს მომხმარებლებს უფლებას აძლევს დომენური სახელებით იმუშაონ, მაშინ როდესაც ინტერნეტი IP-მისამართებით ოპერირებს.

ავტ: ლელა გაჩეჩილაძე
ნონა ოთხოზორია