Сравнителна таблица
Основа за сравнение | 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 номерът, подобно на обратен обратен ред, показва също и потвърждението на предварително приетите кадри и грешка в текущия кадър. Приемникът продължава да получава новите кадри, докато чака повредената рамка да бъде сменена. Кадрите, които се приемат след повредената рамка, не се потвърждават, докато повредената рамка не бъде заменена.
Загубена рамка
Както при селективен повторен протокол, един кадър може да бъде получен извън ред и по-нататък те са сортирани, за да се поддържа подходяща последователност на кадрите. При сортиране, ако номерът на кадъра е прескочен, приемникът разпознава, че даден кадър е изгубен и изпраща 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 е по-използвано поради по-малко сложния си характер, вместо селективен протокол за повторение.
Заключение:
Селективното повтаряне е по-ефективен протокол, тъй като не губи пропускателна способност за рамки, които са правилно получени, но неговата сложност и разходи благоприятстват използването на протокола go-back-n.