Prestandahöjande proxy

Prestandahöjande proxyservrar ( PEP ) är nätverksagenter som är utformade för att förbättra prestanda från slut till ände för vissa kommunikationsprotokoll . PEP-standarder definieras i RFC 3135 (PEPs avsedda att mildra länkrelaterade försämringar) och RFC 3449 (TCP-prestandaimplikationer av nätverksvägasymmetri).

Mekanism för en distribuerad delad PEP på protokolllager

Klassificering

Tillgängliga PEP-implementeringar använder olika metoder för att förbättra prestandan.

  • Proxytyp: En PEP kan antingen "dela" en anslutning eller "snoopa" in i den. I det första fallet låtsas proxyn vara den motsatta ändpunkten av anslutningen i varje riktning, bokstavligen delar upp anslutningen i två. I det senare fallet styr proxyn sändningarna av TCP-segmenten i båda riktningarna, genom ack-filtrering och rekonstruktion i den befintliga anslutningen (se protokollförfalskning ). Detta är baserat på OSI-nivån för implementering av PEP.
  • Distribution: PEP kan antingen integreras eller distribueras. Integrerad PEP kommer att köras på en enda box, medan distribuerad PEP kommer att behöva installeras på båda sidor av länken som orsakar prestandaförsämringen. Detta är ganska vanligt i kommersiella PEP-enheter, som fungerar som en svart låda , som använder mer eller mindre öppna protokoll för att kommunicera mellan dem i stället för TCP.
  • Symmetri: En PEP-implementering kan vara symmetrisk eller asymmetrisk. Symmetriska PEP:er använder identiskt beteende i båda riktningarna; de åtgärder som vidtas av PEP:n sker oberoende från vilket gränssnitt ett paket tas emot. Asymmetriska PEP:er fungerar olika i varje riktning, vilket kan leda till att till exempel endast en länkriktnings prestanda förbättras.

Typer

Det finns en rad olika typer av PEP. Var och en används för att lösa ett länkrelaterat problem. Några vanliga typer inkluderar:

  • Split-TCP
  • Ack decimering
  • Snoka
  • D-proxy

Dela TCP

Split TCP används vanligtvis för att lösa TCP-problem med stora fördröjningstider för tur och retur . Ett typiskt system använder Split TCP PEP för att förbättra TCP- prestandan över en satellitlänk . Dela upp TCP-funktioner genom att dela upp änd-till-ände-anslutningen i flera anslutningar och använda olika parametrar för att överföra data över de olika benen. Slutsystemen använder standard TCP utan modifieringar och behöver inte känna till förekomsten av PEP:er däremellan. Split TCP fångar upp TCP-anslutningar från slutsystemen och avslutar dem. Detta gör att slutsystemen kan köras oförändrat och kan övervinna vissa problem med TCP-fönsterstorlekar på slutsystemen som är för lågt inställda för satellitkommunikation.

Ack-filtrering/decimering

Ack-filtrering eller decimering används på mycket asymmetriska länkar. I asymmetriska länkar varierar hastigheterna uppströms och nedströms kraftigt. Ett vanligt exempel är satellitbredband där en nedströms satellitlänk ger betydligt större bandbredder än den uppströms uppringda modemlänken. I det här scenariot kan den hastighet med vilken modemet kan returnera TCP-bekräftelser vara en begränsande faktor. Eftersom TCP-bekräftelser erkänns kumulativt kan vissa decimeras eller filtreras för att förbättra prestandan.

Snoka

Snoop-proxyn är ett exempel på en integrerad proxy. Den är utformad för att dölja störningar eller kollisionsbaserade paketförluster över en trådlös länk. Snoop-proxyer upptäcker förluster genom att övervaka TCP-överföringar för dubbletter av bekräftelser. När dubbla TCP-bekräftelser, som indikerar en paketförlust, tas emot av Snoop, kommer de att släppas tyst och förlorade datapaket kommer att sändas om. TCP-avsändaren ska inte ha någon kännedom om förlusten. Detta bör förhindra att TCP-avsändare minskar TCP-fönstret i onödan.

D-Proxy

D-Proxy är också utformad för att dölja störningar eller kollisionsbaserade paketförluster över en trådlös länk. D-Proxy är en ny distribuerad TCP-proxy, som kräver en proxy på vardera sidan av den förlustiga länken. Liksom Snoop använder den TCP-sekvensnummer för att upptäcka förlorade paket. Den har dock ett proaktivt tillvägagångssätt och övervakar TCP-sekvensnumren på datapaket snarare än bekräftelser. När paketförlust inträffar kommer TCP-strömmen att tillfälligt buffras tills det saknade paketet kan återställas och sekvenseras igen.

Se även

externa länkar

  • PEPsal : En GPL- licensierad, Linux -baserad, integrerad delande PEP-implementering
  • PEP-server MediaSputnik : PEP-server MediaSputnik 2402 har utvecklats av MediaSputnik som I-PEP-kompatibel server som är kompatibel med SatLabs Groups (ESA) rekommendationer för att stödja DVB-RCS-standarder och nätverk
  • RFC 3135 : Hela RFC (Performance Enhancing Proxies avsedda att mildra länkrelaterade försämringar)