ქსელის მისამართის თარგმანი (NAT) და SIP. NAT - ქსელის მისამართის თარგმანის დაყენება

ქსელის მისამართის თარგმანი (NAT) გამოიყენება მრავალი სერვისის პროვაიდერისა და კერძო მომხმარებლის მიერ რეალური IP მისამართების არარსებობის პრობლემის გადასაჭრელად და ინტერნეტთან დაკავშირებული ლოკალური ქსელების უსაფრთხოების უზრუნველსაყოფად. Მაგალითად. საწარმოს შეიძლება ჰქონდეს რეალური IP მისამართების გამოყოფილი დიაპაზონი, მაგრამ გაცილებით დიდი რაოდენობის კომპიუტერები ლოკალური IP მისამართებით, რომლებსაც სჭირდებათ ინტერნეტთან წვდომა. ამ პრობლემის გადასაჭრელად გამოიყენება მისამართების თარგმნის ტექნოლოგია, რომელიც ლოკალურ ქსელში მყოფ კომპიუტერებს საშუალებას აძლევს, დაუკავშირდნენ ინტერნეტს მხოლოდ ერთი გარე რეალური IP მისამართის გამოყენებით. NAT აგვარებს ამ პრობლემას ადგილობრივი IP მისამართის გარე საჯარო მისამართით შეცვლით. შიდა IP მისამართისა და პორტის გარე IP მისამართით და პორტით ჩანაცვლებით, NAT ინახავს რუკების ცხრილს, შემდეგ აბრუნებს მას უკან, როდესაც საპასუხო პაკეტი მიიღება.
ლოკალური IP მისამართები მოიცავს შემდეგ მისამართებს: 10.xxx.xxx.xxx, 192.168.xxx.xxx, 172.16.xxx.xxx - 172.32.xxx.xxx.


ქსელის მისამართების თარჯიმნების ტიპები (NAT)

მისამართის მთარგმნელები იყოფა 4 ტიპად:
1. სრული კონუსი
2. შეზღუდული კონუსი
3. პორტის შეზღუდული კონუსი
4. სიმეტრიული

NAT-ის პირველ სამ ტიპში, გარე ქსელის სხვადასხვა IP მისამართს შეუძლია დაუკავშირდეს ლოკალური ქსელის მისამართს იმავე გარე პორტის გამოყენებით. მეოთხე ტიპი იყენებს ცალკე გარე პორტს თითოეული მისამართისა და პორტისთვის.
NAT-ებს არ აქვთ მისამართების და პორტების სტატიკური ცხრილი. ეკრანი იხსნება, როდესაც პირველი პაკეტი იგზავნება ადგილობრივი ქსელიდან გარედან NAT-ის საშუალებით და მოქმედებს გარკვეული პერიოდის განმავლობაში (ჩვეულებრივ 1-3 წუთი); თუ პაკეტები არ გადის ამ პორტში, მაშინ პორტი ამოღებულია. საძიებო ცხრილი. როგორც წესი, NAT ანაწილებს გარე პორტებს დინამიურად, 1024-ზე მეტი დიაპაზონის გამოყენებით.

სრული კონუსი

სრული კონუსური NAT-ის გამოყენებისას, გარე შედგენილი პორტი ღიაა ნებისმიერი მისამართიდან შემოსული პაკეტებისთვის. თუ ვინმეს გარე ინტერნეტიდან სურს ამ მომენტში NAT-ის უკან მდებარე კლიენტს გაუგზავნოს პაკეტი, მაშინ მან მხოლოდ უნდა იცოდეს გარე პორტი, რომლის მეშვეობითაც ხდება კავშირი. მაგალითად, კომპიუტერი NAT-ის უკან, რომლის IP მისამართია 10.0.0.1, აგზავნის და იღებს პაკეტებს 8000 პორტზე, რომლებიც შედგენილია გარე IP მისამართზე და პორტზე 212.23.21.25:12345, შემდეგ ნებისმიერს ინტერნეტში შეუძლია პაკეტების გაგზავნა ამ 212.23-ზე. 21.25:12345 და ეს პაკეტები მიაღწევს კლიენტის კომპიუტერს 10.0.0.1:8000.


შეზღუდული კონუსი

