У мережах з маркерним методом доступу (а до них, крім мереж Token Ring, відносяться мережі FDDI, а також мережі, близькі до стандарту 802.4, - ArcNet, мережі виробничого призначення MAP) право на доступ до середовища передається циклічно від станції до станції по логічному кільцю.
У мережі Token Ring кільце утворюється відрізками кабелю, що з'єднують сусідні станції. Таким чином, кожна станція зв'язана зі своєю попередньою і наступною станцією і може безпосередньо обмінюватися даними тільки з ними. Для забезпечення доступу станцій до фізичного середовища по кільцю циркулює кадр спеціального формату і призначення - маркер. У мережі Token Ring кожна станція завжди безпосередньо отримує дані тільки від однієї станції - тієї, яка є попередньою в кільці. Така станція називається найближчим активним сусідом, розташованим вище по потоку (даних) - Nearest Active Upstream Neighbor, NAUN. Передачу ж даних станція завжди здійснює своєму найближчому сусіду вниз по потоку даних.
Час володіння розділяється середовищем в мережі Token Ring обмежується часом утримання маркера (token holding time), після закінчення якого станція зобов'язана припинити передачу власних даних (поточний кадр дозволяється завершити) і передати маркер далі по кільцю. Станція може встигнути передати за час утримання маркера один або кілька кадрів в залежності від розміру кадрів і величини часу утримання маркера. Зазвичай час утримання маркера за замовчуванням дорівнює 10 мс, а максимальний розмір кадру в стандарті 802.5 не визначений. Для мереж 4 Мбіт / с він зазвичай дорівнює 4 Кбайт, а для мереж 16 Мбіт / с - 16 Кбайт. Це пов'язано з тим, що за час утримання маркера станція повинна встигнути передати хоча б один кадр. При швидкості 4 Мбіт / с за час 10 мс можна передати 5000 байт, а при швидкості 16 Мбіт / с - відповідно 20 000 байт. Максимальні розміри кадру обрані з деяким запасом.
У мережах Token Ring 16 Мбіт / с використовується також дещо інший алгоритм доступу до кільця, званий алгоритмом раннього звільнення маркера (Early Token Release). Відповідно до нього станція передає маркер доступу наступної станції відразу ж після закінчення передачі останнього біта кадру, не чекаючи повернення по кільцю цього кадру з бітом підтвердження прийому. В цьому випадку пропускна здатність кільця використовується більш ефективно, так як по кільцю одночасно просуваються кадри декількох станцій. Проте свої кадри в кожен момент часу може генерувати тільки одна станція - та, яка в даний момент володіє маркером доступу. Решта станції в цей час тільки повторюють чужі кадри, так що принцип поділу кільця в часі зберігається, прискорюється тільки процедура передачі володіння кільцем.
Для різних видів повідомлень, переданих кадрів, можуть призначатися різні пріоритети: від 0 (нижчий) до 7 (вищий). Рішення про пріоритет конкретного кадру приймає передавальна станція (протокол Token Ring отримує цей параметр через міжрівневого інтерфейси від протоколів верхнього рівня, наприклад прикладного). Маркер також завжди має деякий рівень поточного пріоритету. Станція має право захопити переданий їй маркер тільки в тому випадку, якщо пріоритет кадру, який вона хоче передати, вище (або дорівнює) пріоритету маркера. В іншому випадку станція зобов'язана передати маркер наступної по кільцю станції.
За наявність в мережі маркера, причому єдиною його копії, відповідає активний монітор. Якщо активний монітор не отримує маркер протягом тривалого часу (наприклад, 2,6 с), то він породжує новий маркер.
Формати кадрів Token Ring
У Token Ring існують три різних формату кадрів:
• кадр даних;
• перериває послідовність.
Кадр маркера складається з трьох полів, кожне довжиною в один байт.
• Початковий обмежувач (Start Delimiter, SD) з'являється на початку маркера, а також на початку будь-якого кадру, що проходить по мережі. Поле являє собою наступну унікальну послідовність символів манчестерського коду: JKOJKOOO. Тому початковий обмежувач не можна сплутати ні з якою бітової послідовністю всередині кадру.
• Управління доступом (Access Control) складається з чотирьох підполів: РРР, Т, М і RRR, де РРР - біти пріоритету, Т - біт маркера, М - біт монітора, RRR -Резервне біти пріоритету. Біт Т, встановлений в 1, вказує на те, що даний кадр є маркером доступу. Біт монітора встановлюється в 1 активним монітором і в 0 будь-який інший станцією, що передає маркер або кадр. Якщо активний монітор бачить маркер або кадр, який містить біт монітора зі значенням 1, то активний монітор знає, що цей кадр або маркер вже одного разу обійшов кільце і не був оброблений станціями. Якщо це кадр, то він видаляється з кільця. Якщо це маркер, то активний монітор передає його далі по кільцю. Використання полів пріоритетів буде розглянуто нижче.
• Кінцевий обмежувач (End Delimeter, ED) - останнє поле маркера. Так само як і поле початкового обмежувача, це поле містить унікальну послідовність манчестерських кодів JK1JK1, а також два однобітових ознаки: I і Е. Ознака I (Intermediate) показує, чи є кадр останнім у серії кадрів (1-0) або проміжним (1 -1). Ознака Е (Error) - це ознака помилки. Він встановлюється в 0 станцією-відправником, і будь-яка станція кільця, через яку проходить кадр, повинна встановити цю ознаку в 1, якщо вона знайде помилку по контрольній сумі чи іншу некоректність кадру.
Кадр даних і перериває послідовність:
Кадр даних включає ті ж три поля, що і маркер, і має крім них ще кілька додаткових полів. Таким чином, кадр даних складається з наступних полів:
• початковий обмежувач (Start Delimiter, SD);
• управління кадром (Frame Control, PC);
• контрольнаясумма (Frame Check Sequence, PCS);
• конечнийогранічітель (End Delimeter, ED);
• статускадра (Frame Status, FS).
Кадр даних може переносити або службові дані для управління кільцем (дані МАС-рівня), або призначені для користувача дані (LLC-рівня). Стандарт Token Ring визначає 6 типів керуючих кадрів МАС-рівня. Поле FC визначає тип кадру (MAC або LLC), і якщо він визначений як MAC, то поле також вказує, який з шести типів кадрів представлений даними кадром.
Призначення цих шести типів кадрів описано нижче.
• Щоб повідомити іншим станціям, що він працездатний, активний монітор періодично посилає в кільце кадр Існує активний монітор (Active Monitor Present, AMP).
• Кадр Існує резервний монітор (Standby Monitor Present, SMP) відправляється будь-якою станцією, яка не є активним монітором.
• Резервний монітор відправляє кадр Маркер заявки (Claim Token, CT), коли підозрює, що активний монітор відмовив, потім резервні монітори домовляються між собою, який з них стане новим активним монітором.
• Кадр Очищення (Purge, PRG) використовується новим активним монітором для того, щоб перевести всі станції в початковий стан і очистити кільце від всіх раніше посланих кадрів.
Поле даних INFO кадру може містити дані одного з описаних керуючих кадрів рівня MAC або призначені для користувача дані, упаковані в кадр рівня LLC. Це поле, як уже зазначалося, не має певної стандартом максимальної довжини, хоча існують практичні обмеження на його розмір, засновані на тимчасових співвідношеннях між часом утримання маркера і часом передачі кадру.
Перериває послідовність складається з двох байтів, що містять початковий і кінцевий обмежувачі. Перериває послідовність може з'явитися в будь-якому місці потоку бітів і сигналізує про те, що поточна передача кадру або маркера скасовується.
Кожен кадр даних або маркер має пріоритет, встановлюваний бітами пріоритету (значення від 0 до 7, причому 7 - найвищий пріоритет). Станція може скористатися маркером, якщо тільки у неї є кадри для передачі з пріоритетом рівним або більшим, ніж пріоритет маркера. Мережевий адаптер станції з кадрами, у яких пріоритет нижче, ніж пріоритет маркера, не може захопити маркер, але може помістити найбільший пріоритет своїх які мають бути надіслані кадрів в резервні біти маркера, але тільки в тому випадку, якщо записаний в резервних бітах пріоритет нижче його власного. В результаті в резервних бітах пріоритету встановлюється найвищий пріоритет станції, яка намагається отримати доступ до кільця, але не може цього зробити через високий пріоритету маркера.
Станція, що зуміла захопити маркер, передає свої кадри з пріоритетом маркера, а потім передає маркер наступному сусідові. При цьому вона переписує значення резервного пріоритету в поле пріоритету маркера, а резервний пріоритет обнуляється. Тому при наступному проході маркера по кільцю його захопить станція, що має найвищий пріоритет.
При ініціалізації кільця основний і резервний пріоритет маркера встановлюються в 0.
Хоча механізм пріоритетів в технології Token Ring є, але він починає працювати тільки в тому випадку, коли додаток або прикладної протокол вирішують його використовувати. Інакше всі станції будуть мати рівні права доступу до кільцю, що в основному і відбувається на практиці, так як більша частина додатків цим механізмом не користується. Це пов'язано з тим, що пріоритети кадрів підтримуються не в усіх технологіях, наприклад в мережах Ethernet вони відсутні, тому додаток буде вести себе по-різному, в залежності від технології нижнього рівня, що небажано. У сучасних мережах пріоритетність обробки кадрів зазвичай забезпечується комутаторами або маршрутизаторами, які підтримують їх незалежно від використовуваних протоколів канального рівня.