IPs-subnet-gateway-ports

Internet Protocol (IPv4 and IPv6 )

 کامپیوترها برای حضور در شبکه نیاز به آدرس شناسایی دارند. این آدرس ، IP یا Protocol Internet نامیده می‌شود. هر کدام از قسمت‌های آدرس یک هشت‌تایی یا یک Octet‌ نامیده می‌شود. دلیل این نام گذاری به این دلیل است که هر کدام از این قسمت‌ها 8 حالت متفاوت دارد. وقتی همه حالات را با هم جمع نمایید 32 ترکیب مختلف ایجاد می‌شود( 32=8*4). به همین دلیل آدرس‌های IP با چنین فرمتی را آدرس‌های 32 بیتی می‌نامند.

هر آدرس IP به دو قسمت Net و Host تقسیم می‌شود. قسمت Net بیانگر آدرس شبکه‌ای است که آدرس به آن تعلق دارد و Host هر آدرس در شبکه Net را مشخص می‌کند. ترتیب مورد استفاده برای تخصیص Net و Host به یک آدرس IP ، بستگی به کلاس (Class ) آن آدرس دارد. در کل 5 کلاس و تعدادی آدرس IP ثابت وجود دارد.

با توجه به آنکه اینترنت مجموعه ای از شبکه های متصل شده به هم است برای آدرس دادن به ماشین های میزبان بهتر است 32 بیت آدرسِ IP به قسمتهای زیر تقسیم شود:

الف) آدرس شبکه

ب) آدرس زیر شبکه (درصورت لزوم)

ج) آدرس ماشین میزبان

آدرس های IP در پنج کلاس E,D,C,B,A معرفی شده اند.

در زیر قالب کلاس های پنج گانۀ آدرس IP مشخص شده است:

1- آدرس های کلاس A  : قالب 32 بیتی آدرس در کلاس A به صورت زیر است :

 

همانطور که مشخص است پرارزش ترین بیت از آدرس ، مقدار صفر داشته و 7 بیت بعدی مشخصۀ آدرس شبکه است. سه بایت باقی مانده (3 اکتد دیگر) ، آدرس ماشین میزبان را تعیین می نماید. بنابراین دراین کلاس، بایت پرارزش در محدوده صفر تا 127 تغییر می نماید.

چون با 24 بیت میتوان حدود هفده میلیون ماشین میزبان را آدرس دهی نمود، میتوان به این نتیجه رسید که آدرس های کلاس A برای backbone اینترنت یا شبکه های بسیار عظیم مثل  NSFNet   یا  ARPANet اختصاص داده شده است.
لازم به ذکر است که مشخصۀ شبکه در این کلاس به هیچ وجه نمی تواند اعداد صفر یا 127 انتخاب شود چرا که این دو عدد در شبکه معنای دیگری خواهند داشت و بعداً به آن اشاره خواهد شد.

 تعداد شبکه هایی که در جهان میتوانند از کلاس A استفاده نمایند 126 عدد می باشد . امروزه اختصاص آدرس های کلاس A غیر ممکن است چرا که همۀ آنها توسط پیشگامان شبکه سال ها قبل تملیک شده اند .

با توجه به قالب دهدهی یک آدرس IP می توان کلاس آنرا تشخیص داد . اگر عدد سمت چپ آدرس ، بین صفر تا 127باشد ، آن آدرس از کلاس A خواهد بود :

 

 

 

نکته : آدرس 127.0.0.0در پروتکل اینترنت ، یک شبکه را تعیین نمی نماید بلکه بصورت قراردادی بعنوان آدرس    Loopback جهت اهداف اشکال زدایی استفاده شده است چرا که این آدرس عملاً معادل آدرس خود ماشین محلی است .

 

آدرس های کلاس B  : قالب 32 بیتیِ آدرس در کلاس B به صورت زیر است :

 

 

