Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зошит 3.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.39 Mб
Скачать

повинен вміти розпізнавати, де починається і де закінчується сигнал, відповідний кожному біту даних. Іншими словами, передавач і приймач повинні вміти синхронізуватися. Якщо якість синхронізації низька (за час передачі одного біта відхилення досягає декількох відсотків), використовується асинхронний (asynchronous) режим: виконується узгодження синхрогенераторів на початку передачі кожного байта. Передача байта починається зі спеціального старт-біта, потім йдуть біти даних, а за ними, можливо, біт парності. Після всіх бітів даних передається стоп-біт. Старт-біт і стоп-біт завжди мають певне значення: старт-біт кодується логічним нулем, а стоп-біт – логічною одиницею. Між передачею стоп-біта одного байта і старт-біта наступного байта може проходити довільний час. Швидкість передачі в асинхронному режимі обмежена сотнями кілобіт в секунду (стандартні швидкості: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 біт/с).

Якщо синхронізація дуже якісна (наприклад, використовується додаткова лінія, по якій передаються синхросигнали), то можна передавати потік даних без додаткової синхронізації окремих байтів. Такий режим називається синхронним (synchronous). Передача бітів даних передує і закінчується видачею в канал символу синхронізації. За відсутності даних передавач повинен постійно передавати в канал символи синхронізації.

У разі ізохронної (isochronous) передачі відправка кадрів даних відбувається в задані (відомі приймачу і відправникові) моменти часу. При цьому дані, передавані одним вузлом з постійною швидкістю, поступатимуть до приймача з тією ж швидкістю. Ізохронна передача необхідна, наприклад, для доставки цифрованого відеозображення або звуку.

Плезіохронна (plesiochronous) передача вимагає внутрішньої синхронізації вузлів від джерел з номінально співпадаючими частотами. Термін “плезіохронна” означає “майже синхронна”, оскільки частоти джерел точно не співпадають, і з часом накопичується розбіжність, яка компенсується вставкою фіктивних даних.

5.3 Контроль достовірності передачі

При передачі даних складними мережами, що мають лінії зв'язку в умовах перешкод, застосовують такі заходи для забезпечення і контролю достовірності інформації (відсутність помилок).

Контроль достовірності передачі вимагає введення деякої надмірності в передавану інформацію. Надмірність може вводитися як на рівні окремих передаваних символів або їх груп, так і на рівні передаваних кадрів. У надмірні поля передавач розміщує код, що обчислюється по певних правилах з корисної інформації. Приймач порівнює цей код з тим значенням, яке він обчислив сам. Невідповідність значень свідчить про спотворення інформації, збіг – про високу вірогідність правильної передачі. Вірогідність виявлення помилки залежить від схеми контролю і співвідношення розмірів інформаційного і контрольного полів. Найненадійніша схема – контроль паритету (проста схема). Найекономічніша – дублювання інформації. Найнадійніше виявлення дає CRC- контроль, реалізація якого дещо складніша, але накладні витрати менші (типові - 2 байти на 4 Кбайт даних). Між ними знаходиться схема з обчисленням контрольної суми.

Дублювання інформації зводиться до повторення одного й того ж елементу двічі. Приймач перевіряє збіг копій. Копія іноді представляється в інверсному вигляді. Дублювання застосовують лише для окремих коротких елементів кадру, для яких контроль іншими способами незручний. Дублювання приводить до 100-відсоткових накладних витрат. Застосовується, наприклад, в байті стану кадру Token Ring.

Контроль паритету (parity check) використовує контрольний біт, доповнюючий число одиничних біт контрольованого елементу до парного (even parity, контроль парності) або непарного (odd parity, контроль непарності) значення, залежно від прийнятої угоди. Контроль паритету дозволяє виявляти тільки помилки непарної кратності, а спотворення двох, чотирьох і так далі біт контрольованої області залишаться непоміченими. Контроль може бути «горизонтальним» або «вертикальним». При горизонтальному контролі біт паритету «р» вводиться в кожний передаваний символ, цей вид контролю широко використовується в послідовних інтерфейсах RS-232С і інших, накладні витрати – 1 біт на кожен байт.

Контрольні суми і CRC-коди застосовуються для контролю цілого кадру (або його декількох полів). Для них в кадрі визначається спеціальне поле для контрольного коду, зазвичай 1, 2 або 4 байти. Контрольна сума застосовується для кадрів довжиною кратних байту (слову).

