Internet ja tietoverkot. 7 Multimedia. Oulun yliopisto Tietojenkäsittelytieteiden laitos Periodi 3 2014 / 2015



Samankaltaiset tiedostot
S Teletekniikan perusteet

7. Palvelun laatu (QoS) Internetissä

7. Palvelun laatu (QoS) Internetissä

Tällä kerralla esitellään. Uutuudet. Reaaliaikainen tiedonsiirto. Äänen ja videon siirto. Session Initiation Protocol (SIP) IP-puhelin

Internet ja tietoverkot 2015 Harjoitus 5: (ISO/OSI-malli: Verkkokerros, TCP/IP-malli: internet-kerros)

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Internet ja tietoverkot 2015 Harjoitus 7: Kertaus

AV-muotojen migraatiotyöpaja - ääni. KDK-pitkäaikaissäilytys seminaari / Juha Lehtonen

Johdanto. Multicast. Unicast. Broadcast. Protokollat. Multicast

Tehtävä 2: Tietoliikenneprotokolla

Järjestelmäarkkitehtuuri (TK081702)

Uutuudet. Tosiaikapalvelut Liikkuvuus. Sanna Liimatainen T Tietokoneverkot

Videoneuvottelu. Johdanto. Järjestelmät. Telepresensce. Laitteisto. Ryhmäneuvottelut

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta MBone

ELEC-C7241 Tietokoneverkot Multimedia, tietoturva, jne.

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

Kuva maailmasta Pakettiverkot (Luento 1)

Palvelun laatu (QoS) Internetissä (Kurose-Ross, Computer Networking, ss , Tanenbaum, ss )

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Palvelun laatu (QoS) Internetissä (Kurose-Ross, Computer Networking, ss , Tanenbaum, ss )

Langattoman kotiverkon mahdollisuudet

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Tietoliikenne II (2 ov)

IPTV:n asettamat vaatimukset verkolle ja palvelun toteutus. Lauri Suleva TI07 Opinnäytetyö 2011

Monimutkaisempi stop and wait -protokolla

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

OSI ja Protokollapino

Tällainen palvelu ei sovi kaikille sovelluksille audio/video multimedia IP-puhelu. QoS-ajattelu myös Internetiin?

Palvelun laatu (QoS) Internetissä (Kurose-Ross, Computer Networking, (2 ed), , (1 ed) ss , Tanenbaum, ss )

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite

Linux palomuurina (iptables) sekä squid-proxy

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Tulevaisuuden Internet. Sasu Tarkoma

ELEC-C7241 Tietokoneverkot Kuljetuskerros

Internet Protocol version 6. IPv6

Pertti Pennanen OSI 1 (4) EDUPOLI ICTPro

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Palvelun laatu (QoS) Internetissä (Kurose-Ross, Computer Networking, ss , Tanenbaum, ss )

S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory

ARVO - verkkomateriaalien arviointiin

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Protokollien yleiset toiminnot

Siemens Webserver OZW672

CMA SELAIN. Käyttöohje. Visuaalinen kommunikaation käyttö tietokoneella, älylaitteella ja selaimella

Tietoliikenne II. Syksy 2005 Markku Kojo. Tietoliikenne II (2 ov,, 4 op) Page1. Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos

Palvelun laatu (QoS) Internetissä (Kurose-Ross, Computer Networking, (2 ed), , (1 ed) ss , Tanenbaum, ss ) Internet-puhelin

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

Miska Sulander Jyväskylän yliopisto Atk keskus FUNET yhdistyksen vuosikokous

1. Tietokoneverkot ja Internet Tietokoneesta tietoverkkoon. Keskuskone ja päätteet (=>-80-luvun alku) Keskuskone ja oheislaitteet

ICMP-sanomia. 3. IP-kerroksen muita protokollia ja mekanismeja ICMP (Internet Control Message Protocol)

Verkkoliittymän ohje. F-Secure Online Backup Service for Consumers 2.1

3. IP-kerroksen muita protokollia ja

Tekijä / Aihe 1

Salausmenetelmät (ei käsitellä tällä kurssilla)

Tietoliikenne II (2 ov)

Google yritysratkaisut motivointia tehokkuuteen. Juha Elonen, kehitysjohtaja, DNA Business

Pika-aloitusopas. Haku Voit etsiä sivustoja, henkilöitä tai tiedostoja. Sivuston tai uutisviestin luominen

7. Palvelun laatu (QoS) Internetissä

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Skype for Business ohje

Googlen palvelut synkronoinnin apuna. Kampin palvelukeskus Jukka Hanhinen, Urho Karjalainen, Rene Tigerstedt, Pirjo Salo

Nimi: Op.numero: Yritän arvosanan korotusta, olen läpäissyt IVT:n tentin

INTERNET-yhteydet E L E C T R O N I C C O N T R O L S & S E N S O R S

OmniTouch 8400 Instant Communications Suite Microsoft Outlook -integrointi

kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K RTT

3. Laajakaistaliittymän asetukset / Windows XP

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

DVB- ja internet-palvelut saman vastaanottimen kautta

Teams-ohjelman asennus- ja käyttöohje vertaisohjaajille

Fiscal INFO TV -ohjelmisto koostuu kolmesta yksittäisestä ohjelmasta, Fiscal Media Player, Fiscal Media Manager ja Fiscal Media Server.

Dahua IPC-HFW4831T-ASE

Tietoverkot ja QoS. QoS QoS-toteutukset Integrated Services Differentiated Services

Vuonohjaus: ikkunamekanismi

T DSP: GSM codec

kynnysarvo (threshold)

7. Palvelun laatu (QoS) Internetissä

7. Palvelun laatu (QoS) Internetissä

OmniTouch 8400 Instant Communications Suite IBM Lotus Notes -integrointi

9 Multimedian elementtejä: ääni Webissä

Nykyaikainen IP pohjainen provisiointi operaattorin verkkoon

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus

7. Palvelun laatu (QoS) Internetissä. Internet-puhelin. Datavirta (stream) RTP (Real-time Transport Protocol) (RFC 1889)

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit

DPI (DEEP PACKET INSPECTION) By Sami Lehtinen

MeetNow-palvelun käyttöopas

Rajattomat tietoverkot ja niiden rooli pilvipalveluissa. Jukka Nurmi Teknologiajohtaja Cisco Finland

Yleinen ohjeistus Linux tehtävään

AVACK SIP-Ovipuhelimet. Avain verkosta. Avack Oy Opiskelijankatu 5, Tampere p ,

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

Diplomityöseminaari

Luento 13: Arkkitehtuurit. Internet tänään

1 YLEISKUVAUS Kaapelikaistaliittymä Palvelun rajoitukset PALVELUKOMPONENTIT Päätelaite Nopeus...

kynnysarvo (threshold)

Tietoverkot ja QoS. Quality of Service (QoS) QoS-toteutukset. Laatuparametrit. Jonotus. Reitittimen toiminta

Ohje sähköiseen osallistumiseen

Siirtyminen IPv6 yhteyskäytäntöön

TW- EAV510: PORTIOHJAUS (VIRTUAL SERVER) ESIMERKISSÄ VALVONTAKAMERAN KYTKEMINEN VERKKOON

Transkriptio:

811338A 7 Oulun yliopisto Tietojenkäsittelytieteiden laitos 2014 / 2015

Luento pohjautuu kirjan James F. Kurose, Keith W. Ross, Computer Networking, A Top-Down Approach, 6th (International) ed., Pearson Education Limited, 2013, ISBN 10: 0-273-76896-4, ISBN 13: 978-0-273-76896-4 seitsemänteen lukuun. 2

Taustaa ihmiset joka puolillla mailmaa käyttävät Internetiä elokuvien ja tv-esitysten katsomiseen tunnettuja nimiä Neflix ja Hulu Euroopassa ja USA:ssa Youku ja Kankan Kiinassa katselun lisäksi, YouTuben kaltaisia sivuja käytetään omien sisältöjen lataamiseen ja levitykseen; tällöin toimitaan paitsi Internet-videoiden kuluttajana myös sisällöntuottajana sovellukset kuten Skype, Google Talk ja QQ mahdollistavat paitsi kahdenhenkilön väliset ääni- ja kuvapuhelut, myös videokonferenssit yli Internetin 3

Taustaa (2) ennustus: vuosikymmenen loppuun mennessä pääosa videojakelusta ja puheluista tapahtuu päästä-päähän yli Internetin langattomiin laitteisiin 4G- ja WiFi-pääsyverkkojen kautta 4

Mitä käsitellään 1. sovellukset 2. Virtaava tallennettu kuva ja ääni 3. Keskusteluääni yli IP:n (VoIP) 4. Keskustelusovellusten reaaliaikaprotokollat 5. Miten verkko tukee multimediaa? 5

