2. Мережі IP.
_______________________________________________________________________________________
___________________________________________________________________________________________________
М. Павликевич. Телекомунікаційні мережі. Навчальний посібник для студентів спеціальності
"Інформаційні мережі зв'язку, 2009.
потрібній послідовності, використовують поєднання підтверджень (acknowledgments) від
пункту призначення даних, повторного пересилання помилкових і/або пошкоджених пакетів
(звичайно ініційованого паузою) та контрольних сум (checksums) для забезпечення такої
надійності. Існують певні форми підтверджень, які можуть бути використані окремо або
разом в мережевих протоколах:
Позитивне підтвердження (Positive Acknowledgement): приймач детально повідомляє
надавач про пакети, повідомлення або сегменти, прийняті коректно, або може неявно
інформувати про пакети, які не були прийняті, навіть якщо вони були вислані, і ці
пакети повинні бути вислані повторно. Позитивні підтвердження з повторним
пересиланням (Positive Acknowledgment with Re-Transmission - PAR)– це метод, яки й
використовуються у протоколі TCP (RFC 793) для контролю за прийняттям висланих
даних. PAR оперує з повторним пересиланням даних і встановлює період часу,
протягом якого примальна станція повинна підтвердити прийняття даних.
Негативне підтвердження (Negative Acknowledgment - NACK): приймач повністю
повідомляє надавача про те, які пакети, повідомлення чи сегменти були приняті
некоректно і повинні бути повторно переслані (RFC 4077).
Селективне підтвердження (Selective Acknowledgment - SACK): приймач повністю
реєструє,які пакети повідомлення або сегменти у потоці підтверджені (позитивно або
негативно). Позитивне селективне підтвердження є опцією TCP (RFC 2018) і
використовується в сателітарному доступs до Internet (RFC 2488).
Кумулятивне підтвердження: приймач підтверджує, що він коректно прийняв пакет,
повідомлення або сегмент у потоці, що детально інформує надавач, що попередні
пакети прийняті корекно. TCP використовує кумулятивне підтвердження зі своїм
ковзним вікном.
8.2.2.3.
Повторне пересилання даних
Повторне пересилання (Retransmission) викликане втратою або пошкодженням
пакетів. Цей термін стосується до основного механізму, який використовують протоколи в
мережах з комутацією пакетів для здійснення надійної комунікації, наприклад, TCP.
Кожного разу, коли одна сторона висилає що-небудь до іншої сторони, вона утримує копію
даних, доки приймач підтвердить, що прийняв їх. У множині ситуацій, наприклад,
якщо таке підтвердження не прибуло протягом розумного періоду часу (паузи), або
якщо надавач виявив, з певних міркувань, що пересилання було неуспішним, або
якщо приймач знає, що очікувані дані не поступили, і так проінформував надавача,
або
якщо приймач знає, що дані поступили, але в пошкодженому стані, і вказав про це
надавачу,
надавач просто повторно пересилає дані (оскільки все ще утримує їх копію).
TCP передовсім використовує схему кумулятивного підтвердження (cumulative
acknowledgment), коли приймач висилає підтвердження, вказуючи, що він прийняв усі дані,
які передують підтвердженому номеру послідовності. По суті, першому байту даних у
сегменті призначений номер послідовності, внесений у відповідне поле, і приймач висилає
підтвердження, яке визначає номер послідовності наступного байта, котрого він очікує
прийняти. Наприклад, якщо станція A висилає 4 байти з номером послідовності 100 (тобто 4
байти мають послідовно призначені номери 100, 101, 102 і 103), то приймач повинен вислати
назад підтвердження на 104, оскільки це наступний байт, очікуваний до приняття у
наступному пакеті. Висилаючи підтвердження з номером послідовності 104, приймач
сигналізує, що він коректно прийняв попередні байти 100, 101, 102 і 103. Якщо у певній
ситуації останні два байти пошкоджені, то повинне бути вислане підтвердження з номером
102, бо байти 100 і 101 успішно прийняті.