NAT, შეზღუდული კონუსით, ხსნის გარე პორტს დაუყოვნებლივ მას შემდეგ, რაც ადგილობრივი კომპიუტერი აგზავნის მონაცემებს კონკრეტულ გარე IP მისამართზე. მაგალითად, თუ კლიენტი აგზავნის პაკეტს გარე კომპიუტერზე 1, NAT ასახავს კლიენტს 10.0.0.1:8000-დან 212.23.21.25:12345-მდე, ხოლო გარე კომპიუტერს 1 შეუძლია პაკეტების გაგზავნა ამ დანიშნულების ადგილზე. თუმცა, NAT დაბლოკავს კომპიუტერიდან 2-დან მოსულ პაკეტებს, სანამ კლიენტი არ გამოგზავნის პაკეტს ამ კომპიუტერის IP მისამართზე. როდესაც ის ამას გააკეთებს, ორივე გარე კომპიუტერი 1 და 2 შეძლებს პაკეტების გაგზავნას კლიენტთან და ორივეს ექნება იგივე რუქა NAT-ზე.

პორტის შეზღუდული კონუსი

NAT შეზღუდული კონუსური პორტით თითქმის იდენტურია NAT-ის შეზღუდული კონუსური პორტით. მხოლოდ ამ შემთხვევაში, NAT ბლოკავს ყველა პაკეტს, გარდა იმ შემთხვევისა, როდესაც კლიენტმა ადრე არ გაუგზავნა პაკეტი გარეთ კომპიუტერის IP მისამართსა და პორტში, რომელიც აგზავნის პაკეტებს კლიენტს. ამიტომ, თუ კლიენტი აგზავნის გარე კომპიუტერს 1 პორტ 5060-ზე, მაშინ NAT საშუალებას მისცემს პაკეტს მიაღწიოს კლიენტს მხოლოდ მაშინ, როდესაც ის მოდის 212.33.35.80:5060-დან. თუ კლიენტმა გაგზავნა პაკეტები გარედან რამდენიმე IP მისამართსა და პორტზე, მაშინ მათ შეუძლიათ უპასუხონ კლიენტს იმავე შედგენილ IP მისამართზე და პორტზე.

სიმეტრიული

სიმეტრიული NAT ფუნდამენტურად განსხვავდება პირველი სამისგან იმით, რომ იგი ასახავს შიდა IP მისამართს და პორტს გარე მისამართსა და პორტთან. ეს რუქა დამოკიდებულია კომპიუტერის IP მისამართსა და პორტზე, რომელზედაც არის გაგზავნილი პაკეტი. მაგალითად, თუ კლიენტი აგზავნის მისამართიდან 10.0.0.1:8000 კომპიუტერზე 1, მაშინ ის შეიძლება იყოს ნაჩვენები როგორც 212.23.21.25:12345, ამავე დროს, თუ ის აგზავნის იმავე პორტიდან (10.0.0.1: 8000) სხვა IP მისამართზე, ის სხვაგვარად არის ნაჩვენები (212.23.21.25:12346).


კომპიუტერი 1 პასუხობს მხოლოდ 212.23.21.25:12345, ხოლო კომპიუტერი 2 მხოლოდ 212.23.21.25:12346. თუ რომელიმე მათგანი შეეცდება გაგზავნოს პაკეტები პორტში, საიდანაც არ მიიღო პაკეტები, მაშინ ეს პაკეტები იგნორირებული იქნება. გარე IP მისამართი და პორტი იხსნება მხოლოდ მაშინ, როდესაც შიდა კომპიუტერი აგზავნის მონაცემებს გარეთ კონკრეტულ მისამართზე.

NAT და ინტერნეტტელეფონია SIP პროტოკოლის გამოყენებით

SIP პროტოკოლის გამოყენებით NAT-ზე ზარების გადაცემის სამი ძირითადი პრობლემაა.
1. ადგილობრივი მისამართების ხელმისაწვდომობა SIP სიგნალიზაციაში.

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

რა არის NAT?

