38
STREAM CONTROL TRANSMISSION PROTOCOL (SCTP) SEMINARSKI RAD

Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

STREAM CONTROL TRANSMISSION PROTOCOL (SCTP)

SEMINARSKI RAD

2011.

Page 2: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

SADRŽAJ

1. UVOD.............................................................................................................................1

2. SCTP PROTOKOL......................................................................................................3

3. SCTP PAKETI..............................................................................................................5

4. 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 ZAGUŠENJA............................................10

4.4. SCTP MONITORING (MEHANIZAM HEARTBEAT).......................................11

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

5. SVOJSTVO VIŠESUSTAVNOSTI...........................................................................13

6. SCTP REKONFIGURACIJA DINAMIČKE ADRESE.........................................14

7. SCTP S DJELOMIČNOM POUZDANOŠĆU (PR-SCTP)....................................16

8. TRANSMISSION CONTROL - SCTP (TC-SCTP)................................................17

9. USPOREDBA S TCP I UDP PROTOKOLOM.......................................................19

10. ZAKLJUČAK..........................................................................................................22

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

Page 3: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja
Page 4: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

1. UVOD

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

pružiti pouzdan i efikasan prijenos podataka od izvora do odredišta, neovisno o fizičkoj

mreži ili mrežama koje se trenutno koriste. Transportni sloj OSI i TCP/IP referentnih

modela predstavlja sloj između sloja aplikacije (tj. aplikacijskog sloja sesije kod OSI

modela) i mrežnog sloja, kao što je prikazano na slici 1.1. Općenita uloga ovog sloja, kao i

ostalih slojeva je omogućivanje komunikacije sloja iznad i sloja ispod (u ovom slučaju

sloja aplikacije sa slojem mreže). Konkretna uloga ovog sloja je prihvaćanje podataka

aplikacije predajnika i njihovo dostavljanje aplikaciji prijemnika, pri čemu kontrolira

prijenos, kontrolira i ispravlja pogreške pri prijenosu, te osigurava isporuku. Podrška za

transportni sloj je uglavnom realizirana na razini operativnih sustava računala, s tim da sam

transportni sloj nije eksplicitno definiran već se realizira kroz podršku 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 omogućuju razvoj različitih transportnih

protokola, danas je u upotrebi, ovisno o korisničkim zahtjevima najčešće Transmision

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

protokol koji uspostavlja logičku vezu između procesa u mreži. Vrši funkcije osnovnog

3

Page 5: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

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

prioriteta i sigurnosti. Omogućuje 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 omogućuje pouzdan prijenos podataka, a o

pouzdanosti prijenosa, ako je potrebno, brine se sama aplikacija. U osnovi služi kao

aplikacijsko sučelje 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 ograničen u mnogim

pogledima. TCP pruža pouzdan prijenos podataka, ali strogim redom, dok mnoge

aplikacije trebaju prijenos bez održavanja slijeda, a neki će biti zadovoljeni s djelomičnim

poredanim podacima. U oba slučaja head-of-line blokiranje kod TCP protokola uzrokuje

nepotrebno kašnjenje. Nadalje, prenošenje podataka u obliku struje okteta je često

nepovoljno jer aplikacije moraju dodavati oznake blokova podataka za razgraničavanje

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

razumnom vremenu. Ograničen opseg TCP priključnica komplicira omogućavanje visoke

dostupnosti prijenosa podataka korištenjem višesustavnih računala. TCP je relativno

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

Prijenos PSTN signalizacije preko IP mreža je aplikacija za koju su sva ova

ograničenja 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

mreža s prijenosom podataka bez spajanja, kao što je IP. Korisnicima nudi mnoge usluge,

koje ćemo pobliže predočiti i objasniti kroz seminarski rad.

R

4

Page 6: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

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 služio kao podrška za signaliziranje u ''Voice over IP''

(VoIP) aplikacijama. Od tada je poopćen i donosi određena poboljšanja u odnosu na TCP,

