رفتن به محتوای اصلی
توضیح کوهستانNetworkingExplainer۶ شهریور ۱۴۰۵، ۱:۱۵· 6 دقیقه مطالعه· در فناوری

کالبدشکافی NAT (ترجمه آدرس شبکه): مودم شما واقعاً چگونه یک آدرس اینترنت را بین ده‌ها دستگاه تقسیم می‌کند؟

در دهه ۱۹۹۰، اینترنت در حال اتمام آدرس‌های خود بود. یک راه‌حل موقت به نام NAT آن را نجات داد و امروز به عنوان پلیس ترافیک نامرئی در هر مودم خانگی، هر بسته داده‌ای را که ارسال می‌کنید بازنویسی می‌کند.

به قلم کیان راد

متخصصان امنیت سایبری 40%مهندسان شبکه و طراحان اولیه 30%ارائه‌دهندگان خدمات اینترنت 30%
متخصصان امنیت سایبری
ارزش NAT را در ویژگی‌های فایروال تصادفی آن می‌دانند که شبکه‌های داخلی را از دید مهاجمان خارجی پنهان می‌کند.
مهندسان شبکه و طراحان اولیه
معتقدند NAT اصل ارتباط مستقیم در اینترنت را از بین برده و توسعه برنامه‌های نظیر به نظیر را به شدت پیچیده کرده است.
ارائه‌دهندگان خدمات اینترنت
به NAT و CGNAT به عنوان ابزاری حیاتی برای حفظ آدرس‌های گران‌قیمت IPv4 و به تعویق انداختن هزینه‌های ارتقا به IPv6 تکیه می‌کنند.

اصطلاحات کلیدی

آدرس آی‌پی (IP Address)
یک شناسه عددی منحصر‌به‌فرد که به هر دستگاه متصل به شبکه اختصاص داده می‌شود تا بتواند با دیگران ارتباط برقرار کند.
IPv4
نسخه چهارم پروتکل اینترنت که از آدرس‌های ۳۲ بیتی استفاده می‌کند و تنها می‌تواند حدود ۴.۳ میلیارد آدرس تولید کند.
پورت (Port)
یک شماره مجازی که به بسته‌های داده اضافه می‌شود تا مشخص کند این داده‌ها متعلق به کدام برنامه یا تبادل خاص هستند.
CGNAT
ترجمه آدرس شبکه در سطح اپراتور؛ زمانی که شرکت ارائه‌دهنده اینترنت به جای دادن آدرس عمومی به مودم شما، خودش یک NAT بزرگ برای هزاران کاربر اجرا می‌کند.

نکات کلیدی

  • فناوری NAT به عنوان یک راه‌حل موقت در سال ۱۹۹۴ برای جلوگیری از اتمام آدرس‌های اینترنت ابداع شد.
  • این سیستم با جایگزین کردن آدرس خصوصی دستگاه‌ها با یک آدرس عمومی، امکان اتصال همزمان ده‌ها دستگاه را فراهم می‌کند.
  • اگرچه NAT برای امنیت طراحی نشده بود، اما با پنهان کردن دستگاه‌های داخلی به یک فایروال طبیعی تبدیل شد.
  • این فناوری ارتباط مستقیم نقطه به نقطه را در اینترنت از بین برد و توسعه برنامه‌های نظیر به نظیر را پیچیده کرد.

نسخه کوتاه ماجرا این است: خانه شما ده‌ها دستگاه متصل به اینترنت دارد، اما شرکت ارائه‌دهنده خدمات اینترنت (ISP) شما تنها یک آدرس عمومی به شما اختصاص می‌دهد. فناوری NAT (ترجمه آدرس شبکه) همان مکانیسمی است که درون مودم شما قرار دارد و مانند یک مسئول پذیرش عمل می‌کند؛ درخواست‌ها را از دستگاه‌های داخلی می‌گیرد، آن‌ها را با نام خود به بیرون می‌فرستد و پاسخ‌ها را دقیقاً به همان دستگاهی که درخواست داده بود برمی‌گرداند. اما برای درک اینکه این سیستم واقعاً چگونه کار می‌کند، باید به زمانی برگردیم که اینترنت در آستانه یک فروپاشی ساختاری قرار داشت.[1]

در اوایل دهه ۱۹۹۰، اینترنت بر پایه پروتکلی به نام IPv4 بنا شده بود. این پروتکل تنها می‌توانست حدود ۴.۳ میلیارد آدرس منحصر‌به‌فرد تولید کند. در آن زمان، این عدد بسیار بزرگ به نظر می‌رسید، اما با ظهور رایانه‌های شخصی و وب جهان‌گستر، مهندسان متوجه شدند که به زودی تمام آدرس‌های موجود تمام خواهند شد. اگر قرار بود هر لپ‌تاپ و گوشی جدیدی یک آدرس عمومی داشته باشد، اینترنت تا پیش از سال ۲۰۰۰ به پایان ظرفیت خود می‌رسید.[2][3]

