:: پشتیبانی فنی ADSL به پارسی ::

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

:: پشتیبانی فنی ADSL به پارسی ::

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

:: پشتیبانی فنی ADSL به پارسی ::

تقدیم به تمام پشتیبانان ADSL که به رنج در تلاشند

*** تاسیس به سال 1389 در بلاگفا ***

بایگانی
  • ۰
  • ۰

IP مخفف اینترنت پروتکل است - پروتکل یعنی قوانین یکسانی که برای اجرای یک یا چند عمل طراحی شده اند - مبنای 2 برای باینری کردن اعداد در IP بسیار مهم است مبنای 2 یعنی بر توان های 2 محاسبات انجام می شود برای محاسبات عدد 2 را به توان اعداد 0 تا 7 بدست می آوریم و عدد دسیمال ( مثلاً 152 ) را بر آن اعداد بدست امده تقسیم و جمع می کنیم برای مثال :

 

عدد 152 را در مبنای باینری ( 2 دویی ) بدست آورید ؟

 

حل :

 

2 به توان 0 = 1 

2 به توان 1 = 2

2 به توان 2 = 4

2 به توان 3 = 8

2 به توان 4 = 16

2 به توان 5 = 32

2 به توان 6 = 64 

2 به توان 7 = 128

این 152 به 128 منها شود = 24 

24 - 16 = 8 

8 - 8 = 0 

یعنی این عدد بر این چند عدد می تواند محاسبه شود و دقیق آن به صورت :

 

