4. Лекція: Пакети, протоколи і методи управління обміном
Призначення пакетів і їх структура
Інформація в локальних мережах, як правило, передається окремими порціями, шматками, званими в різних джерелах пакетами (packets), кадрами (frames) або блоками. Причому гранична довжина цих пакетів строго обмежена (зазвичай величиною в декілька кілобайт). Обмежена довжина пакету і знизу (як правило, декількома десятками байт). Вибір пакетної передачі пов'язаний з декількома важливими міркуваннями.
Локальна мережа, як вже наголошувалося, повинна забезпечувати якісний, прозорий зв'язок всім абонентам (комп'ютерам) мережі. Найважливішим параметром є так званий час доступу до мережі (access time), яке визначається як часовий інтервал між моментом готовності абонента до передачі (коли йому є, що передавати) і моментом початку цієї передачі. Це час очікування абонентом початку своєї передачі. Природно, воно не має бути дуже великим, інакше величина реальної, інтегральної швидкості передачі інформації між додатками сильно зменшиться навіть при високошвидкісному зв'язку.
Очікування зачала передачі пов'язано з тим, що в мережі не може відбуватися декілька передач одночасно (в усякому разі, при топологиях шина і кільце). Завжди є тільки один передавач і один приймач (рідше – декілька приймачів). Інакше інформація від різних передавачів змішується і спотворюється. У зв'язку з цим абоненти передають свою інформацію по черзі. І кожному абонентові, перш ніж зачати передачу, треба діждатися своєї черги. Ось це час очікування своєї черги і є час доступу.
Якби вся необхідна інформація передавалася якимсь абонентом відразу, безперервно, без розділення на пакети, то це привело б до монопольного захоплення мережі цим абонентом на досить тривалий час. Решта всіх абонентів вимушена була б чекати закінчення передачі всієї інформації, що у ряді випадків могло б зажадати десятків секунд і навіть хвилин (наприклад, при копіюванні вмісту цілого жорсткого диска). З тим щоб зрівняти в правах всіх абонентів, а також зробити приблизно однаковими для всіх них величину часу доступу до мережі і інтегральну швидкість передачі інформації, якраз і застосовуються пакети (кадри) обмеженої довжини. Поважно також і те, що при передачі великих масивів інформації вірогідність помилки із-за перешкод і збоїв досить висока. Наприклад, при характерній для локальних мереж величині вірогідності одиночної помилки в 10-8пакет довжиною 10 Кбіт буде спотворений з вірогідністю 10-4, а масив завдовжки 10 Мбіт – вже з вірогідністю 10-1. До того ж виявити помилку в масиві з декількох мегабайт набагато складніший, ніж в пакеті з декількох кілобайт. А при виявленні помилки доведеться повторити передачу всього великого масиву. Але і при повторній передачі великого масиву знову висока вірогідність помилки, і процес цей при дуже великому масиві може повторюватися до безкінечності.
З іншого боку, порівняно великі пакети мають переваги перед дуже маленькими пакетами, наприклад, перед побайтовою (8 битий) або послівною (16 битий або 32 бита) передачею інформації.
Річ у тому, що кожен пакет окрім власне даних, які потрібно передати, повинен містити деяку кількість службової інформації. Перш за все, це адресна інформація, яка визначає, від кого і кому передається даний пакет (як на поштовому конверті – адреси одержувача і відправника). Якщо порція передаваних даних буде дуже маленькою (наприклад, декілька байт), то частка службової інформації стане недозволенна високою, що різко понизить інтегральну швидкість обміну інформацією по мережі.
Існує деяка оптимальна довжина пакету (або оптимальний діапазон довжин пакетів), при якій середня швидкість обміну інформацією по мережі буде максимальна. Ця довжина не є незмінною величиною, вона залежить від рівня перешкод, методу управління обміном, кількості абонентів мережі, характеру передаваної інформації, і від багатьох інших чинників. Є діапазон довжин, який близький до оптимуму.
Таким чином, процес інформаційного обміну в мережі є чергуванням пакетів, кожен з яких містить інформацію, передавану від абонента до абонента.
Мал. 4.1.  Передача пакетів в мережі між двома абонентами
У окремому випадку (рис. 4.1) всі ці пакети можуть передаватися одним абонентом (коли інші абоненти не хочуть передавати). Але зазвичай в мережі чергуються пакети, послані різними абонентами (рис. 4.2).
Мал. 4.2.  Передача пакетів в мережі між декількома абонентами
Структура і розміри пакету в кожній мережі жорстко визначені стандартом на дану мережу і зв'язані, перш за все, з апаратурними особливостями даної мережі, вибраною топологією і типом середи передачі інформації. Крім того, ці параметри залежать від використовуваного протоколу (порядку обміну інформацією).
Але існують деякі спільні принципи формування структури пакету, які враховують характерні особливості обміну інформацією по будь-яких локальних мережах.
Найчастіше пакет містить в собі наступні основні поля або частки (рис. 4.3):
Мал. 4.3.  Типова структура пакету
Стартова комбінація бітів або преамбула, яка забезпечує попереднє настроювання апаратури адаптера або іншого мережевого пристрою на прийом і обробку пакету. Це поле може бути повністю відсутнім або ж зводитися до єдиного стартового біта.
Мережева адреса (ідентифікатор) приймаючого абонента, тобто індивідуальний або груповий номер, привласнений кожному приймаючому абонентові в мережі. Ця адреса дозволяє приймачу розпізнати пакет, адресований йому особисто, групі, в яку він входить, або всім абонентам мережі одночасно (при широкому віщанні).
Мережева адреса (ідентифікатор) передавального абонента, тобто індивідуальний номер, привласнений кожному передавальному абонентові. Ця адреса інформує приймаючого абонента, звідки прийшов даний пакет. Включення в пакет адреси передавача необхідне у тому випадку, коли одному приймачу можуть поперемінно приходити пакети від різних передавачів.
Службова інформація, яка може указувати на типа пакету, його номер, розмір, формат, маршрут його доставки, на те, що з ним треба робити приймачу і так далі
Дані (поле даних) – це та інформація, ради передачі якої використовується пакет. На відміну від решти всіх полів пакету поле даних має змінну довжину, яка, власне, і визначає повну довжину пакету. Існують спеціальні пакети, що управляють, які не мають поля даних. Їх можна розглядувати як мережеві команди. Пакети, що включають поле даних, називаються інформаційними пакетами. Пакети, що управляють, можуть виконувати функцію зачала і кінця сеансу зв'язку, підтвердження прийому інформаційного пакету, запиту інформаційного пакету і так далі
Контрольна сума пакету – це числовий код, що формується передавачем по певних правилах і що містить в згорнутому вигляді інформацію про весь пакет. Приймач, повторюючи обчислення, зроблені передавачем, з прийнятим пакетом, порівнює їх результат з контрольною сумою і робить вивід про правильність або помилковість передачі пакету. Якщо пакет помилковий, то приймач запрошує його повторну передачу. Зазвичай використовується циклічна контрольна сума (CRC). Докладніше про це розказано в розділі 7.
Стопова комбінація служить для інформування апаратури приймаючого абонента про закінчення пакету, забезпечує вихід апаратури приймача із стану прийому. Це поле може бути відсутнім, якщо використовується код, що самосинхронизирующийся, дозволяє визначати момент закінчення передачі пакету.
Мал. 4.4.  Вкладення кадру в пакет
Нерідко в структурі пакету виділяють всього три поля:
Початкове поле пакету (або заголовок пакету), що управляє, тобто поле, що включає стартову комбінацію, мережеві адреси приймача і передавача, а також службову інформацію.
Поле даних пакету.
Кінцеве поле пакету (висновок, трейлер), що управляє, куди входять контрольна сума і стопова комбінація, а також, можливо, службова інформація.
Як уже згадувалося, окрім терміну "пакет" (packet) в літературі також нерідко зустрічається термін "кадр" (frame). Інколи під цими термінами мається на увазі одне і те ж. Але інколи мається на увазі, що кадр і пакет розрізняються. Причому єдності в поясненні цих відмінностей не спостерігається.
У деяких джерелах затверджується, що кадр вкладений в пакет. В цьому випадку всі перераховані поля пакету окрім преамбули і стопової комбінації відносяться до кадру (рис. 4.4). Наприклад, в описах мережі Ethernet мовиться, що в кінці преамбули передається ознака початку кадру.
У інших, навпаки, підтримується думка про те, що пакет вкладений в кадр. І тоді під пакетом мається на увазі тільки інформація, що міститься в кадрі, який передається по мережі і забезпечений службовими полями.
Щоб уникнути плутанини, в даній книзі термін "пакет" використовуватиметься як зрозуміліший і універсальний.
В процесі сеансу обміну інформацією по мережі між передавальним і приймаючим абонентами відбувається обмін інформаційними пакетами, що управляють, по встановлених правилах, званим протоколом обміну. Це дозволяє забезпечити надійну передачу інформації при будь-якій інтенсивності обміну по мережі.
Приклад простого протоколу показаний на рис. 4.5.
Сеанс обміну починається із запиту передавачем готовності приймача прийняти дані. Для цього використовується пакет, що управляє, "Запит". Якщо приймач не готовий, він відмовляється від сеансу спеціальним пакетом, що управляє. У разі, коли приймач готовий, він посилає пакет, що у відповідь управляє, "Готовність". Потім зачинається власне передача даних. При цьому на кожен отриманий інформаційний пакет приймач відповідає пакетом, що управляє, "Підтвердження". У разі, коли пакет даних переданий з помилками, у відповідь на нього приймач запрошує повторну передачу. Закінчується сеанс пакетом, що управляє, "Кінець", яким передавач повідомляє про розрив зв'язку. Існує безліч стандартних протоколів, які використовують як передачу з підтвердженням (з гарантованою доставкою пакету), так і передачу без підтвердження (без гарантії доставки пакету). Докладніше про протоколи обміну буде розказано в наступному розділі.
Мал. 4.5.  Приклад обміну пакетами при сеансі зв'язку
При реальному обміні по мережі застосовуються багаторівневі протоколи, кожен з рівнів яких передбачає свою структуру пакету (адресацію, інформацію, що управляє, формат даних і так далі). Адже протоколи високих рівнів мають справу з такими поняттями, як файл-сервер або додаток, що запрошує дані біля іншого застосування, і цілком можуть не мати уявлення ні про типа апаратури мережі, ні про метод управління обміном. Всі пакети вищих рівнів послідовно вкладаються в передаваний пакет, точніше, в полі даних передаваного пакету (рис. 4.6). Цей процес послідовної упаковки даних для передачі називається також інкапсуляцією пакетів.
Мал. 4.6.  Багаторівнева система вкладення пакетів
Кожен наступний пакет, що вкладається, може містити власну службову інформацію, розташовану як до даних (заголовок), так і після них (трейлер), причому її призначення може бути різним. Безумовно, частка допоміжної інформації в пакетах при цьому зростає з кожним наступним рівнем, що знижує ефективну швидкість передачі даних. Для збільшення цієї швидкості переважно, щоб протоколи обміну були простіші, і рівнів цих протоколів було менше. Інакше ніяка швидкість передачі бітів не допоможе, і швидка мережа може передавати файл довше, ніж повільна мережа, яка користується простішим протоколом.
Зворотний процес послідовного розпаковування даних приймачем називається декапсуляцією пакетів.
Адресація пакетів
Кожен абонент (вузол) локальної мережі повинен мати свою унікальну адресу (ідентифікатор або MAC-адрес), для того, щоб йому можна було адресувати пакети. Існують дві основні системи привласнення адрес абонентам мережі (точніше, мережевим адаптерам цих абонентів).
Перша система зводиться до того, що при установці мережі кожному абонентові користувач привласнює індивідуальну адресу по порядку, наприклад, від 0 до 30 або від 0 до 254. Привласнення адрес проводиться програмно або за допомогою перемикачів на платі адаптера. При цьому необхідна кількість розрядів адреси визначається з нерівності:
2n > Nmax
де n – кількість розрядів адреси, а Nmax – максимально можлива кількість абонентів в мережі. Наприклад, вісім розрядів адреси достатні для мережі з 255 абонентів. Одна адреса (зазвичай 1111....11) відводиться для широкомовної передачі, тобто він використовується для пакетів, адресованих всім абонентам одночасно.
Саме такий підхід застосований у відомій мережі Arcnet. Достоїнства даного підходу – малий об'єм службової інформації в пакеті, а також простота апаратури адаптера, що розпізнає адресу пакету. Недолік – трудомісткість завдання адрес і можливість помилки (наприклад, двом абонентам мережі може бути привласнений одна і та ж адреса). Контроль унікальності мережевих адрес всіх абонентів покладається на адміністратора мережі.
Другий підхід до адресації був розроблений міжнародною організацією IEEE, стандартизацією мереж, що займається. Саме він використовується в більшості мереж і рекомендований для нових розробок. Ідея цього підходу полягає в тому, щоб привласнювати унікальну мережеву адресу кожному адаптеру мережі ще на етапі його виготовлення. Якщо кількість можливих адрес буде достатньо великою, то можна бути упевненим, що в будь-якій мережі по всьому світу ніколи не буде абонентів з однаковими адресами. Тому був вибраний 48-бітовий формат адреси, що відповідає приблизно 280 трильйонам різних адрес. Зрозуміло, що стільки мережевих адаптерів ніколи не буде випущено.
З тим щоб розподілити можливі діапазони адрес між багаточисельними виготівниками мережевих адаптерів, була запропонована наступна структура адреси (рис. 4.7):
Молодші 24 розряди коди адреси називаються OUA (Organizationally Unique Address) – організаційно унікальна адреса. Саме їх привласнює кожен із зареєстрованих виробників мережевих адаптерів. Всього можливі понад 16 мільйонів комбінацій, тобто кожен виготівник може випустити 16 мільйонів мережевих адаптерів.
Наступні 22 розряди коди називаються OUI (Organizationally Unique Identifier) – організаційно унікальний ідентифікатор. IEEE привласнює один або декілька OUI кожному виробникові мережевих адаптерів. Це дозволяє виключити збіги адрес адаптерів від різних виробників. Всього можливі понад 4 мільйони різних OUI, це означає, що теоретично може бути зареєстроване 4 мільйони виробників. Разом OUA і OUI називаються UAA (Universally Administered Address) – універсально керована адреса або IEEE-адрес.
Два старші розряди адреси керівники, вони визначають типа адреси, спосіб інтерпретації останніх 46 розрядів. Старший біт I/G (Individual/Group) указує на типа адреси. Якщо він встановлений в 0, то індивідуальний, якщо в 1, то груповий (багатопунктовий або функціональний). Пакети з груповою адресою отримають ті, що всі мають цю групову адресу мережеві адаптери. Причому групова адреса визначається 46 молодшими розрядами. Другий керівник битий U/L (Universal/Local) називається прапорцем универсального/местного управління і визначає, як була привласнена адреса даному мережевому адаптеру. Зазвичай він встановлений в 0. Установка бита U/L в 1 означає, що адреса задана не виробником мережевого адаптера, а організацією, що використовує дану мережу. Це трапляється досить рідко.
Мал. 4.7.  Структура 48-бітової стандартної MAC-адреса
Для широкомовної передачі (тобто передачі всім абонентам мережі одночасно) застосовується спеціально виділена мережева адреса, все 48 бітів якого встановлено в одиницю. Його приймають всі абоненти мережі незалежно від їх індивідуальних і групових адрес.
Даної системи адрес дотримуються такі популярні мережі, як Ethernet, Fast Ethernet, Token-Ring, FDDI, 100VG-AnyLAN. Її недоліки – висока складність апаратури мережевих адаптерів, а також велика частка службової інформації в передаваному пакеті (адреси джерела і приймача разом вимагають вже 96 бітів пакету або 12 байт).
У багатьох мережевих адаптерах передбачений так званий циркулярний режим. У цьому режимі адаптер приймає всі пакети, що приходять до нього, незалежно від значення поля адреси приймача. Такий режим використовується, наприклад, для проведення діагностики мережі, виміру її продуктивності, контролю помилок передачі. При цьому один комп'ютер приймає і контролює всі пакети, що минають по мережі, але сам нічого не передає. У даному режимі працюють мережеві адаптери мостів і комутатори, які повинні обробляти перед ретрансляцією всі пакети, що приходять до них.
Методи управління обміном
Мережу завжди об'єднує декілька абонентів, кожен з яких має право передавати свої пакети. Але, як вже наголошувалося, по одному кабелю одночасно передавати два (або більш) пакети не можна, інакше може виникнути конфлікт (колізія), який приведе до спотворення або втрати обох пакетів (або всіх пакетів, що беруть участь в конфлікті). Значить, треба якимсь чином встановити черговість доступу до мережі (захоплення мережі) всіма абонентами, що бажають передавати. Це відноситься, перш за все, до мереж з топологиями шина і кільце. Так само при топології зірка необхідно встановити черговість передачі пакетів периферійними абонентами, інакше центральний абонент просто не зможе справитися з їх обробкою.
У мережі обов'язково застосовується той або інший метод управління обміном (метод доступу, метод арбітражу), вирішуючий або запобігаючий конфлікти між абонентами. Від ефективності роботи вибраного методу управління обміном залежить дуже багато що: швидкість обміну інформацією між комп'ютерами, здатність навантаження мережі (здатність працювати з різними інтенсивностями обміну), час реакції мережі на зовнішні події і так далі Метод управління – це один з найважливіших параметрів мережі.
Тип методу управління обміном багато в чому визначається особливостями топології мережі. Але в той же час він не прив'язаний жорстко до топології, як нерідко прийнято вважати.
Методи управління обміном в локальних мережах діляться на дві групи:
Централізовані методи, в яких все управління обміном зосереджене в одному місці. Недоліки таких методів: нестійкість до відмов центру, мала гнучкість управління (центр зазвичай не може оперативно реагувати на всі події в мережі). Гідність централізованих методів – відсутність конфліктів, оскільки центр завжди надає право на передачу тільки одному абонентові, і йому ні з ким конфліктувати.
Децентралізованні методи, в яких відсутній центр управління. Всіма питаннями управління, у тому числі запобіганням, виявленням і вирішенням конфліктів, займаються всі абоненти мережі. Головні достоїнства децентралізованних методів: висока стійкість до відмов і велика гнучкість. Проте в даному випадку можливі конфлікти, які треба вирішувати.
Існує і інше ділення методів управління обміном, що відноситься, головним чином, до децентралізованним методів:
Детерміновані методи визначають чіткі правила, по яких чергуються абоненти, що захоплюють мережу. Абоненти мають певну систему пріоритетів, причому пріоритети ці різні для всіх абонентів. При цьому, як правило, конфлікти повністю виключені (або маловірогідні), але деякі абоненти можуть чекати своєї черги на передачу дуже довго. До детермінованих методів відноситься, наприклад, маркерний доступ (мережі Token-Ring, FDDI), при якому право передачі передається по естафеті від абонента до абонента.
Випадкові методи мають на увазі випадкове чергування передавальних абонентів. При цьому можливість конфліктів мається на увазі, але пропонуються способи їх дозволу. Випадкові методи значно гірші, ніж детерміновані, працюють при великих інформаційних потоках в мережі (при великому трафіку мережі) і не гарантують абонентові величину часу доступу. В той же час вони зазвичай стійкіші до відмов мережевого устаткування і ефективніше використовують мережу при малій інтенсивності обміну. Приклад випадкового методу – CSMA/CD (мережа Ethernet).
Для трьох основних топологій характерні три найбільш типових методу управління обміном.
Управління обміном в мережі з топологією зірка
Для топології зірка краще всього личить централізований метод управління. Це пов'язано з тим, що всі інформаційні потоки проходять через центр, і саме цьому центру логічно довірити управління обміном в мережі. Причому не так поважно, що знаходиться в центрі зірки: комп'ютер (центральний абонент), як на, або ж спеціальний концентратор, керівник обміном, але що не сам бере участь в нім. В даному випадку мова йде вже не про пасивну зірку (рис. 1.11), а про якусь проміжну ситуацію, коли центр не є повноцінним абонентом, але управляє обміном. Це, наприклад, реалізовано в мережі 100VG-AnyLAN.
Найпростіший централізований метод полягає в наступному.
Периферійні абоненти, що бажають передати свій пакет (або, як ще говорять, що мають заявки на передачу), посилають центру свої запити (пакети, що управляють, або спеціальні сигнали). Центр же надає їм право передачі пакету в порядку черговості, наприклад, по їх фізичному розташуванню в зірці за годинниковою стрілкою. Після закінчення передачі пакету якимсь абонентом право передавати отримає наступний по порядку (за годинниковою стрілкою) абонент, що має заявку на передачу (рис. 4.8). Наприклад, якщо передає другий абонент, то після нього має право на передачу третій. Якщо ж третьому абонентові не треба передавати, то право на передачу переходить до четвертого і так далі
Мал. 4.8.  Централізований метод управління обміном в мережі з топологією зірка
В цьому випадку говорять, що абоненти мають географічні пріоритети (по їх фізичному розташуванню). У кожен конкретний момент найвищим пріоритетом володіє наступний по порядку абонент, але в межах повного циклу опиту жоден з абонентів не має ніяких переваг перед іншими. Нікому не доведеться чекати своєї черги дуже довго. Максимальна величина часу доступу для будь-якого абонента в цьому випадку дорівнюватиме сумарному часу передачі пакетів всіх абонентів мережі окрім даного. Для топології, показаної на, вона складе чотири тривалість пакету. Ніяких зіткнень пакетів при цьому методі в принципі бути не може, оскільки всі рішення про доступ ухвалюються в одному місці.
Метод управління, що розгледів, можна назвати методом з пасивним центром, оскільки центр пасивно прослухує всіх абонентів. Можливий і інший принцип реалізації централізованого управління (його можна назвати методом з активним центром).
В цьому випадку центр посилає запити про готовність передавати (пакети, що управляють, або спеціальні сигнали) по черзі всім периферійним абонентам. Той периферійний абонент, який хоче передавати (перший з опитаних) посилає відповідь (або ж відразу зачинає свою передачу). Надалі центр проводить сеанс обміну саме з ним. Після закінчення цього сеансу центральний абонент продовжує опит периферійних абонентів по кругу (як на рис. 4.8). Якщо бажає передавати центральний абонент, він передає поза чергою.
Як у першому, так і в другому випадку ніяких конфліктів бути не може (рішення ухвалює єдиний центр, якому ні з ким конфліктувати). Якщо всі абоненти активні, і заявки на передачу поступають інтенсивно, то всі вони передаватимуть строго по черзі. Але центр має бути виключно надійний, інакше буде паралізований весь обмін. Механізм управління не дуже гнучкий, оскільки центр працює по жорстко заданому алгоритму. До того ж швидкість управління невисока. Адже навіть у разі, коли передає тільки один абонент, йому все одно доводиться чекати після кожного переданого пакету, поки центр опитає решту всіх абонентів.
Як правило, централізовані методи управління застосовуються в невеликих мережах (з числом абонентів не більше ніж декілька десятків). В разі великих мереж навантаження по управлінню обміном на центр істотно зростає.
Управління обміном в мережі з топологією шина
При топології шина також можливо централізоване управління. При цьому один з абонентів ("центральний") посилає по шині всім останнім ("периферійним") запити (пакети, що управляють), з'ясовувавши, хто з них хоче передати, потім дозволяє передачу одному з абонентів. Абонент, що отримав право на передачу, по тій же шині передає свій інформаційний пакет тому абонентові, якому хоче. А після закінчення передачі абонент, що передавав, все по тій же шині повідомляє "центр", що він закінчив передачу (пакетом, що управляє), і "центр" знову зачинає опит (рис. 4.9).
Мал. 4.9.  Централізоване управління в мережі з топологією шина
Переваги і недоліки такого управління – ті ж самі, що і в разі централізованої керованої зірки. Єдина відзнака полягає в тому, що центр тут не пересилає інформацію від одного абонента до іншого, як в топології активна зірка, а тільки управляє обміном.
Набагато частіше в шині використовується децентрализованное випадкове управління, оскільки мережеві адаптери всіх абонентів в даному випадку однакові, і саме цей метод найорганічніше личить шині. При виборі децентрализованного управління всі абоненти мають рівні права доступу до мережі, тобто особливості топології збігаються з особливостями методу управління. Рішення про те, коли можна передавати свій пакет, ухвалюється кожним абонентом на місці, виходячи тільки з аналізу стану мережі. В даному випадку виникає конкуренція між абонентами за захоплення мережі, і, отже, можливі конфлікти між ними і спотворення передаваної інформації із-за накладення пакетів.
Існує безліч алгоритмів доступу або, як ще говорять, сценаріїв доступу, деколи дуже складних. Їх вибір залежить від швидкості передачі в мережі, довжини шини, завантаженості мережі (інтенсивності обміну або трафіку мережі), використовуваної коди передачі.
Інколи для управління доступом до шини застосовується додаткова лінія зв'язку, що дозволяє спростити апаратуру контроллерів і методи доступу, але помітно збільшує вартість мережі за рахунок подвоєння довжини кабелю і кількості приймачів. Тому дане рішення не набуло широкого поширення.
Суть всіх випадкових методів управління обміном досить проста.
Якщо мережа вільна (тобто ніхто не передає своїх пакетів), то абонент, що бажає передавати, відразу зачинає свою передачу. Час доступу в цьому випадку дорівнює нулю.
Якщо ж у момент виникнення у абонента заявки на передачу мережа зайнята, то абонент, що бажає передавати, чекає звільнення мережі. Інакше спотворяться і пропадуть обидва пакети. Після звільнення мережі абонент, що бажає передавати, зачинає свою передачу.
Виникнення конфліктних ситуацій (зіткнень пакетів, колізій), в результаті яких передавана інформація спотворюється, можливо в двох випадках.
При одночасному початку передачі двома або більш абонентами, коли мережа вільна (рис. 4.10). Це ситуація досить рідка, але все-таки цілком можлива.
При одночасному початку передачі двома або більш абонентами відразу після звільнення мережі (рис. 4.11). Це ситуація найбільш типова, оскільки за час передачі пакету одним абонентом цілком може виникнути декілька нових заявок на передачу у інших абонентів.
Існуючі випадкові методи управління обміном (арбітражу) розрізняються тим, як вони запобігають можливим конфліктам або ж вирішують ті, що вже виникли. Жоден конфлікт не повинен порушувати обмін, всі абоненти повинні, врешті-решт, передати свої пакети.
В процесі розвитку локальних мереж було розроблено декілька різновидів випадкових методів управління обміном.
Мал. 4.10.  Колізії в разі початку передачі при вільній мережі
Мал. 4.11.  Колізії в разі початку передачі після звільнення мережі
Наприклад, був запропонований метод, при якому не всі передавальні абоненти розпізнають колізію, а тільки ті, які мають менші пріоритети. Абонент з максимальним пріоритетом зі всіх, що зачали передачу, закінчить передачу свого пакету без помилок. Останні, виявивши колізію, припинять свою передачу і чекатимуть звільнення мережі для нової спроби. Для контролю колізії кожен передавальний абонент проводить побитное порівняння передаваною їм в мережу інформації і даних, присутніх в мережі. Перемагає той абонент, заголовок пакету якого довше за інших не спотворюється від колізії. Цей метод, званий децентрализованным кодовим пріоритетним методом, відрізняється низькою швидкодією і складністю реалізації.
При іншому методі управління обміном кожен абонент зачинає свою передачу після звільнення мережі не відразу, а, витримавши свою, строго індивідуальну затримку, що запобігає колізіям після звільнення мережі і тим самим зводить до мінімуму спільну кількість колізій. Максимальним пріоритетом в цьому випадку володітиме абонент з мінімальною затримкою. Зіткнення пакетів можливі тільки тоді, коли два і більш за абонентів захотіли передавати одночасно при вільній мережі. Цей метод, званий децентрализованным тимчасовим пріоритетним методом, добре працює тільки в невеликих мережах, оскільки кожному абонентові потрібно забезпечити свою індивідуальну затримку.
У обох випадках є система пріоритетів, все ж дані методи відносяться до випадкових, оскільки результат конкуренції неможливо передбачити. Випадкові пріоритетні методи ставлять абонентів в нерівні умови при великій інтенсивності обміну по мережі, оскільки високопріоритетні абоненти можуть надовго заблокувати мережу для низькопріоритетних абонентів.
Найчастіше система пріоритетів в методі управління обміном в шині відсутня повністю. Саме так працює найбільш поширений стандартний метод управління обміном CSMA/CD (Carrier Sense Multiple Access with Collision Detection – множинний доступ з контролем тієї, що несе і виявленням колізій), використовуваний в мережі Ethernet. Його головне достоїнство в тому, що всі абоненти повністю рівноправні, і жоден з них не може надовго заблокувати обмін іншому (як в разі наявності пріоритетів). У цьому методі колізії не запобігають, а вирішуються.
Суть методу полягає в тому, що абонент зачинає передавати відразу, як тільки він з'ясує, що мережа вільна. Якщо виникають колізії, то вони виявляються всіма передавальними абонентами. Після чого всі абоненти припиняють свою передачу і відновлюють спробу зачати нову передачу пакету через часовий інтервал, тривалість якого вибирається випадковим чином. Тому повторні колізії маловірогідні. Докладніше метод CSMA/CD розгледить в розділі 7.
Ще один поширений метод випадкового доступу – CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance – множинний доступ з контролем тієї, що несе і уникненням колізій) що застосовується, наприклад, в мережі Apple LocalTalk. Абонент, що бажає передавати і що виявив звільнення мережі, передає спочатку короткий пакет запиту, що управляє, на передачу. Потім він заданий час чекає у відповідь короткого пакету підтвердження запиту, що управляє, від абонента-приймача. Якщо відповіді немає, передача відкладається. Якщо відповідь отримана, передається пакет. Колізії повністю не усуваються, але в основному стикаються пакети, що управляють. Зіткнення інформаційних пакетів виявляються на вищих рівнях протоколу.
Подібні методи добре працюватимуть тільки при не дуже великій інтенсивності обміну по мережі. Вважається, що прийнятна якість зв'язку забезпечується при навантаженні не вище 30—40% (тобто коли мережа зайнята передачею інформації приблизно на 30—40% всього часі). При більшому навантаженні повторні зіткнення частішають настільки, що настає так званий колапс або крах мережі, що є різким падінням її продуктивності.
Недолік всіх випадкових методів полягає ще і в тому, що вони не гарантують величину часу доступу до мережі, яка залежить не лише від вибору затримки між спробами передачі, але і від спільної завантаженості мережі. Тому, наприклад, в мережах, що виконують завдання управління устаткуванням (на виробництві, в наукових лабораторіях), де потрібна швидка реакція на зовнішні події, мережі з випадковими методами управління використовуються досить рідко.
При будь-якому випадковому методі управління обміном, що використовує детектування колізії (зокрема, при CSMA/CD), виникає питання про те, якою має бути мінімальна тривалість пакету, щоб колізію виявили ті, що всі зачали передавати абоненти. Адже сигнал по будь-якій фізичній середі розповсюджується не миттєво, і при великих розмірах мережі (діаметрі мережі) затримка розповсюдження може складати десятки і сотні мікросекунд. Крім того, інформацію про події, що одночасно відбуваються, різні абоненти отримують не в один час. З тим щоб розрахувати мінімальну тривалість пакету, слід звернутися до .рис. 4.12
Мал. 4.12.  Розрахунок мінімальної тривалості пакету
Хай L – повна довжина мережі, V – швидкість розповсюдження сигналу у використовуваному кабелі. Допустимо, абонент 1 закінчив свою передачу, а абоненти 2 і 3 захотіли передавати під час передачі абонента 1 і чекали звільнення мережі.
Після звільнення мережі абонент 2 зачне передавати відразу ж, оскільки він розташований поряд з абонентом 1. Абонент 3 після звільнення мережі дізнається про цю подію і зачне свою передачу через часовий інтервал проходження сигналу по всій довжині мережі, тобто через час L/V. При цьому пакет від абонента 3 дійде до абонента 2 ще через часовий інтервал L/V після початку передачі абонентом 3 (зворотний шлях сигналу). До цього моменту передача пакету абонентом 2 не повинна закінчитися, інакше абонент 2 так і не дізнається про зіткнення пакетів (про колізію), внаслідок чого буде переданий неправильний пакет.
Виходить, що мінімально допустима тривалість пакету в мережі повинна складати 2L/V, тобто дорівнювати подвоєному часу розповсюдження сигналу по повній довжині мережі (або по шляху найбільшої довжини в мережі). Цей час називається подвійним або круговим часом затримки сигналу в мережі або PDV (Path Delay Value). Цей же часовий інтервал можна розглядувати як універсальну міру одночасності будь-яких подій в мережі.
Стандартом на мережу задається якраз величина PDV, що визначає мінімальну довжину пакету, і з неї вже розраховується допустима довжина мережі. Річ у тому, що швидкість розповсюдження сигналу в мережі для різних кабелів відрізняється. Крім того, треба ще враховувати затримки сигналу в різних мережевих пристроях. Розрахункам допустимих конфігурацій мережі Ethernet присвячений розділ 10.
Окремо слід зупинитися на тому, як мережеві адаптери розпізнають колізію в кабелі шини, тобто зіткнення пакетів. Адже просте побитное порівняння передаваної абонентом інформації з тією, яка реально присутня в мережі, можливо тільки в разі найпростішої коди NRZ, використовуваної досить рідко. При застосуванні манчестерської коди, яка зазвичай мається на увазі в разі методу управління обміном CSMA/CD, потрібний принципово інший підхід.
Як вже наголошувалося, сигнал в манчестерському коді завжди має постійну складову, рівну половині розмаху сигналу (якщо один з двох рівнів сигналу нульової). Проте в разі зіткнення два і більш за пакети (при колізії) це правило виконуватися не буде. Постійна складова сумарного сигналу в мережі буде обов'язкова більше або менше половини розмаху (рис. 4.13). Адже пакети завжди відрізняються один від одного і до того ж зрушені один щодо одного в часі. Саме по виходу рівня постійною складовою за встановлені межі і визначає кожен мережевий адаптер наявність колізії в мережі.
Мал. 4.13.  Визначення факту колізії в шині при використанні манчестерської коди
Завдання виявлення колізії істотно спрощується, якщо використовується не дійсна шина, а рівноцінна їй пасивна зірка (рис. 4.14).
Мал. 4.14.  Виявлення колізії в мережі пасивна зірка
При цьому кожен абонент з'єднується з центральним концентратором, як правило, двома кабелями, кожен з яких передає інформацію в своєму напрямі. Під час передачі свого пакету абонентові достатньо всього лише контролювати, чи не приходить йому в даний момент по зустрічному кабелю (приймальному) інший пакет. Якщо зустрічний пакет приходить, то детектується колізія. Так само виявляє колізії і концентратор.
Управління обміном в мережі з топологією кільце
Кільцева топологія має свої особливості при виборі методу управління обміном. В цьому випадку важливе те, що будь-який пакет, посланий по кільцю, послідовно минувши всіх абонентів, через деякий час повернеться в ту ж крапку, до того ж абонентові, який його передавав (оскільки топологія замкнута). Тут немає одночасного розповсюдження сигналу в дві сторони, як в топології шина. Як вже наголошувалося, мережі з топологією кільце бувають однонаправленими і двонаправленими. Найбільш поширені однонаправлені.
У мережі з топологією кільце можна використовувати різні централізовані методи управління (як в зірці), а також методи випадкового доступу (як в шині), але частіше вибирають все-таки специфічні методи управління, найбільшою мірою відповідні особливостям кільця.
Найпопулярніші методи управління в кільцевих мережах маркерні (естафетні), ті, які використовують маркер (естафету) – невеликий пакет спеціального вигляду, що управляє. Саме естафетна передача маркера по кільцю дозволяє передавати право на захоплення мережі від одного абонента до іншого. Маркерні методи відносяться до децентрализованным і детермінованих методів управління обміном в мережі. У них немає явно вираженого центру, але існує чітка система пріоритетів, і тому не буває конфліктів.
Робота маркерного методу управління в мережі з топологією кільце представлена на рис. 4.15.
Мал. 4.15.  Маркерний метод управління обміном (См—свободний маркер, ЗМ— зайнятий маркер, МП— зайнятий маркер з підтвердженням, Пд—пакет даних)
По кільцю безперервно ходить спеціальний пакет мінімальної довжини, що управляє, маркер, що надає абонентам право передавати свій пакет. Алгоритм дій абонентів:
Абонент 1, що бажає передати свій пакет, повинен діждатися приходу до нього вільного маркера. Потім він приєднує до маркера свій пакет, позначає маркер як зайнятий і відправляє цю посилку наступному по кільцю абонентові.
Решта всіх абонентів (2, 3, 4), отримавши маркер з приєднаним пакетом, перевіряє, чи їм адресований пакет. Якщо пакет адресований не ним, то вони передають отриману посилку (маркер + пакет) далі по кільцю.
Якщо якийсь абонент (в даному випадку це абонент 2) розпізнає пакет як адресований йому, то він його приймає, встановлює в маркері біт підтвердження прийому і передає посилку (маркер + пакет) далі по кільцю.
Абонент, що передавав, 1 отримує свою посилку, що минула по всьому кільцю, назад, позначає маркер як вільний, видаляє з мережі свій пакет і посилає вільний маркер далі по кільцю. Абонент, що бажає передавати, чекає цього маркера, і все повторюється знову.
Пріоритет при даному методі управління виходить географічний, тобто право передачі після звільнення мережі переходить до наступного по напряму кільця абонента від останнього абонента, що передавав. Але ця система пріоритетів працює тільки при великій інтенсивності обміну. При малій інтенсивності обміну всі абоненти равноправны, і час доступу до мережі кожного з них визначається тільки положенням маркера у момент виникнення заявки на передачу.
У чомусь даний метод схожий на метод опиту (централізований), хоча явно виділеного центру тут не існує. Проте якийсь центр зазвичай все-таки присутній. Одін з абонентів (або спеціальний пристрій) повинен стежити, щоб маркер не загубився в процесі проходження по кільцю (наприклад, через дію перешкод або збою в роботі якогось абонента, а також із-за підключення і відключення абонентів). Інакше механізм доступу працювати не буде. Отже, надійність управління в даному випадку знижується (вихід центру з буд приводить до повної дезорганізації обміну). Існують спеціальні засоби для підвищення надійності і відновлення центру контролю маркера.
Основна перевага маркерного методу перед CSMA/CD полягає в гарантованій величині часу доступу. Його максимальна величина, як і при централізованому методі, складе (N-1) tпк, де N – повне число абонентів в мережі, tпк – час проходження пакету по кільцю. Взагалі, маркерний метод управління обміном при великій інтенсивності обміну в мережі (завантаженість більше 30—40%) набагато ефективніше за випадкові методи. Він дозволяє мережі працювати з більшим навантаженням, яке теоретично може навіть наближатися до 100%.
Метод маркерного доступу використовується не лише в кільці (наприклад, в мережі IBM Token Ring або FDDI), але і в шині (зокрема, мережа ARCNET-BUS), а також в пасивній зірці (наприклад, мережа ARCNET-STAR). У цих випадках реалізується не фізичне, а логічне кільце, тобто всі абоненти послідовно передають один одному маркер, і цей ланцюжок передачі маркерів замкнутий в кільце (рис. 4.16). При цьому поєднуються достоїнства фізичної топології шина і маркерного методу управління.
Мал. 4.16.  Застосування маркерного метода управління в шині.