هرگاه دو بیت پرارزش از آدرس IP مقدار 10 داشته باشد آن آدرس از کلاس B خواهد بود.
 بیتهای باقیمانده (از 2 بایت سمت چپ (آدرس شبکه را تعیین می نماید و دو بایت اول از سمت راست 16) بیت (  ، آدرس ماشین میزبان خواهد بود . در آدرس های کلاس B ، تعداد 16382 ( 2- 214 ) شبکۀ گوناگون قابل تعریف خواهد بود و هر شبکه میتواند 65534 ( 2- 216 ) ماشین میزبان تعریف نماید . اختصاص آدرس های کلاس B برای شبکه های بسیار عظیم مناسب است . هر چند تعداد این شبکه در جهان میتواند تا حدود شانزده هزار عدد باشد ولیکن امروزه عملاً نمی توان آدرس کلاس B گرفت چرا که تقریباً همۀ آنها تخصیص داده شده اند .

اگر آدرس IP به صورت دهدهی نوشته شود و عدد سمت چپِ آن بین 128 تا 191 باشد ، آن آدرس ، کلاس B خواهد بود :

آدرس کلاس C  : قالب 32 بیتیِ آدرس در کلاس C به صورت زیر است  :

 

کلاس C مناسب ترین و پرکاربردترین کلاس از آدرس های IP است . همانگونه که از شکل مشخص است در این کلاس ، سه بیت پرارزش دارای مقدار 110 است و 21 بیت بعدی ( از سه بایت سمت چپ) برای تعیین آدرس شبکۀ مورد نظر بکار رفته است.

 بنابراین در این کلاس میتوان حدود دو میلیون شبکه را در جهان آدرس دهی نمود و هر شبکه میتواند تا 254 عدد ماشین میزبان تعریف نماید.

برای تشخیص آدرس های کلاس C به عدد سمت چپ از آدرس IP که به صورت دهدهی نوشته شده است دقت نمایید . اگر عدد بین 192 تا 223 باشد آدرس مربوطه از کلاس C خواهد بود :

 

 

آدرس کلاس : D قالب 32 بیتیِ آدرس در کلاس D به صورت زیر است :

 

 

در این کلاس، چهار بیت پرارزش دارای مقدار 1110 است و 28 بیت باقیمانده از کل آدرس برای تعیین آدرس های چند مقصده (Multicast ) است . از این آدرس ها برای ارسال یک دیتاگرام به طور همزمان برای چندین ماشین میزبان کاربرد دارد و به منظور عملیات رسانه ای و چند پخشی بکار میرود .

 

آدرس کلاس E : قالب 32 بیتیِ آدرس در کلاس E به صورت زیر است :

فعلاً این دسته از آدرس ها که پنج بیت پرارزش آنها در سمت چپ 11110 است کاربرد خاصّی ندارند و برای استفاده در آینده بدون استفاده رها شده اند . البته گاهی بصورت آزمایشی از این آدرس ها استفاده شد ولی تاکنون جهانی نشده اند .

 

آدرس های خاص

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

1-        آدرس 0.0.0.0   : هر ماشین میزبان که از آدرس IP خودش مطلع نیست این آدرس را بعنوان آدرس خود فرض می نماید . البته از این آدرس فقط به عنوان آدرس مبداء و برای ارسال یک بسته میتوان استفاده کرد و گیرندۀ بسته نمی تواند پاسخی به مبداء بسته برگرداند .

2-        آدرس : 0.HostID زمانی به کار میرود که ماشین میزبان ، آدرس مشخصۀ شبکه ای که بدان تعلق داشته را نداند . در این حالت در قسمت NetID مقدار صفر و در قسمت HostID شمارۀ مشخصۀ خود را قرار میدهد .

3-        آدرس : 255.255.255.255  برای ارسال پیام های فراگیر برای تمامی ماشین های میزبان بر روی شبکۀ محلی که ماشین ارسال کننده به آن متعلق است .

4-        آدرس NetID.255   : برای ارسال پیام های فراگیر برای تمامی ماشین های یک شبکۀ راه دور که ماشین میزبان فعلی متعلق به آن نیست . آدرس شبکۀ مورد نظر در قسمت NetID  تعیین شده و تمامی بیت های قسمت مشخصۀ ماشین میزبان 1 قرار داده میشود . البته بسیاری از مسیریاب ها برای مصون ماندن شبکه از مزاحمت های بیرونی ، چنین بسته هایی را حذف میکنند .

5-        : 127.xx.yy.zz   بعنوان آدرس بازگشت (Loop Back ) شناخته میشود و آدرس بسیار مفیدی برای اشکال زدایی از نرم افزار می باشد . به عنوان مثال اگر بسته ای به آدرس  127.0.0.1 ارسال شود ، بسته برای ماشین تولیدکنندۀ آن بر خواهد گشت. در این حالت اگر نرم افزارهای TCP/IP درست و بدون اشکال نصب شده باشد فرستنده بسته باید آنرا مجدداً دیافت کند . همچنین از این آدرس میتوان برای آزمایش برنامه های تحت شبکه ، قبل از نصب آنها بر روی ماشین های میزبان استفاده نمود

 

آدرس های زیرشبکه

تمامی ماشین های میزبان برای تشخیص محل مقصد یک بستۀ IP در شبکه،  احتیاج به یک مشخصۀ دیگری به نام الگوی زیرشبکه (subnet mask ) دارند.

الگوی زیرشبکه یک عدد 32 بیتی دودویی است که برای ماشین میزبان نقش یک مقایسه گر را بازی می نماید تا با استفاده از آن بتواند تشخیص دهد که آیا مقصد روی همین شبکه محلی (که خود به آن تعلق دارد) یا روی شبکه دیگری است .

فرض کنید که شرکتی با آدرس شبکه 131.55.0.0 ، میخواهد حداکثر دارای 254 زیر شبکه باشد ، به همین دلیل فرض کرده است که در فیلد مشخصۀ ماشین میزبان (که در کلاس B دو بایت سمت راست را شامل میشود ) بایت دومِ آن به عنوان مشخصۀ مربوط به زیر شبکه تعریف شود . یعنی فیلد دوبایتی مربوط به مشخصۀ ماشین میزبان به دو بخش تقسیم شده است :

الف ) مشخصۀ زیرشبکه          ب ) مشخصۀ ماشین میزبان

 

 

