زندگی امروزی ما و اینترنتی که با آن کار میکنیم، مدیون دنیای شبکه است. امروزه تمامی دادهها و اطلاعات از طریق شبکه جابهجا میشوند. برای مثال، وقتی از واتساپ عکسی را برای دوست خود میفرستید، این عکس مسیری را برای رسیدن به مقصد طی میکند. در این مسیر که به آن شبکه میگوییم، چندین لایه وجود دارد که همگی دست به دست هم میدهند تا تصویر شما به طور کاملاً صحیح به دست مخاطبتان برسد. این لایهها با عنوان لایه های شبکه شناخته میشوند که موضوع بحث این مقاله ماست.
با ما همراه باشید تا شما را ابتدا با اصطلاحات مهم شبکه و سپس لایه های شبکه آشنا کنیم.
پیش از اینکه به تعریف لایه های شبکه و مدلهای آن بپردازیم، ابتدا بهتر است اصطلاحاتی را که در دنیای شبکه و لایههای آن وجود دارند، معرفی کنیم. آشنایی با این اصطلاحات درک شبکه را آسانتر میکند.
گره (Node)
هر دستگاه الکترونیکی متصل به شبکه، مانند رایانه، چاپگر، روتر و غیره، یک گره محسوب میشود. اگر هر گره بهدرستی تنظیم شود، میتواند اطلاعات را از طریق شبکه ارسال یا دریافت کند.
گرهها ممکن است مستقیماً به هم متصل باشند، به این معنی که گره A میتواند به طور مستقیم به گره B متصل شود یا ممکن است بین آنها یک گره واسطه مانند سوئیچ یا روتر وجود داشته باشد. به طور معمول، روترها شبکهها را به اینترنت متصل کرده و سوئیچها هم برای تسهیل ارتباط درون شبکهای به کار میروند.
اتصالات (Links)
اتصالات، گرهها را در یک شبکه به هم متصل میکنند. این اتصالات میتوانند سیمی (مانند اترنت) یا بدون کابل (مانند Wi-Fi) باشند. همچنین، میتوانند نقطهبهنقطه (گره A متصل به گره B) یا چندنقطهای (گره A متصل به گره B و گره C) باشند.
در مبحث انتقال اطلاعات، این اتصالات میتوانند به عنوان یک رابطه یکبهیک در مقابل رابطه یک به چند نیز توصیف شوند.
پروتکل
پروتکل، مجموعهای از قوانین توافق شده است که به دو گره در یک شبکه اجازه میدهد دادهها را مبادله کنند.
به عبارت دیگر، پروتکل، قوانین حاکم بر نحو (آنچه قابل ارتباط است)، معناسازی (چگونه میتوان آن را ارتباط داد) و همگامسازی (چه زمانی و با چه سرعتی میتوان آن را ارتباط داد) را تعریف میکند. پروتکلها میتوانند روی سختافزار، نرمافزار یا ترکیبی از هر دو پیادهسازی شوند. همچنین، میتوانند توسط هر کسی ایجاد شوند اما رایجترین پروتکلهای اتخاذ شده بر اساس استانداردهای منتشر شده و توسط سازمانهای اینترنتی مانند کارگروه مهندسی اینترنت (IETF) ساخته میشوند.
توجه داشته باشید که هر دو اتصال یا لینک سیمی و بدون کابل میتوانند پروتکل داشته باشند.
شبکهها (Networks)
شبکه اصطلاحی کلی برای گروهی از رایانهها، چاپگرها یا هر دستگاه دیگری است که میخواهد دادهها را به اشتراک بگذارد. در واقع، یک شبکه از گرهها، اتصالات بین گرهها و پروتکلهایی که انتقال داده بین گرهها را کنترل میکنند، تشکیل شده است.
انواع شبکه شامل LAN، HAN، CAN، MAN، WAN، BAN یا VPN میشود.
توپولوژی (Topology)
توپولوژی، نحوه قرارگیری گرهها و اتصالات در پیکربندی شبکه را توصیف میکند که اغلب در یک نمودار به تصویر کشیده میشود. در تصویر زیر چند نوع رایج توپولوژی شبکه آورده شده است:
Point to point: نقطه به نقطه
Bus: اتوبوسی
Ring: دایره ای
Star: ستارهای
Tree: درختی
Mesh: مش
Hybrid: هیبرید
لایه های شبکه چیست؟
لایه های شبکه مجموعهای از سطوح مختلف شبکه هستند که وظایف مختلفی را برای انتقال دادهها از طریق شبکه بر عهده دارند. هر لایه وظیفه خاصی داشته و با لایههای دیگر ارتباط برقرار میکند تا فرآیند ارسال و دریافت اطلاعات به طور کامل انجام شود.
این فرآیند را شبیه به ساختمانی با طبقات مختلف در نظر بگیرید. هر طبقه طراحی و کارکرد متفاوتی دارد؛ اما به طور کلی یک ساختمان را تشکیل دادهاند. در واقع،میتوان لایه های شبکه را به دو دسته اصلی تقسیم کرد:
لایههای بالایی: این لایهها به طور مستقیم با برنامهها و کاربران در ارتباط بوده و وظایف مربوط به فرمتبندی، رمزنگاری و مدیریت ارتباطات را انجام میدهند.
لایههای پایینی: این لایهها به طور مستقیم با سختافزار شبکه مانند کارت شبکه، روتر و کابلها در ارتباط هستند و وظایف مربوط به انتقال فیزیکی دادهها را بر عهده دارند.
همچنین میتوانیم لایه های شبکه را بر اساس مدل تقسیمبندی کنیم:
لایه های شبکه مدل OSI
لایه های شبکه مدل TCP/IP
لایه های شبکه OSI
شبکه مدل OSI چگونگی کارکرد اینترنت را به تصویر میکشد. این مدل، لایههای درگیر در ارسال دادهها از طریق اینترنت را به هفت لایه تقسیم میکند. هر لایه وظیفه آمادهسازی دادهها به روش مختلفی را دارد تا در نهایت به صورت مجموعهای از بیتها از طریق سیم، کابل و امواج رادیویی ارسال شوند.
Application: لایه کاربرد
Presentation: لایه نمایش
Session: لایه جلسه
Transport: لایه انتقال
Network: لایه شبکه
Data Link: لایه پیوند داده
Physical: لایه فیزیکی
هفت لایه مدل OSI عبارتند از:
لایه کاربرد: دادههایی که توسط نرمافزارهای کاربردی تولید و قابل استفاده هستند. پروتکل اصلی مورد استفاده در این لایه HTTP است.
لایه نمایش: دادهها به فرمی ترجمه میشوند که برنامه بتواند آن را بپذیرد. برخی کارشناسان این لایه را مسئول رمزگذاری و رمزگشایی HTTPS میدانند.
لایه جلسه: این لایه اتصالات بین رایانهها را کنترل میکند (این کار همچنین میتواند در لایه ۴ توسط پروتکل TCP انجام شود).
لایه انتقال: لایه انتقال وسیلهای برای انتقال داده بین دو طرف متصل و همچنین کنترل کیفیت خدمات ارائه میدهد. پروتکلهای اصلی مورد استفاده در اینجا TCP و UDP هستند.
لایه شبکه: ارسال و مسیریابی داده بین شبکههای مختلف را مدیریت میکند. مهمترین پروتکلهای این لایه IP و ICMP هستند.
لایه پیوند دادهها: ارتباطات بین دستگاههای موجود در یک شبکه را مدیریت میکند. رایجترین پروتکل مورد استفاده در اینجا اترنت است.
لایه فیزیکی: بستهها به پالسهای الکتریکی، رادیویی یا نوری تبدیل شده و به صورت بیت (کوچکترین واحدهای ممکن اطلاعات) از طریق سیم، امواج رادیویی یا کابل منتقل میشوند.
در حالت کلی، مدل OSI مفهومی انتزاعی از فرآیندهایی است که باعث کارکرد اینترنت میشوند. این مدل برای کمک به مردم در درک نحوه عملکرد اینترنت و پروتکلهای شبکه و تعیین اینکه کدام پروتکلها توسط کدام نرمافزار و سختافزار استفاده میشود، مفید است. البته توجه داشته باشید که این مدل تعریف دقیق و گامبهگامی از نحوه عملکرد همیشگی ارتباطات اینترنتی ارائه نمیدهد. البته در یک مقاله کامل به توضیح دقیق لایه های شبکه OSI پرداختهایم.
لایه های شبکه مدل tcp/ip
اگرچه مدل OSI شناخته شدهترین مدل شبکه است، اما تنها گزینه موجود نیست. مدل دیگری به نام TCP/IP نیز وجود دارد که پیش از OSI پدید آمده و ارتباط نزدیکتری با پروتکلهای واقعی اینترنت دارد.
(یکی از لایه ها حذف بشه از تصویر)
Application Layer: لایه کاربرد
Transport Layer: لایه انتقال
Internet Layer: لایه اینترنت
Network Access Layer: لایه دسترسی به شبکه
مدل TCP/IP به چهار لایه تقسیم میشود:
لایه کاربرد: این لایه معادل سه لایه کاربرد، نمایش و جلسه در مدل OSI است. برخی از پروتکلهای این لایه عبارتند از HTTP، SMTP و DNS.
لایه انتقال: این لایه همانند لایه انتقال OSI عمل میکند. TCP و UDP (پروتکل دیتاگرام کاربر) در این لایه فعالیت دارند.
لایه اینترنت: این لایه معادل لایه شبکه در OSI است. مسئولیت اصلی این لایه بر عهده پروتکل IP است اما ARP، IGMP و ICMP نیز در این لایه مشغول به کار هستند.
لایه دسترسی شبکه: این لایه، تلفیقی از لایههای فیزیکی و پیوند دادههای OSI است. اترنت، Token Ring، ATM و Frame Relay نمونههایی از پروتکلهای مجموعه TCP/IP هستند که در این لایه فعالیت میکنند.
مدل OSI بیشتر جنبه تئوری داشته و وظایف مختلفی را توصیف میکند که برای انتقال دادههای لایه کاربرد از طریق برق، نور یا امواج رادیویی باید انجام شوند. مدل TCP/IP کاربردیتر بوده و ارتباط نزدیکتری با پروتکلهای واقعی شبکه دارد. البته در یک مقاله کامل به توضیح دقیق لایه های شبکه مدل tcp/ip پرداختهایم.
آشنایی بیشتر با شبکه و لایههای آن
در این مقاله سعی کردیم توضیحات کاملی درباره لایههای شبکه و اصطلاحاتی که در دنیای شبکه استفاده میشوند، ارائه دهیم. بااینحال، ممکن است به منابع بیشتری برای کسب اطلاعات بیشتر و یادگیری بهتر نیاز داشته باشید. برای همین منظور، آکادمی همراه اول دورهای تحت عنوان شبکههای مخابرات داده تدارک دیده تا علاقهمندان با مشاهده آن بتوانند تسلط کافی روی شبکهها و لایههای آن داشته باشند.
با شرکت در این دوره، دروازه جدیدی برای ورود به دنیای شبکههای انتقال داده به روی شما باز خواهد شد. این دوره آموزشی، شما را به سفری پرماجرا در دنیای پیچیده و جذاب شبکههای انتقال داده میبرد. در این سفر، نهتنها با مبانی اولیه این حوزه مانند لایههای مختلف شبکه آشنا خواهید شد، بلکه با گذر از چالشهای گوناگون و پروژههای عملی، مهارتهای خود را در شبیهسازی لایههای شبکه در پلتفرم NS3 ارتقا خواهید داد.