NAT چيست

اينترنت با سرعتی باورنکردنی همجنان در حال گسترش است . تعداد کامپيوترهای ارائه دهنده اطلاعات ( خدمات ) و کاربران اينترنت روزانه تغيير و رشد می يابد. با اينکه نمی توان دقيقا” اندازه اينترنت را مشخص کرد ولی تقريبا” يکصد ميليون کامپيوتر ميزبان (Host) و ۳۵۰ ميليون کاربر از اينترنت استفاده می نمايند. رشد اينترنت چه نوع ارتباطی باNetwork Address Translation (NAT) دارد؟ هر کامپيوتر بمنظور ارتباط با ساير کامپيوترها و سرويس دهندگان وب بر روی اينترنت، می بايست دارای يک آدرس IP باشد. IP يک عدد منحصر بفرد ۳۲ بيتی بوده که کامپيوتر موجود در يک شبکه را مشخص می کند.

اولين مرتبه ای که مسئله آدرس دهی توسط IP مطرح گرديد، کمتر کسی به اين فکر می افتاد که ممکن است خواسته ای مطرح شود که نتوان به آن يک آدرس را نسبت داد. با استفاده از سيستم آدرس دهی IP می توان ۴٫۲۹۴٫۹۷۶٫۲۹۶ (۲۳۲) آدرس را توليد کرد. ( بصورت تئوری ). تعداد واقعی آدرس های قابل استفاده کمتر از مقدار ( بين ۳٫۲ ميليارد و ۳٫۳ ميليارد ) فوق است . علت اين امر، تفکيک آدرس ها به کلاس ها و رزرو بودن برخی آدرس ها برای multicasting ، تست و موارد خاص ديگر است.

همزمان با انفجار اينترنت ( عموميت يافتن) و افزايش شبکه های کامپيوتری ، تعداد IP موجود، پاسخگوی نيازها نبود. منطقی ترين روش، طراحی مجدد سيستم آدرس دهی IP است تا امکان استفاده از آدرس های IP بيشَتری فراهم گردد. موضوع فوق در حال پياده سازی بوده و نسخه شماره شش IP ، راهکاری در اين زمينه است . چندين سال طول خواهد کشيد تا سيستم فوق پياده سازی گردد، چراکه می بايست تمامی زيرساخت های اينترنت تغيير واصلاح گردند. NAT با هدف کمک به مشکل فوق طراحی شده است . NAT به يک دستگاه اجازه می دهد که بصورت يک روتر عمل نمايد. در اين حالت NAT بعنوان يک آژانس بين اينترنت ( شبکه عمومی ) و يک شبکه محلی ( شبکه خصوصی ) رفتار نمايد. اين بدان معنی است که صرفا” يک IP منحصر بفرد بمنظور نمايش مجموعه ای از کامپيوترها( يک گروه ) مورد نياز خواهد بود.

کم بودن تعداد IP صرفا” يکی از دلايل استفاده از NAT است .در ادامه به بررسی علل استفاده از NATخواهيم پرداخت .
قابليت های NAT:

عملکرد NAT مشابه يک تلفتچی در يک اداره بزرگ است . فرض کنيد شما به تلفنچی اداره خود اعلام نموده ايد که تماس های تلفنی مربوط به شما را تا به وی اعلام ننموده ايد ، وصل نکند . در ادامه با يکی ازمشتريان تماس گرفته و برای وی پيامی گذاشته ايد که سريعا” با شما تماس بگيرد. شما به تلفتچی اداره می گوئيد که منتظر تماس تلفن از طرف يکی از مشتريان هستم، در صورت تماس وی ، آن را به دفتر من وصل نمائيد. در ادامه مشتری مورد نظر با اداره شما تماس گرفته و به تلفنچی اعلام می نمايد که قصد گفتگو با شما را دارد ( چراکه شما منتظر تماس وی هستيد ). تلفنچی جدول مورد نظر خود را بررسی تا نام شما را در آن پيدا نمايد. تلفنچی متوجه می شود که شما تلفن فوق را درخواست نموده ايد، بنابراين تماس مورد نظر به دفتر شما وصل خواهد شد.
NAT توسط شرکت سيسکو و بمنظور استفاده در يک دستگاه ( فايروال ، روتر، کامپيوتر ) ارائه شده است .NAT بين يک شبکه داخلی و يک شبکه عمومی مستقر و شامل مدل ها ی متفاوتی است .