Mitä käsitellään (2) 1. sovellukset 1.1 Videovälityksen ominaisuudet 1.2 Äänivälityksen ominaisuudet 1.3 sovellusten tyypit 2. Virtaava tallennettu kuva ja ääni 2.1 UDP striimaus 2.2 HTTP striimaus 2.3 Adaptiivinen striimaus ja DASH 2.4 Sisällönjakeluverkot 2.5 Tapaustutkimuksia: Netflix, YouTube ja Kankan 3. Keskusteluääni yli IP:n (VoIP) 3.1 Parhaan yrityksen palvelun rajoitukset 3.2 Huojunnan poistaminen ääntä vastaanotettaessa 3.3 Pakettihävikistä toipumien 3.4 Tapaustutkimus: VoIP ja Skype 6

Mitä käsitellään (3) 4. Keskustelusovellusten reaaliaikaprotokollat 4.1 RTP 4.2 SIP 5. Miten verkko tukee multimediaa? 5.1 Parhaan yrityksen verkkojen mitottaminen 5.2 Palveluita useammassa luokassa 5.3 Diffserv 5.4 Yhteyskohtaiset palvelunlaatutakuut: resurssien varaus ja pyynnön hyväksyminen 7

1. sovellukset video- ja audiodataa lähettävien verkkosovellusten lukumäärä Internetissä on lisääntynyt uusia sovelluksia ovat esim. virtaava video, IP-puhelut, Internet-radio, videoneuvottelut, interaktiiviset pelit, virtuaalimaailmat, etäoppiminen jne em. sovellusten palveluvaatimukset poikkeavat perinteisistä; multimediasovellukset ovat herkkiä päästäpäähän viiveelle ja viiveenvaihtelulle, mutta sietävät datakatoa ongelmia kuinka nykyinen Internet selviää multimediahaasteesta mihin suuntaan Internetin multimediapalvelujan kehitetään 8

Äänen ja kuvan pakkaus ennen välittämistä ääni ja kuva digitalisoidaan ja pakataan digitalisointi tarvitaan, koska tietoverkot lähettävät datan bitteinä; välitetty tieto täytyy esittää bittijonona pakkaaminen tarvitaan, koska pakkaamaton ääni ja kuva vaatii valtavasti reursseja pakkaussuhde 10:1 helposti saavutettavissa äänen ja kuvan pakkaamista tutkittu viimeiset 50 vuotta; satoja tekniikoita olemassa opiskelijoille on teknillisissä yliopistoissa ja tiedekunnissa tarjolla tavallisesti useita pakkaamista käsitteleviä kursseja 9

Pakkauksen tarpeellisuus: esimerkki yksi kuva koostuu 1024 x 1024 pikselistä kukin pikseli koodatan 24 bitillä, kahdeksan bittiä kutakin kolmea väriä (punainen, vihreä, sininen) kohti: tarvitaan 2 10 2 10 24 = 25165824 bittiä = 3145728 tavua = 3.14 megatavua välitysviive 64 kbps linkissä: t = määrä / nopeus = (25165824 / 64000) sek = 393.216 sek = 6 min 33 sek suhteella 10 :1 muistitilan tarve ja välitysaika pienenevät kymmenesosaan alkuperäisestä 10

1. 1 Videovälityksen ominaisuudet korkea bittinopeus vaihtelu: 100 kbps (videokonferensssit) 3 Mbp (korkeatasoiset elokuvat) Taulukossa 1 Frank katsoo valokuvia Facebookissa nopeudella yksi 200 kilotavun kuva 10 sek:ssa Martha kuuntelee bittinopeudella 128 kbps koodattua MP3- musiikkia älypuhelimellaan Victor katselee bittinopeudella 2 Mbps koodattua videoa Oletetaan, että kunkin kolmen käyttäjän istunto kestää 4000 sekuntia (noin 67 minuuttia) 11

Taulukko 1: Kolmen Internet sovelluksen bittinopeusvaatimusten vertailu 12

Videonvälityksen ominaisuudet (2) videosovellukset vaativat paaljon kaistanleveyttä Ciscon ennustus: vuoden 2015 loppuun mennessä virtaava ja varastoitu kuva (videosovellukset) muodostavat 90 % Internetin liikenteestä videokuvaa voidaan pakata: matalampi bittinopeus heikkolaatuisempi kuva videoesitys koostuu kuvajonosta (24 tai 30 kuvaa sek:ssa) digitaalinen kuva muodostuu pikseleistä, kukin pikseli koodataan kokonaisluvuksi, joka kuvaa valoisuutta ja väriä; kokonaisluvut esitetään binäärimuodossa 13

Videonvälityksen ominaisuudet (3) pakkaaamisessa hyödynnetyt redundanssia tilaredundanssi edustaa kuvassa olevaa redundanssia; esim. valkoista aluetta on paljon temporaaliredundanssi heijastaa samankaltaisuutta peräkkäisissä kuvissa pakkaamista voidaan käyttää luomaan useita laadultaan eritaoisia versioita samasta videosta (esim. bittinopeuksilla 300 kbps, 1 Mbps ja 3 Mbps) käyttäjä voi päättää (esim. saatavissa olevan kaistanleveyden perusteella) mitä versiota haluaa katsoa myös videokonferenssit voidaan pakata lennosta ja parhaan laadun saavuttamiseksi tietyllä kaistanleveydellä 14

1.2 Äänivälityksen ominaisuudet digitaalisella äänellä (puhe ja musiikki mukaanluettuna) on pienemmät kaistanleveysvaatimukset kuin videokuvalla digitaalisella äänellä on omat erikoisominaisuutensa analoginen äänisignaali digitalisoidaan seuraavasti äänisignaalista tehdään otoksia (esim 8000 otosta sek:ssa); otoksen arvo on reaaliluku otoksen arvo pyöristetään kokonaisluvuksi (vaihtoehtojen lkm yleensä kakkosen potenssi, esim 256); suoritetaan kvantisointi kukin kvantisointiarvo esitetään binäärilukuna (esim. 8 bittiä); kaikkien otosten bnaariesitykset liitetään yhteen, jolloin saadaan äänisignaalin digitalinen esitys jos otoksia tehdään 8000 kpl sekunnissa ja kvantisointi tapahtuu 8 bitillä, digitaaalisen signaalin bittinopeus on 64 kbps 15

Äänivälityksen ominaisuudet (2) soitettaessa digitaalinen signaali muutetaan takaisin analogiseksi dekoodattu analoginen signaali on vain approksimaatio alkuperäisestä lisäämällä otosten määrää ajan suhteen (otosaste) voidaan dekoodatun äänen laatua parantaa edellä kuvattu tekniikka on ns. PCM-modulaatio (Pulse Code Modulation) PCM-modulaatiosa otosaste on tavallisesti 8000 otosta sek:ssa ja kvantisointi 8 bittiä / otos, jolloin saavutetaan 64 kbps bittinopeus (eli signaaliaste) 16

Äänenvälityksen ominaisuuksia (3) puheenpakkausmenetelmiä: GSM (13 kbps), G.729 (8 kbps) ja G.723.3 (sekä 6.4 että 5.3 kbps) CD-tason stereomusiikki: MPEG 1 layer 3 eli MP3 (96 kbps, 128 kbps tai 160 kbps) Applen standardi: Advanced Audio Coding (AAC) etukäteen voidaan luoda äänitiedostoja (-virtoja) usealla bittinopeudella äänen vaatimat bittinopeudet ovat videokuvaa pienemmät, mutta käyttäjät ovat tarkempa äänen kuin kuvan laadusta (vrt. esim videokonferenssi) 17

1.3 sovellusten tyypit Kolme sovellustyyppiä (i) virtaava tallennettu kuva ja ääni (ii) reaaliaikainen interaktiivinen kuva ja ääni (keskusteluääni ja -kuva yli Internetin) (iii) virtaava elävä kuva ja ääni Emme tarkastele ns. lataa ja käytä sovelluksia (MP3, muut P2P-sovellukset); ne ovat tyypillisiä joustavia tiedostonsiirtosovelluksia, jotka eivät aseta erityisiä vaatimuksia viiveen suhteen. 18

Virtaava tallennettu kuva ja ääni keskitytään virtaavaan tallennettuun (video)kuvaan, koska se sisältää tavallisesti sekä kuva- että ääniosan data on etukäteen nauhoitettu, pakattu ja tallennettu serverille asiakas pyytää halutesaan serveriltä tallennettuja videotiedostoja: elokuvia, tv-esityksiä, nauhoitettuja urheilutapahtumia, muiden käyttäjien lataamia videoita virtaavan tallennetun kuvan ja äänen tuottajia: YouTube (Google), Netflix, Hulu kolme tyypillistä piirrettä Striimaus. Asiakas alkaa kuunnella/katsoa materiaalia hieman sen jälkeen, kun tiedostoa aaletaan vastaanottaa serveriltä. Materiaali virtaa palvelimelta asiakaskoneelle samalla, kun käyttäjä kuuntelee ja/tai katselee tallennetta. 19