1 ضربدر ( 2 به توان 7 ) + 0 ضربدر ( 2 به توان 6 ) + 0 ضربدر ( 2 به توان 5 ) + 1 ضرب ( 2 به توان 4 + 1 ضربدر ( 2 به توان 3 ) + 0 ضرب ( 2 به توان 2 ) + 0 ضرب ( 2 به توان 0 ) که باینری آن محاسبه می شود 

هر جا عدد دسیمال 152 بر یکی از اعداد تفریق شود 1 و اگر نشود 0 می گذاریم 

و وقتی این مقدار 0 و 1 را از سمت چپ به راست کنار هم قرار دهیم باینری آن  10011000 می شود 

128+16+8 = 152

 

انشالله که انواع کلاس های IP رو بلد باشید  192.168.1.1/24 رو در نظر بگیرید دارای تقسیمات زیر است :

 

24 = Network Bits

 

8 = Host Bits 

 

0 = ( N + H ) - 32   =  سابنت بیت ها 

 

Host Per Subnet = دو به توان  H منهای 2 

 

Subnets  =  دو به توان S  که 0 شده بود 1 

 

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

 

یک فول کلاس :

 

10.1.1.1/8 

AND آکتد اول در کلاس A با 255 گرفته شود : 

 

SM = 255.0.0.0

10.0.0.0 = SN

 

BA = 10.255.255.255  میشه wildcard سابنت هم حساب کرد که هست => 255.255.255.255  از سابنت مسک بالا 255.0.0.0 کم کنیم 0.255.255.255 که با جمع با 10.0.0.0 میشه همین برادکست 

 

10.0.0.1 = FA 

 

10.255.255.254 = LA

 

یک شبه فول کلاس :

 

100.1.1.1/24

 

255.255.255.0

 

100.1.1.0

 

100.1.1.255

 

کلاس لس ها :

 

192.168.1.130/25 

 

255.255.255.128     ( مشخص کردن آکتد اینترست از روی 25 تا 1 ) 

 

256-128 = 128       MN ( مشخص کردن عدد جادویی - هر آکتد 256 تا عدد دارد ) 

 

حالا شرط میزاریم کوچکتر و مساوی از عدد 130 چ عددی است که 128 بر آن بخش پذیر است :

 

192.168.1.128  = SN

 

برای بدست آوردن برادکست   SN + MN -1 

 

192.168.1.255   =   BA

 

FA = 192.168.1.129

 

LA = 192.168.1.254

 

یک مثال دیگر :

 

172.16.200.101/20

 

255.255.240.0

 

عدد 200 تقسیم بر 16 = 12.5 گِردش کنیم 12 ضربدر 16 = 192 ( اگر عدد مثلاً 200 بر عددی مثل 20 بخش پذیر بود خود 200 عددی هست که بر کوچکتر و مساوی خودش بخش پذیر ) 

 

   256 -240 = 16

 

192+16-1 = 207

 

SN = 172.16.192.0

 

BA = 172.16.207.255

 

یک مثال :

 

آدرس 17.16.15.14 در سافیکس 9 بدست آورید :

 

17.16.15.14   آدرس ( دامنه تغییرات از اکتد دوم شروع میشه ) 

 

255.128.0.0 = 9     نت مسک ( اکتد دوم با توجه به نکته ای که بالا گفته شد ) 

 

17.0.0.0/9   =   نتورک ( 16 تا در 128 تقسیم نمیشه 0 میشه بعد از آن همگی اکتد ها 0 می شوند ) 

 

17.127.255.255   = برادکست 

 

17.0.0.1 = حداقل هاست 

 

17.127.255.254  = حداکثر هاست 

 

روش  Subnet Zero  :

 

آدرس هایی که فول کلاس هستند اما در پرفیکس دیگری هستند :

 

166.25.0.0/22     که در کلاس   166.25.0.0/16 

 

حل :

 

255.255.252.0

 

4 = 252 - 256

 

166.25.4.0/22  شبکه قبل از آن      3.255  خواهد بود 

 

166.25.8.0/22

 

...

 

166.25.252.0   سابنت 64 ام است 

 

طبق روش بالا توضیح دادیم :

 

N = 16

 

H = 10

 

6 = S = 32 - (16+10)   سابنت شبکه   === > S = 2^6 = 64 

 

HPS = 2^10 - 2 = 1022


 

- سابنت ماسک ما هم برابر S=32-(H+N) است حاصل برابر میشه با 32-31= یک 

- به ازای هر هاست H سابنت میشه دو به توان H منهای دو که میشه 128 - 2 = 126 ( 2 آدرس به دلیل آدرس شروع شبکه و برادکست حذف شدن )

- حالا به ازای هر نتورک N سابنت دو به توان S = دو میشه

نکته : عباراتی نظیر 30/ را CIDR یا Perfix می گویند

 

مجیک نامبر Magic Number ---> مثال بالا در 25/ معادل سابنت ماسک 255.255.255.128 میشه هنگامی که از 256 کم بشه 128 = 128 خواهد شد این عدد را مجیک نامبر می گویند ( آن را به خاطر بسپارید )

- حالا به آیپی مثال برگردید و عدد 100 در آکتد آخر رو 100 تقسیم به 128 انجام بدهید به طوری که عددی صحیح بدون اعشاری بدست بیاورید حاصل در اینجا 0 میشه و صفر ضربدر عدد مجیک نامبر میشه 0  >>>> حالا آیپی مثال ما میشه 200.1.1.0

- برای بدست آوردن برادکست از فرمول مجیک نامبر منهای سابنت نامبر که 0 شد در آخرین اکتید جمع و از یک کم کنید میشه 200.1.1.127

حالا یک مثال دیگه :

172.16.70.211/18 یک آدرس از کلاس B داریم ابتدا آن را به 18 سافیکس برمی گردونیم   255.255.192.0 حالا 192 میشه آکتد سوم که تغییرات روش اعمال میشه مجیک نامبر رو بدست بیارید 256-192=64 میشه حالا آکتد سوم آیپی مثال رو تقسیم بر حاصل مجیک نامبر کنید میشه یک و نیم که عدد صحیح آن یک است سابنت نامبر میشه  172.16.64.0 ( دقت کنید سابنت نامبر هر چقدر بشه بقیه اکتد های بعدش 0 صفر میشن ) حالا برادکست آدرس رو پیدامی کنیم که میشه مجیک نامبر + سابنت نامبر منهای یک = 127 ( آکتد های بعد از این رقم برابر 255 میشن چون برادکست هست و بقیش 1 است  ) پس داریم 172.16.127.255

- حالا اولین آدرس استفاده شده 172.16.64.1  و آخرین آدرس 172.16.127.254 خواهد بود

یک مثال دیگر و راه حل دوم :

172.16.170.211/18

- مرحله اول 255.255.192.0 برابر 256-192 = 64

- مرحله دوم 170 رو ببر روی 64 تقسیم کن ببین عدد رندش چیه !!! میشه 2

- مرحله سوم 2 رو ضربدر 64 کن میشه 128 حالا اکتد سابت نامبر میشه 172.16.128.0  میشه

- مرحله چهارم بدست اوردن برادکست که از فرمول سابنت نامبر + مجیک نامبر - یک میشه 191 بقیه هم 255 میشه 172.16.191.255

-مرحله پنجم اولین آدرس رو بنویسیم 172.16.128.1  و اخرینش 172.16.191.254

 

* آموزش سوپرنتینگ

 

برای مثال ادرس 166.25.0.0/22 رو در نظر بگیرید :

- مرحله اول بدست آوردن سابنت ماسک معادل با آن 255.255.252.0

- بیت های نتورک N = 16 و هاست H = 10  و  بیت سابنت S=6 و هاست هر سابنت هم میشه دو به توان ده - دو  سابنت نامبر هم دو به توان 6 برابر 64 میشه و مجیک نامبر برابر میشه 256-252=4  که 252 اخر آکتدی که باهاش کار می کنیم

- حالا اولین ادرش شبکه 166.25.0.0  و شبکه بعدی 166.25.4.0  و شبکه بعدی 166.25.8.0  و تا 64 بار ادامه پیدا می کند تا به 166.25.252.0 برسیم

- حالا بین هر شبکه ای 1022 تا ادرس هاست خواهیم داشت به این روش سوپرنتینگ می گویند

 

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

 

برای مثال فرض کنید H = 139  و S=177 باشد و در کلاس B باشد

- در اینجور مسائل ابتدا اطلاعات سوال رو بنویسید  N=16 و تعداد هاست هر زیر شبکه برابر >= 139  و تعداد نتورک برای هر شبکه میشه  Nos>=177

- طبق فرمول داشتیم تعداد هاست ها منهای عدد دو پس => 139 باید باشد پس حاصل میشه دو به توان 8 = 128 و تعداد هاست ها 8 میشه ( یعنی دو به توان H هاست )

- طبق فرمول هم برای هر سابنت که S هست باید دو به توان S شود >= 177  که عددی برابر با S = 8

نکته : S رو میشه از رابطه 32 - ( H+N ) = ؟ هم بدست اورد که باز میشه 8

- حالا طبق مرتب سازی یک سابنت که داشتیم  N+S+H = 255.255.255.0  میشه چون 24 / شده ( ما در کلاس های سابنت به اکتد آخر معدل کلاس نیاز داریم )

مثال :

در کلاس می خواهیم برای هر شبکه 1000 هاست و 44 زیر شبکه ( نتورک ) داشته باشیم

- نزدیک ترین عدد که بزرگتر یا مساوی H باشد میشه = 1024 یعنی دو به توان H منهای 2

ما N و H و S رو میخواهیم = که کلاس B برای N ها = 16 برای H ها 10 و برای S ها میشه 6

- پس حالا 22/ N+S  و عددی معدل باینری 11111111.11111111.11111100.00000000

حالا فرض کنید دسته ای IP آدرس ها رو دارید و قصد دارین بهترین سابنت نامبر و بهترین ساینت ماسک رو بدست بیاریم :

114.3.4.0

114.3.5.0

114.3.6.0

114.3.7.0

این همان عمل Summarization هست که روتر ها در روتینگ انجام می دهند برای حل این مسائل :

- مرحله اول تمامی IP آدرس ها به صورت باینری یعنی 0 و 1 بنویسید :

به ترتیب می شوند :

01110010.00000011.00000100.000000000

01110010.00000011.00000101.00000000

01110010.00000011.00000110.00000000

01110010.00000011.0000111.00000000

حالا دقت کنید تغییرات از کجا اعمال شده همانطور که میبینید تغییرات در آکتد سوم در سه بیت اول ( از راست به چپ ) اتفاق افتاده است

- مرحله دوم یک خط فرضی که برای تمام ستون های اعداد باینری قبل از 1 در اکتد سوم می کشیم تا مرزی بین تغییرات باینری بیت ها با بیت هایی که ثابت هستند داشته باشیم

- مرحله سوم : حالا از دست راست پشت خط فرضی که کشیده این همه رو 0 کنیم ( آکتد سوم از بیت دوم به سمت راست )

- حالا آیپی آدرس اول میشود 114.3.4.0 که ساینت نامبر

- مرحله چهارم : تمامی اعداد سمت راست خط فرضی رو 1 بنویسید مثلاً ایپی ادرس 114.3.7.0 میشود 114.3.7.255 که آدرس برادکست این شبکه بدست میاید

 

روش ساده تر :

 

بسته به رنج کلاس آدرس ها باید از NetID به سمت بیت های Host ID کم کنیم و به NetID اضافه کنیم برای مثال اگر بخواهیم 2 بیت به NetID اضافه کنیم آن بیت ها را در سابنت ایجاد شده به صورت 0.0 - 1.0 - 1.0 - 1.1 خواهد بود ( تمام حالت ها ) حالا تفکیک سابنت ها ایجاد می شود برای این کار از فرمول ساده :

 

2 به توان n استفاده می کنیم => تعداد سابنت مورد نظر می باشد و مثال :

 

یک کلاس C که 4 سابنت تقسیم شود و سابنت ماسک جدید را محاسبه کنید :

 

2 به توان n => که 4 شده و n=2 است سابنت پیش فرض 255.255.255.0 است و 2 بیت در آکتد چهارم به صورت 1100000 = 192 می شود - سابنت ماسک با AND شدن یک ها به صورت NetID می شود - وقتی می گوییم NetID /30 یعنی سی تا 1 داریم 

 

 

فرض کنید می خواهید از یک کلاس فول مثل کلاس سی برای نزدیک به 300 هاست استفاده کنید این آدرس 255.255.255.0 هست و فقط 254 هاست را پشتیبانی می کند ( 2 به توان H که تعداد هاست ها است و آن در کلاس سی 8 است ) برای رفع این کمبود آدرس از کلاس لس ها استفاده می شود  - حتی زمانی که بازده آدرس دهی خیلی بیش از اندازه ما باشد :

آدرس های ورژن 4 دارای دو قسمت NetId و HostId است کلاس لس ها دارای سابنتینگ هستند درست مرزی بین هاست آیدی و نت آیدی ایجاد می کند و همان سابنت هست این سابنت متعلق به نت آیدی می شود ( به این عمل قرض گرفتن از بیت های هاست آیدی به نت آیدی سابنتینگ می گویند ) تعداد سابنت های ایجاد شده برابر است با 2 به توانی از بیت هایی که از هاست قرض گرفته شده است :

 

مثال 1 :

 

برای آیپی روبرو سابنت مسک رو حساب کنید که 300 سابنت داشته باشیم :

 

192.168.0.0

255.255.0.0

 

حل مثال 1 :

 

برای حل اینگونه سوالات ابتدا سابنت ها رو برابر یک عبارتی مثله S ( بیت های قرض گرفته شده ) قرار می دهیم سپس  2 به توان S باید بزرگتر مساوی 300 در سوال باشد حالا عدد S می شود 9 حالا باینری آدرس سوال رو می نویسیم :

00000000  00000000  168   192

00000000 000000000     255   255

               0 0000000000       ( 9 بیت قرض گرفته شده ) 

 

هاست ها 7 تا ( از چپ به راست ) و نت های جدید 9 بیت بیشتر شدند می شوند :

 

255.255.255.128 پس ادرس شبکه جدید می شود :

 

192.168.0.0

255.255.255.128

 

حالا 2 به توان تعداد بیت هاست که با H نشان می دهیم منهای 2 = 126 خواهد شد 

 

به خاطر بسپرید خیلی بدردمون میخوره :

 

1        2        4            8            16          32            64          128 

255   254     252       248      240         224         192         128

32/     31/     30/       29/      28/        27/           26/        25/

 

 

سوال :

 

در کلاس B  هاست 210 و سابنت 55 عدد باشد 

 

حل : 

 

N = 16

 

H = 8 

 

S = 6 

جمع مقادیر 30 می شود اگر 32 بود کاری نداشت یک سابنت میشد و مسئله حل بود چون کمتر از 32 شده - پس 32-(16+8) = 8 گاومون زایید چون S ما 6 شد اینجا 8 شده ولی 6 و 8 درست هستند بین آنها 7 قرار دارد  6-7-8 داریم برای 32 شدن 7 باید 9 تا H باشد ( چون سابنتینگ انجام میدیم از هاست ها بر می داریم = H ) در کل داریم  16 + 8 + 8  |  16 + 10 + 6 |  16 + 9 + 6 

 

N = 16

 

H = 8-9-10

 

S = 8-7-6

 

255.255.255.0  === 24 = 256

 

255.255.254.0  === 23 = 512

 

255.255.252.0   === 22 = 1024

 

HPS = 2^H-2 >= 210 

 

S = 2^6 >= 55 

 

 

روش دیگر :

 

وقتی میگیم یک سابنت با 200 نود ( هاست )یک ادرس پراویت را در نظر بگیرید برای 200 تا هاست یک کلاس سی کافی است :

 

192.168.1.0/24

 

این 0 دارای 8 بیت باینری است که می دهد 2 به توان 8 منهای 2 مساوی 254 نود یا هاست ( 2 نتورک و برادکست چون استفاده نمی شود کم می کنیم ) 

 

باید سعی کنیم جلوی اصراف در ادرس ها رو بگیریم نه خیلی زیاد نه خیلی کم ( که خیلی کم شبکه ما رو مختل خواهد کرد )

 

سابنتینگ بر اساس خروجی اعداد 1 تا ... به توان 2 است 

 

مثال : 

 

6 سابنت به ما بدهد ( تعداد هاست مهم نیست )      192.168.0.0     در 255.255.255.0/24

 

حل :

 

2 به توان 3 ( بزرگتر > = مساوی با 6 شود ) که = 8 - 2 = 6 ( با 3 و 8 خیلی کار داریم ) تا سابنت مرحله بعدی سابنت ماسک  255.255.255.0  که توان 3 سابنت ماسک را تغییر خواهد داد به نت آیدی نمی شود دست زد در کلاس سی 255.255.255 است سراغ 0 ها می رویم و 3 تا ( از چپ به راست عدد 1 بزار ) قرض می گیریم 11100000 که 224 می شود حالا سابنت ماسک جدید 255.555.255.224 می شود و 27/ خواهیم داشت ( 27 تا 1 باینری ) در مرحله بعدی عدد مجیک نامبر 256 را بر 8 تقسیم می کنیم می شود 32 تا که 8 سابنت داریم که در هر کدام 32 نود جا می شود :

 

255.555.255.224/27

256/8 = 32 که باقیمانده همیشه باید 0 شود حالا حرکت های 32 تایی داریم تا 8 بلوک :

 

32 ضربدر 0 = 0

32 ضربدر 1 = 32 

...

32 ضربدر 8 = 256 ( فقط در ضرب نوشته می شود همان 255 در هر بلوک حساب کنید ) 

 

برادکست هم 1 عدد از آخرین سابنت کم می کنیم 

 

 

مثال : 

 

6 سابنت به ما بدهد ( تعداد هاست مهم نیست )      172.16.0.0     در 255.255.0.0/16 بتواند 2000 سابنت بدهد 

 

حل :

 

2000 از کدام عدد نزدیکتر <= است که 2 به توان 11 می شود 2048 که سابنت 255.255.0.0 چون کلاس B هستیم 11 بیت از 0 ها قرض می گیریم یعنی 16 با 11 = 27 تا 1 داریم 255.255.255.0  ما کاری به 255 ها نداریم ( 1 ها رو در سابنت دست نمی زنیم سراغ 0 ها می رویم )  255.255.255.224  حالا 3 تا 1 در آکتد چهارم داریم که به توان 2 می شود 8 تا و 256/8 = 32 که حرکت ها می شود 32 تا 8 تایی که در کلاس A و B کاری به تعداد نداریم فقط حرکت برایمان مهم خواهد بود :

 

172.16.0.0

32

64

96

...

224

 

چون 256 باهاش کاری نداریم ( مگر اینکه پشت آن نت آیدی باشد آن موقع 256 نوشته می شود ) بعدی :

 

1.0

1

...

224

بعدی میشه :

2.0