Діаграма порівняння
Основа для порівняння | Go-Back-N | Вибірковий повтор |
---|---|---|
Основний | Повторно передає всі кадри, які надсилаються після кадру, який підозрює, що він пошкоджений або втрачений. | Пересилає тільки ті кадри, які підозрюються у втраті або пошкодженні. |
Використання смуги пропускання | Якщо рівень помилок високий, він витрачає багато смуги пропускання. | Порівняно менше пропускної здатності витрачається при повторній передачі. |
Складність | Менш складний. | Більш складні, оскільки вимагають застосування додаткової логіки та сортування та зберігання, у відправника та приймача. |
Розмір вікна | N-1 | <= (N + 1) / 2 |
Сортування | Сортування не потрібно ні на стороні відправника, ні на стороні приймача. | Приймач повинен мати можливість сортування, оскільки він повинен підтримувати послідовність кадрів. |
Зберігання | Приймач не зберігає кадри, отримані після пошкодженого кадру, поки не буде повторно передано пошкоджений кадр. | Приймач зберігає кадри, отримані після пошкодженого кадру, в буфер, поки не буде замінено пошкоджений кадр. |
Пошук | Не потрібно шукати кадр ні на стороні відправника, ні на приймачі | Відправник повинен мати можливість шукати і вибирати лише потрібний кадр. |
Числа ACK | NAK номер відноситься до наступного очікуваного номера кадру. | NAK номер посилається на кадр втраченого. |
Використовуйте | Він частіше використовується. | Це на практиці менше через свою складність. |
Визначення Go-Back-N
Протокол Go-Back-N - протокол ковзного вікна. Це механізм для виявлення та контролю помилок у шарі даних. Під час передачі кадрів між відправником і приймачем, якщо кадр пошкоджений, втрачений або підтверджено, то дія, виконана відправником і приймачем, пояснюється наступним змістом.
Пошкоджена рамка
Якщо одержувач приймає пошкоджений кадр або виникає помилка під час прийому кадру, приймач відправляє NAK (негативне підтвердження) для цього кадру разом з цим номером кадру, що він очікує повторної передачі. Після передачі NAK приймач відкидає всі отримані кадри після пошкодженого кадру. Приймач не посилає жодного ACK (підтвердження) для відкинутих кадрів. Після того, як відправник отримає NAK для пошкодженого кадру, він повторно передає всі кадри далі номеру кадру, віднесеного NAK.
Втрачено кадр
Приймач перевіряє номер на кожному кадрі, який він отримує. Якщо номер кадру пропускається в послідовності, то приймач легко виявляє втрату кадру, оскільки нещодавно отриманий кадр приймається поза послідовністю. Приймач відправляє NAK для втраченого кадру, і тоді приймач відкидає всі кадри, отримані після втраченого кадру. Приймач не посилає жодного ACK (підтвердження) для цього відкинутих кадрів. Після того, як відправник отримає NAK для втраченого кадру, він повторно передає втрачений кадр, переданий NAK, а також повторно передає всі кадри, які він послав після втраченого кадру.
Загублене підтвердження
Якщо відправник не отримує жодного ACK або якщо ACK втрачено або пошкоджено між передачею. Відправник чекає, поки час закінчиться, і коли час закінчиться, відправник повторно передає всі кадри, для яких він не отримав ACK. Відправник ідентифікує втрату ACK за допомогою таймера.
Номер ACK, як і номер NAK (негативне підтвердження), показує номер кадру, який приймач очікує наступною послідовністю. Розмір вікна приймача дорівнює 1, оскільки для канального рівня потрібний тільки кадр, який він повинен надіслати поряд з мережним шаром. Розмір вікна відправника дорівнює 'w'. Якщо рівень помилок високий, втрачається багато пропускної здатності.
Визначення селективного повтору
Вибірковий повтор - це також протокол ковзного вікна, який виявляє або виправляє помилку, що сталася у шарі даних. Протокол селективного повтору повторно передає тільки той кадр, який пошкоджений або втрачений. У протоколі селективного повтору повторно переданий кадр приймається поза послідовністю. Протокол селективного повтору може виконувати наступні дії
- Приймач здатний сортувати кадр у належній послідовності, оскільки він приймає повторно переданий кадр, послідовність якого виходить з ладу приймального кадру.
- Відправник повинен мати можливість шукати кадр, для якого було отримано NAK.
- Приймач повинен містити буфер для зберігання всього раніше отриманого кадру на утримуванні, поки повторно переданий кадр не буде відсортований і розміщений у належній послідовності.
- Номер ACK, як і номер NAK, відноситься до кадру, який втрачено або пошкоджено.
- Вона вимагає меншого розміру вікна в порівнянні з протоколом go-back-n.
Пошкоджені кадри
Якщо приймач отримує пошкоджений кадр, він посилає NAK для кадру, в якому виявлено помилку або пошкодження. Номер NAK, як в go-back-n, також вказує підтвердження раніше отриманих кадрів і помилки в поточному кадрі. Приймач продовжує отримувати нові кадри в очікуванні заміни пошкодженого кадру. Кадри, отримані після пошкодженого кадру, не підтверджуються, поки не буде замінено пошкоджений кадр.
Загублена рамка
Як і в протоколі селективного повтору, кадр може бути прийнятий не в порядку і далі вони сортуються для підтримки належної послідовності кадрів. При сортуванні, якщо номер кадру пропускається, приймач визнає, що кадр втрачено, і він відправляє відправника NAK для цього кадру. Після отримання NAK для втраченого кадру відправник шукає цей кадр у своєму вікні і повторно передає цей кадр. Якщо останній переданий кадр втрачається, то приймач не реагує і це тиша є негативним підтвердженням для відправника.
Загублене підтвердження
Якщо відправник не отримує жодного ACK або ACK втрачається або пошкоджується між передачею. Відправник чекає, поки час закінчиться, і коли час закінчиться, відправник повторно передає всі кадри, для яких він не отримав ACK. Відправник ідентифікує втрату ACK за допомогою таймера.
Ключові відмінності між Go-Back-N і Selective Repeat
- Протокол Go-Back-N є проектом для повторної передачі всіх кадрів, які надходять після пошкодженого або втраченого кадру. З іншого боку, протокол вибіркового повторення повторно передає тільки той пошкоджений або втрачений кадр.
- Якщо коефіцієнт помилок високий, тобто пошкоджуються більше кадрів, а потім ретранслюються всі кадри, які прибули після пошкодженого кадру, вони втрачають багато смуги пропускання. З іншого боку, селективний повторний протокол повторно передає тільки пошкоджений кадр, отже, мінімальна пропускна здатність витрачається даремно.
- Всі кадри після пошкодженого кадру відкидаються, і повторно передані кадри надходять у послідовності від пошкодженого кадру далі, так що більша кількість головних болів при сортуванні кадрів є менш складним. З іншого боку, повторно передається тільки пошкоджений або підозрюваний кадр, тому для сортування слід застосовувати додаткову логіку, тому вона більш складна.
- Go-Back-N має розмір вікна N-1 і селективний повтор має розмір вікна <= (N + 1) / 2.
- Ні відправник, ні приймач не потребують алгоритму сортування в Go-Back-N, тоді як приймач повинен бути в змозі сортувати як потрібно для підтримки послідовності.
- У Go-Back-N приймач відкидає всі кадри після пошкодженого кадру, отже, не потрібно зберігати ніяких кадрів. Протокол селективного повтору не відкидає кадри, що надходять після пошкодженого кадру, але зберігає ці кадри, поки пошкоджений кадр не прибуде успішно і сортується в належній послідовності.
- У вибірковому повторі NAK кадр відноситься до пошкодженого номера кадру і в Go-Back-N, NAK кадр відноситься до наступного очікуваного кадру.
- Взагалі Go-Back-N є більш корисним завдяки менш складній природі замість протоколу Selective Repeat.
Висновок:
Вибірковий повтор є більш ефективним протоколом, оскільки він не витрачає смугу пропускання для кадрів, які правильно отримані, але його складність і витрати сприяють використанню протоколу go-back-n.