NAT ايستا: عمليات مربوط به ترجمه يک آدرس IP غير ريجستر شده ( ثبت شده ) به يک آدرس IP ريجستر شده را انجام می دهد. ( تناظر يک به يک ) روش فوق زمانيکه قصد استفاده از يک دستگاه را از طريق خارج از شبکه داشته باشيم، مفيد و قابل استفاده است . در مدل فوق همواره IP 192.168.32.10 به IP 213.18.123.110 ترجمه خواهد شد.

NAT پويا : يک آدرس IP غير ريجستر شده را به يک IP ريجستر شده ترجمه می نمايد. در ترجمه فوق از گروهی آدرس های IP ريجستر شده استفاده خواهد شد.
Overloading :شکل خاصی از NAT پويا است . در اين مدل چندين IP غير ريجستر شده به يک IP ريجستر شده با استفاده از پورت های متعدد، ترجمه خواهند شد. به روش فوق PAT)Port Address Translation) نيز گفته می شود.

Overlapping : در روش فوق شبکه خصوصی از مجموعه ای IP ريجستر شده استفاده ميکند که توسط شبکه ديگر استفاده می گردند. NAT می بايست آدرس های فوق را به آدرس های IP ريجستر شده منحصربفرد ترجمه نمايد. NAT همواره آدرس های يک شبکه خصوصی را به آدرس های ريجستر شده منحصر بفرد ترجمه می نمايد. NAT همچنين آدرس های ريجستر شده عمومی را به آدرس های منحصر بفرد در يک شبکه خصوصی ترجمه می نمايد. ( در هر حالت خروجی NAT ، آدرس های IP منحصر بفرد خواهد بود. آدرس های فوق می تواند در شبکه های عمومی ريجستر شده جهانی باشند و در شبکه های خصوصی ريجستر شده محلی باشند )

شبکه هاي اختصاصی ( خصوصی ) معمولا” بصورت يک شبکه LAN می باشند . به اين نوع شبکه ها که از آدرس های IP داخلی استفاده می نمايند حوزه محلی می گويند. اغلب ترافيک شبکه در حوزه محلی بصورت داخلی بوده و بنابراين ضرورتی به ارسال اطلاعات خارج از شبکه را نخواهد داشت . يک حوزه محلی می تواند دارای آدرس های IP ريجستر شده و يا غيرريجستر شده باشد. هر کامپيوتری که از آدرس های IP غيرريجستر شده استفاده می کنند، می بايست از NAT بمنظور ارتباط با دنيای خارج از شبکه محلی استفاده نمايند.NAT می تواند با استفاده از روش های متفاوت پيکربندی گردد. در مثال زير NAT بگونه ای پيکربندی شده است که بتواند آدرس های غير ريجستر شده IP ( داخلی و محلی) که بر روی شبکه خصوصی ( داخلی ) می باشند را به آدرس های IP ريجستر شده ترجمه نمايد.

يک ISP ( مرکز ارائه دهنده خدمات اينترنت ) يک محدوده از آدرس های IP را برای شرکت شما در نظر می گيرد. آدرس های فوق ريجستر و منحصر بفرد خواهند بود . آدرس های فوق Inside global ناميده می شوند. آدرس های IP خصوصی و غيرريجستر شده به دو گروه عمده تقسيم می گردند : يک گروه کوچک که توسط NAT استفاده شده (Outside local address) و گروه بزرگتری که توسط حوزه محلی استفاده خواهند شد ( Inside local address) . آدرس های Outside local بمنظور ترجمه به آدرس های منحصربفرد IP استفاده می شوند.آدرس های منحصر بفرد فوق، outside global ناميده شده و اختصاص به دستگاههای موجود بر روی شبکه عمومی ( اينترنت) دارند.

اکثر کامپيوترهای موجود در حوزه داخلی با استفاده از آدرس های inside local با يکديگر ارتباط برقرار می نمايند. برخی از کامپيوترهای موجود در حوزه داخلی که نيازمند ارتباط دائم با خارج از شبکه باشند ،از آدرس های inside global استفاده و بدين ترتيب نيازی به ترجمه نخواهند داشت .