Virtaava tallennettu kuva ja ääni (2) Interaktiivisuus. Asiakas voi pysäyttää esityksen ja kelata sitä eteen- tai taaksepäin. Materiaalin käyttö voi alkaa 1 10 sek pyynnön jälkeen. Jatkuva esitys. Kun materiaalin käyttö aloitetaan, esityksen tulisi edetä alkuperäisen ajoituksen ja tallennuksen mukaisesti ilman merkittäviä viiveitä. Siten datan tulee saapua palvelimelta ajoissa käyttäjälle. virtaavalle tallennetulle äänelle ja kuvalle tärkeintä on keskimääräinen suoritusteho (average throughput) keskimääräisen suoritustehon tulee olla ainakin videotallenteen bittinopeus vaihtelevaa suoritustehoa voidaan paikata puskuroinnilla ja esihaulla 20

Virtaava tallennettu kuva ja ääni (3) Protokollat Real-Time Protocol (RTP, RFC 1889) ääni- ja kuvaliikenteen kapselointiin, käyttää UDP:tä Real-Time Streaming Protocol (RTSP, RFC 2326) interaktiiviseen ääni- ja kuvaliikenteeseen, käyttää joko TCP:tä tai UDP:tä Mediasoittimia: RealPlayer (RealNetworks), QuickTime (Apple), Windows Media Player (Microsoft) 21

Reaaliaikainen interaktiivinen kuva ja ääni reaaliaikainen interaktiivinen ääni (yli Internetin) = reaaliaikainen keskusteluääni (yli Internetin) = Internet-puhelinliikenne (Internet Telephony) = Keskusteluääni yli IP:n (Voice-over-IP, VoIP): osapuolet keskustelevat reaaliaikaisesti yli Internetin reaaliaikainen interaktiivinen kuva (video): kuten ääni, mutta myös kuva mukana videokonferenssissa useat osallistujat kommunikoivat sekä kuvan että äänen avulla. keskusteluääni ja -kuva suosittuja: Skypesssä, QQ:ssa ja Google Talkissa päivittäin satoja miljoonia käyttäjiä 22

Reaaliaikainen interaktiivinen kuva ja ääni (2) ajoitus ja datahävikki tärkeitä näkökulmia: keskusteluääni ja -kuva sovellukset ovat viiveherkkiä äänessä ja liikkeessä voi olla muutaman sadan millisekunnin viiveitä äänen suhteen ihmiskorva ei tajua alle 150 millisekunnin viiveitä, 150 200 ms:n viive menetteleee, mutta yli 400 ms viive on liian pitkä. keskusteluääni ja -kuva sovellukset sietävät jonkin verran datahävikkiä ajoittainen dathävikki ei ratkaisevan tärkeää, se voidaan usein osittain tai kokonaan kätkeä 23

Reaaliaikainen interaktiivinen kuva ja ääni (3) Protokollat Real-Time Protocol Real-Time Control Protocol (RTCP, RFC 1889) Session Initiation Protocol (SIP, RFC 3261) IP-puheluihin ja audiokonferensseihin H.323 reaaliaikaisiin ääni- ja videokonferensseihin 24

Virtaava elävä kuva ja ääni sovellustyyppi on samankaltainen kuin perinteinen radio- ja televisiolähetys, välitys vain tapahtuu yli Internetin lähetys on elävä ja se voidaan välittää mistä tahansa maailmankolkasta materiaalia ei tietysti voi kelata eteen- eikä taaksepäin; jos vastaanottaja tallentaa lähetyksen, muunkinlainen käyttö on mahdollista usein lähetyksellä on paljon vastaanottajia; välitys voi tapahtua multicasting-tekniikoita käyttäen tällä hetkellä elävä ääni / kuva levitetään usean erillisen unicast-virran avulla tai sovellukerroksessa (P2P, CDN) 25

Virtaava elävä kuva ja ääni (2) kun materiaalin käyttö alkaa, sen tulisi edetä nauhoituksen mukaisesti ilman (merkittäviä) viiveitä keskimääräinen suoritusteho tärkeää; sen on otava ainakin kulutuksen asteen suuruinen viiveet (pyynnön esittämisestä esityksen alkamiseen), joiden kesto on yhdestä muutamaan kymmeneen sekuntiin ovat siedettäviä ajoitus ei kuitenkaan yhtä tärkeä kuin vuorovaikutteinen ääni ja kuva sovelluksissa protokollat: Real-Time Protocol, Real-Time Streaming Protocol 26

2. Virtaava tallennettu kuva ja ääni 2.1 UDP striimaus 2.2 HTTP striimaus 2.3 Adaptiivinen striimaus ja DASH 2.4. Sisällönjakeluverkot 2.4 Tapaustutkimuksia: Netflix, YouTube ja Kankan 27

2 Virtaava tallennettu kuva ja ääni suosittu sovellustyyppi, joka käyttää merkitävän osan Internetin kaistanleveydestä syitä suosioon halpaa levytilaa teratavukaupalla saatavailla Internetin infrastruktuuri on kehittynyt nopeat isäntäkone- ja kotiyhteydet tehokkaat sisällönjalkelutekniikat QoS-yhteensopivat protokollat videokysyntä kasvussa; yhdistetään television ja Internetin palvelut asiakkaat pyytävät servereille sijoitettuja pakattuja ääni- ja kuvatiedostoja palvelimet voivat olla tavallisia web-servereitä tai räätälöityjä ääni-/kuvavirtaussovelluksille 28

Tallennetun videon striimaus kolme striimauskategoriaa UDP striimaus HTTP striimaus adaptiivinen HTTP striimaus kaikille striimaustavoille yhteinne piirre: puskuroinnin runsas käyttö asiakaspäässä asiakas ei heti videon alkaessa saapua aloita esitystä, vaan rakentaa reservin saapuneista videopätkistä miksi asiakaspuskuri luodaan? päästä-päähän viiveen vaihtelun vaikutus vähenee jos kaistanleveys alittaa videon esitysnopeuden, käyttäjä voi jatkaa katselemista siihen saakka, kun puskuri tyhjenee 29

Kuva 1. Asiakkaan esitysviive videostriimauksessa 30

2.1 UDP striimaus serveri välittää videota nopeudella, joka vastaa videon esitysnopeutta asiakkaalla säätämällä videolohkojen lähetysnopeuden tasaiseksi esim. jos videon esitysnopeus on 2 Mbps ja jokaisessa UDP segmentissä lähetetään 8000 bittiä videota, serveri välittää UDP-segmentin sisältävän IP-paketin aina 4 ms:n välein (8000 b) / (2 10 6 bps) = 4 10-3 s = 4 ms serveri voi työntää paketteja verkkoon haluamallaan nopeudella, TCP:n ruuhkakontrollirajoituksia ei UDPssä ole 31

UDP striimaus (2) serveri voi sulkea videolohkot erityisiin äänen ja kuvan välittämiseen tarkoitettuihin kuljetuspaketeihin RTPprotokollaa käyttäen (Real-Time Transport Protocol) välittää videota nopeudella, joka vastaa videon esitysnopeutta asiakkaalla säätämällä videolohkojen lähetysnopeuden tasaiseksi videolohkolähetyksen rinnalla asiakas ja palvelin voivat ylläpitää kontrolliyhteyttä, jossa asiakas lähettää tilanmuutosta koskevia käskyjä (paussi, kelaus, jne.) esim. RTSP-protokollaa käyttäen (Real-Time Streaming Protocol) 32

UDP striimaus (3) UDP striimauksen heikkouksia vakionopeudella tapahtuvassa UDP-striimauksessa (kaistanleveysvaihtelujen vuoksi) ei välttämättä päästä tasaiseen esitykseen asiakaspäässä UDP-striimaus vaatii tavallisesti mediakontrollipalvelimen (RTSPpalvelimen) käytön jokaisen asiakkaan kohdalla, jotta yhteyden tilaa ja asiakkaan pyyntöjä voitaisiin kontrolloida monet palomuurit blokkaavat UDP-liikenteen, jolloin palomuurien takan UDP-striimaus estyy 33

2.2 HTTP - striimaus video tallennetaan HTTP-palvelimelle tavanomaisena tiedostona, jolla oma URL-osoite asiakas perustaa HTTP-yhteyden palvelimeen ja pyytää tiedostoa HTTP GET käskyllä em. URL :ia käyttäen palvelin lähettää videotiedoston HTTP vastauviestinä niin nopeasti kuin pystyy (TCP:n ruuhkakontrollin ja vuonohjauksen sallimissa puitteissa) asiakkaan sovellus voi alottaa videon esittämisen heti, kun puskurissa oleva tavumäärä ylittää kynnysarvon HTTP:tä ajetaan TCP:n päällä, joten videolohkot voivat merkittävästi viivästyä 34

HTTP striimaus (2) videostriimaus onnistuu myös TCP:tä käyttäen, kun sovelletaan asiakaspuskurointia ja esinoutoa tämän lisäksi HTTP-strimaus läpäisee palomuurit ja NAT-reitittimet helpommin kuin UDP-striimaus mediakontrollipalvelinta ei tarvita useimmat videosovellukset, kuten YouTube ja Netflix käyttävät HTTP-striimausta videon esinouto: asiakas yrittää ladata videota esitysnopeutta nopeammin ja noutaa siten videolohkoja etukäteen myöhemmin esitettäviksi 35

HTTP striimaus (3) HTTP-striimauksessa esinouto on luontevaa, koska TCP:n ruuhkanvälttämismekanismi pyrkii hyödyntämään kaiken kaistanleveyden palvelimen ja asiakkaan välillä kun TCP-yhteyden suoritusteho on noin kaksi kertaa videon esitysnopeus, striimaus yli TCP:n onnistuu hyvin Kuva 2 esittää serverin ja asiakkaan puskureita HTTPstriimauksessa mikäli asiakkaan sovelluspuskurin koko on suurempi kuin videotiedosto, voi striimaus tapahtua tavallisena tiedostonsiirtona niin nopeasti kuin TCP sallii 36

Kuva 2. Videotallenteen striimaus yli HTTP / TCP:n 37

HTTP striimaus (4) jos asiakas pysäyttää videon esityksen, serveri voi puskurien täyttyessä joutua lopettamaan lähetyksen ja odottamaan, että asiakas jatkaa esitystä näin voi tapahtua myös videota taaksepäin kelattaessa siispä HTTP-striimausta käytettäesä asiakkaan sovelluspuskurin täyttyminen epäsuorasti rajoittaa videon lähetysnopeutta palvelimelta 38

2.3 Adaptiivinen striimaus ja DASH perinteisessä HTTP-striimauksessa kaikki asiakkaat saavat samalla tavalla koodatun videotiedoston riippumatta saatavilla olevasta kaistanleveydestä DASH on dynaaminen adaptiivinen striimaus yli HTTP:n (Dynamic Adaptive Streaming over HTTP) DASH:ssa videosta tehdään useita versioita, jotka koodataan eri bittinopeuksilla eri bittinopeuksilla koodattujen videoversioiden laatu tietysti vaihtelee asiakas voi dynaamisesti pyytää videolohkoja eri versioista saatavilla olevasta kaistanleveydestä riippuen 39

Adaptiivinen striimaus ja DASH (2) kun kaistanleveyttä on paljon, lohkoja pyydetään versioista, joissa on suurempi bittinopeus DASH sallii asiakkaiden, joilla on käytettävissä erilaiset kaistanleveydet, ladata eri nopeudella koodattuja videoversioita saman asiakkaan mukauttaa lataamansa videolohkot käytettävissä olevaan kaistanleveyteen (tärkeää mobiilikäyttäjille) DASH:ssa kullakin versiolla on oma URL-osoite HTTP-serverillä on manifestitiedosto, joka sisältää eri bittinopeuksilla koodattujen videoversioiden URL-osoitteet 40

Adaptiivinen striimaus ja DASH (3) asiakas pyytää palvelimelta manifestitiedoston ladatessaan videolohkoja asiaks mittaa koko ajan kaistanleveyttä ja käyttää nopeudenmääräämisalgoritmia seuraavaa lohkoa valitessaan koska arvio suoritetaan asiakaspäässä, serveripuolen järjestelmän skaalautuvuus paranee serveri tallentaa kuvan lisäksi myös ääntä eri bittinopeuksilla 41

Virtaava tallennettu kuva ja ääni: RTP:n ja RTSP:n rooli ääni/kuvatiedosto segmentoidaan, osiin liitetään RTPotsikko (Real-Time Transport Prorocol) lohkot ohjataan (joko TCP- tai UDP-) liittimeen sekä TCP- että UDP-yhteyksiä sovelletaan käytännössä tiedoston saatuaan asiakas alkaa (tavallisesti muutamassa sekunnissa) sen käytön (soiton) useat sovellukset interaktiivisia; käyttäjän toiminta saadaan RTSP-protokollaa soveltamalla (Real-Time Streaming Protocol) 42

Mediasoitin ja sen tehtävät tiedostoja pyydetään usein selaimen välityksellä; tarvitaan apusovellus, mediasoitin (RealNetworks: RealPlayer, Microsoft Windows: MediaPlayer) mediasoittimen tehtävät Pakkauksen purku. Ääni/kuvatiedosto on tavallisesti pakattu, mediasoittimen tulee suorittaa purkaminen. Pakettiheilahtelun poisto. Tiedosto tulee soittaa samalla ajoituksella, kun se on äänitettykin. Pakettien päästä päähän viiveen vaihtelu täytyy (puskuroinnilla) poistaa. Virheenkorjaus. Ruuhkasyistä osa paketeista ei ehkä koskaan tule perille. Pakettihävikistä toivutaan joko konstruoimalla kadonneet paketit redundantista datasta pyytämällä kadonneiden pakettien uudelleenlähetystä interpoloimalla puuttuva data vastaanotetusta datasta 43

Mediasoitin ja sen tehtävät (2) mediasoittimella graafinen käyttöliittymä: säätimet äänenvoimakkuudelle, soitolle, (pika)kelaukselle eteenja taaksepäin, pysäytykselle jne. plug-in -tekniikan avulla mediasoittimen käyttöliittymä voidaan integroida selaimen ikkunaan; mediasoitin hallinnoi selaimen web-sivulta varaamaa ruututilaa tapahtuipa esittäminen erillisessä ikkunassa tai web - sivulla, mediasoittimen ohjelma suoritetaan erillään selaimen toiminnasta 44

2.3 Sisällönjakeluverkot Content Distribution Networks (CDNs) useat Internetin videoyhtiöt jakavat (pyynnöstä) videoita sadoille miljoonille kuluttajille miten virtaava videopalvelu toteutetaan suoraviivaisin ratkaisu: yhtiö rakentaa massiivisen datakeskuksen ja varastoi kaikki videonsa sinne suoraviivaisessa ratkaisussa kolme heikkoutta asiakas on usein kaukana datakeskuksesta; suosittu video matkaa monta kertaa saman linkin yli; ja yksi datakeskus edustaa yksittäistä murtumiskohtaa (single poit of failure, SPOF) 45

Sisällönjakeluverkot (2) lähes kaikki suuret videostriimausyhtiöt käyttävät sisällönjakeluverkkoja (CDN-verkkoja) sisällönjakeluverkko hallinnoi maantieteellisesti eri paikkoihin hajautettuja servereitä varastoi videoiden (ja muiden webbisisältöjen) kopioita servereillään pyrkii ohjaamaan pyynnöt sellaisille servereille, jotka ovat kuluttajan kannalta edullisimpia voi olla (1) yksityinen CDN, jolloin videofirma itse omistaa sen; tai (2) kolmannen osapuolen CDN, joka jakaa videoita usean yhtiön puolesta AKAMAI on kolmannen osapuolen CDN, joka jakaa Netflixin ja Hulun sisältöjä 46

Sisällönjakeluverkot (3) sisällönjakeluverkoilla kaksi filosofiaa sijoittaa palvelimet: Sukella syvälle. Akamain lanseeraama filosofia, jossa sukelletaan syvälle Internet-palveluntuottajien pääsyverkkoihin kaikkialla maailmassa sijoittamalla serveriklustereita kaikkialle maailmaan. Tuo lähelle. Limelight maksui filosofian, jossa Internetin palveluntuottajat tuodaan lähelle rakentamalla suuria serveriklustereita muutamaan avainpaikkaan ja yhdistämällä klusterit nopealla yksityisellä verkolla. Serverit sijoitetaan lähelle 1. tason ISP:eitä (tier 1 ISP). kun serveriklusterit ovat paikallaan, CDN kopioi sisältöjään klustereille; jokaista videota ei välttämättä sijoiteta kaikkiin klustereihin 47

Sisällönjakeluverkot (4) useat CDN:t käyttävät työntö strategian sijasta veto strategiaa työntö -strategia: CDN tallentaa kaikki videot jokaiseen serveriklusteriinsa veto strategia: kun asiakas pyytää videota serveriklusterista, jossa sitä ei ole, klusteri (1) lataa videon joko keskusvarastosta tai toisesta klusterilta; (2) striimaa sitä samaan aikaan asiakkaalle; ja (3) tallentaa kopion omaan muistiinsa striimatessaan kun klusterin varsastotila täyttyy, se poistaa videoita, joiden kysyntä on vähäistä 48

CDN:n toiminta oletetaan, että asiakas pyytää selaimen kautta tiettyä (URL-osoitteen identifioimaa) videota tällöin CDN:n keskeyttää pyynnön, jotta se voisi määrittää asiakkaalle ja ajankohtaan sopivan serveriklusterin; ja uudelleenohjata pyynnön valitulle serveriklusterille useimmat sisällönjakoverkot käyttävät hyväksi DNS-palvelua keskeyttääkseen ja uudelleenohjatakseen pyyntöjä Kuvassa 3 sisällöntarjoaja NetCinema käyttää kolmannen osapuolen CDN-yhtiötä KingCDN videojakeluun NetCineman sivustolla kullakin videolla on oma URLosoitteensa 49

