در ادامه تصویری از نقشه یک شبکه خانگی ساده را مشاهده میکنید. آیکون ابر نشاندهنده اینترنت و شبکه عمومی یا نشانی IP پروتکل اینترنتی است که قرار است فوروارد شود. این نشانی IP نماینده کل شبکه خانگی شما در برابر شبکه بیرونی است، یعنی چیزی شبیه نشانی خیابان در یک آدرس پستی است.
آدرس به رنگ قرمز 192.168.1.1 نشانگر روتر درون شبکه است. نشانیهای دیگر همگی متعلق به رایانههایی است که در انتهای تصویر مشاهده میشود. اگر نشانی IP عمومی شما شبیه به نشانی خیابان باشد، نشانیهای IP داخلی را میتوان مانند شمارههای واحدهای آپارتمان برای آن نشانی خیابانی دانست.
نمودار فوق یک سؤال جالب را مطرح میکند که شاید تاکنون به آن نیاندیشیده باشید. چگونه است که همه اطلاعات صحیح از اینترنت به دستگاه مختص خود، درون شبکه داخلی میرسند؟ اگر از وبسایت faradars.org روی لپتاپ خود بازدید کنید، وقتی نشانی IP عمومی شما از بیرون برای همه دستگاهها یکسان است چگونه است که این وبسایت دقیقاً روی لپتاپ و نه رایانه دسکتاپتان بارگذاری میشود؟
این اتفاقات به لطف نوعی مسیریابی جادویی که به نام «ترجمه آدرس شبکه» (Network Address Translation) یا به اختصار NAT شناخته میشود ممکن شده است. این کارکرد در سطح روتر اتفاق میافتد و NAT به عنوان یک پلیس راهنمایی و رانندگی، گردش ترافیک شبکه را از طریق روتر کنترل میکند به طوری که یک نشانی IP عمومی منفرد میتواند روی همه دستگاههای پشت روتر به اشتراک گذارده شود. به دلیل وجود NAT هر کس در خانه میتواند به وبسایتها و دیگر محتوای اینترنتی مورد علاقه خود دسترسی پیدا کند و این محتوا به دستگاه صحیح خود بازگشت مییابد.
بنابراین شاید اینک بپرسید پس نقش پورتها چیست؟ پورتها مفهومی قدیمی و البته مفید هستند که بهروزهای آغازین محاسبات شبکه تعلق دارند. در آن زمان رایانهها هر زمان تنها یک اپلیکیشن را میتوانستند اجرا کنند و تنها کار لازم این بود که یک رایانه را روی شبکه به یک رایانه دیگر وصل کرد تا روی یک اپلیکیشن واحد کار کنند. زمانی که رایانهها پیچیدهتر شدند و میتوانستند چندین اپلیکیشن را اجرا کنند، دانشمندان علوم کامپیوتر آن زمان تلاش کردند با مشکل اتصال اپلیکیشنها به اپلیکیشن صحیح در سمت دیگر غلبه کنند و به این ترتیب پورتها متولد شدند.
برخی پورتها اپلیکیشنهای خاص خود را دارند که در سراسر صنعت رایانه استاندارد شده است. برای نمونه زمانی که به یک صفحه وب مراجعه میکنید از پورت 80 استفاده کردهاید. نرمافزار رایانهای گیرنده میداند که پورت 80 برای عرضه اسناد http استفاده میشود و از این رو به این پورت گوش میدهد و بر همین اساس پاسخ میدهد. اگر یک درخواست http را روی پورت مثلاً 143 ارسال کنید، وبسرور آن را تشخیص نمیدهد زیرا به آنجا گوش نمیدهد. این پورت در واقع برای منظور دیگری طراحی شده است.
البته همه پورتها کارکردهای از پیش تعیینشدهای ندارند و میتوان از آنها برای مقاصد مختلف استفاده کرد. برای اجتناب از تداخل با اپلیکیشنهای استاندارد، بهتر است از پورتهای با شماره بالا برای این پیکربندیهای جایگزین استفاده کرد. برای نمونه Plex Media Server از پورت 32400 استفاده میکند و سرورهای ماینکرفت از پورت 25565 بهره میگیرند که هر دو در دسته fair game جای میگیرند. اطلاعات بیشتر
هر پورت میتواند از سوی TCP یا UDP مورد استفاده قرار گیرد. TCP که اختصاری برای عبارت «پروتکل کنترل انتقال» (Transmission Control Protocol) است استفاده گستردهای دارد. اما UDP یعنی «پروتکل دیتاگرام کاربر» (User Datagram Protocol) در کاربردهای خانگی استفاده کمی دارد و تنها استثنا BitTorrent است. بسته به این که به چه چیزی روی پورت گوش میدهیم انتظار درخواستهای وارد شده باید از یکی از این دو نوع پروتکل باشند.
با این که برخی اپلیکیشنها از مزیت NAT بهره میگیرند و پورتهای خاص خود را برای مدیریت همه پیکربندیها تنظیم میکنند، اما همچنان اپلیکیشنهای زیادی وجود دارند که چنین کاری را انجام نمیدهند و باید به صورت دستی به روتر کمک کنید تا به این سرویسها و اپلیکیشنها وصل شود.
در نمودار زیر کار با یک درخواست ساده از لپتاپ آغاز میشود. فرض کنید نشانی IP این لپتاپ به صورت 225.213.7.42 است و میخواهید به شبکه خانگی وصل شود تا به برخی فایلها دسترسی پیدا کند. اگر صرفاً نشانی IP شبکه خانگی خود را در ابزاری که استفاده میکنید (برای نمونه کلاینت FP یا اپلیکیشن ریموت دسکتاپ) و آن ابزار از مزیت این قابلیتهای پیشرفته روتر که پیشتر اشاره کردیم، بهره نگیرد، در ارتباط موفق نخواهید بود. دلیل این عدم موفقیت آن است که شما نمیدانید باید درخواست خود را به کجا ارسال کنید و هیچ اتفاقی نخواهد افتاد.
این وضعیت البته یک قابلیت امنیتی بزرگ محسوب میشود. اگر فردی به شبکه خانگی شما وصل شود و به پورت معتبری وصل نشده باشد، باید اتصال وی رد شود. این رد کردن درخواستهای غیرمنتظره یکی از وظایف فایروال است که روتر انجام میدهد. با این حال اگر فردی که این در مجازی را میزند خود شما باشید در این صورت این رد کردن خوشایند نخواهد بود و باید آن را کمی دستکاری کنیم.
برای حل این مشکل، باید به روتر بگویید که «وقتی با این برنامه وصل میشوم، باید آن را از این پورت به این دستگاه ارسال کنی.» در این صورت روتر با استفاده از این دستورالعملها شما را به رایانه و اپلیکیشن صحیحی در شبکه خانگی وصل میکند.
بنابراین در این مثال زمانی که خارج از خانه هستید، میتوانید با استفاده از لپتاپ خود درخواستهایی در پورتهای متفاوت ارسال کنید. زمانی که با استفاده از پورت 22 به نشانی IP شبکه خانگی وصل شدید، روتر در این شبکه میداند که باید به نشانی 192.168.1.100 در شبکه خانگی برود. سپس SSH daemon در سیستم لینوکس پاسخ میدهد. همزمان میتوانید یک درخواست به پورت 80 ارسال کنید که روتر آن را به وبسرور در نشانی 192.168.1.150 میبرد و میتوانید به صورت ریموت لپتاپ خواهرتان را با VNC کنترل کنید و روتر شما را به لپتاپ خودتان در نشانی 192.168.1.200 متصل میسازد. به این ترتیب میتواند به سهولت به همه دستگاههایی که قاعده فوروارد کردن پورت را برایشان تنظیم کردهاید وصل شوید.
مفید بودن فوروارد کردن پورت به این موارد محدود نمیشود. میتوانید با استفاده از فوروارد کردن پورت، شمارههای پورت سرویسهای کنونی را برای روشنتر شدن اوضاع و راحتی کار تغییر دهید. برای نمونه تصور کنید دو وبسرور دارید که روی شبکه خانگیتان کار میکنند و میخواهید یکی از آنها به سادگی و سهولت در دسترس باشد. فرض کنید این سرور آبوهوا است که میخواهید افراد آن را به سادگی پیدا کنند و وبسرور دیگری نیز وجود دارد که برای پروژههای شخصی است.
انتهای رپرتاژ آگهی/