TRIP Telephony Routing over IP. Mr Nenad Krajnović Katedra za telekomunikacije

Similar documents
RIP v2. Mr Nenad Krajnović Katedra za telekomunikacije

Računarske osnove Interneta (SI3ROI, IR4ROI)

PREDMET. Osnove Java Programiranja. Čas JAVADOC

VRIJEDNOSTI ATRIBUTA

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

Programiranje III razred

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

VHDLPrimeri Poglavlje5.doc

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

Uputstvo za podešavanje mail klijenta

Uputstvo za korišćenje logrotate funkcije

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

5. CTRIP Attributes. 5.1 WithdrawnRoutes. This section defines the syntax and semantics of the CTRIP attributes transported in the UPDATE message.

BGP. dr Pavle Vuletić. Internet istorija (1) ARPANET ( ) 56kbps. Samo za akademske, istraživačke i vladine institucije nekomercijalna

TCP/IP protokolski stek. OSI model i TCP/IP stek ICMP, ARP, RARP

Preporučeni redosled. next-header

Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE)

x y = z Zadaci - procedure

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:

Vežba 3 Mrežni protokoli

Uvod u relacione baze podataka

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

VDSL modem Zyxel VMG1312-B10A/B30A

2. Linijska algoritamska struktura

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

VB komande. Programiranje 1

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Programske paradigme Funkcionalna paradigma

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Modbus TCP i dva PLC S7 1200

Informacioni sistemi i baze podataka

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

Ovde će se raditi na funkcijama konverzija: konverzija tipa datuma u znak tip i obrnuto, konverzija broja u karakter tip i obrnuto

Izrada VI laboratorijske vježbe

Jezik Baze Podataka SQL. Jennifer Widom

Laboratorijske vežbe

Variable Neighborhood Descent - VND (Metoda promenljivog spusta)

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end.

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

Računarska tehnika i računarske komunikacije Osnovi računarskih mreža 2. Vežba 3 Adresiranje. Dynamic Host Configuration Protocol (DHCP)

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

RAČUNARSKE MREŽE. Računski. centar

Mrežni koncepti (koncept, skica, nacrt, plan) o Pregled na najvažnije koncepte mreže. Slanje paketa sa Argon-1 prema Neon-u

Internet programiranje

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

Prenos govora pomoću u IP protokola Voice over IP (VoIP) Mr Nenad Krajnović

Request for Comments: Cisco H. Salama Citex Software D.N. Shah Moowee Inc. March A Telephony Gateway REgistration Protocol (TGREP)

Definicije kolona su odvojene zarezima CREATE TABLE Example Sledeći primer poklazuje CREATE TABLE iskaz:

NIZOVI.

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

Integritet u relacionim bazama podataka

JavaScript i HTML DOM

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi

Računarska tehnika i računarske komunikacije Osnovi računarskih mreža 1. Vežba 7 Wireshark

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

VoIP IP telefonija. Šta je problem? Prenos govora pomoću u IP protokola Voice over IP (VoIP) Mr Nenad Krajnović

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici

Cjenovnik usluga informacionog društva

KLASIFIKACIJA JELENA JOVANOVIĆ. Web:

Dežurni nastavnik: Kolokvijum traje 1.5 sat, prvih sat vremena nije dozvoljeno napuštanje kolokvijuma. Upotreba literature nije dozvoljena.

12. Uskladištene procedure (Stored Procedures)

root gtld cctld cct..rs .co.c m .org .ne.n t .uk .de .org.o. rg.rs

SIMULACIJA EIGRP PROTOKOLA Diplomski rad

USLOVI I CENE KORIŠĆENJA ZA TARIFNE PAKETE «PRENESI I SURFUJ+»

... ; ako je a n parno. ; ako je a n neparno

Veliki računski zadaci mogu se razbiti u manje delove i time se omogućava ljudima da iskoriste ono što su neki drugi već uradili, umesto da počinju

TEHNIKA I INFORMATIKA U OBRAZOVANJU

VII Lokalne mreže LAN SNA Digital

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

Lab 6: Osnovna OSPF konfiguracija

