لایه های شبکه << مدل OSI >>
مدل OSI يا Open Systems Interconnection (مدل ارتباط سیستم های باز ) ، یك مدل مفهومی است که بدون در نظر گرفتن ساختار و فناوری داخلی تجهیزاتی که قصد برقراری ارتباط با یکدیگر را دارند ، مراحل و عملکردهای مورد نیاز جهت برقراری ارتباط بین آنها را توصیف و استاندارد می کند. به بیان ساده تر ، مدل OSI استانداردی را فراهم می آورد تا سیستمهای ارتباطی مختلف ، قادر به برقراری ارتباط با یکدیگر باشند. پس مدل OSI را می توان به عنوان یک زبان جهانی برای برقراری ارتباط و ارسال و دریافت داده ها بر روی ماشین های مختلف ، تصور کرد . مدل OSI ، ارتباط شبکه بین مبدا و مقصد را به هفت لایه، تجزیه می کند . این لایه بندی کمک میکند تا در هنگام بروز مشکلات ، به راحتی محل وقوع مشکل را شناسایی نموده و فقط در همان بخش ، برای حل مشکل فعالیت کنیم . در نتیجه با صرف زمان و هزینه بسیار کمتر مشکل را شناسایی و رفع می نماییم. بطور کلی استفاده از مدل های چند لایه مانند مدل هفت لایه OSI ، سبب کاهش پیچیدگی های طراحی، پیاده سازی ساده تر، نگهداری آسانتر و اعمال تغییرات با هزینه کمتر می گردند . جهت کسب اطلاعات بیشتر، صفحه زیر را مطالعه نمایید.
دلایل لایه بندی شبکه ( مزایا ومعایب معماری لایه بندی شده )