ქსელის მისამართების თარგმნის გამოყენება არის თითოეული მისამართის ერთ მისამართთა სივრცეში მისამართზე, რომელიც მდებარეობს სხვა მისამართების სივრცეში. ეს შეიძლება საჭირო გახდეს, თუ სერვისის პროვაიდერი შეიცვალა და მომხმარებელს არ აქვს შესაძლებლობა საჯაროდ განაცხადოს ახალი მარშრუტი ქსელში. NAT ტექნოლოგია სულ უფრო მეტად გამოიყენება 90-იანი წლების ბოლოდან მისამართების სივრცის გლობალური ამოწურვის კონტექსტში. როგორც წესი, ეს ტექნოლოგია გამოიყენება IP დაშიფვრასთან ერთად. IP დაშიფვრა არის მრავალი IP მისამართის ერთ სივრცეში გადატანის მეთოდი. ეს მექანიზმი დანერგილია მარშრუტიზაციის მოწყობილობაში, რომელიც იყენებს სტატუსიანი თარგმანის ცხრილებს ფარული მისამართების ერთ IP მისამართში გადასატანად. ის ასევე აგზავნის ყველა გამავალი IP პაკეტს გამოსავალზე. ამრიგად, ეს პაკეტები, როგორც ჩანს, ტოვებენ მარშრუტიზაციის მოწყობილობას. დაბრუნების ბმულზე პასუხები ასახულია წყაროს IP მისამართზე თარგმანის ცხრილებში შენახული წესების გამოყენებით. თავის მხრივ, თარგმანის ცხრილები იშლება მცირე ხნის შემდეგ, თუ ტრაფიკი არ განაახლებს თავის მდგომარეობას. ეს არის NAT-ის ძირითადი მექანიზმი. Რას ნიშნავს ეს? ეს ტექნოლოგია საშუალებას აძლევს როუტერის საშუალებით კომუნიკაციას მხოლოდ მაშინ, როდესაც კავშირი ხდება დაშიფრულ ქსელში, რადგან ეს ქმნის თარგმანის ცხრილებს. ასეთი ქსელის შიგნით, ვებ ბრაუზერს შეუძლია საიტის ნახვა მის გარეთ, მაგრამ როდესაც დაინსტალირდება მის გარეთ, მას არ შეუძლია გახსნას რესურსი, რომელიც მდებარეობს მასში. NAT მოწყობილობების უმეტესობა დღეს საშუალებას აძლევს ქსელის ადმინისტრატორს დააკონფიგურიროს თარგმანის ცხრილის ჩანაწერები მუდმივი გამოყენებისთვის. ეს ფუნქცია განსაკუთრებით ხშირად მოიხსენიება როგორც პორტის გადაგზავნა ან სტატიკური NAT. ის საშუალებას აძლევს "გარე" ქსელში წარმოშობილ ტრაფიკს მიაღწიოს დანიშნულ მასპინძლებს დაშიფრულ ქსელში. IPv4 მისამართის სივრცის შესანარჩუნებლად გამოყენებული მეთოდის პოპულარობის გამო, ტერმინი NAT პრაქტიკულად გახდა დაშიფვრის მეთოდის სინონიმი. იმის გამო, რომ ქსელის მისამართის თარგმანი ცვლის IP პაკეტების მისამართების ინფორმაციას, ამან შეიძლება სერიოზული შედეგები გამოიწვიოს კავშირის ხარისხზე. ამიტომ ის მოითხოვს დიდ ყურადღებას განხორციელების ყველა დეტალზე. NAT-ის გამოყენების გზები განსხვავდება ერთმანეთისგან მათი სპეციფიკური ქცევით სხვადასხვა სიტუაციებში, რაც დაკავშირებულია ქსელის ტრაფიკზე ზემოქმედებასთან.

ძირითადი NAT

NAT-ის უმარტივესი ტიპი IP მისამართების ერთი-ერთზე თარგმნის საშუალებას იძლევა. ამ თარგმანის ძირითადი ტიპია RFC-2663. ამ შემთხვევაში იცვლება მხოლოდ IP მისამართები, ასევე IP სათაურების საკონტროლო ჯამი. თქვენ შეგიძლიათ გამოიყენოთ თარგმანის ძირითადი ტიპები ორი IP ქსელის დასაკავშირებლად, რომლებსაც აქვთ შეუთავსებელი მისამართი.

