به هریک از رایانههای متصل به شبکه اینترنت یک (و در مواقعی چند) نشانی منحصر به فرد به نام نشانی پروتکل اینترنت (Internet Protocol address) یا به اختصار نشانی آیپی (IP address) اختصاص داده میشود.
پیامهائی که دیگر رایانهها برای این رایانه میفرستند با این شماره همراه است و رابطهای سر راه آن را مانند «نشانی گیرنده» در نامههای پستی تعبیر میکنند تا بالاخره پیام به رابط شبکه رایانه مورد نظر برسد. این عدد برای کامپیوترهایی که حالت سرور دارند (مثلا سایتها) و نیز کامپیوترهای کلاینتی که معمولا به روشی غیر از شمارهگیری (Dial Up) به اینترنت وصل هستند، عددی ثابت و برای دیگران عددی متغیر است. مثلا هر بار که شما با شرکت ISP خود تماس گرفته و به اینترنت وصل میشوید، عددی جدید به شما نسبت داده میشود.
این عدد یک عدد ۳۲ بیتی (۴ بایتی) است که بمنظور تسهیل در امر نمایش بصورت چهار عدد صحیح ( مبنای ده ) که بین آنها نقطه استفاده شده است نمایش داده می شوند و برای راحتی بهصورت زیر نوشته میشود:
xxx.xxx.xxx.xxx که منظور از xxx عددی بین ۰ تا ۲۵۵ است (البته بعضی شمارهها قابل استفاده نیست که بعدا علت را توضیح خواهم داد). مثلا ممکن است آدرس شما به صورت 195.219.176.69 باشد. این روش آدرسدهی را دهدهی نقطه دار مینامند هر یک از چهار بخش را یک هشتایی (octet) میگویند زیرا طول آن 8بیت(یا ۱ بایت) است. حتی اسمهایی مثل www.yahoo.com که برای اتصال استفاده میکنید، در نهایت باید به یک IP تبدیل شود، تا شما سایت یاهو را ببینید
آدرس IP هنگام وصل شدن به شبکه یکتا و شناسه سیستم متصل به شبکه می باشد. هر کامپیوتری از هر جای دنیا بصورت مستقیم وارد اینترنت شود،آدرس منحصر فردی داردهمینطور که در شکل بالا مشخص است،ما در اینجا IP را باxxx.xxx.xxx.xxx نشان داده ایم. هر کامپیوتری که وارد اینتزنت میشه IPمخصوص خود را دارد. و از هر جا دنیا وارد اینترنت شوید یک شمارهIPبه شما اختصاص پیدا میکند.
قالبهای آدرس IP
آدرس IP را گفتیم که از ۴ بایت تشکیل میشود. هر بایت از ۸ بیت تشکیل شده است. هر بیت میتواند ۱ یا ۰ باشد ( یعنی هر بیت را در مبنای باینری بیان میکنیم ) پس هر بایت یک عدد ۸ رقمی در مبنای ۲ خواهد بود. بمنظور بخاطر سپردن آسان آدرس های IP ، نحوه نما یش آنها بصورت دسیمال ( مبنای دهدهی ) بوده که توسط چهار عدد که توسط نقطه از یکدیگر جدا می گردند ، است.
هر یک از اعداد فوق را octet می گویند. کامپیوترها برای ارتباط با یکدیگر از مبنای دو (باینری ) استفاده می نمایند. بنابراین میتواند از ۰۰۰۰۰۰۰۰ تا ۱۱۱۱۱۱۱۱ باشد که در مبنای ۲ بیان شده است. حال اگر این اعداد را به مبنای ۱۰ تبدیل کنیم میبینیم که هر بایت میتواند اعدادی را از ۰ تا ۲۵۵ نگهداری کند. و چون گفتیم هر آدرس IP از ۴ بایت تشکیل شده است، بنابراین برای راحتی میتوانیم هر آدرس IP را به صورت xxx.xxx.xxx.xxx نمایش دهیم. که xxx میتواند بین ۰ تا ۲۵۵ باشد مثلا 195.219.176.69 یک آدرس IP است. این نمایش در حالتیاست که بخواهیم به صورت دسیمال نمایش دهیم. اگر بخواهیم همین IP را به صورت باینری نمایش دهیم، میشود:
11000011.11011011.10110000.01000101 و اگه بخواهیم به صورت اکتال نمایش دهیم میشود 303.333.260.105 و اگر بخواهیم به صورت هگزادسیمال نمایش دهیم، میشود C3.DB.B0.45 و توجه کنید که همه یک معنی دارند! اما نمایش به صورت دسیمال و هگزادسیمال برای سادگیاش، معمولتر است.
فقط تنها نکتهای که ممکن است اشتباه کنید، فرق بین اوکتال Octal و اوکتت Octet است. میدونید که اکتال یک مبنا را نماش میدهد ولی Octet نامی است که به هر کدام از ۴ بایت در آدرس IP گفته میشود ( یعنی هر کدام از قسمتهایی که با نقطه جدا شده است، یک اوکتت است ). دلیلش هم این است که اگه هر کدام از این قسمتها ( بایتها ) را به صورت باینری نمایش دهیم، یک عدد ۸ تایی ( ۸ بیتی ) بدست میآید و اوکت در زبان لاتین ( رومی ) یعنی هشت! پس هر آدرس IP دارای ۴ اوکتت است. نمایش یک IP بصورت چهار عدد ( Octet ) صرفا" برای راحتی کار نبوده و از آنان برای ایجاد " کلاس های "IP نیز استفاده می گردد. هر Octet به دو بخش مجزا تقسیم می گردد: شبکه (Net) و میزبان (Host) . اولین octet نشاندهنده شبکه بوده و از آن برای مشخص نمودن شبکه ای که کامپیوتر به آن تعلق دارد ، استفاده می گردد. سه بخش دیگر octet ، نشاندهنده آدرس کامپیوتر موجود در شبکه است.
همانگونه که گفته شد ، هر IP از 32 بیت تشکیل می گردد. بدین ترتیب می توان حداکثر 4.294.967.296 آدرس منحصر بفرد را استفاده کرد(232) مثلا" آدرس 255.255.255.255 برای Broadcast ( انتشار عام ) استفاده می گردد .
خوب گفتیم که ما در یک آدرس IP چهارتا بایت ( اوکتت ) داریم. این بایتها ارزش مکانی یکسانی ندارند. اگر بخواهیم ببینیم که به کمک این ۴ بایت چه تعداد آدرس IP میتونیم داشته باشیم، میگوییم که هر IP چهار بایت دارد و هر بایت ۸ بیت دارد. بنابراین کلا" ۳۲ بیت خواهیم داشت که چون به صورت باینری بیان شده است، میتواند ۲ به توان ۳۲ مقدار داشته باشد یعنی 4294967295 تا! ولی چون این تعداد IP هم به زودی تمام خواهد شد و در نتیجه مجبور خواهیم بود در چند سال آینده از این حالت آدرس دهی که IPv4 نام دارد، برویم به سمت IPv6.
بحث IDهای شبکه و میزبان
آدرس IP معمولا بعنوان مشخصه کامپیوترها به حساب می آیند، اما این بهترین راه برای فهمیدن آدرس IP نیست. اصولاً هر آدرسIP 32 بیتی به دو بخش تقسیم میشود: یک پیشوند و یک پسوند. این دو سطح به منظور ایجاد یک روش مسیریابی کارآمد طراحی شدهاست . پیشوند آدرس، شبکهای را که کامپیوتر به آن متصل است مشخص میکند(network) در حالیکه پسوند یک کامپیوتر یکتا را روی شبکه مشخص میکند(host). یعنی به هر شبکه در اینترنت یک مقدار یگانه که تحت عنوان شماره شبکه شناخته شدهاست ،اختصاص دارد.شمارهی شبکه بهعنوان یک پیشوند در آدرس هر کامپیوتری که به شبکه وصل است ظاهر میشود. بعلاوه به هر کامپیوتر روی یک شبکه، یک پسوند آدرس یگانه تخصیص یافته است.
هر آدرس کامل شامل یک پیشوند ویک پسوند است و طوری تخصیص داده میشوند که یکتا باشند، بنابراین خاصیت اول تضمین میگردد.اگر دو کامپیوتر به دو شبکه مختلف وصل شده باشند، آدرسهای آنها پیشوندهای متفاوت دارند.در صورتیکه دو کامپیوتر به یک شبکه وصل باشند آدرس های آنها دارای پسوندهای مختلف است.طبق مطالب ذکر شده آدرسIP شامل یک ID میزبان و یک ID شبکه میباشد. دلیل ایجاد این دو بخش این است TCP/IPبرای شبکههای با مقیاس بزرگ طراحی شده است، پس براحتی نمیتوانیم تمامی 32 بیت را که باعث ایجاد چهار میلیارد و سیصد میلیون آدرس میشود، را برای آدرسدهی میزبانهای روی شبکه استفاده کنیم. اگه IPها بدون هیچگونه نظمی به کامپیوترهای درون شبکه اختصاص پیدا کند، پیدا کردن یک IP خاص کار بسیار سختی خواهد بود. مثل این است که بجای اینکه اداره پست بخواهد نامهای را به آدرس ایران/ تهران/نفت شمالی / کدپستی 15246 بفرستد، برای هر ساختمان شماره یا نامی رو نسبت بدیم و بگیم که نامه را بفرست به خانهای به اسم عبدالعلی خاکپور قناری زاده پیرنیا اولیا! آدرسهای IP نیز باید نظم و ترتیبی به خود بگیرد تا کار سادهتر شود.
توضیح اینکه یک شرکت ( مثلا یک ISP ) تعدادی IP نیاز دارد. بنابراین میآیند و IP هایی را اختصاص میدهند که یک قسمتش ثابت باشه و قسمتی هم متغییر. بنابراین قسمتی از آدرس را برای نشان دادن محل کلی که نشان دهنده ابزار روی یک شبکه خاص است تعریف میکنند که برای یک مجموعه IP مقداری ثابت است و ID شبکه یا Network ID نام دارد و قسمتی که خود ابزار را نشان میدهد IDمیزبان یا Host ID نام دارد. هر دو این ID ها در یک آدرس IP قرار دارند. یعنی مجموعا IP را تشکیل میدهند. فرض کنید که شهرهای مختلف صندوق پستی نیاز دارند. اداره پست میآید و بجای اینکه به صورت کلی و سریال صندوق پستی اختصاص دهد، اول میگوید که مشخص کنید تهران، تبریز و ... و بعد و برای هر کدام یک شماره اختصاص میدهد و مثلا میگوید: تهران/صندوق پستی ۵۵۵۵۵ ! در این حالت کل عبارت تهران/صندوق پستی ۵۵۵۵۵ مثل یک آدرس IP است. عبارت ( تهران ) مثل ID شبکه است و (۵۵۵۵۵) مثل ID میزبان است. به این صورت یک نظم نسبی برقرار میشود.
حالا یک مثال تقریبا شبیه شرایط واقعی میزنم. فرض کنید که یک شرکت نیاز به مثلا ۲۰۰ عدد IP دارد برای کامپیوترها و ابزارهای شبکهای که دارد. او میخواهد اقدام به دریافت این IP ها کند. در این حالت، به او میگویند که ???.195.219.176 به او اختصاص یافته است. دقت کنید که سه بایت اول برای او ثابت و بایت آخر متغییر است. بنابراین IP های او 195.219.176.1 و 195.219.176.2 و ... خواهد بود. در این حالت ID شبکه برای او 195.219.176 و ID میزبان اعداد مختلف برای بایت آخر خواهد بود!
البته قالب IDشبکه و میزبان در کلاسهای مختلف متفاوت است.
نحوه اختصاص IP :
نحوه اختصاص IP به عناصر مورد نیاز در شبکه های مبتنی بر TCP/IP یکی از موارد بسیار مهم است . اختصاص IP ممکن است بصورت دستی و توسط مدیریت شبکه انجام شده و یا انجام رسالت فوق بر عهده عناصر سرویس دهنده نرم افزاری نظیر DHCP و یا NAT گذاشته گردد.
IP استاتیک و دینامیک چیست؟
IP دینامیک با هر بار وصل شدن به شبکه تغییر میکند اما استاتیک اینطور نیست. توضیح بیشتر اینکهIP دینامیک در هر شبکه توسط یک DHCP SERVER که همانطور که از اسمش پیداست یک سرور است به کامپیوتر ها در شبکه اختصاص داده میشود یعنی وقتی شما به صورت دایل آپ به اینترنت وصل میشوید DHCP SERVER آن ISP به شما یک IP اختصاص میدهد.
DHCP SERVER میتواند یک سرویس در ویندوز های سرور باشد یا یک قطعه سخت افزاری مانند router با access point در شبکه باشد.
کلاسهای آدرسIP
حالا که متوجه شدید که یک آدرسIP باید شامل IDهای شبکه و میزبان باشد، این را هم باید بدانید که بیتهای استفاده شده در ID شبکه همیشه قبل از بیت های استفاده شده برایID میزبان میباشند. اما این هم در تعیین دقیق تعداد بیتهای استفاده شده کمک نمیکند. به عبارت دیگه اگه یک آدرس IP به ما بدهند، باید بفهمیم که مالک این IP ها چه تعداد IP شبیه به این در اختیار دارد!
طراحان TCP/IPبرای حل این مشکل راه حل زیبایی دادند. با عرضهی مفهوم کلاسهای آدرس این مسئله حل شد. آنها آمدند و IP ها را به کلاسهای مختلفی تقسیم نمودند. آدرسهایIP به کلاسهای زیر تقسیم شدند که وقتی از یک کلاس استفاده میکنیم، مشخص میشود که این IP به چه تعداد از آدرسها محدود میشوند:
در این شکل مشخص است که ۵ کلاس مختلف تعریف شده است و به ترتیب با حروف A و B و C و D و E معیین میشوند. در زیرپنج کلاس متفاوت IP بهمراه برخی آدرس های خاص ، تعریف شده است :
1<=x<=126 128<=x<=191 192<=x<=223 224<=X<=239 240<=X<=247 | A B C D E |
آدرسهای کلاس A :
IP هایی در این کلاس قرار میگیرند که بایت(octet) اول اونها در محدوده ۱ تا ۱۲۶ باشد. (اگر اینها رو به باینری تبدیل کنیم میبینیم که میشود ۰۰۰۰۰۰۰۱ تا ۰۱۱۱۱۱۱۰ ) از سه octet دیگر بمنظور مشخص نمودن هر یک از کامپیوترهای میزبان استفاده می گردد.
بنابراین اگه یک IP مثلا به صورت 50.123.212.34 باشد، در این کلاس قرار میگیرد زیرا بایت اول اون که ۵۰ است بین ۱ تا ۱۲۶ قرار دارد. بدین ترتیب مجموع شبکه های کلاس A ، معادل 126 و هر یک از شبکه های فوق می توانند 16.777.214 کامپیوتر میزبان داشته باشند. ( عدد فوق از طریق حاصل 2-224 بدست آمده است ( .بنابراین تعداد تمام کامپیوترهای میزبان در شبکه های کلاس A معادل 2.147.483.648 (231) است . در کلاس فوق مشخصة شبکه بههیچوجه نمی تواند اعداد صفر یا 127 انتخاب شود چرا که این دو عدد در شبکه معنای دیگری خواهند داشت وبعدا به آن اشاره خواهیم کرد. در شبکه های کلاس A ، بیت با ارزش بالا در اولین octet همواره مقدار صفر را دارد.
یه کم با دقت بیشتر به این کلاس نگاه کنید. دقت کنید که تمام اعدادی که بین ۰۰۰۰۰۰۰۱ تا ۰۱۱۱۱۱۱۰ قرار دارند، یک ویژگی مشترک دارند و اون هم این است که بیت اول همشون عدد ۰ است. پس اگر آدرسی به ما بدهند که بیت اول از بایت اول اون ۰ باشد، مربوط به کلاس A است. مثل همین 50.123.212.34 را اگر در نظر بگیرم، بایت اول اون ۵۰ است که اگه اونو به صورت باینری بنویسم ( و دقت کنم که حاصل رو به صورت یک عدد ۸ بیتی در بیاورم) میشود: ۰۰۱۱۰۰۱۰ که اولین رقم از سمت چپ رقم صفر است.
وقتی یک IP داشته باشیم که در کلاس A باشد، در این حالت، ID شبکه برای اون IP، بایت اول خواهد بود و ID میزبانش هم سه بایت بعدی. یعنی مثلا اگر شرکتی را بدانیم که IP ی به صورت 50.123.212.34 در اختیار دارد، فورا میفهمیم که ID شبکهاش ۵۰ است و ID میزبان مجموعهای از xxx.xxx.xxx خواهد بود. بنابراین این شرکت شرکتی بزرگ است و محدوده بزرگی از IP ها را در اختیار دارد که در همهشان بایت اول عدد ۵۰ است ولی بایتهای بعدی متفاوت است!
ملاحظه میکنید که فقط تعداد ۱۲۶ عدد از همچین کلاسی وجود دارد یعنی فقط ۱۲۶ شرکت میتونند همچین IP هایی رو داشته باشند و از طرف دیگه خیلی کم پیش میاد که کسی بخواد همچین مجموعه بزرگی از IP ها رو خریداری کند. بنابراین این کلاس مخصوص آژانسهای ستون فقرات ( Back Bone ) یا شبکه های بزرگ مثل (NFSnet یا ARPAnet) استفاده می شود.
NET | Host (Node) |
115. | 24.53.107 |
نکته: به این علت 24 منهای 2 شده که نمیتوان از ID های 1.1.1.1 و0.0.0.0 استفاده نمود.
آدرسهای کلاس B:
IP هایی در این کلاس قرار میگیرند که بایت اول اونها در محدوده ۱۲۸ تا ۱۹۱ باشد. اگر اینها رو به باینری تبدیل کنیم میبینیم که میشود ۱۰۰۰۰۰۰ تا ۱۰۱۱۱۱۱۱
بنابراین اگه یک IP مثلا به صورت 180.123.212.34 باشد، در این کلاس قرار میگیرد زیرا بایت اول اون که ۱۸۰ است بین ۱۲۸ تا ۱۹۱ قرار دارد. یه کم با دقت بیشتر به این کلاس نگاه کنید. دقت کنید که تمام اعدادی که بین ۱۰۰۰۰۰۰ تا ۱۰۱۱۱۱۱۱ قرار دارند، یک ویژگی مشترک دارند و اون هم این است که بیت اول همشون عدد ۱ و بیت دوم همشون عدد ۰ است. پس اگر آدرسی به ما بدهند که بیت اول از بایت اول اون ۱ و بیت دوم از بایت اول اون ۰ باشد، مربوط به کلاس B است. مثل همین 180.123.212.34 را اگر در نظر بگیرم، بایت اول اون ۱۸۰ است که اگه اونو به صورت باینری بنویسم میشود: ۱۰۱۱۰۱۰۰ که اولین رقم از سمت چپ رقم یک و دومین رقم صفر است. در وقتی یک IP داشته باشیم که در کلاس B باشد، در این حالت، ID شبکه برای اون IP، مجموعه دو بایت سمت چپ خواهد بود و ID میزبانش هم دو بایت سمت راست. یعنی مثلا اگر شرکتی را بدانیم که IP ی به صورت 180.123.212.34 در اختیار دارد، فورا میفهمیم که ID شبکهاش 180.123 است و ID میزبان مجموعهای از xxx.xxx خواهد بود. یعنی ???.???.180.123 شکل IP هایی است که میتوان برای اون در نظر گرفت. پس میتوان نتیجه گرفت که 16382 شبکه گوناگون در این کلاس قابل تعریف است ( یعنی به 16382 شرکت مختلف میتوان از این کلاسها داد ) ، و هر شبکه میتواند 65534 ماشین میزبان را تعریف کند. ( یعنی هر کسی که یک عدد از این کلاسها بگیرد، تعداد 65534 از IP ها را در اختیار خواهد داشت ) بدین ترتیب 16.384(214) شبکه از نوع کلاس B وجود دارد. تعداد کامپیوترهای میزبان در این نوع شبکه ها( هر شبکه ) معادل 65.534 ( 2-216 ( است . بنابراین تعداد تمام کامپیوترهای میزبان در شبکه های کلاس B معادل 1.073.741.824 (230) است در شبکه های کلاس B ، اولین و دومین بیت در اولین octet به ترتیب مقدار یک و صفر را دارا می باشند.آدرسهای کلاس B بسیار پرکار هستند، و برای اختصاص دادن به شبکههای بزرگ مناسب است. در حال حاضر تقریبا همه آدرس های کلاس B اختصاص داده شده اند، برای همین عملا" نمیتوان آدرسی از کلاس Bگرفت.
NET | Host (Node) |
145.24. | 53.107 |
آدرسهای کلاس C:
کلاس فوق برای شبکه های کوچک تا متوسط در نظر گرفته می شود. IP هایی در این کلاس قرار میگیرند که بایت اول اونها در محدوده ۱۹۲ تا ۲۲۳ باشد. اگر اینها رو به باینری تبدیل کنیم میبینیم که میشود ۱۱۰۰۰۰۰ تا ۱۱۰۱۱۱۱۱
بنابراین اگه یک IP مثلا به صورت 210.123.212.34 باشد، در این کلاس قرار میگیرد زیرا بایت اول اون که ۲۱۰ است بین ۱۹۲ تا ۲۲۳ قرار دارد.
یه کم با دقت بیشتر به این کلاس نگاه کنید. دقت کنید که تمام اعدادی که بین ۱۱۰۰۰۰۰ تا ۱۱۰۱۱۱۱۱ قرار دارند، یک ویژگی مشترک دارند و اون هم این است که دو بیت اول همشون عدد ۱ و بیت سوم همشون عدد ۰ است.پس در شبکه های کلاس C ، اولین ، دومین و سومین بیت در اولین octet به ترتیب مقدار یک ، یک و صفر را دارا می باشند. مثل همین 210.123.212.34 را اگر در نظر بگیرم، بایت اول اون ۲۱۰ است که اگه اونو به صورت باینری بنویسم میشود: ۱۱۰۱۰۰۱۰ که دو رقم از سمت چپ رقم یک و دومین رقم صفر است. در کلاس فوق از دومین و سومین octet هم برای مشخص کردن شبکه استفاده می گردد. از آخرین octet برای مشخص نمودن هر یک از کامپیوترهای میزبان در شبکه استفاده می گردد .
یعنی مثلا اگر شرکتی را بدانیم که IP ی به صورت 210.123.212.34 در اختیار دارد، فورا میفهمیم که ID شبکهاش 210.123.212 است و ID میزبان مجموعهای از xxx خواهد بود. یعنی ???.210.123.212 شکل IP هایی است که میتوان برای اون در نظر گرفت. پس میتوان نتیجه گرفت که 2.097.152(221 ) عدد از این نوع کلاس وجود دارد ( یعنی به 2.097.152 شرکت میتوان از این کلاسها داد ) و تعداد کامپیوترهای میزبان در این نوع شبکه ها( هر شبکه ) معادل 254 (2-28( است. ( یعنی هر کسی که یک عدد از این کلاسها بگیرد، تعداد 254 از IP ها را در اختیار خواهد داشت )
در حاضر کلاس C بهترین و پرکاربردترین کلاس از آدرسهای IP است. مثلا اگر شرکتی بخواهد ۱۰۰۰ عدد IP داشته باشد، کافیاست که مثلا ۴ تا از این کلاسها خریداری کند. ( هر کدام میتوانند ۲۵۴ عدد IP داشته باشند و ۴ تا کلاس بیش از ۱۰۰۰ عدد IP خواهد بود)
NET | Host(Node) |
195.24.53. | 107 |
آدرسهای کلاس D:
از کلاس فوق برای multicasts استفاده می شود. ( Multicast هم اکنون با ارتباطات چند رسانه ای مثل ارتباطات Mbone استفاده میشوند.) در چنین حالتی یک گره ( میزبان) بسته اطلاعاتی خود را برای یک گروه خاص ارسال می دارد. تمام دستگاه های موجود در گروه ، بسته اطلاعاتی ارسال شده را دریافت خواهند کرد. ( مثلا" یک روتر سیسکو آخرین وضعیت بهنگام شده خود را برای سایر روترهای سیسکو ارسال می دارد ). برای شرکت در پخش چندگانه IP مجموعه ای از کامپیوترها ی میزبان باید بر سر استفاده از آدرس پخش چندگانه به طور مشترک توافق داشته باشند.پس از تشکیل گروه پخش چندگانه یک کپی از هر بسته اطلاعاتی فرستاده شده به آدرس پخش چندگانه به هر کامپیوتر میزبان در مجموعه تحویل میگردد .
کلاس فوق نسبت به سه کلاس قبلی دارای ساختاری کاملا" متفاوت است. اولین ، دومین ، سومین و چهارمین بیت به ترتیب دارای مقادیر یک ، یک ، یک و صفر می باشند.28 بیت باقیمانده بمنظور مشخص نمودن گروههائی از کامپیوتر بوده که پیام Multicast برای آنان در نظر گرفته می شود . بایت اول این آدرسهای IP بین ۲۲۴ تا ۲۳۹ است. اگه به صورت باینری بنویسیم میبینیم که در بایت اول همه اینها، سه بیت اول عدد ۱ و بیت چهارم عدد ۰ است.. کلاس فوق قادر به آدرسی دهی 268.435.456 (226) کامپیوتر است .
NET | Host(Node) |
224. | 24.53.107 |
آدرسهای کلاس E:
کلاس E فعلا کاربرد خاصی ندارد. این کلاس برای استفاده در آینده رزرو شده است و ازاین کلاس معمولا" برای موارد تجربی استفاده می شود. کلاس فوق نسبت به سه کلاس اولیه دارای ساختاری متفاوت است . اولین ، دومین ، سومین و چهارمین بیت به ترتیب دارای مقادیر یک ، یک ، یک و یک می باشند.27 بیت باقیمانده بمنظور مشخص نمودن گروههائی از کامپیوتر بوده که پیام Multicast برای آنان در نظر گرفته می شود. . بایت اول این آدرسهای IP بین ۲۴۰ تا ۲۴۷ است. اگه به صورت باینری بنویسیم میبینیم که در بایت اول همه اینها، چهار بیت اول عدد ۱ و بیت پنجم عدد ۰ است. کلاس فوق قادر به آدرسی دهی 268.435.456 (226 ) کامپیوتر است.
NET | Host(Node) |
240. | 24.53.107 |
IP نسخه شش :
نسخه فوق برخلاف نسخه فعلی که از 32 بیت بمنظور آدرس دهی استفاده می نماید ، از 128 بیت برای آدرس دهی استفاده می کند. هر شانزده بیت بصورت مبنای شانزده نمایش داده می شود :
2b63:1478:1ac5:37ef:4e8c:75df:14cd:93f2
شکل زیر تمام این مطالب را خلاصه کرده است:
نکته قابل توجه شکل این است که مثلا در کلاس B گفتیم ۲ بایت اول برای ما ID شبکه است ( یعنی ۱۶ بیت اول ) بعضیها میآیند و اون بیتهایی که در یک کلاس خاص مشخصه اون کلاس هستند ( مثلا در کلاس B دو بیت اول که باید به شکل ۱۰ میبود ) را از تعریف ID شبکه خارج میکنند و میگویند که مثلا در کلاس B آن ۱۴ بیتی که بعد از دو بیت اول هستند، بیانگر ID شبکه میباشند. که در شکل بالا اینگونه مطرح شده است.
خلاصه:
Class | 1st Octet | 2nd Octet | 3rd Octet | 4th Octet |
Net ID | Host ID | |||
A | ||||
Net ID | Host ID | |||
B | ||||
Net ID | Host ID | |||
C |
Network Type | Address Range | Normal Netmask | Comments |
Class A | 001.x.x.x to 126.x.x.x | 255.0.0.0 | For very large networks |
Class B | 128.1.x.x to 191.254.x.x | 255.255.0.0 | For medium size networks |
Class C | 192.0.1.x to 223.255.254.x | 255.255.255.0 | For small networks |
Class D | 224.x.x.x to 239.255.255.255 | Used to support multicasting | |
Class E | 240.x.x.x to 247.255.255.255 |
آدرسهای خاص:
در بین تمام کلاسهای آدرس IP چند گره از آدرسها ، معنای ویژه ای دارند وبا آنها نمی توان یک شبکة خاص را تعریف و آدرس دهی کرد. این پنج گروه آدرس عبارتند از:
1. حالتی که ID شبکه معتبر ولی تمام بیتهای ID میزبان صفر باشد:
یک آدرس IP نمیتواند دارای ID میزبانی باشد که همگی اعداد آن صفر باشد ؛ حتی اگر ID شبکه نیز معتبر باشد. یک آدرس IP که شامل یک ID شبکه معتبر و ID میزبان با اعداد صفر است، برای نشان دادن خود ID شبکه استفاده میشود. مثلا شبکهای داریم از کلاس B که دو بیت اول اون ۱۷۲ و ۱۴۷ است. در این حالت خود ID شبکه به صورت زیر نمایش داده میشود:
2. آدرس 255.255.255.255: (Broad Cast)
اگر بخواهیم بصورت باینری بگوییم میشود آدرسی که تمام ارقامش یک باشد. این IP برای انتشار پیام به شبکه محلی است که در نتیجه توسط هر میزبان IP قابل رویت است یا بعبارتی دیگر برای ارسال پیامهای فراگیر( Broad Cast) برای تمام ماشینهای میزبان بر روی شبکه محلی، که ماشین فرستنده در اون شبکه قرار دارد.
3. آدرس 0.0.0.0 (Default Network)
آدرس IP 0.0.0.0 ، برای شبکه پیش فرض در نظر گرفته شده است . آدرس فوق برای مواردیکه کامپیوتر میزبان از آدرس خود آگاهی ندارد استفاده شده تا به پروتکل هائی نظیر DHCP اعلام نماید برای وی آدرسی را تخصیص دهد و این آدرس را بعنوان آدرس خودش فرض میکند. مثل اینکه برای کسی نامه بفرستید ولی آدرس خود را بعنوان نویسنده ننوشته باشید، در نتیجه گیرنده پاسخی نمیتواند بدهد.
4. 0. HostID
این آدرس زمانی بکار می رود که ماشین میزبان ، آدرس مشخصة شبکه ای که بدان متعلق است را نداند در این حالت در قسمت NetID مقدار صفر ودر قسمت HostID شمارة مشخصة ماشین خود را قرار می دهد.
مثال: 0.0.123.54 برای کلاس B
5. حالتی که ID شبکه معتبر باشد ولی تمام بیتهای ID میزبان یک ( یعنی همه بایتهاش 255 ) باشد :
این آدرس برای ارسال پیام کلی برای کامپیوترهای یک شبکه راه دور در صورتی که کامپیوتر فرستنده جزو آن شبکه نباشد، کاربرد دارد. همچنین برای انتشار پیام مستقیم و هدایت شده استفاده میگردد. آدرس شبکة مورد نظر در قسمت NetID تعیین شده و تمام بیت های قسمت مشخصة ماشین میزبان 1 قرار داده می شود .البته بسیاری از مسیر یاب ها برای مصون ماندن شبکه از مزاحمت های بیرونی، چنین بسته هایی را حذف می کنند .
مثال 172.16.255.255
6. حالتیکه IP با یک یا چند بایت با مقدار 255 شروع شود:
هیچ ID شبکه ای نمیتواند اینگونه باشد. این گونه آدرسها برای الگوهای زیر شبکه (Subnet Mask) استفاده شده اند.
مثال: 255.255.0.0
7. حالتیکه بایت اول آدرس IP عدد 127 باشد:
اگر دقت کرده باشید عدد ۱۲۷ برای بایت اول در هیچ کدام از کلاسها موجود نبود زیرا این عدد برای IDهای شبکه قابل دسترس نیست. این آدرس به عنوان” آدرس بازگشت” شناخته می شود. این آدرس برای تشخیص هویت ، تست و اهداف مشکلزدایی ( مثلا از نرمافزارهای شبکهای) استفاده میشود. مانند آدرس IP 127.0.0.1 که برای LoopBack در نظر گرفته شده است . کامپیوتر میزبان از آدرس فوق برای ارسال یک پیام برای خود استفاده می کند.( در این حالت اگر نرم افزار های TCP/IP درست و بدون اشکال نصب شده باشد فرستندة بسته باید آنرا مجدا دریافت کند .). در حقیقت IP 127.0.0.1 از قبل برای کامپیوتر خودمان رزرو شده و به آن Local Host می گویند ؛ همچنین از این آدرس می توان برای آزمایش برنامه های تحت شبکه ، قبل از نصب آنها بر روی ماشینهای میزبان استفاده کرد.
آدرس های رزو شده: آدرس های IP زیر بمنظور استفاده در شبکه های خصوصی (اینترانت ) رزو شده اند :
نکته : هنگامی که به صورت Dial Up به اینترنت متصل می شوید معمولا IP کلاس C به شما تعلق می گیرد.
چگونه IPخود را بدست آوریم :
برای بدست آوردن IP خود در سیستم عامل ویندوز کافی است به محیط Command Prompt رفته و عبارت '' IPCONFIG '' را تایپ کنیم.
به طور مثال پس از اجرای دستور به نتایج زیر می رسید :
Windows IP Configuration 0 Ethernet adapter IP Address. . . . . . . . . : 213.155.55.232Subnet Mask . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . : 213.155.55.232
همچنین برای دیدن IP رایانه خود میتوانید از برنامه winipcfg.exe (در ویندوز ۹۵ و ۹۸ و ME) یا ipconfig.exe (در ویندوز ۲۰۰۰ و XP) استفاده کنید. اگر از لینوکس یا یونیکس (یا سیستمهای مبتنی بر آنها) استفاده میکنید، از دستور ipconfig استفاده کنید.
طریقه دادن IP :
برای دادن IP باید به آدرس زیر مراجعه کنیم:
control panel>network connection >
سپس بر روی کارت شبکه دوبار کلیک میکنیم و سپس internet protocol و سپس IP ADDRESS را انتخاب میکنیم.
Sub netting
یکی از مهمترین عملیات در رابطه با اختصاص IP مسئله Sub netting است . مسئله فوق بعنوان هنر و علمی است که ماحصل آن تقسیم یک شبکه به مجموعه ای از شبکه های کوچکتر (Subnet) از طریق بخدمت گرفتن ۳۲ بیت با نام Subnet mask بوده که بنوعی مشخصه (ID) شبکه را مشخص خواهد کرد.
آدرسهای زیر شبکه
شما با نگاه اول به اولین عدد سمت چپ یک آدرسIP متوجه خواهید شد که این آدرس از چه کلاسی است ولی هنوز موارد مبهمی وجود دارد: آیا شبکه ای که آدرس آنرا پیش رو دارید فقط یک شبکه است یا خودش زیر شبکه بندی شده است؛ یعنی از چند شبکة محلی متصل بهم تشکیل شده است؟
این اطلاعات برای شبکه های مبتنی برTCP/IP که قابلیت مسیر یابی دارند بسیار مهم است ، چرا که هر ماشین میزبان بایستی قادر به درک این مطلب باشد که آیا یک ماشین مقصد با آدرس خاص و مشخص، بر روی شبکة محلی خودش واقع است یا آنکه آن آدرس متعلق به زیر شبکه دیگری است.بر اساس این اطلاعات ماشین میزبان تصمیم می گیرد که آیا انتقال اطلاعات باید مستقیما بر روی شبکة محلی انجام شود یا آنکه باید از طریق یک مسیریاب روی شبکه ای دیگر ارسال شود.
برای آنکه بتوان زیر شبکه ها(Sub networks) را تفکیک کرد جدای از قسمت آدرس شبکه بایستی در قسمت مشخصة ماشین میزبان نیز به گونه ای زیر شبکه ها مشخص شوند. این کار از طریق مفهومی به نام ”الگوی زیر شبکه یا Subnet Mask “ انجام می شود.
الگوی زیر شبکه یک عدد 32 بیتی دودویی است که برای ماشین میزبان نقش یک مقایسه گر را بازی می کند تا با استفاده ازآن بتواند تشخیص دهد که آیا مقصد روی همین شبکه محلی است که خودش به آن تعلق دارد یا روی شبکه دیگری است.
فرض کنیدشما کاربری روی یک ایستگاه در شبکه دانشگاهی هستید آدرس IP متعلق به شما به صورت زیر اختصاص داده شده است:
131.55.213.73
با یک نگاه متوجه می شوید که آدرس از کلاسB است که مشخصه شبکه آن معادل 131.55.0.0 ومشخصة ماشین شما 0.0.213.73 است؛ ولی هنوز نمی دانید شبکه ای که مشخصه آن معادل 131.55است آیا زیر شبکه دارد یا خیر؟
فرض کنید که شبکه مورد نظر با آدرس 131.55.0.0 ، میخواهد حداکثر دارای 254 زیر شبکه باشد ،به همین دلیل فرض کرده است که در فیلد مشخصة ماشین میزبان که در کلاس B دو بایت سمت راست را شامل می شود، بایت دوم آن به عنوان مشخصة مربوط به زیر شبکه تعریف شود . یعنی فیلد دو بایتی مربوط به مشخصة ماشین میزبان به دو بخش تقسیم شده است:
الف ) مشخصة زیر شبکه ب) مشخصة ماشین میزبان
با توجه به آنچه که در بالا اشاره شد دومین بایت از سمت راست به عنوان مشخصة زیر شبکه اختصاص داده شده است و به همین دلیل هر ماشین برای دانستن آنکه آیا ماشین مقصد در شبکة محلی خودش واقع است یا در خارج از شبکه قرار دارد باید قسمت’’ مشخصة شبکه”و” مشخصة زیر شبکه” از آدرسIP خودش را با همین مشخصه ها از آدرس مقصد مقایسه نماید. اینجاست که یک الگوی 32 بیتی تعریف می شودکه یک عدد 32 بیتی ودر این مثال به صورت 255.255.255.0 است:
هرگاه ماشین بخواهد یک آدرس IP را تحلیل کند .الگوی فوق را با آدرس IP خودش AND می کند.(با این کار HOST IDخودش را صفر می نماید) سپس مجددا الگو را با آدرس IPمقصد AND می کند.(با این کار HOST ID مقصد هم صفر می شود) حال نتیجه دو مرحله را با هم مقایسه می نماید. اگر نتیجه دو مرحله یکسان بود, هر دو روی یک شبکه محلی قرار دارند.در غیر این صورت دو ماشین روی یک شبکه محلی قرار ندارند.