بچه ها اين درسي كه امروز گذاشتم خيلي مهمه چون توي subneting & superneting خيلي بكار مياد البته اگه تخصص داريد يا دارين دوره اي رو ميگذرونين ولي در كل توي دانشگاه هم ميخونيدش
IP Address(Internet Protocol Address)
یک آدرس منطقی که برای مشخص کردن دستگاه در ارتباط بین شبکه ها تعیین میشود
از چهار رقم تشکیل شده است که با نقطه از هم جدا میشوند بطور مثال 192.168.10.20
هر عدد هشت بیت است که در مجموع میشود 32 بیت 32=8*4
اعداد بکاربرده شده دسیمال هستند و بین 255-0 می باشند
همانطور که گفته شد هر ip address از 32 bit تشکیل شده است و هر ip از چهار بخش تشکیل شده است که به هر بخش octet نیز گفته میشود بطور مثال 192 یک octet میباشد
متخصصان شبکه با توجه به نیاز شبکه تصمیم به استاندارد سازی و ایجاد کلاسهای مختلف شبکه نموده اند که با توجه به نیاز هر شبکه باید از آن استفاده نمود
آدرسها در 5 کلاس رده بندی میشوند و عدد اول هر آدرس نشان دهنده کلاس آن آدرس است
Class A1-126Class B128-191Class C192-223Class D224-239Class E240-254
مثلا ip 10.10.10.1 با توجه به اینکه رقم اول آن 10 است نشان دهنده این اسنت که در کلاس A می باشد
ip 192.168.10.20 با توجه به اینکه رقم اول آن 192 است نشان دهنده این است که در کلاس C می باشد
اگر دقت کرده باشین عدد 127 در کلاسهای فوق نبود به این دلیل است که این عدد برای چک کردن کارت شبکه مورد استفاده قرار میگیرد و اگر بخواهیم از صحت سالم بودن کارت شبکه اطمینان حاصل کنید میتوانید از این آدرس استفاده کنید
ping 127.0.0.1
کلاس A
شبکه های کلاس A برای شبکه هایی که تعداد شبکه هایشان کم ,ولیکن تعداد میزبانهایشان زیاد است و معمولا برای استفاده توسط انستیتوهای دولتی و آموزشی انتخاب میشوند مناسب هستند
در یک آدرس شبکه کلاس A ,بخش نخست آن نشان دهنده آدرس شبکه (network address) و سه بخش دیگر نیز نشاندهنده آدرس میزبان (host address) در شبکه است.بطور مثال IP 10.20.20.20 عدد 10 به آدرس شبکه و عدد 20.20.20 به آدرس میزبان تعلق دارد
در آدرس دهی کلاس A اولین بیت صفر میباشد
01111111 = 0 + 64 + 32+ 16+ 8+ 4+ 2+ 1 = 127
کلاس B
شبکه های کلاس B برای شبکه هایی که تعداد شبکه هایشان بین شبکه های بسیار بزرگ و بسیار کوچک است در نظر گرفته شده است
در یک آدرس شبکه کلاس B دو بخش نخست آن نشان دهنده آدرس شبکه و دو بخش دیگر نشاندهنده آدرس میزبان است
بطور مثال IP 172.16.10.10 عدد 172.16 به آدرس شبکه تعلق دارد و عدد 10.10 به آدرس میزبان تعلق دارد
ِدر آدرس دهی کلاس B دومین بیت صفر میباشد
10111111 = 128+ 0+ 32+ 16+ 8+ 4+ 2+ 1 = 191
کلاس C
شبکه های کلاس C برای شبکه هایی که تعداد شبکه های زیادی دارند اما میزبان کمتری دارند تدارک داده شده است
در یک آدرس شبکه کلاس C , سه بخش نخست آن نشان دهنده آدرس شبکه و بخش آخر به آدرس میزبان تعلق دارد
بطور مثال IP 192.168.10.20 عدد 192.168.10 به آدرس شبکه و 20 به آدرس میزبان تعلق دارد
در آدرس دهی کلاس C , سومین بیت صفر میباشد
11011111 = 128 + 64+ 0+ 16+ 8+ 4 + 2+ 1 = 223
کلاس D
آدرس کلاس D برای Multicasting استفاده میشود
بدلیل اینکه این آدرس رزو شده است بهمین دلیل از بحث درباره آن خوداری میکنیم
در کلاس D چهارمین بیت صفر میباشد
11101111= 128+64+32+0+8+4+2+1=239
Multicasting
فرایند ارسال یک پیام,همزمان به بیش از یک مقصد در شبکه را گویند
کلاس E
آدرسهای کلاس E برای research and Development استفاده میشود
در هر کلاس دو نوع IP Address موجود میباشد
آدرس خصوصی Private address
آدرس عمومی public address
Private address
برای تعیین شبکه های محلی استفاده میشود و برای استفاده از آنها احتیاج به هیچ مجوزی نیست
public address
برای تعیین شبکه های عمومی استفاده میشود و باید از سازمان IANA مجوز داشت
IANA(Internet Assigned Numbers Authority)
چگونه میتوان تشخیص داد IP عمومی است یا خصوصی ؟
برای IP های خصوصی یک رنج موجود میباشد اگر IP در آن رنج بود خصوصی است در غیر اینصورت IP عمومی است
PRIVATE IP ADDRESS
Class A10.0.0.010.255.255.255Class B172.16.0.0172.31.255.255Class C192.168.0.0192.168.255.255
IDهای شبکه
فرض کنید شما در این آدرس سکونت دارید:اهواز کیانپارس خیابان ده پلاک 60 .اگر بخواهم یک نامه را از هند یه شما بفرستم نمیتوانم فقط خیابان ده پلاک 60 را بنویسم حتی اگر آن قسمت نمایانگر منزل شما باشد واداره پست در ایران هم کمک نمیکند و برای اطمینان از صحت تحویل نامه آدرسهای پستی به ناحیه هایی تقسیم شده اند که کار را برای تحویل آن آسان میکند.آدرسهای IP نیز به این روش مشابه کار میکنند
هر IP از دو قسمت تشکیل شده است که قسمت اول متعلق به آدرس شبکه (network address)و قسمت دوم متعلق به آدرس میزبان (host) است
Network Address هر سیستم موجود بر روی شبکه مشابه , به عنوان بخشی از آدرس IP آن در نظر گرفته میشود.بطور مثال IP 10.20.20.20 با توجه به اینکه IP از کلاس A میباشد عدد 10 مشخص کننده آدرس شبکه در این IP است
Host Address هر سیستم موجود بر روی شبکه را مشخص میکند آدرس هاست بصورت منحصر بفرد میباشد زیرا این آدرس نشان دهنده یک سیستم خاص بر روی شبکه میباشد .بطور مثال IP 10.20.20.20 اعداد 20.20.20 آدرس هاست را نشان میدهد
SUBNET MASK
این آدرس نشان میدهد چه مقدار بیت متعلق به آدرس شبکه و چه مقداربیت متعلق به آدرس میزبان(هاست) است
دو الگو برای subnet mask داریم الگوی استاندارد و الگوی غبر استاندارد
در الگوی استاندارد با توجه به کلاس هر subnet mask ,IPاستانداردی برای آن IP داریم بطور مثال
ُ
Class
A
B
C
IP10.10.10.1172.168.88.98192.168.100.3Subnet Mask255.0.0.0255.255.0.0255.255.255.0
قسمتی که 255 است متعلق به network و قسمتی که 0 است متعلق به host می باشد
بوسیله این فرمول میتوانیم تشخیص دهیم چه مقدار host و network در یکIP address موجود میباشد
2^n - 2
classتعداد بیتهای شبکهتعداد بیتهای میزبان
تعداد میزبانA824 2^24-2=16777214B1616 65534C248 254
الگوی غیراستاندارد
الگوهایی هستند که دقیقابامحدودیتهای هشتایی مطابقت نمیکنند و در عوض برای نیازهای خاص طراحی شده اند,به این عملیات subnetting میگویند
SUBNETTING
قرض دادن بیتهای هاست را به بیتهای شبکه subnetting میگویند
برای انجام دادن عملیات subnetting میبایست کار با عملیت باینری را بدانیم
اعداد باینری
اعدادباینری را برای نمایش آدرسها استفاده میکنند.اعداد باینری فرم اصلی نمایش اطلاعات روی یک ابزار کامپیوتر است.اعداد باینری فقط شامل صفر و یک هستند که یک حالت ON و صفر حالت OFF در نظر گرفته میشود
سیستم باینری فقط یک روش متفاوت نمایش اعداد است
برای بدست آوردن عدد در مبنای باینری میبایست عدد را در مینای دو تقسیم کرد و دوباره خارج قسمت را بر دو تقسیم کرد
عدد 4 را میخواهیم به عدد باینری تبدیل کنیم
4/2=2 --->باقیمانده=0
2/2=1 ---> باقیمانده=0
از بالا شروع میکنیم 100
برای محاسبه از اولین باقیمانده شروع میکنم تا به آخری برسیم البته آخرین خارج قسمت را هم حساب میکنیم
تقسیم کردن اعداد بزرگ میتواند خسته کننده باشد بهمین جهت یک راه حل خیلی آسان و سریع ارائه میدهم
این اعداد را مدنظر داشته باشید
128 64 32 16 8 4 2 1
شما بفرض میخواهید عدد 10 را به باینری تبدیل کنید.دقت کنید مجموع کدام از اعداد بالا ده میشود و جای آن اعداد یک و جای بقیه صفر قرار میدهیم
10=2+8 ------> 00001010
168=128+32+8 ---------> 10101000
192=128+64 ----------> 11000000
255=128+64+32+16+8+4+2+1 -----> 11111111
در هر range دو ip قابل قبول نیست و نمیتوانیم استفاده کنیم و این همان 2- در فرمول 2n-2 است
ip اول را (network address(subnet id و ip آخر را broad cast address میگویند و فاصله بین این دو ip ,ip های قابل قبول است
192.168.10.0Network address192.168.10.1Valid IP192.168.10.2 192.168.10.254192.168.10.255Broad cast address
در مثال زیر network address و broad cast address را محاسبه میکنیم
192.168.10.10
255.255.255.0
ابتدا ip و subnet mask را به اعداد باینری تبدیل میکنیم سپس عملیات AND(ضرب باینری ) را انجام میدهیم
ضرب باینری به قرار زیر میباشد
1100
1010
------
1000
11000000.10101000.00001010.00001010
11111111.11111111.11111111.11111111
-----------------------------------------------------
1000000.10101000.00001010.00000000
Network part Host part
حال جواب را که اعداد باینری است به اعداد طبیعی تبدیل میکنیم
192.168.10.0Network address192.168.10.255Broad cast address
زمانی که میخواهیم عملیات subnetting را بر روی یک IP انجام دهیم باید پنج سوال زیر را مد نظر داشته باشیم
1.چه مقدار subnets میتوانیم داشته باشیم
2.چه مقدار هاست در هر subnet موجود می باشد
3.چه subnet هایی قابل قبول هستند
4.تعیین broad cast address
5.چه هاست هایی قابل قبول است
در IP 192.168.10.10 و subnet mask 255.255.255.0 میخواهیم 55 هاست (دستگاه) به هم شبکه کنیم ,عملیات subnetting به قرار زیر می باشد
به دلیل اینکه IP ما در کلاس C میاشد عملیات subnetting را در بیت آخر انجام میدهیم و آن را بسط میدهیم
192.168.10.2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
با توجه به اینکه 55 هاست میخواهیم و 55 بین 64 و 32 است 6^2 را انتخاب میکنیم در نتیجه 6 بیت به host address تعلق میگیره و 2 بیت به network address
(2^0=1 , 2^1=2 , 2^2=4 , 2^3=8 , 2^4=16 , 2^5=32 , 2^6=64 , 2^7=128 , 2^8=256 )
1.چه مقدار subnet میتوانیم داشته باشیم
برای بدست آوردن تعداد subnet از فرمول زیر استفاده میکنیم,n تعداد بیتهای تعلق گرفته به قسمت network address است
2^n ---> 2^2=4
2.چه مقدار هاست در هر subnet موجود میباشد
برای بدست آوردن هاست از فرمول زیر استفاده میکنیم
2^n-2 ----> 2^6-2=62
در هر subnet شصت و دو هاست موجود میباشد و 2- همان network address و broad cast address میباشد که not valid هستند
3.چه subnet هایی قابل قبول هستند
برای بدست آوردن subnet های قابل قبول (block size)از فرمول زیر استفاده میکنیم
256 - subnet mask = block size
با توجه به اینکه الگوی استاندارد را به الگوی غیر استاندارد تبدیل کردیم subnet mask به غیر استاندارد تبدیل میشود و به آن ( CSN ( Customize Subnet Mask میگوییم
طریقه بدست آوردن آن به اینصورت است که بیتهایی را که به network address در بیت آخر تعلق دارد را جمع میکنیم
2^7 + 2^6 = 128+64 = 192 ---> CSN
256 - 192 = 64 --> Block size
4.تعیین broad cast address برای هر subnet
پیامی است که به تمامی ایستگاهها توزیع میشود
این آسانترین قسمت است , broad cast address در هر subnet میشود block size - 1 مثلا اگر block size ما 64 باشد broad cast ما میشود 63 و بطور کامل میشود 192.168.10.63
5.چه host هایی قابل قبول است
همیشه اعدادی که بین subnet address و broad cast address می باشند هاستهای قابل قبول هستند
با توجه به عملیات بالا subnetting به قرار زیر می باشد
network address192.168.10.0192.168.10.64192.168.10.128192.168.10.192Valid IP
192.168.10.1192.168.10.65192.168.10.129 -----------
192.168.10.2192.168.10.66192.168.10.130ادامه
ادامه
ادامه
ادامه
ادامه
ادامه
192.168.10.62192.168.10.126192.168.10.190broad cast address192.168.10.63192.168.10.127192.168.10.191 customize subnet mask255.255.255.192255.255.255.192255.255.255.192255.255.255.192
CIDR(Classless Inter-Domain Routing
اصطلاح دیگری که شما باید با آن آشنا بشوید CIDR است این بطور اساسی یک روش است که ISPها (Internet Service Providers) برای تخصیص دادن یک مقدار از آدرس به یک کمپانی و یا مشتری استفاده میکنند
زمانی که شما یک دسته آدرس را از یک ISP دریافت میکنید چیزی شبیه به این 192.168.10.32/28 است.این به شما subnet mask شما را میگوید .نشان slash به معنای این است که چه مقدار bits روشن است
بدیهی است که بیشترین32/ است زیرا یک byte است 8 bit پس 32=8*4
اما بخاطر داشته باشید که بیشترین subnet mask میتواند باشد 30/ زیرا شما باید حداقل دو bits برای host bits نگه دارید
بطور مثال در کلاس A ,defult subnet mask 255.0.0.0 است این بدین معنی است که اولین byte از subnet mask همگی یک است (11111111) وقتی استناد به علامت slash کنیم بطور مسلم 255.0.0.0 است 8/ زیرا این هشت bits دارد
همچنین در کلاس (B ,defulf subnet mask 255.255.0.0(1111111.1111111.0.0 است و همجنین میتوانیم تعریف کنیم 16/ زیرا 16 بیت یک است
توجه داشته باشید که در روترهای سیسکو از فرمت slash استفاده نمیتوانیم بکنیم
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