רכיב הNAT – כיצד מחשבים ביתיים יוצאים לעולם?

מצוקה בכתובות הIP:

IPv4 מוגבל במספר הכתובות שלו, ליתר דיוק קיימות בסך הכל 4,294,967,295 כתובות IP בגרסה 4, עקב הכמות הקטנה של כתובות מגרסה 4 , הוחלט למצוא פתרון שימנע מצב שבו נגמרות כתובות מגרסה 4 ,תקיעה של האינטרנט.

הפתרון לבעיה , היה כתיבת התקן RFC1918 שעל פיו ישנן כתובות IP חוקיות וכתובות שאינן חוקיות וניתן לתרגם ביניהן, כך מנעו בזבוז של כתובות IP חוקיות. הרכיב שמבצע את פעולת התקן נקרא NAT – ראשי תיבות של Network Address Translation או בעברית תרגום כתובות רשת.

סוגי NAT:

קיימים כמה סוגים של NAT:

PAT/NAPT/Hide – רשת של כתובות לא חוקיות אשר כתובת אחת חוקית מייצגת אותה. ניתן לראות לדוגמה רשת ביתית.

Static NAT – תחנה עם כתובת לא חוקית שמייצגת אותה כתובת חוקית אחת. לדוגמה שרת בתוך רשת ארגונית

Dynamic NAT – דומה ל-PAT, אולם הרשת הפנימית גדולה כך שאי אפשר לייצג את כל רכיביה באמצעות כתובת חוקית אחת , נדרשות כמה כתובות חוקיות.

על PAT/ NAPT / Hide ועוד שמות נוספים…

אבחר במאמר להתמקד בסוג זה של NAT כיוון שהוא הסוג שבו נעשה שימוש ברשתות ביתיות וחשוב להבנה. במאמר זה אשתמש בשם PAT על מנת להסביר על סוג זה.

PAT – Port Address Translation הינו סוג של NAT שלפיו מספר מחשבים ברשת פנימית ( בעלי כתובות לא חוקיות) מיוצגים באינטרנט (יוצאים החוצה מהרשת הפנימית LAN ) על ידי כתובת חוקית אחת. לנתב הביתי קיימת כתובת אחת חוקית , וכתובת אחת לא חוקית על מנת לתקשר עם הרשת המקומית. על מנת שמחשב ביתי יוכל לצאת אל האינטרנט הוא פונה אל הdefault gateway שלו (הכתובת הפנימית של הנתב) בעזרת כתובת הIP הפנימית שלו (שמוגדרים על ידי פרוטוקול DHCP שעליו לא אפרט , תוכלו לראות על הפרוטוקול בגוגל) , בנוסף המחשב ברשת הפנימית פותח פורט רנדומלי ופונה לנתב שיספק לו את השירות המבוקש באינטרנט – למשל המחשב ברשת הביתית מעוניין לגלוש לאתר אינטרנט בפורט 80 , והפורט הרנדומלי אותו סיפק לנתב הוא 1234 . כלומר מבחינת המחשב ברשת הפנימית: כתובת המקור היא הכתובת הפנימית שלו , פורט המקור הוא הפורט הרנדומלי שהקצה (1234) כתובת היעד היא הכתובת של האתר אותו הוא ביקש (כתובת מילולית שתורגמה על ידי DNS , תוכלו למצוא עוד מידע בגוגל) ופורט היעד הוא פורט 80. המידע הנ"ל נשלח אל הראוטר ( הנתב ) על מנת שיבצע תרגום של הכתובת הלא חוקית של המחשב לכתובת החוקית של הנתב. התרגום מתבצע כך שהראוטר מבקש את הבקשה מהאתר , כאילו שהראוטר עצמו מעוניין לגלוש לאתר ויחזיר את התשובות מהאתר למחשב ברשת הפנימית שביקש לגלוש באתר.

אז איך בעצם יידע הנתב איזה מחשב ביקש את האתר?

בנתב קיימת טבלאת NAT אשר תפקידה להזכיר לנתב איזה כתובת פנימית יצאה לאינטרנט עם כתובתו החוקית של הנתב ובאיזה פורט:

נניח שכתובת הנתב החוקית היא 5.5.5.5 והכתובת הפנימית של המחשב היא 10.0.0.15 , הפורט שהגריל המחשב הוא 1234 , מה שיידע הנתב על פי טבלאת הNAT הוא הדבר הבא:

10.0.0.15:1234 = 5.5.5.5:1234 כלומר , הפנייה שביצעת עם כתובתך החיצונית בפורט המקור 1234 היא בעצם פנייה שביצע המחשב ברשת הפנימית שכתובתו היא 10.0.0.15 בפורט 1234, ואליו תחזיר את הפקטות שחוזרות בנוגע לבקשה זו.

תמונה שממחישה בפשטות את הNAT
Like

Omer Vaizman

תלמיד תיכון בכיתה י"ב , מתכנת בפייתון, JAVA ומתעסק בלינוקס ואבטחת מידע של WEB.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *