علت لایه بندی کردن پروتکل های شبکه چیست؟
استفاده از معماری های شبکه لایه بندی شده چه مزایا و معایبی دارد؟
آیا افزایش تعداد لایه های یک مدل یا معماری شبکه ، باعث افزایش کارایی آن مدل خواهد شد؟
برای یافتن پاسخ پرسش های فوق به ادامه مطلب توجه فرمایید.
دلایل لایه بندی مدل های شبکه
چگونه می توان پیچیدگی های یک سیستم ارتباطی بسیار بزرگ را بصورت سازمان یافته و قابل درک توضیح داد؟ به نظر شما ، آیا بهتر نیست زمانیکه با کوهی از مشکلات مواجه میشوید، ابتدا سعی کنید پیچیدگی ها و مسائل روبروی خود را به قسمت های کوچکتر شکسته و مسائل کوچک شده مرتبط و هم موضوع را در یک گروه قرار دهید ( گروه بندی / لایه بندی ) و بعد گروه به گروه با آنها مواجه شده و برای حل آنها راه حل مناسب پیدا کنید؟
سرعت رشد علم و فناوری در دنیای امروز به حدی زیاد است که هر لحظه باید منتظر ورود فناوری جدیدی باشیم. این امر در مورد شبکه های کامپیوتری نیز صادق بوده ، به نحوی که دنیای شبکه باید در هر لحظه منتظر ورود نرم افزار، سخت افزار ، پروتکل و ... جدیدی باشد تا آنها را تحت پوشش خود قرار دهد. این نکته به روشنی بیان می کند که برای تحت پوشش قرار دادن فناوری های جدید توسط شبکه ، باید سرعت توسعه شبکه نیز با سرعت رشد و توسعه سایر فناوری های دیگر هماهنگ باشد.
برای این منظور طراحان و توسعه دهندگان بستر شبکه ، سعی دارند تا از معماری و مدل هایی برای طراحی بستر شبکه استفاده کنند که قابلیت و سرعت توسعه در آنها بالا باشد و به راحتی بتوانند پذیرای تجهیزات نرم افزاری و سخت افزاری جدید باشند.
یکی از راه حل های مناسب برای افزایش سرعت توسعه شبکه ، استفاده از معماری های شبکه لایه بندی شده می باشد زیرا لایه بندی می تواند مشکلات پیچیده را به قطعات کوچکتر و قابل کنترل تر تبدیل کند. در اینگونه معماری ها ، پروتکل های شبکه با توجه به اهداف ، ساختار و نحوه عملکردشان، گروه بندی شده و هر گروه در یک لایه قرار می گیرد. درنتیجه پروتکل های هر لایه از مدل شبکه مورد نظر، نشان دهنده نحوه عملکرد آن لایه در مدل می باشند.

