FAST, hitrejši TCP/IP

Objavljeno: 24.4.2006 18:49 | Avtor: Aljoša Jerman Blažič | Kategorija: Nove tehnologije | Revija: April 2006

Za pohitritev prenosa podatkov prek internetnega omrežja danes prevladujejo različne tehnike, ki poizkušajo povečati predvsem pasovno širino fiksnih ali brezžičnih povezav. Hitrost pa dejansko ni odvisna zgolj od fizičnih zmogljivosti, temveč ima pomembno vlogo tudi ustrezno delo s podatkovnimi paketi oziroma nadzor nad prenosom podatkov. Hitri protokol FAST odpravlja nekatere ključne probleme aktualne infrastrukture in postreže s trikrat hitrejšo izmenjavo.

Komponente tehnike FAST delujejo usklajeno in omogočajo posamično izpopolnjevanje (z izboljšanimi algoritmi).

Internet in podporne tehnologije se spoprijemajo oziroma se bodo v bližnji prihodnosti spoprijemale s problemi na vsaj treh frontah. Aktualna struktura imenskega prostora omejuje število končnih internetnih naslovov, saj internet ni bil načrtovan kot univerzalna komunikacijska infrastruktura. S tem, ko postajajo del omrežja poleg računalniških sistemov tudi razna tipala in vse mogoče naprave, je osnovni imenski prostor postal pretesen. Težave odpravlja internetni protokol št. 6 (Internet Protocol version 6, IPv6), kjer so meje postavljene v bilijonih razpoložljivih naslovov na kvadratni meter zemeljskega površja.

Druga omejitev interneta je obvladovanje kakovosti prenosa. V aktualnih tehnoloških različicah segmentacije prenosa ni mogoče zagotoviti, čeprav so nekatere podporne tehnologije, prek katerih se pretaka internetni promet, to v osnovi omogočale (omrežje ATM na primer). Kakovost storitev (Quality of Service, QoS) omogoča določiti prioriteto podatkovnih paketov, ki se pretakajo po omrežjih in so predmet obdelave v vozliščih. Prioriteta ima seveda vpliv na samo (zagotovljeno) hitrost prenosa (paketi z višjo prioriteto pridejo prej na vrsto za obdelavo), vendar koncept QoS (razen na nižjih ravneh komunikacije) nikoli ni zaživel tako, da bi lahko uporabnik sam, brez neposrednega dostopa do nižjih slojev, zahteval določene (zagotovljene) zmogljivosti. Tudi to težavo naj bi nekako odpravljal protokol IPv6.

Tehnološko omejitev predstavlja tudi delo s podatkovnimi paketi pri izmenjavi. Hrbtenico omrežja internet sestavljajo danes kombinacija internetnega protokola (Internet Protocol, IP) in protokola nadzora nad prenosom (Transmission Control Protocol, TCP). Protokol TCP je tik pod aplikacijami, ki zahtevajo izmenjavo podatkov, in nad internetnim protokolom, ki skrbi za izmenjavo podatkovnih paketov. V času načrtovanja je protokol TCP predstavljal napredni način paketne obdelave podatkov. Pred pošiljanjem razkosa s strani (spletnih) aplikacij posredovane podatkovne tokove v zaporedno označene podatkovne pakete, ki potujejo od pošiljatelja k prejemniku, tam pa so paketi zloženi nazaj v izvorni blok podatkov. Izbira ustrezne dolžine paketov in izvajanje nadzora pri dostavi so ključnega pomena za zanesljiv prenos podatkov, kar protokol TCP tudi omogoča. Vendar pa ravno zagotavljanje robustnega delovanja s potrditvami o uspešnem prenosu kritično vpliva na končno hitrost prenosa.

Ozko grlo

