ترافیک ها در IPv4:
قبل از اینکه وارد بحث IPV4 Address شویم ، نیاز است بررسی کنیم که ، ترافیک ها در شبکه های کامپیوتری به چند روش جابه جا می شوند .
Unicast:
یک نوع ترافیک یک به یک است. یک نفر می فرستد و یک نفر می گیرد . معمول ترین و متداول ترین ارتباط در شبکه های کامپیوتری است .
Multicast:
یک نوع ارتباط یک به چند است که در این نوع ارتباط Data ها همزمان می رسند . 👈 مثلا یک نفر می فرستد ، 5 نفر از 20 نفر می گیرند . (ویدئو کنفرانس)
Broadcast:
یک نوع ارتباط یک به همه است . ترافیک مزاحمی است و از بین نمی رود . هدف آن تمامی دستگاه های داخل شبکه است .
👈 کار Router ها اتصال شبکه ها به یکدیگر برای انتقال ترافیک Unicast و Multicast است و روتر ها به هیچ وجه ترافیک Broadcast را از خود عبور نمی دهند . Router خودش تولید ترافیک Broadcast می کند .
IPv4-Address:
آدرس IP که مورد بررسی قرار می دهیم ، به IPv4 معروف است . همانطور که مستحضر هستید IPv6 هم ارائه شده ، اما IPv4 همچنان IP شماره یک است .
👈 IPv4 آدرس 32 بیتی در مبنای 10 که تشکیل شده از 4 قسمت 8 بیتی که به ( . ) از هم جدا شده اند .👈 X . X . X . X
✔️ هر کدام از این X ها می توانند ، اعدادی بین 0 تا 255 ( مجموعا 256 عدد ) باشند و نه بیشتر . بنابراین IP که مثلا عدد 300 در آن روئیت شود را مشاهده نخواهیم کرد .
✔️به صورت استاندارد IP اول ( 0 ) نداریم ، بنابراین X اول همیشه با عدد ( 1 ) شروع می شود .
✔️ IPv4 به 5 کلاس 👈 ( E - D - C - B - A ) دسته بندی می شوند ، که از مجموع این 5 کلاس 👈 3 کلاس ( C - B - A ) برای ما بسیار حائز اهمیت هستند و با آنها زیاد سرو کار داریم .
✔️ IP های 3 کلاس اول ( C - B - A ) که ما استفاده می کنیم به IP های ، Unicast شهرت دارند . IP کلاس D ، مربوط به عملیات Multicasting و IP کلاس E برای تحقیقات رزرو شده است . چه کسانی و چه تحقیقی روی آن انجام می دهند ، الله اعلم.
✔️ تنها ملاک تشخصی IP ، عدد اول از سمت چپ می باشد و هیچ ملاک دیگری وجود نخواهد داشت .
اگر عدد اول از سمت چپ بین :
1 تا 126 👈 کلاس A
128 تا 191 👈 کلاس B
192 تا 223 👈 کلاس C
224 تا 239 👈 کلاس D
240 تا 255 👈 کلاس E
✔️ IP ها بر هم برتری ندارند و IP ها تعیین کننده سرعت اتصال نیستند . IP تنها یک شناسه است .
👈 نکته دیگر که در تصویر بالا حائز اهمیت است ، حذف عدد 127 ما بین کلاس های A و B است .
✔️ کلاً IP هایی که با 127 شروع می شوند که معروف ترین و اصلی ترین آن
127.0.0.1 است به IP
های LoopBack معروف هستند .
✔️ آدرس های LoopBack هر کجا که استفاده شوند یعنی خودم . مثلا طرف می گوید شلیک کن
🤠 به 127.0.0.1 ، یعنی به خودم شلیک کن .
✔️ مثلا ما در شبکه های کامپیوتری یک سیستم می گذاریم و می گوییم وظیفه تو DNS
بودن است . این سیستم یک IP دارد 10.2.5.6 .
به تمام کامپیوتر های
زیرمجموعه آن می گوییم ، هر کسی با DNS کار داشت از 10.2.5.6 بپرسد و به خودش می
گوییم از 127.0.0.1 بپرس. (یعنی از خودت بپرس)
👈 دوستان من عدد 127 به دلیل معنای آن ، به عنوان آدرس منحصر به فرد برای یک سیستم قابل استفاده نیست و به همین دلیل کلاً بین کلاس های ( A و B ) عدد 127 حذف شده است . آن چیزی جزء کلاس های ( B ، A و C ) آماده است که بتوان از آن به عنوان یک شناسه کامپیوتر نام برد . مثلا بگوییم این آدرس فلان سیستم است .
Subnet Mask:
به عنوان مثال :
افراد یک نام و یک نام خانوادگی دارند . تقریباً نام خانوادگی به شخص هویت می دهد
که مربوط به کدام خانواده است .
در IP هم داستان به همین صورت است . IP به تنهایی کفایت نمی کند و همراه آن همیشه
یک مکمل وجود دارد (حکم نام خانوادگی) ، که بدون آن مکمل تکلیف آن معلوم نیست . این
مکمل را Subnet Mask گویند .
✔️ ساختار Subnet Mask دقیقاً مثل IP است . 👈 4 عدد که با ( . ) از هم جدا شده
اند . 👈 Z . Z . Z . Z
چرا ساختار Subnet Mask شبیه IP است ؟ به دلیل اینکه بین Subnet Mask و IP تناظر پیش
بیایید .
✔️ هر قسمتی از Subnet Mask ، محدوده ی تغییرات متناظر خود را در IP نشان می دهد
و برای همین است که ساختار آن شبیه به IP است .
این محدوده ی تغییرات به چه دردی می خورد ؟
IP بدون Subnet Mask محدوده ی تغییرات آن مشخص نیست و IP که محدوده ی آن مشخص
نباشد ، نمی توان تشخیص داد مربوط به کدام شبکه است . این Subnet Mask است که
محدوده را نشان می دهد و می گوید اگر پاتو 🦶 از این محدوده این ور تر گذاشتی
رفتی یک شبکه دیگر .
✔️ به صورت پیش فرض در Sunet Mask : Z . Z . Z . Z 👈 هر کدام از این Z ها می توانند 9 عدد باشند . ما در در وهله اول هر قسمت از Subnet Mask را 0 و 255 در نظر می گیریم .
✔️ به صورت نورم Subnet Mask : 255.255.255.255 نداریم . مثلا بخواهیم به یک دستگاه بفهمانی که ، ای دستگاه این 10.20.30.40 یک تک IP است و هیچ هم گروهی ( هم رنج ) ندارد ، باید با 4 تا 255 به آن بگوییم.
0 یا 255 بودن Subnet Mask به چه معنا است ؟
قبل از اینکه به این سوال پاسخ دهیم یک نکته را یادآور می شویم که ، به صورت استاندارد ، Subnet Mask اول ( 0 ) نداریم و عدد اول همیشه 255 است . بقیه اعداد می توانند ( 0 ) باشند .
سناریو :
👈 یک شبکه ای وجود دارد و ما تصمیم داریم 2 کامپیوتر را بدون واسطه ( منظور از
واسطه Router است و من اصلاً روتر بلد نیستم) را با هم شبکه کنیم .
IP : 10.18.19.7
Subnet Mask :
255.255.0.0
Subnet Mask می گوید ، آن قسمت از آدرس IP که Subnet Mask آن 👈 255 است ( در
سناریو 10.18) ، ملغب است به
Net ID .
و آن
قسمت از آدرس IP که Subnet Mask آن 👈 0 است ( در سناریو 19.7) ، ملغب است به
Host ID .
نتیجه می گیریم که : 2 کامپیوتر در یک شبکه ، (بدون واسطه) شبکه خواهند بود اگر قسمت Net ID های آنها شبیه هم باشند . یعنی کامپیوتر دوم را با 10.18 شروع می کنید . منتها قسمت Host ID اهمیت ندارد ، اما بین 0 تا 255 باشد . 👈 10.18.20.8
Subnet Mask می گوید : اگر به یک کامپیوتر IP دادید و قسمت Net ID را متفاوت گذاشتید ، این کامپیوتر در شبکه ما نخواهد بود و ما هیچ نوع Data از نوع Multicast ، Unicast و Broadcast را با آن جابه جا نخواهیم کرد . باید از Router استفاده کرد . اگر می دانید روتر چه طور تنظیم می شود ، بسم الله . اگر نمی دانید همان 10.18 🙂
👈 بنابراین IP بدون Subnet Mask محدوده ی تغییرات آن مشخص نیست و IP که محدوده ی آن مشخص نباشد ، نمی توان تشخیص داد مربوط به کدام شبکه است .
این Subnet Mask است که تعیین می کند چه کسی Net ID و چه کسی Host ID است . اگر من Subnet Mask را پاک کنم و یک نفر از من بپرسد Net ID این IP چیست ؟ بگوییم 10 ؟ یا 10.18 ? یا 10.18.19 ؟ بنابراین Subnet Mask لازم است و باید تکلیف مشخص شود .
Subnet Mask های پیش فرض :
Class A : 1 - 126 👉 Subnet Mask = 255.0.0.0
Class B : 128 - 191 👉 Subnet Mask = 255.255.0.0
Class C : 192 - 223 👉 Subnet Mask = 255.255.255.0
👈 نکته : تنها ملاک تشخیص کلاس IP عدد اول از سمت چپ IP است و Subnet Mask به
هیچ عنوان کلاس IP را تعیین نمی کند . به عنوان مثال :
IP : 10.18.19.7
Subnet Mask : 255.255.0.0
👈 نشان می دهد که من از IP کلاس A استفاده کردم . این که Subnet Mask من شبیه کلاس B شده است ، کلاس IP را عوض نمی کند .
Public and Private IPs:
IP های 3 کلاس ( A ، B ، C ) ، به 2 دسته ی Public و Private تقسیم می شوند و
مجموعه ای به نام IANA
، این IP ها را در دنیا دسته بندی کرده است .
چه IP هایی را دسته بندی کرده است ؟
✔️ IP 👈
IP Public / IP Valid
هایی هستند که در فضای اینترنت مورد استفاده قرار می گیرند و زمانی پای آنها به
بازی ما باز می شود که ، ما بخواهیم به اینترنت متصل شویم .
بنابراین در
اینترنت IP Public وجود دارد و مجموعه IP ، IANA ها را در دنیا دسته بندی و تقسیم
کرده است . مثلا شما وقتی به یک سایت وصل می شوید ، از روی IP می فهمند که IP شما
مربوط به کشور ایران است .
✔️ برای استفاده استاندارد از IP Public در اینترنت ، باید پول 💲 پرداخت و آن را
اجاره کنید ،
لذا مدیریت IP Public دست من و شما نیست که تعیین کنیم در چه
کلاسی و به چه صورت باشد . ما فقط مصرف کننده هستیم . مدیریت آن با IANA است که
IP ها را تقسیم کرده و سهم ایران ، سهم شیراز ، سهم فلان ISP مشخص کرده است .
مثلا 👈 5.112.80.20 - 5.112.80.6
👈 زمانی که ما 10 کامپیوتر را با هم شبکه می کنیم ، برای این کامپیوتر ها هیچ
فرقی ندارد که IP آنها از جنس Private است یا Public ،
فرض بگیریم که شما
این 10 تا سیستم را با IP Public شبکه کرده اید . مطمئناً که هیچ مشکلی پیش نمی
آید ، اما زمانی مشکل پیش می آید که بخواهید، این 10 تا کامپیوتر را به اینترنت
متصل کنید . در اینترنت احتمال اینکه این IP ها توسط یک نفر ، در یک جایی از جهان
در حال استفاده شدن باشد خیلی زیاد است . آن وقت سیستم شما مکرراً پیغام IP
Address Conflict را می دهد و احساس می کند یک نفر از IP شما در حال استفاده کردن
است .
خوب این که نشد کار . بنابراین باید کاری انجام دهیم که ، اگر خواستیم کامپیوتر ها را در یک شبکه داخلی شبکه کنیم و فردا روز که به اینترنت وصل شدیم دچار مشکل نشویم ، از IP هایی استفاده کنیم که در فضای اینترنت نیستند . این IP ها ملغب هستند به IP Private که مدیریت آن دست من و شما است .
👈 بنابراین از این لحظه به بعد استاندارد برای ما مهندسین شبکه این شد که :
برای ساخت شبکه های داخلی از IP Private و 👈 IP Public هم بماند برای زمانی که می خواهیم
به اینترنت متصل شویم .
مثلاً : طرف میگه من می خواهم این ساختمان را شبکه کنم ، اما از همان لحظه اول مشخص است که باید از IP Private استفاده کند .
در هر کلاس IP چه کسانی Private هستند ؟
اگر مبنا بر این شد که من از IP Private استفاده کنم و مدیریت آن هم دست خودم باشد ، بنابراین باید بدانم که در هر کلاس IP چه کسانی Private هستند . مثلا اگر من خواستم در کلاس A به کامپیوترم IP بدهم ، به چه صورت باشد Private یا Public است .
برای مشخص کردن Private یا Public ، اگر قسمت Net ID
آدرس IP را تعیین و تکلیف کنیم ، کار تمام است .
👈 اگر خواستید کلاس A استفاده کنید و Private باشد با ( 10 ) شروع کنید و 3 عدد بعد
از آن تعیین کننده Public یا Private نیست . هر چیزی به غیر از 10 باشد Public است
.
Class A
: 10.X.X.X 👉 Subnet Mask = 255.0.0.0
IP Private :
10.18.19.7 👉 Subnet Mask = 255.0.0.0
IP Public : 11.18.19.7
👉 Subnet Mask = 255.0.0.0
👈 در کلاس B به صورت پیش فرض 2 قسمت Net ID داریم . عدد اول ( 172 ) و عدد دوم ما
بین ( 31 - 16 ) . هر 2 عدد شرط هستند .
Class B
: 172.( 16-31 ).X.X 👉 Subnet Mask = 255.255.0.0
IP Private :
172.16.1.7 👉 Subnet Mask = 255.255.0.0
IP Public : 173.15.1.7
👉 Subnet Mask = 255.255.0.0
👈 کلاس C معروفترین جنس IP Private است .
Class C
: 172.168. ( 0 - 255 ).X 👉 Subnet Mask = 255.255.255.0
IP Private :
192.168.1.1 👉 Subnet Mask = 255.255.255.0
دوستان من، بدین ترتیب قائده بر این شد که ، اگر قرار شد ما به تعدادی کامپیوتر جهت شبکه شدن IP بدهیم ، از هر کلاسی که دوست داشتیم IP می دهیم ، البته شرط Private بودن را رعایت می کنیم .
Number of networks and Hosts per Network :
👈 هر کلاس IP به شرط Private بودن و با Subnet Mask پیش فرض ، چند شبکه به ما می دهد و گنجایش هر کدام چقدر است ؟
تعداد شبکه کلاس A ؟
وقتی می گوییم به شرط Private بودن ، در قسمت Net ID کلاس A فقط عدد ( 10 ) می تواند
قرار گیرد .بنابراین 1 شبکه می شود . 👈 10= 1 × 10
حال اگر به شرط Private بودن را نمی گفتیم 👈 126 - 1 ( 126 تا شبکه در کلاس A ).
گنجایش شبکه A ؟
قسمت Host ID را در نظر می گیریم . 👈 256 × 256 × 256
👈 Networks and Hosts ( A ، B ، C ):
Class A : Network = 1 👉 Host Per Network = 256 × 256 × 256
Class B : Network = 1 × 16 👉 Host Per Network = 256 × 256
Class C : Network = 1 × 1 × 256 👉 Host Per Network = 256
👈 نکته ای که حائز اهمیت است این است که ، IP ها از کلاس A به سمت کلاس C ، تعداد شبکه ها بیشتر اما گنجایش شبکه کمتر می شود. این معنای خاصی ندارد و نشان دهنده ی برتری IP ها نسبت به هم نیست . ( چیدمان به این صورت است)
Router and Subnets :
در تصویر بالا یک Router را نشان می دهد که 2 شبکه را به هم وصل کرده است ، اما نکاتی در تصویر حائز اهمیت است که انها را با هم بررسی می کنیم .
1
خطوط عمود بر هم ، حکم شبکه را دارند که در تصویر 2 خطوط عمود بر هم را مشاهده می کنید .
2
با توجه به اینکه قسمت Net ID های هر 2 شبکه متفاوت هستند، بنابراین 2 شبکه متفاوت در کلاس C داریم .
192.168.1.0
192.168.2.0
بنابراین اگر می خواهید ، Data با ترافیک Unicast یا Multicast ارسال کنید ، این روتر را درست این وسط قرار داده است که البته روتر نیازمند 2 تا Interface است .
3
کامپیوتر 70. یا 250 . 👈 IP کامپیوتر است ، یعنی 192.168.2.70 و 192.168.2.250
4
روتر 2 تا Interface دارد .
FE 👉 Fast Ethernet 👉 100Mbps
0/1 یا 0/0 یک شناسه یا عدد است ، به هر حال Interface ها را باید یک جوری از هم تفکیک کرد .
5
254. 👈 IP روتر می باشد و با توجه به اینکه در شبکه دوم قرار گرفته است، بنابراین IP آن 👈 192.168.2.254 می باشد .
اگر بخواهیم یک روتر را به یک شبکه وصل کنیم ، باید Net ID آن روتر با آن شبکه بخواند و علاء عضوی از آن شبکه نخواهد بود . بنابراین Getway 👈 192.168.2.254 شبکه است و شرط Getway
بودن ، هم رنج بودن است . (یعنی Net ID روتر ، با شبکه مقابل یکی باشد )
سوال ؟
چرا کامپیوتر 2.70 برای رسیدن Data به 25. از روتر استفاده کرده است ؟
زیرا هم شبکه ای آن نیست و Data را به Router داده و گفته قربون دستت آن را از
روی Interface به سمت 25. برسان .
علت اینکه روتر Data را رد کرده چیست ؟
زیرا جنس Data ارسال شده از نوع Unicast بوده (فرستنده و گیرنده مشخص) و روتر ها
با Unicast ها مشکلی ندارند .
6
24/ 👈 به عددی که با (
/ ) ، پشت IP نوشته می
شود Prefix می گویند .
بنابراین Prefix می شود تعداد کل بیت های (1) 👈 Subnet Mask .
بعضی اوقات لازم است که شما Subnet Mask را از مبنای 10 به 2 ببرید . اگر Subnet
Mask از مبنای 10 به 2 ببرید ، هر 255 معادل 8 عدد 👈 (1) است .
حال تعریف کامل تر ما از Net ID و Host ID :
Net ID : آن قسمت از IP که Subnet Mask آن بیت 1
داشته باشد .
Host ID : آن قسمتی از IP که Subnet Mask آن بیت 0 داشته باشد .
👈 هدف Prefix فقط بحث خلاصه نویسی نیست ، ما از این بیت های (0 ، 1) برای مقاصد دیگری استفاده می کنیم . Subnetting 😎