Стандарти технології. Формати кадрів технології Ethernet
Стандарти технології Ethernet
Ethernet - це найпоширеніший на сьогоднішній день стандарт локальних мереж. Загальна кількість мереж, що використовують в даний час Ethernet, оцінюється в 5 мільйонів, а кількість комп'ютерів, що працюють з встановленими мережевими адаптерами Ethernet - у 50 мільйонів.
Коли говорять Ethernet, то під цим звичайно розуміють будь-який з варіантів цієї технології. У більш вузькому сенсі, Ethernet - це мережевий стандарт, заснований на технологіях експериментальної мережі Ethernet Network, яку фірма Xerox розробила і реалізувала в 1975 році (ще до появи персонального комп'ютера). Метод доступу був випробуваний ще раніше: у другій половині 60-х років у радіомережі Гавайського університету використовувалися різні варіанти випадкового доступу до загального радіосередовища, які отримали загальну назву Aloha. У 1980 році фірми DEC, Intel і Xerox спільно розробили й опублікували стандарт Ethernet версії II для мережі, побудованої на основі коаксіального кабелю. Тому стандарт Ethernet іноді називають стандартом DIX по заголовних букв назв фірм.
Рис. 1. Примітиви рівня LLC
а, в, с - без встановлення з'єднання, d - з встановленням з'єднання
На основі стандарту Ethernet DIX був розроблений стандарт IEEE 802.3, який багато в чому збігається зі своїм попередником, але деякі відмінності все ж є. У той час, як у стандарті IEEE 802.3 розрізняються рівні MAC і LLC, в оригінальному Ethernet обидва ці рівні об'єднані в єдиний канальний рівень. У Ethernet визначається протокол тестування конфігурації (Ethernet Configuration Test Protocol), який відсутній у IEEE 802.3. Дещо відрізняється і формат кадру, хоча мінімальні і максимальні розміри кадрів у цих стандартах збігаються.
У залежності від типу фізичного середовища стандарт IEEE 802.3 має різні модифікації - 10Base-5, 10Base-2, 10Base-T, 10Base-F.
Для передачі двійкової інформації по кабелю для всіх варіантів фізичного рівня технології Ethernet використовується манчестерський код.
Усі види стандартів Ethernet використовують один і той самий метод поділу середовища передачі даних - метод CSMA / CD.
Метод доступу CSMA / CD
У мережах Ethernet використовується метод доступу до середовища передачі даних, званий методом колективного доступу з розпізнаванням несучої і виявленням колізій (carrier-sense-multiply-access with collision detection, CSMA / CD).
Цей метод використовується виключно в мережах із загальною шиною (до яких відносяться і радіомережі, що породили цей метод). Всі комп'ютери такої мережі мають безпосередній доступ до загальної шини, тому вона може бути використана для передачі даних між будь-якими двома вузлами мережі. Простота схеми підключення - це один з факторів, що визначили успіх стандарту Ethernet. Кажуть, що кабель, до якого підключені всі станції, працює в режимі колективного доступу (multiply-access, MA).
Всі дані, передані по мережі, поміщаються в кадри визначеної структури і забезпечуються унікальною адресою станції призначення. Потім кадр передається по кабелю. Усі станції, підключені до кабелю, можуть розпізнати факт передачі кадру, і та станція, яка дізнається власну адресу в заголовках кадру, записує його вміст у свій внутрішній буфер, обробляє отримані дані і посилає кабелем кадр-відповідь. Адреса станції-джерела також включений у вихідний кадр, тому станція-одержувач знає, кому потрібно послати відповідь.
При описаному підході можлива ситуація, коли дві станції одночасно намагаються передати кадр даних по загальному кабелю (мал. 3). Для зменшення ймовірності цієї ситуації безпосередньо перед відправкою кадру передавальна станція слухає кабель (тобто приймає та аналізує виникають на ньому електричні сигнали), щоб виявити, не передається чи вже по кабелю кадр даних від іншої станції. Якщо розпізнається несуча (carrier-sense, CS), то станція відкладає передачу свого кадру до закінчення чужий передачі, і тільки потім намагається знову його передати. Але навіть при такому алгоритмі дві станції одночасно можуть вирішити, що по шині у даний момент часу немає передачі, і почати одночасно передавати свої кадри. Кажуть, що при цьому відбувається колізія, тому що вміст обох кадрів зіштовхується на загальному кабелі, що призводить до спотворення інформації.
Щоб коректно обробити колізію, усі станції одночасно спостерігають за виникають на кабелі сигналами. Якщо передані і сигнали, що спостерігаються, відрізняються, то фіксується виявлення колізії (collision detection, CD). Для збільшення ймовірності негайного виявлення колізії всіма станціями мережі, ситуація колізії посилюється посилкою в мережу станціями, які почали передачу своїх кадрів, спеціальної послідовності бітів, званої jam-послідовністю.
Після виявлення колізії передавальна станція зобов'язана припинити передачу і чекати протягом короткого випадкового інтервалу часу, а потім може знову зробити спробу передачі кадру.
З опису методу доступу видно, що він носить імовірнісний характер, і ймовірність успішного одержання у своє розпорядження загального середовища залежить від завантаженості мережі, тобто від інтенсивності виникнення у станціях потреби передачі кадрів. При розробці цього методу передбачалося, що швидкість передачі даних в 10 Мб / с дуже висока порівняно з потребами комп'ютерів у взаємному обміні даними, тому завантаження мережі буде завжди невеликий. Це припущення залишається часто справедливим і донині, однак вже з'явилися програми, що працюють в реальному масштабі часу з мультимедійною інформацією, для яких потрібні набагато більш високі швидкості передачі даних. Тому поряд з класичним Ethernet'ом росте потреба і в нових високошвидкісних технологіях.
Метод CSMA / CD визначає основні часові і логічні співвідношення, гарантують коректну роботу всіх станцій у мережі:
Між двома послідовно передаються по загальній шині кадрами інформації має бути витримана пауза в 9.6 мкс; ця пауза потрібна для приведення в початковий стан мережних адаптерів вузлів, а також для запобігання монопольного захоплення середовища передачі даних однією станцією.
При виявленні колізії (умови її виявлення залежать від застосовуваної фізичної середовища) станція видає в середу спеціальну 32-х бітну послідовність (jam-послідовність), посилює явище колізії для більш надійного розпізнавання її всіма вузлами мережі.
Після виявлення колізії кожен вузол, який передавав кадр і зіткнувся з колізією, після деякої затримки намагається повторно передати свій кадр. Вузол робить максимально 16 спроб передачі цього кадру інформації, після чого відмовляється від його передачі. Величина затримки вибирається як рівномірно розподілене випадкове число з інтервалу, довжина якого експоненціально збільшується з кожною спробою. Такий алгоритм вибору величини затримки знижує ймовірність колізій і зменшує інтенсивність видачі кадрів в мережу при її високого завантаження.
Рис. 3. Схема виникнення колізії у методі випадкового доступу CSMA / CD
(Tp - затримка розповсюдження сигналу між станціями A і B)
Чітке розпізнавання колізій всіма станціями мережі є необхідною умовою коректної роботи мережі Ethernet. Якщо якась передає станція не розпізнає колізію і вирішить, що кадр даних нею переданий вірно, то цей кадр даних буде втрачено, тому що інформація кадру спотвориться через накладення сигналів при колізії, він отбракован приймаючої станцією (швидше за все через неспівпадання контрольної суми). Звичайно, швидше за все перекручена інформація буде повторно передано будь-яким протоколом верхнього рівня, наприклад, транспортним або прикладним, працюють із встановленням з'єднання і нумерацією своїх повідомлень. Але повторна передача повідомлення протоколами верхніх рівнів станеться через набагато більш тривалий інтервал часу (десятки секунд) в порівнянні з мікросекундних інтервалами, якими оперує протокол Ethernet. Тому, якщо колізії не будуть надійно розпізнаватися вузлами мережі Ethernet, то це призведе до помітного зниження корисної пропускної здатності даної мережі.
Всі параметри протоколу Ethernet підібрані таким чином, щоб при нормальній роботі вузлів мережі колізії завжди чітко розпізнавалися. Саме для цього мінімальна довжина поля даних кадру повинна бути не менше 46 байт (що разом із службовими полями дає мінімальну довжину кадру в 72 байти або 576 біт). Довжина кабельної системи вибирається таким чином, щоб за час передачі кадру мінімальної довжини сигнал колізії встиг би поширитися до самого далекого вузла мережі. Тому для швидкості передачі даних 10 Мб / с, використовуваної в стандартах Ethernet, максимальна відстань між двома будь-якими вузлами мережі не повинно перевищувати 2500 метрів.
Зі збільшенням швидкості передачі кадрів, що має місце в нових стандартах, які базуються на тому ж методі доступу CSMA / CD, наприклад, Fast Ethernet, максимальна довжина мережі зменшується пропорційно збільшенню швидкості передачі. У стандарті Fast Ethernet вона становить 210 м, а в гигабитном Ethernet обмежена 25 метрами.
Незалежно від реалізації фізичного середовища, всі мережі Ethernet повинні задовольняти двом обмеженням, пов'язаним з методом доступу:
максимальна відстань між двома будь-якими вузлами не повинно перевищувати 2500 м,
в мережі не повинно бути більше 1024 вузлів.
Крім того, кожен варіант фізичного середовища додає до цих обмежень свої обмеження, які також повинні виконуватися.
Уточнимо основні параметри операцій передачі і прийому кадрів Ethernet, коротко описані вище.
Станція, яка хоче передати кадр, повинна спочатку за допомогою MAC-вузла упакувати дані в кадр відповідного формату. Потім для запобігання змішування сигналів з сигналами інший передавальної станції, MAC-вузол повинен прослуховувати електричні сигнали на кабелі і у разі виявлення несучої частоти 10 МГц відкласти передачу свого кадру. Після закінчення передачі по кабелю станція повинна почекати невелику додаткову паузу, звану міжкадрових інтервалом (interframe gap), що дозволяє вузлу призначення прийняти і обробити рухаючись кадр, і після цього почати передачу свого кадру.
Одночасно з передачею бітів кадру приймально-передавальний пристрій вузла стежить за прийнятими по загальному кабелю бітами, щоб вчасно виявити колізію. Якщо колізія не виявлено, то передається весь кадр, поле чого MAC-рівень вузла готовий прийняти кадр з мережі або від LLC-рівня.
Якщо ж фіксується колізія, то MAC-вузол припиняє передачу кадру і посилає jam-послідовність, посилює стан колізії. Після посилки в мережу jam-послідовності MAC-вузол робить випадкову паузу і повторно намагається передати свій кадр.
У разі повторних колізій існує максимально можливу кількість спроб повторної передачі кадру (attempt limit), яке дорівнює 16. При досягненні цієї межі фіксується помилка передачі кадру, повідомлення про яку передається протоколу верхнього рівня.
Для того, щоб зменшити інтенсивність колізій, кожен MAC-вузол з кожною новою спробою випадковим чином збільшує тривалість паузи між спробами. Тимчасове розклад тривалості паузи визначається на основі усіченого двійкового експоненціального алгоритму відстрочки (truncated binary exponential backoff). Пауза завжди становить ціле число так званих інтервалів відстрочки.
Інтервал відстрочки (slot time) - це час, протягом якого станція гарантовано може дізнатися, що в мережі немає колізії. Цей час тісно пов'язано з іншим важливим тимчасовим параметром мережі - вікном колізій (collision window). Вікно колізій одно часу дворазового проходження сигналу між найбільш віддаленими вузлами мережі - найгіршого випадку затримки, при якій станція ще може виявити, що сталася колізія. Інтервал відстрочки вибирається рівним величині вікна колізій плюс деяка додаткова величина затримки для гарантії:
інтервал відстрочки = вікно колізій + додаткова затримка
У стандартах 802.3 більшість тимчасових інтервалів вимірюється в кількості межбітових інтервалів, розмір яких для бітової швидкості 10 Мб / с складає 0.1 мкс і дорівнює часу передачі одного біта.
Величина інтервалу відстрочки в стандарті 802.3 визначена рівною 512 бітовим інтервалам, і ця величина розрахована для максимальної довжини коаксіального кабелю в 2.5 км. Величина 512 визначає і мінімальну довжину кадру в 64 байта, тому що при кадрах меншої довжини станція може передати кадр і не встигнути помітити факт виникнення колізії через те, що спотворені колізією сигнали дійдуть до станції в найгіршому випадку після завершення передачі. Такий кадр буде просто втрачено.
Час паузи після N-ої колізії вважається рівним L інтервалам відстрочки, де L - випадкове ціле число, рівномірно розподілене в діапазоні [0, 2N]. Величина діапазону росте лише до 10 спроби (нагадаємо, що їх не може бути більше 16), а далі діапазон залишається рівним [0, 210], тобто [0, 1024]. Значення основних параметрів процедури передачі кадру стандарту 802.3 наведено в таблиці 1.
Таблиця 1.
Бітова швидкість | 10 Мб / c |
Інтервал відстрочки | 512 бітових інтервалів |
Міжкадровий інтервал | 9.6 мкс |
Максимальне число спроб передачі | 16 |
Максимальне число зростання діапазону паузи | 10 |
Довжина jam-послідовності | 32 біта |
Максимальна довжина кадру (без преамбули) | 1518 байтів |
Мінімальна довжина кадру (без преамбули) | 64 байти (512 біт) |
Довжина преамбули | 64 біта |
З огляду на наведені параметри, неважко розрахувати максимальну продуктивність сегмента Ethernet у таких одиницях, як число переданих пакетів мінімальної довжини в секунду (packets-per-second, pps). Кількість оброблюваних пакетів Ethernet у секунду часто використовується при вказівці внутрішньої продуктивності мостів і маршрутизаторів, що вносять додаткові затримки при обміні між вузлами. Тому цікаво знати чисту максимальну продуктивність сегмента Ethernet в ідеальному випадку, коли на кабелі немає колізій і немає додаткових затримок, внесених мостами і маршрутизаторами.
Так як розмір пакета мінімальної довжини разом з преамбулою складає 64 +8 = 72 байта або 576 бітів, то на його передачу витрачається 57.6 мкс. Додавши міжкадровий інтервал в 9.6 мкс, отримуємо, що період проходження мінімальних пакетів дорівнює 67.2 мкс. Це відповідає максимально можливої пропускної здатності сегмента Ethernet у 14880 п / с.
Формати кадрів технології Ethernet
Стандарт на технологію Ethernet, описаний в документі 802.3, дає опис єдиного формату кадру МАС-рівня. Так як в кадр МАС-рівня повинен вкладатися кадр рівня LLC, описаний у документі 802.2, то за стандартами IEEE у мережі Ethernet може використовуватися тільки єдиний варіант кадру канального рівня, утворений комбінацією заголовків МАС і LLC підрівнів. Тим не менш, на практиці в мережах Ethernet на канальному рівні використовуються заголовки 4-х типів. Це пов'язано з тривалою історією розвитку технології Ethernet до прийняття стандартів IEEE 802, коли підрівень LLC не виділявся з загального протоколу і, відповідно, заголовок LLC не застосовувався. Потім, після прийняття стандартів IEEE і появи двох несумісних форматів кадрів канального рівня, була зроблена спроба приведення цих форматів до деякого загального знаменника, що призвело до ще одного варіанту кадру.
Відмінності в форматах кадрів можуть іноді приводити до несумісності апаратури, розрахованої на роботу тільки з одним стандартом, хоча більшість пристроїв, мостів і маршрутизаторів вміє працювати з усіма використовуваними на практиці форматами кадрів технології Ethernet.
Нижче наводиться опис усіх чотирьох модифікацій заголовків кадрів Ethernet (причому під заголовком кадру розуміється весь набір полів, які відносяться до канального рівня):
Кадр 802.3/LLC (або кадр Novell 802.2)
Кадр Raw 802.3 (або кадр Novell 802.3)
Кадр Ethernet DIX (або кадр Ethernet II)
Кадр Ethernet SNAP
Заголовок кадру 802.3/LLC є результатом об'єднання полів заголовків кадрів, визначених у стандартах 802.3 і 802.2.
Стандарт 802.3 визначає вісім полів заголовка:
Поле преамбули складається з семи байтів синхронизирующих даних. Кожен байт містить одну і ту ж послідовність бітів - 10101010. При манчестерському кодуванні ця комбінація представляється у фізичному середовищі періодичним хвильовим сигналом. Преамбула використовується для того, щоб дати час і можливість схемами прийомопередавачів (transceiver) прийти в стійкий синхронізм з прийнятими тактовими сигналами.
Початковий обмежувач кадру складається з одного байта з набором бітів 10101011. Поява цієї комбінації є вказівкою на майбутній прийом кадру.
Адреса одержувача - може бути довжиною 2 або 6 байтів (MAC-адресу одержувача). Перший біт адреси одержувача - це ознака того, є адреса індивідуальним або груповим: якщо 0, то адреса вказує на певну станцію, якщо 1, то це груповий адресу кількох (можливо всіх) станцій мережі. При широкомовлення всі біти поля адреси встановлюються в 1. Загальноприйнятим є використання 6-байтових адрес.
Адреса відправника - 2-х або 6-ти байтове поле, що містить адресу станції відправника. Перший біт - завжди має значення 0.
Двухбайтовое поле довжини визначає довжину поля даних у кадрі.
Поле даних може містити від 0 до 1500 байт. Але якщо довжина поля менше 46 байт, то використовується наступне поле - поле заповнення, щоб доповнити кадр до мінімально допустимої довжини.
Поле заповнення складається з такої кількості байтів заповнювачів, що забезпечує певну мінімальну довжину поля даних (46 байт). Це забезпечує коректну роботу механізму виявлення колізій. Якщо довжина поля даних достатня, то поле заповнення в кадрі не з'являється.
Поле контрольної суми - 4 байти, що містять значення, яке обчислюється за певним алгоритмом (полиному CRC-32). Після отримання кадру робоча станція виконує власне обчислення контрольної суми для цього кадру, порівнює отримане значення зі значенням поля контрольної суми і, таким чином, визначає, не спотворений чи отриманий кадр.
Кадр 802.3 є кадром MAС-підрівня, у відповідності зі стандартом 802.2 в його поле даних вкладається кадр підрівня LLC з вилученими прапорами початку і кінця кадру. Формат кадру LLC був описаний вище.
Результуючий кадр 802.3/LLC зображений у лівій частині малюнка 4. Так як кадр LLC має заголовок довжиною 3 байти, то максимальний розмір поля даних зменшується до 1497 байт.
Рис. 4. Формати кадрів Ethernet
Праворуч на цьому малюнку приведений кадр, який називають кадром Raw 802.3 (тобто "грубий" варіант 802.3) або ж кадром Novell 802.3. З малюнка видно, що це кадр MAC-підрівня стандарту 802.3, але без вкладеного кадру підрівня LLC. Компанія Novell довгий час не використовувала службові поля кадру LLC у своїй операційній системі NetWare через відсутність необхідності ідентифікувати тип інформації, вкладеної в полі даних - там завжди знаходився пакет протоколу IPX, довгий час колишнього єдиним протоколом мережного рівня в ОС NetWare.
Тепер, коли необхідність ідентифікації протоколу верхнього рівня з'явилася, компанія Novell стала використовувати можливість інкапсуляції в кадр MAC-підрівня кадру LLC, тобто використовувати стандартні кадри 802.3/LLC. Такий кадр компанія позначає тепер у своїх операційних системах як кадр 802.2, хоча він є комбінацією заголовків 802.3 і 802.2.
Кадр стандарту Ethernet DIX, званий також кадром Ethernet II, схожий на кадр Raw 802.3 тим, що він також не використовує заголовки підрівня LLC, але відрізняється тим, що на місці поля довжини в ньому визначено поле типу протоколу (поле Type). Це поле призначене для тих же цілей, що і поля DSAP і SSAP кадру LLC - для вказівки типу протоколу верхнього рівня, що вклав свій пакет у поле даних цього кадру. Для кодування типу протоколу використовуються значення, перевищують значення максимальної довжини поля даних, рівне 1500, тому кадри Ethernet II і 802.3 легко помітні.
Ще одним популярним форматом кадру є кадр Ethernet SNAP (SNAP - SubNetwork Access Protocol, протокол доступу до подсетям). Кадр Ethernet SNAP визначено у стандарті 802.2H і являє собою розширення кадру 802.3 шляхом введення додаткового поля ідентифікатора організації, яке може використовуватися для обмеження доступу до мережі комп'ютерів інших організацій.
У таблиці 2 наведені дані про те, які типи кадрів Ethernet звичайно підтримують реалізації популярних протоколів мережевого рівня.
Таблиця 2
Тип кадру | Мережеві протоколи |
Ethernet_II | IPX, IP, AppleTalk Phase I |
Ethernet 802.3 | IPX |
Ethernet 802.2 | IPX, FTAM |
Ethernet_SNAP | IPX, IP, AppleTalk Phase II |
Специфікації фізичного середовища Ethernet
Історично перші мережі технології Ethernet були створені на коаксіальному кабелі діаметром 0.5 дюйма. Згодом були визначені й інші специфікації фізичного рівня для стандарту Ethernet, що дозволяють використовувати різні середовища передачі даних у якості загальної шини. Метод доступу CSMA / CD і всі тимчасові параметри Ethernet залишаються одними і тими ж для будь-якої специфікації фізичного середовища.
Фізичні специфікації технології Ethernet на сьогоднішній день включають наступні середовища передачі даних:
10Base-5 - коаксіальний кабель діаметром 0.5 дюйма, що зветься "товстим" коаксіалом. Має хвильовий опір 50 Ом. Максимальна довжина сегмента - 500 метрів (без повторювачів).
10Base-2 - коаксіальний кабель діаметром 0.25 дюйма, що зветься "тонким" коаксіалом. Має хвильовий опір 50 Ом. Максимальна довжина сегмента - 185 метрів (без повторювачів).
10Base-T - кабель на основі неекранованої кручений пари (Unshielded Twisted Pair, UTP). Утворює зіркоподібну топологію з концентратором. Відстань між концентратором і кінцевим вузлом - не більше 100 м.
10Base-F - оптоволоконний кабель. Топологія аналогічна стандарту на кручений парі. Є кілька варіантів цієї специфікації - FOIRL, 10Base-FL, 10Base-FB.
Число 10 означає бітову швидкість передачі даних цих стандартів - 10 Мб / с, а слово Base - метод передачі на одній базовій частоті 10 МГц (на відміну від стандартів, що використовують кілька несучих частот, які називаються broadband - широкосмуговими).
Стандарт 10Base-5
Стандарт 10Base-5 відповідає експериментальній мережі Ethernet фірми Xerox і може вважатися класичним Ethernet'ом. Він використовує як середовище передачі даних коаксіальний кабель з діаметром центрального мідного проводу 2,17 мм і зовнішнім діаметром близько 10 мм ("товстий" Ethernet).
Кабель використовується як моно канал для всіх станцій. Сегмент кабелю має максимальну довжину 500 м (без повторювачів) і повинен мати на кінцях термінатори з опором 50 Ом, що поглинають поширюються по кабелю, і перешкоджають виникненню відбитих сигналів.
Різні компоненти мережі, виконаної на товстому коаксіалі, показані на малюнку 5.
Станція повинна підключатися до кабелю за допомогою прийомопередатчика - трансівера. Трансивер встановлюється безпосередньо на кабелі і живиться від мережевого адаптера комп'ютера (рис. 6). Трансивер може приєднуватися до кабелю як методом проколювання, що забезпечує безпосередній фізичний контакт, так і безконтактним методом.
Трансивер з'єднується з мережним адаптером інтерфейсним кабелем AUI (Attachment Unit Interface) довжиною до 50 м, складається з 4 кручених пар (адаптер повинен мати роз'єм AUI). Допускається підключення до одного сегмента не більш 100 трансіверов, причому відстань між підключеннями трансіверов не повинно бути менше 2.5 м.
Рис. 5. Компоненти фізичного рівня мережі стандарту