Kuvan 3 selitys 1. Käyttäjä menee NetCineman verkkosivulle. 2. Käyttäjä klikkaa linkkiä http://video.netcinema.com/6y7b23v; käyttäjän isäntäkone lähettää DNS-pyynnön nimestä video.netcinema.com. 3. Käyttäjän paikallinen nimipalvelin (LDNS) välittää DNSpyynnön NetCineman keskusnimipalvelimelle; tämä palauttaa LDNS:lle KingCDN:n domainissa sijaitsevan isäntäkoneen nimen a1105.kingcdn.com. 4. LDNS lähettää pyynnön nimestä a1105.kingcdn.com ja saa KingCDN:n sisällönjakelupalvelimen IP-osoitteen a.b.c.d. 5. Asiakaskone saa IP-osoitteen a.b.c.d, perustaa TCP-yhteyden palvelimeen ja pyytää videota 6Y7B23V. 50

Kuva 3 DNS uudelleenohjaa käyttäjän pyynnön CDN-palvelimelle 51

Palvelinklusterin valintastrategioita palvelinklusterin valintastrategioita = mekanismi, jolla asiakkaan kysely dynaamisesti ohjataan CDN:n johonkin serveriklusteriin tai datakeskukseen CDN:t soveltavat tavallisesti yksityisiä klusterinvalintastrategioita klusterinvalintastrategia voidaan valita perustuen esim. maantieteelliseen etäisyyteen; reaaliaikaiseen liikenteen määrän mittaukseen; tai IPv6:n anycast-tekniikkaan 52

Kuva 4. Asiakkaan pyynnön reitittäminen lähimpään palvelinklusteriin IPv6:n anycast-osoitetta käyttäen 53

2.4 Tapaustutkimuksia: Netflix, YouTube ja Kankan Netflix generoi USA:ssa lähes 30% verkkoliikenteestä alavirtaan johtava elokuvien ja tv-esitysten palveluntuottaja käyttää laajasti kolmannen osapuolen sisällönjakeluverkkoja ja pilvipalveluja toteuttaa online-palvelunsa vuokraamalla servereitä, kaistanleveyttä, varastotilaa ja tietokantapalveluja käyttää sisällönjakeluverkkoja ja adaptiivista striimausta yli HTTP:n (DASH) Netflix-alustassa neljä osaa rekisteröitymis- ja maksupalvelimet Amazon-pilvi monta CDN-palveluntarjoaja asiakkaat 54

Kuva 5 Netflixin videostriimausalusta 55

Netflix rekisteröitymis- ja maksupalvelimet ovat Netflixin omaa kalustoa Netflix online-palvelu käyttää Amazon-pilveä Amazon pilven tehtäviä: Sisältöjen vastaanotto. Netflix saa elokuvien master-versiot studioilta ja lataa ne Amazon-pilven koneille. Sisältöjen muokkaaminen. Amazon-pilvi tekee useita eri alitteistoille ja ohjelmistoille sopivia formaatteja kustakin elokuvasta. Jokaisesta formaatista tehdään eri versioita vaihtelevall bittinopeudella. Versioiden lataaminen sisällönjakeluverkkoihin. Netflix käyttää kolmannen osapuolen CDN-yhtiöitä jakamaan videoita asiakkaille: Akamai, Limelight, Level-3 56

YouTube YouTube on laajin videoidenjakaja maailmassa: YouTuben kirjastossa puoli miljardia videota päivittäin puoli miljardia asiakasta YouTube aloitti toimintansa toukokuussa 2005, Google osti YouTuben marraskuussa 2006 YouTuben protokollat ovat yksityisiä Google jakaa YouTube-videoita omista CDN-verkoista, serveriklustereita sijaitsee sadoissa eri paikoissa noin 50 klusteria jakaa YouTube-videoita Google käyttää DNS-palvelua asiakaspyyntöjen uudelleenohjaamiseen sopivalle serveriklusterille 57

YouTube (2) Googlen klusterinvalintastrategia: asiakkaan pyyntö ohjataan sellaiseen klusteriin, missä asiakkaan ja klusterin välinen kiertoviive on pienimillään strategiasta voidaan poiketa (DNS-palvelua käyttäen) kuormantasaussyistä jos klusterilla ei ole pyydettyä videoa, se vastaa HTTPuudelleenohjausviestillä YouTube käyttää HTTP-striimausta ja tekee videosta muutamia versioita eri bittinopeuksilla (laatu vaihtelee) kuluttaja valitsee manuaalisesti haluamansa videon 58

YouTube (3) YouTubeen ladataan miljoonia videoita päivittäin YouTube lataa asiakkaiden videot yli HTTP:n YouTube käsittelee jokaisen vastaanottamansa videon ja muuttaa sen omaan formaattiinsa videoiden käsittely tapahtuu Googlen datakeskuksissa Google tarjoaa YouTube-palvelua (toisin kuin Netflix) kokonaan omassa, valtavassa infrastruktuurissaan, joka käsittää datakeskukset, yksityset sisällönjakeluverkot ja yksityisen globaalieja datakeskuksia ja CDN- palvelinklustereita yhdistävän tietoverkon 59

Kankan erilainen tapa tarjota videoita pyynnön perusteella perustuu P2P-jakeluun johtava P2P-jakeluun toimintansa perustuva videoiden tarjoaja Kiinassa: yli 20 miljoonaa asiaksta kuukaudessa toimii paljon samalla tavalla kuin BitTorrent kaikka kommunikointiprotokollat yksityisiä videojakelu UDP:n päällä aina, kun mahdollista Kiinan Internetin UDP-liikenteen määrä valtava 60

3. Keskusteluääni yli IP:n (VoIP) 3.1 Parhaan yrityksen palvelun rajoitukset 3.2 Huojunnan poistaminen ääntä vastaanotettaessa 3.3 Pakettihävikistä toipumien 3.4 Tapaustutkimus: VoIP ja Skype 61

Keskusteluääni yli IP:n Voice-over-IP (VoIP) synonyymeja reaaliaikainen interaktiivinen ääni (yli Internetin) reaaliaikainen keskusteluääni (yli Internetin) Internet-puhelinliikenne (Internet Telephony) seuraavassa tarkastellaan niitä periaatteita ja protokollia, joihin VoIP perustuu 62