Контрольна сума (checksum) зазвичай обчислюється як доповнення суми всіх байтів кадру до нуля (або FF – всіх двійкових одиниць). Підсумовування виконується по модулю, відповідному розрядності поля контрольного коду. При цьому приймач, підсумувавши по тому ж модулю всі байти або слова кадру, включаючи контрольні коди, повинен отримати те ж число (0 або FF). Контрольна сума - найпростіший спосіб контролю кадру, вірогідність виявлення помилок - до 99,6 %.

Надмірний циклічний контроль CRC (Cyclic Redundancy Check) використовує складніший алгоритм. Вибирається породжуючий поліном, розрядністю більшою, ніж поле контрольного коду. Для 16-бітового CRC рекомендується х16125+1 (10001000000100001b). Кадр (як довге двійкове число) з обнуленим полем CRC ділиться на поліном, і залишок цього ділення (по модулю розрядності поля CRC) поміщується в поле CRC передаваних даних. Приймач ділить прийнятий кадр (разом з полем CRC) на той же поліном і порівнює залишок від ділення з деяким еталоном (нулем або іншим числом). Якщо вони співпали, ухвалюється рішення про коректність кадру. 16-бітовий CRC дозволяє виявляти помилки (спотворення групи сусідніх біт) з вірогідністю до 99,9984 %. 16-розрядний CRC застосовується в багатьох мережевих протоколах.

ЕСС-контроль (Error Correction Code), дозволяє не тільки виявити, але і виправляти деякі помилки. У мережах ЕСС практично не застосовується, оскільки вимагає більшої надмірності (він застосовується в пристроях зберігання, де у разі помилки «перепитати» не буде в кого).

Управління потоком даних (data flow control) є засобом узгодження темпу передачі даних з можливостями приймача. Бітові швидкості приймачів і передавачів завжди повинні співпадати (інакше неможливе коректне декодування прийнятих даних), але можливі ситуації, коли передавач передає інформацію в темпі, неприйнятному для приймача. При цьому вхідний буфер приймача переповнюється і частина передаваної інформації втрачається. Засоби управління потоком дозволяють приймачу подати передавачу сигнал на припинення або продовження передачі. Ці засоби вимагають наявність зворотнього каналу передачі.

Для контролю отримання інформації приймачем застосовують квітування (handshaking – рукостискання) – відсилання повідомлення про отримання кадру (пакету). На кожний прийнятий кадр приймач відповідає коротким кадром-підтвердженням. У разі ухвалення коректного кадру посилається позитивне підтвердження АСК (ACKnowledge), у разі помилкового – негативне NACK (Negative ACKnowledge). При отриманні NACK передавач відразу повторно посилає кадр. За відсутності підтвердження протягом певного часу тайм-ауту (timeout) передавач також віконує повторну передачу, але на очікування втрачається час. Таке підтвердження можна використовувати і для управління потоком – відсилання підтвердження є і сигналом готовності. Недолік – темп відсилання кадрів обмежується часом оберту по мережі.

Пакетна передача (burst transfer), при якій передавач відсилає серію послідовних кадрів, на яку повинен отримати загальне підтвердження. Якщо в підтвердженні є місце для списку хороших і поганих кадрів, то відсилати вдруге можна тільки погані. При цьому з'являється необхідність в ідентифікації кадрів і підтверджень.

Метод «ковзаючого вікна», є гібридом індивідуальних підтверджень і пакетної передачі. Тут передавач посилає серію нумерованих кадрів, знаючи, що прихід підтвердження може затримуватися щодо свого кадру на час оберту по мережі. Цей час заздалегідь визначений, і ширина «вікна» визначається числом кадрів, які можна відіслати на вибраній швидкості передачі за час оберту. Підтвердження нумеруються відповідно до кадрів, ця нумерація може бути циклічною з модулем, зазначеним шириною вікна. Якщо передавач не отримує підтвердження на кадр, що виходить з вікна спостереження, він вважає його втраченим і повторює його передачу. У разі отримання NACK знову-таки передача повторюється тільки для цього кадру. На випадок повтору передавач повинен тримати в своєму буфері всі кадри вікна, заміщаючи ті, що виходять (підтверджені), новими. Метод дозволяє повністю використовувати пропускну спроможність каналу незалежно від дальності передачі.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]