ماشین شما تصمیم دارد بسته ای را برای یک ماشین میزبان با آدرس IP معادل 131.55.108.75 بفرستد؛ ماشین از کجا میتواند بفهمد که مقصد روی همین شبکه محلی که شما بدان متعلق هستید واقع است یا آنکه به شبکۀ محلی دیگری متعلق است . دانستن این موضوع بسیار با اهمیت خواهد بود چرا که اگر ماشین میزبان مورد نظر روی شبکۀ دیگری باشد بسته باید با آدرس فیزیکی ”مسیریاب پیش فرض“روی کانال ارسال شود. بنابراین تمام ماشین های روی شبکه بایستی از وضعیت زیر شبکه ها مطلع باشند .

با توجه به توضیحات ارائه شده ، دومین بایت از سمت راست بعنوان مشخصۀ زیر شبکه اختصاص داده شده است و به همین دلیل هر ماشین برای دانستن آنکه آیا ماشین مقصد در شبکه محلی خودش واقع است یا خیر ، باید قسمت مشخصۀ شبکه ( subnet works ) و مشخصۀ زیرشبکه (subnet mask ) از آدرس IP خود را با همین مشخصه ها از آدرس مقصد مقایسه نماید.

اینجاست که یک الگوی 32 بیتی تعریف میشود. این الگوی 32 بیتی برای این مثال بصورت ذیل است 255.255.255.0

 

هر گاه ماشین بخواهد یک آدرس IP را تحلیل کند . الگوی فوق را با آدرس IP خودش AND می نماید. ( با اینکار در حقیقت Host ID خودش را صفر می نماید ) سپس مجدداً الگو را با آدرس IP مقصد AND میکند (مشخصۀ ماشین مقصد هم صفر میشود) حال نتیجه دو مرحله را با هم مقایسه مینماید . اگر نتیجه دو مرحله یکسان بود ، هم مشخصۀ شبکه و هم مشخصۀ زیرشبکه از آدرس های مبدأ و مقصد یکی است و هر دو روی یک شبکۀ محلی قرار دارند. در صورت عدم تساوی ، ماشین مبدأ به این نتیجه میرسد که مقصد مورد نظر روی شبکه محلی خودش نیست و آن بسته بایستی به آدرس فیزیکی مسیریاب پیش فرض ارسال شود. فرض کنید بسته ای با آدرسهای مشخص زیر بخواهد ارسال شود :

 

آدرس ماشین مبدأ    :       131.55.213.73

آدرس ماشین مقصد 131.55.108.75      : 

الگوی زیرشبکه 255.255.255.0      :        

      

حاصل مراحل 1 و 2 با هم مساوی نیستند و بنابراین ماشین مبدأ متوجه خواهد شد که ماشین مقصد روی شبکه محلی خودش نیست و بسته اطلاعاتی را بایستی به آدرس فیزیکی مسیریاب پیش فرض ارسال نماید.

به عنوان مثالی دیگر فرض کنید ماشین شما میخواهد برای ماشینی با آدرس IP زیر بسته ای را ارسال نماید:          131.55.213.84

 

 

