جستجو

مدل 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 يا Open System Interconnectionيك مدل مرجع براي ارتباط بين دو كامپيوتر مي باشد كه در سال 1980 طراحي گرديده است. هر چند امروزه تغييراتي درآن به وجود آمده اما هنوز هم كاربردهاي فراواني در اينترنت و به خصوص در معماري پايه شبكه دارد. اين مدل بر اساس لايه بندي قراردادهاي برقراري ارتباط كه همزمان روي دو سيستم مرتبط اجرا شده اند پايه ريزي شده است كه اين امر بسيار سرعت و دقت ارتباط را افزايش مي دهد و اين قراردادها بصورت طبقه طبقه در هفت لايه تنظيم شده اند كه در زير بررسي خواهند شد.

مدل OSI

بررسي هفت لايه مدل OSI

لايه فيزيكي

اين لايه كه تنها تشكيل شده از سخت افزار مي باشد و قراردادهاي سخت افزاري در آن اجرا مي شود وظيفه انتقال نهايي اطلاعات را دارد كه اين انتقال يصورت سيگنال و به صورت صفرو يك مي باشد.

لايه پيوند داده ها

در اين لايه اطلاعات، كشف خطا و اصلاح مي شوند و بدون خطا و به صورت مطمئن به سوي مقصد ارسال مي شوند.وظيفه ديگر اين لايه مطمئن شدن از رسيدن اطلاعات به مقصد است كه اين كار توسط بيتهاي (Parity check , checksum ,crc ) انجام مي پذيرد.كه در صورت بروز خطا مجددا اطلاعات ارسال خواهند شد.

لايه شبكه

و اما پيچيده ترين لايه يعني لايه شبكه كه در آن قراردادهاي شبكه بندي تعريف شده است. وظيفه اين لايه انتقال تكنولوژي برقراري ارتباط براي ديگر شبكه هاي مستقل است كه اين امر اين امكان را به osi مي دهد كه بتواند در زير شبكه هاي مختلف فعاليت كند.

لايه انتقال

در اين لايه قبل از ارسال اطلاعات يك بسته به سمت مقصد فرستاده مي شود تا مقصد را براي دريافت اطلاعات آماده كند. همچنين اين لايه وظيفه تكه تكه كردن بسته ها، شماره گذاري آنها و ترتيب و نظم دهي آنها را بر عهده دارد. كه البته بسته ها در طرف گيرنده دوباره در همين لايه نظم دهي و قابل استفاده براي لايه هاي بالاتر خواهند شد.

لايه جلسه

در اين لايه بر كارهايي از قبيل زمان ارسال و دريافت بسته ها مقدار رسيده و مقدار مانده از بسته ها نظارت مي شود كه به مديرت بسته ها بسيار كمك مي كند.

لايه ارائه

در اين لايه استانداردهاي رمز نگاري و فشرده سازي اطلاعات تعريف شده است كه اين لايه در امنيت بسيار مهم مي باشد.

لايه كاربرد

استانداردهاي ارتباط بين نرم افزارهاي شبكه در اين لايه قرار دارد كه مي توان از: FTAM, CMIP, MHS VT نام برد.


مدل 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 و پروتکل های آن

مدل 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- شبكه‌های كامپیوتری، اندرو اس تنن بام، ویراست چهارم (۲۰۰۳)

2- http://www.barnamenevis.org/forum/showthread.php

3- http://omid-network.blogfa.com/post-2.aspx

Copyright © Arash Habibi - ParsModir.com