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