<< مدل هفت لایه OSI >>
همانطور که در شکل فوق میبینید، معماری لایه ای تشکیل شده از چند لایه مرتبط به هم، که در آن ، لایه پایین به لایه بالایی خود با کمک یک واسط کاربری سرویس می دهد. حال سئوال مهم آن است که مدل لایه ای چه ویژگی ها یی دارد که سبب افزایش سرعت توسعه شبکه می گردد. در ادامه به بررسی مزایا و معایب این نوع معماری شبکه می پردازیم.
مزایای معماری لایه ای
1- طراحی (Design) : در یک مدل لایه ای ، چون هر لایه بصورت جداگانه طراحی می شود واهداف، ساختار و پروتکل های خاص خود رو دارد، در نتیجه یک طراح می تونه در یک لایه خاص تخصص داشته باشه و فقط به توسعه آن لایه بپردازد ، بدون اینکه نگرانی راجع به وضعیت لایه های دیگر داشته باشد. همانگونه که می بینید فرآیند طراحی در چنین مدلی ساده تر بوده و اضافه کردن خدمات جدید و مدیریت زیرساختهای شبکه آسان تر می باشد.
2- یادگیری (Learning) : لایه بندی سبب می شود تا یک مجموعه بسیار پیچیده از مباحث به گروه های کوچک تر و البته به هم پیوسته تبدیل شوند و در نتیجه یادگیری و درک وظایف و فعالیت های هر لایه ساده تر می شود.
3- انعطاف پذیری (Flexibility) : معماری لایه ای باعث افزایش میزان انعطاف پذیری مدل در زمان ایجاد تغییرات و توسعه خدمات شبکه می گردد. در مدل لایه ای ، وقتی تغییری روی یک لایه ایجاد می شود، تاثیر آن روی لایه های دیگر به حداقل میرسد در حالیکه اگر مدل شبکه از نوع تک لایه بود، هر تغییری روی مدل، کل مدل را تحت تاثیر قرار می داد. در نتیجه معماری لایه ای سبب کاهش هزینه و افزایش سرعت انجام تغییرات خواهد شد.
4- عیب یابی (Troubleshooting) : در مدل های لایه بندی شده، چون برای هرلایه یک سری اهداف خاص تعیین شده و تمام پروتکل ها و داده های درون آن لایه به آن هدف مربوط می شوند، اگر در حین فعالیت مدل مشکلی پیش آید ، به سرعت لایه محل بروز مشکل را شناسایی کرده و تمام تمرکز خود را در آن لایه جهت رفع مشکل قرار می دهیم و زمان و انرژی زیادی را که باید صرف جستجوی محل بروز مشکل در کل مدل ( اگرمدل تک لایه بود) می کردیم، صرفه جویی میشود.
5- پیمانه ای کردن (modularity ) : پیمانه ای کردن یک سیستم بزرگ و پیچیده سبب شود تا پیاده سازی و تغییر سرویس های درون هر لایه ، آسان تر گردد. در چنین مدلی، هر لایه همزمان با پنهان کردن پیچیدگی ها و جزئیات نحوه ارائه خدمات درون خود، به کمک یک واسط کاربری به خوبی طراحی شده ( که بین هر دولایه مجاور هم، قرار دارند) به لایه بالایی خود سرویس می دهد و از لایه زیرین خود سرویس می گیرد. پس اجتناب از پیچیدگی ها سبب بروز خطاهای کمتری خواهد شد.
معایب معماری لایه ای
1- احتمال تکرار برخی از عملکردها در لایه های مختلف . مانند: Error control و Flow control که هم در لایه پیوند داده ها بر روی لینک صورت میگیرد و هم در لایه انتقال بر روی میزبان های مبدا و مقصد انجام میشود.
2- امکان دارد اطلاعات مورد نیاز عملکردهای یک لایه فقط در لایه دیگرموجود باشد. مانند مقدار برچسب زمانی (Time Stamp) که این موضوع باعث نقض هدف استقلال لایه ها خواهد شد.
3- نکته مهم در معماری لایه ای شبکه آن است که تعداد لایه ها باید در حداقل ممکن که پاسخ گوی تمام نیاز های شبکه است، قرار بگیرد. چون لایه بندی بیش از حد منجر به نقض اصل سادگیو اغلب باعث افزایش پیچیدگی خواهد شد .همچنین چون هر لایه برای انجام امور خود نیاز دارد تا به دیتای دریافتی از لایه قبلی هدر یا تریلر و یا هردو را اضافه کند، در نتیجه هر چه تعداد لایه ها بیشتر شود، سربار بیشتری به سیستم تحمیل می شود . هم سربار مکانی ( چون فریم نهایی بزرگ می شود) و هم سربار زمانی ( چون افزودن هدرها و انجام تغییرات در آنها زمان بر خواهد بود) و سربار بیشتر یعنی هزینه بیشتر.
مطالب مرتبط :
لایه های شبکه
پروتکل چیست ؟
منابع:
1- Computer Networking - A Top Down Approach, 7th, by James Kurose, Keith Ross
2- https://en.wikipedia.org/wiki/OSI_model
3- https://docs.microsoft.com/en-us/windows-hardware/drivers/network/windows-network-architecture-and-the-osi-model
4- https://www.rfc-editor.org/rfc/rfc3439.html
لطفا هرگونه پیشنهاد، انتقاد و یا اصلاحیه خود را در رابطه با مطلب فوق، به آدرس ایمیل info@mahampardaz.com ارسال فرمایید.
معماری لایه ای ، لایه بندی شبکه ، معماری شبکه، layered network architecture , network layers