Network Address Translation

Network Address Translation (בראשי תיבות: NAT; בתרגום חופשי: תרגום כתובת רשת) היא טכניקת ניתוב ברשת מחשבים, בה נכתבות מחדש כתובות ה-IP של מנות המידע (packets) שעוברות בנתב או בחומת אש, כלומר, כתובת ה-IP שתצא משימוש תחזור אל מאגר הכתובות ותינתן למחשב אחר בשעת הצורך. הטכניקה מאוד יעילה ונמצאת בשימוש נרחב, ונתבים אישיים מודרניים לרוב מבצעים NAT כחלק מהפונקציות הבסיסיות של המכשיר.

== NAT בשימוש הנפוץ ==
היישום הנפוץ ביותר של NAT הוא חיבור מחשבים רבים הנמצאים באותה הרשת המקומית לרשת האינטרנט באמצעות כתובת IP אחת בלבד. יישום זה שימושי לצורך צמצום כתובות ה-IP בעולם, שהרי במקום שלכל מחשב תינתן כתובת IP חיצונית, כל המחשבים מיוצגים ככתובת אחת בלבד, וכן לשם חיבור לאינטרנט של רשת בעלת יותר ממחשב אחד, באמצעות חשבון אחד של חיוג או חיבור מהיר לאינטרנט.
לצורך ביצוע NAT כזה, נותנים כתובות IP פרטיות למחשבים ברשת. הנתב שמתחבר לאינטרנט גם מקבל מהחיבור כתובת IP חוקית ציבורית אחת. אותו נתב בדרך כלל גם יבצע את הניתוב עם NAT, ועל כן יקרא שער הגישה של הרשת הפנימית אל רשת האינטרנט. הניתוב מתבצע באופן הבא:
# כאשר מתקבלת מנת מידע מהרשת הפנימית, המיועדת לרשת האינטרנט:
#* כתובת המקור של מנת המידע מתורגמת כאילו שהמנה נשלחה מהנתב עצמו לאינטרנט
#* הפורט המקורי מתורגם לפורט מקור גבוה הניתן על ידי הנתב. פורט זה משמש כאינדקס לטבלת ה-NAT כדי שהנתב יידע להתאים את מנת החזור ל-IP הפנימי אליו היא שייכת (שימוש זה בפורטים גבוהים הוא הפתרון לבעיה של הסתרת מספר כתובות פנימיות על ידי כתובת אחת).
# כאשר מתקבלת מנת מידע מהאינטרנט אשר מיועדת לאחד ממחשבי הרשת הפנימית:
#* פורט היעד משמש כאינדקס לטבלת ה-NAT כדי למצוא את ה-IP הפנימי שאליו המנה צריכה להיות מנותבת.
#* פורט היעד מתורגם לפורט המקורי (הפנימי) שממנו יצאה המנה המקורית.
#* כתובת היעד מתורגמת כאילו מנת המידע נשלחה אל המחשב המתאים עם הכתובת הפנימית
#* מנת המידע מנותבת מחיבור האינטרנט אל החיבור של הרשת הפנימית בצירוף מס' הפורט שאיתו יצאה המנה מהרשת הפנימית

== אבטחה, NAT, וגרסה 6 של פרוטוקול IP ==
טכניקת NAT הפכה פופולרית בעקבות המחסור בכתובות IP בגרסה 4. מסיבות היסטוריות, למדינות מחוץ לארצות הברית הוקצו בלוקים מעטים יותר של כתובות IP, ולכן במדינות אלו NAT נפוץ יותר.

למחשבים שנמצאים "מאחורי" שער גישה מסוג NAT, אין קשר קצה לקצה ישיר ולכן מפעיליהם נתקלים בבעיה להשתמש בחלק מפרוטוקולי האינטרנט. NAT נחשבת בעיני רבים כטכניקה הפוגעת באינטרנט, מאחר שעקרון קצה לקצה הוא עקרון יסוד של אינטרנט אשר גופי התקינה הרשמיים תומכים בו ומנסים לפעול לחיזוקו. ספקיות אינטרנט רבות בעולם (בעיקר באירופה ואסיה) מספקות שירותי NAT בלבד, ולפיכך, מתקיים דיון ציבורי בשאלה אם הן מספקות שירותי אינטרנט בכלל.

טכניקת NAT מעניקה כמה יתרונות של אבטחת מידע, ולכן היא נמצאת בשימוש רב בחומות אש. מצד שני, הטכניקה מסבכת את היישום של פרוטוקולי אבטחת מידע כדוגמת IPSec.
פרוטוקול IP בגרסה 6 פותר את בעיית המחסור בכתובות של גרסה 4, וגם כולל בתוכו את הפונקציונליות של IPSec. לכן גרסה 6 של IP נחשבת אחד הפתרונות היותר טובים לפריסה נרחבת של הרבה מכשירים ברשת כדוגמת רשת טלפוניה סלולרית, אולם סביר להניח שייקח עוד זמן עד ליישום פרוטוקול זה בסביבה כזו.

