Seminarski Rad - Stream Control Transmission Protocol (Sctp)

Embed Size (px)

Citation preview

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    1/25

    STREAM CONTROL TRANSMISSIONPROTOCOL (SCTP)

    SEMINARSKI RAD

    2011.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    2/25

    SADRAJ

    1. UVOD ............................................................................................................................ 12. SCTP PROTOKOL ..................................................................................................... 33. SCTP PAKETI ............................................................................................................. 54. PRIJENOS PODATAKA KOD SCTP PROTOKOLA ............................................ 8

    4.1. INICIJALIZACIJA SCTP ASOCIJACIJE ............................................................. 8

    4.2. DIJAGRAM STANJA ASOCIJACIJE PROTOKOLA SCTP ............................... 9

    4.3. KONTROLA TOKA PODATAKA I ZAGUENJA ........................................... 10

    4.4. SCTPMONITORING (MEHANIZAM HEARTBEAT) ...................................... 11

    4.5. PREKID ASOCIJACIJE - BLOKOVI PODATAKA SHUTDOWN I ABORT . 12

    5. SVOJSTVO VIESUSTAVNOSTI .......................................................................... 136. SCTP REKONFIGURACIJA DINAMIKE ADRESE ........................................ 147. SCTP S DJELOMINOM POUZDANOU (PR-SCTP) .................................... 168. TRANSMISSION CONTROL - SCTP (TC-SCTP) ............................................... 179. USPOREDBA S TCP I UDP PROTOKOLOM ...................................................... 1910. ZAKLJUAK......................................................................................................... 22LITERATURA .................................................................................................................. 23

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    3/25

    1

    1. UVOD

    Transportni sloj nalazi se u osnovi svake hijerarhije protokola. Zadatak mu je

    pruiti pouzdan i efikasan prijenos podataka od izvora do odredita, neovisno o fizikoj

    mrei ili mreama koje se trenutno koriste. Transportni sloj OSI i TCP/IP referentnih

    modela predstavlja sloj izmeu sloja aplikacije (tj. aplikacijskog sloja sesije kod OSI

    modela) i mrenog sloja, kao to je prikazano na slici 1.1.Openita uloga ovog sloja, kao i

    ostalih slojeva je omoguivanje komunikacije sloja iznad i sloja ispod (u ovom sluaju

    sloja aplikacije sa slojem mree). Konkretna uloga ovog sloja je prihvaanje podataka

    aplikacije predajnika i njihovo dostavljanje aplikaciji prijemnika, pri emu kontrolira

    prijenos, kontrolira i ispravlja pogreke pri prijenosu, te osigurava isporuku. Podrka za

    transportni sloj je uglavnom realizirana na razini operativnih sustava raunala, s tim da sam

    transportni sloj nije eksplicitno definiran ve se realizira kroz podrku za protokole tog

    sloja, (Jevremovi i Veinovi, 2007.).

    Slika 1.1: Usporedba OSI i TCP/IP modela s pregledom protokola za pojedine

    slojeve

    Iako referentni modeli OSI i TCP/IP omoguuju razvoj razliitih transportnih

    protokola, danas je u upotrebi, ovisno o korisnikim zahtjevima najee Transmision

    Control Protocol (TCP) ili User Datagram Protokol (UDP). TCP je konekcijski orijentiran

    protokol koji uspostavlja logiku vezu izmeu procesa u mrei. Vri funkcije osnovnog

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    4/25

    2

    prijenosa podataka, adresiranje i multipleksiranje, kontrolu toka, kontrolu veze, funkcije

    prioriteta i sigurnosti. Omoguuje pouzdani prijenos s kraja na kraj, u obliku kontinuirane

    struje podataka. UDP je beskonekcijski orijentirana usluga koja prenosi podatke u obliku

    datagrama. Za razliku od TCP protokola, ne omoguuje pouzdan prijenos podataka, a o

    pouzdanosti prijenosa, ako je potrebno, brine se sama aplikacija. U osnovi slui kao

    aplikacijsko suelje prema IP, [1].

    SCTP, protokol upravljanja transmisijskim slijedom (Stream Control Transmission

    Protocol) noviji je transportni protokol. Motivacija za nastajanje SCTP protokola pojavila

    se u porastu broja novijih aplikacija za koje je TCP protokol ogranien u mnogim

    pogledima. TCP prua pouzdan prijenos podataka, ali strogim redom, dok mnoge

    aplikacije trebaju prijenos bez odravanja slijeda, a neki e biti zadovoljeni s djelominimporedanim podacima. U oba sluaja head-of-line blokiranje kod TCP protokola uzrokuje

    nepotrebno kanjenje. Nadalje, prenoenje podataka u obliku struje okteta je esto

    nepovoljno jer aplikacije moraju dodavati oznake blokova podataka za razgraniavanje

    poruka te moraju koristiti push mehanizam da bi osigurali prijenos cijele poruke u

    razumnom vremenu. Ogranien opseg TCP prikljunica komplicira omoguavanje visoke

    dostupnosti prijenosa podataka koritenjem viesustavnih raunala. TCP je relativno

    osjetljiv na denial of service (DoS) napade, kao tu su SYN napadi.

    Prijenos PSTN signalizacije preko IP mrea je aplikacija za koju su sva ova

    ogranienja bila relevantna. I dok je ova aplikacija bila izravna motivacija za razvoj SCTP-

    a, i mnoge druge aplikacije su prihvatile SCTP kao dobar odgovor na njihove zahtjeve,

    (Stewart i Xie, 2000.). SCTP protokol je pouzdan transportni protokol koji djeluje na vrhu

    mrea s prijenosom podataka bez spajanja, kao to je IP. Korisnicima nudi mnoge usluge,

    koje emo poblie predoiti i objasniti kroz seminarski rad.

    R

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    5/25

    3

    2. SCTP PROTOKOL

    Protokol upravljanja transmisijskim slijedom (SCTP) je noviji IP transmisijski

    protokol transportnog sloja razvijen unutar Signaling Transport (SIGTRAN) grupe, lanice

    IETF-a. SIGTRAN grupa definirala je SCTP standard 2000. godine u RFC-u 2960,

    (Stewart i Xie, 2000.). Izvorno je sluio kao podrka za signaliziranje u ''Voice over IP''

    (VoIP) aplikacijama. Od tada je poopen i donosi odreena poboljanja u odnosu na TCP,

    ukljuujui sigurnost i robusnost. SCTP je pouzdan protokol usmjeren na poruke, s

    mogunostima viesustavnosti i viesljednosti. Kao to je prikazano na slici 2.1, protokol

    omoguuje krajnjim vorovima komunikaciju preko vie adresa, zbog esto postojanjaviestrukih mrenih suelja, [4].

    Slika 2.1: SCTP arhitektura

    Danas se SCTP moe koristiti kao transportni protokol za aplikacije koje zahtijevaju

    praenje i detekciju gubitka sesije, tj. SCTP asocijacije, to prikazuje Slika 2.2. Pojam

    asocijacija uzet je iz RFC-a 2960, (Stewart i Xie, 2000.)., a oznaava ostvarenu SCTP

    komunikaciju izmeu dviju ravnopravnih stanica. SCTP mehanizmi detekcije gubitka

    sesije aktivno prate spojenost sesije za takve tipove aplikacija. Njegova izvedba ukljuuje

    odgovarajuu kontrolu izbjegavanja zaguenja od usmjeravanja prometa svim voritima u

    mrei i napada maskiranjem (jedan sustav ilegalno koristi identitet drugog sustava).

    Glavne razlike u odnosu na protokol TCP su viesustavnost (multihoming) i viesljednost

    (multistreaming).

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    6/25

    4

    SCTP KORISNIKA

    APLIKACIJA

    SCTP PRIJENOSNA

    USLUGA

    IP MRENA USLUGA

    SCTP KORISNIKA

    APLIKACIJA

    SCTP PRIJENOSNA

    USLUGA

    IP MRENA USLUGAJEDNA ILI VIE

    IP ADRESA

    JEDNA ILI VIE

    IP ADRESA

    SCTP VOR A SCTP VOR BMRENI PRIJENOS

    2.2: Naelo SCTP asocijacije

    SCTP koristi viesustavnost za uklanjanje kvarova. Jedna od istorazinskih adresa oznaenaje kao zadana odredina adresa. Ova zadana adresa zajedno s zadanim izvorinim adresama

    ini SCTP primarni put. Pri gubitku paketa na primarnom putu, koristi se alternativna

    odredina adresa. Rezultati prouavanja radnih svojstava viesustavnosti pokazali su da je

    smanjeno inicijalno kanjenje paketa ukoliko doe do gubitka paketa.

    Slika 2.1 pokazuje da je veza izmeu dvije krajnje toke skup jednosmjernih tokova.

    Viesljednost ima mogunost otklanjanja ''Head of Line'' (HOL) efekta TCP-a, zbog kojega

    su paketi u redu ekanja, ekajui prepoznavanje svih segmenata. Kod okruenja u kojemudjeluje viesljednost, paketi iz razliitih tokova prometuju nezavisno. SCTP koristi

    selektivno potvrivanje (SACK) za oznaivanje transmisijskog rednog broja (TSN) svakog

    primljenog bloka podataka, poznatih kao chunk. Za sigurnost SCTP omoguuje

    etverostrano usklaivanje (4-way handshake) tijekom inicijalizacije nove asocijacije.

    COOKIE mehanizam koristi se tijekom postavljanja puta za utvrivanje krajnjih toaka.

    COOKIE identificira moguu krau adresa. Dok postoji veza, Heartbeat poruke se

    periodino izmjenjuju radi odreivanja dostupnosti ponuenih IP adresa.

    Aplikacijsko programsko suelje (API) omoguuje SCTP-ovu aplikaciju za kontroliranje

    brojeva tokova i adresa radi oglaavanja tijekom inicijalizacije. Aplikacije mogu takoer

    tono odrediti vijek trajanja paketa, ureivanje i identifikator konteksta za svaku poslanu

    poruku. Identifikator konteksta koristi se kod SCTP-a kada se prua povratna informacija

    aplikaciji.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    7/25

    5

    3. SCTP PAKETI

    U SCTP protokolu, prijenos podataka izmeu dva raunala odvija se tijekom asocijacije,kao to je prikazano na slici 2.2. Svi podaci se prenose enkapsulirani u SCTP pakete.

    Prilikom koritenja protokola SCTP s protokolom IP, SCTP paket formira skup korisnikih

    podataka u IP paketu (tj. stvara mu zaglavlje). SCTP paket sadri zajedniko 12-oktetno

    zaglavlje i niz blokova podataka poznatih kao chunk. Broj blokova podataka u SCTP

    paketu ovisi o vrijednosti maksimalne transmisijske jedinice (MTU), koja se saznaje

    otkrivanjem MTU staze, (Mogul i Deering, 1990.).

    Izvorini port Odredini port

    Oznaka provjere

    Cheksum

    Tip Zastavice Duljina paketa

    Korisniki podaci

    SCTP

    zaglavlje

    Blok

    podataka 1

    32 bita

    .

    .

    .

    .

    .

    .

    Tip Zastavice Duljina paketa

    Korisniki podaci

    Blok

    podataka N

    3.1: Graa SCTP paketa

    Graa SCTP paketa prikazana je na slici 3.1. Prema njoj je vidljivo da zaglavlje SCTP

    paketa tvore:

    Izvorini i odredini port, radi omoguivanja multipleksiranja razliitih SCTP

    asocijacija na istoj adresi princip isti kao kod TCP-a, odnosno UDP-a. Izvorini i

    odredini port zauzimaju po 16 bita.

    Oznaka provjere (engl. Verification Tag)sluajno generiran 32 bitni broj koji slui

    primatelju kao provjera da paket pripada trenutnoj asocijaciji, a ne prijanjoj. Osim od

    zastarjelih, titi i od unoenja lanih poruka u SCTP asocijaciju.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    8/25

    6

    Kontrolna sekvenca (engl. Checksum) 32 bita koji se koriste za detekciju greaka

    (Adler-32 algoritam), za razliku od slabije 16 bitne kontrolne sekvence kod TCP-a ili

    UDP-a.

    Chunkblokovi podataka mogu biti ili kontrolni, kao to je chunkselektivnog potvrivanja(SACK), ili podatkovni. Izgled chunk-a prikazan je na slici 3.2. Svaki chunksadri naziv

    tipa, chunkzastavice, duljinu i veliinu chunk-a.

    Slika 3.2: Blok podataka (chunk)

    Trenutno postoji 13 tipova SCTP blokova podataka razliitih duljina koje protokol

    definira. Kontrolni chunk-ovi sadravaju razliite zastavice i parametre, ovisno o tipu

    chunk-a. Radi ostvarivanja uinkovitosti prijenosa, SCTP doputa objedinjavanje

    viestrukih podataka i kontrolnih chunk-ova u jedan paket.

    Slika 3.3: Izgled podatkovnog chunk-a

    Podatkovni chunkje spremnik korisnikih podataka koji se prenose u SCTP-u. Njegov je

    izgled prikazan na slici 3.3. Podatkovni chunk-ovi sadravaju zastavice za kontrolu

    podrazine rastavljanja i sastavljanja, pored sljedeih parametara: transmisijskog rednog

    broja (Transmission sequence number, TSN), identifikator toka (Stream ID), rednog broja

    toka (Stream sequence number, SSN) i identifikatora korisnih protokola (Payload protocol

    identifier). Stream IDi SSN koriste se kao podrka viesljednosti, dok jePayload protocol

    identifier ukljuen radi fleksibilnosti u budunosti. Podatkovni chunk-ovi koji stiu do

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    9/25

    7

    SCTP prijemnika potvruju se prijenosnim SCTP paketom sa SACK kontrolnim chunk-

    om, iji je oblik prikazan na slici 3.4. Tijekom inicijalizacije asocijacije SCTP krajnje

    toke izmjenjuju veliine njihovih prijemnih okvira (pokazatelj dostupnog prostora u

    ulaznom meuspremniku) i poetni TSN podatkovnih chunk-ova koji e biti izmjenjeni

    tijekom asocijacije, [9].

    Slika 3.4: Kontrolni chunk(SACK)

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    10/25

    8

    4. PRIJENOS PODATAKA KOD SCTP PROTOKOLA

    4.1. INICIJALIZACIJA SCTP ASOCIJACIJE

    Prije poetka SCTP prijenosa podataka izmeu dviju ravnopravnih stanica, mora se izvriti

    proces SCTP inicijalizacije. Koristi se cookie mehanizam (Karn i sur., 1999.) u cilju

    osiguravanja sigurnosti komunikacije. Ovakav mehanizam koristi 4-way handshake,to je

    prikazano slikom 4.1.1.

    Slika 4.1.1: Mehanizam Cookie(4-way handshake)

    Proces inicijalizacije odreen je na sljedei nain (pretpostavlja se da stanica A pokuava

    ostvariti asocijaciju sa stanicom B, te da stanica B prihvaa novu asocijaciju):

    1. Stanica A alje blok podataka INIT prema stanici B.

    2. Stanica B morala bi istog trena odgovoriti s blokom podataka INIT ACK. Odredina

    adresa INIT ACK-a mora biti postavljena na izvorinu adresu bloka podataka INIT.Takoer, stanica B u bloku podataka INIT ACK alje i parametar State Cookie koji

    oznaava da je u pripravnosti za dodatnu provjeru autentinosti asocijacije.

    3. Nakon toga, stanica A odgovara da je primila parametar State Cookie u bloku

    podataka INIT ACK. Odgovor se alje blokom podataka COOKIE ECHO. U ovaj blok

    podataka tekoer se mogu upakirati i korisniki podaci.

    4. Nakon to je primila COOKIE ECHO, stanica B odgovara s COOKIE ACK i

    inicijalizacija asocijacije smatra se uspjenom.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    11/25

    9

    Nakon uspostavljanja asocijacije, SCTP putovi su otvoreni za prijenos podataka na obje

    strane bez obzira na smjer prijenosa.

    4.2. DIJAGRAM STANJA ASOCIJACIJE PROTOKOLA SCTP

    Slika 4.2.1: Dijagram stanja asocijacije protokola SCTP

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    12/25

    10

    Faze:

    (1)Ako je parametarState Cookieu primljenom bloku podataka COOKIE ECHO nevaei

    (to jest, nije uspio proi provjeru integriteta), prijemnik mora tiho odbaciti paket. Ili,

    ako je parametarState Cookie istekao, prijemnik mora nazad poslati ERRORchunk. U

    oba sluaja prijemnik ostaje u stanju CLOSED.

    (2)Ako vrijeme u T1-init brojau istjee, krajnja toka mora ponovno poslati blok

    podataka INIT i ponovno pokrenuti T1-init broja bez mijenjanja stanja. Postupak se

    ponavlja dok vrijeme ne doe do 'Max.Init.Retransmits'. Tada krajnja toka mora

    prekinuti inicijalizaciju procesa i prijaviti pogreku SCTP korisniku.

    (3)Ako vrijeme u T1-cookie brojau istjee, krajnja toka mora ponovno poslati blok

    podataka COOKIE ECHO i ponovno pokrenuti T1-cookie broja bez mijenjanja stanja.Postupak se ponavlja dok vrijeme ne doe do 'Max.Init.Retransmits'. Tada krajnja

    toka mora prekinuti inicijalizaciju procesa i prijaviti pogreku SCTP korisniku.

    (4)U SHUTDOWN-SENT stanju krajnja toka mora potvrditi svaki primljeni DATA

    chunkbez kanjenja.

    (5)U SHUTDOWN-RECIEVED stanju krajnja toka ne mora prihvatiti od SCTP

    korisnika nijedan novi zahtjev za slanje.

    (6)U SHUTDOWN-RECIEVED stanju krajnja toka mora poslati ili ponovno poslati

    podatke i napustiti ovo stanje kada su svi podaci u u redu ekanja poslani.

    (7)U SHUTDOWN-ACK-SENT stanju, krajnja toka ne mora prihvatiti od SCTP

    korisnika nijedan novi zahtjev za slanje.

    Stanje CLOSED koristi se za ukazivanje na to da asocijacija nije uspostavljena, to jest, ne

    postoji.

    4.3. KONTROLA TOKA PODATAKA I ZAGUENJA

    Kao to je ve prije reeno, implementacija SCTP-a prema RFC-u 2960 mora

    posjedovati mehanizme za kontrolu toka podataka i zaguenja. SCTP raspoznaje razliite

    slijedove poruka tijekom SCTP asocijacije. Ovo omoguuje nain isporuke gdje je bitan

    samo redoslijed poruka po slijedu. Tijekom asocijacije protokol osigurava pouzdan

    prijenos podataka koristei kontrolnu sekvencu, numeriranje paketa i mehanizam

    selektivne retransmisije. Blokovi podataka koji pripadaju jednom ili vie sljedova podataka

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    13/25

    11

    mogu biti grupirani i preneseni u jednom SCTP paketu osiguravajui da paket nije vei od

    trenutnog MTU-a staze kojom se paket prenosi. Detekcija gubitka i duplikata korisnikog

    bloka podataka osigurana je s numeriranjem svih korisnikih blokova podataka kod

    poiljatelja sa tzv. transportnim brojem sekvence. Potvrde koje se alju od strane primatelja

    prema poiljatelju su bazirane po tim brojevima sekvenci.

    Slika 4.3.1: Prijenos podataka putem SCTP asocijacije

    Retransmisije su kontrolirane brojaem. Trajanje brojaa postavlja se na osnovu

    konstantnog mjerenja vremena krunog kanjenja (RTD). Ako istekne broja retransmisije,

    svi nepotvreni korisniki blokovi podataka alju se ponovno i broja se pokree

    postavljajui se na dvostruku inicijalnu vrijednost. Kada primatelj detektira jednu ilivie

    praznina u sekvenci podatkovnog bloka podataka, svaki primljeni SCTP paket se potvruje

    sa slanjem selektivne potvrde (SACK) koja potvruje sve praznine u sekvenci. Kada

    poiljatelj primi etiri SACK potvrde koje za isti korisniki blok podataka javljaju danedostaje, taj se korisniki blok podataka istovremeno alje (tzv. brza retransmisija).

    4.4. SCTP MONITORING(MEHANIZAM HEARTBEAT)

    Protokol osigurava nadgledanje svih transmisijskih putova za vrijeme SCTP asocijacije. Za

    to je zaduen blok podataka HEARTBEAT koji se alje na sve putove koji se ne koriste za

    prijenos korisnikih blokova podataka tijekom asocijacije. Svaki blok podatakaHEARTBEAT mora biti potvren sa blokom podataka HEARTBEAT-ACK.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    14/25

    12

    Slika 4.4.1: Primjer viesustavne asocijacije

    Primjer viesustavne asocijacije vidi se na slici 4.4.1. Dakle, crvenom bojom oznaen je

    primarni put kojim se vri prijenos podataka izmeu stanica A i B. Aktivnost ostalih

    putova ispituje se HEARTBEAT blokom podataka.

    Putovi su aktivni ako su SCTP paketi koji se njima alju potvreni, u suprotnom, ako za

    vie SCTP paketa ne stigne potvrda na izvorite, putovi su neaktivni. Takoer, ako u

    odreenom vremenu broj nepotvrenih HEARTBEAT blokova i broj pokuaja

    retransmisije prijee unaprijed odreen broj (vrijednost koja je podesiva), asocijacija se

    prekida.

    Korisnik je tijekom SCTP asocijacije obavijeten o svakoj promjeni transmisijskog puta, ili

    na njegov zahtjev ili pri promjeni stanja puta (aktivan, neaktivan).

    4.5. PREKID ASOCIJACIJE - BLOKOVI PODATAKA SHUTDOWN

    I ABORT

    Protokol SCTP prua dva naina prekida komunikacije:

    1. Graceful(vee se uz blok podataka SHUTDOWN) na zahtjev korisnika. Bilo koja

    strana za vrijeme komunikacije moe inicirati ovakav prekid asocijacije. Kada podaci

    koji su u repu ekanja za vrijeme iniciranja prekida SCTP asocijacije, stignu na

    odredite, asocijacija zavrava.

    2. Ungraceful(vee se uz blok podataka ABORT) ili na zahtjev korisnika (primitivni

    ABORT) ili kao rezultat detekcije greke unutar SCTP asocijacije.

    SCTP ne podrava poluotvoreno stanje to je sluaj kod TCP-a, gdje jedna strana moe

    nastaviti slanje podataka dok je druga strana zatvorena.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    15/25

    13

    5. SVOJSTVO VIESUSTAVNOSTI

    Stanica se naziva viesustavna (engl. multihoming) ako posjeduje vie adresa mrenog

    sloja. U sluaju IP mrea, to znai da stanica ima vie IP adresa. S takvim karakteristikama

    nije nuno da stanica posjeduje vie suelja fizikog linka zbog toga to se vie IP adresa

    moe postaviti na jedno suelje fizikog linka.

    Transportni protokol podrava viesustavnost ako krajnjim stanicama moemo pridruiti

    vie od jedne adrese transportnog sloja, tj. IP adresa s pridruenim brojem porta. SCTP

    protokol podrava rad s terminalima koji mogu ostvariti komunikaciju u mrei s vie

    razliitih IP adresa na svojim sueljima. Ako neka stanica ima vie IP adresa, prilikom

    inicijalizacije SCTP asocijacije s posluiteljem, ona alje podatke o svim svojim IP

    adresama u bloku podataka inicijalizacije (INIT chunk). Klijentu je za inicijalizaciju

    asocijacije potrebna samo jedna IP adresa posluitelja jer posluitelj u paketu odgovora

    inicijalizacije (INIT-ACK chunk) alje podatke o svim svojim IP adresama. Protokol

    podrava i IPv4 i IPv6 adrese (ak i kombinaciju). Takva SCTP asocijacija za transmisijski

    put izmeu stanica moe koristiti bilo koje IP adrese ravnopravnih stanica. Prilikom

    uspostave asocijacije izmeu stanica, jedna od IP adresa koju posluitelj alje terminalu ubloku podataka INIT-ACK postavlja se kao primarni put. Uobiajeno je da se podaci alju

    primarnim putem, a retransmisija se moe izvoditi i ostalim putovima.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    16/25

    14

    6. SCTP REKONFIGURACIJA DINAMIKE ADRESE

    Tijekom SCTP pripreme povezivanja, svaka krajnja toka dostavlja popis dostupnih IP

    adresa s kojih mogu mogu biti dohvaene. Ako je vor pokretan, vjerojatno e vriti

    prekapanja i njegove IP adrese e se morati aurirati. Postoje dvije mogunosti kako

    odrati povezanost nakon promjene adrese: prva zahtijeva od IP sloja sakrivanje promjena

    koritenjem protokola pokretljivosti sloja 3 kao mobilnog IP protokola. Druga mogunost

    je ta da transportni sloj dojavi udaljenom voru da je IP adresa promijenjena, to se naziva

    prekapanje sloja 4. Pokazano je da transportni protokol koji uzima u obzir prekapanja

    omoguuje bolji radni uinak od kada obuhvaa samo krajnje toke i ne oslanja se na

    elemente drugih mrea kao to je posrednik mobilnog vora mree (Home Agent, HA).

    SCTP krajnja toka moe oglaavati promjene o svojoj lokalnog adresi sve dok je

    asocijacija uspostavljena. Na taj nain udaljeni vor ne mora ekati istjecanje vremena

    heartbeatmehanizma da bi mogao odrediti je li adresa nevaea. Koritenjem protokola

    pokretljivosti koji je upoznat sa zaguenjima, tj. SCTP protokola s rekonfiguracijom

    dinamike adrese, obavljanje transporta je osigurano tijekom prekapanja. Rekonfiguracija

    dinamike adrese definira novi tip chunk-a, nazvan promjena konfiguracije adrese

    (Address Configuration Change, ASCONF).

    Blok podataka ASCONF (engl. Address Configuration Change) nudi sljedee mogunosti

    tijekom asocijacije:

    Dodavanje novih IP adresa (blok podataka ADDIP),

    Brisanje starih IP adresa (blok podataka DELETEIP), te

    Mijenjanje IP adresa

    Dakle, ovaj chunkkoristi krajnja toka za pokazivanje njezine dostupnosti preko nove IP

    adrese, ili za ukazivanje na to da nije dostupna preko prethodno oglaene adrese. Druga

    namjena ASCONF chunk-a je za definiranje koju lokalnu IP adresu treba vorite razine

    koristiti kao primarno odredite.

    U viesustavnim scenarijima se tijekom vremena moe mijenjati kvaliteta beine veze.

    Informirajuivorite razine da koristi najbolje povezivanje, cijela izvedba se ostvaruje sa

    smanjenim brojem gubitaka paketa i retransmisija. Promjenom primarnog puta prije

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    17/25

    15

    gubitka veze takoer se smanjuje gubitak paketa, a da bi se to ostvarilo, koriste se MIH

    okidai za pokretanje slanja ASCONF chunk-a. Tipina realizacija koristi

    MIH_Link_Going_Down sluaj za promjenu primarnog puta prije nego se dogodi

    prekapanje. Kod MIH_Link_Going_Down sluaja, uklanja se IP adresa suelja, a nakon

    zavretka prekapanja se registrira nova IP adresa, [4].

    ASCONF blok podataka dodan je u kasnijim fazama razvoja protokola SCTP, te s

    znaajkom viesustavnosti protokolu daje mogunost pokretljivosti u beinim lokalnim

    mreama. Nakon toga protokol u nekim Internet predlocima dobiva naziv SCTP u

    beinoj okolini (mobile SCTP, mSCTP), (Koh i sur., 2005.).

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    18/25

    16

    7. SCTP S DJELOMINOM POUZDANOU (PR-SCTP)

    SCTP je protokol pouzdanog prijenosa. Ako je blok podataka poslan, vri seretransmisija sve dok nije uspjeno primljen i potvren od strane vorita razine. Parametar

    vijeka trajanja paketa koji donosi program vaei je za poruke koje SCTP jo nije pokuao

    isporuiti. PR-SCTP osigurava sposobnost djelomine pouzdanosti SCTP-u, doputajui

    mu preskakanje transmisije odreenih blokova podataka. Novi chunk imenovan kao

    FORWARD-TSN definiran je za oznaivanje novog transmisijskog rednog broja (TSN), a

    koristi se tako da prijemnik nastavlja kao da su paketi s TSN-om manjim od FORWARD-

    TSN-a ve primljeni. PR-SCTP mora biti podran od obje krajnje toke, a mogunst jeponuena tijekom inicijalizacije sesije, [4].

    Okvirno, PR-SCTP omoguuje razliitim mehanizmima generiranje FORWARD-TSN

    chunk-ova. Osnovni mehanizam uveden s PR-SCTP-om mijenja definiciju parametra

    vijeka trajanja paketa. Nova definicija primjenjuje parametar vijeka trajanja i kod poruka

    na ekanju, i kod jo nepotvrenih poslanih chunk-ova. Ako vijek trajanja istjee, a chunk

    jo nije potvren, predajnik alje FORWARD-TSN koji daje informaciju prijemniku da taj

    chunktreba preskoiti.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    19/25

    17

    8. TRANSMISSION CONTROL - SCTP (TC-SCTP)

    Ciljevi koje oekujemo uvoenjem SCTP protokola su smanjenje nepotrebnog prijenosa i

    prilagodba mree. No, ne oekuje se za sve prijenose podataka zadovoljenje ogranienosti

    kanjenja. Podaci koji se prenose, ali nisu uspjeli zadovoljiti sa svojim ogranienjima

    kanjenja, mogu se odbaciti bez utjecaja od prijemne strane. Iako pojava takvih

    nepotrebnih transmisija ne moe pogorati stanje u mrei, u takvim sluajevima ne

    moemo oekivati da se dogodi bilo kakvo aktivno poboljanje u stanju u mrei. Stoga, da

    bi se sprijeile nepotrebne transmisije i poboljalo stanje u mrei, potrebna je tehnika u

    kojoj poiljatelj izostavlja podatke s kratkim marginalnim vremenom, za prijenosunaprijed, te alje odmah sljedee podatke. Prema tome, uvodi se Transmission Control-

    SCTP (TC-SCTP), kao protokol transportnog sloja.

    TC-SCTP je smjeten na transportni sloj izmeu aplikacijskog kontrolnog podsloja i sloja

    mree, a sastoji se od prijenosnog kontrolnog podsloja (Transmission Control Sub-Layer,

    TCSL), te od PR-SCTP podsloja. Slika 8.1 prikazuje poziciju i arhitekturu TC-SCTP-a.

    Slika 8.1: Pozicija i arhitektura TC-SCTP-a

    TCSL ima ulogu presretanja video podataka koji dolaze s gornjeg sloja prema PR-SCTP

    podsloju i pohranjuje podatke u meuspremnike prema njihovom odreenom tipu. TCSL

    podsloj provjerava ima dovoljno vremena za dolazak svakog okvira koji je pohranjen u

    meuspremniku na stranu prijemnika ili ne, te odreuje je li svaki okvir dostavljen PR-

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    20/25

    18

    SCTP podsloju. Ako vremenski ograniavatelj odlui da poruka ne moe doi do

    prijemnika u vremenu reprodukcije, poruka e tada biti uklonjena za TSCL-ovog

    poiljatelja. Na ovaj se nain sprjeava nepotreban prijenos. Isto tako, TC-SCTP prua

    diferencijalne usluge prijenosa za video podatke u stvarnom vremenu. Tako moemo

    navesti za primjer MPEG video prijenos koji se sastoji od glasovnih podataka, slikovnih

    podataka (I, P i B okvira) te kontrole podataka. Da bi se pruio diferencijalni prijenos

    usluge podataka koji dolaze iz video servera gornjeg sloja, prijenosni kontrolni podsloj

    TC-SCTP-a ima etiri meuspremnika: za glas, I-okvir, P-okvir, B-okvir, te kontrolu

    poruka. Klasifikator prima MPEG okvire od TCSL-a izravno iz aplikacijskog sloja, njih

    odvaja te ih stavlja u odvojene pretince prema vrstama okvira. Klasifikator takoer

    oznaava okvire s njihovim vremenom dolaska, to je potrebno pri izraunavanju vremena

    reprodukcije svakog okvira. Vremenski ograniavatelj provjerava ono preostalo vrijeme

    reprodukcije za svaku poruku na ekanju iz meuspremnika. Zatim poiljatelj odabire PR-

    SCTP tok prema preostalom vremenu reprodukcije. TC-SCTP usvaja postojei PR-SCTP

    koji podrava razliite tipove pouzdanosti i poboljava gaza slabe toke multimedijskih

    usluga. PR-SCTP podsloj TC-SCTP-a otvara vie tokova za diferencijalni ponovni prijenos

    kada se uspostavi sesija te utvruje maksimalan broj retransmisija razliito za svaki tok.

    TC-SCTP pokazuje viu propusnost nego PR-SCTP i standardni SCTP nakon zaguenja,

    odnosno optereenja mree.

    Budui da standardni SCTP jami ''punu pouzdanost'' da se retransmisije ponavljaju sve

    dok se svi podaci ispravno ne prenesu, podaci kao to su glas i video moraju u stvarnom

    vremenu stii na prijemnik unutar perioda maksimalnog vremena kanjenja reprodukc ije.

    TC-SCTP moepoboljati kvalitetu usluga video prijenosa na nain da kod poveanja

    koliine podataka okviri dolaze unutar ogranienog kanjenja, [9].

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    21/25

    19

    9. USPOREDBA S TCP I UDP PROTOKOLOM

    SCTP protokol je dizajniran da se uspjeno rijee nedostaci i ogranienja koja se

    mogu uoiti kod TCP protokola. S obzirom na korisniki prijenos podataka, SCTP

    kombinira svojstva UDP-a i TCP-a i dodaje nove, bolje znaajke.

    to se tie uspostave uspostava veze i sigurnosti, oba protokola, i SCTP i TCP, koriste

    skup poruka za uspostavljanje veze koji se meusobno razlikuju. Na slici 9.1 vidimo da

    TCP koristi princip trostrukog (3-way) , dok SCTP koristi princip etvorostrukog (4-way)

    usklaivanja (handshake) tijekom incijalizacije nove asocijacije. SCTP protokol koristi

    COOKIE mehanizam tijekom postavljanja puta za utvrivanje krajnjih toaka. COOKIE

    identificira moguu krau adresa i na taj nain titi od moguih napada. TCP protokol

    nema takvu zatitu i relativno je osjetljiv na napade odbijanja usluge, kao to su SYN

    napadi.

    Slika 9.1: Usporedba prekida veze kod TCP, odnosno STCP protokola

    SCTP i UDP protokoli su protokoli okrenuti prema prijenosu u okvirima poruka, dok je

    TCP orijentiran byte stream prijenosu, u obliku struje podataka, i to okteta. Na slici 9.2

    prikazana je usporedba prijenosa podataka kod UDP i SCTP protokola i prijenosa podataka

    kod TCP protokola.

    Za razliku od UDP-a, SCTP ima posebnost po tome to otkriva gubitak paketa, duplicirane

    pakete ili pogreke bita, te vri retransmisiju ili odbacuje odgovarajue pakete. SCTP

    omoguava podjelu jedne asocijacije u do 65536 logikih podkanala po smjeru, tj. tokova

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    22/25

    20

    (streams). Svaka korisnika poruka se prenosi u jednom od tokova, kao odabrana od strane

    SCTP korisnika.

    Slika 9.2: Oblik prijenosa podataka kod UDP i SCTP protokola

    u odnosu na TCP protokol

    Dakle, SCTP ima mogunost koritenja kontrole toka i kontrole zaguenja algoritama

    slinih onima kod TCP-a. Za razliku od TCP-a, SCTP uva granice poruka. Brojilo bajtova

    ili ograniavajui okvir nisu potrebni u aplikacijskom sloju za prijemnik kako bi razloili

    tokpojedinanih poruka.

    SCTPje sam po sebi generiki transportni protokol za IP mree, s naglaskom na okruenja

    s visokom pouzdanou i sigurnosnim uvjetima. SCTP je prikladan vie za aplikacije koje

    zahtijevaju dodatne uvjete i pouzdanost zbog novijih usluga kao to su viesustavnost,

    viesljednost, ouvanje granica poruke, smanjeno head-of-line blokiranje te poboljanje

    sigurnosnih znaajki. Dok TCP vezu ostvaruje kanalom izmeu dvije krajnje toke, SCTP

    uvodi koncept asocijacije koja se postoji izmeu dva raunala, ali moe suraivati s

    viestrukim sueljima svakog raunala. To donosi prednost za viesustavna raunala koja

    imaju vie od jednog mrenog suelja, a stoga i vie od jedne IP adrese s koje mogu biti

    upuena. Razlika izmeu TCP povezivanja i SCTP asocijacije prikazana je na slici 9.3.

    SCTP omoguavapreusmjeravanje mehanizama u sluaju kvara linka. Takoerkoristi tzv.

    ''provjeru oznake'' i ''cookie state'' mehanizam kako bi zatitio sebe od denial of service

    (DoS) napada, te slijepog ''spoofing'' napada. Kao to smo rekli, poruke sa aplikacijskog

    sloja dodijeljuju se razliitim tokovima i to iskljuivo prema zahtjevima SCTP korisnika.

    Budui da je potrebno izvriti naredbu isporuke unutar svakog toka, ako je potrebno, SCTP

    je u stanju tada smanjiti nepotrebno head-of-line blokiranje izmeu razliitih tokova.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    23/25

    21

    Slika 9.3: Usporedba TCP povezivanja i SCTP asocijacije

    Zahvaljujui viesljednosti, ovaj protokol je opremljen sa internim mehanizmima za

    prijenosnu podrku nekoliko objekata istovremeno. Na primjer, HTTP protokol

    koritenjem SCTP-a kao prijenosnog sloja moe uitavati web stranice sa vie objekata,

    kao to su slika, glas, tekst, video itd., otvaranjem samo jedne SCTP asocijacije, umjesto

    nekoliko TCP veza. Suvremeni SCTP koristi TCP kao mehanizam koj i nadzire zaguenjana razini asocijacije, to znai da se tokovi koji nose razliite objekte tretiraju jednako s

    obzirom na ista stanja zaguenja informacija, [6].

    Na slici 9.4 prikazan je uinak vieslijednosti kod SCTP-a, u odnosu na TCP-ovu

    jednokanalnu vezu. Kada doe do gubitka paketa, kod TCP-a dolazi do blokiranja cijele

    veze, dok se kod SCTP-a blokira samo jedan slijed blokova podataka, u kojemu je dolo do

    gubitka paketa, dok preostali slijedovi nastavljaju normalno slati podatke.

    Slika 9.4: Uinak viesljednosti kod SCTP asocijacije u usporedbi s TCP vezom

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    24/25

    22

    10. ZAKLJUAK

    SCTP, protokol upravljanja transmisijskim slijedom, pouzdani je protokol koji

    djeluje na istoj razini kao i UDP i TCP protokol, koji omoguuju funkcije transportnog

    sloja mnogim internetskim aplikacijama. SCTP prua mnoge usluge svojim korisnicima:

    potvreni prijenos korisnikih podataka bez pogreaka i dupliciranja, fragmentaciju

    podataka radi prilagoavanja veliini MTU otkrivenog puta, isporuku korisnikih poruka

    odreenim redom kroz vie slijedova, mogunost spajanja viestrukih korisnikih poruka u

    jedan SCTP paket, mrenu razinu tolerancije kvarova kroz viesustavnost. Struktura

    SCTP-a ukljuuje i odgovarajue izbjegavanje zaguenja, te otpornost na flooding

    (poplavno usmjeravanje) i prikrivene napade.

    SCTP komunicira putem uspostavljanja povezanosti izmeu krajnjih toaka,

    asocijacije. Za svaku asocijaciju, on podrava vie neovisno logikih tokova. Osim toga,

    SCTP tok je pogodan za redovito ili neposredno isporuivanje poruka u gornji sloj

    protokola. SCTPpodrava viesustavnost, to znai da u SCTP asocijacijama svaka krajnja

    toka moe biti povezana s vie suelja. Zanimljivo je da svi tokovi unutar iste asocijacije

    dijele zajedniki set parametara, tako da je mogue postii poboljanu propusnost, kao i u

    paralelnim TCP vezama, bez nadogradnje u provedbi.

    U odnosu na UDP i TCP, SCTP je relativno noviji protokol, ali njegova uporaba se

    sve vie iri, pa i u aplikacijama koje su prije koristile neki od dva navedena starija

    protokola. Razlog tome je to je donio mnoge prednosti u odnosu na njih, a takoer postoje

    mnogi naini na koji aplikacije mogu kontrolirati i konfigurirati SCTP protokol. Dizajniran

    je da bude fleksibilan, ali i dalje osigurava prihvatljive zadane postavke za aplikacije koje

    se ne ele udubljivati u detalje kontrole transporta. Za aplikacije koje trebaju vie kontrole,

    SCTP omoguava iroki izbor postavki prikljunih raunala i opcija rukovanja. Generalno,

    SCTP se moe koristiti bilo gdje se koristi TCP, i daje aplikacijama veu fleksibilnost.

    SCTP se moe takoer koristiti u sluajevima gdje se uzima u obzir samo UDP, uzimajui

    u obzir potpuno uoblienu realizaciju SCTP-a, ukljuujui djelominu nepouzdanost (PR-

    SCTP). U svakom sluaju, zahvaljujui svojim dobrim osobinama i prednostima u odnosu

    na druge protokole, SCTP e zadrati i nastaviti iriti svoju primjenu na irokom opsegu

    razliitih aplikacija.

  • 7/28/2019 Seminarski Rad - Stream Control Transmission Protocol (Sctp)

    25/25

    23

    LITERATURA

    [1] Stewart, R., Xie, Q. i suradnici, Stream Control Transmission Protocol. RFC 2960,

    2000.

    [2] Transportni sloj, slajdovi s predavanja, ETF Osijek, 2009.

    [3] Veinovi, M., Jevremovi, A., Uvod u raunarske mree, Beograd, 2007.

    [4] www.sciencedirect.com, Media independent handover transport using cross-layer

    optimized stream control transmission protocol.

    [5] Mogul, J., Deering, S., Path MTU Discovery. RFC 1191, 1990.

    [6] Karn, P., Simpson, W., Photuris: Session-Key Management Protocol, RFC 2522,

    1999.

    [7] www.sciencedirect.com, Troughput models for SCTP with parallel subflows.

    [8] RFC 793. Transmission Control Protocol, 1981.

    [9] www.sciencedirect.com, LS-SCTP: a bandwich aggregation technique for stream

    control transmission protocol.

    [10] www.sciencedirect.com, Performance evaluation of subflow capable SCTP.

    [11] http://www.sctp.de, Biblioteka SCTPLIB.

    [12] Koh, S. J., Xie, Q., Park, S. D.,Mobile SCTP (mSCTP) for IP Handover Support.

    Internet draft, 2005.