logo

ТЦП Ретрансмиссион

ТЦП поновни пренос значи поновно слање пакета преко мреже који су изгубљени или оштећени. Овде је ретрансмисија механизам који користе протоколи као нпр ТЦП да обезбеди поуздану комуникацију. Овде поуздана комуникација значи да протокол гарантује испоруку пакета чак и ако је пакет података изгубљен или оштећен.

контролне структуре питхон

Мреже су непоуздане и не гарантују кашњење или поновни пренос изгубљених или оштећених пакета. Мрежа која користи комбинацију потврде и поновног преноса оштећених или изгубљених пакета нуди поузданост.

Механизам ретрансмисије

Овде поновни пренос значи да су пакети података изгубљени, што доводи до недостатка потврде. Овај недостатак потврде покреће тајмер за временско ограничење, што доводи до поновног преноса пакета података. Овде тајмер значи да ако се не прими потврда пре истека тајмера, пакет података се поново преноси.

Хајде да размотримо следеће сценарије ретрансмисије.

Сценарио 1: Када је пакет података изгубљен или погрешан.

ТЦП Ретрансмиссион

У овом сценарију, пакет се шаље примаоцу, али није примљена потврда у том временском периоду. Када истекне временско ограничење, пакет се поново шаље. Када се пакет поново пренесе, прима се потврда. Када се прими потврда, поновни пренос се неће поновити.

Сценарио 2: Када је пакет примљен, али је потврда изгубљена.

ТЦП Ретрансмиссион

У овом сценарију, пакет се прима на другој страни, али се потврда губи, тј. АЦК се не прима на страни пошиљаоца. Када истекне временско ограничење, пакет се поново шаље. На другој страни су две копије пакета; иако је пакет исправно примљен, потврда се не прима, па пошиљалац поново шаље пакет. У овом случају, поновни пренос се могао избећи, али због губитка АЦК-а, пакет се поново преноси.

Сценарио 3: Када наступи рано временско ограничење.

ТЦП Ретрансмиссион

У овом сценарију, пакет се шаље, али због кашњења у потврди или временског ограничења је наступило пре стварног временског ограничења, пакет се поново преноси. У овом случају, пакет је поново послан непотребно због кашњења у потврди или је временско ограничење постављено раније од стварног времена чекања.

У горе наведеним сценаријима, први сценарио се не може избећи, али се друга два могу избећи. Хајде да видимо како да избегнемо ове ситуације.

Колико дуго пошиљалац треба да чека?

Пошиљалац поставља временски период за АЦК. Временско ограничење може бити два типа:

    Прекратак:Ако је временско ограничење прекратак, онда ће ретрансмисије бити изгубљене.Предуго:Ако је временски период предуг, онда ће доћи до превеликог кашњења када се пакет изгуби.

Да би се превазишле горње две ситуације, ТЦП поставља временско ограничење као функцију РТТ-а (повратно време путовања) где је време повратног пута време потребно да пакет путује од извора до одредишта и затим се поново врати.

Како можемо добити РТТ?

РТТ може да варира у зависности од карактеристика мреже, односно, ако је мрежа загушена, то значи да је РТТ веома висок. РТТ можемо проценити једноставним гледањем АЦК-ова.

Хајде да видимо како можемо да измеримо РТТ.

Користићемо оригинални алгоритам за мерење РТТ.

Корак 1: Прво, меримо СамплеРТТ за сваки сегмент или АЦК пар. Када пошиљалац пошаље пакет, тада знамо тајмер на коме се пакет шаље, а такође знамо и тајмер на ком је примљена потврда. Израчунајте време између ова два, и то постаје СамплеРТТ .

Корак 2: Нећемо узети само један узорак. Наставићемо да узимамо различите узорке и израчунавамо пондерисани просек ових узорака, а ово постаје ЕстРТТ (Естиматед РТТ).

где је α+ β = 1

прелазак у ред

α лежи између 0,8 и 0,9

β лежи између 0,1 и 0,2

Корак 3: Временско ограничење је подешено на основу ЕстРТТ.

тимеоут = 2 * ЕстРТТ.

Временско ограничење је подешено да буде двоструко веће од процењеног РТТ-а. Овако се израчунава стварни фактор времена чекања.

Мана у овом приступу

Постоји мана у оригиналном алгоритму. Хајде да размотримо два сценарија.

Сценарио 1.

стринг формат јава
ТЦП Ретрансмиссион

Горњи дијаграм показује да пошиљалац шаље податке, за које се каже да су оригинални пренос. У временском периоду не добија се потврда. Дакле, пошиљалац поново преноси податке. Након поновног слања података, прима се потврда. Претпоставимо да је потврда примљена за оригинални пренос, а не за поновни пренос. Пошто добијамо потврду оригиналног преноса, тако СамплеРТТ израчунава се између времена оригиналног преноса и времена када је примљена потврда. Али заправо, СамплеРТТ требало да буде између времена ретрансмисије и времена потврде.

Сценарио 2.

ТЦП Ретрансмиссион

Горњи дијаграм показује да пошиљалац шаље оригинални пакет података за који добијамо и потврду. Али потврда се добија након поновног слања података. Ако претпоставимо да потврда припада поновном преносу, онда СамплеРТТ рачуна се између времена ретрансмисије и времена потврде.

