ترافیک ها در 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 تنها یک شناسه است .


ipv4

👈 نکته دیگر که در تصویر بالا حائز اهمیت است ، حذف عدد 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

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 بودن را رعایت می کنیم .


 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

در تصویر بالا یک 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

👈 هدف Prefix فقط بحث خلاصه نویسی نیست ، ما از این بیت های (0 ، 1) برای مقاصد دیگری استفاده می کنیم . Subnetting 😎