زمانيکه کامپيوتر موجود در حوزه محلی که دارای يک آدرس inside local است، قصد ارتباط با خارج شبکه را داشته باشد بسته های اطلاعاتی وی در اختيار NAT قرار خواهد گرفت .NAT جدول روتينگ خود را بررسی تا به اين اطمينان برسد که برای آدرس مقصد يک entry در اختيار دارد. در صورتيکه پاسخ مثبت باشد، NAT بسته اطلاعاتی مربوطه را ترجمه و يک entry برای آن ايجاد و آن را در جدول ترجمه آدرس (ATT) ثبت خواهد کرد. در صورتيکه پاسخ منفی باشد بسته اطلاعاتی دور انداخته خواهد شد.

با استفاده از يک آدرس inside global ، روتر بسته اطلاعاتی را به مقصد مورد نظر ارسال خواهد کرد.کامپيوتر موجود در شبکه عمومی ( اينترنت )، يک بسته اطلاعاتی را برای شبکه خصوصی ارسال می دارد. آدرس مبداء بسته اطلاعاتی از نوع outside global است . آدرس مقصد يک آدرس inside global است .
NAT در جدول مربوطه به خود جستجو و آدرس مقصد را تشخيص و در ادامه آن را به کامپيوتر موجود در حوزه داخلی نسبت خواهد کرد.NAT آدرس های inside global بسته اطلاعاتی را به آدرس های inside local ترجمه و آنها را برای کامپيوتر مقصد ارسال خواهد کرد.

روش Overloading از يک ويژگی خاص پروتکل TCP/IP استفاده می نمايد. ويژگی فوق اين امکان را فراهم می آورد که يک کامپيوتر قادر به پشتيبانی از چندين اتصال همزمان با يک و يا چندين کامپيوتر با استفاده از پورت های متفاوت TCP و يا UDP باشد.. يک بسته اطلاعاتی IP دارای يک هدر(Header) با اطلاعات زير است :

آدرس مبداء: آدرس کامپيوتر ارسال کننده اطلاعات است .
پورت مبداء: شماره پورت TCP و يا UDP بوده که توسط کامپيوتر مبداء به بسته اطلاعاتی نسبت داده شده است
آدرس مقصد : آدرس کامپيوتر دريافت کننده اطلاعات است .

پورت مقصد: شماره پورتTCP و يا UDP بوده که کامپيوتر ارسال کننده برای باز نمودن بسته اطلاعاتی برای گيرنده مشخص کرده است .
آدرس ها ، کامپيوترهای مبداء و مقصد را مشخص کرده ، در حاليکه شماره پورت اين اطمينان را بوجود خواهد آورد که ارتباط بين دو کامپيوتر دارای يک مشخصه منحصر بفرد است . هر شماره پورت از شانزده بيت استفاده می نمايد.( تعداد پورت های ممکن ۶۵۵۳۶ ( ۱۶ ۲ ) خواهد بود ) . عملا” از تمام محدوده پورت های فوق استفاده نشده و ۴۰۰۰ پورت بصورت واقعی استفاده خواهند شد.

NAT پويا و Overloading :
نحوه کار NAT پويا بصورت زير است :
يک شبکه داخلی ( حوزه محلی) با استفاده از مجموعه ای از آدرس های IP که توسط IANA)Internet Assigned Numbers Authority) به شرکت و يا موسسه ای اختصاص داده نمی شوند پيکربندی می گردد. ( سازمان فوق مسئول اختصاص آدرس های IP در سطح جهان می باشد) آدرس های فوق بدليل اينکه منحصربفرد می باشند، غير قابل روتينگ ناميده می شوند.موسسه مربوطه يک روتر با استفاده از قابليت های NAT را پيکربندی می نمايد. روتر دارای يک محدوده از آدرس های IP منحصر بفرد بوده که توسط IANA د ر اختيار موسسه و يا شرکت مربوطه گذاشته شده است . يک کامپيوتر موجود بر روی حوزه محلی سعی درايجاد ارتباط با کامپيوتری خارج از شبکه ( مثلا” يک سرويس دهنده وب) را دارد.
روتر بسته اطلاعاتی را از کامپيوتر موجود در حوزه محلی دريافت می نمايد و