3. 1 Parhaan yrityksen palvelun rajoituksia IP tarjoaa parhaan yrityksen palvelun ei takuita pakettien perillemenosta päästä päähän viiveen pienuudesta viiveenvaihtelusta pakettivirrassa (huojunta, 'jitter ) takuiden puute aiheuttaa suuria haasteita reaaliaikaisten keskustelusovellusten suunnittelulle tutkitaan tapoja, joilla VoIP:n toimintaa voidaan parantaa parhaan yrityksen verkossa keskitytään sovelluskerroksen tekniikoihin, jolloin verkon ytimeen ei tarvitse tehdä muutoksia 63

Parhaan yrityksen palvelun rajoituksia (2) parhaan yrityksen palvelun rajoitukset VoIP-esimerkillä: lähettäjä generoi tavuja nopeudella 8000 tavua sekunnissa joka 20 millisekunti lähettäjä kokoaa tavut lohkoksi, joka varustetaan otsikolla lohko toimitetaan UDP-soketin kautta kuljetuskerrokseen, jossa se suljetaan UDP-segmenttiin lohkon tavumäärä on 160 ( = 20 10-3 sek 8000 tavua/sek) yksi UDP-segmentti lähetetään joka 20. millisekunti jos pakettien päästä päähän viive on vakio, voi vastaanottaja toistaa paketin heti, kun se saapuu valitettavasti paketteja menetetään (packet loss), niiden päästä-päähän viive voi olla suuri (end-to-end delay) se voi vaihdella eri pakettien välillä (jitter) 64

3.2 Huojunnan poistaminen ääntä vastaanotettaessa Järjestysnumerot Jokainen sovelluksen datalohko varustetaan järjestysnumerolla. Aikaleimat Jokainen sovelluksen datalohko varustetaan generointiajalla. Esittämisen viivyttäminen Vastanottopäässä esittämistä viivyttää niiin kauan, että pääosa paketeista on saapunut ennen esitystään. Tämä viive voi olla joko kiinteä tai se voi vaihdella esityksen aikana. 65

Kiinteä esitysviive vastaanottaja pyrkii soittamaan datalohkon vakioajan (q ms) sen generoinnin jälkeen ongelma: mikä on oikea arvo parametrille q? jos q on liian suuri, (interaktiivinen) multimediaesitys voi kärsiä, jos taas liian pieni, osa paketeista saattaa myöhästyä ihniskorva ei tajua alle 150 ms:n viiveitä, välillä 150 400 ms olevat viiveet ovat hyväksyttäviä, yli 400 ms viiveet häiritseviä karkea sääntö: mikäli viivevaihtelu on suuri, on q:n arvon syytä olla verrattain suuri 66

Kuva 6. Pakettihävikki, kun esitysviive on kiinteä 67

Mukautuva (adaptiivinen) esitysviive esitysviive riippuu päästä päähän viiveestä, jota estimoidaan soiton aikana esitysviive minimoidaan reunaehdolla, että pakettikato on korkeintaan muutaman prosentin luokkaa esitysviive voi muuttua sovelluksen hiljaisten jaksojen aikana; hiljaiset jaksot pakataan ja venytetään tarvittaessa 68

3.3 Pakettihävikistä toipuminen kolme tapaa toipua: (1) FEC korjaus (forward error correction) (2) välilehditys (interleaving) (3) virheen peittäminen (error concealment) FEC-korjauksessa datavirtaan lisätään redundanttia informaatiota, jonka avulla virheitä korjataan FEC-korjauksessa kaksi menetelmää lähetetään säännöllisin välein redundantti datalohko lähetetään kaksi datavirtaa, toinen matalammalla resoluutiolla ja pienemmällä lähetysasteella; datavirran kadonnut lohko saadaan korvattua pienen lähetysasteen datavirran lohkolla (se saapuu myöhemmin, usein seuraavassa paketissa) 69

Pakettihävikistä toipuminen (2) välilehditys datasegmentti jaetaan pienempiin yksiköihin, yksiköiden keskinäistä järjestystä muutetaan ja muodostetaan uudet datasegmentit; pakettihävikin seurauksena pitkä yhtenäinen sovelluksen datalohko ei katoa (ellei useita peräkkäisiä datasegmenttejä katoa) virheen peittäminen tuotetaan datasegmentti, joka muistuttaa vahingoittunutta; usein vaurioitunut segmentti korvataan välitömästi ennen asiallisesti saapuneella datalohkolla 70

3.4 Tapaustutkimus: VoIP ja Skype Skype on VoIP sovellus, jolla noin 50 milj. käyttäjää päivittäin Skypen palvelut isäntäkoneelta toiselle isäntäkoneelta puhelimeen puhelimesta isäntäkoneelle moniosapuolinen (isäntäkoneiden välinen) videokonferenssi isäntäkone: Internetiin yhteydessä oleva päätelaite sama perustaja kuin FastTrack, ja KaZaa sovelluksilla: ebay osti järjestelmän v. 2005, hinta 2.6 miljardia $ Microsoft osti Skypen 8 miljardilla dollarilla v. 2011 71

Skype Skypen protokolla patentoitu, sekä kontrolli- että datapaketit salataan Skypen toimintaa vaikea kuvata Skype asiakkaan käytössä sekä äänelle että kuvalle useita koodekkeja koodekki: datavirran muuntamiseen tarkoitettu algoritmi, ohjelma (tai laite) videon bittinopeudet Skypessä: 30 kbps 1 Mbps äänenlaatu Skypessä parempi (16 000 otosta/sek) kuin POTS (Plain Old Telephone Service, 8000 otosta/sek) Sovelluskerros 72

Skype (2) Skype lähettää äänen ja kuvan UDP:n yli kontrollipaketit yli TCP:n myös äänen ja kuvan mediapaketit yli TCP:n, jos palomuuri blokkaa Skype käyttää FEC-korjausta pakettihävikistä toipumiseen ja mukauttaa ääni- ja kuvavirrat verkkoolosuhteisiin (laatu, FEC-korjaus) Skype on luonnollinen P2P sovellus; kaksi käyttäjää kommunikoi reaaliajassa P2P arkkitehtuuria sovelletaan ulkopuolellla sisällönjakelun ja tiedostojen välityksen käyttäjän paikallistamiseen sekä NAT:n ohittamiseen Sovelluskerros 73

Skype (3) solmut muodostavat hierarkisen peiteverkon; kukin solmu joko supersolmu tai tavallinen solmu (Kuva 7) Skype ylläpitää hakemistoa, joka kuvaa Skype:n käyttäjänimet (sen hetkisiksi) IP osoitteiksi ja porttinumeroiksi; hakemisto hajautetaan supersolmuihin jos Liisa haluaa kommunikoida Pekan kanssa, Liisan Skype asiakasohjelma etsii hajautetusta hakemistosta Pekan tämänhetkisen IP osoitteen Skype välitys: P2P tekniikka, jolla puheluja järjestetään kotiverkoissa olevien isäntien välillä kotiverkot usein NAT reitittimen (palomuurin) takana Sovelluskerros 74

Kuva 7 Skype - osapuolet 75

Skype (4) NAT estää kotiverkon ulkopuolellla olevaa isäntäkonetta ottamasta suoraa yhteyttä kotiverkon koneeseen jos molemmilla Skype osapuolilla on NAT reititin, syntyy ongelma; kuinka puhelu järjestetään ratkaisu: supersolmujen käyttö Liisa kytkeytyy supersolmuunsa ja vaihtaa kontrolliviestejä sen kanssa; Pekka toimii vastaavasti Liisa haluaa soittaa Pekalle ja ilmoittaa tästä supersolmulleen Liisan supersolmu ilmoittaa asiasta Pekan supersolmulle, joka välittää pyynnön Pekalle jos Pekka hyväksyy puhelun, supersolmut valitsevat kolmannen solmun välittäjäsolmun, joka toimii yhdyssolmuna Liisan ja Pekan puhelussa Sovelluskerros 76

Skype (5) ratkaisu: supersolmujen käyttö (jatkuu...) supersolmut ohjaavat Liisan ja Pekan ottamaan yhteyden välittäjäsolmuun Liisan sovellus lähettää äänipaketteja välittäjäsolmulle (Liisan perustama Liisa välittäjäsolmu yhetys), joka toimittaa ne Pekalle (Pekan perustama välittäjäsolmu Pekka yhteys) välittäjäsolmujen käyttö kuvastaa P2P sovellusten hienostunutta suunnittelua, jossa osapuolet suorittavat järjestelmän ydintehtäviä (hakemistopalvelu ja välitys) samalla, kun hyödyntävät loppukäyttäjän palveluja Sovelluskerros 77

Skypestä (6) moniosapuolinen puhelukonferenssi Skypessä mikäli kukin N: stä osapuolesta lähettäisi kaikille muille oman äänivirtansa tuloksena olisi N(N-1) audiovirtaa Skypessä kukin puheluosapuoli lähettää audiovirtansa konferenssin perustajalle, joka yhdisää virrat ja lähettää ne muille 2(N -1) audiovirtaa kaksiosapuolinen videopuhelu Skypessä reititetään suoraan osapuolelta toiselle moniosapuolinen videokonferenssi Skypessä jokaisen osapuolen kuvavirta lähetetään tietylle serveriklusterille, joka välittää kullekin konferenssiin osallistujalle N -1 kuvavirtaa (syy: alavirtanopeudet suurempia kuin ylävirtanopeudet) 78

Skypen tietoturvasta data- ja kontrollivirta salataan, mutta liikennelaskenta on mahdollista osapuolet kykenevät nuuskimaan toistensa IP-osoitteet (jopa joka tunti) ISP:t ja sijainti selville yhdistämällä Skype:stä saadut IP-osoitteet esim. BitTorrentista saatuihin, saadaan selville mitä tiedostoja osapuolet lataavat 79

4. Keskustelusovellusten reaaliaikaprotokollat 4.1 RTP 4.2 SIP 80

4.1 RTP Real-Time Transport Protocol (RTP, RFC 3550) protokolla reaaliaikaisille keskustelusovelluksille (VoIP, videokonferennsit) RTP:tä voidaan käyttää ääniformaateille: PCM, ACC, MP3 videolle: MPEG, H.263 RTP toimii tyypillisesti UDP:n päällä: sovellus kapseloi datalohkon RTP-pakettiin, joka kuljetuskerroksessa kiedotaan UDP-segmenttiin ja ojennetaan verkkokerrokselle soveltuu hyvin yhteiskäyttöön SIP-protokollan kanssa 81

RTP (2) ei takaa ajoitusta, palvelunlaatua (QoS), perilletoimitusta eikä järjestystä kullekin lähteelle (kamera, mikrofoni jne.) oma riippumaton RTP - virta; RTP - kapselointi näkyy vain yhteyden päätelaitteissa esim. kahden osapuolen videokonferenssi: kaksi virtaa äänelle (molempiin suuntiin) ja kuvalle (niinikään kahteen suuntaan) ei rajoitettu unicast lähetykseen; yhteenkuuluvat RTP - multicast datavirrat (esim. usean osapuolen kuva- ja äänivirrat) muodostavat RTP - istunnon 82

Kuva 8 RTP otsikon kentät Payload type: 7 bittiä, kuorman tyyppi (audio/video) ja koodaustapa Sequence number : 16 bittiä, järjestysnumero, puuttuvat paketit voidaan havaita ja pakkettivirta korjata Timestamp: 32 bittiä, aikaleima, huojunnan havaitsemiseen ja vähentämiseen, esityksen synkronointiin Synchronization source identifier :32 bittiä, SSRC on satunnaisluku, jonka avulla RTPvirran lähde tunnistetaan, jokaisella virralla oma SSRC-luku 83

Kuva 9 RTP osana sovellusta 84

Kuva 10 RTP osana kuljetuskerrosta 85

SIP Session Initiation Protocol (SIP, RFC 3261, RFC 5411) SIP:n tarjoamia mekanismeja Puheluistunnon perustamiseen soittajan ja kohteen välille yli IPverkon. Soittaja pystyy ilmoittamaan kohteelle halustaan aloittaa puhelu; osanottajat voivat sopia mediadatan koodauksesta ja puhelun lopettamisesta. Soittaja kykenee määrittämään kohteen tietynhetkisen IP osoitteen. Käyttäjillä ei ole välttämättä ole yhtä kiinteää IP-osoitetta, koska osoitteet on voitu asettaa dynaamisesti (DHCP) ja käyttäjillä voi olla toiminnassa useita laitteita ja IP-osoitteita. Puhelun hallinnoiminen. Mediadatavirtojen lisääminen puhelun aikana, koodauksen muuttaminen, uusien osallistujien mukaantulo puheluun, puhelun siirto, puhelun asettaminen pitoon. 86

Puhelu tunnettuun IP-osoitteeseen Kuvassa 11 Alice haluaa omalta työkoneeltaan soittaa Bobille, joka työskentelee omalla koneellaan molemmilla työkoneilla on SIP-pohjainen puhelusofta Alice tuntee Bobin työkoneen IP-osoitteen Kuvan 11 selitys 1. Alice lähettää Bobille UDP:n (tai TCP:n) yli SIP-kutsuviestin SIPporttiin 5060. Viesti sisältää a) Bob:n SIP-tunnisteen sip:bob@193.64.210.89 b) Alicen tämänhetkisen IP-osoitteen 167.180.112.24 c) ilmoituksen, että Alice haluaa vastaanottaa ääntä porttiin 38060 formaatilla AVP 0 (PCP-encoded -law) koodattuna ja kapseloituna RTP-pakettiin 87

