آموزش رایگان ccna؛ قسمت دوازدهم: لایههای پروتکل osi چگونه بر فرآیند ارسال دادهها نظارت میکنند؟
در قسمت قبلی از سلسله مقالات آموزش ccna، با چهار لایه ابتدایی مدل osi آشنا شدیم و بخشی از عملکردهای لایهی انتقال را بازگو کردیم. در این مقاله سایر عملکردهای لایه انتقال را مرور میکنیم، به نحوه نظارت بر ارسال دادهها در مدل osi میپردازیم و با لایهی شبکه و لایهی پیوند داده آشنا میشویم. با فالنیک همراه باشید.
- تسهیم اتصال (Connection Multiplexing) چیست؟
- کنترل جریان (Flow Control) در لایه انتقال
- کنترل جریان به روش سیگنالهای آماده/غیر آماده
- کنترل جریان به روش Windowing
- معایب تکنیک windowing
- حالت کلی ارسال سگمنت در تکنیک windoing
- خلاصه تکنیکهای کنترل جریان
- لایه سوم: لایه شبکه (Network Layer)
- وظایف لایه شبکه
- لایه دوم: لایه پیوند داده (Data Link Layer)
- فریمهای لایه دو
در ادامه بررسی وظایف لایهی انتقال که در مقاله قسمت یازدهم آموزش ccna به آن پرداختیم، به یکی دیگر از عملکردهای مهم لایه انتقال میرسیم یعنی: پیکربندی، حفظ و پایان دادن به ارتباطات لایه «نشست». به بیان ساده، لایه انتقال مکانیکِ واقعی اتصال را کنترل میکند. برای این منظور اطلاعاتی که توسط دستگاههای شبکه در لایه انتقال مبادله میشود تقسیمبندی (Segmentation) میشوند. تقسیمبندی با هدف تجزیه و تحلیل حجم زیادی از دادهها ضروری است، زیرا فرآیند مدیریت را سادهتر میکند. برای آزمون CCNA، به یاد داشته باشید که دادهها در لایه انتقال به بخشهایی تقسیم میشوند که در اصطلاح تخصصی به آن «سگمنتبندی» میگویند.
تسهیم اتصال (Connection Multiplexing) چیست؟
از آنجایی که ممکن است میان دو یا چند گره اتصالات چندگانهای برقرار ایجاد شود، به نوعی مکانیزم مدیریت چندگانه نیاز داریم که بتواند میان دادههایی که از طریق ارتباطات مختلف مبادله میشوند تمایز قائل شود. رویکرد فوق تضمین میکند که لایه انتقال میتواند دادهها را از یک برنامه خاص، به مقصد و برنامهی صحیح ارسال کند. علاوه بر این، هنگام دریافت داده از یک مقصد، لایه انتقال میتواند دادهها را به برنامه محلی مناسب تحویل دهد. برای انجام فرآیند مالتی پلکس اتصال، یک شماره پورت منحصر به فرد به هر برنامه اختصاص داده میشود. در این حالت اطلاعات مربوط به هر پورت بدون مشکل قابل ارسال و دریافت هستند. در آموزشهای آتی، اطلاعات بیشتری در ارتباط با شماره پورتها به دست خواهیم آورد.
کنترل جریان (Flow Control) در لایه انتقال
یکی دیگر از عملکردهای لایه انتقال، ارائه مکانیزم اختیاری کنترل جریان است. برای آزمون ccna باید بدانید که کنترل جریان برای اطمینان از این موضوع استفاده میشود که گیرنده و فرستنده با کمترین خطا اطلاعات را مبادله کنند و مهمتر آنکه فضای بافرِ دریافتکننده سرریز نشود. سرریز بافر به معنای آن است که برخی اطلاعات ارسالی از دست رفتهاند و باید دوباره ارسال شوند. سرریز به هیچ عنوان اتفاق خوشآیندی نیست، زیرا منبع باید تمام اطلاعات حذف شده را دوباره ارسال کند. لایه انتقال میتواند از دو روش اصلی کنترل جریان به شرح زیر استفاده کند:
- سیگنالهای آماده بودن/ آماده نبودن
- windowing
کنترل جریان به روش سیگنالهای آماده/غیر آماده
زمانیکه مقصد، ترافیک بیشتری از آنچه که میتواند مدیریت کند دریافت میکند، میتواند سیگنالی مبنی بر اینکه «آماده نیستم» برای مبدا ارسال کند که نشان میدهد مبدا باید انتقال دادهها را متوقف کند. هنگامی که مقصد فرصتی برای دریافت و پردازش دادههای ارسالی توسط مبدا پیدا کند، یک سیگنال آمادگی برای مبدا ارسال میکند. پس از دریافت سیگنال آمادگی، مبدا میتواند ارسال دادهها را از سر بگیرد.
با اینحال، بهکارگیری تکنیک سیگنالهای آماده/غیر آماده برای پیادهسازی مکانیزم کنترل جریان با دو مشکل روبرو است. این احتمال وجود دارد که مقصد هنگامی که بافر پر است به مبدا یک سیگنال عدم آمادگی ارسال کند و در حالی که این پیام در حال انتقال است، مبدا در همان زمان، روند ارسال اطلاعات به مقصد را ادامه دهد، در این حالت بافر اشباع میشود و بخش عمدهای از اطلاعات از دست میروند و فرآیند ارسال باید تکرار شود. همین مسئله باعث میشود بخش قابل توجهی از پهنای باند هدر برود. مشکل دومِ استفاده از تکنیک فوق این است که هر زمان مقصد برای دریافت اطلاعات بیشتر آماده شد، ابتدا باید یک سیگنال آمادگی برای منبع ارسال کند تا روند ارسال اطلاعات ادامه پیدا کند. این امر باعث تاخیر در انتقال اطلاعات میشود. به دلیل این دو عیب بزرگ، تکنیک سیگنالهای آماده بودن و آماده نبودن، معمولاً برای اجرای کنترل جریان استفاده نمیشوند. گاهی اوقات به این فرآیند توقف/شروع میگویند، جایی که شما برای مدتی ارسال را متوقف میکنید و سپس ارسال مجدد را از سر میگیرید.
کنترل جریان به روش Windowing
مکانیزم Windowing که ترجمه تحتالفظی آن «پنجرهسازی» است از روش پیچیدهتری برای کنترل جریان نسبت به سیگنالهای آماده/غیر آماده استفاده میکند. در مکانیزم فوق، یک فیلد window size تعریف میشود که مشخص میکند قبل از اینکه منبع منتظر تایید (ACK) از مقصد باشد، چه مقدار داده (بخش) میتواند ارسال شود. پس از دریافت ACK، منبع میتواند دسته بعدی دادهها را ارسال کند که برابر با حداکثر اندازه تعریف شده در فیلد window size است.
تکنیک فوق دو کار مهم انجام میدهد:
- کنترل جریان بر اساس اندازه فیلد window انجام میشود. در بسیاری از پروتکلها، اندازه فیلد window به صورت پویا در جریان مذاکره (negotiate) تعیین میشود، هرچند به دلیل ماهیت پویایی که دارد امکان افزایش مقدار آن در طول یک نشست وجود دارد. رویکرد فوق تضمین میکند که بهینهترین اندازه برای فیلد مذکور جهت ارسال دادهها مشخص شود بدون اینکه مقصد چیزی را رها کند.
- مقصد به مبدا میگوید که چه چیزی دریافت شده است. این موضوع به مبدا نشان میدهد که آیا دادهای در طول مسیر به مقصد گم شده است یا خیر و آن را قادر میسازد تا هرگونه اطلاعات گمشده را دوباره ارسال کند. مکانیزم فوق قابلیت اطمینان بیشتری در هنگام برقراری اتصال و بهبود عملکرد نسبت به تکنیک سیگنالهای آماده/غیرآماده فراهم میکند. به همین دلیل است که بیشتر پروتکلهای انتقال اتصالگرا، مانند TCP/IP از فیلد Window برای اجرای کنترل جریان استفاده میکنند.
- مثال از تکنیک windowing
اندازهای که برای فیلد window انتخاب میشود تاثیر مستقیمی بر یک اتصال و توان عملیاتی اتصال در تعیین تعداد سگمنتها خواهد گذاشت، بهطوری که میتوان قبل از اینکه مبدا منتظر ACK باشد، فرآیند ارسال را آغاز کرد. شکل زیر اهمیت اندازه استفاده شده برای فیلد Window را نشان میدهد. در بخش بالای شکل، اتصالی را مشاهده میکنید که اندازه فیلد Window آن برابر با «یک» است. در این مثال مبدا یک سگمنت را با یک شماره متوالی (در این مورد یک) ارسال میکند و سپس منتظر تایید مقصد میشود. بسته به پروتکل انتقال، مقصد میتواند ACK را به روشهای مختلفی ارسال کند: میتواند فهرستی از شمارههای دنبالهای، از بخشهایی که دریافت کرده است یا شمارهی دنبالهی قطعهی بعدی را که انتظار دارد، بازگرداند.
ACK ارسالی از مقصد مقدار دو دارد. این مقدار به مبدا میگوید که میتواند ادامه دهد و سگمنت دو را ارسال کند. وقتی مقصد این سگمنت را دریافت کرد با یک پیام تأیید پاسخ میدهد که نشاندهنده دریافت این بخش است. در این مثال، مقصد ACK را با مقدار سه ارسال میکند، که نشان میدهد بخش سه میتواند ارسال شود و این روند ادامه پیدا میکند.
همانگونه که مشاهده میکنید، با تعیین اندازه فیلد window به مقدار یک، فرآیند کنترل جریان خیلی سریع و کارآمد نیست. بیایید به یک مثال با اندازه فیلد window برابر با مقدار سه نگاهی داشته باشیم.
همانطور که در قسمت پایین شکل بالا مشاهده میکنید، با تعیین اندازه فیلد window به مقدار سه، مبدا میتواند قبل از انتظار برای ACK، سه سگمنت را همزمان ارسال کند. هنگامیکه سگمنتها ارسال میشوند (هر کدام با شماره دنباله منحصر به فرد خود: یک، دو و سه)، مبدا باید منتظر ACK باشد. در این مثال، مقصد یک ACK با عدد چهار ارسال میکند، که نشان میدهد منتظر بخش چهارم است. در ادامه منبع میتواند روند ارسال سگمنتهای چهار، پنج و شش را ادامه دهد و سپس منتظر ACK مقصد باشد. در این مورد، هرچه اندازه window بزرگتر باشد، عملکرد بهبود پیدا میکند، زیرا برای ارسال هر سه سگمنت تنها یک ACK لازم است. بنابراین، هر چه اندازه فیلد window بزرگتر باشد، انتقال اطلاعات کارآمدتر میشود.
معایب تکنیک windowing
تکنیک windowing همیشه خوب جواب نمیدهد. برای مثال، فرض کنید یک سگمنت در مسیر خود به مقصد گم میشود، همانطور که در شکل زیر نشان داده شده است. در این مثال، اندازه فیلد window در زمان مذاکره سه در نظر گرفته شده است. PC-A سه سگمنت اول خود را ارسال میکند که با موفقیت توسط PC-B دریافت میشود. PC-B با ارسال پیامی آمادگی برای دریافت بخش بعدی که چهار است را اعلام میکند. وقتی PC-A این ACK را دریافت میکند، بخشهای چهار، پنج و شش را ارسال میکند. به دلایلی، سگمنت چهار گم میشود و هرگز به مقصد نمیرسد، اما بخشهای پنج و شش میرسند. به یاد داشته باشید که مقصد در حال پیگیری موارد دریافت شده است: یک، دو، سه، پنج و شش. در این مثال، مقصد یک ACK از چهار را ارسال میکند که نشان میدهد سگمنت چهار باید در مرحله بعدی ارسال شود.
در این مرحله، نحوه واکنش PC-A به پروتکل لایه انتقال مورد استفاده بستگی دارد. در اینجا چند احتمال وجود دارد:
• PC-A میداند که فقط سگمنت چهار گم شده است. بنابراین سگمنت چهار را دوباره ارسال میکند. سپس بخشهای هفت و هشت را ارسال میکند تا هنگامی که اندازه فیلد window پر میشود.
• PC-A نمیداند چه چیزی دریافت شده یا چه چیزی دریافت نشده است، بنابراین سه سگمنت را دوباره ارسال میکند که این فرآیند از سگمنت چهار شروع میشود و این موضوع به PC-B اطلاع داده میشود.
حالت کلی ارسال سگمنت در تکنیک windowing
هنگامی که دو سگمنت گم شوند، ارسال از نو انجام میشود، مگر اینکه مقصد بتواند فهرستی از سگمنتهای گم شده را ارسال کند. بخش عمدهای از پشتههای پروتکلها از تکنیک windowing استفاده کرده و بر مبنای گزینه دوم کار میکنند. با توجه به این رفتار، اندازه فیلد window میتواند بر عملکرد اتصال تأثیر بگذارد. شما معمولاً فکر میکنید که مقداری برابر با 100 برای فیلد window بسیار کارآمد است. با این حال، اگر سگمنت اول از دست برود، برخی از پروتکلها تمامی 100 سگمنت را مجددا ارسال میکنند.
همانطور که قبلاً ذکر شد، اکثر پشتههای پروتکل از مکانیزم اندازه window استفاده میکنند که قبل مذاکره مقدار آن مشخص میشود و میتوان مقدار آن را در هر زمان و از طریق یک مذاکره دیگر تغییر داد. بنابراین، اگر یک اتصال با تعداد زیادی خطا مواجه شود، میتوان اندازه window را به مقدار کمتری کاهش داد تا کارایی افزایش یابد. هنگامی که خطاها برطرف شدند یا به نرخ کمتری کاهش پیدا کردند، امکان افزایش اندازه فیلد window وجود دارد تا توان عملیاتی اتصال به حداکثر برسد.
عاملی که باعث پیچیده شدن این تکنیک میشود این است که اندازه فیلد window در دستگاههای مبدا و مقصد میتواند متفاوت باشد. بهعنوان مثال، ممکن است اندازه فیلد window برای PC-A برابر با سه باشد، در حالی که PC-B مقداری برابر با ده داشته باشد. در این مثال، PC-A مجاز است قبل از انتظار برای تأیید، ده سگمنت را به PC-B ارسال کند، در حالی که PC-B مجاز به ارسال تنها سه سگمنت برای PC-A است.
خلاصه تکنیکهای کنترل جریان
مکانیزم Ready/ Not Ready و windowing برای اجرای کنترل جریان در لایه انتقال استفاده میشوند. مکانیزم سیگنالهای آماده/غیر آماده کارآمد نیستند، ترافیک غیرضروری را به وجود میآورند و تاخیر در انتقال ترافیک را به همراه دارند. Windowing این مشکل را برطرف کرده است. از طریق بهکارگیری فیلد window و تعیین اندازه آن میتوان تعداد سگمنتهایی را که قبل از انتظار برای تأیید از مقصد منتقل میشوند مشخص کرد.
لایه سوم: لایه شبکه (Network Layer)
لایه شبکه مسئول مدیریت اطلاعات آدرسدهی منطقی در بستهها و تحویل یا مسیریابی بستهها با استفاده از اطلاعات ذخیره شده در جدول مسیریابی است. جدول مسیریابی در حافظه روترها قرار دارد و شامل فهرستی از مقاصد در دسترس است.
لایه شبکه مسئولیت کار با آدرسهای منطقی را بر عهده دارد. در دنیای شبکههای کامپیوتری، آدرسهای منطقی برای شناسایی یک سیستم در شبکه استفاده میشوند و در عین حال شبکهای را که سیستم در آن قرار دارد شناسایی میکنند. عملکرد مکانیزم فوق درست بر عکس آدرس کنترل دسترسی رسانه (MAC) است که آدرس فیزیکی حک شده در کارت شبکه بوده و کاملا منحصر به فرد است، با اینحال، مشکل آدرس مک این است که مشخص نمیکند یک سیستم به چه شبکهای تعلق دارد. کاری که آدرس منطقی انجام میدهد این است که به پروتکلهای لایه شبکه کمک میکند بستهها را به شبکه صحیحی تحویل دهند.
در مثال ما، درخواست از یک مرورگر وب برای یک وب سرور ارسال میشود که هر دو از گرههایی هستند که بر مبنای پروتکل TCP/IP کار میکنند. در این مرحله لایه شبکه آدرس مبدا (آدرس IP سیستم ارسالکننده) و آدرس مقصد (آدرس IP سیستم مقصد) را به بسته اضافه میکند تا سیستم دریافتکننده بداند که بسته از کجا آمده است.
نکته امتحانی: برای آزمون به یاد داشته باشید که لایه سوم مدل OSI آدرسدهی و مسیریابی منطقی را مدیریت میکند. نمونهای از یک آدرس منطقی یک آدرس IP است که به شکل 192.168.3.24 است. آدرس IP به عنوان آدرس لایه سه نیز شناخته میشود.
وظایف لایه شبکه
لایه شبکه چهار وظیفه اصلی زیر را بر عهده دارد:
- آدرسهای منطقی استفاده شده در لایه سه را تعریف میکند.
- براساس شماره شبکه آدرسهای منطقی، مسیرها را برای رسیدن به مولفههای مقصد پیدا میکند.
- لایههای پیوند داده مثل اترنت، رابط داده توزیعشده فیبر (FDDI)، سریال و توکن رینگ را به یکدیگر متصل میکند.
- فرآیند بخشبندی (Segmentation) را بر مبنای اطلاعات بستهها انجام میدهد.
در دنیای شبکههای کامپیوتری، برای انتقال اطلاعات بین دستگاههایی که شماره شبکه (آدرس آیپی) متفاوتی دارند، از روتر استفاده میشود. روترها از اطلاعات موجود در آدرس منطقی برای تصمیمگیری هوشمندانه در مورد نحوه رسیدن به مقصد استفاده میکنند. ما در مقالات آتی اطلاعات کاملتری در ارتباط با جزئیات مسیریابی ارائه خواهیم کرد.
در اینجا به این نکته دقت کنید هنگامی که روتر بستهای را دریافت میکند، آدرس مقصد بسته را (از سرآیند لایه سوم بسته که آدرس IP مقصد است) با جدول مسیریابی خود مقایسه میکند تا متوجه شود آیا اطلاعاتی در ارتباط با نحوه ارسال دادهها برای شبکه مقصد در اختیار دارد یا خیر.
نکته امتحانی: به یاد داشته باشید که روترها دستگاههای لایه سوم (لایه شبکه) در نظر گرفته میشوند و با آدرسهای لایه سه (آدرس IP) کار میکنند.
لایه دوم: لایه پیوند داده (Data Link Layer)
در لایه پیوند داده، دادهها از قالب یک بسته به الگویی از سیگنالهای بیت الکتریکی تبدیل میشوند تا امکان ارسال دادهها از طریق رسانه ارتباطی فراهم شود. در سیستم دریافتکننده، سیگنالهای الکتریکی توسط لایه پیوند داده به بستهها تبدیل میشوند و سپس برای پردازش تکمیلی به لایه شبکه منتقل میشوند. لایه پیوند داده به دو زیر لایه تقسیم میشود:
- کنترل پیوند منطقی (LLC) که وظیفه تصحیح خطا و عملکردهای کنترلی را بر عهده دارد.
- کنترل دسترسی رسانه (MAC) که آدرسدهی فیزیکی میزبانها را تعیین میکند. همچنین تعیین میکند که میزبان چگونه ترافیک را روی رسانه انتقال دهد. بهعنوان مثال، برای این منظور میتواند از روش دسترسی چندگانه با تشخیص برخورد/دسترسی چندگانه (CSMA/CD) یا ارسال توکن استفاده کند.
زیرلایه MAC برای برقراری ارتباط با دستگاههای دیگر در شبکه از آدرسهای فیزیکی تجهیزات که معمولاً به آن مکآدرس گفته میشود، استفاده میکند. این آدرسهای فیزیکی که در کارتهای شبکه نوشته میشوند آدرسهای سطح پایینی هستند که برای تعیین منبع و مقصد ترافیک شبکه استفاده میشوند. توجه داشته باشید که مک آدرس برای ارتباط سگمنت شبکه محلی استفاده میشود، در حالی که آدرس IP برای برقراری ارتباط شبکههای مختلف استفاده میشود.
نکته امتحانی: برای آزمون CCNA به یاد داشته باشید که آدرس MAC، آدرس فیزیکی است که به کارت شبکه اختصاص داده شده است و به عنوان آدرس لایه دو شناخته میشود. آدرس MAC یک مقدار 48 بیتی است که در قالب هگزادسیمال نمایش داده میشود و ترکیبی شبیه به حالت 00-02-3F-6B-25-13 دارد.
در مثال ما، هنگامی که لایهی شبکه سیستم فرستندهی اطلاعات، آدرس IP را اضافه میکند، لایه پیوند داده، اطلاعات آدرس MAC را برای سیستمهای ارسال و دریافت اضافه میکند. همچنین، این لایه با تبدیل بستهها به سیگنالهای باینری، دادهها را برای رسانه انتقال آماده میکند. در سیستم گیرنده، لایه پیوند داده سیگنالهای ارسال شده توسط لایه فیزیکی را به داده تبدیل میکند و سپس بستهها را برای پردازش بیشتر به لایه شبکه ارسال میکند.
نکته امتحانی: برای آزمون به یاد داشته باشید که روشها و معماریهای دسترسی به شبکه که پیشتر به آنها اشاره کردیم، در لایه دوم مدل OSI اجرا میشوند. به عنوان مثال، معماری شبکه Ethernet و Token Ring در لایه دوم مدل OSI تعریف شده است.
فریمهای لایه دو
لایه پیوند داده نحوه دسترسی یک مولفهی شبکه را به رسانهای که به آن متصل است، مشخص کرده و همچنین نوع فریم رسانه و روش انتقال را تعیین میکند. این فریم شامل فیلدها و مولفههایی است که لایه پیوند داده برای برقراری ارتباط با دستگاههایی روی همان رسانه یا توپولوژی لایه دو از آن استفاده میکند.
نکته امتحانی:
برخی از سؤالات مربوط به آزمون CCNA، اطلاعات شما در ارتباط با پروتکلهای شبکه گسترده (WAN) که عمدتاً در لایههای پیوند داده و فیزیکی کار میکنند را میآزمایند.
از پروتکلها و استانداردهای لایه دوم برای اتصالات شبکه محلی (LAN) باید به موارد زیر اشاره کرد:
- IEEE 802.2
- 802.3
- 802.5
- Ethernet II
- FDDI
از پروتکلها و فناوریهای لایه دوم مرتبط با شبکههای WAN باید به موارد زیر اشاره کرد:
- حالت انتقال غیر همزمان (ATM) (سرنام Asynchronous Transfer Mode)
- رله فریم (Frame Relay)
- کنترل پیوند داده سطح بالا (HDLC) (سرنام High-Level Data Link Control)
- پروتکل نقطه به نقطه (PPP) (سرنام Point-to-Point Protocol)
- کنترل پیوند داده همزمان (SDLC) (سرنام Synchronous Data Link Control)
- پروتکل اینترنتی خط سریال (SLIP) (سرنام Serial Line Internet Protocol)
- X.25
نکته امتحانی:
به یاد داشته باشید که لایه پیوند داده، آدرسهای سختافزاری (MAC) و همچنین فرآیند ارتباطی در یک رسانه را تعریف میکند. سوئیچها، پلها، کنترلرها یا کارتهای رابط شبکه (NIC) مولفههای اصلی شبکه هستند که در لایه پیوند داده عمل میکنند. بهعنوان مثال، یک سوئیچ با استفاده از پروتکل درخت پوشا (STP) یا پروتکل درخت پوشای سریع (RSTP) که پروتکلهای لایه دو در نظر گرفته میشوند، از بروز مشکل حلقهها در شبکه جلوگیری میکند. نمونههایی از پروتکلها و استانداردهای لایه پیوند داده عبارتند از:
- 802.2
- 802.3 EEE
- Ethernet II
- HDLC
- PPP
- فریم رله
در این لایه، فرآیند تشخیص خطا انجام میشود، اما کاری برای اصلاح آن انجام نمیشود (بدون ارسال مجدد، فریمهای مشکلدار حذف میشوند).
لایه پیوند داده همچنین مسئول تعریف فریمهای لایه دو و همچنین مدیریت بر نحوه ارتباط دستگاهها با یکدیگر در لایه فیزیکی است. از وظایف اصلی لایه پیوند داده به موارد زیر باید اشاره کرد:
- تعریف آدرسهای سختافزاری یا MAC.
- تعریف توپولوژی فیزیکی یا سختافزاری برای اتصالات.
- تعریف نحوه کپسوله شدن پروتکل لایه شبکه در فریم لایه پیوند داده.
- ارائه خدمات بدون اتصال و اتصالگرا
- بررسی چکسام (Checksum) که نشان میدهد فریمها بدون مشکل دریافت شدهاند.
در شماره آینده مبحث فوق را ادامه میدهیم.