You are on page 1of 25

STREAM CONTROL TRANSMISSION PROTOCOL (SCTP)

SEMINARSKI RAD

2011.

SADRAJ
1. 2. 3. 4. UVOD ............................................................................................................................ 1 SCTP PROTOKOL ..................................................................................................... 3 SCTP PAKETI ............................................................................................................. 5 PRIJENOS PODATAKA KOD SCTP PROTOKOLA ............................................ 8 4.1. 4.2. 4.3. 4.4. 4.5. 5. 6. 7. 8. 9. 10. INICIJALIZACIJA SCTP ASOCIJACIJE ............................................................. 8 DIJAGRAM STANJA ASOCIJACIJE PROTOKOLA SCTP ............................... 9 KONTROLA TOKA PODATAKA I ZAGUENJA ........................................... 10 SCTP MONITORING (MEHANIZAM HEARTBEAT) ...................................... 11 PREKID ASOCIJACIJE - BLOKOVI PODATAKA SHUTDOWN I ABORT . 12

SVOJSTVO VIESUSTAVNOSTI .......................................................................... 13 SCTP REKONFIGURACIJA DINAMIKE ADRESE ........................................ 14 SCTP S DJELOMINOM POUZDANOU (PR-SCTP).................................... 16 TRANSMISSION CONTROL - SCTP (TC-SCTP) ............................................... 17 USPOREDBA S TCP I UDP PROTOKOLOM ...................................................... 19 ZAKLJUAK ......................................................................................................... 22

LITERATURA .................................................................................................................. 23

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 1

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 djelominim poredanim 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

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 postojanja viestrukih 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). 3

SCTP KORISNIKA APLIKACIJA

SCTP KORISNIKA APLIKACIJA

SCTP PRIJENOSNA USLUGA

SCTP PRIJENOSNA USLUGA

IP MRENA USLUGA

JEDNA ILI VIE IP ADRESA

JEDNA ILI VIE IP ADRESA

IP MRENA USLUGA

SCTP VOR A

MRENI PRIJENOS

SCTP VOR B

2.2: Naelo SCTP asocijacije SCTP koristi viesustavnost za uklanjanje kvarova. Jedna od istorazinskih adresa oznaena je 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 kojemu djeluje 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.

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.).

32 bita Izvorini port Odredini port SCTP zaglavlje

Oznaka provjere Cheksum Tip


Zastavice

Duljina paketa

Korisniki podaci

Blok podataka 1

. . .
Tip
Zastavice

. . .
Duljina paketa Blok podataka N

Korisniki podaci

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.

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.

Chunk blokovi podataka mogu biti ili kontrolni, kao to je chunk selektivnog potvrivanja (SACK), ili podatkovni. Izgled chunk-a prikazan je na slici 3.2. Svaki chunk sadri naziv tipa, chunk zastavice, 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 chunk je 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 ID i SSN koriste se kao podrka viesljednosti, dok je Payload protocol identifier ukljuen radi fleksibilnosti u budunosti. Podatkovni chunk-ovi koji stiu do 6

SCTP prijemnika potvruju se prijenosnim SCTP paketom sa SACK kontrolnim chunkom, 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)

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. 2. Stanica A alje blok podataka INIT prema stanici B. 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. 8

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 9

Faze: (1) Ako je parametar State Cookie u primljenom bloku podataka COOKIE ECHO nevaei (to jest, nije uspio proi provjeru integriteta), prijemnik mora tiho odbaciti paket. Ili, ako je parametar State Cookie istekao, prijemnik mora nazad poslati ERROR chunk. 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 chunk bez 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 10

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 ili vie 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 da nedostaje, 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 podataka HEARTBEAT mora biti potvren sa blokom podataka HEARTBEAT-ACK. 11

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.

12

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 u bloku podataka INIT-ACK postavlja se kao primarni put. Uobiajeno je da se podaci alju primarnim putem, a retransmisija se moe izvoditi i ostalim putovima.

13

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 heartbeat mehanizma 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 chunk koristi 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. Informirajui vorite razine da koristi najbolje povezivanje, cijela izvedba se ostvaruje sa smanjenim brojem gubitaka paketa i retransmisija. Promjenom primarnog puta prije 14

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.).

15

7. SCTP S DJELOMINOM POUZDANOU (PR-SCTP)


SCTP je protokol pouzdanog prijenosa. Ako je blok podataka poslan, vri se retransmisija 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 FORWARDTSN-a ve primljeni. PR-SCTP mora biti podran od obje krajnje toke, a mogunst je ponuena 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 chunk treba preskoiti.

16

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 prijenos unaprijed, te alje odmah sljedee podatke. Prema tome, uvodi se Transmission ControlSCTP (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 17

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 PRSCTP tok prema preostalom vremenu reprodukcije. TC-SCTP usvaja postojei PR-SCTP koji podrava razliite tipove pouzdanosti i poboljava ga za 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 reprodukcije. TC-SCTP moe poboljati kvalitetu usluga video prijenosa na nain da kod poveanja koliine podataka okviri dolaze unutar ogranienog kanjenja, [9].

18

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. COO KIE 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 19

(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 tok pojedinanih poruka. SCTP je 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 omoguava preusmjeravanje mehanizama u sluaju kvara linka. Takoer koristi 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.

20

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 koji nadzire zaguenja na 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 21

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. SCTP podrava 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 (PRSCTP). 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. 22

LITERATURA
[1] Stewart, R., Xie, Q. i suradnici, Stream Control Transmission Protocol. RFC 2960, 2000. [2] [3] [4] Transportni sloj, slajdovi s predavanja, ETF Osijek, 2009. Veinovi, M., Jevremovi, A., Uvod u raunarske mree, Beograd, 2007. www.sciencedirect.com, Media independent handover transport using cross-layer optimized stream control transmission protocol. [5] [6] Mogul, J., Deering, S., Path MTU Discovery. RFC 1191, 1990. Karn, P., Simpson, W., Photuris: Session-Key Management Protocol, RFC 2522, 1999. [7] [8] [9] www.sciencedirect.com, Troughput models for SCTP with parallel subflows. RFC 793. Transmission Control Protocol, 1981. www.sciencedirect.com, LS-SCTP: a bandwich aggregation technique for stream control transmission protocol. [10] [11] [12] www.sciencedirect.com, Performance evaluation of subflow capable SCTP. http://www.sctp.de, Biblioteka SCTPLIB. Koh, S. J., Xie, Q., Park, S. D.,Mobile SCTP (mSCTP) for IP Handover Support. Internet draft, 2005.

23

You might also like