TCP Retransmission vs. TCP Fast Retransmission


10

У Wireshark я бачу речі, які говорять про "Передачу TCP" та "Швидку ретрансляцію TCP". Яка різниця? Як Wireshark здатний визначити різницю?

Відповіді:


8

Коли пакет надсилається за допомогою TCP, він має порядковий номер, переданий разом з ним. Коли одержувач отримує пакет, вони надсилають підтвердження відправника із порядковим номером, який показує, що пакет отриманий. Виходячи з того, як ви задали своє запитання, я припускаю, що ви це знаєте. Я хотів викласти це для інших читачів.

Повторна передача TCP - це лише пакет, який не розпізнається протягом часу.

TCP Fast Retransmission - це джерело, коли джерело отримує підтвердження того, що пакет не був отриманий ... цитуючи з Fast retransmit - Вікіпедія, безкоштовна енциклопедія

якщо відправник TCP отримує три дублікати підтвердження з тим самим номером підтвердження (тобто загалом чотири підтвердження з тим самим номером підтвердження), відправник може бути досить впевнений, що сегмент із наступним більш високим порядковим номером був упущений


Ви впевнені в кількості АСК? Я бачив, як це відбувається з трьома АСК.
tony_sid

2
Ні. Я впевнений у тому, що швидкі повернення передач відбуваються, коли відправник виявляє проблеми через кілька послідовних аків.
Тео

3
Крім того, це говорить швидко, але це така ж швидкість, як і звичайна повторна передача. Причина, яку викликає швидка, полягає в тому, що вас повідомляють про проблему, а не чекати очікування на час. Таким чином, весь процес "швидше".
Тео

6

Я засвоїв це з Microsoft :

TCP запускає таймер повторної передачі, коли кожен вихідний сегмент передається на рівень Інтернет-протоколу (IP). Якщо TCP не отримає підтвердження даних у даному сегменті до закінчення таймера, сегмент повторно передається.

Час очікування повторної передачі коригується на ходу, щоб відповідати характеристикам з'єднання, використовуючи розрахунки згладженого часу подорожі (SRTT), як описано у статті Ван Якобсона та Майка Карелса "Уникнення заторів і контроль" у матеріалах конференції ACM SIGCOMM про передачу даних, листопад 1988. Цей документ можна знайти в цифровій бібліотеці ACM при Асоціації обчислювальної техніки. Для отримання додаткової інформації про розрахунки SRTT, див. RFC 793: Протокол управління передачею Специфікація протоколу Інтернет-програми DARPA . Час очікування повторної передачі для даного сегмента подвоюється після кожної повторної передачі цього сегмента.

Використовуючи цей алгоритм, TCP налаштовується на звичайну затримку з'єднання. TCP-з'єднання через високозатримкові посилання займають значно більше часу, ніж ті, що над посилами з низькою затримкою, щоб уникнути неправильного тайм-ауту, коли з'єднання просто повільне, а не відсутнє.

За певних обставин TCP повторно передає дані до закінчення таймера повторної передачі певного сегмента. Найчастіша така обставина виникає через ознаку, відому як швидка повторна передача.

Коли приймач, який підтримує швидку повторну передачу, отримує пакет із порядковим номером, що перевищує очікуваний, він продовжується так, ніби деякі дані були скинуті. Щоб допомогти якнайшвидше усвідомити відправника про очевидно скинуті дані, одержувач негайно надсилає підтвердження (ACK) з номером ACK, встановленим на номер послідовності, який, здається, відсутній. Одержувач надсилає інший ACK для цього послідовного номера для кожного додаткового сегмента TCP у вхідному потоці, який надходить, з порядковим номером, що перевищує відсутній.

Коли відправник отримує потік дублікатів ACK, які підтверджують той самий номер послідовності, і вказаний номер послідовності є попереднім, ніж номер послідовності поточного сегмента, який надсилається, відправник може зробити висновок, що один або більше сегментів, які він раніше надіслав, були скинуті. Після отримання певної кількості дублікатів ACK, відправники, які підтримують алгоритм швидкої повторної передачі, повторно відправляють сегмент або сегменти, про які отримувач просить заповнити прогалину в даних, не чекаючи, коли таймер повторної передачі закінчиться для відсутніх сегментів. Ця оптимізація значно покращує продуктивність у напруженому мережевому середовищі.

За допомогою швидкої повторної передачі відправник повторно передає відсутні сегменти TCP до закінчення терміну їх повторної передачі. Оскільки таймери повторної передачі не закінчуються для відсутніх сегментів TCP, відсутні пункти отримують у пункті призначення та підтверджуються приймачем швидше, ніж це було б без швидкої повторної передачі, і відправник може швидше відправити пізніші сегменти до одержувача. Цей процес відомий як швидке одужання. Швидке ретрансляція та швидке відновлення описані в RFC 2581: TCP Congestion Control .


2

Повторна передача, по суті ідентична запиту автоматичного повторення (ARQ), - це повторне пересилання пакетів, які були пошкоджені або втрачені. Це термін, який відноситься до одного з основних механізмів, використовуваних протоколами, що працюють над комп'ютерною мережею з комутацією пакетів для забезпечення надійного зв'язку. АЛЕ Швидкий ретранслятор - це вдосконалення TCP, яке скорочує час, коли відправник чекає перед повторною передачею втраченого сегмента. Швидке вдосконалення повторної передачі працює таким чином: якщо відправник TCP отримує певну кількість підтверджень, яка зазвичай встановлюється на три дублікати підтвердження з однаковим номер підтвердження (тобто загалом чотири підтвердження з однаковим номером підтвердження), відправник може бути впевненим, що сегмент із наступним більш високим порядковим номером був відхилений, і не вийде з ладу. Потім відправник повторно передасть пакет, який був припущений скинутим, перш ніж чекати на його очікування. Перевірте це посилання для отримання більш детальної інформації та алгоритму http://www.isi.edu/nsnam/DIRECTED_RESEARCH/DR_WANIDA/DR/JavisInActionFastRetransmitFrame.html


1

Простіше кажучи, ретрансляція TCP в основному залежить від часу виходу пакета на виявлення пропуску, тоді як у TCP Fast Retransmission подвоєне підтвердження для певного пакету символізує його пропуск.

Переважно 3 дублікати підтвердження для пакету виводяться як пропуск пакету. Потім джерело може побачити порядковий номер пакета, для якого був запущений NACK. Це порядковий номер відсутнього пакету і може бути надісланий одержувачу.

Перевага TCP Fast Retransmission полягає в тому, що він не чекає часу очікування пакету для ініціювання передачі і, отже, більш швидкої повторної передачі пакета, як видно з назви.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.