1. IMPLEMENTACIJA VoIP-a U POSTOJEĆE IP MREŽE
1.1 Uvod
Mnogi mrežni administratori smatraju atraktivnim i jeftinim rješenjem spajanje glasovnog i podatkovnog prometa. Ujedinjenu mrežu je lakše pokrenuti, upravljati i održavati. Međutim, većina današnjih postojećih podatkovnih mreža je bazirana na Ethernetu i Internet Protokolima (IP) [1:3].
Takve mreže nisu dizajnirane za podršku aplikacijama koje rade u stvarnom vremenu, kao što je VoIP. VoIP zahtjeva pravovremenu dostavu paketa s malom latencijom, gubitkom paketa i zadovoljavajućom propusnošću. Kako bi postigli ovo, učinkovita implementacija VoIP-a će biti moguća ako se pobrinemo da su prijenosi prometa u stvarnom vremenu mogući na novoj ili postojećoj IP mreži [1:4].
Kada se VoIP implementira u postojeću mrežu mnogi mrežni arhitekti, planeri i projektanti, su suočeni sa zajedničkim izazovima i pitanjima. Koji su zahtjevi za Quality of service (QoS)? Kako će novi VoIP utjecati na QoS postojećih servisa i aplikacija? Hoće li postojeća mreža podržavati VoIP i zadovoljavati standarde QoS? Ako da, koliko VoIP poziva mreža može podržati prije nego li postane potrebno nadograditi neke od fizičkih dijelova mreže [1:4]?
Neki od komercijalnih alata mogu odgovoriti na ova pitanja, a temelje se na dva pristupa za procjenu implementacija VoIP-a u postojeću mrežu. Jedan pristup se bazira na mjerenju mreže i procjeni spremnosti mreže za implementaciju VoIP-a. Drugi se bazira na fizičkom puštanju VoIP prometa preko mreže te mjerenju latencije, zastajkivanja te gubitka podataka [1:4].
Komercijalni alati koštaju, no nijedan alat ne daje sveobuhvatni pristup uspješnoj VoIP implementaciji. Konkretno, nijedan ne može predvidjeti ukupni broj poziva koji može podržati mreža, uzimajući u obzir važne inženjerske i dizajnerske odluke, niti budući rast u kapacitetu ni utjecaju VoIP-a na postojeće servise i aplikacije te utjecaj pozadinskog prometa na VoIP [1:4].
1.2 Koraci implementacije
U ovom poglavlju će biti objašnjeno 8 koraka u uspješnoj implementaciji VoIP-a (Slika 1 [1:5]). Prva četiri koraka su neovisna te se mogu izvoditi u paraleli. Koraci šest i sedam, analiza i simulacije, se također mogu izvoditi u paraleli no korak 5 uključuje rano i potrebno redimenzioniranje ili modifikaciju na postojećoj mreži. Zaključni korak je faza implementacije [1:4].
Slika 1 : Shema implementacije VoIP mreže
Ova metodologija može biti korištena i pri implementaciji drugih mrežnih servisa; video-konferencije, peer-to-peer (p2p), mrežnog igranja, Internet Protocol televizije (IPTV), planiranja resursa (ERP) ili SAP servisa [1:5].
1.2.1 VoIP obilježja, zahtjevi i pretpostavke
Kako bi se uveli novi servisi kao što je VoIP moraju se prvo utvrditi obilježja prometa, QoS zahtjevi te potreba za dodatnim komponentama ili uređajima. Zbog jednostavnosti pretpostavljamo point-to-point konekcije za sve VoIP pozive. Prvo, gatekeeper ili Callmanager čvor, koji može upravljati signalizacijom do uspostavom, prekidanjem i autorizacijom svih VoIP konekcija, mora biti dodan u mrežu. Isto tako je potreban i VoIP gateway odgovoran za pretvorbu VoIP poziva od/prema PublicSwitched Telephone Network (PSTN) kako bi upravljao vanjskim pozivima. Sa stajališta inženjera i dizajnera mreže, postavljanje ovih čvorova u mrežu je kritično. Ostali hardverski zahtjevi uključuju VoIP klijent terminal koji može odvajati VoIP uređaje (IP telefon) i tipična računala ili radne stanice sa VoIP software-om [1:5].
Slika 2 : end-to-end komponente VoIP-a
Slika 2 ([1:6]) prikazuje end-to-end VoIP komponente, od slanja do primanja. Prva komponenta je koder, koji periodično uzorcima izvornog glasa dodjeljuje stalni broj bita te stvara konstantni tok bitova. Tradicionalni koder G.711 koristi pulsno-kodnu modulaciju (PCM) kako bi generirao 8-bitne uzorke svakih 0.125ms. To vodi do protoka podataka od 64kbps. Iza njega sljedi packetizer, koji enkapsulira određeni broj govornih uzoraka u pakete i dodaje im RTP, UDP, IP i Ethernet zaglavlja. Paketi putuju kroz mrežu do primaoca gdje je bitna komponenta reprodukcijski spremin koja ima cilj apsorbirati varijacije trzaja u kašnjenju te tako osigurati glatko reproduciranje. Paketi se nakon toga prosljeđuju na depacketizer te nakon toga na dekoder, koji rekonstruira početni glasovni signal [1:6].
1.2.1.1 End-to-end kašnjenje za pojedini glasovni paket
Slika 2 je ilustrirala izvore kašnjenja za tipične glasovne pakete. End-to-end kašnjenje se nekada naziva i mouth-to-ear (M2E) kašnjenje. Kodek G.714 nameće maksimalno kašnjenje za jedan paket 150ms u end-to-end VoIP aplikaciji [1:6].
Kašnjenje do 200ms se smatralo prihvatljivim. Ovo kašnjenje može se rastaviti na tri komponente [1:7]:
1. Kodiranje, kompresija i packetization kašnjenje na pošiljateljevom kraju
2. Propagacija, slanje i upitno kašnjenje u mreži
3. Dekompresiranje, depacketization , dekodiranje i reprodukcijsko kašnjenje na strani primaoca.
1.2.1.2 Širina pojasa za jedan poziv
Potrebna širina pojasa za jedan poziv u jednom smjeru je 64kbps. Kako G.711 kodek uzima uzorke od 20ms po paketu, 50 takvih paketa se može proslijediti u sekundi. Svaki paket sadrži 160 glasovnih uzoraka, što daje 8000 uzoraka po sekundi. Svaki paket je poslan u jednom Ethernet okviru. Na svaki paket veličine 160 bytova se dodaju zaglavlja dodatnih protokola. Ovo zaglavlje uključuje RTP + UDP + IP + Ethernet, sa veličinama 12 + 8 + 20 + 26. Sveukupno 226 byte-ova ili 1808 bit-ova mora biti preneseno 50 puta u sekundi, ili 90.4kbps, u jednom smjeru. Za oba smjera, potrebna je širina pojasa od 180.8kbps [1:7].
1.2.2 Protok VoIP prometa i raspodjela poziva
Prije daljnje analize ili planiranja VoIP bitno je skupiti statistike trenutne količine korištenja telefonskih usluga, kako bi se uspješno implementirao VoIP. Izvori takvih informacija su privatne centrale organizacije (PBX), telefonski zapisi i računi. Ključne karakteristike postojećih poziva uključuju broj poziva, broj istovremenih poziva, vrijeme i trajanje poziva itd. Bitno je odrediti početak i kraj poziva, odnosno njegovo izvorište i odredište. To će pomoći pri identificiranju distribucije poziva na unutrašnje i vanjske. Distribucija poziva mora uključivati postotak poziva koji su napravljeni unutar i izvan kata, zgrade, odjela ili organizacije. Preporučeno je da se ta analiza poziva bazira na naj zauzetijem danu, tjednu ili mjesecu. Ovo će osigurati podršku za sve pozive u svako vrijeme, te time voditi do velikog QoS-a za sve VoIP pozive. Kada se takvi podatci kombiniraju s planiranim dodatnim pozivima, može se predvidjeti te predstaviti najgori mogući slučaj VoIP opterećenja u toj mreži [1:7].
1.2.3 Definiranje ograničenja radi budućeg rasta
Definiraju se ograničenja performansi bitnih mrežnih elemenata. Ova ograničenja se razmatraju pri uvođenju novih usluga. Profit je dvostruki. Prvo, zahtjevi nove usluge su zadovoljeni te dodavanje novih usluga ostavlja mrežu zdravom i sposobnom za rast u budućnosti [1:8].
Dva bitna kriterija treba uzeti u obzir: prvo, maksimalno end-to-end kašnjenje;
drugo, upotreba granica mrežnih resursa. Maksimalno prihvatljivo end-to-end kašnjenje se određuje sa najosjetljivijom aplikacijom na mreži. U ovome slučaju, 150ms end-to-end za VoIP. To je bitno ako mreža ima par aplikacija osjetljivih na kašnjenje, kao što je recimo kašnjenje VoIP prometa, kako ne bi premašili potrebne maksimalne vrijednosti. Što se tiče granica mrežnih resursa, one su određene faktorima kao što su trenutna iskoristivost, budući planovi te predviđeni rast mreže. Ispravni resursi i planiranje kapaciteta su presudni. Mrežni inženjeri moraju razvijati nove servise sa unaprijed isplaniranom skalabilnošću te utvrditi da će mreža dati zadovoljavajuće rezultate pod teškim opterećenjem, bez gubitka paketa. VoIP zahtjeva minimalan, odnosno nikakav gubitak podataka [1:8].
Rast korisnika, mrežnih servisa, poslova itd. mora biti uzeto u obzir da bi se izvelo povećanje kapaciteta. U praksi, ostavlja se 25% dostupne mrežnog kapaciteta za budući rast. Radi jednostavnosti, ovo se primjenjuje ravnomjerno na sve mrežne resurse poput usmjernika i preklopnika. No, mora se uzeti u obzir da ovaj postotak varira o svakoj mreži te može ovisiti o budućim planovima [1:8].
1.2.4 Mrežna mjerenja
Mjerenje mreže karakterizira postojeći promet, upotrebu i protok. Mjerenje mreže je presudan korak jer može utjecati na rezultate koji se koriste u analitičkoj studiji i simulaciji. Postoji mnoštvo komercijalnih i nekomercijalnih alata za mjerenje mreže. Popularni open-source alati su MRTG, STG, SNMPUtil i GetIF.Popularni komercijalni alati su HP OpenView, Cisco Netflow, Lucent VitalSuite, Patrol DashBoard, Omegon NetAlly, Avaya ExamiNet i NetIQ Vivinet Assessor [1:8].
Mjerenje mreže mora biti determinirano za elemente kao što su usmjernici, preklopnici i linkovi. Mnogobrojni tipovi mjera i statistika mogu biti sakupljeni koristeći alate za mjerenje. Kao minimum, promet u bitima po sekundi (bps) i paketi po sekundi (pps) moraju biti mjereni za linkove direktno spojene na usmjernik i preklopnik. Da bi dobili odgovarajuće procjene, mrežna mjerenja moraju biti provedena kroz dugi period vremena, najmanje 24sata. Katkad je poželjno provoditi mjerenja kroz par dana [1:8].
Mrežni inženjeri moraju uzeti u obzir najgori scenarij, kada je mreža potpuno opterećena, kako bi osigurali dobar QoS cijelo vrijeme, uključujući sate s najviše prometa. Sat s najviše prometa je drukčiji za svaku mrežu te ovisi o vrsti posla i uslugama koje mreža osigurava. [1:9]
1.2.5 Procjene i izmjene
U ovom koraku se može procijeniti postojeću mrežu i da li joj treba modifikacija na temelju postojećeg prometa i zahtjeve usluga koje će biti postavljene. Modifikacije mogu uključivati postavljanje novih servera ili uređaja (kao što su VoIP gatekeeper, gateway i IP telefoni), nadogradnja računala i redimenzioniranje jako opterećenih linkova. Kao dobro pravilo, promjene topologije moraju biti minimalne te ne bi trebale biti napravljene ukoliko nisu potrebne i opravdane. Nepotrebne nadogradnje koštaju puno novaca i smatraju se lošim dizajnom mreže [1:9].
Mrežni inženjeri moraju uzeti u obzir postojeće opterećenje prometom. Ako je bilo koji link jako iskorišten, recimo 30-50%, inženjer bi trebao razmisliti o njegovom redimenzioniranju te postavljanju na 1Gbps. Za dijeljene linkove treba razmisliti, dijeljeni Ethernet nije lako skalabilan te ga nije preporučljivo mijenjati gdje su aplikacije u stvarnom vremenu te aplikacije s kašnjenjem [1:9].
1.2.6 Analiza
VoIP je omeđen s dva jako bitna mjerila; prvo, raspoloživa propusnost, i drugo
end-to-end kašnjenje. Stvarni broj VoIP poziva koje mreža može održavati i podnijeti je omeđena s ova dva podatka. Ovisno o upitnoj mreži, ključni faktor kod određivanja broja poziva su ili propusnost ili kašnjenje. Analize koje se provode su analiza propusnosti te analize kašnjenja [1:9].
1.2.7 Simulacija
Cilj simulacije je potvrditi rezultate analize o podršci VoIP poziva. Postoje mnogi simulacijski paketi koji mogu biti korišteni, uključujući komercijalne i open-source [1:15].
1.2.8 Implementacija
Prije izmjene bilo kakve mrežne opreme, preporuča se projekt implementacije VoIP-a u testnom laboratoriju, kako bi se uvjerili u glatku ugradnju i tranziciju s minimalnim prekidom mrežnih usluga. Projekt implementacije se obavlja nakon treninga IT osoblja. Ovo je mjesto gdje mrežni inženjeri te podrška mogu iz prve ruke provjeriti VoIP sisteme i njihovo ponašanje. Tijekom ove implementacije novi VoIP uređaji se provjeravaju, konfiguriraju, testiraju te prate. Cijeli tim mora biti upoznat s tim kako VoIP radi, kako se miješa s drugim prometom te kako dijagnozirati i riješiti jednostavne probleme. Jednostavni VoIP pozivi mogu biti uspostavljeni u svrhu testiranja [1:15].
Primjer implementiranja VoIP-a
U ovom dijelu će biti predstavljen primjer tipične IP mreže malog poslovnog poduzeća. Ukratko će biti opisana metodologiju uspješnog implementiranja VoIP-a u ovu mrežu. Primjer je prikazan na na Slika 3 ([1:16]). Mreža je bazirana na Ethernetu te ima dva Layer-2 Ethernet switcha spojena na router. Usmjernik je Cisco 2621 a preklopnici 3Com Superstack 3300. Preklopnik1 spaja Floor1, Floor2 i dva servera, dok Preklopnik2 spaja Floor3 i četiri servera. Svaki floor (kat) je jednostavno dijeljena Ethernet konekcija do zaposlenikovog računala sa radnom grupom i print serverom. Ova mreža koristi VLAN kako bi izolirali broadcast i multicast promet. Sveukupno postoji 5 LAN-ova, a svi VLAN-ovi su bazirani na portovima. Preklopnik1 je konfiguriran tako da ima tri VLAN-a. VLAN1 uključuje bazu podataka i podatkovne servere [1:15].
Slika 3 : Topologija male mreže poduzeća
VLAN2 uključuje Floor1, VLAN3 Floor2 a VLAN5 Floor3. Preklopnik2 je konfiguriran kako bi imao dva VLAN-a. VLAN4 uključuje servere za e-mail, HTTP, Web i firewall. Svi linkovi su Ethernet 100Mbps full-duplex, osim linkova za Floor1,2,3 koji su dijeljeni Ethernet 100Mbps half-duplex [1:16].
Zbog unaprijed procijenjenog stanja i hardware-skih potreba kako bi se implementirao VoIP, u petom koraku se dodaju dva nova čvora u postojeću mrežu: VoIP gateway i gatekeeper. Zbog problema u dizajnu mreže, ova dva čvora moraju biti postavljeni odgovarajuće. Kako je većina korisnika na Flooru1 i Flooru2 te su direktno spojeni na Preklopnik1, spajanje gatekeepera na Preklopnik1 je praktično i tako održava promet lokalno. VoIP gateway spajamo na Preklopnik2 kako bi ravnomjerno rasporedili opterećenje na oba preklopnik-a [1:16].
Isto tako, pouzdanija metoda i isto tako otpornija na grešku je da se ne spajaju oba čvora na isti preklopnik kako bi se mogli eliminirati problemi koje uzrokuje jedna točka. Npr, ako Preklopnik2 zakaže samo će vanjski pozivi prema i od mreže biti onemogućeni. Gatekeeper se treba dodati kao član VLAN1 Preklopnik-a1, koji uključuje bazu podataka i file server. Ovo izolira gatekkeper-a od multicast i broadcast prometa sa Floora1 i Floora2. Kao dodatak, gatekeeper može pristupiti bazi podataka i file serverima kako bi snimao i zapisivao telefonske pozive. Možemo i razdvojiti VLAN za gateway kako bi izolirali gateway od multicast i broadcast prometa na Flooru3 i sa servera na Switcu2. Tako mreža sada ima sveukupno šest VLAN-ova. Slika 4 ([1:17]) prikazuje novu mrežnu topologiju nakon unesenih promjena VoIP komponenti [1:16].
Slika 4 : Topologija s potrebnim VoIP komponentama
Kao što je prikazano, dva nova gatekeeper i gateway čvora su dodana te su tri dijeljena Ethernet LAN-a zamijenjena sa 100Mbps Ethernetima sa preklopnicima [1:17].
Za šesti korak analize postoje dvije mogućnosti provedbe. Jedna koristi MATLAB, a druga analitički simulator sa grafičkim sučeljem. U prvoj mogućnosti, MATLAB programi mogu biti napisani za implementiranje analize propusnosti i kašnjenja. Algoritam 1 je nastao korištenjem MATLAB-a te se rezultat za najgore kašnjenje može vidjeti na Slika 5 ([1:18]). Iz slike se može zaključiti da se kašnjenje drastično pogoršava kada broj poziva prijeđe 310. Preciznije, MATLAB rezultati pokazuju kašnjenje od 80ms za 315 poziva. Iz analize propusnosti za MaxCalls, za sve mrežne elemente, dolazi do zaključka da je usmjernik ograničavajući faktor. Stoga, TotalCallsSupported je 313. Kada gledamo koliko poziva mreža može podnijeti, bazirano na propusnosti i najgorem kašnjenju, vidimo da je broj poziva više ograničen propusnošću nego kašnjenjem, iako je razlika mala. Stoga, možemo zaključiti da je maksimalni broj poziva koje mreža može podnijeti 313 [1:17].
Druga mogućnost je fleksibilnija i prikladnija jer izbjegava korištenje MATLAB-a. Koristi analitički simulator sa grafičkim sučeljem koji radi na bilo kojoj mreži. Simulator ima grafičko sučelje pomoću kojega može biti napravljena mrežna topologija. Drugim riječima, simulator ima ugrađenu drag-and-drop komponentu kako bi se napravila mrežna topologija te poslala u analitički engine. Ovaj simulator dopušta korisnicima da postave i konfiguriraju mnoge postavke i parametre koji se odnose na VoIP implementaciju. U roku par sekundi simulator daje rezultat koliko VoIP poziva može biti podržano. Rezultati dobiveni od simulatora i MATLAB-a su isti [1:17].
Slika 5 : najgore kašnjenje u odnosu na broj poziva
Slika 6 ([1:19]) pokazuje odgovarajući mrežni model složen sa VoIP simulatorom za mrežnu topologiju sa slike 1.4. Kako bi se izbjeglo postavljanje hrpe računala i IP telefona na svaki kat kako bi predstavljali korisnike (i time zagušivali dijagram), LAN-ovi s katova su jednostavno stavljeni kao LAN-ovi koji obuhvaćaju Ethernet preklopnik i tri računala koju prikazuju korisnika na LAN-u. Primjer; Floor1 ima tri čvora (označeni F1C1,F1C2 i F1C3), F1C1 služi za slanje odlaznih poziva , F1C2 za primanje poziva i F1C3 za pozadinski promet. Ovaj model omogućava generiranje pozadinskog prometa i uspostavu poziva unutar kata ili između F1C1 i F1C2, prolazeći kroz preklopnik F1SW. Čvorovi F1C1 i F1C2 imaju neograničen kapacitet, odnosno ne postoji limit koliko poziva mogu primiti ili uputiti. Ignoriramo promet koji generira gatekeeper [1:18].
Slika 7 pokazuje analize propusnosti i kašnjenja. Slika 7a prikazuje broj poziva koji mogu biti uspostavljeni ovisno o analizi propusnosti: 315 poziva je moguće u cijeloj mreži. Kako bi indentificirali moguće usko grlo, izvještaj prikazuje i individualne pozive koji mogu biti podržani od strane čvora i linka. Ovdje je prikazan usmjernik kao usko grlo te bi ga bilo potrebno zamijeniti kako bi podržali više od 315 poziva. Slika 7b prikazuje broj poziva koji mogu biti uspostavljeni bazirano na analizi mreže; 313 poziva može biti uspostavljeno prije nego se pređe dozvoljeno kašnjenje od 80ms. Prikazano je da sa 313 poziva mreža ima kašnjenje od 16.75ms. To znači da ako dođe do još samo jednog poziva, povećalo bi se kašnjenje i prešli bi dozvoljenih 80ms. Slika 1.7b prikazuje mrežno kašnjenje ovisno o ruti (putu). U našem slučaju to je 9 ruta [1:18].
Slika 6 : odgovarajući mrežni dijagram konstruiran u analitičkom simulatoru
Pomoću OPNET-a je potvrđen analitički pristup. Sa OPNET simulacijom, broj VoIP poziva koji može biti podržan iznosi 306. Iz rezultata analize i simulacije je vidljivo da su oba rezultata približna. Razlika između analitičkog pristupa i OPNET-a je u samo 7 poziva. Ta razlika se može pripisati stupnju točnosti između analitičkog pristupa i OPNET simulacije. Analitički pristup je aproksimacija. Najsigurnije je uzeti u obzir najmanji broj koji smo dobili s oba pristupa [1:19].
Dizajn mreže i inženjerske odluke mogu biti opravdane analitičkim i simulacijskim perspektivama. Prvo, postojeća mreža, sa čuvanim rastom od 25%, može sigurno podržati 306 poziva dok se pridržavaju VoIP QoS zahtjeva i nemaju negativni utjecaj na performanse postojećih mrežnih servisa ili aplikacija. Drugo, usko grlo mreže je usmjernik, koji može biti zamijenjen sa Layer-3 Ethernet preklopnikom. Prije nego se naprave bilo kakve druge promjene, mora se provjeriti koliko se poziva može obaviti istovremeno nakon zamjene usmjernika. Kako bi postigli ovo, koraci koje smo prije prošli moraju biti ponovljeni. Mrežni kapacitet za podršku VoIP-a više ovisi o propusnosti mreže nego o kašnjenju. Ovo je zato jer je razmatrana mreža malena , no kašnjenje može postati dominantni problem ako se radi o većim LAN-ovima ili WAN-ovima [1:19].
Slika 7 : a) Izvješće o propusnosti b) izvješće o kašnjenju