از جمله مباحث اصلی مطرح در بخش آموزش شبکه و بخصوص در +Network ، آموزش مباحث مربوط به شناسه های IP و به اصطلاح Subnetting می باشد. با یادگیری کامل این بحث در اداره َشبکه موفقیت بسیار چشمگیری خواهیم داشت و بدون اطلاع کافی از آن، احتمال ایجاد شبکه ای با اختلال و ترافیک و امنیت بالا، زیاد می باشد.
فهرست مطالب موجود: IP از منظر مقدار دسیمال و باینری، طرز تبدیل باینری و دسیمال به یکدیگر، کلاس های استاندارد IP Address V4، ساب نت Subnet Mask چیست، طرز بدست آوردن IP شبکه، تقسیم یک شبکه به IP های مجزا، IPهای Valid و Public و Private و Invalid، مفهوم CIDR،
در انتها فایل PDF این مطالب کنجانده شده است
فایل های آموزشی پاورپوینت اضافه شد (1392/05/16)
IP Address چیست؟
IP Address یک شناسه منحصر بفرد برای بدست آوردن محل منطقی یک NODE در شبکه بمنظور ارسالPACKETها میباشد. این آدرس در ورژن چهار متشکل از 32 بیت است که در چهار جزء 8 بیتی دسته بندی میشود که اصطلاحا به هر بخش یک Octed گفته می شود و هر جزء آن با یک نقطه (DOT) از هم جدا میشود. به عنوان مثال:
11000000. | 10101000. | 01100100. | 00000001 | مقدار باینری یک IP |
192 | 168 | 100 | 1 | مقدار دهدهی و دسیال معادل IP |
192.168.100.1 | IP |
این حالت نمایانگر شکل باینری یک IP Address میباشد که برای تبدیل و استفاده آن به حالت دسیمال از ارزش گذاری هریک از بیت ها بشکل زیر عمل میکنیم:
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | مقدار ۰ یا ۱ در هر بیت |
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | جایگاه بیت |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | مقدار دسیمال و دهدهی بیت: ۲ بتوان جایگاه بیت |
که در مثال بالا برای تبدیل آن به حالت دسیمال بشکل زیر عمل میکنبم:
Binary | Binary <=> Decimal | Decimal |
11000000 | 1*128+1*64+0*32+0*16+0*8+0*4+0*2+0*1 | 192 |
10101000 | 1*128+0*64+1*32+0*16+1*8+0*4+0*2+0*1 | 168 |
01100100 | 0*128+1*64+1*32+0*16+0*8+1*4+0*2+0*1 | 100 |
00000001 | 0*128+0*64+0*32+0*16+0*8+0*4+0*2+1*1 | 1 |
کلاس های استاندارد IP Address V4
IP Address v4 در 5 کلاس A, B, C, D, E که هریک از آنها شامل دو قسمت شناسه ارتباط NET ID و شناسه کاربر Host ID و یا Node ID میباشد. برای شناسائی آن ها از جدول زیر استفاده مینمائیم:
Class | 1st Octet Decimal Range | 1st Octet High Order Bits | Network/Host ID (N=Network, H=Host) | Default Subnet Mask | Number of Networks | Hosts per Network (Usable Addresses) |
---|
A | 1 – 126* | 0 | N.H.H.H | 255.0.0.0 | 126 (27 – 2) | 16,777,214 (224 – 2) |
B | 128 – 191 | 10 | N.N.H.H | 255.255.0.0 | 16,382 (214 – 2) | 65,534 (216 – 2) |
C | 192 – 223 | 110 | N.N.N.H | 255.255.255.0 | 2,097,150 (221 – 2) | 254 (28 – 2) |
D | 224 – 239 | 1110 | Reserved for Multicasting |
E | 240 – 254 | 1111 | Experimental; used for research |
در جدول فوق برای آدرس IP کلاس A میبایست جزء اول عددی مابین 1 تا 126 را دارا بوده، کلاس B میبایست جزء اول عددی مابین 128 تا 191 را دارا بوده، کلاس C میبایست جزء اول عددی مابین 192 تا 223 را دارا بوده، کلاس D میبایست جزء اول عددی مابین 224 تا 239 را دارا بوده و کلاس E میبایست جزء اول عددی مابین 240 تا 254 را دارا باشد.
در اصل در کلاس A بخش Octed اول NetID می باشد که بیت اول آن رزرو و مقدار 0 را داراست و لذا 7 بیت بعدی تا حداکثر عدد 127 را پوشش می دهند و در کلاس Bکه دو octed جزء NetIDمی باشندو دو بیت اول Octed اول ذخیره بصورت 1 0 می باشد و لذا از 128 تا 191 را شامل می گردد و بهمین ترتیب برای کلاس C. متذکر می شویم که کلاس D اصطلاحا برای Multicast و کلاس E نیز Unused می باشد و لذا عملا تنها از 3 کلاس اول استفاده می گردد.
* نکتهای که باید به آن اشاره کرد این است که عدد 127 به عنوان شناسه شبکه، برای استفاده در شبکه محلی (Localhost) رزرو شده است. پس از 127.0.0.0 تا 127.255.255.255 را به جز localhost نمیتوان استفاده کرد. (اصطلاحا این رنج IPبرای LOOPBACKمی باشد)
Subnet Mask چیست؟
Subnetmask یک عدد 32 بیتی میباشد که همواره همراه IP Address برای مشخص کردن NET ID آن IP بکار میرود. که بصورت استاندارد Subnet mask های کلاس های IP Address بصورت زیر است:
Class A | 11111111. | 00000000. | 00000000. | 00000000 | :255.0.0.0 |
Class B | 11111111. | 11111111. | 00000000. | 00000000 | :255.255.0.0 |
Class C | 11111111. | 11111111. | 11111111. | 00000000 | :255.255.255.0 |
از انطباق Subnet mask بر روی IP Address شناسه ارتباط NET ID در آدرس مشخص میشود مثال:
IP Address | 172.16.10.1 | :10101100. | 00010000. | 00001010. | 00000001 |
SubnetMask | 255.255.0.0 | :11111111. | 11111111. | 00000000. | 00000000 |
| | |_____NET | ID_____| | |____HOS | TID____| |
IP Subnetting چگونه؟
در این حالت با استفاده از یکی از آدرس های کلاس A یا B یا C ما میتوانیم به بیش از یک NET ID دست پیدا کرده و در همان آدرس با طبقه بندی بیش از یک Subnet ارتباطات را از هم جدا کنیم، به عنوان مثال شما پس از استفاده از Net Id 192.168.100.0 در کلاس C فقط میتوانید در یک طبقه بندی بین آدرس های 192.168.100.1 ~ 192.168.100.254 آدرس دهی کرده و ارتباطات مسقیم را پیاده سازی نمائید. حال انکه فرض کنید شما میخواهید با خرد کردن رنج آدرس های فوق از ارتباط بین دو نود 192.168.100.130 و 192.168.100.10 به صورت مستقیم جلوگیری کرده و با عبور ترافیک آنها به صورت غیر مستقیم با استفاده از روتر اطلاعات جابجا شده بین آنها را کنترل نمائید برای رسیدن به هدف بالا میبایست با استفاده از IP Subnetting یک رنج آدرس کلاس C را به دوطبقه بندی تقسیم کرده و ارتباط مستقیم بین طبقه بندی اول و دوم را قطع نمائید. برای شروع عملیات subnetting ما تعدادی بیت یک به استاندارد Subnet mask اضافه مینمائیم مثال:
255.255.0.0 | 11111111.11111111.00000000.00000000 |
255.255.248.0 | 11111111.11111111.11111000.00000000 |
| -----------------------|YYYYY|--------------- |
| Y=Subnetting ID |
مثال IP Subnetting
شبکه آدرس دهی بر اساس آدرس 192.168.100.0 را به دو شبکه منطقی تقسیم کرده و رنج هریک را محاسبه نمائید.
با استفاده از فرمول زیر تعداد بیت هائی که میبایست به subnet mask اضافه کرد را بدست میآوریم:
2^ (#subnetting bit)>=#subnet (تعداد شبکه مورد نیاز در تقسیم)
2^y>=2 => y=1 تعداد بیت برای Subnetting ID
سطر | | | | | | |
1 | IP Address | 192. | 168. | 100. | 0 | |
2 | Default Subnet Mask (Decimal) | 255. | 255. | 255. | 0 | |
3 | Default Subnet Mask:Binary | 11111111. | 11111111. | 11111111. | 00000000 | = 255.255.255.0 |
4 | Subnetted Subnet Mask:Binary | 11111111. | 11111111. | 11111111. | 10000000 | =255.255.255.128 |
5 | Default IP NetID | 11000000. | 10101000. | 01100100. | | |
6 | Subnetted IP NetID | 11000000. | 10101000. | 01100100. | V | |
| | | | | V=0 or 1 | |
7 | NetID Range01 | 11000000. | 10101000. | 01100100. | 0 | |
8 | NetID Range02 | 11000000. | 10101000. | 01100100. | 1 | |
9 | Range01 | 11000000. | 10101000. | 01100100. | 00000000 | 192.168.100.0 |
10 | | 11000000. | 10101000. | 01100100. | 01111111 | 192.168.100.127 |
11 | Range02 | 11000000. | 10101000. | 01100100. | 10000000 | 192.168.100.128 |
12 | | 11000000. | 10101000. | 01100100. | 11111111 | 192.168.100.255 |
در نتیجه از 192.168.100.0/24 به 192.168.100.0/25 و 192.168.100.128/25 تبدیل می شود ﴿عدد /24 و /25 ، CIDR نام دارد (در ادامه بدان می پردازیم) و نشان دهنده تعداد بیت های استفاده شده در Subnet می باشد /25 یعنی 3 تا 8 تا که همان 3 octedاول است و یک بیت هم از octed آخر که می شود 25 که در مقدار دهدهی subnetجای همه یک می گذاریم)
در اصل مدل IP فوق یعنی 192.168.100.0 (سطر اول فوق) از نوع کلاس C می باشدکه دارای Subnet پیش فرض 255.255.255.0 است (سطر دوم) لذا از سه قسمت اول subnet 24 بیت (3 تا 8 بیت) و چون به دو قسمت قرار است تقسیم گردد طبق فرمول 2^y>=2 => y=1 یک بیت دیگر نیز نیاز است که این بیت از قسمت چهارم استفاه می شود که این یک بیت 25 ام نیز دارای ارزش یک می گردد لذا Subnet مورد نیاز برابر می گردد با 255.255.255.128 (سطر سوم) (بخش آخر 10000000معادل است با 1*128+0*64+0*32+0*16+0*8+0*4+0*2+0*1 = 128- اگر دو بیت بود می شد 11000000 که معادل است با 128+64=192 و الی آخر) -
در مر حله بعد و اخر رنج IP های مورد نیاز با استفاده از تعداد بیت متغیر مورد نیاز و بر اساس IP اصلی بدست می آید که مثلا در اینجا که یک بیت اول از Octed آخر آن نیز (همان یک بیت که گفته شد برای تغییرات بدان نیازمندیم) بین 0 و 1 متغیر است (اگر دو بیت نیاز بود آن دو بیت بین 0 و 1 تغییر می کند که حالات 00 – 01 – 10 – 11 را شامل می گردد.) پس رنج IPمی شد سطر های 7 یا 8 و حد اقل و حداکثر هرکدام نیز با قرار دادن تمام بیت ها با ارزش 0 و تمام بیت های مابقی با ارزش 1 بدست می آید (سطر9 و 10 برای رنج اول و حالت 0xxxxxxx از Octed آخر و سطر 11 و 12 برای حالت 1xxxxxxx از octedآخر).
باید توجه داشت که اولین آدرس نشانی شبکه و آخرین نشانی همه پخشی (Broadcast) شبکه مورد نظر است که با تر کیب منطقی حالت باینری هر آدرس شبکه با subnet مربوط ان بدست می آید.
IP Address | 192. | 168. | 100. | 0 | یکی از IP های شبکه اصلی |
Default Subnet Mask (Decimal) | 255. | 255. | 255. | 0 | |
IP Address (Binary | 11000000. | 10101000. | 01100100. | 00000000 | |
Default Subnet Mask (Binary) | 11111111. | 11111111. | 11111111. | 00000000 | |
IP AND Subnet | 11000000. | 10101000. | 01100100. | 00000000 | |
نتیجه: NET IP Address=192.168.100.0 , Broadcast IP Address=192.168.100.255 |
شبکه تفکیک شده اول |
IP Address 2 (Subnet 1) | 192. | 168. | 100. | 50 | یکی از IP های شبکه اول |
Default Subnet Mask (Decimal) | 255. | 255. | 255. | 128 | |
IP Address (Binary | 11000000. | 10101000. | 01100100. | 00110010 | |
Default Subnet Mask (Binary) | 11111111. | 11111111. | 11111111. | 10000000 | |
IP AND Subnet | 11000000. | 10101000. | 01100100. | 00000000 | |
نتیجه: NET IP Address=192.168.100.0 , Broadcast IP Address=192.168.100.127 |
IP Address 2 (Subnet 1) | 192. | 168. | 100. | 170 | یکی از IP های شبکه دوم |
Default Subnet Mask (Decimal) | 255. | 255. | 255. | 128 | |
IP Address (Binary | 11000000. | 10101000. | 01100100. | 10101010 | |
Default Subnet Mask (Binary) | 11111111. | 11111111. | 11111111. | 10000000 | |
IP AND Subnet | 11000000. | 10101000. | 01100100. | 10000000 | |
نتیجه: NET IP Address=192.168.100.128 , Broadcast IP Address=192.168.100.255 |
|
1 AND 0 = 0 / 1 AND 1 =1 / 0 AND 0= 0 / 0 AND 1=0 | تعریف اعمال منطقی AND |
1 OR 0 = 1 / 1 OR 1 =1 / 0 OR 0= 0 / 0 OR 1=1 | تعریف اعمال منطقی OR |
1 XOR 0 = 1 / 1 XOR 1 =0 / 0 XOR 0= 0 / 0 XOR 1=1 | تعریف اعمال منطقی XOR |
مثال دوم : تقسیم یک شبکه بفرم کلی 192.168.226.0/24 به 6 شبکه مستقل که یکدیگر را Pingنکنند (همدیگر را نبینند)
در این مورد با توجه به اینکه 2^3>6 است لذا به 3 بیت اضافی نیازمندیم و چون کلاس آدرس اصلی از نوع Cاست لذا subnetاصلی 255.255.255.0می باشدپس subnet جدید عبارتست از :
11111111.11111111.11111111.11100000 = 255.255.255.224 (128+64+32=224)
لذا رنج IPهای جدید بصورت زیر بدست می آید
با 3 بیت می توان 8 حالت بر اساس 0 و 1 داشت 000-001-010-100-011-101-110-111 لذا بر اساس IP داده شده داریم:
11000000.10101000.11100010.00000000 =192.168.226.0 IP اصلی
11000000.10101000.11100010.00000000 =192.168.226.0/27 (192.168.226.0 ---192.168.226.31 )
11000000.10101000.11100010.00100000 =192.168.226.32/27 (192.168.226.32 ---192.168.226.63)
11000000.10101000.11100010.01000000 =192.168.226.64/27 (192.168.226.64 ---192.168.226.95)
11000000.10101000.11100010.01100000 =192.168.226.96/27 (192.168.226.96 ---192.168.226.127)
11000000.10101000.11100010.10000000 =192.168.226.128/27 (192.168.226.128 ---192.168.226.159)
11000000.10101000.11100010.10100000 =192.168.226.160/27 (192.168.226.160 ---192.168.226.191)
11000000.10101000.11100010.11000000 =192.168.226.192/27 (192.168.226.192 ---192.168.226.223)
11000000.10101000.11100010.11100000 =192.168.226.224/27 (192.168.226.224 ---192.168.226.255)
که 6 قسمت اول بکار این مثال می آید و دوتای آخر اضافی می ماند.
لذا بعنوان مثال دیگر داریم:
network address | 192.168.10.0/26 | 192.168.10.64/26 | 192.168.10.128/26 | 192.168.10.192/26 |
network address | 192.168.10.0 | 192.168.10.64 | 192.168.10.128 | 192.168.10.192 |
Valid IP | 192.168.10.1 | 192.168.10.65 | 192.168.10.129 | ----------- |
192.168.10.2 | 192.168.10.66 | 192.168.10.130 |
ادامه | ادامه | ادامه |
ادامه | ادامه | ادامه |
192.168.10.62 | 192.168.10.126 | 192.168.10.190 |
broad cast address | 192.168.10.63 | 192.168.10.127 | 192.168.10.191 | |
customize subnet mask | 255.255.255.192 | 255.255.255.192 | 255.255.255.192 | 255.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 استفاده نمیتوانیم بکنیم
Prefix Format | Decimal | Available Host Addresses |
---|
/8 | 255.0.0.0 | 16777214 |
/9 | 255.128.0.0 | 8388606 |
/10 | 255.192.0.0 | 4194302 |
/11 | 255.224.0.0 | 2097150 |
/12 | 255.240.0.0 | 1048574 |
/13 | 255.248.0.0 | 524286 |
/14 | 255.252.0.0 | 262142 |
/15 | 255.254.0.0 | 131070 |
/16 | 255.255.0.0 | 65534 |
/17 | 255.255.128.0 | 32766 |
/18 | 255.255.192.0 | 16382 |
/19 | 255.255.224.0 | 8190 |
/20 | 255.255.240.0 | 4094 |
/21 | 255.255.248.0 | 2046 |
/22 | 255.255.252.0 | 1022 |
/23 | 255.255.254.0 | 510 |
/24 | 255.255.255.0 | 254 |
/25 | 255.255.255.128 | 126 |
/26 | 255.255.255.192 | 62 |
/27 | 255.255.255.224 | 30 |
/28 | 255.255.255.240 | 14 |
/29 | 255.255.255.248 | 6 |
/30 | 255.255.255.252 | 2 |
IPهای Valid و Invalid.
IP های Valid بر خلاف آنچه تصور می شود معتبر در شبکه مورد نظر می باشند و ممکن است در شبکه دومی معتبر نباشد مثلا دو شبکه داشته باشیم که کلاینت A در شبکه اول دارای IP بصورت 192.168.226.1 باشد و دراین IPتنها در این شبکه معتبر است و در شبکه دومی شاید این IP به کلاینت دیگری متصل باشد.
IPهای Public و Private
IP های Public بر خلاف Valid در کل اینترنت معتبر است مثل IP های سایت های گوگل و .. که در هر جای دنیا ،آن IP به سایت گوگل بر می گردد. این دسته از IP ها در شرکت (IANA(Internet Assigned Numbers Authority ثبت می باشند. Private address برای تعیین شبکه های محلی استفاده میشود و برای استفاده از آنها احتیاج به هیچ مجوزی نیست.
چگونه میتوان تشخیص داد ای پی عمومی است یا خصوصی ؟
برای IP های خصوصی یک رنج موجود میباشد اگر IP در آن رنج بود خصوصی است در غیر اینصورت IP عمومی است
PRIVATE IP ADDRESS |
IP Class | Host IP from | Host IP To |
Class A | 10.0.0.0 | 10.255.255.255 |
Class B | 172.16.0.0 | 172.31.255.255 |
Class C | 192.168.0.0 | 192.168.255.255 |
Default gateway
عددی (IP) است که محل عبور از شبکه ای به شبکه دیگر را مشخص می کند و در اصطلاح برای گذر از شبکه ای و ورود به شبکه دیگر، آدرس محل مثلا روتر سخت افزاری یا نرم افزاری واسط می باشد. در صورتی که قصد خروج از شبکه و ورود به شبکه های دیگر در دستور کار نباشد نیازی به مشخص نمودن آن نیست.
در مورد اتصال به اینترنت در یک شبکه اعم از اتصال با میکروتیک، مودم ADSLو... بدلیل اینکه ان Device محلی برای عبور از شبکه و رفتن به شبکه دیگر (در اینجا شبکه اینترنت) می باشد لازم است آدرس IP روتر یا مودم بعنوان gateway کلاینت های نیازمند اتصال به اینترنت داده شود
لذا این آدرس معمولا دو کاربرد اصلی دارد :
1- آدرس کامپیوتری یا device ی که اینترنت را برای کلاینت Share کرده است؛هنگامی که یک کامپیوتر در شبکه به اینترنت وصل است و باید اینترنت را در اختیار بقیه قرار دهد چنین حالتی پیش می آید. البته همیشه به این سادگی و فقط با تنظیم Gateway کارها انجام نمی شود اما این یکی از ساده ترین حالت هاست.
2- آدرس پورت روتر در سمتی از سگمنت که کلاینت در آن قرار دارد تا بدین وسیله به روتر وصل شود و در نتیجه با سگمنت های دیگر ارتباط برقرار کند. شکل زیر را ببینید. در این شکل برای برقراری ارتباط بین کامیپوترهای دو طرف، سیستم های سمت چپ باید آدرس 192.168.100.150 یعنی پورت روتر سمت خود و سیستم های سمت راست هم به همین ترتیب آدرس 192.168.200.170 را به عنوان Default Gateway تنظیم کنند.
یک مثال دیگر:
یک شبکه داریم شامل دو قسمت IT و مالی، فنآوری اطلاعات با 50 سیستم و مالی با 45 سیستم در شبکه، بهترین سناریو برای ایجاد شبکه های مستقل که یکدیگر را ping نکنند چیست.
در روش اول مثل قبل چون 2=1^2 است پس برای 2 زیر شبکه مستقل، نیاز به استفاده از 1 بیت می باشد لذا میتوان مثلا بصورت زیر نهایی کرد: 192.168.0.0/25 با ساب نت 255.255.255.128 هر زیرشبکه شامل 128 سیستم
در روش دوم بخاطر اینکه شبکه هایی با حداقل Broadcast داشته باشیم و در ضمن بهتر است شبکه ای با حداقل کلاینت برای ما باشد تا حداقل IP خالی برای نفوذ باقی بماند لذا برای 50 سیستم بهتر است از 2 بیت استفاده گردد تا بفرم 192.168.0.0/26 با 255.255.255.192 و شامل زیر شبکه هایی با حداکثر64 سیستم گردد (64 اولین توان 2 می باشد که تعداد حداکثری IP مورد نیاز را در زیرشبکه ها پوشش می دهد)
و سناریوی دوم از لحاظ امنیتی بهتر است
ویدئو آموزش Subnetting:
منبع: http://www.aparat.com/v/DxSXe
دریافت فایل: