مدل OSI چیست؟
آیا تا به حال فکر کردهاید، چگونه دو سیستم کامپیوتری در یک شبکه با یکدیگر ارتباط برقرار میکنند؟ برای برقراری ارتباط بین دو سیستم کامپیوتری در یک شبکه، از مجموعهای از قوانین و پروتکلها استفاده میشود. این قوانین و پروتکلها، بهطور کلی، در قالب یک مدل شبکه ارائه میشوند.
مدل OSI ، یک چارچوب مفهومی برای توصیف نحوه ارتباط دو سیستم کامپیوتری در شبکه است. این مدل، شبکههای کامپیوتری را به هفت لایه تقسیم میکند که هر لایه وظیفه خاصی را بر عهده دارد.
در اولین قسمت سری مقالات آموزش network+ فالنیک قصد داریم مدل مرجع osi و لایههای مختلف آن را بررسی کنیم و نحوه عملکرد و وظایف هر کدام از لایهها را شرح دهیم. اطلاع از مفهومOSI قبل از خرید سرور فیزیکی به شما کمک میکند تا نحوه عملکرد سرورها را در سطح عمیقتری درک کنید و مشکلات آنها را سریعتر عیبیابی کنید. با فالنیک همراه باشید.
فهرست محتوا
مدل osi چیست؟
مدل OSI هفت لایهای را که سیستمهای کامپیوتری از آن برای برقراری ارتباط از طریق شبکه استفاده میکنند، توصیف میکند. قبل از آشنایی با مدل osi، بهتر است بدانیم این مدل، تنها یک چارچوب مفهومی است و در عمل به این صورت پیادهسازی نمیشود. اما پروتکلهایی مانند TCI IP بر مبنای آن نوشته شده و به کار میروند.
چرا مفهوم OSI Model ایجاد شد؟ بیایید ابتدا ببینیم OSI مخفف چیست؟ OSI مخفف عبارت Open System Interconnection و استانداردی است که به وسیله آن سیستمهای کامپیوتری مختلف میتوانند با یکدیگر ارتباط برقرار کنند. برای معرفی مدل OSI میتوان گفت OSI زبان جهانی برای شبکه کامپیوتری است.
این مدل OSI به مهندسان شبکه کمک میکند تا مشکلات شبکه خود را عیبیابی و پروتکلهای جدید شبکه را طراحی کنند.
تاریخچه شکل گیری هفت لایه osi
در سال 1977، سازمان بینالمللی استاندارد (ISO) یک کمیته فرعی تشکیل داد تا سازوکاری را برای برقراری ارتباط بین دستگاههای برندهای مختلف در اختیار تولیدکنندگان محصولات شبکه قرار دهد. این کمیته با هدف ساخت یک زبان مشترک که بر مبنای دستگاههای تحت شبکه آن بتوانند بدون مشکل با یکدیگر ارتباط برقرار کنند، به وجود آمد.
آنچه از خروجی این کمیته فرعی به دنیای فناوری وارد شد، مدل مرجع اتصال سیستمهای باز (OSI) نام گرفت که بعدها به مدل osi یا پشته OSI شهرت پیدا کرد. به لطف این مدل است که امروزه فناوریهای مختلف دنیای شبکه توانایی برقراری ارتباط با یکدیگر دارند. یک فناوری هفت لایه که زیربنای مدل مهم دیگری بهنام TCP/IP مبتنی بر چهار لایه اصلی است و امروزه قلب تپنده اینترنت و شبکههای محلی را شکل میدهد.
در این مقاله قصد داریم هفت لایه osi و کارهایی که هر یک از این لایهها انجام میدهند را مورد واکاوی قرار دهیم.
مدل osi چند لایه دارد ؟
طبق مدل جهانی OSI، سیستم ارتباطی به هفت لایه تقسیم میشود. هر لایه مبنایی برای لایه بعدی است و وظایف خاص خود را دارد. این لایهها کمک میکنند تا توضیح قابل دیدن برای سیستمهای ارتباطی و شبکه وجود داشته باشد و به مدیر شبکه در عیبیابی شبکه کمک میکند. تولیدکنندگان هم محصولات خود را بر مبنای OSI Model ارائه میدهند تا مشتری بفهمد محصول آنها در چه لایهای کار میکند.
به کمک هفت لایه پروتکل OSI، دیتا از فردی به فرد دیگر در هر جای ارسال میشود. در ادامه لایه های osiو وظایف هر کدام را بررسی میکنیم.
- لایه کاربرد (Application Layer)
- لایه ارائه (Presentation Layer)
- لایه نشست یا جلسه (Session Layer)
- لایه انتقال (Transport Layer)
- لایه شبکه (Network Layer)
- لایه پیوند دادهها (Data Link Layer)
- لایه فیزیکی (Physical Layer)
آشنایی با مفهوم PDU در مدل مرجع OSI
متخصصان شبکه از روشهای مختلفی برای حفظ ترتیب لایهها استفاده میکنند. برای آنکه ترتیب لایهها را از پایین به بالا به صورتی که در شکل مشاهده میکنید، حفظ کنید، پیشنهاد میکنیم جمله انگلیسی لطفا پیتزای سوسیس را دور نریزید به ذهنتان بسپارید تا برای همیشه ترتیب لایهها را بدانید.
Please Do Not Throw Sausage Pizza Away
در لایه فیزیکی، عبارات دودویی (یعنی یک سری 1 و 0) دادهها را نشان میدهند. یک عبارت دودویی با استفاده از بیتها ایجاد میشود که در آن یک بیت مقدار 1 یا مقدار 0 را خواهد داشت. در لایههای بالایی، بیتها با هم گروهبندی میشوند که به آن واحد داده پروتکل (PDU) مخفف protocol data unit یا data service unit گفته میشود.
مهندسان شبکه از اصطلاح بسته (Packet) برای اشاره به PDUها استفاده کنند. PDUها بسته به لایه OSI ممکن است یک نام اضافه داشته باشند. شکل زیر نامهای مختلف PDU را نشان میدهد.
نکته مهمی که باید به عنوان یک کارشناس شبکه به آن دقت کنید، واژگان کلیدی مربوط به هر لایه است. هنگامی که از واژه بسته (Packet) استفاده کنیم، منظور ما لایه شبکه (Network) است یا هنگامی که صحبت از فریم (Frame) به میان میآید، منظور لایه پیونده دادهها (Data Link) است که سوییچهای لایه 2 نقش کلیدی در آن دارند. به همین دلیل مهم باید ترتیب لایه های مدل OSI را به درستی حفظ کنید و همچنین PDUهای متناظر با هر لایه را نیز به خاطر بسپارید.
بررسی کامل لایه های osi
در ادامه لایه های osi و وظایف آنها را بررسی میکنیم. وظایف لایه های osi متفاوت است و هر لایه مسئول انجام وظیفه خاصی است.
1) لایه فیزیکی (Physical Layer)
لایه فیزیکی اولین لایه در پشته OSI از پایین است که وظیفه انتقال بیتها در شبکه به همراه مشخصات فیزیکی و الکتریکی آنها را بر عهده دارد.
وظایف لایه فیزیکی مدل OSI
وظایف لایه فیزیکی در مدل osi به شرح زیر است:
- نحوه نمایش بیتها در رسانه
دادهها در شبکه کامپیوتری به صورت عبارت دودویی نمایش داده میشوند. ولتاژ الکتریکی (روی سیمکشی مسی) یا نور (که از طریق کابل فیبر نوری منتقل میشود) میتوانند این یکها و صفرها را نشان دهند. به عنوان مثال، وجود یا عدم وجود ولتاژ روی سیم به ترتیب یک مقدار دودویی 1 یا 0 را نشان میدهد.
این فرآیند درست به همان صورتی که در شکل زیر مشاهده میکنید، در دنیای واقعی اتفاق میافتد. به طور مشابه، وجود یا عدم وجود نور در کابل فیبر نوری نیز 1 یا 0 را به صورت دودویی نشان میدهد. این نوع رویکرد را مدولاسیون، وضعیت جاری (current state modulation) مینامند.
یک رویکرد جایگزین برای نمایش دادههای دودویی، مدولاسیون انتقال حالت است، جایی که فرآیند انتقال بین ولتاژها یا وجود نور یک مقدار دودویی را نشان میدهد.
سایر مدولاسیونهایی که ممکن است در رسانههای مختلف در مورد آنها مطالبی خوانده باشید مدولاسیون دامنه (AM) مخفف amplitude modulation و مدولاسیون فرکانس FM مخفف frequency modulation هستند. AM از طریق اعمال تغییر در دامنه شکل موج (یعنی قدرت سیگنال) برای به تصویر کشیدن سیگنال اصلی استفاده میکند، در حالی که FM از تغییر در فرکانس برای نشان دادن سیگنال اصلی استفاده میکند.
- استانداردهای سیمکشی برای کانکتورها و جکها
هنگام صحبت در مورد انواع رسانه شبکه منظور ما استانداردهای مهمی است که برای اتصال شبکهها به یکدیگر مورد استفاده قرار میگیرند. به عنوان مثال، استاندارد TIA/EIA-568-B نحوه سیمکشی کانکتور RJ-45 را برای استفاده در شبکه اترنت 100BASE-TX درست به همان صورتی که در شکل زیر مشاهده میکنید، نشان میدهد. هاب، ریپیتر Repeater، مودم و انواع کابل شبکه، دستگاههای لایه اول osi هستند.
- توپولوژی فیزیکی
دستگاههای لایه 1، شبکه را به عنوان توپولوژی فیزیکی (در مقابل توپولوژی منطقی) مشاهده میکنند. از توپولوژی های فیزیکی پرکاربرد باید به توپولوژیهای اتوبوسی، حلقه و ستاره اشاره کرد.
- همگامسازی بیتها
برای اینکه دو دستگاه تحت شبکه بتوانند در لایه فیزیکی با یکدیگر ارتباط برقرار کنند، باید در مورد زمان توقف و شروع از طریق ارسال بیتها توافق کنند. رویکردی که تجهیزات شبکه بر مبنای آن کار میکنند، همگامسازی بیتهاست. برای این منظور از دو روش زیر استفاده میشود:
برای آشنایی بیشتر با بیت ریت، خواندن مقاله Bit Rate چیست را توصیه میکنیم.
نامتقارن (Asynchronous): هنگامی که گیرنده بیتی را دریافت میکند، ساعت داخلی خود را برای محاسبه بیتهای بعدی تنظیم میکند. پس از اینکه فرستنده دادههای خود را ارسال کرد، یک بیت توقف، برای به پایان رسیدن انتقال ارسال میکند.
متقارن (Synchronous): در مکانیزم فوق، ساعتهای داخلی فرستنده و گیرنده همگامسازی میشوند تا اطمینان حاصل شود که آنها در مورد شروع و پایان بیتها توافق دارند. رویکرد رایج برای انجام این همگامسازی، استفاده از ساعت خارجی است (به عنوان مثال، ساعتی که توسط یک ارائه دهنده خدمات ارائه میشود یا سرور NTP که به تفضیل در مورد آن سخن خواهیم گفت). سپس، فرستنده و گیرنده به این ساعت خارجی مراجعه میکنند.
- استفاده از پهنای باند
تجهیزات شبکه از دو رویکرد اساسی برای استفاده از پهنای باند در شبکه استفاده میکنند که پهنباند (broadband) و باند پایه (baseband) نام دارند.
پهنباند: فناوریهای پهنباند، پهنای باند موجود در رسانه (به عنوان مثال، کابلهای مسی یا فیبر نوری) را به کانالهای مختلف تقسیم میکنند. سپس، فرستنده میتواند جریانهای ارتباطی را از طریق کانالهای مختلف انتقال دهد. بهطور مثال، تسهیمسازی با تقسیم فرکانس (FDM) مخفف frequency-division multiplexing را در نظر بگیرید که توسط مودم کابلی استفاده میشود. مودم کابلی از محدودههای فرکانس خاصی روی کابلی که از شرکت ارائهدهنده خدمات به خانه شما وارد میشود برای انتقال دادههای ورودی و از محدوده فرکانسی دیگری برای دادههای خروجی استفاده میکند.
باند پایه: فناوریهای باند پایه از تمام فرکانسهای موجود در رسانه برای ارسال دادهها استفاده میکنند. اترنت نمونهای از فناوری شبکه است که از باند پایه استفاده میکند.
- استراتژی تسهیمسازی (Multiplexing)
تسهیمسازی به نشستهای (Session) ارتباطی مختلف اجازه میدهد تا رسانه فیزیکی یکسانی را به اشتراک بگذارند. به طور مثال، در کشورهایی مثل ایالات متحده رویکرد فوق به کاربران اجازه میدهد چند کانال را از طریق یک رسانه فیزیکی دریافت کنند (به عنوان مثال، یک کابل کواکسیال متصل به تلویزیون). مبحث تسهیمسازی خود شامل موضوعات مختلفی است که توضیحات مفصلی دارند، اما نکاتی که به عنوان یک مهندس شبکه باید در مورد آنها اطلاع داشته باشید به شرح زیر هستند:
تسهیمسازی تقسیم زمانی (TDM) سرنام Time-division multiplexing: از نشستهای ارتباطی مختلف در رسانه فیزیکی به منظور نوبتدهی به جلسات استفاده میکند. برای دورهای کوتاه که به عنوان یک شکاف زمانی تعریف میشود، دادههای نشست اول و به دنبال آن دادههای نشست دوم ارسال میشود. این کار تا زمانی ادامه مییابد که به تمام جلسات رسیدگی شود.
تسهیمسازی با تقسیم زمان آماری (StatTDM) سرنام Statistical time-division multiplexing: یکی از نکات منفی روش قبلی این است که هر نشست ارتباطی، شکاف زمانی خود را دریافت میکند، حتی اگر یکی از جلسات در حال حاضر هیچ دادهای برای ارسال نداشته باشد. برای استفاده موثرتر از پهنای باند موجود، StatTDM به صورت پویا شکافهای زمانی را براساس نیاز به جلسات ارتباطی اختصاص میدهد.
تسهیمسازی تقسیم فرکانس FDM سرنام Frequency-division multiplexing: محدوده فرکانسی یک رسانه را به کانالهایی تقسیم میکند تا نشستهای مختلف توانایی انتقال دادههایشان از طریق کانالهای مختلف داشته باشند. این مدلی است که رویکرد پهنباند از آن استفاده میکند.
تسهیمسازی تقسیم فرکانس متعامد OFDM سرنام Orthogonal frequency-division multiplexing: دادههای دیجیتال را روی فرکانسهای حامل چندگانه رمزگذاری میکند. امروزه، OFDM محبوبیت زیادی دارد و در ارتباطات دیجیتالی پهنباند استفاده میشود. بهطوری که از فناوری فوق در برنامههای پخش دیجیتالی (تلویزیون اینترنتی)، پخش صدا، دسترسی به اینترنت DSL، شبکههای بی سیم، شبکههای powerline و ارتباطات سیار 4G/5G استفاده میشود.
از دستگاههای پر کاربرد در لایه فیزیکی باید به هابها، نقاط دسترسی بیسیم و کابلکشی شبکه اشاره کرد.
نکته: هابها در شبکههای کامپیوتری مدرن استفاده نمیشوند، پس چرا ما به خود زحمت میدهیم به آنها اشاره کنیم؟ به این دلیل که نقش مهمی در پیدایش سوئیچها داشتند. هاب (Hub)، رایانههای شخصی را در شبکه LAN به هم متصل میکند و به عنوان دستگاه لایه فیزیکی در نظر گرفته میشود، زیرا بیتهایی را دریافت میکند که از یک پورت وارد میشوند و آن بیتها را به پورتهای دیگر ارسال میکند. بنابراین، درست در نقطه مقابل سوئیچهای مدرن قرار دارند که اطلاعات آدرسدهی در مورد دادهها را در جدولی قرار میدهند تا دادهها برای پورت مقصد به درستی ارسال شود.
2) لایه پیوند داده (data link layer) مدل osi در شبکه
لایه پیوند داده، دیتا لینک یا DLL مسئول دریافت پیام در نود است. مهمترین وظیفه لایه دیتا لینک اطمینان یافتن از ارسال دیتا از یک نود به نود دیگر روی لایه فیزیکی، بدون خطا است. در ارسال بسته روی شبکه این وظیفه لایه دیتا لینک است که با استفاده از Mac آدرس، بسته را به مقصد برساند. در لایه دیتا لینک، به بسته، فریم گفته میشود. وظایف لایه پیوند داده به شرح زیر است:
- بستهبندی دادهها در فریمها و انتقال فریمها در شبکه.
- اطمینان از اینکه فریمها از حداکثر واحد انتقال (MTU) مخفف maximum transmission unit رسانه فیزیکی تجاوز نمیکنند.
- انجام عملیات تشخیص / تصحیح خطا.
- یافتن منحصر به فرد دستگاههای شبکه با آدرس
- مدیریت کنترل جریان
رابطهای شبکه از MTU برای تعیین بزرگترین اندازه بستهای که رابط (اینترفیس) ارسال میکند، استفاده میکنند. به عنوان مثال، یک بسته 1500 بایتی نمیتواند از طریق یک رابط روتر با MTU برابر با 1470 بایت ارسال شود. فرآیندهای انجام شده در لایه پیوند داده که در مجموع به عنوان کنترل پیوند داده (DLC) مخفف data link control نامیده میشود، در شکل زیر نشان داده شدهاست.
لایه پیوند داده از سایر لایهها متمایز است زیرا دو زیرلایه بهنامهای MAC و LLC دارد.
- آدرس دهی فیزیکی
- توپولوژی منطقی
- روش انتقال روی رسانه
- سرویسهای اتصال
- انتقال متقارن
کنترل دسترسی رسانه (Media Access Control)
ویژگیهای زیرلایه MAC لایه پیوند داده شامل موارد زیر است:
- آدرسدهی فیزیکی (Physical addressing): یک مثال رایج از آدرس لایه 2، مک آدرس 48 بیتی است که به کارت رابط شبکه (NIC) دستگاه اختصاص داده شدهاست. آدرسهای مک با نماد هگزادسیمال نوشته میشوند (چیزی شبیه به 58:55:ca:eb:27:83).
24 بیت اول آدرس 48 بیتی کد فروشنده است. این کدها توسط مرجع ثبت IEEE صادر میشود و به تولیدکنندگان محصولات شبکه یک یا چند کد منحصر به فرد اختصاص میدهد. برای اطلاعات بیشتر در ارتباط با فهرست کدهای فروشندهها به آدرس زیر مراجعه کنید:
ما برای شناسایی سازنده دستگاه شبکه، از بخش اول مک آدرس دستگاه استفاده میکنیم، در حالی که 24 بیت آخر توسط سازنده تخصیص داده میشود و به عنوان یک شماره سریال برای دستگاه عمل میکند. همچنین، دقت کنید که هیچ دو مک آدرس در جهان یکسان نیستند.
- توپولوژی منطقی (Logical topology): دستگاههای لایه 2، شبکه را به عنوان یک توپولوژی منطقی مشاهده میکنند. از توپولوژیهای منطقی رایج باید به توپولوژیهای اتوبوس (bus) و حلقه (ring) اشاره کرد.
- روش انتقال روی رسانه: با وجود چند دستگاه متصل به شبکه، باید استراتژی خاصی برای تصمیمگیری در مورد اینکه دستگاهها باید به چه صورتی اطلاعات را انتقال دهند، در اختیار داشته باشیم. عدم وجود چنین استراتژی باعث میشود تا چند دستگاه به طور همزمان اقدام به ارسال اطلاعات کنند که مشکل تداخل را به وجود میآورد.
زیرلایه کنترل لینک منطقی (Logical Link Control)
زیرلایه کنترل لینک منطقی لایه پیوند داده، یک سری ویژگیهای شاخص به شرح زیر دارد:
1) خدمات اتصال (Connection services): هنگامی که دستگاهی در شبکه پیامی را از دستگاه دیگری در شبکه دریافت میکند، دستگاه گیرنده میتواند در قالب یک پیام تایید به فرستنده بازخورد بدهد. دو عملکرد اصلی ارائه شده توسط این پیامهای تصدیق به شرح زیر است:
- کنترل جریان (Flow control): مقدار دادهای را که فرستنده میتواند در یک زمان ارسال کند، محدود میکند و مانع از آن میشود که فرستنده، گیرنده را با اطلاعات بیش از حد غرق کند!
- کنترل خطا (Error control): به گیرنده دادهها اجازه میدهد تا به فرستنده اطلاع دهد که آیا دادهها در چارچوب مورد انتظار دریافت نشدهاند یا اینکه فرآیند دریافت، خراب بوده است. گیرنده با محاسبه ریاضی چک جمع دادههای دریافتی متوجه میشود که آیا چارچوب داده درست است یا با مشکل روبرو شدهاست. اگر جمع کنترلی محاسبه شده با جمع کنترلی دریافتی با چارچوب داده مطابقت نداشته باشد، گیرنده داده به این نتیجه میرسد که چارچوب داده خراب است و سپس میتواند از طریق یک پیام تایید به فرستنده اطلاع دهد.
2) همگامسازی ارسالها (Synchronizing transmissions): فرستندهها و گیرندگان فریمهای داده باید زمانی که یک فریم داده در حال انتقال است با یکدیگر هماهنگ شوند تا بتوانند دادهها را به درستی ارسال و دریافت کنند. سه روش انجام این همگام سازی به شرح زیر است:
- متقارن (Isochronous): با انتقال همزمان، دستگاههای شبکه به یک دستگاه رایج در شبکه به عنوان منبع زمانی نگاه میکنند که شکافهای زمانی با طول ثابت ایجاد میکند. دستگاههای شبکه میتوانند تعیین کنند در صورت وجود، چه مقدار فضای آزاد در یک شکاف زمانی در دسترس است و سپس دادهها را در یک شکاف زمانی در دسترس انتقال دهند.
یک شکاف زمانی میتواند بیش از یک فریم داده را در خود جای دهد. انتقال همزمان نیازی به ارائه ساعت در ابتدای رشته داده (مانند انتقال همزمان) یا برای هر فریم داده (همانطور که انتقال غیر همزمان بر مبنای آن کار میکند) ندارد. در نتیجه، انتقال همزمان در مقایسه با روشهای انتقال غیر همزمان یا سنکرون سربار کمی دارند.
- غیرهمزمان: با انتقال غیرهمزمان، دستگاههای شبکه به ساعتهای داخلی خود مراجعه میکنند و به همگام سازی ساعتهای خود نیاز ندارند. در مقابل، فرستنده یک بیت شروع را ابتدای هر فریم داده و یک بیت توقف را انتهای هر فریم داده قرار میدهد. این بیتهای شروع و توقف به گیرنده میگویند که چه زمانی باید محیط را برای وجود بیتها کنترل کند.
بیت اضافی به نام بیت توازن نیز ممکن است به انتهای هر بایت در یک فریم اضافه شود تا خطا در فریم تشخیص داده شود. به عنوان مثال، اگر از تشخیص خطای برابری زوج (برخلاف تشخیص خطای برابری فرد) استفاده شود، بیت توازن (با مقدار 0 یا 1) به انتهای یک بایت اضافه میشود و باعث میشود تعداد کل فریم دادهها یک عدد زوج باشد.
اگر گیرنده یک بایت برای تشخیص خطای توازن زوج پیکربندی کرده باشد و بایتی را دریافت کند که تعداد کل بیتها (شامل بیت توازن) زوج باشد، گیرنده میتواند نتیجه بگیرد که بایت حین انتقال خراب نشدهاست. اگر یک بایت بیش از یک خطا داشته باشد، یعنی اگر بیش از یک بیت از مقدار اصلی تغییر کرده باشد، استفاده از بیت توازن برای تشخیص خطاها عملکرد چندانی نخواهد داشت.
- همزمان: با انتقال همزمان، دو دستگاه شبکه که میخواهند با یکدیگر ارتباط برقرار کنند، باید روی یک روش ساعت (کلاک) برای نشان دادن ابتدا و انتهای فریمهای داده توافق کنند. یکی از روشهای دستیابی به این زمانبندی، استفاده از یک کانال ارتباطی جداگانه است که سیگنال ساعت از طریق آن ارسال میشود. روش دیگر مبتنی بر ترکیب بیتهای خاص یا کاراکترهای کنترلی برای نشان دادن شروع یک فریم یا یک بایت داده است.
مانند انتقال غیرهمزمان، انتقال همزمان میتواند تشخیص خطا را انجام دهد. با این حال، به جای استفاده از بیتهای توازن، ارتباطات همزمان یک الگوریتم ریاضی را روی دادهها اجرا میکند تا یک بررسی افزونگی چرخهای (CRC) مخفف cyclic redundancy check انجام شود. اگر فرستنده و گیرنده مقدار CRC یکسانی را برای یک بخش از دادهها محاسبه کنند، گیرنده میتواند نتیجه بگیرد که دادهها حین انتقال خراب نشدهاند.
از دستگاههای معروفی که در لایه پیوند داده کار میکنند باید به سوئیچها، پلها و کارتهای شبکه اشاره کرد. البته، ذکر این نکته ضروری است که کارتهای شبکه به طور کامل در لایه پیوند داده تعریف نمیشوند، زیرا تا حدی براساس استانداردهای لایه فیزیکی عمل میکنند، اما برخی کارشناسان آنها را در گروه تجهیزات لایه 2 طبقهبندی میکنند. لایه دیتا لینک توسط کارت شبکه و درایورهای ماشینهای هاست، مدیریت میشود.
وظایف لایه دیتا لینک مدل OSI
- فریمینگ (Framing): فریمینگ راهی است که فرستنده برای ارسال مجموعهای از بیتها استفاده میکند تا آن را برای گیرنده، قابل فهم کند. مثلاً به ابتدا و انتهای فریم، بیت خاصی میچسباند.
- آدرس دهی فیزیکی (Physical Addressing): پس از ایجاد فریم،MAC آدرس فرستنده و گیرنده را در فریم قرار میدهد.
- کنترل خطا (Error Control): لایه DDL مکانیزم کنترل خطا انجام میدهد، یعنی خطا را تشخیص میدهد و فریمهای گم شده یا خراب شده را دوباره ارسال میکند.
- کنترل جریان (Flow Control): نرخ انتقال داده باید در هر دو سمت یکسان باشد.کنترل داده، مقدار دیتایی است که قبل از دریافت Acknowledge میتوان ارسال کرد.
- کنترل دسترسی (Access Control): وقتی یک کانال ارتباطی بین چند دستگاه به اشتراک گذاشته میشود، زیر لایه MAC در لایه دیتا لینک، کمک میکند تا مشخص شود در حال حاضر چه دستگاهی روی کانال کنترل دارد.
3) لایه شبکه (Network Layer)
لایه شبکه برای ارسال داده از یک هاست به هاست دیگری در شبکه، مورد استفاده قرار میگیرد و مسیریابی بسته در لایه شبکه را انجام میشود. به عنوان مثال انتخاب کوتاهترین مسیر از بین مسیرهای در دسترس برای ارسال بسته IP آدرس فرستنده و گیرنده، توسط لایه شبکه در هدر قرار میشود. سگمنت در لایه شبکه، بسته Packet نامیده میشود. لایه شبکه، همانطور که در شکل زیر نشان داده شدهاست، در تعامل با ارسال دادهها براساس آدرسهای منطقی است.
وظایف لایه شبکه مدل OSI
اگرچه بسیاری از مدیران شبکه، این لایه را به مسیریابی و آدرسدهی آیپی میشناسند، اما این لایه وظایف مختلف دیگری نیز بر عهده دارد:
- آدرسدهی منطقی (Logical addressing): لایه شبکه از آدرسدهی منطقی برای تصمیمگیری ارسال دادهها استفاده میکند. انواع پروتکلهای مسیریابی (به عنوان مثال، AppleTalk و IPX) طرحهای آدرسدهی منطقی خود را دارند، اما تا حد زیادی گستردهترین پروتکل مسیریابی یعنی پروتکل اینترنت IP به شکل گستردهای عملکردش مبتنی بر این لایه است. اگر به مطالعه در مورد مفاهیم IP علاقمندید، خواندن مقاله IP چیست؟ را پیشنهاد میکنیم.
- سوئیچینگ (Switching): مهندسان اغلب اصطلاح سوئیچینگ را با فناوریهای لایه 2 مرتبط میدانند. (بیشتر بدانید: سوئیچ لایه دو چیست؟) با این حال، مفهوم سوئیچینگ در لایه 3 نیز وجود دارد. سوئیچینگ، در اصل، تصمیمگیری در مورد نحوه ارسال دادهها است. در لایه 3، سه تکنیک رایج سوئیچینگ وجود دارد:
- کشف و انتخاب مسیر (Route discovery and selection): دستگاههای لایه 3 براساس آدرسهای شبکه منطقی برای انتقال تصمیم میگیرند. یک دستگاه لایه 3 معمولی روتر است. روتر میتواند یک جدول مسیریابی که نحوه ارسال بسته را براساس آدرس شبکه مقصد بسته نشان میدهد، حفظ کند. روتر میتواند جدول مسیریابی خود را از طریق پیکربندی دستی (یعنی با وارد کردن مسیرهای ایستا)، از طریق پروتکل مسیریابی پویا (OSPF یا EIGRP)، یا صرفا با اتصال مستقیم به شبکههای خاص، پر کند.
- خدمات اتصال (Connection services): خدمات اتصال در لایه شبکه نیز وجود دارد. اگر زیرلایه LLC پیوند داده خدمات اتصال را انجام ندهد، خدمات اتصال در لایه شبکه میتواند قابلیت اطمینان ارتباط را بهبود بخشد. سرویسهای اتصال در لایه شبکه کارهای زیر را انجام میدهند:
- کنترل جریان (Flow control): این رویکرد که کنترل تراکم نیز نام دارد، مانع شتاب بیش از اندازه فرآیند ارسال دادهها توسط فرستنده نسبت به گیرنده میشود.
- مرتبسازی مجدد بستهها (Packet reordering): به بستهها اجازه میدهد هنگام ارسال به گیرنده در ترتیب مناسب قرار گیرند. این رویکرد در بیشتر موارد ضروری است، زیرا برخی از شبکهها از توازن بار پشتیبانی میکنند که از چند لینک برای ارسال بستهها بین دو دستگاه استفاده میشود. از آنجایی که چند پیوند وجود دارد، بستهها ممکن است از نظم خارج شوند.
از دستگاههای شناخته شده لایه شبکه باید به روترها و سوئیچهای چند لایه اشاره کرد. رایجترین پروتکل لایه 3 که امروزه همه ما از آن استفاده میکنیم، IPv4 است، با این حال، IPv6 نیز به تدریج در حال فراگیر شدهاست.
4) لایه انتقال (Transport Layer)
لایه انتقال، به عنوان یک خط تقسیم بین لایههای بالادستی و پاییندستی در مدل OSI کار میکند. به طور خاص، پیامها از لایههای بالایی (لایههای 5-7) گرفته میشوند و در بخشهایی برای انتقال به لایههای پایینتر محصور میشوند (لایههای 1-3). به طور مشابه، جریانهای دادهای که از لایههای پایینتر میآیند، کپسوله میشوند و بسته به پروتکل، به لایه 5 (لایه جلسه/نشست) یا لایه بالایی دیگر ارسال میشوند. دو پروتکل لایه انتقال TCP و UDP هستند.
پروتکل کنترل انتقال TCP مخفف Transmission Control Protocol: TCP یک پروتکل انتقال اتصالگرا است. پروتکلهای انتقال اتصالگرا ضریب اطمینان زیادی دارند، به این صورت که اگر یک قطعه داده حذف شود، فرستنده میتواند مسئله را تشخیص داده و بخش حذف شده را دوباره ارسال کند. به طور خاص، یک گیرنده برای بخشهایی که دریافت میکند، یک پیام تایید ارسال میکند. براساس این تاییدها، یک فرستنده میتواند تصمیم بگیرد که کدام بخش با موفقیت دریافت شده و کدام بخش باید دوباره ارسال شود. برای آشنایی بیشتر با مفهوم TCP چیست؟ روی لینک کلیک کنید.
پروتکل دیتاگرام کاربر UDP مخفف User Datagram Protocol: UDP یک پروتکل انتقال بدون اتصال است. پروتکلهای انتقال بدون اتصال، تقریبا غیرقابل اعتماد هستند، اگر قطعهای حذف شود، فرستنده بی خبر خواهد بود و هیچ ارسال مجددی انجام نمیشود، اما در مقابل سرعت بالایی دارند.
همانطور که لایه 2 و 3 خدمات کنترل جریان ارائه میدهند، خدمات کنترل جریان در لایه 4 نیز وجود دارد. دو رویکرد رایج کنترل جریان در لایه 4 پنجره و بافر هستند:
پنجرهسازی (Windowing): ارتباطات TCP از پنجرهسازی استفاده میکند، به این صورت که یک یا چند سگمنت از دادهها در یک زمان ارسال میشوند و گیرنده میتواند دریافت تمام سگمنتهای پنجره را تایید کند.
در برخی موارد، همانطور که در شکل زیر نشان داده شده است، TCP از یک پنجره sliding استفاده میکند، جایی که اندازه پنجره با یک سگمنت شروع میشود. اگر یک پیام تایید موفقیتآمیز از آن سگمنت وجود داشته باشد (یعنی گیرنده یک تاییدیه را برای سگمنت بعدی ارسال کرده است)، در این حالت، اندازه پنجره دو برابر میشود و به دو سگمنت میرسد. پس از دریافت موفقیتآمیز آن دو سگمنت ارسال شده و در ادامه، پنجره بعدی چهار سگمنت را نگه میدارد. این افزایش تصاعدی در اندازه پنجره تا زمانی ادامه مییابد که گیرنده دریافت موفقیتآمیز بودن تمام سگمنتها را در مدت زمان معینی تایید کند که به عنوان زمان رفت و برگشت (RTT) مخفف round-trip time شناخته میشود و گاهی اوقات زمان انتقال واقعی نامیده میشود.
بافر کردن (Buffering): با استفاده از تکنیک بافر کردن، یک دستگاه (به عنوان مثال، یک روتر) از یک بخش حافظه بافر یا صف (Queue) نامیده میشود، برای ذخیره سگمنتها استفاده میکند، در صورتی که پهنای باند برای ارسال سگمنتها در دسترس نباشد. با این حال، صف ظرفیت محدودی دارد و میتواند در صورت ازدحام مداوم شبکه سرریز شود و سگمنتها را دور بریزد.
علاوه بر TCP و UDP، پروتکل پیام کنترل اینترنت (ICMP) یکی دیگر از پروتکلهای لایه انتقال است. ICMP توسط ابزارهایی مانند ping و traceroute استفاده میشود که از ابزارها و دستوراتی هستند که برای ارزیابی عملکرد شبکه استفاده میشوند.
5) لایه جلسه (Session Layer)
لایه نشست یا جلسه، وظیفه تنظیم، نگهداری و پایان دادن به جلسات را بر عهده دارد. میتوانید یک نشست را به عنوان یک مکالمه در نظر گرفت که باید جدا از سایر جلسات باشد تا دادههای مکالمات مختلف با یکدیگر تداخل پیدا نکنند.
عملکردهای لایه نشست را میتوانیم به موارد زیر خلاصهسازی کنیم:
راهاندازی جلسه: هنگامی که نشستی ساخته میشود، شامل یک سری ویژگیها به شرح زیر است:
- بررسی اطلاعات کاربری (به عنوان مثال، نام کاربری و رمز عبور)
- تخصیص اعداد به جریانهای ارتباطی جلسه با هدف منحصر به فرد کردن هر یک از آنها
- مذاکره بر سر خدمات مورد نیاز در طول نشست
- مذاکره در مورد اینکه کدام دستگاه شروع به ارسال داده میکند.
حفظ یک جلسه: مجموعه اقدامات انجام شده در این مرحله شامل موارد زیر است:
- انتقال دادهها
- برقراری مجدد جلسه قطع شده
- تایید دریافت دادهها
خاتمه دادن به جلسه: جلسه میتواند براساس توافق میان دستگاهها پاییندستی خاتمه پیدا کند. از طرف دیگر، ممکن است یک نشست به دلیل قطع ارتباط یکی از طرفین (به عمد یا به دلیل بروز خطا) قطع شود. اگر یکی از طرفین ارتباط خود را قطع کند، طرف دیگر میتواند قطع ارتباط با آن طرف را تشخیص دهد و جلسه را پایان دهد.
پروتکل شروع جلسه سیپ (SIP) مخفف Session Initiation Protocol نمونهای از پروتکل لایه نشست است که میتواند به راهاندازی، پشتیبانی و قطع اتصالات صوتی یا تصویری کمک کند.
این امکان وجود ندارد که هر برنامه تحت شبکهای را به یکی از هفت لایه مدل OSI نگاشت کرد. لایه جلسه یکی از آن لایههایی است که نمیتوان به نام یک پروتکل، که مخصوص به این لایه باشد، اشاره کرد. سیستم ورودی/خروجی پایه شبکه (NetBIOS) نمونهای از پروتکل لایه نشست است.
NetBIOS یک رابط برنامهنویسی کاربردی (API) است که اوایل دهه 1980 برای برقراری ارتباط میان دو کامپیوتر در یک شبکه محلی کوچک مثل PC-Network که فناوری شبکه محلی توسعه یافته توسط آیبیام بود، طراحی شد. بعدها، آیبیام رویکرد دیگری برای پشتیبانی از ارتباط کامپیوتر به کامپیوتر در شبکههای بزرگتر را ابداع کرد که Token Ring نام گرفت. در نتیجه آیبیام مقیاسپذیری و ویژگیهای نتبایوس را با ساخت ابزار دیگری که NetBEUI مخفف NetBIOS Extended User Interface نام گرفت، توسعه داد.
6) لایه ارائه (Presentation Layer) پروتکل osi
لایه ارائه، دادههایی که قرار است ارسال شوند را طرحدهی و رمزگذاری میکند تا به شکل ایمن ارسال شوند.
شرح مجموعه اقداماتی که توسط لایه ارائه در ارتباط با قالببندی و رمزگذاری دادهها انجام میشود، به شرح زیر است:
قالببندی دادهها (Data formatting): برای آنکه شناخت بهتری از قالببندی دادهها و مدیریت انجام شده توسط لایه فوق ارائه دهیم بهتر است به مثالی از نحوه قالببندی متن اشاره کنیم. برخی از برنامهها ممکن است متن را با استفاده از کد استاندارد آمریکایی برای تبادل اطلاعات (ASCII) قالببندی کنند، در حالی که سایر برنامهها ممکن است متن را با استفاده از کد مبادله اعشاری کدگذاری شده باینری توسعهیافته (EBCDIC) قالببندی کنند. لایه ارائه، فرآیند قالببندی متن (یا انواع دیگر دادهها، مانند فایلهای چند رسانهای یا گرافیکی) را در قالبی انجام می دهد که سازگاری بین دستگاههای ارتباطی تضمین شود.
رمزگذاری (Encryption): تصور کنید اطلاعات حساسی را از طریق شبکه ارسال میکنید (شماره کارت اعتباری یا رمز عبور بانک). اگر یک هکر انتقال را رهگیری کند به این اطلاعات حساس دست پیدا میکند. برای افزودن یک لایه امنیتی برای چنین انتقالهایی، میتوان از رمزگذاری هش (Hash) استفاده کرد، به گونهای که اگر دادهها رهگیری شدند، شخص ثالث نتواند آنها را رمزگشایی (رمزگشایی) کند. با این حال، گیرنده مورد نظر میتواند انتقال را رمزگشایی کند.
7) لایه کاربرد (Application Layer)
لایه کاربرد خدمات کاربردی را در اختیار شبکه قرار میدهد. یک مفهوم مهم و اغلب اشتباه کار کردن برنامههای کاربردی نهایی مثل ورد مایکروسافت در لایه کاربرد است. در حالی که وظیفه لایه کاربرد پشتیبانی از خدماتی است که برنامههای کاربردی از آنها استفاده میکنند. به عنوان مثال، ایمیل یک سرویس لایه کاربرد است، در حالی که Microsoft Outlook (نمونهای از یک سرویسگیرنده ایمیل) یک برنامه کاربردی است.
عملکردهای لایه کاربرد به شرح زیر است:
خدمات کاربردی (Application services): از سرویسهای کاربردی موجود در لایه فوق باید به اشتراکگذاری فایل و ایمیل اشاره کرد.
سرویس تبلیغات (Service advertisement): برخی از خدمات لایه کاربرد، به صورت دورهای و شبیه به پیامهای تبلیغاتی ارسال میشوند و در دسترس بودن برخی سرویسها یا تجهیزات را به سایر دستگاههای موجود در شبکه اعلام میکنند. همچنین، برخی از سرویسها خود و خدماتشان را در یک فهرست متمرکز ثبت میکنند که اکتیو دایرکتوری مایکروسافت یکی از آنهاست و میتواند به دستگاههای شبکه که خدمات نیاز دارند، اطلاعات کاربردی بدهد.
نکته مهمی که باید به آن دقت کنید این است که با وجود اینکه لایه کاربرد به عنوان لایه 7 شمارهگذاری شدهاست، اما در بالای پشته OSI قرار دارد، زیرا عملکردهای شبکه نزدیک به کاربر نهایی را ارائه میدهد.
برای آشنایی با پروتکل SMB که در لایه اپلیکیشن کار میکند، مقاله “پروتکل SMB چیست و چگونه کار می کند؟” را مطالعه کنید.
وظایف لایه کاربرد osi چیست ؟
نام دیگر لایه کاربرد، Desktop Layer است. از وظایف این لایه را میتوان به موارد زیر اشاره کرد:
- Network Virtual Terminal
- FTAM-File transfer access and management
- Mail Services
- Directory Services
سناریوی مدل OSI
سناریویی برای شرح لایهها و پروتکلهای مدل osi به زبان ساده در ادامه ارائه شدهاست.
کاربر میخواهد پیغامی را از طریق برنامه پیامرسان در مرورگرش بفرستد.
سناریویی را در نظر بگیرید که کاربر در آن میخواهد پیغامی را از طریق برنامه پیامرسان در مرورگرش بفرستد. برنامه پیامرسان در اینجا به عنوان لایه اپلیکیشن عمل میکند و واسط کاربری را در اختیار کاربر میگذارد تا دیتا )در اینجا پیام) ایجاد کند. این پیام فشرده، رمزگذاری و به 0 یا 1 تبدیل میشود و حالا آماده انتقال است.
در این مقاله فالنیک به سوال osi model چیست پاسخ دادیم و توضیح کامل مدل osi را ارائه کردیم. دانستیم مدل OSI یک چارچوب مفهومی مهم برای شبکههای کامپیوتری است. این مدل به درک نحوه عملکرد شبکهها و توسعه پروتکلهای شبکه جدید کمک میکند. با اطلاع از مفهوم هفت لایه osi بهراحتی میتوانید عملکرد شبکه را بسنجید و ایرادات احتمالی را تشخیص دهید.
وقت بخیر مطالب خوبی بود. ولی توی لایه انتقال گفته که”لایه انتقال به لایه اپلیکیشن سرویس میدهد و از لایه شبکه سرویس میگیرد. ” بعد در قسمت وظایف لایه انتقال گفته شده که “لایه انتقال، پیغام را از لایه Session دریافت میکند و پیغام را به واحدهای کوچکتر تقسیم میکند. ” یکم راجع به این میشه لطف کنید توضیح بدین؟ گنگ شد مطلب
درود بر شما
سجاد عزیز،
سرویس دهی به لایه اپلیکیشن:
لایه انتقال وظایفی مثل برقراری ارتباط، کنترل جریان، و کنترل خطا را برای لایه اپلیکیشن انجام میدهد.
دریافت سرویس از لایه شبکه:
برای انجام وظایف خود، لایه انتقال به خدمات لایه شبکه مانند آدرس دهی و مسیریابی نیاز دارد.