Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Час наполегливості

Обчислення RTT


Тепер питання: як обчислити саме RTT? RTT теж обчислюється динамічно. Є два методи. Перший метод – TCP використовує опцію мітки часу, коли при посилці сегмента і його підтвердженні зазначається час відправлення. При другому методі TCP посилає сегмент, запускає таймер і чекає підтвердження. Це вимір часу між посланим сегментом і отриманим підтвердженням дає значення RTT. Значення RTT використовується в обчисленнях часу повторення передачі - у відповідності з наступною формулою:

 

RTT = a x попереднє RTT + (1 - a) – поточне RTT.


Значення "a" зазвичай дорівнює 90 відсоткам. Це означає, що нове RTT – це 90 відсотків попереднього значення RTT плюс 10 відсотків значення поточного RTT. Наприклад, якщо попереднє RTT 250 мікросекунд, і TCP приймає в цей момент сегмент, підтверджений через 70 мкс, значення нового RTT і час повторної передачі одно:


RTT = 90% x 250 + 10% x 70 = 232 мкс.

Час повторної передачі = 2 x 232 = 464 мкс.


Обчислення RTT з урахуванням повторної передачі

 

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


• не визначати RTT повторного сегмента в обчисленні нового RTT;

• не коректувати значення RTT, поки вам не посланий сегмент і не отримано підтвердження без необхідності повторної передачі.

 


Для того щоб мати справу з оголошенням вікна з нульовим розміром, TCP необхідний інший таймер. Припустимо, TCP приймача отримав сповіщення про нульовий розмірі вікна. TCP передавача потім зупиняє передачу сегментів, поки TCP приймача не надішле підтвердження, який сповіщає про ненульовий розмірі вікна. Це підтвердження може бути втрачено. Нагадаємо, що підтвердження не підтверджуються в TCP. Якщо TCP приймача думає, що він відпрацював, і чекає, що TCP передавача пришле ще сегменти, TCP передавача, не прийнявши підтвердження, чекає ще одне повідомлення TCP для того, щоб послати повідомлення про розмір вікна. І обидва TCP можуть продовжувати чекати один одного нескінченно. Щоб скорегувати цей недолік, TCP використовує час наполегливості для кожного з'єднання. Коли TCP передавача отримує підтвердження з розміром вікна нуль, він запускає таймер наполегливості. Коли час таймера наполегливості закінчиться, TCP передавача посилає спеціальний сегмент, званий проба. Цей сегмент містить тільки 1 байт даних. Він має порядковий номер, але порядковий номер ніколи не підтверджується; він навіть ігнорується в обчисленнях порядкових номерів для решти даних.
Значення таймера наполегливості встановлюється за часом повторення передачі. Однак якщо відгук не отриманий від приймача, надсилається іншій пробний сегмент і значення таймера наполегливості дублюється і встановлювати заново. Передавач продовжує передавати пробні сегменти і дублювати і встановлювати заново значення таймера наполегливості, поки не досягне порогового значення (зазвичай 60 с.). Після цього передавач посилає один пробний сегмент кожні 60 с., Поки вікно не відкриється знову.

 




Переглядів: 513

<== попередня сторінка | наступна сторінка ==>
Дубльований сегмент | Черговий таймер

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.002 сек.