Eden izmed ključnih dejavnikov, ki vplivajo na hitrost izmenjave podatkov, je (poleg razpoložljive pasovne širine seveda) zgostitev prometa. Aktualna omrežja namreč ne vključujejo ustreznih tehnik, ki bi komunicirajoče aplikacije obveščale o trenutni zmogljivosti. Pošiljanje podatkov je tako nenadzorovano, saj so aplikacije navadno zasnovane tako, da vedno poizkušajo komunicirati z najvišjo hitrostjo. Ker se v takih primerih lahko zgodi, da so paketi na poti izgubljeni, omogoča protokol TCP vnovično pošiljanje, to pa se lahko pozna v še večji količini (spet) posredovanih podatkovnih paketov in s tem večji možnosti, da se prenosna pot enostavno do konca zapolni.

Temeljno načelo tehnike FAST je prilagajanje hitrosti aktualni zmogljivosti omrežja glede na obremenjenost s pretokom podatkov. Za razliko od protokola TCP, pri katerem temelji prilagajanje na iskanju izgubljenih paketov, FAST sproti meri zmogljivost na podlagi zakasnitve (packet-delay) in izgubljenih paketov (packet-loss).

Do zgostitve pride zaradi omejenih zmogljivosti omrežja, kot je pasovna širina oziroma pretočnost povezav, zmogljivosti stikal in predvsem nenadzorovane komunikacije. Rezultat so predolge čakalne vrste paketov, ki jih vozlišča ne morejo (več) obdelati. Logična posledica takih primerov so izgubljeni paketi in s tem počasnejša izmenjava podatkov. Povečanje zmogljivosti stikal in usmerjevalnikov ter večanje pasovne širine problema ne odpravlja, saj bi bilo treba pri takem pristopu optimizirati celotno omrežje (vsa stikala in drugo opremo), to pa v praksi ni izvedljivo.

Težave zgostitve prometa lahko rešujemo na več načinov. Delovanje protokola TCP temelji na potrditvah o prenosu oziroma nadzoru zgostitve na podlagi izgub (t. i. loss-based). Če pošiljatelj ne prejme potrditve o dostavi paketa, je paket poslan še enkrat z zamikom dvojne dolžine začetnega intervala. Če tudi z drugim poizkusom pošiljatelj ne pridobi potrditve, je postopek treba ponoviti s štirikratnikom začetnega intervala, nato z osemkratnikom itd. Rezultat pristopa je vedno nižja hitrost prenosa, saj se pušča na voljo vedno več časa za preverjanje uspešnosti prenosa. Ko je končno dosežena ustrezna hitrost prenosa, gre nato za nasproten proces poizkusa povečanja hitrosti, ki pa je v nasprotju z zniževanjem hitrosti (za faktor dva nižje ob vsakem poizkusu) linearen. Problem zelo pogosto občutimo pri prenosu datotek po spletu. Če hitrost v kratkem času drastično upade, je povratek na začetno hitrost izredno počasen. Težava pride še posebej do izraza pri večjih hitrostih prenosa (za kar TCP pravzaprav sploh ni bil načrtovan).

Tehnika potrjevanja prenosa se dobro obnese v primeru zgoščenega prometa oziroma ozkih grl na poti med točkama izmenjave podatkov. Protokol TCP je bil leta 1981 s tem namenom tudi tako načrtovan, vendar je postalo zelo hitro očitno, da tehnika slabo vpliva na hitrost prenosa. Predlagane so bile različne tehnike, predvsem na ravni nadzora pretoka (flow control) in zgostitve (congestion control) ter izogibanja zgostitve prometa (network congestion avoidance). Različni mehanizmi protokola TCP (sliding window, slow-start algorithm, congestion avoidance algorithm, fast retransmit and fast recovery algorithm ipd.) omogočajo izogibanje zgostitvam in pospeševanje prometa. V času razvoja so bile tako predlagane tudi številne izboljšave, kot je protokol TCP visokih hitrosti (High Speed TCP), TCP Vegas, TCP Westwood, H-TCP in navsezadnje FAST.

Hitro aktivno upravljanje čakalnih vrst protokola TCP (Fast Active queue management Scalable Transmission Control Protocol, FAST) predstavlja eno izmed rešitev z vključenimi naprednejšimi algoritmi za upravljanje zgostitev. Tehnika FAST je že v sami osnovi osredotočena predvsem na reševanje težav pri povezavah na velikih razdaljah in s hitrimi prenosi.