راه‌حل این بحران در سال ۱۹۹۴ و در قالب سندی به نام RFC 1631 معرفی شد. این سند یک «هک» موقت به نام NAT را پیشنهاد داد. ایده این بود که به جای اختصاص آدرس‌های عمومی به همه دستگاه‌ها، بلوک‌های خاصی از آدرس‌ها (مانند آن‌هایی که با 192.168 شروع می‌شوند) به عنوان آدرس‌های «خصوصی» رزرو شوند. این آدرس‌ها در اینترنت عمومی قابل مسیریابی نیستند و می‌توانند در میلیون‌ها خانه و اداره به طور همزمان و تکراری استفاده شوند.[2]

اما چگونه یک دستگاه با آدرس خصوصی می‌تواند با اینترنت عمومی صحبت کند؟ اینجاست که مودم شما وارد عمل می‌شود. فرض کنید با گوشی خود (که آدرس خصوصی 192.168.1.5 دارد) می‌خواهید یک وب‌سایت را باز کنید. گوشی شما یک بسته داده ایجاد می‌کند که روی آن نوشته شده: «از طرف 192.168.1.5 به مقصد سرور وب‌سایت».[1]

وقتی این بسته به مودم می‌رسد، مودم می‌داند که اگر بسته را با همان آدرس خصوصی به اینترنت بفرستد، سرور مقصد هرگز نمی‌تواند پاسخی برگرداند، زیرا آدرس‌های خصوصی در اینترنت نامرئی هستند. بنابراین، مودم بسته را باز می‌کند، آدرس فرستنده (گوشی شما) را پاک می‌کند و آدرس عمومی خودش را (که ISP به آن داده است) جایگزین آن می‌کند.

برای اینکه مودم فراموش نکند این درخواست متعلق به کدام دستگاه بوده است، از تکنیکی به نام PAT (ترجمه آدرس پورت) استفاده می‌کند. مودم یک شماره پورت تصادفی (مثلاً ۵۰۱۲۳) به این ارتباط اختصاص می‌دهد و آن را در دفتری به نام «جدول NAT» یادداشت می‌کند. در این جدول نوشته می‌شود: «پورت ۵۰۱۲۳ متعلق به گوشی با آدرس 192.168.1.5 است».

بسته داده اکنون با آدرس عمومی مودم و پورت جدید وارد اینترنت می‌شود. سرور وب‌سایت درخواست را دریافت می‌کند و پاسخ را به آدرس عمومی مودم شما و پورت ۵۰۱۲۳ ارسال می‌کند. از دیدگاه سرور، او در حال صحبت با یک رایانه واحد (مودم شما) است و هیچ ایده‌ای ندارد که در پشت این مودم، ده‌ها دستگاه مختلف وجود دارند.[1][3]

بسته داده اکنون با آدرس عمومی مودم و پورت جدید وارد اینترنت می‌شود.

وقتی پاسخ به مودم می‌رسد، مودم به جدول NAT خود نگاه می‌کند. او می‌بیند که پورت ۵۰۱۲۳ به گوشی شما تعلق دارد. بنابراین، دوباره بسته را باز می‌کند، آدرس گیرنده را از آدرس عمومی خود به آدرس خصوصی گوشی شما تغییر می‌دهد و آن را در شبکه داخلی به سمت گوشی می‌فرستد. تمام این فرآیند بازنویسی در کسری از میلی‌ثانیه انجام می‌شود.

این توهم ارتباط مستقیم، یکی از زیباترین دروغ‌های مهندسی شبکه است. گوشی شما فکر می‌کند مستقیماً به اینترنت متصل است و اینترنت فکر می‌کند مستقیماً با مودم شما در ارتباط است. هیچ‌کدام از طرفین متوجه حضور این مترجم نامرئی در میانه راه نمی‌شوند. شرکت‌های فناوری اغلب این فرآیند را به عنوان یک ویژگی جادویی بازاریابی می‌کنند، اما در واقع این فقط یک عملیات جایگزینی متن ساده در هدر بسته‌های داده است.[4]

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

اگر یک بسته داده مخرب از بیرون به مودم شما برسد که در پاسخ به هیچ درخواست داخلی‌ای نباشد، مودم به جدول NAT خود نگاه می‌کند، هیچ رکوردی برای آن پیدا نمی‌کند و به سادگی بسته را دور می‌اندازد. این ویژگی که به عنوان «فایروال طبیعی» شناخته می‌شود، دلیل اصلی این است که چرا دستگاه‌های خانگی شما بلافاصله پس از اتصال به اینترنت هک نمی‌شوند.[3]