همانگونه که مشاهده میشود حاصل مراحل 1 و 2 مساوی هستند و بالطبع مبدأ و مقصد روی یک شبکه محلی واقعند و هیچ لزومی ندارد که ارسال بسته به آدرس فیزیکی مسیریاب پیش فرض انجام شود ، بلکه باید مستقیماً از آدرس فیزیکی ایستگاه مقصد استفاده شود .

 

ذکر این نکته ضروری است که الگوی زیرشبکه باید به عنوان یکی از پارامترهای پیکربندی TCP/IP تنظیم شود و فقط برای تشخیص محل شبکۀ مقصد کاربرد دارد .

الگوی زیرشبکه در مثال های بالا ساده ترین حالت بود که به آنها  الگوی زیرشبکۀ استاندارد گفته میشود چرا که الگوها دقیقاً هشت بیتی هستند .

 

زیر شبکه های غیر استاندارد

الگوهای زیرشبکه برای تقسیم فضای آدرسدهی در شبکههای کلاس B ، A و C به تعدادی زیرشبکه ، تعریف میشوند . در مثالهائی که بررسی کردیم الگوی شبکه بصورت زیر تعریف شده بود : 255.255.255.0

حال الگوی زیر را در نظر بگیرید : 255.255.240.0

عدد 240 در الگوی زیرشبکه چه چیزی را تعریف میکند؟

به فرم دودویی الگوی بالا دقت کنید :

بفرض اگر الگوی بالا برای زیر شبکه بندی آدرس کلاس B به کار رفته باشد ، نشان دهنده آن است که چهار بیت پرارزش از بایت دوم برای تعیین شماره زیر شبکه به کار رفته است و 12 بیت باقیمانده بعنوان ”مشخصۀ ماشین میزبان “ استفاده شده است؛ بدین معنا که با این الگو میتوان 14 زیر شبکه ( 2- 24 ) تعریف نمود بگونه ای که در هر زیرشبکه 4094 ، ( 2- 212 ) ماشین میزبان قابل آدرس دهی خواهد بود .

فراموش نکنید که همیشه تعداد زیرشبکه ها و ماشین های میزبان از کل تعداد قابل تعریف ، دوتا کمتر است؛ چراکه زیرشبکه یا ماشینی که تمام بیت های آن صفر یا تماماً یک باشد قابل تعریف نیست .

کلاً برای آنکه با تنظیم الگوهای زیر شبکه آشنا شوید الگوریتم آنرا در زیر تشریح می نماییم :

الف : با دقت تعیین نمایید چه تعداد زیر شبکه و چه تعداد ماشین میزبان روی هر زیر شبکه خواهید داشت . به تعداد زیرشبکه ها و ماشین ها عدد 2 را اضافه کرده و سپس تعیین کنید هر کدام از این اعداد به حداقل چند بیت نیاز دارند .

ب  : الگوی 32 بیتی زیرشبکه را بگونه ای تنظیم کنید که در سمت راست آن به تعداد بیتی که برای آدرس دهی ماشین های میزبان نیاز است صفر قرار بگیرد . بیتهای باقیمانده را هم تماماً 1 قرار بدهید .

ج : الگوی دودویی را بفرم دهدهی نقطه دار تبدیل کنید .

د  : زیرشبکه ها و ماشین های میزبان روی هر زیرشبکه را تعریف نمائید .

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

فرض کنید یک شرکت بزرگ دارای حداکثر 25 شبکه محلی است که هر شبکه محلی حداکثر تا 1000 میزبان را حمایت می نماید . الگوی زیر شبکه را تنظیم نمائید .

الف  : برای آدرس دهیِ 25 زیرشبکۀ محلی 5 بیت کفایت می نماید

نکته :  با 5 بیت میتوانید سی زیرشبکه ( 2-32 ) را تعریف نمایید.

ب ) آدرس از کلاس B است پس قسمت 16 بیتی از مشخصۀ ماشین میزبان ، پس از کسر 5 بیت که بعنوان زیر شبکه استفاده شد مقدار 11 بیت خواهد بود . حداکثر تعداد ماشین میزبان قابل تعریف بصورت زیر حساب میشود :

211-2=2046

تعداد ماشین قابل تعریف از تعدادی که نیاز داشتیم خیلی بیشتر است که اجازه میدهد زیرشبکه در آینده گسترش یابد . پس الگوی زیرشبکه برای شبکۀ این شرکت به صورت زیر تنظیم میشود :

 

 

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