NAT არომატების უმეტესობას შეუძლია მრავალი კერძო ჰოსტის დახატვა ერთ IP მისამართზე, რომელიც საჯაროდ არის დანიშნული. ტიპიური კონფიგურაციის LAN იყენებს ქვექსელის ერთ-ერთ „პირად“ IP მისამართს. ამ ქსელში როუტერს აქვს პირადი მისამართი სივრცეში. როუტერი ასევე აკავშირებს ინტერნეტს „საჯარო მისამართის“ გამოყენებით, რომელიც მინიჭებულია ინტერნეტ პროვაიდერის მიერ. ვინაიდან ტრაფიკი მომდინარეობს ადგილობრივი ინტერნეტიდან, წყაროს მისამართი თითოეულ პაკეტში ითარგმნება კერძოდან საჯაროზე. როუტერი ასევე აკონტროლებს ძირითად მონაცემებს თითოეული აქტიური კავშირის შესახებ. კერძოდ, ეს ეხება ისეთ ინფორმაციას, როგორიცაა დანიშნულების მისამართი და პორტი. როდესაც პასუხი მას უბრუნდება, ის იყენებს კავშირის მონაცემებს, რომლებიც ინახება გამავალი ფაზის დროს. ეს აუცილებელია იმისათვის, რომ განისაზღვროს კერძო შიდა ქსელის მისამართი, რომელზეც უნდა იყოს მიმართული პასუხი. ამ ფუნქციის მთავარი უპირატესობა ის არის, რომ ეს არის IPv4 მისამართის სივრცის ამოწურვის პრობლემის პრაქტიკული გადაწყვეტა. ერთი IP მისამართით, დიდი ქსელებიც კი შეიძლება დაუკავშირდეს ინტერნეტს. IP ქსელების ყველა დატაგრამის პაკეტს აქვს ორი IP მისამართი - წყაროს მისამართი და დანიშნულების მისამართი. პაკეტებს, რომლებიც მიემგზავრებიან კერძო ქსელიდან საჯარო ქსელში, ექნებათ პაკეტის წყაროს მისამართი, რომელიც იცვლება საჯარო ქსელიდან კერძო ქსელზე გადასვლისას. ასევე შესაძლებელია უფრო რთული კონფიგურაციები.

NAT კონფიგურაციის მახასიათებლები

NAT-ის დაყენებას შეიძლება ჰქონდეს გარკვეული ფუნქციები. დაბრუნებული პაკეტების თარგმნასთან დაკავშირებული სირთულეების თავიდან ასაცილებლად, შესაძლოა საჭირო გახდეს შემდგომი ცვლილებები. ინტერნეტ ტრაფიკის უმეტესობა გაივლის UDP და TCP პროტოკოლებს. მათი ნომრები ისე იცვლება, რომ IP მისამართების და პორტის ნომრების შედარება იწყება მონაცემთა უკან გაგზავნისას. პროტოკოლები, რომლებიც არ არის დაფუძნებული UDP ან TCP-ზე, საჭიროებს თარგმნის სხვა მეთოდებს. როგორც წესი, ICMP ან ინტერნეტის კონტროლის შეტყობინებების პროტოკოლი ემთხვევა არსებულ კავშირს გაგზავნილ ინფორმაციას. ეს ნიშნავს, რომ ისინი უნდა იყოს ნაჩვენები იმავე IP მისამართისა და ნომრის გამოყენებით, რომელიც თავდაპირველად იყო მითითებული. რა არის გასათვალისწინებელი? NAT-ის კონფიგურაცია როუტერზე არ უზრუნველყოფს მას ბოლომდე კავშირს. ამ მიზეზით, ასეთ მარშრუტიზატორებს არ შეუძლიათ მონაწილეობა მიიღონ ზოგიერთ ინტერნეტ პროტოკოლში. სერვისები, რომლებიც საჭიროებენ TCP კავშირების დაწყებას გარე ქსელიდან ან მომხმარებლები პროტოკოლების გარეშე, შეიძლება უბრალოდ არ იყოს ხელმისაწვდომი. თუ NAT როუტერი არ ახორციელებს განსაკუთრებულ ძალისხმევას ასეთი პროტოკოლების მხარდასაჭერად, მაშინ შემომავალი პაკეტები შეიძლება არასოდეს მიაღწიონ დანიშნულების ადგილს. ზოგიერთი პროტოკოლი შეიძლება განთავსდეს ერთ გადაცემაში მონაწილე ჰოსტებს შორის, ზოგჯერ აპლიკაციის ფენის კარიბჭის გამოყენებით. თუმცა, კავშირი არ დამყარდება, როდესაც ორივე სისტემა გამოეყოფა ინტერნეტს NAT-ით. ასევე, NAT-ის გამოყენება ართულებს გვირაბის პროტოკოლებს, როგორიცაა IPsec, რადგან ის ცვლის მნიშვნელობებს სათაურებში, რომლებიც ურთიერთქმედებენ მოთხოვნის მთლიანობის შემოწმებასთან.