== NAT בסיסי, לעומת תרגום מספרי שער ==
נהוג להבדיל בין שני סוגי NAT כלליים. הסוג הראשון שבדרך כלל נקרא NAT או NAPT מתייחס לתרגום כתובות המלווה בתרגום מספרי שער (port numbers). טכניקה זו מאפשרת, לדוגמה, לחבר מספר גדול של מחשבים לרשת האינטרנט באמצעות כתובת IP ציבורית אחת.
הסוג השני נקרא לפעמים NAT בסיסי (Basic NAT), או NAT קבוע (Static NAT), מתייחס לתרגום כתובת ה-IP בלבד, ולכן דורש כתובת ציבורית אחת עבור כל חיבור. טכניקה זו נמצאת בשימוש בעיקר בנתבי ADSL, לפעמים בשם "אזור מפורז" (DMZ), והיא מאפשרת למחשב לקבל כל חיבור חיצוני על אף שכתובת ה-IP נמצאת בשימוש על ידי הנתב עצמו.

NAT הכולל תרגום מספרי שער נבדל גם הוא לשני סוגים: תרגום כתובת מקור (SNAT), והמקבילה ההפוכה, תרגום כתובת יעד (DNAT).

== "התחזות" כתובת IP ==
מקרה פרטי של NAT נקרא "התחזות" (Masquerading), והוא מאפשר למחשבים רבים לשתף חיבור אינטרנט בצורה שקופה יחסית, כאשר מנקודת מבטו של כל מחשב ברשת הפנימית, נראה המחשב שמבצע NAT כמו כל נתב אחר ברשת האינטרנט.
כאשר הנתב ה"מתחזה" מנתב חיבורי רשת יוצאים לאינטרנט, הוא משכתב את כתובת המקור של מנות המידע באופן שקוף, עם הכתובת הציבורית שלו. כמו כן הנתב זוכר מידע בסיסי לגבי החיבור הזה בין המחשב הפנימי למחשב המרוחק. אז מנת המידע יוצאת אל רשת האינטרנט ואל מחשב היעד כאילו נשלחה מהנתב עצמו.
כאשר מגיעה מנת מידע עם תגובה בחזרה אל הנתב, הוא מחפש את המידע שנזכר כדי להחליט לאיזה מחשב ברשת הפנימית לשלוח את המנה. לאחר מכן הוא משכתב את כתובת היעד של מנת המידע עם הכתובת של המחשב הפנימי, ושולח אותה אל הרשת הפנימית.

== יתרונות וחסרונות ==
היתרונות של NAT הם משמעותיים. האפשרות לחבר מחשבים רבים לאינטרנט באמצעות חיבור אחד חוסכת הרבה כסף לארגונים וחברות, וגם חוסכת בכתובות אינטרנט. יתרון נוסף הוא בכך שניתן להסתיר את מבנה הרשת הפנימית מפני אנשים מבחוץ כגון האקרים או ספקית האינטרנט.

אחד החסרונות העיקריים הוא הקושי בשימוש בשירותים הדורשים יזימת חיבור TCP מהרשת החיצונית אל תוך הרשת הפנימית, או פרוטוקולים ללא-מצב (stateless) כגון UDP. ללא מאמץ מפורש מצד הנתב לתמוך בפרוטוקולים כאלה, חבילות המידע לא מגיעות ליעדן ולא נוצר החיבור. מצד שני יש הרואים בכך סוג של חומת-אש פשוטה, ולכן משתמשים שאינם רוצים לחשוף את שירותי הרשת במחשב שלהם רואים בכך יתרון.

חיסרון שני הוא כאשר גודל חבילת ה-IP גדול יותר מה-MTU של אחד מן ממשקי הרשת שבדרך ליעד - תתבצע פרגמנטציה וכתוצאה מכך כתובות הפורטים יופיע רק בחלק הראשון מבין כלל החלקים שעברו פרגמנטציה. אין אחידות לגבי היחס לפרגמנטציה בין רכיבי ה-NAT, מה שעלול לגרום לבעיות, בעיקר כאשר אותם חלקים לא מגיעים בסדר הנכון.<ref></ref>

== שימושים אחרים ==
* איזון עומסים (Load Balancing) - ניתן להשתמש בשכתוב כתובת יעד (DNAT) על מנת להפנות חיבורים נכנסים לאחד מתוך קבוצת שרתים אפשריים ובכך לאזן את העומס עליהם.
* ניתוב לשרת גיבוי - אם השרת הראשי אינו זמין, ניתן לגרום לנתב לבצע DNAT ובכך להפנות בקשות עבודה לשרת חלופי באופן שקוף.
* בא-כח שקוף (Transparent Proxy) - ניתן להפנות בעזרת NAT את הבקשות לגלישה בשרתי אינטרנט בפרוטוקול HTTP, אל שרת בא-כח (proxy) מיוחד שמסוגל לסנן בקשות ולהאיץ את הגלישה. ספקיות אינטרנט משתמשות בטכניקה זו על מנת להפחית את רוחב הפס הבינלאומי שבשימוש הלקוחות שלהן, ללא צורך בתצורה מחדש של הדפדפן במחשבי הלקוח.

== ראו גם ==
*חומת אש
*נתב
*Internet Protocol
*שיתוף חיבור אינטרנט<sup></sup>
*שרת פרוקסי
*Port Forwarding

== קישורים חיצוניים ==

==הערות שוליים==

קטגוריה:תקנים בתקשורת מחשבים
קטגוריה:כתובות רשת