Visoka tehnička škola strukovnih studija Novi Sad. seminarski rad na temu: Modbus protokol. dr. Velibor Pjevalica

Deo CCITT X.500 directory service standarda Distribuirani serveri koji održavaju neku bazu sa informacijama

Lekcija 02 Uslovni iskazi i petlje, Funkcije. Miljan Milošević

PROGRAMIRANJE. Amir Hajdar

Inter-Domain Routing: BGP

GUI - događaji (Events) i izuzeci. Bojan Tomić

Primena QoS protokola u MANET mrežama Application of the QoS Protocol in MANET networks

Unaprjeñenje sigurnosti u mrežama pružatelja

Programiranje III razred

Internet Routing Seminar. September/2000

Geant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce)

QRadar & StealthINTERCEPT

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji

Slika 1: Elementi mreže: krajnji čvor, međučvor, link i putanja

Prenos podataka - Ethernet. 9. Ethernet

Adresiranje i rutiranje. Goran Škondrić

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

KLASIFIKACIJA MANET PROTOKOLA RUTIRANJA

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n.

1/42 SQL DDL. CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2)

USB 3.0 standard Seminarski rad, Balković Viktor NRT 2/11

Prva recenica. Druga recenica.

Transcription:

TRIP Telephony Routing over IP Mr Nenad Krajnović Katedra za telekomunikacije E-mail: krajko@etf.bg.ac.yu

TRIP zašto? Protokol definisan u okviru RFC-a 3219 (status: proposed standard). Framework za postojanje TRIP-a definisan je u RFC- 2871 Namenjen je razmeni informacija, o dostupnosti odredišta, između location servera i za oglašavanje atributa tih ruta za navedena odredišta. Sličan BGP-4 protokolu na osnovu koga je i nastao. Nezavistan je od signalizacionih protokola tako da se može koristiti u kombinaciji sa bilo kojim od njih. 2

Osnovni pojmovi LS Location Server Peers Dva LS-a koji imaju uspostavljenu konekciju Ako su LS-ovi unutar istog ITAD (IP Telephony Administration Domain) onda su oni internal peers Ako su LS-ovu u različitim ITAD-ima onda su external peers TRIP odredište kombinacija skupa adresa (definisane kao tip adrese i adresni prefix) i aplikacionog protokola (SIP, H.323...) 3

Zašto TRIP? U zavisnosti od vrste komunikacije (IP<->PSTN) postavlja se pitanje izbora krajnje tačke (MGw) Teorijski, svaki MGw može da se iskoristi za prelazak na PSTN Pored tehničkih parametara (kapacitet, rastojanje do odredišta i slično), veoma su važna i administrativna pravila (da li je to vaš MGw, da li imate pravo da ga koristite...) 4

Zašto TRIP? Potreban je protokol koji bi omogućio operatorima da dinamički oglašavaju drugim operatorima svoje MGw i korisnike (brojeve telefona) kojima se može pristupiti posredstvom MGw-a Taj protokol je TRIP 5

TRIP skup funkcija: Uspostava i održavanje peering veza između provajdera. Razmena i sinhronizacija MGw routing informacija između provajdera. Sprečavanje formiranja petlje u rutiranju za IP telephony signalizacione protokole. Prosleđivanje informacija ka provajderima koje su dobijene od drugih provajdera. Definicija sintakse i semantike za podatke koji opisuju rute za telefonske MGw. 6

SIP transakcija - primer request response SIP redirect server SIP proxy 2 Location service 1 Kako LS zna gde se nalazi krajnji korisnik? UAC 7

TRIP Mesto TRIP-a a u mreži ITAD ITAD MGw TRIP MGw MGw MGC LS LS MGC MGw TRIP MGw MGw LS MGC ITAD MGw MGw MGw 8

Tri vrste ruta kod TRIP-a: Eksterne ruta primljena od eksternog LS peer-a Interne ruta primljena od internog LS peer-a Lokalna ruta lokalno ubačena u TRIP protokol (konfiguracijom ili redistribucijom iz nekog drugog protokola) 9

Formati paketa Za transport svojih poruka TRIP uspostavlja konekciju posredstvom transportnog protokola Maksimalna veličina poruke je 4096 bajtova i svi serveri moraju da budu u stanju da prihvate tako veliku poruku 10