NAT: არსებული პრობლემა

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

მასშტაბურობა

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

NAT: გარკვეული სირთულეები

იმის გამო, რომ ყველა შიდა მისამართი არის შენიღბული, როგორც ერთი საჯარო მისამართი, შეუძლებელია გარე ჰოსტებისთვის დაწყებულიყო კავშირი კონკრეტულ შიდა ჰოსტთან, ფაირვოლზე სპეციალური კონფიგურაციის დაყენების გარეშე. ამ კონფიგურაციამ უნდა გადააგზავნოს კავშირები კონკრეტულ პორტში. IP ტელეფონის, ვიდეო კონფერენციისა და მსგავსი სერვისების აპლიკაციებმა უნდა გამოიყენონ NAT ტრავერსიის მეთოდები, რათა სწორად იმუშაონ. Rapt და საპირისპირო მისამართების თარგმნის პორტი საშუალებას აძლევს მასპინძელს, რომლის IP მისამართი დროდადრო იცვლება, დარჩეს ხელმისაწვდომი სერვერის სახით სახლის ქსელში ფიქსირებული IP მისამართის გამოყენებით. ეს პრინციპში საშუალებას უნდა მისცემს სერვერების დაყენებას დარჩეს დაკავშირებული. მიუხედავად იმისა, რომ პრობლემის ეს გადაწყვეტა იდეალური არ არის, ის შეიძლება იყოს კიდევ ერთი სასარგებლო ინსტრუმენტი ქსელის ადმინისტრატორის არსენალში როუტერზე NAT-ის კონფიგურაციასთან დაკავშირებული პრობლემების გადაჭრისას.

PAT ან პორტის მისამართის თარგმანი

Port Address Translation არის Cisco Rapt-ის იმპლემენტაცია, რომელიც ასახავს მრავალ კერძო IP მისამართს ერთ საჯარო IP მისამართზე. ამდენად, მრავალი მისამართი შეიძლება დაინიშნოს მისამართად, რადგან თითოეული მათგანის თვალყურის დევნება ხდება პორტის ნომრის გამოყენებით. PAT იყენებს უნიკალურ წყაროს პორტის ნომრებს შიდა გლობალურ IP-ზე, რათა განასხვავოს მონაცემთა გადაცემის მიმართულება. ეს რიცხვები 16-ბიტიანი მთელი რიცხვებია. შიდა მისამართების ჯამური რაოდენობა, რომლებიც შეიძლება ითარგმნოს ერთ გარე მისამართზე, თეორიულად შეიძლება იყოს 65536-მდე. სინამდვილეში, პორტების რაოდენობა, რომლებზეც შესაძლებელია ერთი IP მისამართის მინიჭება არის დაახლოებით 4000. PAT, როგორც წესი, ცდილობს ორიგინალის შენარჩუნებას. ორიგინალი" პორტი.. იმ შემთხვევაში, თუ ის უკვე გამოიყენება, Port Address Translation ანიჭებს პირველ ხელმისაწვდომი პორტის ნომერს, შესაბამისი ჯგუფის დასაწყისიდან. როდესაც აღარ არის ხელმისაწვდომი პორტები და არის ერთზე მეტი გარე IP მისამართი, PAT გადადის შემდეგზე, რათა გამოყოს წყაროს პორტი. ეს პროცესი გაგრძელდება მანამ, სანამ აღარ იქნება ხელმისაწვდომი მონაცემები. Cisco სერვისი აჩვენებს მისამართს და პორტს. ის აერთიანებს თარგმანის პორტის მისამართს და გვირაბის მონაცემებს IPv4 პაკეტებისთვის შიდა IPv6 ქსელში. არსებითად, ეს არის Carrier Grade NAT-ისა და DS-Lite-ის ალტერნატივა, რომელიც მხარს უჭერს პორტებისა და მისამართების IP თარგმანს. ეს თავიდან აიცილებს პრობლემებს, რომლებიც დაკავშირებულია კავშირის დამყარებასა და შენარჩუნებასთან. ის ასევე უზრუნველყოფს IPv6-ის განლაგების გარდამავალ მექანიზმს.

თარგმანის მეთოდები

ქსელის მისამართისა და პორტის თარგმნის რამდენიმე ძირითადი გზა არსებობს. ზოგიერთი აპლიკაციის პროტოკოლი მოითხოვს, რომ დაადგინოთ გარე NAT მისამართი, რომელიც გამოიყენება კავშირის მეორე ბოლოში. ასევე ხშირად საჭიროა გადაცემის ტიპის შემოწმება და კლასიფიკაცია. როგორც წესი, ეს კეთდება იმის გამო, რომ სასურველია შეიქმნას პირდაპირი საკომუნიკაციო არხი ორ კლიენტს შორის, რომლებიც მდებარეობს ცალკეული NAT-ების უკან. ამ მიზნით შეიქმნა სპეციალური პროტოკოლი RFC 3489, რომელიც უზრუნველყოფს UPD-ის მარტივ შემოვლებას NATS-ზე. დღეს ის უკვე მოძველებულად ითვლება, რადგან ამ დღეებში ასეთი მეთოდები არასაკმარისად ითვლება მოწყობილობების მუშაობის სწორად შესაფასებლად. 2008 წელს შეიქმნა RFC 5389, რომელმაც ახალი მეთოდების სტანდარტიზება მოახდინა. ამ სპეციფიკაციას დღეს უწოდებენ Session Traversal. ეს არის სპეციალური პროგრამა, რომელიც შექმნილია NAT ოპერაციისთვის.

ორმხრივი კომუნიკაციის შექმნა

თითოეული UDP და TCP პაკეტი შეიცავს წყაროს IP მისამართს და მის პორტის ნომერს, ასევე დანიშნულების პორტის კოორდინატებს. პორტის ნომერი ძალიან მნიშვნელოვანია საჯარო სერვისების მისაღებად, როგორიცაა ფოსტის სერვერის ფუნქციონირება. მაგალითად, პორტი 25 უკავშირდება SMTP ფოსტის სერვერს, ხოლო 80 პორტი უერთდება ვებ სერვერის პროგრამულ უზრუნველყოფას. ასევე აუცილებელია საჯარო სერვერის IP მისამართი. ეს პარამეტრები საიმედოდ უნდა იყოს ცნობილი იმ კვანძებისთვის, რომლებიც აპირებენ კავშირის დამყარებას. პირადი IP მისამართები აქტუალურია მხოლოდ ადგილობრივ ქსელებში.

კარგი დღე, ძვირფასო მკითხველებო! კარგი, მოდით ვისაუბროთ NAT.

დღეს ჩვენ უფრო დეტალურად განვიხილავთ გარკვეულწილად მტკივნეულ და საკმაოდ გაუგებარ, მაგრამ უფრო გაუგებარ, ვიდრე მტკივნეულ თემას.

უფრო მეტად, ეს პრობლემა ეხება მათ, ვინც თამაშობს მრავალმოთამაშიან თამაშებს და მოკლედ, ეს პრობლემა ასე ჟღერს: "რატომ არავინ მოდის ჩემთან?" სხვებისთვის ეს პრობლემა ცოტა განსხვავებულად გამოიყურება, კერძოდ:

  • რატომ არ იტვირთება ტორენტი?
  • რატომ არ შეუძლიათ მომხმარებლები/მეგობრები/ნაცნობები/უცნობი პირები დაუკავშირდნენ FTP, WEB, VOIP (TS, Mumble, Bucket) და სხვა სერვერებს, რომელთა დაყენებას ამდენი ხანი ცდილობდით და ამოწმებდით, რომ ყველაფერი მუშაობს თქვენთვის?
  • რატომ არის თქვენი პირადი სახლის სერვერი ცარიელი? შეიძლება ეს იყოს უნივერსალური შეთქმულება?

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

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

დიახ, მე უბრალოდ მოგახსენეთ, რატომ არის საჭირო NAT. და ახლა იმის შესახებ, თუ რა არის.

ზოგადი განმარტება

NAT (ქსელის მისამართის თარგმანი) არის მექანიზმი, რომელიც საშუალებას აძლევს როუტერს განსაზღვროს რომელი სერვისები მდებარეობს როუტერის უკან და უნდა იყოს ხელმისაწვდომი ინტერნეტიდან, რათა იქიდან მომხმარებლებმა შეძლონ ამ სერვისების გამოყენება (მე არ ავიღე განმარტება ვიკიდან, რადგან ეს აბსტრაქტულია და ყველას არ ესმის).