آدرس IP غيرقابل روت را در جدول ترجمه آدرس ها ذخيره می نمايد. آدرس IP غير قابل روت را با يک آدرس از مجموعه آدرس های منحصر بفرد جايگزين می نمايد. بدين ترتيب جدول ترجمه، دارای يک رابطه ( معادله ) بين آدرس IP غيرقابل روت با يک آدرس IP منحصر بفرد خواهد بود.

زمانيکه يک بسته اطلاعاتی از کامپيوتر مقصد مراجعت می نمايد، روتر آدرس مقصد بسته اطلاعاتی را بررسی خواهد کرد.بدين منظور روتر در جدول آدرسهای ترجمه شده جستجو تا از کامپيوتر موجود در حوزه محلی که بسته اطلاعاتی به آن تعلق دارد، آگاهی پيدا نمايد.روتر آدرس مقصد بسته اطلاعاتی را تغيير ( از مقادير ذخيره شده قبلی استفاده می کند ) و آن را برای کامپيوتر مورد نظر ارسال خواهد کرد. در صورتيکه نتيجه جستجو در جدول، موفقيت آميز نباشد، بسته اطلاعاتی دور انداخته خواهد شد.

کامپيوتر موجود در حوزه ، بسته اطلاعاتی را دريافت می کند. فرآيند فوق ماداميکه کامپيوتر با سيستم خارج از شبکه ارتباط دارد، تکرار خواهد شد.
نحوه کار Overloading پويا بصورت زير است :

يک شبکه داخلی ( حوزه محلی) با استفاده از مجموعه ای از آدرس های IP که توسط IANA)Internet Assigned Numbers Authority) به شرکت و يا موسسه ای اختصاص داده نمی شوند پيکربندی می گردد. آدرس های فوق بدليل اينکه منحصربفرد می باشند غير قابل روتينگ ناميده می شوند.موسسه مربوطه يک روتر را با استفاده از قابليت های NAT ، پيکربندی می نمايد. روتر دارای يک محدوده از آدرس های IP منحصر بفرد بوده که توسط IANA د ر اختيار موسسه و يا شرکت مربوطه گذاشته شده است . يک کامپيوتر موجود بر روی حوزه داخلی ، سعی درايجاد ارتباط با کامپيوتری خارج از شبکه( مثلا” يک سرويس دهنده وب) را دارد.

روتر بسته اطلاعاتی را از کامپيوتر موجود در حوزه داخلی دريافت می نمايد.
روتر آدرس IP غيرقابل روت و شماره پورت را در جدول ترجمه آدرس ها ذخيره می نمايد. روتر آدرس IP غير قابل روت را با يک آدرس منحصر بفرد جايگزين می نمايد. روتر شماره پورت کامپيوتر ارسال کننده را با شماره پورت اختصاصی خود جايگزين و آن را در محلی ذخيره تا با آدرس کامپيوتر ارسال کننده اطلاعات ، مطابقت نمايد.

زمانيکه يک بسته اطلاعاتی از کامپيوتر مقصد مراچعت می نمايد ، روتر پورت مقصد بسته اطلاعاتی را بررسی خواهد کرد.بدين منظور روتر در جدول آدرس های ترجمه شده جستجو تا از کامپيوتر موجود در حوزه داخلی که بسته اطلاعاتی به آن تعلق دارد آگاهی پيدا نمايد.روتر آدرس مقصد بسته اطلاعاتی و شماره پورت را تغيير ( از مقادير ذخيره شده قبلی استفاده می کند ) و آن را برای کامپيوتر مورد نظر ارسال خواهد کرد. در صورتيکه نتيجه جستجو در جدول ، موفقيت آميز نباشد بسته اطلاعاتی دور انداخته خواهد شد.کامپيوتر موجود در حوزه داخلی ، بسته اطلاعاتی را دريافت می کند. فرآيند فوق ماداميکه کامپيوتر با سيستم خارج از شبکه ارتباط دارد، تکرار خواهد شد.