Puhelu tunnettuun IP-osoitteeseen Kuvan 11 selitys (jatkuu... ) 2. Bob vastaa Alicelle SIP-vastausviestillä porttiin 5060. Viesti sisältää a) Koodin, että kutsu on hyväksytty b) Bobin IP-osoitteen 193.64.210.89 c) ilmoituksen, että Bob haluaa vastaanottaa ääntä porttiin 48753 formaatilla AVP 3 (GSM) koodattuna ja kapseloituna RTPpakettiin 3. Alice lähettää Bobille SIP-kuittauksen. 4. Alice ja Bob voivat tämän jälkeen kommunikoida. 88

Kuva 11 SIP puhelun perustaminen: Alice tuntee Bobin IP-osoitteen 89

Huomioita SIP - protokolasta SIP on ulkona kaistalta protokolla: SIP viestit lähetetään ja vastaanotetaan eri soketeissa kuin mediadata SIP viestit ovat ASCII tekstiä muistuttavat HTTP viestejä kaikki SIP viestit kuitataan, joten ne voidaan lähettää joko UDP:n tai TCP:n yli Kuvan 11 esimerkissä Bobin SIP-osoite on sip:bob@193.64.210.89 usein SIP-osoite muistuttaa sähköpostiosoitetta, (esim. Bobilla se voisi olla sip:bob@domain.com) ja se voidaan julkaista esim. web-sivulla kuten sähköpostiosoite 90

SIP: nimen muuntaminen osoitteeksi ja käyttäjän paikallistaminen osapuolilla usein eri laitteita käytössään ei ole realistista olettaa, että keskustelun aloittajan SIP sovellus tuntee vastaanottajan senhetkisen IP osoitteen oletetaan, että Alice tuntee Bobin SIP-osoitteen sip:bob@domain.com miten Alice saa tietää Bobin senhetkisen IP osoitteen? Alice lähettää lähettää SIP - proxypalvelimelle kutsuviestin, joka sisältää Bobin SIP osoitteen SIP proxypalvelin lähettää kyselyviestin Bobin SIP rekisteröijälle, joka ylläpitää tietoa Bobin senhetkisestä IP osoitteesta (vrt. Kuva 12) 91

Kuva 12 Istunnon aloitus, SIP proxypalvelimet ja SIP rekisteröijät mukaan lukien 92

5. Miten verkko tukee multimediaa? 5.1 Parhaan yrityksen verkkojen mitottaminen 5.2 Palveluita useammassa luokassa 5.3 Diffserv 5.4 Yhteyskohtaiset palvelunlaatutakuut: resurssien varaus ja pyynnön hyväksyminen 93

Taustaa edellä on käsitelty sovellustason ja järjestelmätason mekanismeja multimediasovellusten suorituskyvyn parantamiseksi sovellustason mekanismeja asiakaspuskurointi esinouto esityksen laadun sovittaminen saatavilla olevaan kaistaan adaptiivinen esitys hävikin vähentämistekniikat järjestelmätason mekanismeja sisällönjakeluverkot P2P - peiteverkot 94

Taustaa (2) kysymys: voiko verkko voi tukea multimedian sisällönjakelua? vastaus: kyllä voi! useita verkon tukimekanismeja on sovellettu vähän syitä vähään soveltamiseen verkkopohjaiset multimedian tukimekanismit ovat monimutkaisia ja lisäävät verkon ytimen tehtäviä tähän asti sovelluspohjaiset mekanismit ja parhaan yrityksen verkon palvelut ovat tarvonneet riittävän hyvän suorituskyvyn kolme lähestymistapaa verkkopohjaiselle multimediasovellusten tukemiselle (Taulukko 2) parhaan yrityksen tietoverkon palvelujen optimointi verkon mitottaminen ja kaistanleveyden varaaminen 95

Taustaa (3) kolme lähestymistapaa verkkopohjaiselle (jatkuu... ) eriytetyt palvelut (differentiated services) liikenteen jakaminen (palvelu)luokkiin yhteyskohtaiset QoS takuut (QoS, quality-of-service, palvelunlaatu) kova takuu palvelunlaatu varma pehmeä takuu palvelunlaatu todennäköinen 96

Taulukko 2 Verkkokerros tukee multimediaa: kolme lähestymistaa 97

5.1 Parhaan yrityksen verkkojen mitottaminen multimedian tukeminen vaikeaa, koska sovellusten suoriutumisvaatimukset ovat kireät alhainen päästä-päähän viive vähäinen huojunta (jitter) pieni pakettihävikki ongelmat voidaan ratkaista, jos verkkokapasiteettia on käytössä riittävästi ongelma millaisella kapasiteetilla linkit tulee varustaa on kaistanleveyden varaamista (bandwidth provisioning) kysymys miten suunnitella verkkotopologia on verkon mitottamista (network dimensioning) 98

Parhaan yrityksen verkkojen mitottaminen (2) multimediasovelluksen päästä-päähän suoriutumista arvioitaessa on tärkeää mallintaa liikennemäärätarpeita verkon päätepisteiden välillä määrittää hyvin sovelluksen suoriutumisvaatimukset annetun työmäärämallin perusteella mallintaa sovelluksen päästä-päähän suoriutumista; mallintaa tekniikoita, joilla minimaalisin kaistanleveyden allokointikustannuksin saadaan asiakkaiden vaatimukset tyydytetyiksi 99

5.2 Palveluita useammassa luokassa uusia ratkaisuja multimediasovellusten palvelemiseksi lähtötilanne (vrt. seur. kalvo) kaksi LAN-verkkoa A ja B, molemmilla (oletus)reititin (R1 ja R2), reitittimien välisen linkin nopeus 1.5 Mbps kaksi Internet-sovellusta A:n eri isäntäkoneilta B:n eri isäntäkoneille (H1:ltä H3:lle, H2:lta H4:lle) paikallisverkot huomattavasti nopeampia kuin 1.5 Mbps reitittimeen R1 syntyy ruuhkaa 100

Kuva 13 Yksinkertainen tietoverkko, kaksi sovellusta 101

Tapaus 1: Internet-puhelu ja web sovellus Internet-puhelu 1 Mbps HTTP web-selaussovellus saattaa viivästyttää äänensiirtoa reititin R1 kykenee eroittamaan paketit palvelutyyppi -kenttään tehdyn merkinnän perusteella (Type of Service, ToS-kenttä) Periaate 1 Pakettien merkintä sallii reititittimen luokitella liikennettä. 102

Kuva 14 Kilpaileva ääni- ja HTTP-sovellus 103

Tapaus 2: Internet-puhelu ja priorisoitu websovellus Internet-puhelu 1 Mbps web-sovellus ostanut paremman palvelun reititin R1 luokittelee paketit lähettäjän IP-osoitteen mukaan ja soveltaa tiettyä pakettipolitiikkaa Periaate 1 (modifioitu) Pakettien luokittelu auttaa reititintä erottelemaan eri liikenneluokkiin kuuluvat paketit toisitaan. 104

Tapaus 3: Kuriton Internet-puhelu ja HTTPsovellus Internet-puhelu lähettää dataa nopeudella1.5 Mbps HTTP-paketit saavat huonosti (jos lainkaan) palvelua reititin R1 eristää datavirrat, jotta reilu palvelu säilyy eristämistapoja: poliisitoimet (verkkokerros), kaistanleveyden jako (yhteyskerros) Periaate 2 Liikennevirrat tulee reilun palvelun takaamiseksi eristää jossain määrin toisistaan. Periaate 3 Eristämisen lisäksi resursseja (kaistanleveyttä, puskuritilaa) tulee käyttää mahdollisimman tehokkaasti. 105