NAT წარმოდგენილია ყველა მარშრუტიზატორსა და სერვერის ოპერაციულ სისტემაში ამა თუ იმ ფორმით. მარშრუტიზატორებში ამას ჩვეულებრივ უწოდებენ პორტის გადამისამართებას, Linux-ში iptables-ში, Windows სერვერებზე - სპეციალურ აღჭურვილობაში. ახლა მოდით ვისაუბროთ NAT-ის სხვადასხვა ტიპებზე.

ტიპი ერთი, სტატიკური NAT

სტატიკური NAT არ არის საჭირო თქვენი სახლისთვის, მაგრამ საჭიროა, თუ თქვენმა პროვაიდერმა გამოყო რამდენიმე IP მისამართი (გარე ან „თეთრი“ მისამართი) თქვენს კომპანიას და გჭირდებათ რამდენიმე სერვერი, რომ ყოველთვის იყოს ხილული ინტერნეტიდან, მათი მისამართების შეცვლის გარეშე.

იმათ. ხდება 1-1 მისამართის კონვერტაცია (ერთი გარე IP ენიჭება ერთ შიდა სერვერს). ამ დაყენებით, თქვენი სერვერები ყოველთვის ხელმისაწვდომი იქნება ინტერნეტიდან ნებისმიერ პორტზე.

  • ამ მეთოდის უპირატესობა ის არის, რომ თქვენ ხსნით წვდომას ინტერნეტიდან სპეციალურად კონკრეტული პროგრამისთვის კონკრეტულ კომპიუტერზე/სერვერზე, კომპიუტერის/სერვერის ყველა სხვა პორტი რჩება დახურული;
  • მინუსი არის ის, რომ თქვენ უნდა გახსნათ ყველა პორტი ხელით (ზოგჯერ პროგრამები ამას აკეთებენ თქვენთვის UPnP ტექნოლოგიის გამოყენებით, მაგრამ ეს ყოველთვის არ ხდება).

შემდგომი სიტყვა

ცოტა ქაოტური გამოვიდა და თემა საკმაოდ რთულია, მაგრამ იმედია ახლა სიტყვა NAT არ შეგაწუხებთ :)

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

PS: სტატიის არსებობისთვის განსაკუთრებული მადლობა პროექტის მეგობარს და ჩვენი გუნდის წევრს მეტსახელად “barn4k”

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

როგორ მუშაობს NAT

წარმოვიდგინოთ, მაგალითად, რომ გვაქვს ლოკალური ქსელი, რომელიც მოიცავს 3 სამუშაო სადგურს. გადავწყვიტეთ ინტერნეტთან დაკავშირება. პროვაიდერმა გამოგვიყო 1 გარე, რომელიც უნდა დავრეგისტრირდეთ ჩვენი როუტერის პარამეტრებში. შედეგად მივიღებთ შემდეგ სურათს.

ჩვენი სამი კომპიუტერი დაუკავშირდება ლოკალურ ქსელს მისამართებით "192.168.."

ასე გამოიყურება:

  • როუტერი - 192.168.1.1
  • კომპიუტერი 1 - 192.168.1.2
  • კომპიუტერი 2 - 192.168.1.3
  • კომპიუტერი 3 - 192.168.1.4

თუ უკვე იცნობთ ლოკალური ქსელების საფუძვლებს, უნდა იცოდეთ, რომ ქსელის ბარათების პარამეტრებში, „Default Gateway“ ველში, ჩვენი კომპიუტერების მნიშვნელობა უნდა იყოს 192.168.1.1. ამრიგად, ჩვენ უნდა გავგზავნოთ ყველა მოთხოვნა, რომელიც არ ეკუთვნის ჩვენს ადგილობრივ ქსელს ჩვენს როუტერში. მარტივად რომ ვთქვათ, ყველა ინტერნეტ მოთხოვნა გადამისამართდება მასზე.

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

სწორედ აქ მოდის NAT ტექნოლოგია სამაშველოში.

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

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

რასაც აქ ყურადღება უნდა მიაქციოთ. ჯერ ერთი, არ უნდა იყოს მხოლოდ ერთი გარე მისამართი. შეიძლება რამდენიმე მათგანი იყოს.

