آموزش CCNA

(IP Addressing (part 2

IP Addressing
حمیدرضا وطنی
نوشته شده توسط حمیدرضا وطنی
ما در بخش قبل در مورد IP Addressing توضیحاتی دادیم از قبیل اینکه بحث IP از مهم ترین بحث های پایه CCNA است که اکثرا در +NETWORK به آن پرداخته میشود.در بخش قبل منظور از Subnetting را توضیح دادیم و گفتیم که کدام IP ها با هم هم رنج و در یک شبکه هستند و کدام IP ها در یک شبکه نیستند.

ما دو نوع IP داریم.

  1. Private IP
  2. Public IP

(Private IP Address (invalid ip آدرس هایی هستند که در سازمان ها و شبکه های خصوصی مورد استفاده قرار میگیرند و در دنیای اینترنت قابل استفاده و مسیریابی نیستند.

(Public IP Address (valid ip آدرس هایی هستند که در دنیای اینترنت مورد استفاده قرار میگیرند و قابل مسیریابی هستند.

رنج Private IP ها در جدول زیر آمده است.

ClassStarting IP AddressEnding IP Address# of Hosts
A10.0.0.010.255.255.25516,777,216
B172.16.0.0172.31.255.2551,048,576
C192.168.0.0192.168.255.25565,536

ما در بخش قبل نیز IP شبکه را متوجه شدیم و گفتیم که مثلا 192.168.2.0 را IP شبکه و یا NET ID گویند.

چند تعریف :

uni cast : ارتباط یک به یک را uni cast گویند. مثلا ارتباط من با شما یک ارتباط یک به یک است.

multi cast : ارتباط یک به چند را multi cast گویند. مثلا ارتباط من با گروه فناوری از این سایت.

broad cast : ارتباط یک به همه را broad cast گویند. مثلا ارتباط من با کل افراد این سایت.

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

Network ID : که مشخصه و معرف آن شبکه است.

Broadcast address : که برای دسترسی به همه نودهای آن شبکه استفاده میشود.

این دو آدرس را نمیتوان به عنوان آدرس معتبر به نود ها احتصاص داد.

برای محاسبه NET ID تمامی بیت های HOST را صفر میکنیم و برای رسیدن به Broadcast address تمامی بیت های HOST را یک میکنیم.

مثال : NET ID و Broadcast address شبکه ای که IP آدرس 80.32.51.60 در آن وجود دارد را پیدا کنید.

ابتدا مشخص میکنیم این IP عضو کدام کلاس است که بخش NETWORK را از HOST جدا کنیم. این آدرس متعلق به کلاس A است پس:

HOSTNETWORK
32.51.6080

اگر آدرس را به صورت باینری بنویسیم خواهیم داشت:

HOSTNETWORK
00100000.00110011.0011110001010000

حالا برای اینکه NET ID را به دست بیاوریم تمامی بیت های HOST را صفر میکنیم:

HOSTNETWORK
00000000.00000000.0000000001010000

پس NET ID می شود: 80.0.0.0

و برای به دست آوردن Broadcast address تمامی بیت های HOST را یک میکنیم:

HOSTNETWORK
11111111.11111111.1111111101010000

پس Broadcast address میشود: 80.255.255.255

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

HOSTNETWORK
00000000.00000000.0000000101010000

اولین آدرس این شبکه میشود : 80.0.0.1

و آخرین آدرس شبکه نیر یکی مونده به آدرس Broadcast یعنی:

HOSTNETWORK
11111111.11111111.1111111001010000

آخرین آدرس قابل استفاده در این شبکه نیز میشود: 80.255.255.254

بنابراین وقتی میخواهیم تعداد آدرس های قابل استفاده در یک شبکه را حساب کنیم،از فرمول زیر استفاده میکنیم:

2^N – 2

که N در آن ، تعداد های بیت های host میباشد.

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

به طور مثال آدرس 201.202.32.40:

C
Class
201.202.32.0network ID
201.202.32.1first IP address
201.201.32.254last IP address
201.202.32.255broadcast address
254 number of available IP address

مثال: شبکه ای 200 عدد نود دارد،از کدام کلاس برای آدرس دهی استفاده کنیم.

(2^h)-2>=200

h=8 پس تعداد بیت های host باید حداقل 8 باشد.

HostNetwork
hhhhhhhhxxxxxxxx.xxxxxxxx.xxxxxxxx

پس ار کلاس C استفاده خواهیم کرد.

نکته:در آدرس هایی که در Class ها را یاد گرفتیم، یک سری آدرس رزرو شده میباشند، به طور مثال:

127.0.0.0Loopback
238.0.0.0 224to Multicast
254.0.0.0 239to Experimental

Subnetting:

هدف از subnetting این است که یک range از آدرس های IP که به ما تعلق دارد را به چند range آدرس مجزا خرد کنیم تا بتوانیم از هر رنج جداگانه استفاده کنیم.

وقتی یک شبکه را subnet میکنیم ، subnet mask جدیدی خواهیم داشت که معرف بخش network و host خواهند بود.

یک آدرس کلاس A را در نظر بگیرید ، مثلا 10.0.0.0 و این شبکه 2 به توان 24 منهای 2 ، آدرس IP قابل استفاده به ما میدهند.یعنی 16777214.حالا این IP در یک سازمان که 40 شعبه دارد و هر شعبه 100 کامپیوتر ، به چه درد میخورد! در اینجا ما به جای یک شبکه بزرگ ، 40 شبکه کوچک تر داریم تا بتوانیم در صورت نیاز بین آنها مسیر یابی کنیم.

کاری که میکنیم این است که دیگز از کلاس های پیش فرض استفاده نمیکنیم بلکه آن کلاس ها را بسته به میل خودمان به بخش های کوچک تر تقسیم میکنیم که به این عمل subnetting میگویند.

چه چیز این تقسیم بندی جدبد را به ما میدهد؟ subnet mask جدید.

یک مثال از همان اسم و فامیل که در بخش اول زدیم:

HostNetwork
amir hesamvatani
mohammad hoseynvatani
amir alivatani
mohammad hasanvatani
amir rezavatani

زمانی که subnet mask به صورت بالا در نظر گرفته میشود، همه عضو یک خانواده حساب میشوند.حالا فرض کنید خط subnet mask (یا خط جدا کننده network از host ) را به سمت راست بکشیم:

HostNetwork
hesamvatani amir
hoseynvatani mohammad
alivatani amir
hasanvatani mohammad
rezavatani amir

میبینید که دیگر همه عضو یک خانواده نیستند و ما یک خانواده بزرگ را به دو خانواده کوچک تقسیم کردیم.

چگونه؟ با افزایش فضای network و در نتیجه کاهش فضای host.

حالا با این دیدی که از این مثال به دست آوردیم متوجه شدیم که برای این که یک network بزرگ را به چند network کوجکتر تقسیم کنیم، راه حل این است که قسمت network را بزرگتر و قسمت host را کوچک تر کنیم.این کار با قرض کردن بیت های قسمت host و اضافه کردن این بیت ها به قسمت network صورت میگیرد.

حالا باید مشخص کنیم که چند بیت را قرض بگیریم:

یک فرمول ساده –> اگر حداقل تعداد ip های قابل استفاده ، مد نظر ما بود : از فرمول زیر استفاده میکنیم:

2^h – 2 >= number of available IP address

که در آن h تعداد بیت هایی است که از سمت چپ host میشماریم تا تعداد بیت هایی که باید قرض بگیریم معلوم شود.

و اگر تعداد subnet های مورد نیاز مطرح بود از فرمول زیر استفاده میکنیم:

2^n >= number of subnet needed

که در آن n تعداد بیت هایی است که باید از سمت راست از host قرض بگیریم و به network اضافه کنیم.

مثال: شبکه 10.0.0.0 متعلق به سازمان ما میباشد.میخواهیم آن را طوری تقسیم کنیم که 5 شبکه به ما بدهد.

شبکه class A میباشد. پس:

HostNetwork
00000000.00000000.00000000.00001010

حالا فرمول را اعمال میکنیم.

2 ^ n >= 5

پس n=3 است.

حالا از سمت network سه بیت به داخل host جلو میرویم و به network اضافه میکنیم:

HostNetwork
00000.00000000.0000000000001010.000

اولین موردی که باید رعایت کنیم ، subnet mask جدید است:

11111111.11100000.00000000.00000000

255.224.0.0

که به این subnet mask میتوانیم 11/ بگوییم.

N/ یعنی subnet mask به گونه ای است که در بخش Network آن ، N مقدار 1 وجود دارد و قسمت Host آن 32-N صفر دارد.

حالا تمام حالت هایی را که با تغییر Network جدید (سه بیت اضافه شده) به دست آمده را حساب میکنیم.

HostNetwork
00000.00000000.0000000000001010.000
00000.00000000.0000000000001010.001
00000.00000000.0000000000001010.010
00000.00000000.0000000000001010.011
00000.00000000.0000000000001010.100
00000.00000000.0000000000001010.101
00000.00000000.0000000000001010.110
00000.00000000.0000000000001010.111

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

10.0.0.0/11

10.32.0.0/11

10.64.0.0/11

10.96.0.0/11

10.128.0.0/11

10.160.0.0/11

10.192.0.0/11

10.224.0.0/11

به عنوان تمرین شبکه سوم را آنالیز میکنیم:

شبکه 10.64.0.0/11 :

SubnetNetwork
00000.00000000.0000000000001010.010

حالا برای اینکه NetID را به دست بیاوریم تمام بیت های host را صفر میکنیم:

SubnetNetwork
00000.00000000.0000000000001010.010

پس NetID میشود : 10.64.0.0

برای به دست آوردن آدرس Broadcast همه بیت های host را یک میکنیم:

HostNetwork
11111.11111111.1111111100001010.010

پس Broadcast address میشود: 10.95.255.255

چون این دو آدرس را نمیتوانیم به نود ها اختصاص دهیم ، بنابراین اولین آدرس قابل استفاده میشود یکی بالاتر از NetID به عبارتی:

10.64.0.1

آخرین آدرس شبکه نیز میشود یکی مانده به آدرس Broadcast یا به عبارتی:

10.95.255.254

و تعداد آدرس ip قابل استفاده در شبکه : 2 به توان 21 منهای 2 که میشود 2097150 آدرس IP.

سوال؟ حد اقل تعداد آدرس IP های قابل استفاده در یک شبکه چقدر است؟

(2^n) – 2 >= 2

پس برای اینکه کوچکترین شبکه را داشته باشیم باید 2 بیت را به host اختصاص دهیم تا 2 آدرس IP قابل استفاده به ما بدهند.

در این حالت subnet mask به صورت زیر است:

11111111.11111111.11111111.11111100

255.255.255.252

/30

این subnet mask برای شبکه های point-to-point استفاده میشود.

در آخرین بخش از IP Addressing نیز به بحث Supernetting میپردازیم.

Supernetting دقیقا عمل عکس subnetting است. یعنی پند شبکه کوچک را با هم ادغام کرده و چند شبکه بزرگ ایجاد کنیم.

نکته مهم این است که هر دو شبکه ای را نمی توان باهم supernetting کرد.

به عنوان مثال آدرس IP به دست آورید که نمایانگر چهارشبکه زیر باشد.

10.128.0.0/11

10.160.0.0/11

10.192.0.0/11

10.224.0.0/11

ابتدا آدرس ها را به صورت باینری مینویسیم.

 

HostNetwork
00000.00000000.0000000000001010.100
00000.00000000.0000000000001010.101
00000.00000000.0000000000001010.110
00000.00000000.0000000000001010.111

اگر به قسمت Network نگاه کنید،هر 4 شبکه در 9 بیت اول مقدارشان مشترک است پس میتوان Network را دو بیت از سمت چپ کرد.

HostNetwork
0000000.00000000.0000000000001010.1
0100000.00000000.0000000000001010.1
1000000.00000000.0000000000001010.1
1100000.00000000.0000000000001010.1

بنابراین NetID جدید را به دست می آوریم:

NetID:00001010.10000000.00000000.00000000

NetID جدید میشود: 10.128.0.0

و subnet mask جدید میشود:

255.128.0.0

/9

پس آدرس مورد نظر 10.128.0.0/9 است.

به این ترتیب بحث IP Addressing تمام میشود.

 

 

درباره نویسنده

حمیدرضا وطنی

حمیدرضا وطنی

درج دیدگاه