جلسه ۲۷ : استفاده از Half Duplex به همراه هاب ها
برای درک نیاز به منطق half-duplex در برخی موارد ، باید کمی در مورد نوع قدیمی دستگاه های شبکه ای به نام hub اطلاعاتی داشته باشید. هنگامی که IEEE اولین بار در سال ۱۹۹۰ از ۱۰BASE-T استفاده کرد ، سوییچ های اترنت هنوز وجود نداشتند. در عوض ، شبکه ها از دستگاهی به نام hub استفاده میکردند. مانند یک سوئیچ ، یک hub تعدادی پورت RJ-45 را به عنوان محلی برای اتصال لینک ها به کامپیوترها ارائه می داد . با این حال ، هاب ها از قوانین متفاوتی برای ارسال اطلاعات استفاده میکردند.
هاب داده ها را با استفاده از استانداردهای لایه Physical (به جای استانداردهای data-link ) ارسال می کنند و از این رو دستگاه های لایه ۱ محسوب می شوند . هنگامی که یک سیگنال الکتریکی در یک پورت هاب وارد می شود ، هاب این سیگنال الکتریکی را از همه پورت های دیگر (به جز پورت ورودی) تکرار می کند. با انجام این کار ، داده ها به همه گره های متصل به هاب می رسند ، بنابراین امیدواریم داده ها به مقصد درست برسند . هاب هیچ اطلاعی از فریم های اترنت ، آدرس ها ، تصمیم گیری بر اساس آن آدرس ها و … ندارند .
نکته منفی استفاده از hub ها این است که اگر دو یا چند دستگاه در همان لحظه سیگنال را منتقل کنند ، سیگنال الکتریکی برخورد می کند و خراب می شود. هاب تمام سیگنال های الکتریکی دریافتی را تکرار می کند ، حتی اگر چندین سیگنال را همزمان دریافت کند . به عنوان مثال ، در شکل زیر کامپیوتر Archie و Bob در یک زمان (در مراحل ۱A و ۱B) یک سیگنال الکتریکی ارسال می کنند و هاب هر دو سیگنال الکتریکی را به سمت Larry در سمت چپ ارسال می کند (مرحله ۲) .
نکته : توجه داشته باشید که هاب ها هر فریم را از همه پورت هایشان (به جز پورت ورودی) ارسال می کنند. بنابراین ، فریم Archie به Larry و Bob می رسد . فریم Bob به Larry و Archie می رسد.
اگر هاب در شکل بالا را با یک سوییچ اترنت جایگزین کنید ، سوئیچ از برخورد در سمت چپ جلوگیری می کند . سوئیچ به عنوان یک دستگاه لایه ۲ عمل می کند ، به این معنی که به هدر و تریلر data-link نگاه می کند . یک سوئیچ MAC address را بررسی می کند ، و حتی اگر نیاز به ارسال هر دو فریم به Larry در سمت چپ باشد ، سوئیچ یک فریم را ارسال می کند و فریم دیگر را در صف انتظار قرار می دهد تا اولین فریم به پایان برسد.
اکنون به مسئله ایجاد شده توسط منطق هاب یعنی برخورد بر می گردیم . برای جلوگیری از این برخوردها ، گره های اترنت باید از منطق half-duplex به جای منطق full-duplex استفاده کنند. مشکلی زمانی رخ می دهد که دو یا چند دستگاه همزمان دیتا ارسال کنند. منطق half-duplex به گره ها می گوید که اگر شخص دیگری دیتا ارسال می کند ، تا پایان ارسال منتظر بمانید .
به عنوان مثال ، در شکل بالا ، تصور کنید که Archie ارسال فریم خود را به اندازه کافی زود شروع کرده به طوری که Bob اولین بیت های آن فریم را قبل از ارسال فریم خود دریافت کرده . Bob ، در مرحله ۱B ، متوجه می شود که وی فریمی را از شخص دیگری دریافت می کند و با استفاده از منطق half-duplex ، منتظر ارسال فریم ذکر شده در مرحله ۱B است.
گره هایی که از منطق half-duplex استفاده می کنند در واقع از الگوریتم نسبتاً شناخته شده ای به نام carrier sense access multiple with collision detection (CSMA/CD) استفاده می کنند. این الگوریتم از موارد واضح و همچنین موارد ناشی از زمان بندی نامناسب مراقبت می کند . به عنوان مثال ، دو گره می توانند فریم ورودی را در همان لحظه بررسی کنند ، هر دو متوجه می شوند که هیچ گره دیگری ارسال نمی کند ، و هر دو فریم های خود را دقیقاً در همان لحظه ارسال می کنند و باعث برخورد می شوند . CSMA/CD موارد زیر را نیز شامل می شود:
مرحله ۱٫ دستگاهی که میخواهد فریم را ارسال کند ، در ابتدا بررسی میکند که شبکه اشغال نباشد .
مرحله ۲٫ هنگامی که شبکه اشغال نبود ، فرستنده شروع به ارسال فریم می کند.
مرحله ۳٫ فرستنده در حین ارسال رخ دادن برخورد را بررسی میکند . ممکن است به دلایل متعددی از جمله زمانبندی نادرست برخورد ایجاد شود. در صورت وقوع برخورد ، همه گره های در حال ارسال به شرح زیر عمل می کنند:
- الف) گره ها یک سیگنال jamming ارسال می کنند که به همه گره ها می گوید که برخورد رخ داده است.
- ب) گره ها به طور مستقل زمان تصادفی را انتخاب می کنند تا قبل از تلاش مجدد منتظر بمانند تا از زمان نامطلوب جلوگیری شود.
- C. تلاش بعدی دوباره در مرحله ۱ شروع می شود.
اگرچه اکثر LAN های مدرن اغلب از هاب استفاده نمی کنند و بنابراین نیازی به استفاده از half duplex ندارند ، اما هنوز هاب های قدیمی در شبکه های تجاری بزرگ وجود دارند ، بنابراین شما باید برای درک مسائل دوبلکس آماده باشید . هر پورت NIC و سوئیچ دارای یک تنظیم دوبلکس است. برای همه لینک بین کامپیوترها و سوئیچ ها یا بین سوئیچ ها ، از full duplex استفاده کنید. با این حال ، برای لینک هایی که به hub و switch یا پورت NIC متصل است باید از half duplex استفاده کرد .
توجه
خود هاب از منطق half-duplex استفاده نمی کند ، بلکه فقط سیگنال های دریافتی را از تمام پورت های خود تکرار می کند. شکل زیر یک مثال را ، با لینک های full-duplex در سمت چپ و یک LAN hub واحد در سمت راست نشان می دهد. هاب به اینترفیس F0/2 SW2 برای استفاده از منطق half-duplex متصل شده است .