تسلط بر مفاهیم پایه شبکه منطبق با استانداردهای بین المللی
برای مطالعه بخش چهارم آموزش رایگان و جامع نتورک پلاس (+Network) اینجا کلیک کنید
برنامهای همچون یک مرورگر وب که یکی از مولفههای اصلی سیستمعاملها است و برای اتصال به وب از آن استفاده میکنید را تصور کنید. زمانی که از مرورگر وب خود استفاده میکنید در حقیقت به شکل غیر مستقیم در حال تعامل با سختافزار هستید. به عبارت سادهتر، شما مرورگر خود را اجرا میکنید، مرورگر از طریق سیستمعامل با سختافزار (روتر یا کارت شبکه) ارتباط برقرار کرده، این سختافزار از طریق یک ارتباط کابلی و سایر تجهیزات سختافزاری شبکه به اینترنت متصل شده، در ادامه به مسیریابهای مختلف متصل شده، با سیستمعامل میزبان به تعامل پرداخته و در نهایت شما را به وبسرور متصل میکند.
برای درک بهتر این مسئله اجازه دهید مثالی بزنیم. دو نفر قصد دارند از طریق پست با یکدیگر ارتباط برقرار میکنند، فرستنده نامه یا بستهای را به اداره پست تحویل داده و متصدی مربوطه آنرا تحویل میگیرد. مرسوله بسته به موقعیت مکانی از طریق سرویس هوایی یا زمینی به اداره پست دیگری منتقل میشود. در طول این فرآیند کارمندان ادارات پست مبدا و مقصد بر مبنای قوانین و دستورالعملهایی مشخص نامه را دریافت کرده و اطلاعات آن را ثبت میکنند. در مرحله آخر بسته به نامهرسان تحویل شده و نامهرسان بسته را به دریافتکننده داده و رسیدی اخذ میکند. در طول این فرآیند همه ذینفعان مجبور هستند بر مبنای قوانین و دستورالعملهای مشخص به وظایف خود عمل کنند تا بسته به دست گیرنده برسد.
در دنیای شبکههای کامپیوتری و همزمان با تکامل شبکهها، سازمان بینالمللی استانداردسازی موسوم به ایزو (ISO) تصمیم گرفت مدلی متشکل از هفت لایه را برای طبقهبندی لایههای ارتباطی ارائه کند. این مدل که به نام مدل اتصال متقابل سامانههای باز (OSI) سرنام Open System Interconnection از آن یاد میشود، به منظور متصل کردن چند سامانه مخابراتی یا شبکه کامپیوتری استفاده میشود. OSIاز آن جهت مدل مرجع نامیده میشود که عملیاتی نشد، اما پروتکلهای دیگر همچون TCP/IP بر مبنای این پروتکل میتوانند کار کنند. مدل مرجع OSI سعی در تشریح این مسئله دارد که چگونه دو نقطه در یک شبکه کامپیوتری یا مخابراتی میتوانند پیامهایی را برای یکدیگر ارسال کنند. مهندسان شبکه، تکنسینهای سختافزار، برنامهنویسان و مدیران شبکه هنوز هم از لایههای مدل مرجع OSI برای برقراری ارتباط میان سایر فناوریهای شبکه استفاده میکنند. یادگیری مباحث مربوط به مدل OSI از آن جهت حائز اهمیت است که شما برای اشکالزدایی شبکهها و درک درست عملکرد پروتکلهای تحت شبکه مجبور هستید شناخت کافی از این مدل داشته باشید.
نکته امتحانی: آزمون نتورکپلاس از شما انتظار دارد که بدانید چگونه باید از مدل مرجع OSI در زمان اشکالزدایی شبکهها استفاده کنید.
دقت کنید که سطح آشنایی شما با مدل مرجع OSI باید به اندازهای باشد که در زمان مطالعه پروتکلهای مختلف شبکه، این توانایی را داشته باشید که هر پروتکل را رویمدل OSI ترسیم کنید. این تمرین به شما کمک میکند تا به درستی بدانید کدام نرمافزار یا دستگاه در ابتدای اجرا پروتکل یا دادههایی را دریافت کرده یا بر مبنای آنها مقداردهی اولیه شده است و چگونه سایر پروتکلها با برنامه یا دستگاه در تعامل هستند. اکنون اجازه دهید تا نگاه مختصری به هر یک از لایههای مدل OSIداشته باشیم. این لایهها به ترتیب نزولی در تصویر بالا مشخص شدهاند.
نکته: دقت کنید برای موفقیت در آزمون نتورکپلاس باید هفت لایه مدل مرجع OSIرا حذف کنید. برای آنکه به خاطرسپاری این هفت لایه کار سادهای باشد از عبارت زیر برای یادآوری این هفت لایه استفاده کنید:
«All People Seem To Need Data Processing» (همه مردم به نظر میرسد که به پردازش دادهها نیاز دارند.)
لایه شماره 7، لایه کاربرد
لایه کاربرد در مدل OSI توصیف کننده ارتباط میان دو برنامهای است که هر برنامه روی کامپیوتر جداگانهای قرار دارد. اگر به خاطر داشته باشید در مقالههای ابتداییآموزش نتورک پلاس به معرفی پروتکلهای مختلفی پرداختیم که در این لایه استفاده میشوند. از جمله این پروتکلها میتوان به HTTP، SMTP، POP3، IMAP4، FTP، Telnet و RDP اشاره کرد. پروتکلهای لایه کاربرد از سوی برنامههایی که در یکی از دو گروه زیر طبقهبندی میشوند بهکار گرفته میشوند:
برنامههای کاربردی که سرویسهایی در اختیار کاربران قرار میدهند. از جمله این برنامهها میتوان به مرورگرها و وبسرورها که از پروتکل HTTP در لایه کاربرد استفاده میکنند، اشاره کرد.
برنامههای یوتیلیتی/سیستمی که سرویسهایی برای سامانهها ارائه میکنند که از آن جمله به برنامههای مبتنی بر پروتکل SNMP سرنام Simple Network Management Protocol که برای مانیتور کردن و جمعآوری اطلاعاتی درباره ترافیک شبکه و ارائه هشداری به مدیران شبکه در ارتباط با شرایط ناهنجاری که به رسیدگی نیاز دارند اشاره کرد.
به دادههایی که برای برنامههای کاربردی یا برنامههای یوتیلیتی از طریق سیستمعامل ارسال میشود، بارداده (payload) گفته میشود. دادههایی که شامل اطلاعات کنترلی هستند. دو کامپیوتری که دادهها را ارسال و دریافت میکنند میزبان نامیده میشوند.
لایه 6، لایه نمایش
در مدل OSI، لایه نمایش مسئولیت فرمتبندی مجدد، فشردهسازی و/یا رمزگذاری دادهها را به شکلی عهدهدار است که یک برنامه کاربردی نقطه پایانی بدون مشکل بتواند این دادهها را دریافت کند. بهطور مثال، یک پیام ایمیل میتواند در لایه نمایش و از طریق سرویس ایمیل یا سیستمعامل رمزگذاری شود.
لایه 5، لایه نشست/جلسه
لایه نشست یا جلسه در مدل OSI توضیح میدهد که چگونه دادهها میان برنامهها همگامسازی شده و اگر پیامها به برنامه دریافتی نرسیدند چگونه باید بازیابی شوند. بهطور مثال، برنامه اسکایپ در زمان برقراری یک مکالمه صوتی یا ویدیو کنفرانس در تعامل با سیستمعامل است تا یک ارتباط (نشست) به درستی میان دو نقطه برقرار شود. لایههای کاربرد، نمایش و نشست به شکل کاملا نزدیکی با یکدیگر در تعامل هستند که همین مسئله در برخی موارد تشخیص آنها را دشوار میکند. البته توجه داشته باشید که وظایفه هر لایه ممکن است از سوی سیستمعامل یا یک برنامه کاربردی پیادهسازی شود. زمانی که یک برنامه کاربردی یکی از رابطهای برنامهنویسی سیستمعامل (API) را فراخوانی میکند، سیستمعامل بیشتر این وظایف را انجام میدهد.
لایه 4، لایه انتقال
لایه انتقال مسئول است تا باردادههای لایه کاربرد را از یک برنامه به برنامه دیگر تحویل دهد. دو پروتکل اصلی این لایه TCP (تضمین میکند که باردادهها تحویل داده شدهاند) و UDP هستند.
TCP سرنام (Transmission Control Protocol) یا پروتکل کنترل انتقال برای برقراری ارتباط با یک میزبان استفاده شده و بررسی میکند که آیا دادهها دریافت شدهاند یا خیر، در صورت عدم دریافت دومرتبه اقدام به ارسال دادهها میکند. TCP به عنوان یک پروتکل اتصالگرا شناخته میشود. TCP از سوی برنامههای کاربردی همچون مرورگرهای وب و ایمیل استفاده میشود.
UDP سرنام (User Datagram Protocol) یا قرارداد بستهداده کاربر یک پروتکل فارغ از ارتباط (connectionless) است. در این پروتکل شما هیچگونه دستدهی (handshaking) که به منظور حصول اطمینان، مرتبسازی و یکپارچهسازی دادهها به کار گرفته میشود در اختیار ندارید. در نتیجه فرآیند انتقال دادهها با UDP یک فرآیند غیر مطمئن بوده و این احتمال وجود دارد که بستههای دادهای به شکل غیرمرتب یا تکراری ارسال شده یا بدون اطلاع از بین بروند. البته این پروتکل از مکانیسم رمزگذاری checksum برای بررسی عاری بودن از خطای دادهها و شماره پورتها برای آدرسدهی عملیات مختلف در مبدا و مقصد استفاده میکند. این پروتکل بیشتر برای مواقعی مناسب است که هیچگونه شناسایی یا تصحیح خطا ضروری نبوده یا نباید بار اضافی پردازشی بر شبکه تحمیل شود. اغلب برنامههایی که نسبت به مقوله زمان حساسیت بیشتری دارند از این پروتکل استفاده میکنند. در نتیجه این پروتکل گزینه مناسبی برای سامانههای بلادرنگ است. پروتکل UDP را میتوان برای پخش فراگیر (broadcasting) و در ارتباط با استریم کردن محتوای ویدیویی یا صوتی روی وب استفاده کرد، جایی که تضمین انتقال دادهها حائز اهمیت نیست، اما در مقابل سرعت انتقال حائز اهمیت است. UDP همچنین برای نظارت بر ترافیک شبکه استفاده میشود. پروتکلها اطلاعات کنترلی خاص خود را در ناحیه ابتدایی بارداده این پروتکل که سرآیند نامیده میشود اضافه میکنند تا پیامی که برای لایه انتقال ارسال خواهد شد را آماده کنند. فرآیند اضافه کردن یک سرآیند به دادههای ارثبری شده از لایه بالاتر به نام کپسوله کردن شناخته میشود. هدر(سرآیند) لایه انتقال، شماره یک پورت را دریافت میکند. اگر پیام ارسالی برای انتقال روی شبکه بیش از اندازه بزرگ باشد، TCP آنرا به پیامهای کوچکتری تقسیم میکند که این واحدها سگمنت (segments) نام دارند. در UDP یک پیام به نام دیتاگرام (datagram) نامیده میشود.
لایه 3، لایه شبکه
لایه شبکه، گاهی مواقع لایه اینترنت نامیده میشود. این لایه مسئولیت انتقال پیامها از یک گره به گره دیگر را مادامی که پیام به مقصد برسد عهدهدار است. پروتکل اصلی که در لایه شبکه از آن استفاده میشود پروتکل اینترنت (IP) سرنام Internet Protocol است. IP سرآیند لایه شبکه خاص خود را به سگمنت یا دیتاگرام اضافه میکند. کل پیام در لایه شبکه به نام یک پاکت (بسته) شناخته میشود. سرآیند لایه شبکه آدرسهای آیپی دریافت کننده و ارسال کننده را مشخص میکند. یک آدرس آیپی، آدرسی است که به هر گره روی یک شبکه تخصیص داده میشود. لایه شبکه از این آدرس منحصر به فرد برای شناسایی عناصر روی یک شبکه استفاده میکند. پروتکل آیپی برای آنکه بتواند در مدت زمان ارسال یک بسته به سمت مقصد بتواند بهترین مسیر را پیدا کند از پروتکلهای دیگری استفاده میکند. از جمله این پروتکلها میتوان به ICMP سرنام Internet Control Message Protocol و ARP سرنام Address Resolution Protocol اشاره کرد. در طول مسیر، اگر یک پروتکل لایه شبکه متوجه شود که اندازه بسته بزرگتر از ظرفیت شبکه است، آنرا به بستههای کوچکتر تقسیم میکند که این فرآیند شکستگی (fragmentation) نام دارد.
لایه 2، لایه پیوند داده
لایه 1 و 2 مسئولیت برقراری ارتباط با سختافزارهای فیزیکی تنها روی یک شبکه محلی را عهدهدار هستند. پروتکلهایی که در این لایه استفاده میشوند به شکل برنامهنویسی شده و در قالب میانافزار یک کارت شبکه و دیگر سختافزارهای شبکه استفاده میشوند. لایه پیوند داده در اصطلاح رایج به نام لایه پیونددهنده شناخته میشود. نوع سختافزار شبکه یا فناوری استفاده شده روی یک شبکه نحوه استفاده از لایه پیوند داده را تعیین میکنند. بهطور مثال، پروتکلهای لایه پیوند داده اترنت و وایفای هستند. اترنت روی شبکههای سیمی و وایفای روی شبکههای بیسیم استفاده میشود.
نکته: اصطلاح میانافزار (firmware) به برنامههایی اشاره دارد که به شکل توکار درون دستگاههای سختافزاری قرار میگیرند. این نرمافزار تغییر نمیکند، مگر آنکه برای آن بهروزرسانی ارائه شود.
لایه پیوند داده، اطلاعات کنترلی خود را در سرآیندش قرار داده و همچنین این اطلاعات کنترلی را به انتهای یک بسته در دنباله فریم (trailer) ضمیمه میکند. کل پیامی که روی لایه پیوند داده قرار دارد فریم (frame) نامیده میشود. سرآیند فریم شامل آدرسهای سختافزاری کارت شبکه مبدا و مقصد است. به آدرس فوق، مک آدرس (MAC) سرنام Media Access Control، آدرس فیزیکی، آدرس سختافزاری یا آدرس لایه پیوند داده میگویند. آدرسی که با برچسب روی هر آداپتور شبکهای قرار دارد. آدرسهای فیزیکی آدرسهای کوتاه شدهای هستند که میتوانند تنها گرههای روی شبکه را پیدا کنند.
لایه 1، لایه فیزیکی
لایه فیزیکی، در مقایسه با سایر لایهها پیچیدگی خاصی ندارد و تنها مسئولیتی که دارد ارسال بیتها از طریق انتقال دهنده بیسیم یا سیمی است. این بیتها میتوانند در قالب طول موج در نوع وایفای یا ولتاژ روی حالت سیمی (اترنت یا زوج کابلهای به هم تابیده) یا نوری از طریق کابلهای فیبرنوری انتقال پیدا کنند. در حقیقت، تنها دو لایه پیوند داده و لایه فیزیکی باید جزییاتی در ارتباط با نحوه انتقال بیسیم یا سیمی اطلاعات داشته باشند که این اطلاعات را از میانافزار کارت شبکه به دست میآورند. در شماره آینده مبحث نتورک پلاس را ادامه خواهیم داد.