მეორეც, NAT ტექნოლოგიის გამოყენება აწესებს გარკვეულ შეზღუდვებს IP დაბლოკვასთან დაკავშირებით. ეს ხდება მაშინ, როდესაც თქვენ ცდილობთ წვდომას რესურსზე, სადაც მხოლოდ ერთ ჰოსტს შეუძლია ერთი IP-დან დაკავშირება. იმ შემთხვევაში, თუ ვინმე თქვენს ქსელში უკვე არის დაკავშირებული, თქვენ ვერ შეძლებთ კავშირის დამყარებას.

ტერმინოლოგია

ქსელის მისამართის თარგმნის პრინციპის გასაგებად, მოდით გავიგოთ ძირითადი ტერმინები.

ეს არის ამ ტექნოლოგიის დანერგვის პირველი ტიპი.

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

კონფიგურაცია Cisco მარშრუტიზატორებზე

  • გადადით ინტერფეისის პარამეტრებზე, რომელიც განთავსდება ქსელის შიდა ნაწილში და გამოიყენეთ ip nat შიგნით ბრძანება.
  • შემდეგი, გარე ინტერფეისისთვის, ბრძანება ip nat გარეთ
  • შემდეგი, გლობალური კონფიგურაციის რეჟიმში, ჩვენ უნდა დავაყენოთ მისამართების რუკების ხელით დაყენება. ჩვენ ვიყენებთ ბრძანებას ip nat შიგნით წყარო სტატიკური შიგნით-ლოკალური შიგნით-გლობალური. სადაც "შინაგან-ლოკალური" არის შიდა ლოკალური მისამართი, "შიდა-გლობალური" არის შიდა გლობალური

დინამიური NAT

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

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

პარამეტრები

  • დააყენეთ ip nat შიგნით შიდა ინტერფეისებისთვის
  • Ip nat გარეთ გარე
  • შექმენით ACL შიდა მისამართების სიით, რომლებიც უნდა მონაწილეობდნენ გადაცემაში
  • ჩვენ ვქმნით გარე მისამართების აუზს. გლობალური კონფიგურაციის რეჟიმში გამოიყენეთ ბრძანება ip nat pool name პირველი მისამართის ბოლო მისამართის ნიღაბი subnet mask. სადაც "name" არის აუზის სახელი, "first-address" არის საწყისი მისამართი, "last-address" არის ბოლო მისამართი, "subnet mask" არის ქვექსელის ნიღაბი.
  • ჩართეთ დინამიური NAT მისამართის თარგმანი. ip nat წყაროს სია acl-number pool pool-name. სადაც "acl-number" არის ადრე შექმნილი წვდომის კონტროლის სია, "pool-name" არის მისამართების კრებული.

PAT - პორტზე დაფუძნებული თარგმანი

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

სწორედ აქ მოდის NAT-ის მესამე განხორციელება - PAT პორტზე დაფუძნებული თარგმანი. მისი არსი იმაში მდგომარეობს, რომ ბმულის „მისამართი – მისამართი“ გარდა ემატება ბმული „მისამართი – პორტი“. ამ გზით, როუტერს შეუძლია გაააქტიუროს კავშირი არა მხოლოდ IP მისამართის, არამედ უნიკალური პორტის ნომრის გამოყენებით.

იმის გათვალისწინებით, რომ 16-ბიტიანი გამოიყენება პორტების ნუმერაციისთვის, 65 ათასზე მეტი კავშირი შეიძლება იყოს ერთდროულად აქტიური.

პარამეტრები

დაყენების მთელი პროცესი დინამიური მარშრუტიზაციის კონფიგურაციის მსგავსია. თუ გვსურს PAT-ის ჩართვა, კონფიგურაციის ბრძანებას უნდა დავამატოთ გადატვირთვის საკვანძო სიტყვა. საბოლოო ჯამში ასე გამოიყურება:

ip nat წყაროს სია acl-number ინტერფეისის სახელი/ნომრის გადატვირთვა

ვიდეო სტატიისთვის:

დასკვნა

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

რატომ ეძებთ ინფორმაციას სხვა საიტებზე, თუ ყველაფერი აქ არის თავმოყრილი?

  • Ნაბიჯ - ნაბიჯ