Merjenje zaostanka

Za razliko od standardnega prenosa TCP, kjer temelji prilagajanje zgostitvi prometa na iskanju izgubljenih paketov (loss-based), temelji tehnika FAST na merjenju zaostanka odziva (delay-based), ki upošteva dejansko zmogljivost povezave od točke do točke. Manjša hitrost prenosa oziroma večji zamik se namreč pozna med drugim ravno v zgostitvi prometa.

Tehnika FAST definira štiri komponente, ki se ukvarjajo z merjenjem zgostitve prometa in prilagajajo hitrost pošiljanja podatkov. Posamezne komponente, ki interpretirajo ustrezne algoritme za merjenje in prilagajanje, so med drugim definirane samostojno zato, da je možno v prihodnje posamezno komponento neodvisno nadgrajevati (z vključevanjem izboljšanih algoritmov).

Nadzor nad podatki (data control) ugotovi, katere pakete je treba v danem trenutku komunikacije poslati, pri čemer nadzor nad oknom (window control) določi, koliko naj bo teh paketov. Časovno komponento, torej kdaj je treba pakete poslati, določi komponenta za nadzor nad pretokom (burstness control). Odločitve so usklajene ob pomoči informacij, ki jih zagotovi (temeljna) komponenta za ocenjevanje oziroma odločanje (estimation).

Komponenta za ocenjevanje meri odzive na poslane pakete. V primeru pozitivnega odziva izračuna čas, ki je potreben za prenos paketa do prejemnika in odziva nazaj k pošiljatelju (Round Trip Time, RTT). S tem določi povprečni zaostanek (delay) pri prenosu in minimalen čas RTT. Ob negativnem odzivu enostavno obvesti druge komponente o izgubi konkretnega paketa (in postopek ponovi).

Rezultati meritve komponente za ocenjevanje so vhodni podatki za izračun zgostitve prometa (kar izvaja komponenta za nadzor nad oknom). Okno interpretira zaostanek zaradi zgostitve v primerjavi s hitrostjo prenosa. Protokol TCP deluje samo na podlagi iskanja izgubljenih paketov in spremeni okno za enkrat pri uspešnem prenosu (torej poveča hitrost prenosa) oziroma za dvakrat pri izgubi paketa (hitrost zmanjša za dvakrat). FAST poleg izgube paketov upošteva tudi zaostanek in preračunava okno zgostitve na podlagi povprečnega RTT in povprečnega zaostanka (ki ga izračuna komponenta za oceno). Na podlagi merjenja zaostanka lahko okno povečuje za največ dvakrat (enako kot pri TCP) oziroma zveča eksponentno (v nasprotju z linearnim porastom pri TCP), to pa se pozna v bistveno hitrejšem povečanju hitrosti. Poleg tega lahko FAST ob izgubi paketov tudi popolnoma zaustavi prenos (ga ne zmanjša) in ga znova vzpostavi šele takrat, ko se razmere stabilizirajo.

Pri prenosu podatkov prihaja do različnih okoliščin oziroma dogodkov, ki jih interpretirajo pošiljanje paketa, izguba paketa, potrdilo o prejemu paketa in konec RTT. Za vsak dogodek izračuna komponenta za oceno povprečen zaostanek (queueing delay) na podlagi katerega določi komponenta za nadzor nad pretokom, ali naj se (podatkovni) paketi pošljejo. Ob vsakem koncu RTT ista komponenta izračuna prepustnost na podlagi osvežene vrednosti okna, ki ga zagotovi komponenta za nadzor nad oknom s konstantnimi časovnimi intervali merjenja na podlagi potrdila o prejemu paketa in na podlagi predhodnega merjenja RTT. V času odpravljanja izgubljenih paketov je treba okno sproti osveževati glede na podatke o zgostitvi v omrežju. Na tej podlagi lahko pošiljatelj ob izgubi paketa določi, ali naj se paket pošlje nemudoma še enkrat oziroma takrat, ko bodo razmere boljše.