با این حال، این سپر دفاعی تصادفی بهای سنگینی داشت. NAT اصل بنیادین اینترنت یعنی «ارتباط نقطه به نقطه» (End-to-End) را از بین برد. در طراحی اولیه اینترنت، هر رایانه می‌توانست مستقیماً با هر رایانه دیگری صحبت کند. اما با وجود NAT، دستگاه‌ها در پشت دیوارهای نامرئی پنهان شدند.[2][4]

این موضوع باعث ایجاد کابوس‌های مهندسی برای برنامه‌هایی شد که نیاز به ارتباط مستقیم دارند. بازی‌های چندنفره آنلاین، تماس‌های صوتی (VoIP) و سیستم‌های اشتراک فایل نظیر به نظیر (P2P) همگی با NAT مشکل دارند. مهندسان مجبور شدند پروتکل‌های پیچیده‌ای (مانند STUN و TURN) را اختراع کنند تا بتوانند سوراخ‌هایی در این دیوار ایجاد کنند و به دستگاه‌ها اجازه دهند یکدیگر را پیدا کنند.[3][4]

امروزه، حتی با وجود NAT، آدرس‌های IPv4 در حال اتمام هستند. به همین دلیل، شرکت‌های ارائه‌دهنده اینترنت به استفاده از CGNAT (NAT در سطح اپراتور) روی آورده‌اند. در این حالت، حتی مودم شما هم یک آدرس عمومی دریافت نمی‌کند، بلکه یک آدرس خصوصی از ISP می‌گیرد و ISP خودش یک NAT عظیم را برای هزاران کاربر اجرا می‌کند. این «NAT دوگانه» مشکلات ارتباطی را برای گیمرها و کاربران حرفه‌ای دوچندان کرده است.[1][4]

راه‌حل نهایی این مشکل، مهاجرت به IPv6 است؛ پروتکلی که تعداد آدرس‌های آن به قدری زیاد است که می‌توان به هر اتم روی کره زمین یک آدرس اختصاص داد. با IPv6، از نظر تئوری دیگر نیازی به NAT نیست و هر دستگاه می‌تواند آدرس عمومی خود را داشته باشد. با این حال، به دلیل وابستگی عمیق صنعت به ویژگی‌های امنیتی و مدیریتی NAT، این هک موقت ۳۰ ساله همچنان به حیات خود ادامه می‌دهد و بعید است به این زودی‌ها بازنشسته شود.[2]

پرسش‌های متداول

آیا NAT سرعت اینترنت من را کاهش می‌دهد؟

خیر. مودم‌های مدرن دارای تراشه‌های سخت‌افزاری مخصوصی هستند که فرآیند بازنویسی آدرس‌ها را در کسری از میلی‌ثانیه و بدون افت سرعت انجام می‌دهند.

آیا NAT همان VPN است؟

خیر. NAT تنها آدرس فرستنده و گیرنده را روی بسته‌های داده تغییر می‌دهد تا امکان اشتراک‌گذاری اینترنت فراهم شود، اما هیچ‌گونه رمزنگاری روی محتوای داده‌ها انجام نمی‌دهد.

اگر از IPv6 استفاده کنم، دیگر نیازی به NAT ندارم؟

از نظر تئوری بله، زیرا IPv6 آدرس‌های کافی برای همه دستگاه‌ها دارد. اما در عمل، بسیاری از شبکه‌ها همچنان از مکانیسم‌های مشابه NAT برای حفظ امنیت و پنهان کردن ساختار شبکه داخلی استفاده می‌کنند.

چرا مهم است

هر بار که گوشی، تلویزیون یا لامپ هوشمند خود را به وای‌فای متصل می‌کنید، NAT تنها دلیلی است که همه آن‌ها می‌توانند به طور همزمان با اینترنت صحبت کنند، بدون اینکه مجبور باشید برای ۵۰ آدرس آی‌پی مجزا به شرکت ارائه‌دهنده اینترنت خود پول پرداخت کنید.

منابع

پوشش منابع

4 منبع

3 دیدگاه شناسایی‌شده

متخصصان امنیت سایبری 40%مهندسان شبکه و طراحان اولیه 30%ارائه‌دهندگان خدمات اینترنت 30%
  1. [1]Ciscoمتخصصان امنیت سایبری

    Overview of NAT

    مطالعه در Cisco
  2. [2]IETFمهندسان شبکه و طراحان اولیه

    RFC 1631 - The IP Network Address Translator (NAT)

    مطالعه در IETF
  3. [3]Wikipediaمهندسان شبکه و طراحان اولیه

    Network address translation

    مطالعه در Wikipedia
  4. [4]تیم سردبیری کوهستانمتخصصان امنیت سایبری

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت فناوری اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.