با توجه به اينکه NAT آدرس کامپيوتر مبداء و پورت مربوطه آن را در جدول ترجمه آدرس ها ذخيره شده دارد، ماداميکه ارتباط فوق برقرار باشد از شماره پورت ذخيره شده ( اختصاص داده شده به بسته اطلاعاتی ارسالی) استفاده خواهد کرد. روتر دارای يک Timer بوده وهر بار که يک آدرس از طريق آن استفاده می گردد reset می گردد.در صورتيکه در مدت زمان مربوطه ( Timer صفر گردد ) به اطلاعات ذخيره شده در NAT مراجعه ای نشود، اطلاعات فوق ( يک سطر از اطلاعات ) از داخل جدول حذف خواهند شد.

در صورتيکه برخی ازکامپيوترهای موجود در شبکه خصوصی از آدرس های IP اختصاصی خود استفاده می نمايند ، می توان يک ليست دستيابی از آدرس های IP را ايجاد تا به روتر اعلام نمايد که کداميک از کامپيوترهای موجود در شبکه به NAT نياز دارند.

 

تعداد ترجمه های همزمانی که يک روتر می تواند انجام دهد، ارتباط مستقيم با حافظه اصلی سيستم دارد. با توجه به اينکه در جدول ترجمه آدرس هر entry صرفا” ۱۶۰ بايت را اشغال خواهد کرد، يک روتر با ۴ مگابايت حافظه قادر به پردازش ۲۶٫۲۱۴ ترجمه همزمان است. مقدار فوق برای اغلب موارد کافی بنظر می آيد.IANA محدوده ای از آدرس های IP را که غيرفابل روت بوده و شامل آدرس های داخلی شبکه هستند مشخص نموده است .آدرس های فوق غيرريجستر شده می باشند.. هيچ شرکت و يا آژانسی نمی تواند ادعای مالکيت آدرس های فوق را داشته باشد و يا آنها را در شبکه های عمومی ( اينترنت ) استفاده نمايد. روترها بگونه ای طراحی شده اند که آدرس های فوق را عبور (Forward) نخواهند کرد.

Range 1: Class A – 10.0.0.0 through 10.255.255.255
Range 2: Class B – 172.16.0.0 through 172.31.255.255
Range 3: Class C – 192.168.0.0 through 192.168.255.255
امنيت
همزمان با پياده سازی يک NAT پويا، يک فايروال بصورت خودکار بين شبکه داخلی و شبکه های خارجی ايجاد می گردد. NAT صرفا” امکان ارتباط به کامپيوترهائی را که در حوزه داخلی می باشند را خواهد داد. اين بدان معنی است که يک کامپيوتر موجود در خارج از شبکه داخلی ، قادر به ارتباط مستقيم با يک کامپيوتر موجود در حوزه داخلی نبوده ، مگر اينکه ارتباط فوق توسط کامپيوتر شما مقدار دهی اوليه ( هماهنگی های اوليه از بعد مقداردهی آدرس های مربوطه ) گردد. شما براحتی قادر به استفاده از اينترنت دريافت فايل و … خواهيد بود ولی افراد خارج از شبکه نمی توانند با استفاده از آدرس IP شما، به کامپيوتر شما متصل گردند. NAT ايستا ، امکان برقراری ارتباط با يکی از کامپيوترهای موجود در حوزه داخلی توسط دستگاههای موجود در خارج از شبکه را ، فراهم می نمايند.
برخی از روترهای مبتنی بر NAT امکان فيلترينگ و ثبت ترافيک را ارائه می دهند. با استفاده از فيلترينگ می توان سايت هائی را که پرسنل يک سازمان از آنها استفاده می نمايند را کنترل کرد.با ثبت ترافيک يک سايت می توان از سايت های ملاقات شده توسط کاربران آگاهی و گزارشات متعددی را بر اساس اطلاعات ثبت شده ايجاد کرد.
NAT دربرخی موارد با سرويس دهندگان Proxy ، اشتباه در نظر گرفته می شود. NAT و Proxy دارای تفاوت های زيادی می باشند. NAT بی واسطه بين کامپيوترهای مبداء و مقصد قرار می گيرد. Proxy بصورت بی واسطه نبوده و پس از استقرار بين کامپيوترهای مبداء و مقصد تصور هر يک از کامپيوترهای فوق را تغيير خواهد داد. کامپيوتر مبداء می داند که درخواستی را از Proxy داشته و می بايست بمنظور انجام عمليات فوق ( درخواست ) پيکربندی گردد. کامپيوتر