بررسي هفت لايه مدل OSI
لایه 1 - لايه فيزيكي
اين لايه كه تنها تشكيل شده از سخت افزار مي باشد و قراردادهاي سخت افزاري در آن اجرا مي شود وظيفه انتقال نهايي اطلاعات را دارد كه اين انتقال يصورت سيگنال و به صورت صفرو يك مي باشد.
لایه 2 - لايه پيوند داده ها
در اين لايه اطلاعات، كشف خطا و اصلاح مي شوند و بدون خطا و به صورت مطمئن به سوي مقصد ارسال مي شوند.وظيفه ديگر اين لايه مطمئن شدن از رسيدن اطلاعات به مقصد است كه اين كار توسط بيتهاي (Parity check , checksum ,crc ) انجام مي پذيرد.كه در صورت بروز خطا مجددا اطلاعات ارسال خواهند شد.
لایه 3 - لايه شبكه
و اما پيچيده ترين لايه يعني لايه شبكه كه در آن قراردادهاي شبكه بندي تعريف شده است. وظيفه اين لايه انتقال تكنولوژي برقراري ارتباط براي ديگر شبكه هاي مستقل است كه اين امر اين امكان را به osi مي دهد كه بتواند در زير شبكه هاي مختلف فعاليت كند.
لایه 4 - لايه انتقال
در اين لايه قبل از ارسال اطلاعات يك بسته به سمت مقصد فرستاده مي شود تا مقصد را براي دريافت اطلاعات آماده كند. همچنين اين لايه وظيفه تكه تكه كردن بسته ها، شماره گذاري آنها و ترتيب و نظم دهي آنها را بر عهده دارد. كه البته بسته ها در طرف گيرنده دوباره در همين لايه نظم دهي و قابل استفاده براي لايه هاي بالاتر خواهند شد.
لایه 5 - لايه جلسه
در اين لايه بر كارهايي از قبيل زمان ارسال و دريافت بسته ها مقدار رسيده و مقدار مانده از بسته ها نظارت مي شود كه به مديرت بسته ها بسيار كمك مي كند.
لایه 6 - لايه ارائه
در اين لايه استانداردهاي رمز نگاري و فشرده سازي اطلاعات تعريف شده است كه اين لايه در امنيت بسيار مهم مي باشد.
لایه 7 - لايه كاربرد
Application Layer یا لایه کاربرد، بالاترین لایه در مدل OSI ( لایه شماره 7 ) می باشد که به عنوان لایه واسط بین کاربر ( برنامه کاربردی در حال اجرا ) و بستر شبکه ( لایه های پایین تر )، جهت برقراری ارتباط بین مبدا و مقصد و انتقال داده بین آنها ، مورد استفاده قرار می گیرد. لایه کاربرد شامل پروتکل های متنوعی است که برخی از آنها حتی برای کاربران با دانش کامپیوتری اندک نیز شناخته شده می باشند، زیرا این لایه نزدیکترین لایه به کاربر است و کاربران بطور مستقیم با آن در ارتباط هستند. از جمله پروتکل های لایه اپلیکیشن می توان به HTTP , FTP , POP, SNMP , DNS , DHCP , Telnet و ... اشاره نمود.
مدل TCP/IP يا Internet protocol /Transmission Control Protocol
مفهوم TCP/IP
TCP/IP مجموعه قراردادهايي هستند كه در جهت اتصال كامپيوتر ها در شبكه مورد استفاده قرار مي گيرند. وبه تعريف ديگر قرارداد كنترل انتقال اطلاعات مي باشد. مدل چهار لايه TCP/IP از لايه هاي زير تشکيل شده است.
لايه كاربرد
لايه انتقال
لايه شبكه
لايه واسطه شبكه
لايه فيزيكي
لايه واسط شبكه
در اين لايه تمام استانداردهاي سخت افزاري و انواع پروتكل های شبكه تعريف شده است و خاصيت بزرگ اين لايه ، آن است كه در آن مي توان بين نرم افزار و سخت افزار شبكه ارتباط برقرار كرد.
لايه شبكه
در اين لايه پروتكل IP آدرس دهي و تنظيم مي شود.(توضيحات در قسمت IP ) و همچنين ديگر پروتكل ها مانند ARP,ICMP,BOOTP كه در اين ميان نقش هيچكدام به اندازه IP , ICMP مهم نيست در كل وظيفه اين لايه دادن اطلاعات در مورد شبكه و آدرس دهي در آن مي باشد كه مسير يابها از آن بسيار استفاده مي كنند.
لايه انتقال
ابتدايي ترين وظيف اين لايه آگاهي از وضعيت بسته ها مي باشد كه بسيار مهم نيز هست. و در مرحله بعد وظيفه اين لايه انتقال اطلاعاتي مي باشد كه نياز به امنيت ندارند و سرعت براي آنها مهم تر است.
لايه كاربرد
اين لايه داراي امكانات زيادي براي هنر نمايي متخصصان مي باشد. در اين لايه برنامه هاي كاربردي قرار دارند و در كل اين لايه لايه ي نرم افزارهاي شبكه مي باشد و همچنين لايه پروتكل هاي نرم افزاري نيز مي باشد. از مهم ترين نكات در خصوص اين لايه قرارداشتن: انتقال فايل (FTP) و مديريت پست (SMTP) و بقيه برنامه هاي كاربردي مي باشد.
پروتكل اينترنت يا IP
حتما همه شما عزيزان واقف به اين موضوع هستيد كه IP يكي از مهمترين قسمتهاي TCP/IP و شايد بتوان گفت مهمترين قسمت آن زيرا تقريبا شما براي هر كاري نياز به آن خواهيد داشت لذا بسيار ضروري و حياتي مي باشد كه شما اطلاعات خود را در زمينه اين مهم افزون كنيد. IP يك آدرس عددي است كه براي ارتباط با شبكه به هر ماشيني در شبكه اختصاص داده مي شود (چون IP براي وسايلي از قبيل ROUTER و MODEM و LAN و … استفاده مي شود ما اصطلاحا به جاي نام بردن تك تك آنها همه را ماشين مي ناميم ).
وظيفه IP
وظيفه پروتكل IP حمل و تردد بسته هاي حاوي اطلاعات و همچنين مسير يابي آنها از مبدا تا مقصد است. IP پس از دريافت اطلاعات از TCP شروع به قطعه قطعه كردن آن به قطعه هاي كوچك به اسم FRAGMENT مي نمايد، پس از اين مرحله براي هر FRAGMENT يك بسته IP مي سازد كه حاوي اطلاعات مورد نياز بسته براي حركت در طول شبكه مي باشد و بسته IP را به بسته TCP اضافه مي كند و شروع به ارسال بسته هاي تيكه تيكه شده(FRAGMENT) مي نمايد حال مسير يابها بر اساس تنظيمات قسمت IP بسته ها را به مقصد خود هدايت مي كنند و آن را داخل زير شبكه ها هدايت مي كنند.
خصوصيات IP
بسته IP حد اكثر 64 كيلوبايت فضا را اشغال خواهد كرد و بيشتر از آن نمي تواند باشد ولي موضوع جالب اينجاست كه در حالت عادي حجم بسته حدود 1600 بايت بيشتر نمي شود. IP در تمامي سيستم هاي عامل با ساختار استانداردي كه دارد به درستي كار مي كنند و نياز به هيچ نوع سخت افزار ندارد. بسته IP ساخته شده از تعدادي فيلد مجزا مي باشد كه هر كدام اطلاعاتي را در خود دارند كه در زمان مورد نياز اين اطلاعات از داخل بسته ها استخراج مي شود و مورد استفاده قرار مي گيرد اين اطلاعات شامل مواردي مثل:آدرس IP فرستنده. آدرس IP گيرنده و ….. مي باشد.
آدرس هاي ويژه IP
اين آدرسها نمونه هائي از آدرس هاي IP خاص هستند كه از قبل براي مقاصد خاصي در نظر گرفته شده اند و در تعريف شبكه نمي توان از آنها به عنوان IP براي ماشينها استفاده كرد. از اين آدرس در مواردي استفاده مي شود كه ماشين ميزبان از IP خود بي اطلاع است.البته اگر از اين آدرس به عنوان آدرس فرستنده استفاده شود هيچ جوابي براي فرستنده پس فرستاده نمي شود.
HostId.0
ين آدرس براي زماني است كه از آدرس خود در زيرشبكه بي اطلاع باشيم
255.255.255.255
از اين آدرس براي ارسال پيامهاي به صورت عمومي و فراگير در شبكه استفاده مي شود البته با استفاده از اين آدرس مي توان در زير شبكه خود پيام فراگير ارسال كرد.
NetId.255
از اين آدرس براي ارسال پيامهاي فراگير در ديگر شبكه ها از خارج از آنها استفاده مي شود.البته اين سرويس تقريبا در بيشتر اوقات از سوي مديران شبكه غير فعال مي شود.
مقايسه مدلهای OSI و TCP/IP
شاید بزرگترین دستاورد مدل OSI روشن ساختن مفاهیم فوق (و تفکیک آنها) باشد.هر لایه سرویس هایی در اختیار لایه های بالاتر از خود قرار می دهد.تعریف این سرویس ها فقط می گوید که یک لایه چه کاری انجام می دهد، و هیچ حرفی در مورد نحوه انجام آنها و چگونگی استفاده از سرویس ها نمی زند.
تعریف چگونگی دسترسی به سرویس های یک لایه بر عهده واسط است.واسط پارامتر های ورودی لازم ، و نتیجه ای را که باید منتظر آن باشید، تعریف می کند.حتی واسط هم نمی گوید که یک لایه کار خود را چگونه انجام می دهد. و بالاخره، کاری را که یک لایه انجام می دهد را پروتکل های آن لایه تعریف می کنند.یک لایه مادامی که کار خود را درست انجام دهد، می تواند از هر پروتکلی استفاده کند.تغییر پروتکل های یک لایه هیچ تاثیری روی ارتباط آن با لایه های بالاتر نخواهد گذاشت.
ایده های فوق بسیار شبیه به مفاهیم مدرن برنامه نویسی شئ گرا هستند.هر شئ، مانند یک لایه، متدها (عملکردها) یی دارد که اشیا دیگر از آن استفاده می کنند.نحوه استفاده از این متدها در واقع همان سرویس هایی است که این شئ در اختیار دیگران می گذارد.ورودی ها و خروجی های شئ واسط آن با دنیای خارج هستند. کد اجرایی شئ نیز شبیه همان پروتکل است، که نحوه عملکرد آن از دید دیگران مخفی است.
در مدل اولیه TCP/IP تمایز بین سرویس ها، واسطها و پروتکل ها واضح و مشخص نبود، اگر چه افرادی (با توجه به تجربه موفق OSI ) سعی کرده بودند آن را هر چه بیشتر شبیه OSI کنند.برای مثال لایه اینترنت فقط دو سرویس واقعی به نامهای SEND IP PACKET و RECEIVE IP PACKET داشت.با توجه به این وضع، پروتکل های OSI نهتر از TCP/IP مخفی شده اند، و امکان تغییر آنها به راحتی وجود دارد، چیزی که هدف غایی طراحی لایه ای محسوب می شود. مدل OSI قبل از اختراع پروتکل های آن طراحی و ابداع شد.این بدان معناست که مدل OSI وابستگی و تمایل خاصی به هیچ مجموعه پروتکلی ندارد، چیزی که در سایر مدل ها بسیار دیده می شود. البته این وضعیت یک نقطه ضعف نیز داردو آن این است که طراحان تجربه چندانی در زمینه موضوع کار ندارند، و واقعا نمی دانند کدام عملکرد را باید در کدام لایه قرار دهند.برای مثال ،لایه پیوند داده در ابتدا فقط برای شبکه های نقطه-به-نقطه طراحی شده بود، وقتی شبکه های بخشی وارد بازار شد، مجبور شدند یک زیر لایه به آن اضافه کنند.
وقتی که افراد شروع به طراحی شبکه با استفاده از مدل OSI و پروتکل های موجود کردند، به زودی دریافتند که این شبکه ها با سرویس های مورد نیاز انطباق ندارند.بنابر این مجبور شدند زیر لایه های زیادی به آن وصله پینه کنند.بالاخره، کمیته استاندارد مقرر کرد که هر کشور برای خود یک مدل منطبق با مدل OSI (تحت نظارت دولت) داشته باشد،شبکه ای که به هیچ عنوان آینده (اینترنت) در آن دیده نشده بود.خلاصه، کارها آنطوری که انتظار داشتند از آب در نیامد. در مورد TCP/IP وضع بر عکس بود:اول پروتکل ها اختراع و توسعه داده شدند، و سپس مدلی برای توصیف آنها ساخته شد.هیچ مشکلی در زمینه انطباق پروتکل ها با مدل وجود نداشت.همه چیز جفت و جور بود،تنها مشکل این بود که این مدل با هیچ مجموعه پروتکل دیگری جور در نمی آمد.
این بدان معنا بود که مدل TCP/IP به درد توصیف شبکه های غیر TCP/IP نمی خورد. جدای از مسایل فلسفی قضیه، تفاوت دیگر در تعداد لایه های این دو مدل است: مدل OSI هفت لایه دارد و مدل TCP/IP چهار لایه.لایه های شبکه، انتقال و کاربرد در هر دو مشترک اند، ولی لایه های دیگر فرق دارند. تفاوت دیگر در زمینه اطلاعات اتصال-گرا و غیر متصل است.مدلOSI از هر دو نوع ارتباط اتصال-گرا و متصل در لایه شبکه پشتیبانی می کند، ولی در لایه انتقال فقط سرویس اتصال-گرا دارد (چون این سرویس در معرض دید کاربران است). مدل TCP/IP در لایه شبکه فقط سرویس غیر متصل دارد، ولی درلایه انتقال از هر دو نوع ارتباط پشتیبانی می کند، و دست کاربر را برای انتخاب باز می گذارد ( که به ویژه برای پروتکل های ساده درخواست – پاسخ بسیار مهم است.
مدل مرجع OSI و مدل مرجع TCP/IP نقاط مشترك زیادی دارند. هر دوی آنها مبتنی بر مجموعهای از پروتكل های مستقل هستند، و عملكرد لایهها نیز تا حدی شبیه یكدیگر است. مدل OSI ثابت كرده كه بهترین ابزار برای توصیف شبكههای كامپیوتری است. اما پروتكل های TCP/IP در مقیاس وسیعی مورد استفاده قرار میگیرد. این دو مدل تفاوت هایی با هم دارند كه در زیر به برخی از آنها اشاره می كنیم:
- در مدل TCP/IP تفاوت سرویس ها، واسط ها و پروتكل ها واضح و مشخص نمیباشد.
- پروتكلهای OSI بهتر از TCP/IP مخفی شده است.
- قبل از ایجاد مدل OSI پروتكلهای آن طراحی و ابداع شد. در نتیجه این مدل وابستگی و تعامل خاصی با هیچ مجموعه پروتكلی ندارد. اما در TCP/IP مسئله برعكس بود و این خود باعث شده كه مدل TCP/IP تنها برای شبكههای تحت خود مناسب باشد.
- مدل OSI دارای هفت لایه است اما مدل TCP/IP، چهار لایه دارد و از لایه ارائه و لایه نشست خبری نیست.
- لایه شبكه در مدل OSI اتصال گرا و غیر مستقیم است و لایه انتقال آن تنها اتصال گرا است اما در TCP/IP لایه شبكه الزاما غیر متصل و لایه انتقال آن اتصال گرا(TCP) یا غیر متصل(UDP) است.
نقد مدل OSI و پروتکل های آن
مدل OSI و TCP/IP ( و پروتکل هایشان) هیچکدام کامل نیستند و جا دارد برخی از نقاط ضعف آنها را برشماریم.در این قسمت، برخی از نقاط ضعف مدل های OSI و TCP/IP را برسی خواهیم کرد.با مدل OSI شروع می کنیم. در سال 1989، بسیاری متخصصان برجسته شبکه بر این باور بودند که آینده در بست متعلق به مدل OSI و پروتکل های آن است، و هیچ چیز نمی تواند در مقابل پیشرفت آن مقاومت کند.اما این اتفاق نیفتاد.چرا؟ نگاهی به گذشته درسهای بسیاری را برای چشمان عبرت بین دارد،که می توان آنها را چنین خلاصه کرد: 1. زمان نا مناسب 2. تکنولوژی نامناسب 3. پیاده سازی نامناسب 4. سیاست های نامناسب
زمان نامناسب
اولین عامل شکست مدل OSI زمان نامناسب بود.زمانی که یک استاندارد وضع می شود، اهمیت حیاتی در موفقیت و عدم موفقیت آن دارد.دیوید کلارک از دانشگاه M.I.T فرضیه ای در زمینه استانداردها دارد که ملاقات فیل ها معروف استد. این نظريه میزان فعالیت های حول یک موضوع جدید را نشان می دهد.وقتی موضوعی برای اولین بار کشف می شود، گرداگرد آن سیلی از فعالیت های تحقیقی ( به شکل بحث، مقاله و سخنرانی) فرا می گیرد.بعد از مدتی این فروکش می کند و بعد از اینکه صنعت به این موضوع علاقه مند شد، موج سرمایه گذاری ها از پی می آید. بسیار مهم است که در محل تلاقی این دو فیل ( موج تحقیق و موج سرمایه گذری) استانداردها به طور کامل وضع شوند.اگر استاندارد زودتر از موعد( قبل از پایان تحقیقات) نوشته شود، خطر آن هست که موضوع به درستی درک نشده باشد و استاندارد ضعیف از آب در آید.اگر استاندارد دیرتر از موعد(بعد از شروع موج سرمایه گذاری) نوشته شود، شرکتهای بسیاری قبلا –از مسیرهای مختلف- در آن سرمایه گذاری کرده اند،و این خطر هست که استانداردهای آنها را نادیده بگیرد. اگر فاصله این دو فیل خیلی کم باشد (همه عجله داشته باشند که کار را زودتر شروع کنند)، خطر آن هست که استاندارد نویسان بین آنها له شوند. اکنون معلوم شده است که پروتکل های استاندارد OSI بین فیل ها له شده اند.وقتی که پروتکل های OSI پا به عرصه وجود گذاشتند، پروتکل های رقیب (TCP/IP ) مدت ها بود که در مراکز تحقیقاتی و دانشگاه ها پذیرفته شده بودند.با اینکه هنوز موج سرمایه گذاری صنعتی در TCP/IP شروع نشده بود.اما بازار آکادمیک آنقدر بزرگ بود که شرکتهای بسیاری را تشویق به تولید محصولات TCP/IP کند.و وقتی OSI بالاخره از راه رسید،کسی نبود که داوطلبانه از آن پشتیبانی کند.همه منتظر بودند دیگری قدم اول را بر دارد.، قدمی که هرگز برداشته نشد د OSIدر نطفه خفه شد.
تـکنولوژی نامناسب
دلیل دیگری که OSI هرگز پا نگرفت آن بود که، این مدل و پروتکل های آن هر دو ناقص و معیوب بودند.انتخاب هفت لایه برای این مدل بیشتر یک انتخاب سیاسی بود تا فنی، و در حالی که دو لایه آن (نشست و نمایش) تقریبا خالی بودند،در لایه های دیگر (لینک داده و شبکه) جای نفس کشیدن نبود. مدل OSI (و سرویس ها و پروتکل های آن) به طور باور نکردی پیچیده است.اگر کاغذهای چاپی این استاندارد را روی هم بچینید.ارتفاع آن از نیم متر هم بیشتر خواهد شد.پیاده سازی پروتکل های OSI بسیار دشوار، و عملکرد آنها ناقص است.در این رابطه، نقل جمله جالبی از پاول موکاپتریس (1993،Rose ) خالی از لطف نیست: سوال: از ترکیب یک گانگستر با یک استاندارد بین المللی چه چیزی بدست می آید؟ جواب: کسی پیشنهادی به شما می کند که از آن سر در نمی آورید. مشکل دیگر مدل OSI ،علاوه بر غیر قابل فهم بودن آن، این است که برخی از عملکرد های آن ( مانند آدرس دهی، کنترل جریان داده ها و کنترل خطا)در تمام لایه ها تکرار می شود.برای مثال، سالتزر و همکارانش (1984) نشان دادند که کنترل خطا باید در بالاترین لایه انجام شود تا بیشترین تاثیر را داشته باشد،بنابراین تکرار آن در لایه های پائین تر نه تنها غیر ضروری است، بلکه باعث افت کارایی هم خواهد شد.
مطالب مرتبط :
پروتکل چیست ؟
توپولوژی شبکه چیست ؟
منابع:
1- Computer Networking - A Top Down Approach, 7th, by James Kurose, Keith Ross
2- https://en.wikipedia.org/wiki/OSI_model
لطفا هرگونه پیشنهاد، انتقاد و یا اصلاحیه خود را در رابطه با مطلب فوق، به آدرس ایمیل info@mahampardaz.com ارسال فرمایید.