بگونه ای که اشاره شد وقتی تعداد زیر شبکه ها را حساب می نمایید نهایتاً عدد 2 را با آن جمع کنید و سپس تعداد بیتهای مورد نیاز را برای عدد بدست آمده محاسبه نمایید. مثلاً فرض کنید که کل شبکه دقیقاً چهار زیرشبکه داشته باشد؛ پس برای الگوی زیرشبکه باید سه بیت اختصاص بدهید.

 

Subnet Mask   ,,,  CIDR value
255.0.0.0                /8
255.128.0.0            /9
255.192.0.0           /10
255.224.0.0           /11
255.240.0.0           /12
255.248.0.0           /13
255.252.0.0           /14
255.254.0.0           /15
255.255.0.0           /16
255.255.128.0        /17
255.255.192.0        /18
255.255.224.0        /19
255.255.240.0        /20
255.255.248.0        /21
255.255.252.0        /22
255.255.254.0        /23
255.255.255.0        /24
255.255.255.128     /25
255.255.255.192     /26
255.255.255.224     /27
255.255.255.240     /28
255.255.255.248     /29
255.255.255.252     /30

 

 

آدرس‌ IP  های ذکر شده دارای 32 (24) بیت رقم بودند به همین دلیل آن‌ها را بیشتر به آدرس‌های IPv4 می‌شناسند.
در سال‌های اخیر به دلیل گسترش شبکه‌های کامپیوتری و اینترنت، نیاز به گستره جدیدی از آدرس‌های
IP احساس گردید به همین دلیل قرارداد‌هایی برای ایجاد آدرس‌های 128 بیتی تولید شد. این آدرس‌ها IPv 6   نامیده می‌شوند.
این آدرس‌ها در مبنای 16 نوشته می‌شوند و حدود 1038 ×3.403 آدرس را در بر می‌گیرند. یکی دیگر از مسایلی که در ساخت
IPv 6 مورد نظر بوده‌ است، استفاده از بلوک‌ها بزرگ عدد برای مشخص کردن مواردی مانند مسیریابی شبکه است.

Gateway Defualt

نقطه ای از شبکه است که به عنوان ورودی به شبکه دیگر عمل می نماید. در واقع به ماشینی اشاره می نماید که اطلاعاتی در رابطه با شبکه یا شبکه های دیگر در اختیار دارد.

زمانیکه آی پی آدرس مورد درخواست از رنج آی پی شبکه کنونی نبوده و یا با هیچ یک از مسیرهای موجود در routing table  های شبکه مرتبط نمی باشد درخواست به default gateway  تعریف شده ارسال خواهد شد.

Port

شماره پورت (که معمولا یک عدد 16 بیتی است ) برای تعیین اینکه یک بسته اطلاعاتی (packet ) در اینترنت یا سایر شبکه ها به چه برنامه ای در رایانه مقصد تعلق دارد، استفاه می شود. در پروتکل های ارتباطی TCP , UDP این عدد 16 بیتی در header بسته اطلاعاتی ارسالی قرار می گیرد و به کامپیوتر مقصد ارسال می گردد.

برای مثال فرض کنید درخواستی از طرف کامپیوتر خود به سرور،  برای دریافت یک فایل از طریق FTP ارسال می نمایید. در این حالت ، لایه TCP در کامپیوتر شما برای ارسال درخواست خود به برنامه FTP در سرور مقصد، شماره پورت 21 (که پورت اختصاصی  برنامه FTP می باشد) را در هدر بسته های اطلاعاتی درخواست خود می گنجاند. هدر بسته های اطلاعاتی پس از رسیدن، بوسیله لایه TCP در سرور مربوطه خوانده شده و با توجه به ارتباط آنها با پورت 21 به برنامه FTP جهت پردازش های بعدی ارسال می گردند.

برای برخی از برنامه ها و پردازش های به صورت قراردادی، اعداد ثابتی به عنوان پورت اختصاصی آنها درنظر گرفته شده است.

 

 

Description

Protocol

Port Number

File Transfer (Data Channel)

FTP-DATA

20

File Transfer (Control Channel)

FTP

21

Telnet

TELNET

23

Simple Mail Transfer Protocol

SMTP

25

Domain Name Server

DNS

53

Hyper Text Transfer Protocol

HTTP

80

Post Office Protocol v3

POP3

110

Internet Mail Access Protocol

IMAP

143

Secure Sockets Layer

SSL

443

Microsoft SQL  (SEQUEL)

MSSQL

1433

 

MYSQL

3306

Remote Desktop Protocol

RDP

3389

Virtual Network Computting

VNC (RFB)

5900

           

Socket address  

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