Tehnika FAST torej deluje na sprotnem merjenju karakteristik omrežja in dopolnjuje tehniko merjenja zgostitve na podlagi izgubljenih paketov z merjenji zaostanka. Ravno merjenje zaostanka pri prenosu razkriva karakteristiko danega omrežja. S tem se FAST nemudoma odziva na aktualno zmogljivost in prilagaja hitrost pošiljanja podatkovnih paketov. Na zelo ustrezen način rešuje tudi problem zgostitve, ki se dogaja zaradi nenehnega pošiljanja (s sicer zmanjšano hitrostjo), saj omogoča reanimacijo povezave (vnovičnega pošiljanja) šele tedaj, ko se razmere stabilizirajo.

Ena izmed zanimivih prednosti nadgradnje protokola TCP s tehniko FAST je, da ne zahteva obsežnejšega posega v infrastrukturo. Uvedba je namreč možna na obstoječi strojni opremi z integracijo komponent tehnike FAST. Vmesna vozlišča pri tem ne igrajo nobene vloge, saj gre za komunikacijo oziroma merjenje zaostankov med dvema končnima točkama. Protokol TCP s tehniko FAST je že na voljo za nekatere operacijske sisteme, kot je Linux.

Zmogljivost

Kot je sicer značilno za internetne tehnologije, je tudi novi protokol plod sodelovanja raziskovalnih institucij pri reševanju težav prenosa prek obstoječih tehnik. Kalifornijski institut Caltech je v sodelovanju z ameriškimi in evropskimi institucijami definiral protokol FAST na podlagi TCP in že pred leti izvedel različne poizkuse, ki dokazujejo uporabnost tehnike. Seveda so bili poizkusi osredotočeni na izmenjavo večjih količin podatkov (terabajti) na večje razdalje (povezav prek Atlantika).

Na osnovi standardnih dolžin paketov, ki so značilne za današnja omrežja, doseže klasični protokol TCP prepustnost 266 Mb/s pri velikih razdaljah (10 tisoč kilometrov in več). Če merimo izkoriščenost povezav na podlagi TCP, naj bi se številka zaustavila pri 27 odstotkih. To je rezultat hitrega zmanjšanja pretoka (zaradi zgostitve) in počasnega povečanja.

Tehnika FAST doseže s povprečnim prenosom 925 Mb/s več kot trikrat boljši izkoristek, kar 95-odstotnega. Če pri tem omogočimo še vzpostavitev (do 10) vzporednih povezav (kar je bilo tudi dejansko preizkušeno pri povezavi organizacije Caltech in švicarskega centra CERN), kar FAST podpira, se rezultat povzpne na 8609 Mb/s z 88-odstotnim izkoristkom.

Prihodnost

Rezultate, ki jih dosežemo s hitro tehniko FAST, je seveda treba interpretirati na pravi način. Gre predvsem za reševanje problemov velikih razdalj in večjih količin podatkov. Še vedno pa ni jasno, kako se protokol dejansko obnaša pri majhnih hitrostih oziroma slabih povezavah.

FAST tudi ni edini, ki se ukvarja s problematiko protokola TCP. TCP visokih hitrosti (High Speed TCP) je bil predlagan celo kot standard pri organizaciji IETF (kjer sliši na ime RFC 3649). V vsakem primeru je jasno, da je internet že zdavnaj dosegel omejitve, ki jih odpravljajo bolj ali manj začasne rešitve. Konceptualne spremembe so v že tako razvejeni infrastrukturi namreč zelo težko izvedljive. To smo lahko opazili pri protokolu IPv6, ki se uveljavlja s težkimi koraki. Problem konceptualnih prenov (kot je primer imenskega prostora) je v tem, da zelo močno posega v (uveljavljeno) filozofijo, saj poizkušajo rešiti probleme na dolgi rok. Da bi zagotovili hitrejši prenos podatkov, torej ne bo dovolj poseči zgolj po prepustnejših povezavah (kot je večanje pasovne širine), temveč bo treba odpraviti tudi konkretne težave pri nadzoru nad pretokom. Ena izmed možnosti je zagotovo FAST.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
Prijava

ph

Komentirajo lahko le prijavljeni uporabniki