مقصد فکر می کند که سرويس دهنده Proxy بعنوان کامپيوتر مبداء می باشد. Proxy در لايه چهارم (Transport) و يا بالاتر مدل OSI ايفای وظيفه می نمايد در صورتيکه NAT در لايه سوم (Network) فعاليت می نمايد. Proxy ، بدليل فعاليت در لايه بالاتر در اغلب موارد از NAT کندتر است .
بسته به نوع استفاده ، NAT روشهاي پياده سازي مختلفي دارد ولي همه آنها داراي يك مفهوم مي باشند.

NAT بسيار متداول شده تا آنجايي كه در قابليت پشتيباني از آن در اكثر دستگاه ها نظير router, firewall و… قرارداده شده است ويا حداقل يك نوع از اين تكنولوژي را پشتيباني مي كنند.

NAT تنها مختص شبكه هايي كه به اينترنت متصل هستند محدود نمي شوند ،بلكه شما از اين تكنولوژي مي توانيد بين شبكه هاي محلي خود نيز استفاده كنيد ولي چون اكثر سازمانها درجهت ارتباط با اينترنت از اين روش استفاده مي كنند ما نيز به بررسي همين نوع استفاده مي پردازيم.

مفهوم NAT بسيار ساده و به اين صورت است كه يك دستگاه (مثل كامپيوتر يا مسيرياب)به عنوان دروازه ورود به اينترنت عمل مي كند و با اين كار آدرس هاي ايستگاه هاي كاري را به آدرس دستگاهي كه NAT روي آن فعال است ترجمه مي كند ،به بيان ديگر NAT روي دستگاهي كه به اينترنت وصل شده فعال مي شود و ايستگاه هاي كاري و به طور كلي شبكه شما را از ديد اينترنت پنهان مي دارد.

از سوي ديگر اينترنت شبكه شما را به صورت يك دستگاه ساده مي بيند كه به اينترنت متصل مي باشد.

NAT روي شبكه تغيير ايجاد نمي كند و نيازي به تنظيمات دوباره روي ايستگاه هاي كاري نيست فقط ايستگاه هاي كاري مي بايست آدرس دروازه خروجي از شبكه را كه همان آدرس دستگاهي است كه NAT روي آن فعال شده را بدانند.

همان طوري كه در شكل بالا ديده مي شود شبكه با چهار ايستگاه كاري و يك مسيرياب جهت اتصال به اينترنت داريم .تمام ايستگاه هاي كاري داراي آدرس محلي گروه C مي باشند.

مفهوم NAT در شكل بالا به سادگي قابل فهم است.
NAT چگونه كار مي كند ؟
سه روش كلي براي اجراي NAT وجود دارد اگر چه قاعده كلي براي هر روش يكي است .همانطوري كه در شكل هاي بالا نشان داده شد ،ترافيك ارسالي از سمت ايستگاه هاي كاري از درون يك روتر به اينترنت وارد مي شوند و عمليات NAT را روي بسته ها انجام مي دهد و به مقصد مي فرستد.
هربسته اي كه روي كارت شبكه محلي مسيرياب دريافت مي شود توسط روتر عمليات جابجايي آدرس محلي با آدرس اينترنتي انجام مي شود و سپس بسته ها ارسال مي شود.

در اين شكل يك ايستگاه كاري از داخل شبكه يك بسته اطلاعاتي را به آدرس مقصد ۱۳۵٫۲۵۰٫۲۴٫۱۰ مي فرستد ، اين بسته اطلاعاتي از داخل دروازه خروجي گذشته وبه اينترنت مي رسد.
عمليات NAT روي بسته ارسالي به روش زير ارسال مي گردد :
بسته اطلاعاتي اصلي پس از رسيدن به مسيرياب آدرس مبداء آن از ۱۹۲٫۱۶۸٫۰٫۱۲ به ۲۰۳٫۳۱٫۲۲۰٫۱۳۴ تغيير پيدا مي كند سپس روتر اين اطلاعات را در حافظه خود و در NAT-Table نگهداري مي كند و به اين طريق است كه بسته هايي هم كه از اينترنت ارسال مي شوند ،مقصد خود را تشخيص مي دهند.
بعد از بررسي مفاهيم NAT مختصري از مفهوم NAT Table را بررسي مي كنيم.

