Tosiaikajärjestelmät Luento 8: Tietoliikenneverkkoja ja -protokollia Tiina Niklander Jane Liu: Real-time systems, luku 11 + artikkeleja Sisältöä Yleistä verkoista Internet ja tosiaikaisuus Ethernet Protokollia CAN Controller Area Network TTP Time Triggered Protocol (ei siis timed token protocol, jollainen myös on olemassa) Verkot ja vikasietoisuus 1
Yleistä Protokollakerroksia Erilaisia mekanismeja eri kerroksilla Verkon lähetysvuoroja Useita erilaisia tapoja sopia kommunikointikanavan käytöstä Liu kuva 11-11 a) Kaksi tapaa valvoa liikennettä Vuon uudelleenmuotoilu (reshaping) Verkon sisäistä Viivytetään väärään aikaan saapujia, kunnes vastaavat kuormakuvaustaan Esim. vuotava astia Politiikka (policy) Verkon ulkorajalla Saapuva liikenne (yhden vuon) voi ylittää kuormakuvauksensa (esim. useammin) 2
Solmujen lähetysvuorot Miten lähetysvuoro määrätään? Vuoromerkki esim. Vuororengas, Profibus CSMA/CD (carrier sense multiple access / collision detection) esim. Ethernet, LON ja CAN (käytössä autoissa) TDMA (time division multiple access) TTP (lähde: Kopetz) Minislots ARINC 629 (Boeing-koneissa) Sisältöä Yleistä verkoista Internet ja tosiaikaisuus Ethernet Protokollia RTP, RTCP, RSVP CAN Controller Area Network TTP Time Triggered Protocol Verkot ja vikasietoisuus 3
Ethernet ja tosiaikaisuus Oppikirjan lisäksi kaksi artikkelia: J-D. Decotignie. Ethernet-Based Real-Time and Industrial Communications. Proceedings of the IEEE. 93(6):1102-1117, June 2005 P. Pedreiras et.al. FTT-Ethernet: A Flexible Real- Time Communication Protocol That Supports Dynamic QoS Management on Ethernet-Based Systems. IEEE Tr. On Industrial Informatics. 1(3):162-172, August 2005 Ethernet ja tosiaikaisuus Ei ole suunniteltu alun perin tosiaikaista liikennettä varten Uudet piirteet mahdollistavat ainakin pehmeät aikarajat Jaetusta kaapelista -> kytkettyyn tähteen Vähemmän törmäyksiä Nopeus on kasvanut 2.94 Mbps -> 10 Mbps -> 100 Mbps -> 1 GBps -> 10 Gbps Edelleen saapuvat purskeet kytkimille voivat aiheuttaa pakettien pudottamista. 4
Tosiaikaisuus ja protokollapino Sovelluskerros: Asiakas-palvelin OK, jos palvelimella aikaraja Tuottaja-kuluttaja ja publish-subscribe Yhteyskerros ja verkkokerros: Prioriteetit, aikarajat, viipeet Täällä mm. RTP protokolla Linkkikerros: Valtaosa Ethernet+tosiaika tutkimuksesta täällä CSMA/CD pahin ongelma, ei ylärajaa siirron kestolle Linkkikerros ratkaisuvaihtoehtoja TDMA-pohjainen lähetys Aikaikkuna kertoo kuka saa lähettää Vuoromerkki (token) Saa lähettää vain jos omistaa vuoromerkin Master-slave Mestari jakaa lähetysvuorot kyselemällä (poll) Kehyksen varaus Solmu voi varata tietyt kehykset itselleen 5
Yhteyskerros ja verkkokerros TCP ja UDP Käytetään vaikka ei takeita XTP Express Transfer Protocol Multistream Protocol Katso esim: S. Iren, P.D. Amer, P.T. Conrad. The transport layer: Tutorial and survey, ACM Comput. Surv. 31(4):360-404, Dec 1999. RTP & RTCP (RFC 1889) RTP Real-Time Protocol ja RTCP Real-Time Control Protocol Suunniteltu äänen ja kuvan (eli multimedian) lähettämiseen Sopii pehmeille, mutta ei koville aikarajoille (ei takuuta kulkuajasta) Voi käyttää UDP:tä alempana kerroksena Resurssien varaamiseen (käytännössä siis yhteyden varaamiseen) voi käyttää RSVP Resource Reservation Protocol 6
RTP & RTCP Kuva: Stallings 18.9. Stallings: High-Speed Networks and internets, 2nd ed. Prentice-Hall 2002 (Luku 18.3.) RTP Protokollan otsikkotietojen kentät kertovat mm. koodauksen, aikaleiman, järjestysnumeron, lähettäjän tunnisteen Sta fig 18.10 V version P padding X extension CC CSRC count M marker 7
RTCP Vastaanottaja lähettää säännöllisesti raportteja havainnoistaan (viipeet, saapuneet paketit, etc.) Viestityypit (RFC 1889): Sender report Välittäjät käyttävät tätä viestiä, ne sekä vastaanottavat että lähettävät edelleen Receiver report Puhtaat vastaanottajat raportoivat tällä viestillä Source Description Lisätietoa lähettäjästä (kuten nimi, sijainti, yhteystietoja) Goodbye Viestillä kerrotaan vastaanottajalla, että lähettäjä on lopettanut Sovellusspesifinen - käytännössä siis laajennusvaraa RSVP Resourse Reservation Protocol (RFC 2205) Varaukset yhteensuuntaan kulkevalle liikenteelle (unidirectional data flow) Tukee sekä yksi-yhteen-lähetyksiä että monen osapuolen monilähetyksiä Pääsynvalvonta (admission control) Politiikan valvonta (policy control) Soft state 8
RSVP Protokolla tarvitaan kaikkiin yhteyden varrella oleviin solmuihin (koneet ja reitittimet) Liu kuva 11-12 RSVP Vastaanottaja aloittaa! Ensimmäinen pyyntö lähtee aina vastaanottajalta ja se päätyy lähettäjälle Varaustieto kulkee vain yhteen suuntaan Vastaanottaja ei tiedä lopullisen saamansa yhteyden parametreja. Hylkäämisestä tulee tieto. Välille jäävät solmut (reitittimet, yhdyskäytävät, etc.) Hyväksymistesti ja lähetys eteenpäin 9
RSVP: Reitittimen tiedot Reitittimet ylläpitävät kahta tilatietoa: Path State Lähetyspolkuun liittyvät tiedot Mistä linkistä saapuu ja mihin kaikkialle laitetaan Näistä tiedoista muodostuu ns. nielupuu Path message lähettäjältä muodostaa reitin Reservation State Varaustiedot, jotka liittyvät vastaanottajan tarpeisiin Mitä resursseja on varattu, millainen palvelun laatu (QoS) on luvattu ja mikä vastaanottaja on varaajana Reservation request message jokaiselta vastaanottajalta kulkevat nielupuun määräämää reittiä Lähetetään vasta kun on saatu tuo path message sellaiselta lähettäjältä, jonka tietovirtaa halutaan seurata RSVP: Sink tree - nielupuu Nielupuu (sink tree) on yhden lähettäjän lähetysreittien muodostama puu kaikille sen monilähetyksen (multicast) vastaanottajille. Se on itseasiassa virityspuu (spanning tree). Liu kuva 11-13 10
RSVP: RESV-viesti Hyväksymistesti Varaa tarvittava kapasiteetti linkistä Epäonnistumisesta tieto RESV-viestin lähettäjälle Lähetys eteenpäin Lähetä tietoa edelleen kohti tiedon lähdettä Pyyntöjä voi yhdistellä, jolloin eteenpäin lähteekin vain yksi yhdistetty pyyntö RSVP: Soft State Useimpien protokollien mukaan kerran tehty varaus säilyy kunnes se eksplisiittisesti puretaan RSVP ei toimi näin, vaan se ylläpitää tilatietoja (polku ja varaus) vain määräajan. Tietojen voimassaolo on siis aika-ajoin uudistettava tai reitti puretaan ajastimen lauettua. Tästä rajallisesta voimassaolosta (ja säännöllisestä päivitysvaatimuksesta) tulee tuo nimitys soft state. Jokaisessa varaus- ja polkuviestissä on mukana viimeinen voimassaoloaika. 11
RSVP: Resurssien yhteiskäyttö Varauspyynnön (RESV) yhteydessä voi vastaanottaja määrittää suodattimia, joiden perusteella lähettäjät sidotaan resursseihin Samaan suodattimeen (filters) osuvat lähettäjät saavaan käyttää samoja resursseja Kolme luokkaa Ei suodatusta (kaikki samaan) Kiinteä suodatus (etukäteen sidotut lähettäjät ja kullekin oma varaus) Eksplisiittinen jako suodatus (nimetys lähettäjtä, jotka saavat jakaa resursseja) RSVP: Resurssien yhteiskäyttö Ei suodatusta (no filtering tai wild-card-filter) Reititin saa yhdistellä varauspyyntöjä ja tarvittavia resursseja Yhdistelyllä karsitaan saapuvaa pakettimäärää, koska yksi saapuva vuo voidaan vasta tässä jakaa useammaksi edelleen vastaanottajille. Esim: puhelinneuvottelu (yksi kerrallaan lähettää) Staattinen suodatus (fixed-filter) Yhdistelyä ei sallita Esim: Useita samanaikaisia erillisiä videoita Eksplisiittinen jako (shared-explicit) Lähettäjäjoukko jakaa resursseja ja yhdistely sallitaan, kun vastaanottajilla yhteiset lähettäjät Sopii, jos lähettäjät eivät todennäköisesti lähetä samanaikaisesti 12