مدل 7 لایه شبکه:
این 7 لایه را که می شناسید ؟ غالباً دوستانی که رشته آنها IT و کامپیوتر است ، اگر در دانشگاه دوره ای در مورد شبکه گذرانده باشند ، معمولا داخل همین 7 لایه چرخیدند .7 لایه ی شبکه ملغب به لایه های OSI هستند که تاریخچه دارند . اینها 7 تا عملکرد هستند و چیز فیزیکی نیستند .
👈 این 7 لایه چگونه به وجود آمدند ؟
اوایلی که بحث شبکه های کامپیوتری مطرح بود ، هر کارخانه سازنده ی تجهیزات با استاندارد های خودش تجهیزات می ساخت (هر جور خودش صلاح می دانست ) . غالباً افراد برای اینکه یک شبکه ایجاد کنند ، مجبور بودند از یک برند خاص خریداری کنند . شبکه ها که بزرگتر شد گفتند ، نه خیر اینجوری که شدنی نیست . قرار نیست هر چیزی که من بخواهم خریداری کنم D-Link باشد ، می خواهم یک قسمت از شبکه ام را با تجهیزات Cisco پیاده سازی کنم .
لذا مجموعه ها دور هم نشستند و گفتند ، یک استانداردی طراحی کنیم که همه از این استاندارد تبعیت کنند، برای اینکه برنده های مختلف بتوانند با هم کار و مشکلی نداشته باشند . این استاندارد شد 7 لایه شبکه OSI .
👈 عملکرد
مدل 7 لایه ای OSI :
زمانی که شما می خواهید Data را از A به B بفرستید ، هر لایه براساس نوع عملکرد
خود یک چیزی را به این Data اضافه کرده و به لایه های بعدی می فرستد .در نهایت
Data به بخش Physical می رسد و از روی Media به سمت مقابل فرستاده می شود . سمت
مقابل هم به صورت بالعکس ، هر لایه Data را می خواند تا در نهایت تبدیل شود به آن
چیزی که در مبداء بوده است . حالا اینکه چه چیزهایی این لایه ها اضافه می کنند
خیلی برای ما اهمیت ندارند .
👈 دوستان عزیز اولاً ما نمی خواهیم خیلی ریز وارد جزئیات این 7 لایه شویم . (مثلا Flag ، Sequence number چند است و … ) بدانید بد نیست ، اما خیلی با آنها سرو کار نداریم . یک نکته را یادآور شوم که ما در شبکه حکم یک خلبان را داریم . یک خلبانی کار کشته با هزاران ساعت پرواز . حالا به این خلبان بگویند مثلا ، این پیچ زیر بال هواپیما را برای چه چیزی بستند . می گوید من نمی دونم ، اینو باید از مهندس پرواز بپرسید .
ما حکم این خلبان را داریم . ما قراره شبکه را جلو ببریم ، قرار نیست یک چیزی شبیه به این لایه ها بسازیم . اگر روزی قرار شد چیزی شبیه به این لایه ها بسازید ، آن وقت لازم است بدانید در این لایه ها چه خبر بوده است . تا شاید بتوانید به روش مهندسی معکوس یک چیزی جدید بسازید .
👈 از مجموع این 7 لایه ، 3 تا برای ما فوق العاده حائز اهمیت است . یعنی آن قدری
که ما در مورد این 3 تا از مجموع 7 تا صحبت می کنیم ، در مورد 4 تا دیگر حرفی به
میان نمی آید . این 3 لایه عبارتند از :
✔️ Data Link Layer
✔️ Network Layer
✔️ Transport Layer
لایه 1 Physical layer :
قبل از اینکه بگوییم چرا 3 لایه ای که در بالا عنوان شد مهم هستند ، در مورد لایه 1
صحبت می کنیم . هر چیزی که در شبکه قابل لمس
باشند ، Physical است .
✔️ مثلا کابل یا کانکتور قابل لمس است و در لایه 1 کار قرار می گیرد .
✔️ HUB دستگاهی است که در لایه 1 کار می کند ، که آدرس IP و آدرس MAC را نمی فهمد و فقط یک دستگاه فیزیکی است .
👈 روش کار HUB به این صورت بود که ، Data را از مبداء می گرفت و با توجه به اینکه آدرس IP و MAC روی آن درج شده بود ، نمی توانست آن را بخواند و به همین دلیل از تمام پورت های خود به صورت Broadcast خارج می کرد تا در نهایت به مقصد برسد . به عنوان مثال : یک HUB 24 Port ، تمام 24 پورت Data را پردازش می کردند در حالی که مبنا یک سیستم بوده است.
به همین دلیل است که امروزه HUB منسوخ شده و جای خود را به Switch داده اند.
سوئیچ ها MAC را می فهمند و و آن را در جدول خود می نویسند که مثلا Mac Address هر کامپیوتر چیست و به چه شماره پورت متصل است .
لایه 2 Data Link Layer :
شکی نیست دوستان من که در شبکه های کامپیوتری مانند هر شبکه ی دیگری ، هر دستگاهی که در این فاز کار می کند باید یک شناسه منحصر به فرد داشته باشد ، تا به وسیله ی این شناسه شناخته شود . لایه 2 برای ما این شناسه را فراهم می کند ، آدرس دهی فیزیکی انجام می دهد و می گوید مبداء و مقصد کیست با چه شناسه ای .
👈 آن شناسه ای که در لایه 2 مورد استفاده قرار می گیرد و فوق العاده حائز اهمیت است
، MAC Address
نام دارد .
✔️ آدرس 48 بیتی در مبنای 16 hexadecimal ، چیزی شبیه به این 00-A0-CC-23-AF-4A
👈 (6 قسمت 8 بیتی)
✔️
24 بیت اول را کد کارخانه و 24 بیت دوم را کد دستگاه می نامند .
✔️ از این به بعد اگر گفته شد فلان دستگاه ( مثلا سوئیچ ) ، در لایه 2 کار می کند بدان معنا است که ، مبداء و مقصد را با MAC می شناسد .
✔️ چه کسی این آدرس را به ما می دهد ؟ کارخانه سازنده کارت شبکه این شناسه منحصر به فرد را فراهم می کند .
✔️
روی چه چیزی قرار می دهد ؟ Interface (کارت شبکه) . 👈
اصطلاحا می گوییم ، هر Interface دارای یک Mac Address منحصر به فرد است . Mac
Address آن در دنیا یکتا است .
👈 آیا آدرس MAC قابل تغییر است ؟
استاندارد خیر . غیر قابل تغییر نیست ، زیرا روی چیپ ست کارت شبکه شما درج شده است . اینکه با فلان نرم افزار آن را عوض می کنند ، این FAKE است ، مجازاً عوض شده ، اصل آن عوض نمی شود .
👈 یکی از مشکلات Mac Address این است که نمی توان آن را تغییر داد . حالا اگر ما
بخواهیم شناسه سیستم را به هر دلیلی تغییر دهیم ، تکلیف ما چیست ؟ آیا واقعا باید
دست به دامن نرم افزارهایی شویم که مجازاً MAC سیستم ما را عوض کنند ؟
ای کاش ما می توانستیم به کامپیوتر ، آدرسی که خودمان انتخاب کردیم را بدهیم نه کارخانه سازنده . 👈 (هر آدرسی که دوست داشتم را انتخاب و هر موقع که لازم بود آن را عوض کنم) .
👈 شکی نیست که انتقال Data در شبکه های کامپیوتری بر پایه MAC است . مثلا داری
تصویر سیستم من را می بینید ، بر پایه MAC است .
سوال ؟ اینکه می گوییم بر پایه MAC است ، مثلا زمانی که شما بخواهید از طریق AnyDesk به سیستم من متصل شوید ، کامپیوتر شما از کجا فهمید که Mac سیستم من چیست ؟ شما به AnyDesk گفتید وصل شود به 192.168.2.100 ، این که IP است . 🙂
✔️ من به AnyDesk گفتم که می خواهم به 192.168.2.100 وصل شوم .
✔️ این آدرس IP نیاز است که MAC را پیدا کند ، اما سوال پیش می آید ، واقعا MAC را
می خواهد چه کار ؟🤔
✔️ زیرا ما می دانیم در شبکه بعضی از دستگاه ها مانند سوئیچ IP نمی فهمند و باید
به زبان لایه 2 با آنها صحبت کنید . مثلا اگر به سوئیچ بگویید ، Packet را به آدرس
192.168.2.100 ارسال کند ، می گوید من نمی فهمم این آدرس چیست . بنابراین باید آدرس MAC مقصد روی Packet نوشته شده باشد .
👈 در شبکه قانونی وجود دارد به اسم
Address Resolution Protocol (ARP). کشف MAC Address مقصد به روش Broadcast . 👈 یعنی Data را جوری می فرستد که همه ببینند .
Address Resolution Protocol (ARP):
طبق تصویر پایین ، 2 دستگاه سوئیچ وجود دارد که به هم متصل هستند و PC1 می خواهد Data را سمت Server ارسال کند . (IP سرور را می داند اما MAC را خیر )
در اینجا MAC نیاز است ، زیرا دستگاه هایی که این وسط قرار گرفته اند لایه 2 هستند و IP را نمی فهمند . بنابراین Data به روش Broadcast با پروتوکل ARP فرستاده می شود .
1
ابتدا Data از پورت Gig 0/1 سوئیچ وارد شده و سوئیچ PC1 👈 MAC را در جدول
خود می نویسد .
2
سوئیچ نمی داند مقصد کیست و حتی در مورد B اطلاعاتی ندارد . به همین دلیل Data
را به صورت Broadcast سمت PC 2,3 می فرستد .
3
Data از پورت Gig 0/1 سوئیچ دوم وارد شده و سوئیچ PC1 👈 MAC را در جدول خود
می نویسد .
4
سوئیچ نمی داند مقصد کیست و حتی در مورد B اطلاعاتی ندارد . به همین دلیل Data
را به صورت Broadcast سمت PC 4,5 می فرستد .
5
در نهایت Data به مقصد می رسد . حالا سرور جواب را بر می گرداند ، اما جوابی
که برمی گردد ، مبداء و مقصد آن مشخص و دیگر Broadcast نیست . که اصطلاحا به آن
ARP Replay گویند .
6
Data از پورت Gig 0/2 سوئیچ دوم وارد شده و سوئیچ Server 👈 Mac را در جدول
خود می نویسد .
7
سوئیچ ها Data را از تمام پورت های خود بیرون نمی فرستند ، زیرا می دانند درخواست کننده چه کسی بوده و مستقیما سمت PC1 می فرستند .
👈 تا این قسمت فقط MAC پیدا شد . از این لحظه به بعد PC1 شروع می کند اصل Data خود (مثلا Excel) را می فرستد .
لایه 3 Network Layer:
👈 در شبکه های کامپیوتری یک نوع آدرس دهی دیگر در لایه Network ، تحت عنوان IP Address وجود دارد .
✔️ آدرس 32 بیتی در مبنای 10 Decimal ، چیزی شبیه به این 192.168.2.100 👈 (4 قسمت 8 بیتی)
✔️ از این به بعد اگر گفته شد فلان دستگاه ( مثلا Router ) ، در لایه 3 کار می کند بدان معنا است که ، مبداء و مقصد را با IP می شناسد .
✔️ Router که به آدرس IP کار می کند ، بدان معنا نیست که MAC Address ندارد ، به هر حال دستگاه هایی که لایه 2 هستند این Router را با MAC خودش می شناسند ، اما خودش با آدرس IP کار می کند .
یا مثلا 👈 کامپیوتر شما با آدرس IP کار می کند ، پس چرا MAC دارد ؟ برای اینکه آن دستگاه هایی که IP سیستم شما را نمی فهمند با MAC Address با سیستم شما در ارتباط هستند .
✔️ عملیات مسیریابی Routing براساس عملکرد Router و آدرس IP در لایه 3 اتفاق می افتد . بنابراین وقتی از روتر ها در شبکه استفاده می کنیم که بیش از یک شبکه داریم و نیازی به استفاده روتر در یک شبکه نیست .
👈 لایه 3 اهمیت دارد به خاطر وجود آدرس دهی به اسم IP . بنابراین تا این لحظه هر
سیستم دارای 2 آدرس است :
1
Physical Address / MAC Address 👈 این آدرس مربوط به لایه 2 است که توسط کارخانه سازنده روی کارت
شبکه درج شده است و قابل تغییر نیست .
2
IP Address 👈 این آدرس مربوط به لایه 3 است که من تعیین می کنم و قابل تغییر هم می باشد.
Half-Duplex vs Full-Duplex:
ما در شبکه ( مثلا روتر ها ) یک اصطلاح داریم به اسم Duplex که شامل : Half-Duplex یا Full-Duplex هستند .
👈 Half-Duplex بدان معنا است که ، سیستم شما یا فرستنده است یا گیرنده . مثل بی سیم ، وقتی دکمه را فشار می دهید ، چیزی نمی شنوید و فقط صحبت می کنید .
👈 امروزه تقریبا همه دستگاه ها Full-Duplex کار می کنند ، یعنی هم فرستنده و هم گیرنده هستند . مثل تلفن که هم می شنوید و هم صحبت می کنید .
عبارت Duplex Auto در روتر ها یعنی من خودم را با سمت مقابل تنظیم می کنم . اگر Half-Duplex بود من هم Half-Duplex کار می کنم و اگر Full-Duplex باشد ، من هم Full-Duplex کار خواهم کرد .
عبارت Speed Auto مربوط به بخش Flow Control است .
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto