• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
  • تعداد بازديد :
  • 10594
  • چهارشنبه 9/10/1383
  • تاريخ :

NAT در شبكه

اینترنت  با سرعتی  باورنكردنی  همجنان در حال گسترش است . تعداد كامپیوترهای ارائه دهنده اطلاعات ( خدمات ) و كاربران اینترنت روزانه تغییر و رشد می یابد.  با اینكه نمی توان دقیقا" اندازه اینترنت را مشخص كرد ولی تقریبا" یكصد میلیون كامپیوتر میزبان(Host) و 350 میلیون كاربر از اینترنت استفاده می نمایند. رشد اینترنت چه نوع ارتباطی باNetworkAddressTranslation)NAT ) دارد؟ هر كامپیوتر بمنظور ارتباط با سایر كامپیوترها و سرویس دهندگان وب بر روی اینترنت، می بایست دارای یك آدرسIP باشد.IP یك عدد منحصر بفرد 32 بیتی بوده كه كامپیوتر موجود در یك شبكه را مشخص می كند.

اولین مرتبه ای كه مسئله آدرس دهی توسطIP  مطرح گردید، كمتر كسی به این فكر می افتاد كه ممكن است  خواسته ای  مطرح شود كه نتوان به آن یك آدرس را نسبت داد. با استفاده از سیستم آدرس دهیIP می توان 4.294.976.296 (232) آدرس را تولید كرد. ( بصورت تئوری ). تعداد واقعی آدرس های قابل استفاده كمتر از مقدار ( بین 3.2 میلیارد و 3.3 میلیارد ) فوق است . علت این امر، تفكیك آدرس ها به كلاس ها و رزو بودن برخی آدرس ها برای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 بوده كه كامپیوتر ارسال كننده برای باز نمودن بسته اطلاعاتی برای گیرنده مشخص كرده است .

آدرس ها ، كامپیوترهای مبداء و مقصد  را مشخص كرده ،  در حالیكه شماره پورت این اطمینان را بوجود خواهد آورد كه ارتباط بین دو كامپیوتر دارای یك مشخصه منحصر بفرد است . هر شماره پورت از شانزده بیت استفاده می نماید.( تعداد پورت های ممكن 65536 (16 2 ) خواهد بود ) . عملا" از تمام محدوده پورت های فوق استفاده نشده و 4000 پورت بصورت واقعی استفاده خواهند شد.

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 مراجعه ای نشود،  اطلاعات فوق ( یك سطر از اطلاعات ) از داخل جدول حذف خواهند شد.

Source
Computer

Source
Computer's
IP Address

Source
Computer's
Port

NAT Router's
IP Address

NAT Router's
Assigned
Port Number

A

192.168.32.10

400

215.37.32.203

1

B

192.168.32.13

50

215.37.32.203

2

C

192.168.32.15

3750

215.37.32.203

3

D

192.168.32.18

206

215.37.32.203

4

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

تعداد ترجمه های همزمانی كه یك روتر می تواند انجام دهد، ارتباط مستقیم با حافظه اصلی سیستم دارد. با توجه به اینكه در جدول ترجمه آدرس هرentry صرفا" 160 بایت را اشغال خواهد كرد، یك روتر با 4 مگابایت حافظه قادر به پردازش 26.214 ترجمه همزمان است. مقدار فوق برای اغلب موارد كافی بنظر می آید.

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 كندتر است  .

برگرفته از سایت www.srco.ir

UserName