Formati paketa zaglavlje TRIP-a Length (2) Type (1)( Zaglavlje je uvek fiksne dužine U zavisnosti od polja type, imamo različite tipove paketa: OPEN UPDATE NOTIFICATION KEEPALIVE 11

OPEN Message format Length (2) Type=1 (1)( Version (1) Reserved (1) Optional Parameters Length (2) My ITAD (4) Hold Time (2) Optional Parameters (variable) zaglavlje Ostatak TRIP paketa 12

OPEN Message format Version trenutno važeća verzija TRIP protokola je 1 Hold Time maksimalno dozvoljeno vreme koje sme da protekne između dve susedne KEEPALIVE i/ili UPDATE poruke My ITAD ITAD broj pošiljaoca paketa 13

OPEN Message format Optional Parameters Length definiše dužinu polja sa opcionim parametrima Optional parameters opcioni parametri koji se daju u sledećoj formi: Parameter Type (2) Parameter Length (2) Parameter Value (variable)... 14

OPEN Message format Tipovi opcionih parametara koji se mogu pojaviti u OPEN poruci: Capability information sadrži informacije o mogućnostima LS-a Route types supported koja vrsta ruta je podržana od strane LS-a koji šalje poruku Send receive capability (send receive, send only, receive only) u kom režimu LS može da radi za datu peering sesiju 15

UPDATE Message format Koristi se za razmenu informacija o TRIP rutama između LS-ova U jednoj poruci se istovremeno mogu nalaziti delovi koji oglašavaju TRIP rutu i povlače staru TRIP rutu Poruka se sastoji od Route Attribute-a koji se nadovezuju jedan na drugi 16

UPDATE Message format Routing attributes: Attr. Flags (1) Attr. type code Attribute Length (2) Attribute flags: Length (2) Type=2 (2) Attribute Value (variable)... Bit 0 Well-known flag nije well-known atribut (1) ili jeste (0) Bit 1 Transitive flag tranzitivni not well-known atribut (1) ili nije tranzitivni (0) Bit 2 Dependent flag zavisan tranzitivni atribut (1) ili nezavisni tranzitivni atribut (0) Bit 3 Partial flag informacija u not well-known atributu je parcijalna (1) ili kompletna (0) Bit 4 Link state encapsulation važi samo za dva tipa atributa: ReachableRoutes i WithdrawnRoutes; definiše da li je enkapsulacija link-state (1) ili standardna 17

UPDATE Message format Ako se koristi link-state enkapsulacija informacija, tada je format paketa sledeći: Attr. Flags (1) Attr. type code Attribute Length (2) Originator TRIP Identifier Sequence Number Attribute Value (variable)... Ubačena polje se koriste za detektovanje duplih i starih ruta tako da se one više ne prosleđuju drugim LS-ovima. 18

UPDATE Message format - atributi WithdrawnRoutes sadrži listu ruta koje treba povući iz upotrebe jer više nisu dostupne ReachableRoutes lista ruta koje treba dodati u grupu aktivnih ruta NextHopServer identifikuje server kome ova poruka treba da bude poslata; može da sadrži i UDP/TCP port koji će se koristiti za komunikaciju 19

UPDATE Message format - atributi AdvertisementPath isto što je AS_Path atribut kod BGP-4 protokola samo što se ovde pamte ITAD-ovi; koristi se za detekciju petlje u prosleđivanju poruka; ne utiče na saobraćaj TRIP paketa kroz mrežu 20

UPDATE Message format - atributi RoutedPath pamti putanju kroz mrežu ali samo one skokove kada dolazi promene NextHopServer atributa AtomicAggregate signalizira da se u ruti mogu nalaziti i domeni koji nisu izlistani u RoutedPath. 21

UPDATE Message format - atributi LocalPreference podatak kojim se obaveštavaju LS-ovu unutar domena o prioritetu prosleđivanja trenutno korišćene rute MultiExitDisc kada postoje dve veze između dva ITAD-a, tada se pomoću ovog protokola reguliše koji je prioritetni 22

UPDATE Message format - atributi Communities ne spada u Well-known atribute; grupiše odredišne adrese u Communities ITAD Topology intra-domain atribut koji se koristi za slanje svoje topologije drugom LS-u ConvertedRoute signalizira da je jedan od LS-ova promenio aplikativni protokol 23

KEEPALIVE Message format Keepalive poruke se razmenjunju između LS-ova da bi signalizirali vidljivost LS-ova Sastoje se samo od zaglavlja TRIP paketa 24

NOTIFICATION Message format Šalje se kada se detektuje greška. Error code (1) Error subcode Data (2) Error code Symbolic name 1 Message Header Error 2 OPEN Message Error 3 UPDATE Message Error 4 Hold Timer Expired 5 Finite State Machine Error 6 Cease 25

Generički TRIP route format Address family (2) Application protocol (2) Length (2) Address (variable) Address family tri tipa su definisana: 1 - Decimal Routing Numbers 2 - PentaDecimal Routing Numbers 3 E.164 Numbers 26

Generički TRIP route format Application Protocol definiše protokole rutiranja za koje se može koristiti TRIP: 1 SIP 2 H.323-H.225.0-Q.931 3 H.323-H.225.0-RAS 4 H.323-H.225.0-Annex-G 27

Generički TRIP route format Decimal Routing Numbers: Decimal-routing-number = *decimal-digit decimal-digit = DECIMAL-DIGIT DECIMAL-DIGIT = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 28

Generički TRIP route format PentaDecimal Routing Numbers: PentaDecimal-routing-number =*pentadecimal-digit pentadecimal-routing-digit = PENTADECIMAL-DIGIT PENTADECIMAL-DIGIT = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "A" "B" "C" "D" "E" 29

Generički TRIP route format E.164 Numbers: E164-number = *e164-digit E164-digit = E164-DIGIT E164-DIGIT = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 30

Generički TRIP route format - adrese Dužina mrežnog prefiksa za rutu određuje se na osnovu polja dužine za rutu. Iako Decimal Routing Numbers i E.164 imaju iste cifre, treba koristiti E.164 kad god je to moguće 31

Način rada Posmatraćemo način rada TRIP-a za dva LS-a 32

Analiza UPDATE poruke Kada stigne UPDATE poruka koja sadrži rutu, tada ta ruta mora da bude smeštena u Adj-TRIB-in (memorija gde se smeštaju sve rute koje stignu, pre nego što se prebace za upotrebu) Smeštanje nove rute ide po sledećem algoritmu: 33

Analiza UPDATE poruke 1. If its destinations are identical to those of a route currently stored in the Adj-TRIB-in, then the new route MUST replace the older route in the Adj-TRIB-in, thus implicitly withdrawing the older route from service. The LS MUST rerun its Decision Process since the older route is no longer available for use. 2. If the new route is more specific than an earlier route contained in the Adj-TRIB-in and has identical attributes, then no further actions are necessary. 3. If the new route is more specific than an earlier route contained in the Adj-TRIB-in but does not have identical attributes, then the LS MUST run its Decision Process since the more specific route has implicitly made a portion of the less specific route unavailable for use. 34

Analiza UPDATE poruke 4. If the new route has destinations that are not present in any of the routes currently stored in the Adj-TRIB-in, then the LS MUST run its Decision Process. 5. If the new route is less specific than an earlier route contained in the Adj-TRIB-In, the LS MUST run its Decision Process on the set of destinations that are described only by the less specific route. 35

Flooding proces Kada LS primi UPDATE poruku od internog peer-a, tada se aktivira flooding i nova informacija se šalje svim internim peer partnerima. Ovo se radi u cilju održavanja sinhronizacije između svih internih LSova. 36

Donošenje odluke LS mora da analizira podatke koji su u Adj-TRIB-in i da donese odluku koje rute će da prihvati. Odluka se donosi primenom administrativno definisanih pravila. Svi interni LS-ovi moraju da primenjuju ista pravila da bi se održala sinhronizacija tabela rutiranja. 37

Donošenje odluke Donošenje odluke se obavlja u tri faze: Faza 1 računanje stepena preferencije Faza 2 izbor najbolje rute od svih ponuđenih ruta i smeštanje u lokalnu bazu ruta Faza 3 slanje informacija o novoformiranoj tabeli rutiranja (TF poziva) svim eksternim peer-ovima 38

Donošenje odluke faza 1 Ako je ruta primljena od internog peer-a tada se parametar LocalPreference uzima za stepen preferencije Ako je ruta primljena od eksternog peer-a tada se stepen preferencije računa prema unapred zadatoj formuli; dobijena vrednost se upisuje i kao LocalPreference parametar i koristi se za razmenu sa ostalim internim peer LS-ovima 39

Donošenje odluke faza 2 Sastoji se iz podfaza 2a i 2b Faza 2a na osnovu podataka od eksternih peer LS-ova i lokalnih ruta donosi se odluka i te rute se smeštaju u bazu eksternih ruta Faza 2b na osnovu podataka u bazi eksternih ruta i ruta od internih peer LS-ova donosi se odluka o izboru najboljih ruta Ako NextHopServer nije dostupan tada se ta ruta uklanja iz tabele rutiranja 40

Donošenje odluke faza 2 Za svako odredište gde imamo više od jedne rute, bira se ona ruta koja: ima veći stepen preferencije ili ako više ruta ima isti stepen preferencije tada se bira ona koja je izabrana kao rezultat izvršavanja posebnih pravila (tie breaking rules) Rute koje se povlače (Withdrawn Routes) obavezno se moraju izbaciti iz tabele rutiranja 41

Donošenje odluke faza 2 Tie breaking rules: ako lokalni LS koristi MultiExitDisc atribut a to šalje susedni ITAD, onda se bira ona ruta koja ima veću vrednost za MultiExitDisc, ako je neka od ruta dobijena od internog peer LS-a, tada se bira onda ruta koja ima najmanji TRIP ID (a da je uz to i generisana od strane lokalnog LS-a), U suprotnom bira se ruta koja je došla od eksternog suseda koji ima najmanji ITAD broj. 42

Donošenje odluke preklapajuće e rute Ako u Adj-TRIB-in tabeli imamo rute koje se preklapaju (odnose se na isto odredište ali sa različitom preciznošću) tada se koristi preciznija ruta Kada primi oglašanje ruta koje se preklapaju, proces donošenja odluke o izboru rute može da postupi po jednom od pravila: 43

Donošenje odluke preklapajuće e rute 1. Install both the less and the more specific routes 2. Install the more specific route only 3. Install the non-overlapping part of the less specific route only (that implies disaggregation of the less-specific route) 4. Aggregate the two routes and install the aggregated route 5. Install the less specific route only 6. Install neither route 44

Učestanost oglašavanja avanja ruta Rute primljene od internih peer LS-ova i namenjene drugim internim peer LSovima se šalju bez bilo kakvog zadržavanja Poruke o povlačenju ruta (Withdrawn Routes) se prosleđuju bez zadržavanja Sva ostala oglašavanja se obavljaju sa pauzama definisanim parametrom MinRouteAdvertisementInterval 45

Smanjenje količine ine informacija koje se šalju Da bi se smanjio potreban komunikacioni kapacitet, LS može da: Izvrši agregaciju ruta Izvrši izbacivanje ITAD brojeva koji se pojavljuju u AP_Path atributu više od jednom tako da svaki ITAD broj ostane samo jednom 46

Način transporta Za transport TRIP poruka koristi se TCP protokol port 6069 47

TRIP topologija Nema ograničenja po pitanju intradomain topologije LS-ovi u ITAD-u mogu da se nađu u bilo kojoj topologiji (full mesh, star, ring...) 48

TRIP tajmeri preporučene ene vrednosti ConnectRetry Hold Time KeepAlive MaxPurgeTime TripDisableTime MinITADOriginationInterval MinRouteAdvertisementInterval 120 sekundi 90 sekundi 30 sekundi 10 sekundi 180 sekundi 30 sekundi 30 sekundi 49

TRIP Telephony Routing over IP Mr Nenad Krajnović Katedra za telekomunikacije E-mail: krajko@etf.bg.ac.yu