uključujući sigurnost i robusnost. SCTP je pouzdan protokol usmjeren na poruke, s

mogućnostima višesustavnosti i višesljednosti. Kao što je prikazano na slici 2.1, protokol

omogućuje krajnjim čvorovima komunikaciju preko više adresa, zbog često postojanja

višestrukih mrežnih sučelja, [4].

Slika 2.1: SCTP arhitektura

Danas se SCTP može koristiti kao transportni protokol za aplikacije koje zahtijevaju

praćenje 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 označava ostvarenu SCTP

komunikaciju između dviju ravnopravnih stanica. SCTP mehanizmi detekcije gubitka

sesije aktivno prate spojenost sesije za takve tipove aplikacija. Njegova izvedba uključuje

odgovarajuću kontrolu izbjegavanja zagušenja od usmjeravanja prometa svim čvorištima u

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

Glavne razlike u odnosu na protokol TCP su višesustavnost (multihoming) i višesljednost

(multistreaming).

5

Page 7: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

2.2: Načelo SCTP asocijacije

SCTP koristi višesustavnost za uklanjanje kvarova. Jedna od istorazinskih adresa označena

je kao zadana odredišna adresa. Ova zadana adresa zajedno s zadanim izvorišnim adresama

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

odredišna adresa. Rezultati proučavanja radnih svojstava višesustavnosti pokazali su da je

smanjeno inicijalno kašnjenje paketa ukoliko dođe do gubitka paketa.

Slika 2.1 pokazuje da je veza između dvije krajnje točke skup jednosmjernih tokova.

Višesljednost ima mogućnost otklanjanja ''Head of Line'' (HOL) efekta TCP-a, zbog kojega

su paketi u redu čekanja, čekajući prepoznavanje svih segmenata. Kod okruženja u kojemu

djeluje višesljednost, paketi iz različitih tokova prometuju nezavisno. SCTP koristi

selektivno potvrđivanje (SACK) za označivanje transmisijskog rednog broja (TSN) svakog

primljenog bloka podataka, poznatih kao chunk. Za sigurnost SCTP omogućuje

četverostrano usklađivanje (4-way handshake) tijekom inicijalizacije nove asocijacije.

COOKIE mehanizam koristi se tijekom postavljanja puta za utvrđivanje krajnjih točaka.

COOKIE identificira moguću krađu adresa. Dok postoji veza, Heartbeat poruke se

periodično izmjenjuju radi određivanja dostupnosti ponuđenih IP adresa.

Aplikacijsko programsko sučelje (API) omogućuje SCTP-ovu aplikaciju za kontroliranje

brojeva tokova i adresa radi oglašavanja tijekom inicijalizacije. Aplikacije mogu također

točno odrediti vijek trajanja paketa, uređivanje i identifikator konteksta za svaku poslanu

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

aplikaciji.

6

SCTP KORISNIČKAAPLIKACIJA

SCTP PRIJENOSNAUSLUGA

IP MREŽNA USLUGA

SCTP KORISNIČKAAPLIKACIJA

SCTP PRIJENOSNAUSLUGA

IP MREŽNA USLUGAJEDNA ILI VIŠEIP ADRESA

JEDNA ILI VIŠEIP ADRESA

SCTP ČVOR A SCTP ČVOR BMREŽNI PRIJENOS

Page 8: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

3. SCTP PAKETI

U SCTP protokolu, prijenos podataka između dva računala odvija se tijekom asocijacije,

kao što je prikazano na slici 2.2. Svi podaci se prenose enkapsulirani u SCTP pakete.

Prilikom korištenja protokola SCTP s protokolom IP, SCTP paket formira skup korisničkih

podataka u IP paketu (tj. stvara mu zaglavlje). SCTP paket sadrži zajedničko 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.).

3.1: Građa SCTP paketa

Građa SCTP paketa prikazana je na slici 3.1. Prema njoj je vidljivo da zaglavlje SCTP

paketa tvore:

Izvorišni i odredišni port, radi omogućivanja multipleksiranja različitih SCTP

asocijacija na istoj adresi – princip isti kao kod TCP-a, odnosno UDP-a. Izvorišni i

odredišni port zauzimaju po 16 bita.

Oznaka provjere (engl. Verification Tag) – slučajno generiran 32 bitni broj koji služi

primatelju kao provjera da paket pripada trenutnoj asocijaciji, a ne prijašnjoj. Osim od

zastarjelih, štiti i od unošenja lažnih poruka u SCTP asocijaciju.

7

Izvorišni port Odredišni port

Oznaka provjere

Cheksum

Tip Zastavice Duljina paketa

Korisnički podaci

SCTPzaglavlje

Blokpodataka 1

32 bita

.

.

.

.

.

.Tip Zastavice Duljina paketa

Korisnički podaciBlok

podataka N

Page 9: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

Kontrolna sekvenca (engl. Checksum) – 32 bita koji se koriste za detekciju grešaka

(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 potvrđivanja

(SACK), ili podatkovni. Izgled chunk-a prikazan je na slici 3.2. Svaki chunk sadrži naziv

tipa, chunk zastavice, duljinu i veličinu chunk-a.

Slika 3.2: Blok podataka (chunk)

Trenutno postoji 13 tipova SCTP blokova podataka različitih duljina koje protokol

definira. Kontrolni chunk-ovi sadržavaju različite zastavice i parametre, ovisno o tipu

chunk-a. Radi ostvarivanja učinkovitosti prijenosa, SCTP dopušta objedinjavanje

višestrukih podataka i kontrolnih chunk-ova u jedan paket.

Slika 3.3: Izgled podatkovnog chunk-a

Podatkovni chunk je spremnik korisničkih podataka koji se prenose u SCTP-u. Njegov je

izgled prikazan na slici 3.3. Podatkovni chunk-ovi sadržavaju zastavice za kontrolu

podrazine rastavljanja i sastavljanja, pored sljedećih 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 podrška višesljednosti, dok je Payload protocol identifier uključen

8

Page 10: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

radi fleksibilnosti u budućnosti. Podatkovni chunk-ovi koji stižu do SCTP

prijemnika potvrđuju se prijenosnim SCTP paketom sa SACK kontrolnim chunk-om, čiji je

oblik prikazan na slici 3.4. Tijekom inicijalizacije asocijacije SCTP krajnje točke

izmjenjuju veličine njihovih prijemnih okvira (pokazatelj dostupnog prostora u ulaznom

međuspremniku) i početni TSN podatkovnih chunk-ova koji će biti izmjenjeni tijekom

asocijacije, [9].

Slika 3.4: Kontrolni chunk (SACK)

9

Page 11: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

4. PRIJENOS PODATAKA KOD SCTP PROTOKOLA

4.1. INICIJALIZACIJA SCTP ASOCIJACIJE

Prije početka SCTP prijenosa podataka između dviju ravnopravnih stanica, mora se izvršiti

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 određen je na sljedeći način (pretpostavlja se da stanica A pokušava

ostvariti asocijaciju sa stanicom B, te da stanica B prihvaća 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. Odredišna

adresa INIT ACK-a mora biti postavljena na izvorišnu adresu bloka podataka INIT.

Također, stanica B u bloku podataka INIT ACK šalje i parametar State Cookie koji

označava da je u pripravnosti za dodatnu provjeru autentičnosti 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 tekođer se mogu upakirati i korisnički podaci.

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

inicijalizacija asocijacije smatra se uspješnom.

10

Page 12: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

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

11

Page 13: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

Faze:

(1) Ako je parametar State Cookie u primljenom bloku podataka COOKIE ECHO nevažeći

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

ako je parametar State Cookie istekao, prijemnik mora nazad poslati ERROR chunk. U

oba slučaja prijemnik ostaje u stanju CLOSED.

(2) Ako vrijeme u T1-init brojaču istječe, krajnja točka mora ponovno poslati blok

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

ponavlja dok vrijeme ne dođe do 'Max.Init.Retransmits'. Tada krajnja točka mora

prekinuti inicijalizaciju procesa i prijaviti pogrešku SCTP korisniku.

(3) Ako vrijeme u T1-cookie brojaču istječe, krajnja točka mora ponovno poslati blok

podataka COOKIE ECHO i ponovno pokrenuti T1-cookie brojač bez mijenjanja stanja.

Postupak se ponavlja dok vrijeme ne dođe do 'Max.Init.Retransmits'. Tada krajnja

točka mora prekinuti inicijalizaciju procesa i prijaviti pogrešku SCTP korisniku.

(4) U SHUTDOWN-SENT stanju krajnja točka mora potvrditi svaki primljeni DATA

chunk bez kašnjenja.

(5) U SHUTDOWN-RECIEVED stanju krajnja točka ne mora prihvatiti od SCTP

korisnika nijedan novi zahtjev za slanje.

(6) U SHUTDOWN-RECIEVED stanju krajnja točka 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 točka 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 ZAGUŠENJA

Kao što je već prije rečeno, implementacija SCTP-a prema RFC-u 2960 mora

posjedovati mehanizme za kontrolu toka podataka i zagušenja. SCTP raspoznaje različite

slijedove poruka tijekom SCTP asocijacije. Ovo omogućuje način isporuke gdje je bitan

samo redoslijed poruka po slijedu. Tijekom asocijacije protokol osigurava pouzdan

prijenos podataka koristeći kontrolnu sekvencu, numeriranje paketa i mehanizam

selektivne retransmisije. Blokovi podataka koji pripadaju jednom ili više sljedova podataka

12

Page 14: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

mogu biti grupirani i preneseni u jednom SCTP paketu osiguravajući da paket nije veći od

trenutnog MTU-a staze kojom se paket prenosi. Detekcija gubitka i duplikata korisničkog

bloka podataka osigurana je s numeriranjem svih korisničkih blokova podataka kod

pošiljatelja sa tzv. transportnim brojem sekvence. Potvrde koje se šalju od strane primatelja

prema pošiljatelju su bazirane po tim brojevima sekvenci.

Slika 4.3.1: Prijenos podataka putem SCTP asocijacije

Retransmisije su kontrolirane brojačem. Trajanje brojača postavlja se na osnovu

konstantnog mjerenja vremena kružnog kašnjenja (RTD). Ako istekne brojač retransmisije,

svi nepotvrđeni korisnički blokovi podataka šalju se ponovno i brojač se pokreće

postavljajući se na dvostruku inicijalnu vrijednost. Kada primatelj detektira jednu ili više

praznina u sekvenci podatkovnog bloka podataka, svaki primljeni SCTP paket se potvrđuje

sa slanjem selektivne potvrde (SACK) koja potvrđuje sve praznine u sekvenci. Kada

pošiljatelj primi četiri SACK potvrde koje za isti korisnički blok podataka javljaju da

nedostaje, taj se korisnički 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 zadužen blok podataka HEARTBEAT koji se šalje na sve putove koji se ne koriste za

prijenos korisničkih blokova podataka tijekom asocijacije. Svaki blok podataka

HEARTBEAT mora biti potvrđen sa blokom podataka HEARTBEAT-ACK.13

Page 15: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

Slika 4.4.1: Primjer višesustavne asocijacije

Primjer višesustavne asocijacije vidi se na slici 4.4.1. Dakle, crvenom bojom označen je

primarni put kojim se vrši prijenos podataka između stanica A i B. Aktivnost ostalih

putova ispituje se HEARTBEAT blokom podataka.

Putovi su aktivni ako su SCTP paketi koji se njima šalju potvrđeni, u suprotnom, ako za

više SCTP paketa ne stigne potvrda na izvorište, putovi su neaktivni. Također, ako u

određenom vremenu broj nepotvrđenih HEARTBEAT blokova i broj pokušaja

retransmisije prijeđe unaprijed određen broj (vrijednost koja je podesiva), asocijacija se

prekida.

Korisnik je tijekom SCTP asocijacije obaviješten 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 pruža dva načina prekida komunikacije:

1. Graceful (veže se uz blok podataka SHUTDOWN) – na zahtjev korisnika. Bilo koja

strana za vrijeme komunikacije može inicirati ovakav prekid asocijacije. Kada podaci

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

odredište, asocijacija završava.

2. Ungraceful (veže se uz blok podataka ABORT) – ili na zahtjev korisnika (primitivni

ABORT) ili kao rezultat detekcije greške unutar SCTP asocijacije.

SCTP ne podržava poluotvoreno stanje što je slušaj kod TCP-a, gdje jedna strana može

nastaviti slanje podataka dok je druga strana zatvorena.

14

Page 16: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

5. SVOJSTVO VIŠESUSTAVNOSTI

Stanica se naziva višesustavna (engl. multihoming) ako posjeduje više adresa mrežnog

sloja. U slučaju IP mreža, to znači da stanica ima više IP adresa. S takvim karakteristikama

nije nužno da stanica posjeduje više sučelja fizičkog linka zbog toga što se više IP adresa

može postaviti na jedno sučelje fizičkog linka.

Transportni protokol podržava višesustavnost ako krajnjim stanicama možemo pridružiti

više od jedne adrese transportnog sloja, tj. IP adresa s pridruženim brojem porta. SCTP

protokol podržava rad s terminalima koji mogu ostvariti komunikaciju u mreži s više

različitih IP adresa na svojim sučeljima. Ako neka stanica ima više IP adresa, prilikom

inicijalizacije SCTP asocijacije s poslužiteljem, ona šalje podatke o svim svojim IP

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

asocijacije potrebna samo jedna IP adresa poslužitelja jer poslužitelj u paketu odgovora

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

podržava i IPv4 i IPv6 adrese (čak i kombinaciju). Takva SCTP asocijacija za transmisijski

put između stanica može koristiti bilo koje IP adrese ravnopravnih stanica. Prilikom

uspostave asocijacije između stanica, jedna od IP adresa koju poslužitelj šalje terminalu u

bloku podataka INIT-ACK postavlja se kao primarni put. Uobičajeno je da se podaci šalju

primarnim putem, a retransmisija se može izvoditi i ostalim putovima.

15

Page 17: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

6. SCTP REKONFIGURACIJA DINAMIČKE ADRESE

Tijekom SCTP pripreme povezivanja, svaka krajnja točka dostavlja popis dostupnih IP

adresa s kojih mogu mogu biti dohvaćene. Ako je čvor pokretan, vjerojatno će vršiti

prekapčanja i njegove IP adrese će se morati ažurirati. Postoje dvije mogućnosti kako

održati povezanost nakon promjene adrese: prva zahtijeva od IP sloja sakrivanje promjena

korištenjem protokola pokretljivosti sloja 3 kao mobilnog IP protokola. Druga mogućnost

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

prekapčanje sloja 4. Pokazano je da transportni protokol koji uzima u obzir prekapčanja

omogućuje bolji radni učinak od kada obuhvaća samo krajnje točke i ne oslanja se na

elemente drugih mreža kao što je posrednik mobilnog čvora mreže (Home Agent, HA).

SCTP krajnja točka može oglašavati promjene o svojoj lokalnog adresi sve dok je

asocijacija uspostavljena. Na taj način udaljeni čvor ne mora čekati istjecanje vremena

heartbeat mehanizma da bi mogao odrediti je li adresa nevažeća. Korištenjem protokola

pokretljivosti koji je upoznat sa zagušenjima, tj. SCTP protokola s rekonfiguracijom

dinamičke adrese, obavljanje transporta je osigurano tijekom prekapčanja. Rekonfiguracija

dinamičke adrese definira novi tip chunk-a, nazvan promjena konfiguracije adrese

(Address Configuration Change, ASCONF).

Blok podataka ASCONF (engl. Address Configuration Change) nudi sljedeće mogućnosti

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 točka za pokazivanje njezine dostupnosti preko nove IP

adrese, ili za ukazivanje na to da nije dostupna preko prethodno oglašene adrese. Druga

namjena ASCONF chunk-a je za definiranje koju lokalnu IP adresu treba čvorište razine

koristiti kao primarno odredište.

U višesustavnim scenarijima se tijekom vremena može mijenjati kvaliteta bežične veze.

Informirajući čvorište razine da koristi najbolje povezivanje, cijela izvedba se ostvaruje sa

smanjenim brojem gubitaka paketa i retransmisija. Promjenom primarnog puta prije

16

Page 18: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

gubitka veze također se smanjuje gubitak paketa, a da bi se to ostvarilo, koriste se MIH

okidači za pokretanje slanja ASCONF chunk-a. Tipična realizacija koristi

MIH_Link_Going_Down slučaj za promjenu primarnog puta prije nego se dogodi

prekapčanje. Kod MIH_Link_Going_Down slučaja, uklanja se IP adresa sučelja, a nakon

završetka prekapčanja se registrira nova IP adresa, [4].

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

značajkom višesustavnosti protokolu daje mogućnost pokretljivosti u bežičnim lokalnim

mrežama. Nakon toga protokol u nekim Internet predlošcima dobiva naziv SCTP u

bežičnoj okolini (mobile SCTP, mSCTP), (Koh i sur., 2005.).

17

Page 19: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

7. SCTP S DJELOMIČNOM POUZDANOŠĆU (PR-SCTP)

SCTP je protokol pouzdanog prijenosa. Ako je blok podataka poslan, vrši se

retransmisija sve dok nije uspješno primljen i potvrđen od strane čvorišta razine. Parametar

vijeka trajanja paketa koji donosi program važeći je za poruke koje SCTP još nije pokušao

isporučiti. PR-SCTP osigurava sposobnost djelomične pouzdanosti SCTP-u, dopuštajući

mu preskakanje transmisije određenih blokova podataka. Novi chunk imenovan kao

FORWARD-TSN definiran je za označivanje 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 podržan od obje krajnje točke, a mogućnst je

ponuđena tijekom inicijalizacije sesije, [4].

Okvirno, PR-SCTP omogućuje različitim 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š nepotvrđenih poslanih chunk-ova. Ako vijek trajanja istječe, a chunk

još nije potvrđen, predajnik šalje FORWARD-TSN koji daje informaciju prijemniku da taj

chunk treba preskočiti.

18

Page 20: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

8. TRANSMISSION CONTROL - SCTP (TC-SCTP)

Ciljevi koje očekujemo uvođenjem SCTP protokola su smanjenje nepotrebnog prijenosa i

prilagodba mreže. No, ne očekuje se za sve prijenose podataka zadovoljenje ograničenosti

kašnjenja. Podaci koji se prenose, ali nisu uspjeli zadovoljiti sa svojim ograničenjima

kašnjenja, mogu se odbaciti bez utjecaja od prijemne strane. Iako pojava takvih

nepotrebnih transmisija ne može pogoršati stanje u mreži, u takvim slučajevima ne

možemo očekivati da se dogodi bilo kakvo aktivno poboljšanje u stanju u mreži. Stoga, da

bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u

kojoj pošiljatelj izostavlja podatke s kratkim marginalnim vremenom, za prijenos

unaprijed, te šalje odmah sljedeće podatke. Prema tome, uvodi se Transmission Control-

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

TC-SCTP je smješten na transportni sloj između aplikacijskog kontrolnog podsloja i sloja

mreže, 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 međuspremnike prema njihovom određenom tipu. TCSL

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

međuspremniku na stranu prijemnika ili ne, te određuje je li svaki okvir dostavljen PR-

19

Page 21: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

SCTP podsloju. Ako vremenski ograničavatelj odluči da poruka ne može doći do

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

pošiljatelja. Na ovaj se način sprječava nepotreban prijenos. Isto tako, TC-SCTP pruža

diferencijalne usluge prijenosa za video podatke u stvarnom vremenu. Tako možemo

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 pružio diferencijalni prijenos

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

TC-SCTP-a ima četiri međuspremnika: 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 također

označava okvire s njihovim vremenom dolaska, što je potrebno pri izračunavanju vremena

reprodukcije svakog okvira. Vremenski ograničavatelj provjerava ono preostalo vrijeme

reprodukcije za svaku poruku na čekanju iz međuspremnika. Zatim pošiljatelj odabire PR-

SCTP tok prema preostalom vremenu reprodukcije. TC-SCTP usvaja postojeći PR-SCTP

koji podržava različite tipove pouzdanosti i poboljšava ga za slabe točke multimedijskih

usluga. PR-SCTP podsloj TC-SCTP-a otvara više tokova za diferencijalni ponovni prijenos

kada se uspostavi sesija te utvrđuje maksimalan broj retransmisija različito za svaki tok.

TC-SCTP pokazuje višu propusnost nego PR-SCTP i standardni SCTP nakon zagušenja,

odnosno opterećenja mreže.

Budući da standardni SCTP jamči ''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 stići na prijemnik unutar perioda maksimalnog vremena kašnjenja reprodukcije.

TC-SCTP može poboljšati kvalitetu usluga video prijenosa na način da kod povećanja

količine podataka okviri dolaze unutar ograničenog kašnjenja, [9].

20

Page 22: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

9. USPOREDBA S TCP I UDP PROTOKOLOM

SCTP protokol je dizajniran da se uspješno riješe nedostaci i ograničenja koja se

mogu uočiti kod TCP protokola. S obzirom na korisnički prijenos podataka, SCTP

kombinira svojstva UDP-a i TCP-a i dodaje nove, bolje značajke. 

Što se tiče uspostave uspostava veze i sigurnosti, oba protokola, i SCTP i TCP, koriste

skup poruka za uspostavljanje veze koji se međusobno razlikuju. Na slici 9.1 vidimo da

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

usklađivanja (handshake) tijekom incijalizacije nove asocijacije. SCTP protokol koristi

COOKIE mehanizam tijekom postavljanja puta za utvrđivanje krajnjih točaka. COOKIE

identificira moguću krađu adresa i na taj način štiti od mogućih napada. TCP protokol

nema takvu zaštitu 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 pogreške bita, te vrši retransmisiju ili odbacuje odgovarajuće pakete. SCTP

21

Page 23: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

omogućava podjelu jedne asocijacije u do 65536 logičkih podkanala po smjeru, tj. tokova

(streams). Svaka korisnička 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 mogućnost korištenja kontrole toka i kontrole zagušenja algoritama

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

ili ograničavajući okvir nisu potrebni u aplikacijskom sloju za prijemnik kako bi razložili

tok pojedinačnih poruka.

SCTP je sam po sebi generički transportni protokol za IP mreže, s naglaskom na okruženja

s visokom pouzdanošću i sigurnosnim uvjetima. SCTP je prikladan više za aplikacije koje

zahtijevaju dodatne uvjete i pouzdanost zbog novijih usluga kao što su višesustavnost,

višesljednost, očuvanje granica poruke, smanjeno head-of-line blokiranje te poboljšanje

sigurnosnih značajki. Dok TCP vezu ostvaruje kanalom između dvije krajnje točke, SCTP

uvodi koncept asocijacije koja se postoji između dva računala, ali može surađivati s

višestrukim sučeljima svakog računala. To donosi prednost za višesustavna računala koja

imaju više od jednog mrežnog sučelja, a stoga i više od jedne IP adrese s koje mogu biti

upućena. Razlika između TCP povezivanja i SCTP asocijacije prikazana je na slici 9.3.

SCTP omogućava preusmjeravanje mehanizama u slučaju kvara linka. Također koristi tzv.

''provjeru oznake'' i ''cookie state'' mehanizam kako bi zaštitio sebe od  denial of service

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

sloja dodijeljuju se različitim tokovima i to isključivo prema zahtjevima SCTP korisnika.

Budući da je potrebno izvršiti naredbu isporuke unutar svakog toka, ako je potrebno, SCTP

je u stanju tada smanjiti nepotrebno head-of-line blokiranje između različitih tokova.

22

Page 24: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

Slika 9.3: Usporedba TCP povezivanja i SCTP asocijacije

Zahvaljujući višesljednosti, ovaj protokol je opremljen sa internim mehanizmima za

prijenosnu podršku nekoliko objekata istovremeno. Na primjer, HTTP protokol

korištenjem SCTP-a kao prijenosnog sloja može učitavati web stranice sa više 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 zagušenja

na razini asocijacije, što znači da se tokovi koji nose različite objekte tretiraju jednako s

obzirom na ista stanja zagušenja informacija, [6].

Na slici 9.4 prikazan je učinak višeslijednosti kod SCTP-a, u odnosu na TCP-ovu

jednokanalnu vezu. Kada dođe 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 došlo do

gubitka paketa, dok preostali slijedovi nastavljaju normalno slati podatke.

Slika 9.4: Učinak višesljednosti kod SCTP asocijacije u usporedbi s TCP vezom23

Page 25: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

10. ZAKLJUČAK

SCTP, protokol upravljanja transmisijskim slijedom, pouzdani je protokol koji

djeluje na istoj razini kao i UDP i TCP protokol, koji omogućuju funkcije transportnog

sloja mnogim internetskim aplikacijama. SCTP pruža mnoge usluge svojim korisnicima:

potvrđeni prijenos korisničkih podataka bez pogrešaka i dupliciranja, fragmentaciju

podataka radi prilagođavanja veličini MTU otkrivenog puta, isporuku korisničkih poruka

određenim redom kroz više slijedova, mogućnost spajanja višestrukih korisničkih poruka u

jedan SCTP paket, mrežnu razinu tolerancije kvarova kroz višesustavnost. Struktura

SCTP-a uključuje i odgovarajuće izbjegavanje zagušenja, te otpornost na flooding

(poplavno usmjeravanje) i prikrivene napade.

SCTP komunicira putem uspostavljanja povezanosti između krajnjih točaka,

asocijacije. Za svaku asocijaciju, on podržava više neovisno logičkih tokova. Osim toga,

SCTP tok je pogodan za redovito ili neposredno isporučivanje poruka u gornji sloj

protokola. SCTP podržava višesustavnost, što znači da u SCTP asocijacijama svaka krajnja

točka može biti povezana s više sučelja. Zanimljivo je da svi tokovi unutar iste asocijacije

dijele zajednički set parametara, tako da je moguće postići poboljšanu 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 više š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 također postoje

mnogi načini 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 više kontrole,

SCTP omogućava široki izbor postavki priključnih računala i opcija rukovanja. Generalno,

SCTP se može koristiti bilo gdje se koristi TCP, i daje aplikacijama veću fleksibilnost.

SCTP se može također koristiti u slučajevima gdje se uzima u obzir samo UDP, uzimajući

u obzir potpuno uobličenu realizaciju SCTP-a, uključujući djelomičnu nepouzdanost (PR-

SCTP). U svakom slučaju, zahvaljujući svojim dobrim osobinama i prednostima u odnosu

na druge protokole, SCTP će zadržati i nastaviti širiti svoju primjenu na širokom opsegu

različitih aplikacija.

24

Page 26: Latest Seminar Topics for Engineering … · Web viewStoga, da bi se spriječile nepotrebne transmisije i poboljšalo stanje u mreži, potrebna je tehnika u kojoj pošiljatelj izostavlja

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 računarske mreže, 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.

25