NAT Table قلب اصلي عملكردNAT مي باشد. هر ارتباطي از داخل شبكه به خارج شبكه مانند اينترنت در اين جدول ثبت مي شود تا مسيرياب بداند كه با اطلاعات دريافتي روي Interface هاي خود چگونه رفتار كند و به كجا بفرستد. اين جدول به تدريج توسط ارتباط هايي كه ايجاد شده و از درون مسيرياب مي گذرد پر مي شود و هرگاه كه ارتباطي قطع شود ركورد ثبت شده در اين جدول حذف مي گردد و فضا براي ثبت ركوردهاي ديگر باز مي شود.

NAT Table در نوع هاي مختلف NAT متفاوت كار مي كند. NAT Table بزرگتر به معني اشغال حافظه بيشتر است و مي تواند ارتباطات زيادتري را رديابي كند، به اين معني كه دستگاهي كه NAT روي آن فعال است ، جدول بزرگتري دارد و مي تواند ارتباطات بيشتري را نسبت به دستگاهي كه NAT Table آن كوچكتر است ثبت و كنترل نمايد. شكل زير ساختار يك NAT Table را نشان مي دهد:

شكل فوق نمايانگر دو درخواست از داخل و از ايستگاههای كاري ۱۹۲٫۱۶۸٫۰٫۵ و ۱۹۲٫۱۶۸٫۰٫۲۱ به دستگاهي كه NAT روي آن فعال است ، مي باشد. اين بسته هاي اطلاعاتي به صورت موقتي روي يك قسمت خاصي از مسيرياب ذخيره شده تا تغييرات اندكي روي آن انجام شود. در اين مثال مسيرياب آدرس مبداء هر بسته اطلاعاتي را كه همان آدرس محلي ايستگاه هاي كاري مي باشد با آدرس اينترنتي خود كه آدرس ۲۰۳٫۳۱٫۲۲٫۱۳۴ است تعويض مي كند و سپس بسته اطلاعاتي از طريق كارت شبكه اينترنتي مسيرياب و يا دستگاهي كه NAT روي آن فعال است به اينترنت ميفرستد . يعني قبل از اينكه بسته هاي اطلاعاتي مسيرياب را ترك كنند يك ركورد براي هر بسته داخل جدول NAT ثبت مي شود اين ركورد مسيرياب را قادر مي سازد تا تصميم گيري مناسبي را براي بسته هايي كه از اينترنت برمي گردند انجام دهد.

وقتي كه جواب يك درخواست از اينترنت برمي گردد چه اتفاقي مي افتد؟
در واقع همان اتفاقي كه در مورد بسته هاي خروجي مي افتد روي بسته هاي ورودي نيز انجام مي شود.

وقتي جواب درخواستي از اينترنت به مسيریاب مي رسد ، مسيرياب از جدول NAT خود كمك گرفته و ركورد مشخص مربوط به اين درخواست را پيدا مي كند و يك تغيير كوچك ديگر روي بسته اطلاعاتي انجام مي دهد و اين تغيير، تعويض IP مقصد از ۲۰۳٫۳۱٫۲۲۰٫۱۳۴ به ۱۹۲٫۱۶۸٫۰٫۵ براي بسته اطلاعاتي اول و ۱۹۲٫۱۶۸٫۰٫۲۱ براي بسته اطلاعاتي دوم مي باشد. سپس اين بسته هاي جديد به مقصدشان فرستاده مي شوند و مسيرياب ركورد مربوط به اين دو را از جدول NAT خود حذف مي كند.

روي اكثر دستگاه هايي كه NAT را پشتيباني مي كنند، ارتباطات NAT محدود به حافظه موجود روي آن دستگاه مي باشد. هر ترجمه NAT (تعويضIP) حدود ۱۶۰ بايت از حافظه را اشغال مي كند. نتيجه اينكه اگر۱۰۰۰ ترجمه اتفاق بيفتد حدود ۱٫۶ مگابايت از حافظه اشغال مي شود. بنابراين Platform ي براي استفاده از NAT مناسب است كه داراي حافظه كافي براي كنترل ارتباطات و عملكرد NAT را نيز داشته باشد.
منابع:
www.iritn.com
www.shabgard.org
الهام كامراني تميرداش-راحله رحيمي
ترم ۵ – ناپيوسته كامپيوتر