У оба горе наведена сценарија, постоји нејасноћа да се не зна да ли је потврда за оригинални пренос или за поновни пренос.

Закључак наведеног алгоритма.

  • Овде, АЦК не значи потврда преноса, али заправо, потврђује пријем података.
  • Ако узмемо у обзир први сценарио, ретрансмисија се врши за изгубљени пакет. У овом случају, претпостављамо да АЦК припада оригиналном преносу због чега СамплеРТТ испада веома велик.
  • Ако узмемо у обзир други сценарио, два иста пакета се шаљу тако да се у овом случају јавља дупликат. У овом случају, претпостављамо да АЦК припада ретрансмисији због чега СамплеРТТ постаје веома мали.

Да би се превазишли горе наведени проблеми, Карн/Партридге алгоритам даје једноставно решење. Овај алгоритам је дао једноставно решење које прикупља узорке послати у једном тренутку и не узима у обзир узорке у време ретрансмисије за израчунавање процењеног РТТ-а.

Карн/Партридге алгоритам

У горња два сценарија долази до поновног преноса, а ми смо размотрили узорак РТТ. Али овај алгоритам не узима у обзир узорак РТТ приликом поновног преноса. Пошто је дошло до поновног преноса, што значи да се нешто дешава у овом повратном времену или може доћи до загушења у мрежи. Да би се превазишао овај проблем, овај алгоритам удвостручује временско ограничење након сваке ретрансмисије. Овај алгоритам је имплементиран у ТЦП мрежи.

Ограничење

Не узима у обзир варијансу у РТТ.

    Ако је варијанса мала, ЕстиматедРТТ се испостави да је тачан. Ако је варијанса велика, ЕстиматедРТТ није тачан.

Да би се превазишло горе наведено ограничење, развијен је Јацобсон/Карелс алгоритам који уводи фактор варијансе у РТТ.

Јацобсон/Карелс алгоритам

Овај алгоритам је развијен да превазиђе ограничење Карн/Партридге алгоритам. Он израчунава разлику између СамплеРТТ и ЕстиматедРТТ и повећава РТТ на основу разлике.

јава арраи слице

Прорачуни за просечни РТТ

  • Прво израчунавамо фактор разлике.

Дифф = СамплеРТТ - ЕстиматедРТТ

  • Сада израчунавамо ЕстиматедРТТ, који ће бити израчунат на исти начин као што смо урадили горе.

ЕстРТТ = ЕстРТТ + (δ*Дифф)

  • Сада израчунавамо просек фактора разлике.

Дев = Дев + δ ( |Дифф| - Дев)

Овде је Дев фактор одступања, а δ је фактор између 0 и 1. Тхе Дев је процена варијансе од ЕстРТТ .

  • Разматраћемо варијансу док рачунамо вредност временског ограничења.
Тимеоут = µ * ЕстРТТ + ɸ * Дев

Где, µ =1 и ɸ =4

Фаст Ретрансмиссион

Стратегија ретрансмисије заснована на временском ограничењу је неефикасна. ТЦП је врста протокола са клизним прозором, тако да кад год дође до поновног преноса, он почиње да га шаље од изгубљеног пакета па надаље.

факторијел у в
ТЦП Ретрансмиссион

Претпоставимо да преносим пакете 0, 1, 2 и 3. Пошто су пакет 0 и пакет 1 примљени на другој страни, пакет 2 се губи у мрежи. Примио сам потврду пакета 0 и пакета 1, па шаљем још два пакета, тј. пакет 4 и пакет 5. Када се пошаљу пакети 3, 4 и 5, онда ћу добити потврду пакета 1 као ТЦП потврде су кумулативни, тако да признаје до пакета који је примио по реду. Нисам добио потврду за пакет 2, 3, 4 и 5 у временском периоду, па поново шаљем пакете 2, 3, 4 и 5. Пошто је пакет 2 изгубљен, али остали пакети, тј. 3, 4 ,5 се примају на другој страни, и даље се поново емитују због овог механизма временског ограничења.

Како се може отклонити ова неефикасност временског ограничења?

Боље решење испод клизног прозора:

Претпоставимо да је н пакет изгубљен, али су ипак примљени пакети н+1, н+2 и тако даље. Пријемник непрекидно прима пакете и шаље АЦК пакете говорећи да прималац још увек чека н-ти пакет. Прималац шаље поновљена или дуплирана потврда. У горњем случају, АЦК пакета 1 се шаље три пута пошто је пакет 2 изгубљен. Овај дупликат АЦК пакета је индикација да н-ти пакет недостаје, али су каснији пакети примљени.

Горња ситуација се може решити на следеће начине:

  • Пошиљалац може узети 'дупликате АЦК-ова' као рани наговештај да је н-ти пакет изгубљен, тако да пошиљалац може да изврши поновну трансмисију што је пре могуће, тј. пошиљалац не би требало да чека док не наступи временско ограничење.
  • Пошиљалац може да примени стратегију брзог преноса у ТЦП-у. У стратегији брзог преноса, пошиљалац треба да узме у обзир троструке дупликате АЦК-а као окидач и поново их пренесе.

ТЦП користи три дуплирана АЦК-а као окидач и затим врши поновни пренос. У горњем случају, када су примљена три АЦК-а пакета 1, пошиљалац треба да пошаље изгубљени пакет, тј. пакет 2, без чекања да наступи временски период.