مستقل از بی سیم یا با سیم بودن ارتباط، اغلب انتقال داده به وسیله بستههای اطلاعاتی که در یک یا چند شبکه در حال سفر هستند، صورت میگیرد. اما قبل از اینکه این شبکهها بتوانند باهم کار کنند، باید از یک پروتکل مشترک یا مجموعهای از قوانین برای انتقال و دریافت این بستههای داده استفاده کنند.
در بحث شبکههای کامپیوتری، یکی از بهترین روشها به منظور تشریح مفهومی نحوه کارکرد و پیادهسازی شبکه، استفاده از مدلهای ارائه شده در این زمینه مانند OSI و TCP/IP است. این مدلها را میتوان در اکثر کتابها و مقالات در زمینه شبکه های کامپیوتری مشاهده کرد. در ادامه این گزارش ابتدا با این دو مدل و لایههای مختلف آن بصورت مختصر بیان شده است.
مدل OSI
مدل OSI یا Open System Interconnection یک مدل مرجع برای ارتباط بین دو کامپیوتر است که در سال 1980 طراحی شده است. هر چند امروزه تغییراتی در آن به وجود آمده اما هنوز هم کاربردهای فراوانی در اینترنت و به خصوص در معماری پایه شبکه دارد. این مدل بر اساس لایه بندی قراردادهای برقراری ارتباط که همزمان روی دو سیستم مرتبط اجرا شدهاند پایه ریزی شده است که این امر سرعت و دقت ارتباط را افزایش میدهد و این قراردادها به صورت طبقه طبقه در هفت لایه تنظیم شدهاند که در ادامه بررسی خواهند شد
این لایهها بین لایه بالاتر و پایینتر خود قرارگرفتهاند. هر لایه از لایه پایینتر از خود سرویسهایی دریافت میکند و به لایههای بالاتر سرویس فراهم میکند. لایههای OSI در حقیقت یک مدل کاملاً فرضی برای درک فضای شبکه هستند و در حقیقت چنین لایههایی وجود ندارند. همانطور که در شکل 2 مشاهده میشود، بالاترین لایه، لایه Application و پائینترین لایه، لایه فیزیکی است. در زمان ارسال داده از یک کامپیوتر به کامپیوتر دیگر، داده حرکت خود را از لایه هفتم آغاز نموده و پس از تبدیل به Frame و Packet از طریق محیط انتقال مانند کابل یا فیبر نوری برای کامپیوتر مقصد ارسال میگردند. هر لایه اطلاعات را از لایه بالاتر خود دریافت میکند و آن را مورد پردازش قرار میدهد و آن را به لایه پایینتر خود میدهد. هر لایه قبل از ارائه بسته اطلاعات به لایه بعدی، اطلاعات دریافتی از لایه بالایی را توسط اضافه کردن سرآمد Header مربوط به خود، بسته بندی یا Encapsulationمیکند و به لایه های پایینتر ارسال میکند. سرآمدها معمولاً شامل آدرس مبدأ و مقصد، اطلاعات مربوط به کنترل خطا، شناسایی پروتکل و پارامترهای پروتکل میباشند. Encapsulation در نشان داده شده است.
لازم به ذکر است که به فرایند اضافه کردن سرآیند مخصوص هر پروتکل به اطلاعات دریافت شده از لایههای بالایی Encapsulation گفته میشود. اطلاعات دریافت شده برای رفتن به لایههای بالاتر، بخش سرآیند مربوط به هر پروتکل جدا میشود و به لایههای بالاتر ارسال میشود که به این عمل از بسته خارج کردن یاDecapsulation گفته میشود. گاهی اوقات ممکن است از این دو عمل به عنوان Assemble و Disassemble نیز یاد شود. در ادامه هر لایه توضیح شرح داده شده است.
لایه Application
- ارائه سرویسهای شبکه به برنامهها (نظیر پست الکترونیکی، ارسال فایلها و … )
- تشخیص زمان لازم برای دستیابی به شبکه
لایه کاربرد شامل مجموعه پروتکلهایی مانند وبHTTP ، انتقال فایلFTP ، انتقال خبر NNTP و پست الکترونیک و … است. برنامههای کاربردی نظیر مرورگرهای اینترنتی، برنامههای مدیریت ایمیل و … در این لایه قرار میگیرند و به صورت کلی واسط بین کاربر و دنیای شبکه میباشد. این لایه با سیستم عامل و برنامههای کاربردی ارتباط دارد. کاربران با استفاده از نرم افزارهای کاربردی متفاوت قادر به انجام عملیات مرتبط با شبکه خواهند بود، به عنوان مثال میتوانند اقدام به ارسال فایل، پیام و … نمایند. بهصورت خلاصه در تعریف کارایی این لایه میتوان گفت که این لایه رابط بین کاربر و شبکه است.
لایه Presentation
- ایجاد اطمینان لازم در رابطه با قابل استفاده بودن داده برای سیستم دریافت کننده
- رمزنگاری داده
این لایه داده را از لایه کاربرد دریافت می کند و ساختار آنها را به گونه ای تبدیل میکند که توسط لایههای پایینتر قابل استفاده باشد. همچنین عکس این عمل را نیز انجام میدهد، یعنی زمانی که اطلاعاتی از لایه Session به این لایه وارد میشود، این اطلاعات را به گونه ای تبدیل میکند که برای لایه Application قابل استفاده باشد. برخلاف لایههای پایینتر که عمدتا با بیتها سر و کار دارند، لایه Presentation توجه خود را روی ساختار پیامها و مفهوم آنها متمرکز میکند. برای اینکه کامپیوترهایی با ساختارهای متفاوت داده بتوانند با هم ارتباط برقرار کنند، ساختار پیامهای مبادله شده بایستی کاملا مشخص و استاندارد باشد. وظیفه لایه Presentation مدیریت این ساختار در سطح بالاست
لایه Session
- ایجاد، مدیریت و خاتمه ارتباط برقرارشده بین برنامهها برقراری جلسه
- مدیریت جلسه
- ارائه سرویسهای کنترل دیالوگ، مدیریت نشانه، همگام سازی
- خاتمه دادن به جلسه
در این لایه بر کارهایی از قبیل زمان ارسال و دریافت بستهها، مقدار رسیده و مقدار مانده از بسته ها نظارت میشود که به مدیرت بستهها بسیار کمک میکند. وقتی دادهها به شکلی قابل درک برای ارسال توسط شبکه درآمدند، ماشین ارسال کننده بایستی یک Session با ماشین مقصد ایجاد کند. منظور از Session دقیقاً شبیه ارتباطی است که از طریق تلفن انجام میشود، شما برای ارسال اطلاعات از طریق تلفن حتماً بایستی با شخص مورد نظرتان تماس برقرار کنید. اینجا زمانی است که لایه نشست وارد کار میشود. این لایه وظیفه ایجاد، مدیریت و نگهداری و در نهایت خاتمه یک Session را با کامپیوتر مقصد بر عهده دارد. نکته جالب در خصوص لایه نشست این است که بیشتر با لایه کاربرد مرتبط است تا لایه فیزیکی. شاید اینطور فکر شود که بیشتر Session ها بین سخت افزارها و از طریق لینکهای شبکه ایجاد میشوند اما در اصل این نرم افزارهای کاربردی هستند که برای خود Session با نرم افزار مقصد ایجاد میکنند. اگر کاربری از تعدادی نرم افزار کاربردی استفاده میکند، هر کدام از این نرم افزارها به خودی خود میتوانند یک Session با نرم افزار مقصد خود برقرار کنند که هر کدام از این Session ها برای خود یک سری منابع منحصر به فرد دارند.
لایه Transport
- شکستن دادهها برای لایه های پایینتر
- تعیین سرویسهای لایه جلسه
- ایجاد اطمینان لازم در رابطه با قابلاستفاده بودن داده برای سیستم دریافت کننده
- توافق در رابطه با گرامر انتقال داده برای لایه Application
- رمزنگاری داده
در این لایه قبل از ارسال اطلاعات، یک بسته به سمت مقصد فرستاده میشود تا مقصد را برای دریافت اطلاعات آماده کند. همچنین این لایه وظیفه تکه تکه کردن بستهها، شمارهگذاری آنها و ترتیب و نظم دهی آنها را بر عهده دارد که البته بستهها در طرف گیرنده دوباره در همین لایه نظم دهی و قابل استفاده برای لایههای بالاتر خواهند شد. لایه انتقال وظیفه نگهداری و کنترل ریزش اطلاعات یا Flow Control را بر عهده دارد. اگر به خاطر داشته باشید سیستم عامل ویندوز به شما این اجازه را میدهد که همزمان از چندین نرم افزار استفاده کنید. خوب همین کار در شبکه نیز ممکن است رخ بدهد، چندین نرم افزار بر روی سیستم عامل تصمیم میگیرند که به صورت همزمان بر روی شبکه اطلاعات خود را منتقل کنند. لایه انتقال اطلاعات مربوط به هر نرم افزار در سیستم عامل را دریافت و آنها را در قالب یک رشته تکی در میآورد. همچنین این لایه وظیفه کنترل خطا و همچنین تصحیح خطا در هنگام ارسال اطلاعات بر روی شبکه را نیز بر عهده دارد. به صورت خلاصه وظیفه لایه انتقال این است که از رسانیدن درست اطلاعات از مبدأ به مقصد اطمینان حاصل کند، انواع پروتکلهای اتصال گرا یا Connection Oriented و غیر اتصال گرا یا Connection Less در این لایه فعالیت می نند.
لایه Network
- ارائه ارتباط و مسیر انتخابی برای دو سیستم
- پاسخ به سؤالات متعددی نظیر نحوه ارتباط سیستمهای موجود در Segment های متفاوت شبکه
- آدرسهای مبدأ، مقصد، Subnet و تشخیص مسیر لازم
- پروتکلهای IP و IPX در این لایه استفاده میگردند
- کنترل عملکرد زیر شبکه
- مسیریابی Routing
- کنترل گلوگاهها
- کیفیت سرویس دهی
- پیوستن به شبکههای ناهمگن
پیچیدهترین لایه مدل OSI لایه شبکه که در آن قراردادهای شبکهبندی تعریف شده است. وظیفه این لایه انتقال تکنولوژی برقراری ارتباط برای دیگر شبکههای مستقل است که این امر این امکان را به OSI میدهد که بتواند در زیرشبکههای مختلف فعالیت کند. تصور کنید که قرار است برای یکی از دوستانتان یک نامه بلند بالا بنویسید، اما کاغذ به اندازه کافی ظرفیت برای درج مطالب شما ندارد، خب شما میتوانید چندین کاغذ را استفاده کرده و متن خود را در قالب چندین نامه بنویسید و برای هر کدام از صفحات نامه شماره صفحه بگذارید. بعد از اینکه نامه در مقصد به دوستان رسید، با استفاده از شماره صفحهها میتواند نامه را به ترتیب خوانده و اطلاعات را به درستی دریافت کند. این دقیقاً همان کاری است که لایه شبکه انجام میدهد. وظیفه لایه شبکه این است که چگونگی رسیدن دادهها به مقصد را تعیین کند. این لایه وظایفی از قبیل آدرسدهی، مسیریابی و پروتکلهای منطقی را عهدهدار است.
لایه شبکه مسیرهای منطقی یا Logical Path بین مبدأ و مقصد را ایجاد میکند که به اصطلاح مدارهای مجازی یا Virtual Circuits نام گذاری میشوند. این مدارها باعث میشوند که هر بسته اطلاعاتی بتواند راهی برای رسیدن به مقصدش پیدا کند. لایه شبکه همچنین وظیفه مدیریت خطا در لایه خود، ترتیب دهی بستههای اطلاعاتی و کنترل ازدحام را نیز بر عهده دارد. ترتیب بستههای اطلاعاتی بسیار مهم است، زیرا هر پروتکلی برای خود یک حداکثر اندازه بسته اطلاعاتی تعریف کرده است.
برخی اوقات پیش میآید که بستههای اطلاعاتی از این حجم تعریف شده بیشتر میشوند و به ناچار اینگونه بستههای به بستههای کوچکتری تقسیم میشوند و برای هر کدام از این بستههای اطلاعاتی یک نوبت یا Sequenceداده میشود که معلوم شود کدام بسته اول است و کدام بسته دوم و … به این عدد به اصطلاح Sequence Numberهم گفته میشود. وقتی بستههای اطلاعاتی در مقصد دریافت شدند، در لایه شبکه این Sequence Number ها چک می شود و به وسیله همین Sequence Number است که اطلاعات به حالت اولیه باز میگردند و تبدیل به اطلاعات اولیه می شوند. در صورتی که یکی از این بستهها به درستی دریافت نشود، در لایه شبکه از طریق چک کردن این عدد مشخص میشود که کدام بسته اطلاعاتی دریافت نشده است و طبیعتاً مجدداً درخواست داده میشود.
لایه Data Link
- آدرس دهی فیزیکی و یا سختافزاری MAC توپولوژی شبکه Frame ها در این لایه قرار دارند
- رفع خطاهای فیزیکی
- قالب بندی دادهها
- هماهنگی بین سرعت گیرنده و فرستنده
- کنترل دسترسی به کانال مشترک
- انتقال مطمئن داده از طریق محیط انتقال
در این لایه خطا در اطلاعات کشف و اصلاح میشوند و بدون خطا و به صورت مطمئن به سوی مقصد ارسال میشوند. وظیفه دیگر این لایه مطمئن شدن از رسیدن اطلاعات به مقصد است که این کار توسط بخشهایCRC و Parity Check انجام میپذیرد که در صورت بروز خطا مجدداً اطلاعات ارسال خواهند شد. لایه انتقال به خودی خود به دو زیر لایه به نام های MAC[1] و LLC[2]تقسیم میشود. زیر لایه MAC همانطوری که از نامش پیداست شناسه سخت افزار کامپیوتر که در واقع همان آدرس MAC کارت شبکه است را به شبکه معرفی می کند. آدرس MAC آدرستی سختافزاری است که در هنگام ساخت کارت شبکه از طرف شرکت سازنده بر روی کارت شبکه قرار داده میشود و در حقیقت Hard Code میشود. این آدرس در حقیقت مهم ترین برگ خرید در آدرسدهی است که کامپیوتر از طریق آن بستههای اطلاعاتی را دریافت و ارسال می کند. زیر لایه LLC وظیفه کنترل Frame Synchronization یا یکپارچهسازی فریمها و همچنین خطایابی در لایه دوم را بر عهده دارد.
لایه Physical
- انتقال بیتها از طریق کانال مخابراتی
- کابلها، کانکتورها، ولتاژها، نرخ انتقال داده bit rate
ارسال اطلاعات به صورت مجموعهای از بیتها، سیگنالهای الکتریکی و اینترفیس سخت افزاری این لایه که تنها تشکیل شده از سخت افزار میباشد و قراردادهای سخت افزاری در آن اجرا میشود، وظیفه انتقال نهایی اطلاعات را دارد که این انتقال به صورت سیگنال و به صورت صفر و یک میباشد. در واقع در این لایه با توجه به محیط انتقال استفاده شده، دادهها را به سیگنالهای الکتریکی، پالسهایی از نور و یا سیگنالهای رادیویی تبدیل و از طریق کابل برای کامپیوتر مقصد ارسال خواهد شد. مسائل طراحی در این لایه عمدتاً از نوع فیزیکی، الکتریکی، زمانبندی یا Timing ، نرخ ارسال داده و رسانه فیزیکی انتقال است. این لایه در واقع تعیین میکند که ما به چه شکل قرار است اطلاعات خود را و از طریق چه رسانهای انتقال دهیم، برای مثال رسانه ما کابل مسی است یا تجهیزات بیسیم؟ برای راحت کردن درک این لایه بهتر است بگوییم لایه فیزیکی تعیین میکند که اطلاعات چگونه در سطح رسانه دریافت و ارسال شوند. عملیات کدینگ نیز در این لایه انجام میشود.
1 دیدگاه در “پروتکل Ethernet (بخش اول)”
فوق العاده عالی بود ممنونl از شما.