Internet-tekniikka (ELEC-C7240) kurssin suorittaminen Markus Peuhkuri February 9, 2016 Contents Yleistä kurssista 1 Kurssin vaatimukset............................ 1 Harjoitustyö (laboratoriotyö)....................... 2 Harjoitustyön tuki............................. 2 Luennot................................... 2 Kirjan sisällysluettelo........................... 3 Luennot 3 Aikataulu.................................. 3 Tietokoneverkot ja Internet........................ 3 Sovelluskerrokset.............................. 4 Kuljetuskerros............................... 5 Verkkokerros................................ 7 Linkkikerros................................. 8 Multimediaverkot.............................. 10 Turvallisuus................................. 10 Yleistä kurssista Kurssin vaatimukset Tentti 1
Viisi viikkoharjoitusta Tentissä on 5 kysymystä, joista 0 5 voi korvata harjoitustyön suorituksilla. Palautukset arvioidaan asteikolla 0 (hylätty), 1 (hyväksytty), 3 (hyvä), 5 (erinomainen). Kurssin läpäisemiseksi vähintään puolet palautuksista on oltava hyväksyttyjä. Harjoitusten palautukset ja arvostelut MyCourses-ympäristön kautta Harjoitustyö (laboratoriotyö) Perinteisen laboratoriotyön asemasta käytetään itsenäisesti suoritettavaa laboratorioympäristöä. Tekniset vaatimukset koneelle: vapaata keskusmuistia 1GB levytilaa 10 GB (levykuva) virtualisointiympäristö: KVM, VirtualBox, VMware virtualisointia tukeva prosessori Mikäli tarkoitukseen soveltuvaa konetta (lähes mikä tahansa 5 vuotta uudempi kelpaa ja osa vanhemmistakin) ei ole käytettävissä, ota yhteyttä kurssiassistenttiin. Harjoitustyöt palautetaan MyCoursesin kautta aikataulun mukaan. Harjoitustyön tuki Ensisijainen interaktiivinen tuki on #aalto-elec-c7240 kanava Freenode IRCverkossa. Keskusteluun pääsee myös web-selaimella. Erillinen harjoitustyöforum on myös käytettävissä. Kanavan keskustelut tallennettaan ja ovat saatavissa muutaman vuorokauden viiveellä MyCoursesista löytyvästä linkistä salasanan takaa. Harjoitustyötä varteen kurssin sivuilla on wiki (avataan julkaisun jälkeen), jossa voi täydentää ohjeita tai lisätä vinkkejä eri ongelmakohtiin. Aktiivisuus niin verkkokeskustelussa kuin wikissä voi korottaa kurssin arvosanaa pisteella - laatu on määrää tärkeämpää. Tyhmiä kysymyksiä ei yleensä ole. Kurssilla hyödynnetään runsaasti wireshark-työkalua verkon analysointiin. Ennen harjoitustyön aloitusta kannattaa tutustua sen käyttämiseen omatoimisesti. Luennot Luennot noudattavat pääpiirtäin kurssikirjan sisällysluetteloa. Luennoilla ei ulkolueta kurssikirjaa vaan käydään läpi aihepiiriä sopivasti valikoiden. Toivottavaa on, että ennen luentoa sitä vastaava kappale kirjasta olisi tuttu, jotta keskustelu on antoisaa. 2
Kirjan sisällysluettelo 1. Tietokoneverkot ja Internet 2. Sovelluskerros 3. Kuljetuskerros 4. Verkkokerros 5. Linkkikerros 6. Langattomat 7. Multimedia 8. Turvalliuus 9. Verkonhallinta Luennot Aikataulu 1. ma 4.1. Kurssin johdanto: Tietokoneverkot ja Internet 1 2. ti 5.1. Sovelluskerros: palveluiden tarjoaminen 2 3. ma 11.1. Sovelluskerros: palveluiden osoittaminen 2 4. ti 12.1. Kuljetuskerros: peruspalvelut 3 5. ma 18.1. Kuljetuskerros: liikenteenhallinta 3 6. ti 19.1. Verkkokerros: välitys ja reititys 4 7. ma 25.1. Verkkokerros: 8. ti 26.1. peruttu 9. ma 1.2. Verkkokerros: reititysprotokollat 4 10. ti 2.2. Linkkikerros 11. ma 8.2. Mediapalvelut internetissä 7 Liikenteen hallinta verkoissa 7 12. ti 9.2. Tietoturva verkoissa 8, 9 Tietokoneverkot ja Internet 1. Mitä tietoliikenne on? millaisia viestintätarpeita on? 2. Yhteyden jakaminen tila-, taajuus- ja aikajako piiri- ja pakettikytkentäinen 3. Verkkojen rakenne kuka omistaa verkot mitä reittiä viesti kulkee 3
miten viesti kulkee paikasta A paikkaan B verkkojen standardointi 4. Verkkojen ominaisuudet viive: prosessointi-, jonotus-, lähetys- ja etenemisviive häviöt: bittivirheet, pakettihukka läpäisy: montako bittiä (pakettia) sekunnissa voi käsitellä per sekuntti pullonkaula 5. Verkkojen kerroksellinen rakenne ideaalisuus vs. todellisuus OSI vs. internet-malli sovellusrajapinnat 6. Tietoalkiot viestit segmentit datasähkeet kehykset 7. Verkkojen turvallisuusmallit palvelunestohyökkäykset järjestelmiin tunkeutuminen verkossa toimivien tunnistaminen Sovelluskerrokset 1. Syy miksi verkot on olemassa palvelu: jotain mitä toinen tarjoaa jotain vastinetta vastaan tai ilmaiseksi 2. Palveluiden evoluutio asiakas-palvelinarkkitehtuuri vertaisverkkoarkkitehtuuri skaalautuvuus: muuttuva vs. jakelutieto 3. Millaisia palveluja käytetään loppukäyttäjäpalvelut taustapalvelut tukipalvelut 4. Mitä palvelut odottavat verkolta luotettavaa tiedon välittämistä 4
oikea-aikasista tiedon välitystä läpäisyä 5. Oikean päätepisteen löytäminen osoitteistus osoittaminen 6. HTTP 7. FTP 8. SSH de-facto sovellusprotokolla HTTP/2 julkaistu 14.5.2015 (RFC 7540) get/post proxy - cache, ehdolliset pyynnöt alkuperäinen tiedonsiirtoprotokolla (UUCP:n jälkeen) erillinen kontrolli- ja datakanava korvaamaan turvattomat telnet- ja r-komennot: terminaaliyhteydet ja tiedostojen kopiointi tunnelointi, tiedostojärjestelmät 9. Sähköposti tekstipohjainen viestintäpalvelu aluksi reitititettävä, sittemmin nimipalveluun perustuva aluksi tekstipohjainen uuenkoodaus, sitten MIME, S/MIME, OpenPGP palvelinten välillä SMTP, asiakkaalta tiedosto/pop/imap/http 10. Nimipalvelu kaikki lakkaa toimimasta, jos nimipalvelu ei toimi hierarkinen rakenne (puu), hajautettu tietokanta auktoratiiviset ja ratkaisevat nimipalvelimet kyselyn kulku: iteratiivinen ja rekursiivinen kysely (juurinimipalvelimet ja suurin osa gtld:stä vastaavat vain iteratiivisiin kyselyhin) 11. Vertaisverkkosovellukset skaalautuvuuskysymykset alkukäynnistys, tiedon löytäminen Kuljetuskerros 1. Kuljetuskerroksen ja verkkokerroksen suhde mikä on verkon antama takuu: parhaan yrityksen sähkevälitys 5
kuljetuskerros täyttää verkon ja sovelluksen välisen tarpeen 2. Tietoalkiot viestit segmentit datasähkeet kehykset 3. (De)multipleksointi useita sovelluksia per päätelaite useita yhteyksiä per päätelaite(pari) 4. IP:n kuljetusprotokollat UDP: best-effort viestipalvelu TCP: luotettava tavuvirta SCTP: viestipohjainen liikenne DCCP: UDP vuonohjauksella 5. UDP toiminta 6. Kuljetusprotokollan kehitysvaiheet täydellisen luotettava kanava bittivirheellinen kanava: virhesuuntien erotus, duplikaattiviestit bittivirheellinen, viestejä hukkaava kanava: milloin tiedetään, että paketti on hukkunut? 7. TCP:n toiminta luotettava yhteyden avaus ja purku: TCP tilakone 8. Vuonohjaus lähetä viesti - vastaanota kuittaus lähetä N kpl - vastaanota kuittaus paljonko voi lähettää mitä jos puuttuu välistä, koska vastaus myöhässä kiertoviiveen arviointi 9. Ruuhkanhallinta reiluus lisäävä kasvu, kertova pienennys norsuverkot 10. Ruuhkanhallinta verkkopalveluna toimisi, jos internet olisi putki: viiveet ongelmana 6
Verkkokerros 1. Välitys vs. reititys reititys: mitä reittiä pitkin viesti välitetään mihinkin suuntaan, verkon laajuinen päätös välitys: mihin suuntaan yksittäinen data-alkio (bitti, tavu, paketti) välitetään yksittäisessä laitteessa 2. Verkkopalvelut taattu välitys taattu välitys maksimiajassa toimitus järjesksessä taattu (minimi)kapasiteetti taattu (maksimi)viiveen vaihtelu tiedon salaus ja suojaus (turvapalvelut) best effort 3. Piiri- ja pakettikytkentäisyys piirikytkentä: välityspolku reititetään varataan koko yhteyden ajaksi virtuaalipiirikutkentä: välityspolku reitititetään koko yhteyden ajaksi pakettikytkentä: jokainen pakettin kohdalla tehdään erikseen välityspäätös sen hetkisen reititystiedon perusteella 4. Reitittimen rakenne sisääntuloliitännät ja -puskurit välitysmatriisi, -väylä ja -muisti ulostuloliitännät ja -puskurit 5. IP-paketti IPv4: 20 tavua, lähde- ja kohdeosoitteet IPv6: 40 tavua, lähde- ja kohdeosoitteet 6. Osotteiden rakenne CIDR 7. Reititys pisin täsmäävä reitti osoitteiden yhdistely 8. Konfigurointi 9. IPv4 staattinen DHCP IPv6 autokonfiguraatio 7
osoitteenmuunnos (NAT) ICMP 10. Reititysalgortimit globalit algoritmit: verkon tila on tiedossa kaikkialla paikalliset algoritmit: hajautettu rakenne 11. Linkin kustannus vakio tai suhteessa kapasiteettiin voi myös perustua viiveeseen, luotettavuuteen, vapaaseen kapasiteettiin mikäli vaihteleva suure, johtaa helposti oskillointiin 12. Linkkitila-algoritmit Dijkstra OSPF, ISIS iteratiivinen algoritmi, kompleksisuus O(NlogN) (triviaali toteutus O(N2)) ensin suorat naapurit, muiden kustannus ääretön sitten naapureiden naapurit etc.. 13. Etäisyysvektorialgoritmit Bellman-Ford RIP, BGP jokainen reititin lähettää kopion omasta etäisyyvektorista naapurille tähän lisätään etäisyys naapuriin mikäli tuloksena joku etäisyys on pienempi kuin nykyinen, se korvataan 14. Hierarkinen reititys skaalautuvuus hallinnollinen itsenäisyys OSPF: area border routers, backbone BGP: etäisyysvektori prefix: (AS-polku, seuraava hyppy) politiikka 15. Levitys- ja jakelureititys tulvitus: myrskyt, käänteisen polun välitys virityspuu Linkkikerros 1. IP on päästä-päähän 8
tarvitaan jotain välittämään tieto reitittimeltä ja laitteelta toiselle etäisyys vaihtelee 25 cm 10 000 km nopeus vaihtelee: kbit/s 100 Gbit/s 2. Tyypillisesti jono bittejä, joista eroitettava paketit kehystäminen lähetysvuorot luotettava välitys vuon ohjaus virheen havaitseminen ja korjaus samanaikainen liikennöinti moleempiin suuntiin 3. Virheet bittivirheet: tarkistussumma, CRC korjaus: FEC 4. Lähetysvuorot kiinteät yhteydet nykyään pisteestä-pisteeseen langattomissa verkoissa tarvitaan vuorottelua vuorot, kilpavaraus, ruuhkan välttäminen piilossa oleva terminaali Media Access Control 5. Osoitteustus linkkitasolla rajallinen määrä laitteita: taulukko mielekäs tulvitus MAC-osoiteet 6. Bittien koodaus lsiirotielle kantataajuuskoodaus modulointi 7. MPLS ongelman voi ratkaista ylimääräisellä verkkokerroksella 8. Liikkuvuus paikallaan oleva, nomaadi, liikkuva tilaaja linkkitasolla 802.11 SSID, mobiiliverkot IP-taso: Mobile IP sovellustaso 9
Multimediaverkot 1. Kompressointi häviöllinen ja häviötön kompressointi ääni kuva liikkuva kuva reaaliaikainen vs. nauhotettu 2. Median välittäminen RTP / RTCP RTSP HTTP 3. Puhelut SIP 4. Ongelmat verkossa ahnaat liikennelähteet puskurointi vastaanotossa virheenkorjaus / toipuminen liikenteenjakelu 5. Palveluluokat, jonotus ja prioriteetit FIFO / PQ / WFQ Leaky Bucket IntServ / RSVP DiffServ Turvallisuus 1. Salausalgoritmit tarpeet: luottamuksellisuus, eheys, saatavuus symmetrinen salaus asymmetrinen salaus avainpituus 2. Tunnistautuminen avainten vaihto varmenteet 3. Suojattu yhteys TLS 10
IPSec Linkkisalaus 4. Salattu sähköposti PGP S/MIME 5. Palomuurit Pakettisuodatus Sovelluksen tunnistus Tukeutumisen havainnointi / esto 11