Kuva 15 Ääni ja HTTP liikenneluokkien kontrollointi ja merkintä 106

Kuva 16 Ääni ja HTTP liikenneluokkien looginen eristäminen 107

Pakettitaulukointi ja -politiikka kuinka QoS voidaan taata multimediasovelluksille? taulukointimekanismeja: FIFO-jonotus (First In First Out), prioriteettijonotus (priority queuing), kiertojonotus (round robin queuing), WFQ-jonotus (Weighted Fair Queuing, painotettu reilu jonotus) pakettipolitiikka: säännöstö, joka sanelee missä määrin annetun pakettivirran dataa voidaan verkkoon viedä pakettipolitiikan kriteerioita keskimääräinen lähetysaste (average rate); verkko rajoittaa pakettivirran keskimääräistä lähetysastetta (pakettia / aikayksikkö) pitkällä aikavälillä huippuaste (peak rate); verkko rajoittaa pakettivirran lähetysasteen maksimia lyhyellä aikavälillä 108

Kuva 17 FIFO jonotuksen abstraktio 109

Pakettitaulukointi- ja politiikka (2) pakettipolitiikan kriteerioita (jatkuu) purkausaste (burst rate); verkko rajoittaa pakettivirran lähetysastetta erittäin lyhyellä aikavälillä vuotava sanko mekanismi (leaky bucket) luonnehtii em. kriteerioita vuotava sanko voi sisältää (korkeintaan) b merkkiä uusia merkkejä lisätään sankoon nopeudella r merkkiä sekunnissa täyteen sankoon ei voi lisätä merkkejä jokaista verkkoon siirrettävää pakettia kohden sangosta poistetaan yksi merkki; jos sangossa ei ole jäljellä merkkejä, paketti joutuu odottamaan verkkoon pääsyä purkausaste on b pakettia, huippuaste (aikavälillä t) on r t+b, keskimääräinen lähetysaste on r pakettia sekunnissa 110

Integroidut ja eriytetyt palvelut miten aikaisemmin esitettyjä palvelunlaatuperiaatteita ja mekanismeja käytetään hyväksi Internetin QoSrakenteissa? kaksi QoS-arkkitehtuuria integroidut palvelut (integrated services, Intserv): yksilölliset QoS-palvelut eri sovellusten istunnoille eriytetyt palvelut (differentiated services, Diffserv): eri liikenneluokkien datavirtoja käsitellään eri tavalla Internetissä 111

Integroidut palvelut Inservin kaksi tärkeää piirrettä Varatut resurssit. Reitittimen täytyy tietää käytössä olevien resurssiensa määrä. Yhteyden järjestäminen (call setup). varmistaudutaan siitä, että reitittimet lähteen ja kohteen välisellä polulla toteuttavat QoSvaatimukset Yhteyden järjestämisen eri vaiheet Liikenteen luonnehdinta ja QoS:n spesifiointi. Istunto ilmoittaa QoSvaatimukset Rspec-parametrin avulla ja kuvaa pakettivirtaa (liikennettä) Tspec-parametrilla. Yhteyden järjestämisestä hälyttäminen. Rspec ja Tspec toimitetaan lähteen ja kohteen välisen polun reitittimiin (käytetään RSVPprotokollaa) Reititinkohtainen yhteyden järjestäminen. Saatuaan Rspecin ja Tspecin reititin järjestää varaa omalta osaltaan resurssit istunnon yhteyteen ja kuittaa 112

5.3 Diffserv Diffserv arkkitehtuuri pyrkii skaalautuvaan ja joustavaan palvelujen eriyttämiseen pystyy käsittelemään eri luokkiin kuuluvia datavirtoja eri tavalla Internetissä sijoittaa yksinkertaiset toiminnot Internetin ytimen kontrollin ja mutkikkaammat toiminnot Internetin reunalle ei määrittele palveluluokkia (kuten Intserv) vaan antaa ne toiminnalliset komponentit, joiden avulla em luokitus voidaan suorittaa Toiminnalliset elementit Reunatoiminnot. Pakettien luokittelu ja liikenteen ehdollistaminen Ydintoiminnot. Pakettien eteenpäinohjaus. 113

Kuva 18 Yksinkertainen esimerkki Diffserv - verkosta 114

Kuva 19 Mittausfunktion toiminta 115

5.4 Yhteyskohtaiset palvelunlaatutakuut: resurssien varaus ja pyynnön hyväksyminen pakettien merkintä, valvonta, liikenteen eristäminen ja linkkitason pakettitaulukointi voivat tuottaa jollekin liikennekuokalle paremman suorituskyvyn kuin toiselle muutamissa taulukointijärjestelmissä alemman tason liikenne on ylemmän prioriteetin näkymätöntä Kysymys: Voidaanko ylemmän prioriteetin liikenteelle taata korkea palvelutaso koko liikennevirran ajan aikaisemmin esitetyillä kainoilla? Vastaus: Ei voida! Kuvassa 20 molempien sovelluksen tarpeita ei voida yhtä aikaa tyydyttää; kaistanleveys ei yksinkertaisesti riitä 116

Kuva 20 Kaksi kilpailevaa audiosovellusta ylikuormittaa reitittimien R1 ja R2 välistä linkkiä 117

Kaksi kilpailevaa sovellusta: kaistanleveys ei riitä Periaate 4. Jos riittäviä resursseja ei kaikille liikennevirroille aina ole saatavilla ja palvelunlaatu on taattava, tarvitaan pyynnönhyväksymisprosesssi, jossa liikennevirrat julistavat QoS-vaatimuksensa; tämän jälkeen liikennevirralle joko myönnetään sen QoS-vaatimusten mukainen verkkoon pääsy tai, mikäli liikennevirran QoS-vaatimuksia ei voida taata, sen pääsy verkkoon evätään. 118

Verkkomekanismeja pyynnönhyväksymisprosessille pyynnönhyväksymisprosessi call admission process pyynnönhyväksymisprosessin mekanismeja resursseja on kyettävä pyytämään resursseja on kyettävä varaamaan varaamisesta on kyettävä tiedottamaan 119

Yhteyden pystytys 120

RSVP Resource ReSerVation Protocol (RFC 2205) hälytysprotokolla, jonka avulla sovellus varaa resursseja Internetistä resurssit: kaistanleveys (ja puskuritila) RSVP:n olennaiset piirteet se varaa kaistanleveyden multicast-puuna (unicast on tällöin multicastin erikoistapaus) data virtaa puun juuresta (lähde) puun lehtiin (kohteet) se on kohdeorientoitunut; vastaanottaja aloittaa ja ylläpitää resurssien varauksen; reitittimet ohjaavat varausviestit vastaanottajilta lähettäjälle 121

RSVP: multicast- ja vastaanottajaorientoitunut Datavuo Yhdistetyt varaukset Yhdistetyt varaukset Varausviesti 122

Haasteita Internetille IP tarjoaa parhaan yrityksen palvelun ei takuita päästä päähän viiveen pienuudesta viiveenvaihtelusta pakettivirrassa (pakettiheilahtelu, 'jitter') multimediasovelluksilla merkittävä, mutta rajoittunut menestys Internetissä virtaava tallennettu audio / video: viive 5 10 sek Internet-puheluilla ja reaaliaikaisella interaktiivisella videolla aluksi vähemmän menestystä: pakettiviiveen ja heilahtelun oltava vähäistä; puhelut tällä hetkellä erittäin suosittuja multimediasovellusten suunnittelu helpottuisi, jos Internetin liikenne priorisoitaisiin 123

Haasteita Internetille (2) Internetissä tällä hetkellä tasa-arvoinen pakettikäsittely reitittimien jonoissa menetelmiä parantaa multimediasovellusten laatua käytetään UDP-protokollaa audio- / videosovelluksissa viivästytetään välitystä asiakaspäässä noin 100 millisekunnilla viiveenvaihtelun (pakettiheilahtelu) vaikutuksen eliminoimiseksi varustetaan paketit aikaleimalla, jolloin vastaanottaja tietää milloin pakettien sisältö tulisi esittää noudetaan dataa etukäteen asiakaspäähän lähetyksen aikana silloin, kun tallennusresursseja ja kaistanleveyttä on käytössä paikataan lähetystä pakettihävikin sattuessa 124

Miten kehittää Internetiä multimedian tukemiseksi? vaihtoehto 1: perustavanlaatuisia muutoksia; sovellusten voitava varata kaistanleveys päästä päähän etukäteen varaamiseen tarvitaan uusi verkkokerrosprotokolla reitittimien toiminta muutettava; uusi pakettien käsittelypolitiikka, liikenteen priorisointi sovellusten annettava Internetille kuvaus liikenteestään; verkon on valvottava liikennettä, jotta se vastaisi kuvausta Internetillä oltava menetelmä määrittää tarvittava kaistanleveys; tarvitaan uutta tekniikkaa, palveluja ja ohjelmistoja isäntäkoneissa ja reitittimissä vaihtoehto 2: ei suuria muutoksia; jatketaan entiseen tapaan 125