ITKP104 Tietoverkot - 2017 Luentokalvot

Esipuhe

Tälle sivulle on siirretty informaatio ITKP104 Tietoverkot kurssin kevään 2017 luennoilla esitetyiltä luentokalvoilta. Teoria 1 luentokalvoista, Teoria 2 luentokalvoista sekä Teoria 3 luentokalvoista. Materiaalin yhtedessä on linkit luentovideoiden kohtiin, joissa aiheita käsitellään.

Luentokalvot toimivat runkona opiskeltaville asioille ja vaativat tuekseen luentojen katsomisen tai lähdemateriaalin käytön. Tai
luentomateriaalin kun se valmistuu.

ITKP104 Tietoverkot kurssin opiskelusta

# videoJohdanto1
Kurssin yleisiä asioita Luento 1 (3m22s)
# videoJohdanto37
Luentotallenteista Luento 5 (45s)

Kurssin sisältö

  • Kurssi koostuu 5 kappaleesta 1 op laajuisia osioita.
  • Teoria 1
    • Osaamistavoitteet: Opiskelija ymmärtää perusteet Internetin rakenteesta, palveluista, arkkitehtuureista sekä yleisimmistä sovellusprotokollista
  • Teoria 2
    • Osaamistavoitteet: Opiskelija ymmärtää tietoverkkojen toteutuksen haasteet sovellus-, kuljetus-, verkko- ja linkkikerroksilla sekä Internetissä toteutetut ratkaisut haasteisiin.
  • Teoria 3
    • Osaamistavoitteet: Opiskelija ymmärtää luotettavaan tiedonsiirtoon, reititykseen sekä kanavan jakamiseen liittyvät haasteet sekä niiden toteutukseen valitut ratkaisut Internetin eri kerrosten protokollissa.
  • Analysaattorityö
    • Osaamistavoitteet: Opiskelija oppii käyttämään yksinkertaisia protokollia sekä analysoimaan niiden generoimaa verkkoliikennettä.
  • Ohjelmointityö
    • Osaamistavoitteet: Opiskelija oppii alkeet verkko-ohjelmoinnista käyttäen UDP ja TCP protokollia sekä toteuttaa yksinkertaisen protokollan.
  • Kevään 2017 kurssi korpissa
# videoJohdanto2
Kurssin sisällön jakautumisesta eri osioihin Luento 1 (2m4s)
# videoJohdanto3
Kurssin aikataulusta ja opiskelusta Luento 1 (6m31s)

Kurssilla opiskelu

  • Merkitse korppiin tavoittelemasi opintopistemäärä ja kerää vaaditut pisteet.
  • Voit suorittaa mitkä tahansa osiot missä tahansa järjestyksessä
  • Visualisointi

Opitaan tietoverkoista

# videoJohdanto4
Aiheiden opiskelusta pisteitä kurssille Luento 1 (17m13s)
# videoJohdanto28
Syventymällä aiheisiin voi kerätä lisää pisteitä Luento 4 (1m54s)
# videoJohdanto5
Opittujen asioiden osoittaminen kokeilla ja kurssin eri osiot Luento 1 (25m39s)
# videoJohdanto11
Lisää kurssin suorituksesta Luento 2 (8m22s)
# videoJohdanto17
Kurssin lähdemateriaaleista Luento 3 (4m20s)

Teoria 1

Internetin historiaosuus käydään läpi TIEP115 kurssilla pidetyllä vierailuluennolla. Kalvoja ei ole vielä siirretty tähän materiaaliin.

Teoria 1 osion sisältö

  • Johdantoa kurssin aiheisiin
  • Internet: tekninen, palvelu- ja hallintanäkökulma
  • Internetoperaattorit ja Internetin rakenne
  • Verkkoon pääsy ja fyysinen media
  • Verkkotopologiat
  • Kerrosarkkitehtuuri
  • Datan paketointi
  • Pakettikytkentä vs. piirikytkentä
  • Viive ja hävikki pakettivälitteisissä verkoissa
  • Yhteydellinen vs. yhteydetön palvelu
  • Mikä on Protokolla?
  • Verkot ja tietoturva
  • Sovelluskerroksen protokollat

Johdantoa

Tietoverkkoja käytetään nykyään suurinpaan osaan tiedonsiirrosta. Tämän materiaalin avulla opitaan tietoverkkojen toiminnasta ja toteutuksesta käyttämällä esimerkkinä Internettiä. Tietoverkko koostuu laitteista, jotka kommunikoivat toistensa kanssa. Internet puolestaan koostuu tietoverkoista, joissa sijatsevat laitteet kykenevät kommunikoimaan toisten laitteiden kanssa vaikka ne sijaitsevat toisessa verkossa riippumatta siitä kuinka monen verkon kautta kommunikaatio kulkee.

Eräs esimerkki tietoverkosta on lähiverkko (eng. Local Area Network - LAN). Lähiverkko voidaan muodostaa yhdistämällä useampi laite siten että ne pystyvät kommunikoimaan toistensa kanssa. Käytännössä yhdistäminen tehdään kytkemällä laitteet Ethernet kaapelilla kytkimeen. Kytkin on siis laite jolla voidaan yhdistää useampi kuin kaksi laitetta samaan verkkoon. Langattomissa lähiverkoissa laitteet yhdistetään tukiasemaan ja 'yhdistäminen' tapahtuu käyttämällä samaa radiotaajuutta sekä verkon tunnuksen avulla.

Sen lisäksi että laitteilla on joko langallinen tai langaton yhteys toisiinsa ja verkkoon, täytyy niiden ymmärtää toisiaan, jotta ne voivat kommunikoida. Tämä ymmärrys laitteiden välillä toteutetaan protokollilla, jotka määrittelevät säännöt kommunikaatiolle. Säännöt määrittelevät esim. käytetyt viestit, niiden tarkoituksen ja sisällön sekä kuinka kommunikaatio aloitetaan ja miten viesteihin vastataan.

Isompia verkkoja voidaan muodostaa yhdistämällä lähiverkkoja toisiinsa. Kahden tai useamman lähiverkon yhdistäminen toteutetaan reitittimellä. Reititin on laite joka osaa välittää kommunikaatiota verkkojen välillä.

Kommunikaatiota varten verkon laitteet tarvitsevat osoitteen, joka kertoo laitteiden sijainnin verkossa sekä yksilöi laitteen (omassa) verkossaan. Lähiverkossa sijaitseva laite kykenee selvittämään samassa lähiverkossa sijaitsevien laitteiden osoitteet. Kun osoite sijaitsee jossain toisessa verkossa, niin laitteeseen pitää olla määritetty oletusreitti (oletusreititin), jonka kautta voidaan kommunikoida muissa verkoissa olevien laitteiden kanssa. Reititin tietää tarkasti joidenkin osoitteiden sijainnin ja lisäksi reitittimellä on oletusreitti, jonka kautta saavutetaan toisia reitittimiä, jotka sitten tietävät sijainteja osoitteille, joista kyseisellä reitittimellä ei ole tarkkaa sijaintitietoa.

Mikä on verkko? Mitä ovat verkon laitteet?

# videoJohdanto6
Johdantoa verkkoihin ja sen laitteisiin Luento 1 (5m6s)

Muutamien termien selityksiä

https://upload.wikimedia.org/wikipedia/commons/c/c9/Client-server-model.svg
https://upload.wikimedia.org/wikipedia/commons/c/c9/Client-server-model.svg
  • Mikä on palvelin?
    • Palvelimeksi kutsutaan tietokoneen ohjelmistoa joka odottaa asiakkaan yhteydenottoja ja joka vastaa asiakkaan pyyntöihin tarjoten palveluita tai resursseja. Esim. Web -palvelimet vastaavat selainten pyyntöihin.
    • Esimerkkejä palvelimista:
      • Web tai WWW -palvelin eli HTTP palvelin, palvelee asiakkaita HTTP protokollalla
      • Sähköpostipalvelin, palvelee asiakkaita sähköpostiprotokollilla (SMTP, POP3, IMAP4)
      • DNS -palvelin eli nimipalvelin, palvelee asiakkaita DNS protokollalla
  • Mikä on asiakas?
    • Asiakkaaksi kutsutaan ohjelmistoa tai laitetta joka pyytää palveluja tai resursseja palvelimelta.
# videoJohdanto7
Palvelin palvelee asiakkaita Luento 1 (3m12s)

Lisää termien selityksiä

  • Mikä on selain?
    • Selain on (asiakas)ohjelmisto, jolla pyydetään sisältöä Web -palvelimilta. Selaimelle annetaan URL, joka kertoo (a) miten, (b) mistä ja (c) mitä pyydetään.
  • Mikä on URL?
    • URL (uniform resource locator) on viite joka määrittelee jonkin (c) resurssin (b) sijainnin tietoverkossa sekä (a) mekanismin resurssin hakemiseen. Esim. https://www.jyu.fi/opiskelu/index.html missä (a) https on mekanismi (protokolla), (b) www.jyu.fi, missä www on palvelimen nimi eli laite ja jyu.fi on verkkotunnus (domain nimi) eli laitteen sijainti verkossa ja (c) opiskelu/index.html on haettu resurssi (hakemistopolku/tiedostonimi)
  • Uniform Resource Identifier (URI) - RFC 3986
  • URI, URL ja URN - RFC 3305
# videoJohdanto8
Selain on eräs asiakas ja se hakee palvelut URL:n avulla Luento 1 (6m27s)

Vielä lisää termien selityksiä

  • Mikä on reititin?
    • Reititin yhdistää eri verkkoja siten että niiden välillä voidaan välittää (data)paketteja.
  • Mikä on paketti?
    • Tiedonsiirrossa paketti on pieni määrä dataa joka siirretään verkkolaitteiden välillä. Esim. kuva pilkotaan pieniin osiin, jotka paketoidaan (laitetaan pieneen pakettiin ja siihen osoite) ja lähetetään jokainen paketti erikseen verkon läpi.
    • Video Internetin paketista
  • Mikä on palomuuri?
    • Palomuuri on tietoturvajärjestelmä haitallisen verkkoliikenteen estämiseksi. Palomuuriin voidaan asettaa säännöt miten kontrolloidaan sisääntulevaa ja uloslähtevää liikennettä.
# videoJohdanto9
Reititin välittää paketteja, palomuuri blokkaa paketteja Luento 1 (4m36s)

Mikä on soketti ja protokolla? Mikä on Internet?

  • Mikä on protokolla?
    • Protokolla määrittelee kommunikaation säännöt kahden tai useamman laitteen välille
    • Säännöt sisältävät
      • syntaksin: symbolien yhdistelmät, jotka ovat sallittuja kommunikaatiossa, eli 'protokollan käyttämässä kielessä'
      • semantiikan: symboliyhdistelmien tarkoituksen kommunikaatiossa
      • ajoituksen: sallitut viestien järjestykset kommunikaatiossa
      • virheistä toipuminen: mahdolliset mekanismit virheistä toipumiseen
  • Mikä on soketti?
    • Käyttöjärjestelmän tarjoama rajapinta (kuljetuskerroksen) protokollien käyttöön
  • Mikä on Internet?
    • Internet on... verkko? verkkojen verkko? Paljon yhdistettyjä verkkoja?
    • Tämä kurssi kertoo sen mikä Internet on sekä miten ja miksi Internet toimii!
# videoJohdanto10
Protokollat määrittävät kommunikaation, soketit sen mahdollistavat Luento 1 (3m39s)
# videoJohdanto12
Internetin havainnollistaminen soketin ja HTTP:n avulla Luento 2 (11m9s)

Tietoverkot esimerkkinä Internet

  • Mikä on Internet: Palvelunäkökulma
    • Tietoliikenneinfrastruktuuri (verkko) mahdollistaa hajautetut sovellukset (palvelut)
  • Mikä on Internet: Hallintanäkökulma
  • Mikä on Internet: Tekninen näkökulma
    • Laitteita: Palvelimet, reitittimet, tietokoneet, mobiililaitteet
    • Linkkejä: langallisia ja langattomia
      • Kaistanleveys (eng. bandwidth) = “tiedonsiirtonopeus”
    • Protokollia: Sääntöjä joiden mukaan laitteet keskustelevat toistensa kanssa
    • Verkkoja: yhteenkytkettyjä kotiverkkoja, yritysten verkkoja, Internet palveluntarjoajien verkkoja, ...
# videoJohdanto13
Internet eri näkökulmista Luento 2 (4m40s)

Mikä on Internet: Palvelunäkökulma

# videoJohdanto14
Internet palvelunäkökulmasta Luento 2 (34m50s)

Pilvipalvelut

  • Ohjelmisto palveluna (SaaS)
    • Voidaan käyttää olemassaolevia (pilvi)sovelluksia
    • Ilmaisia tai maksetaan käytön mukaan
    • Käytettävissä miltä tahansa Internettiin yhteydessä olevalta laitteelta
    • Esim. docs.google.com , docs.com , pixlr.com , ...
  • Palvelinalusta palveluna (PaaS)
  • Infrastruktuuri palveluna (IaaS)
    • Voidaan ajaa mitä tahansa sovellusta palveluntarjoajan laiteistossa
    • Sen sijaan että on oma palvelin(keskus), niin sovellukset ajetaan palveluntarjoajan palvelimissa
    • Fyysisiä tai virtuaalisia palvelimia
    • Esim. Amazon EC2 , Rackspace , GoGrid , DataCenter , TNNet , ...
# videoJohdanto15
Internetin pilvipalvelut Luento 2 (9m9s)

Mikä on Internet: Hallintanäkökulma

https://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Who-Runs-the-Internet-graphic.png/640px-Who-Runs-the-Internet-graphic.png
https://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Who-Runs-the-Internet-graphic.png/640px-Who-Runs-the-Internet-graphic.png
"Fortunately, nobody owns the Internet, there is no centralized control, and nobody can turn it off. Its evolution depends on rough consensus about technical proposals, and on running code. Engineering feed-back from real implementations is more important than any architectural principles."

— B.Carpenter, RFC 1958, page 3

# videoJohdanto16
Internetin halintanäkökulma Luento 2 (15m38s)

Request for Comments (RFC)

  • Teknisiä ja muunlaisia muistioita Internetistä
    • Protokollien määrityksiä
    • Verkkosovellusten toteutuksesta
    • Mielipiteitä ja huumoria
  • Kaikki RFC:t eivät ole standardeja! RFC 1796
  • Internet standardien standardointi prosessi on kuvattu RFC 2026 dokumentissa.
  • Kuka tahansa voi ehdottaa muistiota RFC dokumentiksi - RFC 2223
# videoJohdanto18
RFC dokumentit Luento 3 (9m55s)

Request for Comments (RFC) - Status

# videoJohdanto19
RFC dokumenttien eri statukset Luento 3 (41s)

Request for Comments (RFC) - Esimerkkejä

  • Internet Standard - RFC 3629
    • UTF-8, merkistökoodaus jota Internetissä tulisi käyttää
  • Proposed Standard - RFC 5246
    • TLS 1.2, jolla salataan esim. www -liikenne
  • Draft Standard - RFC 4271
    • Operaattoreiden välinen reititysprotokolla
  • Best Current Practice - RFC 2119
    • RFC dokumenteissa käytettävät avainsanat
  • Informational - RFC 2324
    • Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
  • Informational - RFC 2468
    • "A long time ago, in a network, far far away, a great adventure took place!"
  • Experimental - RFC 1149
    • Standard for the transmission of IP datagrams on avian carriers
  • Historic - RFC 5000
    • Internet Official Protocol Standards
# videoJohdanto20
Esimerkkejä eri statusten RFC dokumenteista Luento 3 (19m53s)

Mikä on Internet: Tekninen näkökulma visuaalisesti

https://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Internet_map_1024.jpg/480px-Internet_map_1024.jpg
https://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Internet_map_1024.jpg/480px-Internet_map_1024.jpg
# videoJohdanto21
Internet teknisestä näkökulmasta Luento 3 (12m29s)

ISP:t ja Internetin rakenne

https://upload.wikimedia.org/wikipedia/commons/3/36/Internet_Connectivity_Distribution_%26_Core.svg
https://upload.wikimedia.org/wikipedia/commons/3/36/Internet_Connectivity_Distribution_%26_Core.svg
# videoJohdanto22
Internet operaattoreiden jakautuminen eri tasoille Luento 3 (8m27s)

Esimerkkejä Tier operaattoreista

Image Image Image

  • Karkea luennoitsijan esimerkki kolmen operaattorin sijoittumisesta eri renkaisiin:
    • Tier 1: TeliaSonera
    • Tier 2: Nordunet
    • Tier 3: Funet
  • Internetin verkot liitetään toisiinsa esim. solmupisteiden kautta
Jyu liittyminen Internettiin
Jyu liittyminen Internettiin
# videoJohdanto23
Esimerkkejä Internet operaattoreista ja IXPt Luento 3 (9m48s)

Pääsy Internettiin

https://upload.wikimedia.org/wikipedia/commons/9/9f/Internet_Connectivity_Access_layer.svg
https://upload.wikimedia.org/wikipedia/commons/9/9f/Internet_Connectivity_Access_layer.svg
# videoJohdanto24
Internettiin pääsy Luento 3 (7m57s)

Verkkoon pääsy ja fyysinen media

Bitit Ethernet kaapelin jännitevaihteluina
Bitit Ethernet kaapelin jännitevaihteluina
  • Yhteys Internettiin
  • Bitti ja binääriluvut
  • Fyysisen kerroksen tehtävänä on lähettää bitit fyysiselle siirtotielle

Visualisointi biteistä

# videoJohdanto25
Fyysinen verkkoon pääsy Luento 3 (7m50s)

Bitit ja tavut

https://upload.wikimedia.org/wikipedia/commons/9/92/Bits_and_Bytes.svg
https://upload.wikimedia.org/wikipedia/commons/9/92/Bits_and_Bytes.svg
  • Bitti = binääriluku, eli luku jonka erilaisia arvoja on vain kaksi
  • Binäärinumero = useasta bitistä koostuva numero
  • Tavu = 8 bitin kokoinen binäärinumero
  • Esim. oheisen kuvan generoivan svg -tiedoston koko on 121 kB (kilotavua)
  • Nopeus - tavuja vai bittejä sekunnissa
  • Nopeus yksi tavu sekunnissa (1 B/s) vastaa nopeutta 8 bit/s
  • Esim. Suomen ja Euroopan välisten kaapeleiden liikenne vuonna 2016 on n. 7.5 Terabittiä sekunnissa
# videoJohdanto26
Bitit ja tavut tiedonsiirrossa Luento 3 (6m27s)

Fyysinen tekniikka (2017)

  • Valokuitukaapeli 15-20 Terabittiä sekunnissa, lähiaikoina nelinkertaistunee, ennuste satoja Terabittejä sekunnissa
    • Parannukset lisäämällä kanavien määriä (eri aallonpituuksia samaan kaapeliin) sekä kasvattamalla yksittäisen kanavan kapasiteettia
  • Ethernet parikaapeli
    • 'normaali' on 10 Mbit/s - 1 Gbit/s (parannukset kaapelitekniikkaa parantamalla)
    • 10 Gbit/s kuparikaapelilla vain fullduplex (vanhoja kytkimiä ja kaapeleita ei voi käyttää), 10+ Gbit/s sasavutettavissa valokuitu-Ethernetillä
  • Kaapelimodeemi vs. ADSL
    • Kaapelimodeemi, jaettu, siirto kaapeli-TV:n koaksiaalikaapelissa, teoreettinen maksimi 100+ Mbit/s
    • ADSL, dedikoitu, käyttää puhelinkaapeleita eli parikaapelia, ADSL2+ teoreettinen maksimi 24 Mbit/s
  • Langaton siirtomedia - Nopeuteen vaikuttaa esim. etäisyys, liike, muut käyttäjät, radiotaajuinen häiriö muista laitteista, ...
    • WLAN: IEEE 802.11 - 1997 vuonna 1-2 Mbit/s - 2017 vuonna 802.11ac tai 802.11n teoreettinen maksimi satoja megabittejä sekunnissa
    • 3G - 5G: 3GPP tai IEEE pohjaisia ratkaisuja, teoreettinen maksimi 1 Mbit/s - 1000 Mbit/s

What are the differences between 1G, 2G, 3G, 4G and 5G?

# videoJohdanto27
Fyysinen tekniikka tiedonsiirrossa Luento 4 (22m30s)

Verkkotopologiat

https://upload.wikimedia.org/wikipedia/commons/9/97/NetworkTopologies.svg
https://upload.wikimedia.org/wikipedia/commons/9/97/NetworkTopologies.svg
# videoJohdanto29
Verkkotopologiat Luento 4 (6m37s)

Kerrosarkkitehtuuri

  • Laita TCP/IP (Internet protocol suite) ja OSI -viitemallin mukaiset protokollakerrokset oikeaan järjestykseen. Kerrosta raahtessa saat myös tietoa kerroksen tehtävästä.

Tehtävä: Kerrokset oikeaan järjestykseen

# videoJohdanto30
Kerrosarkkitehtuurit Luento 4 (21m55s)

Datan paketointi

  • Klikkaa sanomaa visualisoinnissa, jotta saat sen vastaanottavalle sovellukselle. Seuraa hyötydatan (sanoman) ja kontrolli-informaation, eli eri kerrosten otsikkokenttien H1 - H4 käyttäytymistä.

Visualisointi

# videoJohdanto31
Datan eli hyötykuorman paketointi Luento 4 (10m17s)

Pakettikytkentä vs. piirikytkentä

Piirikytkentää 1940 luvulla
Piirikytkentää 1940 luvulla
  • Esimerkki molemmista (GSM runkoverkko)
https://upload.wikimedia.org/wikipedia/commons/d/d1/Gsm_structures.svg
https://upload.wikimedia.org/wikipedia/commons/d/d1/Gsm_structures.svg
# videoJohdanto32
Pakettikytkentä ja piirikytkentä Luento 4 (9m1s)

Piirikytkentä

  • Piirikytkennässä
    • Täytyy varata resurssit (jokaiselta linkiltä kapasiteettia, muodostetaan piirikytkentä)
    • Varattuja resursseja ei voi muut käyttää
    • Huono purskeiselle liikenteelle (perinteinen web sivujen selaus)
    • Hyvä puheliikenteelle... ja olisi hyvä multimedian suoratoistolle
    • Verkon muu liikenne ei vaikuta omaan tiedonsiirtonopeuteen

Visualisointi

# videoJohdanto33
Piirikytkentä Luento 4 (5m2s)

Pakettikytkentä

  • Pakettikytkennässä
    • Ei erikseen varata resursseja
    • Pystytään palvelemaan enemmän käyttäjiä
    • Paljon parempi purskeiselle liikenteelle
    • Visualisoinnissa linkkien D ja E kapasiteetti on puolet piirikytkentäisen visualisoinnin tapauksesta
    • Verkon muu liikenne vaikuttaa omaan tiedonsiirtonopeuteen

Visualisointi

# videoJohdanto34
Pakettikytkentä Luento 4 (3m56s)

Viive ja hävikki pakettivälitteisissä verkoissa

  • Pakettien viiveen neljä syytä
    • Laskenta solmuissa
    • Jonotus reitittimissä eli ruuhka
    • Lähetysviive on paketin koko bitteinä jaettuna tiedonsiirtonopeudella - \(\frac{L}{R}\)
    • Etenemisviive on etäisyys jaettuna etenemisnopeudella - \(\frac{d}{s}\)

Visualisointi

# videoJohdanto35
Pakettikytkentäisen verkon viivetekijöitä Luento 4 (4m5s)

Visualisointeja viiveestä ja pakettien putoamisesta

# videoJohdanto36
Pakettikytkentäisen viiveen ja hävikin visualisointia Luento 4 (5m16s)

Yhteydellinen vs. yhteydetön palvelu

  • Yhteydellinen palvelu
    • Ennen tiedonsiirtoa muodostetaan yhteys (ja lopuksi suljetaan yhteys)
    • Pakollinen piirikytkentäisessä verkossa, jotta saadaan resurssit varattua
    • Luotettava tiedonsiirto vaatii käytännössä yhteydellisen palvelun myös pakettikytketyissä verkoissa
  • Yhteydetön palvelu
    • Ei yhteyden muodostusta, mikä pienentää viivettä
    • Yksinkertaisempi toteuttaa
    • Luotettava tiedonsiirto?

"Yhteydettömässä ei muodosteta yhteyttä, kun taas yhteydellisessä muodostetaan. Yhteydellisessä yhteydenmuodostus aiheuttaa viivettä. Yhteydettömässä viive tulee sen puoleen siitä että muu liikenne vaikuttaa tiedonsiirtoon, kun erillistä yhteyttä varten ei ole varattu resursseja"

# videoJohdanto38
Yhteydellinen vai yhteydetön palvelu verkkokerroksella Luento 5 (7m9s)

Verkot ja tietoturva

  • Verkot ja tietoturva
  • Tietoturvan kiertäminen
  • Joitain haavoittuvuuksia
  • Mitä on SSL/TLS?
  • Salausten murtaminen
  • ROT13 salaus
# videoJohdanto39
Verkot ja tietoturva Luento 5 (1m5s)

Joitain tietoverkkojen tietoturvauhkia

  • Haittaohjelmat (eng. malware)- pääsy laitteeseen Internetistä
    • Virus - vaatii käyttäjän toimenpiteen
    • Mato - esim. haavoittuvan verkkosovelluksen kautta
    • Suojautuminen: Mieti mitä klikkaat, pidä kaikki päivitettynä, palomuuri ja virustorjunta
  • Palveluiden esto
    • (D)DoS (Hajautettu) Palvelunesto Hyökkäys
    • Tukahdutetaan palvelin tai sen liityntälinkki paketeilla
    • Suojautuminen: Vaikeaa, esim. IDS (Intrusion Detection System) ja IPS (Intrusion Prevention System)
  • Pakettien kaappaaminen
    • onnistuu helposti salaamattomassa WLAN verkossa
    • salatussa WLAN verkossa vie jonkin aikaa purkaa salaus (Lisää TIES327 Tietoverkkoturvallisuus kurssilla)
    • HTTPS vs. HTTP protokolla
    • Suojautuminen: Salataan liikenne
# videoJohdanto40
Joitain tietoverkkojen tietoturvauhkia Luento 5 (18m25s)

Kuinka NSA et al. pyrkivät kiertämään tietoturvaa (spekulointia)

  • Kontrolloidaan kansainvälistä salausstandardointia
    • Aiemmin rajoittamalla salausavainten pituuden 56 bittiin
    • Esim. patentoimalla salaustekniikoita, jotta niitä ei voi käyttää
  • Hyväksikäyttämällä implementoinnin haavoittuvuuksia
    • Tekemällä 'yhteistyötä' salausteknologioista vastaavien yritysten kanssa - lisäten haavoittuvuuksia
    • Käyttämällä hyväksi löytämäänsä haavoittuvuutta, sen sijaan että julkaistaan se jotta sen voisi korjata
  • Supertietokoneiden brute force laskenta
    • Kaikki salausmenetelmät voi purkaa tuntemalla salausavaimen, joten etsitään salausavain
    • Käytetään järjetön määrä lasketatehoa salausavainten etsimiseen (käydään kaikki vaihtoehdot läpi)
    • Varastetaan tai muuten saadaan tietoon salausavaimia, jolloin ei tarvitse testata kaikkia vaihtoehtoja
# videoJohdanto41
Tietoturvan kiertäminen Luento 5 (4m36s)

Joitain tietoturvaan liittyviä haavoittuvuuksia

  • The Heartbleed Bug - Julkisuuteen 11.4.2014 - Viestintäviraston tiedote
    • SSL/TLS salauksen implementointiin liittyvä ongelma, SSL/TLS liikenne pysyy salattuna, ei siis tietoverkkohaavoittuvuus, vaan ohjelmistohaavoittuvuus
      • Ohjelmointi 2 kurssin jälkeen → C++ lisäosassa tarkemmin → ja sitten ITKST53 Ohjelmistoturvallisuus kurssille
    • ns. Buffer overflow -bugi, jossa (palvelin)koodi ei tarkista SSL/TLS viestin ilmoittamaa muistipuskurin kokoa
    • Muuttamalla arvon suuremmaksi kuin palvelimen muistipuskurin todellinen koko, voidaan lukea palvelimen muistissa olevaa tietoa, sisältäen esim. sertifikaatit, käyttäjätunnukset sekä salasanat
  • Gemalton SIM korttien Ki avainten varkaus - Julkisuuteen 20.2.2015, tapahtunut vuonna 2010 - Viestintäviraston tiedote
# videoJohdanto42
Joitain tietoturvaan liittyviä haavoittuvuuksia Luento 5 (8m44s)

Mitä on SSL/TLS

  • SSL on Secure Sockets Layer
    • Uusin SSL versio 3.0
      • mikään SSL versio ei ole enää turvallinen
    • TLS 1.0 on oikeastaan SSL 3.1 versio
    • Eli SSL on oikeastaan TLS:n edeltäjä ja monesti termejä käytetään tarkoittamaan samaa asiaa joko erikseen (SSL tai TLS) tai yhdistetynä SSL/TLS...
      • ...ja saman suojauksen ne takaavatkin, ja se riippuu palvelimen asetuksista
  • TLS on Transport Layer Security
    • 2015 - TLS 1.0 ei ole enää turvallinen
    • 2016 - TLS 1.1 ei ole enää turvallinen
    • 2017 - TLS 1.2 versiota pidetään enää ainoana turvallisena versiona
    • Mutta testaapa itse palvelinten SSL/TLS valmius https://www.ssllabs.com/ssltest/
  • QUIC - Googlen selaimissa ja palvelimissa - "designed to provide security protection equivalent to TLS/SSL"
  • RFC 7457 - Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)
# videoJohdanto43

Salausten murtaminen - esimerkkejä

  • 128 bittinen SSL salausavain
    • Avainvaihtoehtoja on 2128 = 340282366920938463463374607431768211456 = 34 × 1037
    • Oletetaan että 50 supertietokonetta tarkistaa 1018 (miljardi miljardia) avainta sekunnissa
    • Avainten läpi käyminen kestää 340282366920938463463 = 34 × 1019 sekuntia
    • vuodessa on 31 556 926 sekunttia, joten vaadittu aika on 10783127828133 vuotta eli noin 10783 miljardia vuotta.
  • Salasana: esim. jyu thk ohjeet hyvälle salasanalle
    • Tehdään nyt väärin minimin mukainen eli vähintään 8 merkkiä, esim. 'salasana' → kräkätään heti 'sanakirjan' avulla, kokeilepa itse:

    • Koodataan salasana SHA-256 hash calculator ja kräkätään salasana Password Hash Cracker

    • Kokeilepa muuttaa osa kirjaimista isoiksi ja testaa, sitten osa kirjaimista numeroiksi ja viimeisenä kokeile tuplata salasana 'salasana salasana', välilyönnillä tai ilman.

    • Pieniä kirjaimia 26, salasanan pituus 8 = 268 = n. 208 miljardia läpikäytävää kombinaatiota

    • Tämän päivän tietokone laskee n. 4 miljardia vaihtoehtoa sekunnissa → Kokeilee kaikki vaihtoehdot 52 sekunnissa. Testaa salasanojen turvallisuutta itse

    • Hyvä järjestelmä ei tietenkään saisi antaa kokeilla rajattomasti eri vaihtoehtoja

# videoJohdanto44
Salausten murtamisesta ja yksityisyydestä Luento 5 (8m13s)

Yksityisyydestä

  • Tietoturva ei ole vain turvallisia protokollia, turvallista ohjelmointi sekä salausta
  • Myös yksityisyys (eng. privacy) liittyy tietoturvaan
  • Eli se mitä tietoa jokainen jakaa itsestään sosiaalisessa mediassa

Mikä on Protokolla? Ihmisten kesken ei ole tarkkaan määritelty

Visualisointi

# videoJohdanto45
Yleensä protokollaa ei ole tarkkaan määritelty ihmisten väliseen kommunikaation Luento 5 (3m6s)

Mikä on Protokolla? Laitteiden välillä tarkkaan määritelty

Visualisointi

# videoJohdanto46
Pitää tarkkaan määritellä protokolla laitteiden väliseen kommunikaatioon Luento 5 (2m0s)

Sovelluskerros

  • DNS (Domain Name System)
  • WWW, HTTP, HTTPS, evästeet, välimuisti
  • Sähköposti
  • SMTP, POP3, IMAP
  • FTP
# videoJohdanto47
Sovelluskerroksen protokollat Teoria 1 osiossa Luento 5 (1m3s)

DNS (Domain Name System)

DNS palvelu PHP:llä kalvon yläreunassa

# videoJohdanto48
DNS selvittää verkkokerroksen osoitteen Luento 5 (9m7s)

Verkkotunnuksen hakeminen: esim. www.itkp104.fi

  • Tarkista onko verkkotunnus varattu: domain.fi
  • Ja sitten hae verkkotunnusta
  • 5.9.2016 jälkeen .fi verkkotunnukset ja niihin liittyvät palvelut hankitaan verkkotunnusvälittäjältä
  • Voiko hankkia verkkotunnuksen www.itkp104.ari ?
  • Periaatteessa... Alternative DNS root
  • ... jos joku suostuu ylläpitämään .ari verkkotunnusta ja lisäksi sivuston löytämiseen tarvittaisiin erillinen ohjelmisto tai lisäosa selaimeen
# videoJohdanto49
Verkkotunnuksen hankkiminen Luento 5 (2m22s)

HTTP (Hypertext Transfer Protocol)

  • HTTP Evästeet
  • Web välimuisti
  • HTTP ja tietoturva (HTTPS)
  • HTTP persistent vs. non-persistent
  • HTTP/2

HTTP (Hypertext Transfer Protocol)

  • Tekstipohjainen protokolla (vielä)
  • WWW sivujen siirtoon palvelimelta asiakkaalle (selaimelle)
  • Selain lähettää pyynnön johon palvelin vastaa
  • Yleisin pyyntö on GET ja palvelin vastaa status koodilla, joka kertoo miten pyyntöön vastaaminen onnistui

HTTP Evästeet

  • HTTP on yhteydetön protokolla, ei ylläpidä yhteyttä palvelimeen (alapuolinen kuljetuspalvelu on yhteydellinen, mikä on eri asia)
  • HTTP on tilaton protokolla, eli HTTP protokolla ei välitä informaatiota mahdollisesta aiemmasta vierailusta sivulla
  • Evästeillä palvelin pystyy tunnistamaan/muistamaan käyttäjän (selaimen) aiemmat vierailut
  • Palvelin pystyy tallentamaan lomakkeilla syötettyä tietoa ja yhdistämään sen evästeen avulla käyttäjään
# videoJohdanto50
HTTP Evästeet Luento 5 (2m58s)

Web välimuisti (cache)

  • Tallennetaan väliaikaisesti HTTP protokollalla haettuja objekteja
  • Web sivu tulee näkyviin nopeammin, kun se haetaan lähempää
  • Pienentää tiedonsiirron tarvetta, helpottaa ruuhkia pullonkaula -linkeillä
  • Selain tallentaa hakemiaan resursseja välimuistiin (browser cache)
  • ISP:llä tai organisaatiolla voi olla välimuistipalvelin (Web cache tai HTTP cache)
  • Web proxy on eri asia, ei tallenna välimuistiin, välittää pyynnön eteenpäin
  • Joskus Web cache:sta käytetään nimitystä Web proxy cache, korostamaan että välimuisti on erillisessä palvelimessa
# videoJohdanto51
HTTP välimuisti Luento 5 (3m0s)

HTTPS ("RFC 2818", "HTTP over SSL", "HTTP Secure")

  • Keneen luotetaan? Sertifikaatin myöntäjiin, Selainten valmistajiin
  • Selainten valmistajat valitsevat luotetut juurisertifikaatit
  • Palvelimen admin luo julkisen avaimen sertifikaatin , jonka joku (luotettu) Sertifikaatti auktoriteetti allekirjoittaa
  • Jos Sertifikaatti auktoriteetti on selaimen valmistajan mukaan luotettu, niin selain ei anna varoitusta
  • Tulossa 2015: ilmainen automatisoitu sertifikaatin myöntäjä: Let's Encrypt
# videoJohdanto52
Turvallinen HTTP Luento 5 (3m25s)

HTTP protokolla kehittyy hitaasti

  • (HTTP/1.0) HTTP non-persistent: Voidaan siirtää vain yksi objekti samalla TCP yhteydellä
  • (HTTP/1.1) HTTP persistent: Voidaan siirtää useita objekteja samalla TCP yhteydellä
  • Mutta ei voida siirtää rinnakkain samalla TCP yhteydellä →
  • Selaimet avaavat useita rinnakkaisia TCP yhteyksiä
  • HTTP/2: voidaan siirtää useita objekteja rinnakkain samalla TCP yhteydellä
  • HTTP/2 muita muutoksia: binäärinen, otsikoiden pakkaaminen, palvelin voi työntää sivuja välimuistiin ilman selaimen pyyntöä,...
  • Demo: HTTP/1.1 vs. HTTP/2
# videoJohdanto53
Hitaasti kehittyvä HTTP Luento 5 (3m59s)

HTTP persistent vs. non-persistent

Visualisointi

Sähköpostin välitys

# videoJohdanto54
Sähköpostin välitys Luento 5 (3m51s)

FTP

  • FTP protokollaa käytetään tiedostojen siirtoon

  • Esimerkki selaimella ftp://ftp.funet.fi

  • Tarkemmin Protokollista opitaan Teoria 2 osuudessa

  • Tähän päättyy Teoria 1 osuus kurssista!

Teoria 2

# videoWireshark
Salaus eri kerroksilla - Korppi -liikenne Wiresharkilla ja selaimella Luento 6 (6m55s)

ITKP104 Teoria 2 - Sovelluskerros

Visualisointi BitTorrentin toiminnasta

# videoBitTorrent
BitTorrentin toiminta Luento 6 (2m54s)

Teoria 2 - Sovelluskerros

  • P2P visualisointi
  • Tor
  • DNS (Domain Name System)
  • SMTP, POP3, IMAP
  • FTP

Tor (The Onion Router - anonyymi verkko)

sipuli
sipuli
  • Muodostaa virtuaalisen piirikytkennän (ketjun reitittäviä laitteita) kommunikoivien osapuolten välille
  • Virtuaalinen piiri Sovellus- ja kuljetuskerrosten välissä → voidaan käyttää eri sovellusprotokollia
  • Ennen lähetystä sovelluskerroksen data 'paketoidaan' ja salataan useaan kertaan (sipuliin lisätään kerroksia)
  • Jokaisella kerroksella on tieto vain edellisestä ja seuraavasta 'reitittävästä laitteesta'
  • Kun dataa siirretään, jokainen virtuaalisen piirikytkennän reititin poistaa uloimman kerroksen
# videoTOR
TOR verkon toiminta Luento 6 (17m27s)

DNS (Domain Name System)

  • Hajautettu hierarkinen rakenne
  • URL: www.jyu.fi.[tyhjä]
  • DNS Palvelinten roolit
    • Juurinimipalvelin ["piste tyhjä"]
    • Ylätason nimipalvelin [.fi] (TLD-nimipalvelin)
    • Autoritäärinen nimipalvelin [jyu.fi]
    • Ratkaisija (Resolveri) nimipalvelin [se joka joka alkaa pyynnöstä selvittää IP osoitetta]

https://upload.wikimedia.org/wikipedia/commons/0/09/DNS_in_the_real_world.svg https://upload.wikimedia.org/wikipedia/commons/e/ee/Root-current.svg

# videoDNS1

DNS Iteratiivinen vs. rekursiivinen

Visualisointi

# videoDNS2
DNS rekursiivinen tai iteratiivinen toiminta Luento 6 (4m18s)

DNS: kokeile itse (nslookup)

  • Kokeile komentoriviltä: nslookup (Linux ja Mac järjestelmissä myös dig)
    • www.google.com
    • www.google.fi
    • www.jyu.fi
    • users.jyu.fi
    • set type=MX
    • jyu.fi
    • student.jyu.fi
    • set type=all
    • jyu.fi
  • Juurinimipalvelimen ja TLD-nimipalvelimen tiedot
    • set type=all
    • .
    • fi.
  • Tietojen kysyminen miltä tahansa DNS palvelimelta
    • nslookup - 8.8.8.8
    • set type=all
    • jyu.fi
# videoDNS3
DNS: kokeile itse Luento 6 (11m18s)

SMTP (Simple Mail Transfer Protocol)

Visualisointi

# videoSMTP
SMTP toiminta Luento 6 (14m27s)

POP3 (Post Office Protocol)

Visualisointi

# videoPOP3
POP3 toiminta Luento 6 (5m6s)

FTP (File Transfer Protocol)

Visualisointi

# videoFTP
POP3 toiminta Luento 6 (7m26s)
# videoHTTPrinnakkain
HTTP rinnakkaiset TCP yhteydet Luento 6 (3m5s)

Sovelluskerrokselta kuljetuskerrokselle

  • Teoria 2

  • Requirements for Internet Hosts -- Application and Support - RFC 1123

  • Requirements for Internet Hosts -- Communication Layers - RFC 1122

Sovelluskerroksen protokolla määrittelee

  • Mitä viestejä käytetään
  • Viestien syntaksin: mitä kenttiä viestissä ja kuinka ne erotetaan toisistaan
  • Viestien semantiikka (merkitys)
  • Säännöt sille, milloin lähetetään viestejä ja miten reagoidaan viesteihin
  • Avoimia protokollia (RFCt) ja yksityisiä protokollia
# videoSovellusProtokollat
Sovelluskerroksen protokollat Luento 7 (3m55s)

Kuljetuspalvelun tarve riippuu sovelluksen tarpeista:

  • Data perille
    • Oikealle sovellukselle
  • Mahdollisuus käyttää useita verkkosovelluksia samaan aikaan
    • Yhdellä kuljetuskerroksen palvelulla?
  • Datan eheys? Eri tarpeita
    • Ei virheitä datassa eikä kadonnutta dataa, esim. sähköposti
    • Saa olla virheitä datassa, esim. puheliikenteen laatu kärsii
    • Saa kadota dataa, esim. kellon aikaa ei kannata lähettää uudestaan vaan lähetetään uusi aika
  • Ajoitus?
    • Viive (delay) ei voi olla sekunttiluokkaa esim. Internet-puheluissa
    • Viiven vaihtelu (delay jitter) ei saa olla suuri esim. suoratoistossa
  • Kaistanleveys (tiedonsiirtokapasiteetti)?
    • Videopuhelussa kuvan siirto vie paljon enemmän 'kaistaa' kuin äänen siirto
  • Tietoturva?
    • Palvelin tunnistaa asiakkaan? Asiakas tunnistaa palvelimen? Selkokielinen datansiirto kryptataan?
# videoKuljetusPalvelu
Kuljetuskerroksen palveluiden tarve Luento 7 (18m41s)

Internetin kuljetuspalvelut

  • Data viedään oikealle sovellukselle
  • Kuljetuskerroksen osoitteet (portit) laitteessa → useita samanaikaisia verkkosovelluksia
  • Yhteydellinen kuljetuspalvelu …
    • Luotettava kuljetuspalvelu
    • Ruuhkanhallinta ja vuonvalvonta
  • … tai yhteydetön kuljetuspalvelu
    • Ei luotettava kuljetuspalvelu
  • Ajoitus?
    • Ei tällä hetkellä, ehkäpä jonain päivänä
  • Kaistanleveveys?
    • Ei tällä hetkellä, ehkäpä jonain päivänä
  • Tietoturva?
    • Ei, toteutetaan tarvittaessa kuljetuskerroksen ja sovelluskerroksen välissä
  • Käytännön implementointi?
    • Soketti (rajapinta käyttöjärjestelmän protokollapinon toteutukseen)
# videoKuljetusInternet
Kuljetuskerroksen palvelut Internetissä Luento 7 (17m27s)

Internetin kuljetuspalveluiden nimet

  • Transmission Control Protocol (TCP)
  • User Datagram Protocol (UDP)
  • Datagram Congestion Control Protocol (DCCP)
  • Stream Control Transmission Protocol (SCTP)
  • Resource Reservation Protocol (RSVP)
    • Yksi ehdotus ajoituksen ja kaistanleveyden takaamiseksi
    • IntServ (Integrated Services) arkkitehtuurin resurssienvaraus protokolla
    • DiffServ (Differentiated services) ei käytä RSVP:tä mutta mainitaan se IntServ:n 'kilpailijana' (kevyempi, ei takaa absoluuttista ajoitusta tai kaistanleveyttä)
  • Kuljetuskerroksen protokollien vertailua
# videoKuljetusProtokollat
Kuljetuskerroksen protokollat Internetissä Luento 7 (11m58s)

Kuljetuskerros tarjoaa...

  • ... kuljetuspalvelun sovelluskerrokselle käyttäen verkkokerroksen palveluita apunaan

  • Minkälainen on verkkokerros Internetissä?

    • Pakettikytkentäinen
    • Kun verkko ruuhkautuu, paketteja saattaa hävitä
    • IP protokolla ei tarkista onko sen kuljettamassa datassa virheitä
  • Verkkokerroksen palvelu Kuljetuskerrokselle?

    • Vie datan virheettömästi oikeaan osoitteeseen, jos vain pystyy!
    • Best Effort -palvelu
    • IP protokollaa ei kiinnosta
      • jos reitittimet hukkaa paketteja
      • jos fyysisellä tai linkkikerroksella tulee virheitä
# videoKuljetusInternet3
Kuljetuskerroksen palvelut riippuvat verkkokerroksen palveluista Luento 7 (3m54s)

Sovelluskerros haluaa kuljetuspalvelulta...

  • Data perille (saa tulla virheitä)
    • Verkkokerros: Ok, verkkokerros vie oikealle laitteelle
    • Kuljetuskerrokselle jää: Data oikealle sovellukselle/prosessille
    • Toteutus: määritellään vastaanottajan kuljetuskerroksen osoite
  • Mahdollisuus käyttää useita verkkosovelluksia samaan aikaan
    • Verkkokerros: sama se mitä dataa paketissa on, paketit jonoon vaan ja laitetaan ne verkkoon
    • Kuljetuskerros:
      • Lähetys: erotellaan lähtevät paketit lähettäjän ja/tai vastaanottajan (kuljetuskerroksen) osoitteen perusteella
      • Vastaanotto: kun verkkokerrokselta saadaan paketteja, niin (kuljetuskerroksen) osoitteen perusteella ohjataan ne oikealle sovellukselle/prosessille
      • TCP: myös verkkokerroksen osoitteita käytetään lähettäjä/vastaanottajaprosessin määrittämiseen
  • Kurose-Ross 3. luku, Transport layer, kalvot 8-14
# videoKuljetusInternet4
Sovelluskerroksen haluamat palvelut kuljetus- ja verkkokerroksen palveluilla Luento 7 (3m5s)
# videoKuljetusInternet5
Kuljetuskerros palvelee useita sovelluksia samaan aikaan Luento 7 (16m16s)

Kuljetuskerrokselta verkkokerrokselle

  • Teoria 2

Esimerkki kuljetuspalvelun toiminnasta

Esimerkki kuljetuspalvelun toiminnasta

# videoPosti
Kuljetuskerros palvelee useita sovelluksia samaan aikaan Luento 7 (4m24s)

Kuljetuskerroksen palvelut sovelluskerrokselle

  • Datan eheys (virheettömyys)?
    • Verkkokerros: ei kiinnosta
    • Kuljetuskerros:
      • UDP: tarkastetaan otsikkokenttien sekä datan mahdolliset virheet (IPv4:n kanssa ei pakollinen), hylätään virheelliset paketit
      • TCP: tarkastetaan otsikkokenttien sekä datan mahdolliset virheet, hylätään virheelliset paketit
      • TCP: lisäksi uudelleenlähetetään paketit jotka eivät tule perille
    • Sovelluskerros (verkko-ohjelman tekijä) voi valita käyttääkö TCP vai UDP palvelua
  • UDP ja TCP protokollien yhteiset palvelut sovelluskerrokselle
    • Data perille oikealle sovellukselle/prosessille
    • Palvellaan samanaikaisesti useita prosesseja samalla kuljetuspalvelulla
    • Tarkastetaan otsikkokenttien sekä datan virheettömyys
# videoKuljetus1
Kuljetuskerros palvelee sovelluskerrosta Luento 7 (4m56s)
# videoKuljetusTCPjaUDP
Kuljetuskerroksen TCP:n ja UDP:n palveluita sovelluskerrokselle Luento 7 (5m8s)
# videoKuljetus2
TCP ja UDP protokollien palvelut Luento 8 (6m32s)

Sovelluskerros haluaa kuljetuspalvelulta...

  • Ajoitus?
    • Verkkokerros - I am doing my best, but all those other users...
      • pakettikytkentäinen, viive voi vaihdella paljon riippuen muun liikenteen määrästä
    • Kuljetuskerros
      • UDP: Lähetetään niin nopeasti kuin sovellus/käyttöjärjestelmä/tietokone/tiedonsiirtolinkki kykenee ja toivotaan että viive (ja varsinkin sen vaihtelu) pysyy aisoissa
      • TCP: Luotettavuus pääasia, uudelleenlähetykset aiheuttavat viivettä
      • TCP: On muuten myös Vuonvalvonta ja Ruuhkanhallinta palvelut! Mutta lisäävät viivettä...
    • Sovelluskerros - ei saa tätä palvelua kuljetuskerrokselta, täytyy itse keksiä jotain
      • Videostreamit:
        • valitaan yleensä TCP, lähetetään datapaketteja niin nopeasti kuin TCP kykenee (pitää odottaa kuittauksia, yms.)
        • puskuroidaan saapuvaa dataa, toivotaan että puskurissa oleva data riittää viiveen noustessa
        • jos ei riitä niin käyttäjä joutuu odottamaan
      • Reaaliaikainen video/puhe:
        • valitaan yleensä UDP, lähetetään datapaketteja niin nopeasti kuin UDP kykenee (tai sovelluksen tarve)
        • mahdollisesti korjataan virheitä vastaanottajalla, mutta ei uudelleenlähetyksiä
        • mahdollisesti puskuroidaan paketteja, jotta selvitään pienistä viiveen vaihteluista
        • myöhästyneet paketit käytännössä sama kuin kadonnut paketti, kuvan/puheen laatu kärsii
  • Kaistanleveys?
    • Kuljetuskerros: Lähetän niin paljon (bittiä sekunnissa) kuin verkkokerros kykenee palvelemaan
    • Verkkokerros: Lähetän niin paljon (bittiä sekunnissa) kuin linkkikerros kykenee palvelemaan
    • Linkkikerros: Lähetän niin paljon (bittiä sekunnissa) kuin fyysinen siirtotie vain kykenee lähettämään linkille
    • Linkkikerros: linkeillä voi olla eri tekniikka käytössä
    • Best Effort - ja riippuu fyysisestä sekä linkkikerroksesta
    • Sovelluskerros: alemmat kerrokset eivät voi taata tiedonsiirtonopeutta, täytyy itse keksiä jotain
    • Sovelluskerros: Videostream, puskuroidaan dataa ennenkuin käyttäjä painaa 'play'
    • Sovelluskerros: Reaaliaikainen video/puhe, vaihdetaan/valitaan heikompi laatuinen kuvan/äänen laatu
  • Tietoturva?
    • Kuljetuskerros: Ei tunnistautumista tai salausta
    • Verkkokerros: IPsec (Internet Protocol Security), tunnistautuminen ja koko verkkoliikenteen salaus kahden laitteen välillä
    • Verkkokerros: IPsec on yksi vaihtoehto VPN (Virtual Private Network) toteutukseksi
    • Linkkikerros: Riippuu linkistä, esim.
      • Ethernet: Ei tunnistautumista tai salausta
      • WLAN: Ei tunnistautumista, salaus optiona
      • 2G/3G/4G: tunnistautuminen ja salaus aina
    • Sovelluskerros: alempien kerrosten ei tarvitse taata tietoturvaa, täytyy itse keksiä jotain
    • Sovelluskerros: Transport Layer Security (TLS) tai Secure Sockets Layer (SSL) tai vastaava sovelluskerroksen ja kuljetuskerroksen väliin
    • Sovelluskerros: Jokin muu salaus- ja/tai tunnistautumismenetelmä liitettynä sovelluskerroksen protokollaan
# videoKuljetus3
Sovelluskerroksen tarpeet vs. alempien kerrosten tarjonta Luento 8 (25m16s)

Verkkokerros

Verkkokerroksen palvelut

  • Data oikealle laitteelle
    • Pitää selvittää reitti: Reititysprotokollat
    • Pitää kuljettaa data: IP protokolla
    • Virhetilanteet ja verkon diagnostiikka: ICMP protokolla
  • Laite: Reititin
    • Reititys (routing): selvitetään reitit IP osoitteisiin
    • Välitys (forwarding): lähetetään dataa eteenpäin reititysinformaation perusteella
    • Reititysprotokolla: kommunikoi muiden reitittimien kanssa jakaen reititysinformaatiota
    • Reititysalgoritmi: määrittää reitit ja ylläpitää reititystaulua
    • Kun pakettia välitetään, katsotaan reititystaulusta (osoitteen perusteella) seuraava laite jolle paketti lähetetään
  • Laite: Tietokone, puhelin, tabletti, ...
    • Reititystaulu kertoo onko kohde samassa verkossa vai ei
    • Käyttöjärjestelmä muodostaa reititystaulun verkkoasetusten perusteella
    • Listaus: netstat -rn, Muokkaus route add ...
# videoVerkko1
Verkkokerroksen palvelut Luento 8 (20m11s)

Esimerkki hierarkisesta reitityksestä

Jyu liittyminen Internettiin
Jyu liittyminen Internettiin

Hierarkinen reititys - jos sitä ei olisi...

  • Skaalautuvuus - Jos ei olisi hierarkiaa
    • Jokaisen reitittimen täytyisi ylläpitää tietoa koko Internetin rakenteesta
    • Internet ruuhkautuisi reitittimien päivitysviesteistä
    • Reititysalgoritmitmien laskenta kestäisi kauan
  • Autonomia - Jos ei olisi hierarkiaa
    • Kaikki maailman verkot joutuisivat käyttämään samaa reititysprotokollaa
    • Yritykset/organisaatiot eivät pystyisi piilottamaan oman verkkonsa toteutusta ulkopuolisilta
    • Oman verkon hallinta olisi maailmanlaajuisen reititysprotokollan vastuulla, eikä itsellä
# videoHierarkia1
Jos ei olisi hierarkista reititystä Luento 8 (6m14s)

Hierarkinen reititys - Toteutus

  • IP osoite on hierarkinen (CIDR) - vertaa postiosoitteeseen
    • Maailmanlaajuisesti tiedetään se kenen operaattorin verkossa on mitkäkin osoitteet
    • Operaattorin verkossa tiedetään tarkemmin osoitteen sijainti
  • Autonomous System (AS)
    • Reitittimet organisoidaan kuuluvaksi tiettyyn AS:ään
    • Yleensä yksi operaattori on yksi AS (isoilla operaattoreilla on useita AS tunnuksia)
    • AS:n sisällä
      • operaattori hallitsee verkkoaan ja käyttää haluamaansa reititysprotokollaa
      • reitittimet osaavat välittää sisäisen liikenteen
      • ulosmenevästä liikenteestä tiedetään reunareititin, joka vastaa AS:n ulkoisesta liikenteestä
    • AS:stä ulos
      • Mainostetaan mitkä osoiteavaruudet kuuluvat AS:n verkkoon, ei yksittäisiä osoitteita
      • Mainostetaan myös mitä muita AS:iä voidaan kyseisen verkon kautta saavuttaa
      • ulosmenevä liikenne lähetetään sellaiseen AS:ään joka mainostaa reittiä
      • ulosmenevän liikenteen kohde-AS;ään vaikuttaa myös tiedonsiirron hinta
# videoHierarkia2
Hierarkisen reitityksen toteutus Luento 8 (12m51s)

Verkkokerrokselta linkkikerrokselle

  • Teoria 2

IP osoite kertoo laitteen sijainnin?

  • IP osoite ei kerro sijaintia maapallolla! Vain sen kuinka paketit reititetään kohteeseen
  • IP osoitteiden sijainnista voi olla tietoa: Sijaintitieto joudutaan keräämään esim. tietokannoista ja/tai seuraamalla reittejä
  • Sijainnin voi piilottaa esim. proxy palvelimella
    • Etsi ensin jokin proxy palvelin, esim. google haku
    • Katso optioista että scriptien suoritus sallitaan
    • Mene sitten kurssin pääsivulle kopioimalla ao. osoite proxy sivustolle
    • http://users.jyu.fi/~arjuvi/opetus/itkp104/
    • Sivulla olevat skriptit saattaa näyttää 'sijaintisi', riippuu proxy palvelimesta ja käytetyistä asetuksista
    • Sen jälkeen mene ao. sivustolle, joka kerää tietoa siitä mistä päin maailmaa vierailijat tulevat
    • http://users.jyu.fi/~arjuvi/opetus/itkp104/2015/ITKP104_proxy_hits_2015.html
    • Jos intoa riittää niin kokeile eri maissa sijaitsevia proxy palvelimia
# videoIP1
IP osoite kertoo sijainnin verkkohierarkiassa Luento 8 (6m18s)
# videoIP2
IP osoite ja proxy palvelin Luento 10 (3m8s)
# videoIP3
Tulos luennon aikaisesta lippukilpailusta Luento 10 (24s)

IP osoite

  • "A name indicates what we seek. An address indicates where it is. A route indicates how to get there." (RFC 791)
  • Kertoo laitteen sijainnin verkkohierarkiassa (ei fyysistä sijaintipaikkaa)
    • Osoite on hierarkinen - osoite on jaettu kahteen osaan: alkuosa (network prefix) ja laiteosa (host identifier) (aiemmin oli verkko-osa, aliverkko-osa, ja laiteosa)
    • Alkuosan perusteella paketti välitetään oikeaan verkkoon
    • Alkuosan synonyyminä nykyään saatetaan käyttää myös verkko-osaa, tai englannista johdettua prefix-osaa
  • Osa IP osoitteista on varattu erityiskäyttöön
  • Organisaatioille jaetut /8 IP lohkot
# videoIP4

IP osoitteiden lukumäärä

  • IPv4: koko 32 bittiä, eli 4 294 967 296 (232) osoitetta, joka jaetaan neljään tavuun

  • Ihmisystävällinen merkintä tapa, muutetaan tavut positiivisiksi kokonaisluvuiksi ja erotetaan ne pisteillä

  • esim. 173.194.32.63 on binäärisenä 10101101 11000010 00100000 00111111

  • IPv6: koko 128 bittiä, eli noin 3.4×1038 (2128) osoitetta

  • Ihmisystävällinen merkintä tapa, jaetaan kahdeksaan neljän heksadesimaaliluvun ryhmään

  • esim. 2a00:1450:400f:801::1017, joka on lyhennys

  • osoitteesta 2a00:1450:400f:8010:0000:0000:0000:1017

  • 0010101000000000 0001010001010000 0100000000001111 1000000000010000 0000000000000000 0000000000000000 0000000000000000 0001000000010111

# videoIP5
IP osoitteiden lukumäärä Luento 9 (15m29s)

IP osoitetyypit

  • Unicast - täsmälähetys (esim. Yle Areena, Nettiradiot, yms., kaikki 'normaali' liikenne Internetissä)
    • Yleisin osoitetyyppi, "yhden" laitteen osoite, voidaan käyttä lähettämiseen sekä vastaanottamiseen
  • Broadcast - yleislähetys (vastaa ~ TV ja radio lähetyksiä radio/kaapeliverkosta)
    • Yleislähetysosoite, voidaan lähettää (ali)verkon kaikille laitteille sama paketti
    • 255.255.255.255 kaikille lähiverkon laitteille (ei mene reitittimen läpi)
    • tai esim. aliverkkoon 192.0.2.0/24 yleislähetysosoite on 192.0.2.255
    • IPv6:ssa ei mahdollista, hoidetaan Multicast:llä
  • Multicast - ryhmälähetys (näin 'pitäisi' Yle Areena yms. toimia!!!)
    • Monilähetysosoite, laitteet voivat liittyä Multicast ryhmään (IGMP protokolla), jossa paketit välitetään kaikille jäsenille
    • Varattu osoitteet väliltä 224.0.0.0 - 239.255.255.255 (IPv4) ja ff00::/8 (IPv6)
    • Reitittimet hoitavat paketin kopiomisen ja välittämisen kaikille ryhmän jäsenille
  • Anycast - 'Jokulähetys' (hajautetaan palvelu sijainnin mukaan)
    • Paketti voidaan välittää monelle vastaanottajalle, mutta valitaan se joka on fyysisesti lähimpänä
    • Käytetään kuorman tasaukseen palvelimilla sekä esim. DNS juurinimipalvelinten hajauttamiseen
    • IPv4:ssa ei suoraa tukea, hoidetaan yleensä AS:ien välisellä reititysprotokollalla (BGP)
    • IPv6:ssa osa spesifikaatiota
# videoIP6
IP osoitetyypit Luento 9 (26m56s)

IP aliverkotus

  • Aluksi ensimmäiset 8 bittiä oli verkko-osa (ja loput 'muuta' osaa), sitten kehitettiin luokallinen osoitteistus
Class Leading
bits
Size of network
number
bit field
Size of rest
bit field
Number
of networks
Addresses
per network
Start address End address
A 0 8 24 128 (27) 16,777,216 (224) 0.0.0.0 127.255.255.255
B 10 16 16 16,384 (214) 65,536 (216) 128.0.0.0 191.255.255.255
C 110 24 8 2,097,152 (221) 256 (28) 192.0.0.0 223.255.255.255
  • D = Multicast, E = Varattu
  • Lopulta: Classless Inter-Domain Routing (CIDR)
  • Luokaton verkkotunnusten (domain) välinen reititys
# videoIP7
IP osoite: luokallisesta luokattomuuteen Luento 9 (7m19s)

IP aliverkotus - CIDR

  • Aliverkkomaski
    • Kertoo kuinka monta bittiä IP osoitteesta on prefix osaa (loput on sitten laitteille)
    • Esim. /8 tarkoittaa että 8 ensimmäistä bittiä on prefix osaa
    • Tällöin siis aliverkkomaskissa kahdeksalla ensimmäisellä bitillä on arvo 1 (ja lopuilla arvo 0)
    • Eli /8 aliverkkomaski on 11111111 00000000 00000000 00000000
    • Tai piste-desimaalimuodossa 255.0.0.0
    • Tai esim. /23 jota vastaa maski
    • 11111111 11111111 11111110 00000000
    • eli 255.255.254.0
    • JYU verkko 130.234.0.0/16 (eli maski 255.255.0.0)
    • RIPE tietokanta
    • https://stat.ripe.net/
Jyu liittyminen Internettiin
Jyu liittyminen Internettiin
  • Esimerkki aliverkon osoitteista
    • Olkoon verkko 130.234.169.0/26 eli 26 bittiä on varattu verkko-osaan
    • osoite, jossa kaikki laiteosan bitit ovat nollia, on aliverkon osoite
      • 10000010 11101010 10101001 00000000 eli 130.234.169.0
    • osoite, jossa kaikki laiteosan bitit ovat ykkösiä, on aliverkon yleislähetysosoite
      • 10000010 11101010 10101001 00111111 eli 130.234.169.63
    • loput osoitteet ovat käytettävissä verkon laitteille
      • alkaen osoitteesta
        • 10000010 11101010 10101001 00000001
      • loppuen osoitteeseen
        • 10000010 11101010 10101001 00111110
  • Aliverkon osoitteessa ei aina ole desimaalimuodossa nollaa
    • Olkoon verkko 130.234.169.64/26 eli 26 bittiä on varattu verkko-osaan
    • osoite, jossa kaikki laiteosan bitit ovat nollia, on aliverkon osoite
      • 10000010 11101010 10101001 01000000 eli 130.234.169.64
    • osoite, jossa kaikki laiteosan bitit ovat ykkösiä, on aliverkon yleislähetysosoite
      • 10000010 11101010 10101001 01111111 eli 130.234.169.127
    • loput osoitteet ovat käytettävissä verkon laitteille
      • alkaen osoitteesta
        • 10000010 11101010 10101001 01000001
      • loppuen osoitteeseen
        • 10000010 11101010 10101001 01111110
  • Verkossa olevan laitteen IP osoitteen ja aliverkkomaskin avulla voidaan selvittää ko. verkon aliverkon osoite ja yleislähetysosoite.
# videoIP8
IP osoite: aliverkkomaski Luento 9 (4m32s)

IPv4 Route Table

  • Windows tietokone: netstat -rn tai route print
    ===========================================================================
    Network Destination Netmask         Gateway         Interface       Metric
    0.0.0.0             0.0.0.0         130.234.169.1   130.234.169.82  276
    130.234.169.0       255.255.255.128 On-link         130.234.169.82  276
    130.234.169.82      255.255.255.255 On-link         130.234.169.82  276
    ===========================================================================
    
  • Koneen osoite: 130.234.169.82
  • Aliverkon osoite: 130.234.169.0/25
  • Aliverkkomaski: 255.255.255.128
# videoIP9
IP osoite: reititystaulu Luento 9 (1m19s)

IPv4 reititys - kohde samassa verkossa

===========================================================================
Aliverkkomaskit                       Verkko-osoite        
11111111 11111111 11111111 11111111   130.234.169.82
11111111 11111111 11111111 10000000   130.234.169.0
00000000 00000000 00000000 00000000   0.0.0.0
===========================================================================
  • Lähetetään osoitteeseen: 130.234.169.47 (10000010 11101010 10101001 00101111)
  • Käydään reititystaulun kaikki rivit läpi
  • Tehdään binäärinen AND operaatio kohdeosoitteen ja tarkasteltavan rivin maskin kanssa
  • Verrataan yllä saatua tulosta tarkasteltavan rivin verkko-osoitteeseen
  • Reititys bittien vastaavuuden perusteella
  • Jos usealla verkko-osoitteella sama määrä, valitaan se jonka maskissa on eniten ykkösiä
# videoIP10
IP osoite: reititys reititystaulun perusteella Luento 9 (3m5s)

IPv4 reitin valinta - kohde samassa verkossa

===========================================================================
    11111111 11111111 11111111 11111111   255.255.255.255
AND 10000010 11101010 10101001 00101111   130.234.169.47
    10000010 11101010 10101001 00101111   130.234.169.47
verrataan
    10000010 11101010 10101001 01010010   130.234.169.82
 ---> 26 bittiä samoja
===========================================================================
===========================================================================
    11111111 11111111 11111111 10000000   255.255.255.128
AND 10000010 11101010.10101001 00101111   130.234.169.47
    10000010 11101010.10101001 00000000   130.234.169.0
verrataan    
    10000010 11101010.10101001 00000000   130.234.169.0
 ---> 32 bittiä (kaikki) samoja
===========================================================================
===========================================================================
    00000000 00000000 00000000 00000000   0.0.0.0
AND 10000010 11101010 10101001 00101111   130.234.169.47
    00000000 00000000 00000000 00000000   0.0.0.0
verrataan    
    00000000 00000000 00000000 00000000   0.0.0.0
 ---> 32 bittiä (kaikki) samoja
===========================================================================
  • Paketti lähetetään 130.234.169.0 verkkoon, koska sen aliverkkomaskissa enemmän ykkösiä
  • Koska kyseisellä rivillä ei ole gateway sarakkeessa IP osoitetta, on kohde siis samassa verkossa
===========================================================================
Network Destination Netmask         Gateway         Interface       Metric
0.0.0.0             0.0.0.0         130.234.169.1   130.234.169.82  276
130.234.169.0       255.255.255.128 On-link         130.234.169.82  276
130.234.169.82      255.255.255.255 On-link         130.234.169.82  276
===========================================================================
  • Seuraavaksi selvitetään kohteen (130.234.169.47) linkkikerroksen osoite (MAC osoite)
  • Linkkikerroksen osoite selvitetään ARP protokollalla
  • Ja kapsuloidaan verkkokerroksen paketti linkkikerroksen kehykseen
# videoIP11
IP osoite: reititys samaan verkkoon Luento 9 (4m30s)

IPv4 reititys - kohde eri verkossa

===========================================================================
Aliverkkomaskit                       Verkko-osoite        
11111111 11111111 11111111 11111111   130.234.169.82
11111111 11111111 11111111 10000000   130.234.169.0
00000000 00000000 00000000 00000000   0.0.0.0
===========================================================================
  • Lähetetään osoitteeseen: 130.234.169.147 (10000010 11101010 10101001 10010011)
  • Koska meillä on 130.234.169.0/25 verkko, niin 147 on eri verkossa kuin 47
  • Laite 'tietää' ylläolevan aliverkkomaskin perusteella
  • 130.234.169.0/25: 130.234.169.0 - 130.234.169.127
  • 130.234.169.128/25: 130.234.169.128 - 130.234.169.255
# videoIP12
IP osoite: reititys eri verkkoon Luento 9 (5m55s)

IPv4 reitin valinta - kohde eri verkossa

===========================================================================
    11111111 11111111 11111111 11111111   255.255.255.255
AND 10000010 11101010 10101001 10010011   130.234.169.147
    10000010 11101010 10101001 10010011   130.234.169.147
verrataan    
    10000010 11101010 10101001 01010010   130.234.169.82
 ---> 29 bittiä samoja
===========================================================================
===========================================================================
    11111111 11111111 11111111 10000000   255.255.255.128
AND 10000010 11101010.10101001 10010011   130.234.169.147
    10000010 11101010.10101001 10000000   130.234.169.128
verrataan    
    10000010 11101010.10101001 00000000   130.234.169.0
 ---> 31 bittiä samoja
===========================================================================
===========================================================================
    00000000 00000000 00000000 00000000   0.0.0.0
AND 10000010 11101010 10101001 10010011   130.234.169.147
    00000000 00000000 00000000 00000000   0.0.0.0
verrataan    
    00000000 00000000 00000000 00000000   0.0.0.0
 ---> 32 bittiä (kaikki) samoja
===========================================================================

IPv4 reitin valinta - kohde eri verkossa

===========================================================================
Network Destination Netmask         Gateway       Interface      Metric
0.0.0.0             0.0.0.0         130.234.169.1 130.234.169.82 276
130.234.169.0       255.255.255.128 On-link       130.234.169.82 276
130.234.169.82      255.255.255.255 On-link       130.234.169.82 276
===========================================================================
  • Paketti lähetetään 0.0.0.0 verkkoon, eli oletusreittiin (koska sen vertailussa eniten samoja bittejä edellisellä kalvolla)
  • Koska kyseisellä rivillä on gateway sarakkeessa oletusreitittimen osoite, on kohde siis eri verkossa
  • Seuraavaksi selvitetään reitittimen (130.234.169.1) linkkikerroksen osoite (MAC osoite)
  • Linkkikerroksen osoite selvitetään ARP protokollalla
  • Ja kapsuloidaan verkkokerroksen paketti linkkikerroksen kehykseen

IP hierarkinen reititys - CIDR

  • Aliverkkomaski
    • FUNET (AS1741) mainostaa (Announced Prefix): Meillä verkko 130.234.0.0/16 (osoitteet 130.234.0.0 - 130.234.255.255), reititys via AS1741
    • AS naapurit päivittää oman verkkonsa reitittimien reititystaulut (reititysprotokollalla)
    • AS naapurit mainostaa (mahdollisesti) omille naapureilleen (riippuu liikenteen laskutuksesta), esim. Nordunet (AS2603): Meillä reitti verkkoon 130.234.0.0/16 polku AS2603 AS1741
    • TeliaSonera (AS1299) mainostaa: Meillä reitti verkkoon 130.234.0.0/16 polku AS1299 AS2603 AS1741
    • Jos reitti neljään verkkoon (1) 130.232.0.0/16, (2) 130.233.0.0/16, (3) 130.234.0.0/16, (4) 135.235.0.0/16
    • Niin voisi mainostaa "meillä reitti verkkoon 130.232.0.0/14", mikä sisältää yo. verkot
    • Kun paketti pitää välittää yliopiston verkkoon (esim. 130.234.4.129), Internet-operaattorit tietävät mainosten perusteella mitä reittejä kohteeseen on olemassa ja Internet-operaattorit joiden läpi reitti kulkee
    • Mainosten tunnetun alkuosan pituus kasvaa kun lähestytään kohdetta, esim.
    • JYU verkossa reititystaulussa voisi olla 130.234.0.0/17 (130.234.0.0 - 130.234.127.255) ja 130.234.128.0/17 (130.234.128.0 - 130.234.255.255)
# videoIP13
IP osoite: hierarkinen reititys AS:ien välillä Luento 9 (6m39s)

Mistä niitä IPv4 osoitteita saa?

  • IANA jakaa osoitelohkot alueellisille rekistereille
    • 3.2.2011 jakoi viimeiset viisi IPv4 osoitelohkoa, Last /8, noin 16 miljoona osoitetta
    • Alueellisilla rekistereillä oma politiikka termille 'osoitteet loppui'
  • Alueelliset rekisterit - Regional Internet Registry (RIR)
    • RIPE Network Coordination Centre (RIPE NCC)
      • Käytti osoitelohkonsa toisena loppuun 14.9.2012
      • Osoitteiden loppuminen määritelty 'kun aletaan jakaa osoitteita viimeisestä /8 lohkosta'
      • Jakaa nyt rajoitetusti osoitteita viimeisestä /8 lohkostaan
      • Saanut lisää osoitteita käyttöönsä kevään 2014 ja kevään 2015 välillä
  • American Registry for Internet Numbers (ARIN)
    • Huhtikuun 2014 jälkeen jakaa osoitteita viimeisestä /8 lohkostaan
    • Osoitteiden loppuminen määritelty 'kun osoitteet loppuu viimeisestä /8 lohkosta'
    • Osoitteet loppui kokonaan 24.9.2015
  • Alueelliset rekisterit - Regional Internet Registry (RIR) - jatkuu
    • Asia-Pacific Network Information Centre (APNIC)
      • Käytti osoitelohkonsa ensimmäisenä loppuun (15.4.2011)
      • Osoitteiden loppuminen määritelty 'kun aletaan jakaa osoitteita viimeisestä /8 lohkosta'
      • Jakaa nyt rajoitetusti osoitteita viimeisestä /8 lohkostaan
  • Latin American and Caribbean Internet Address Registry (LACNIC)
    • Keväällä 2014 jakoi osoitteita normaalisti kunnes n. 8 miljoonaa osoitetta jäljellä (last /9)
    • Käytti osoitelohkonsa loppuun 10.6.2014
    • Osoitteiden loppuminen määritelty 'kun aletaan jakaa osoitteita viimeisestä /9 lohkosta'
    • Jakaa nyt rajoitetusti osoitteita viimeisestä /9 lohkostaan
  • African Network Information Centre (AfriNIC)
    • 3.4.2017 alkoi jakaa IP osoitteita viimeisestä /8 lohkostaan - 'IP osoitteiden loppumisen vaihe 1 alkoi'
    • Jakaa nyt rajoitetusti osoitteita viimeisestä /8 lohkostaan
# videoIP14
IP osoitteiden jakaminen Luento 9 (3m30s)
# videoIP15
IP osoitteiden loppuminen Luento 10 (4m34s)

Saako euroopassa enää IPv4 osoitteita?

  • RIPE Network Coordination Centre (RIPE NCC)
    • Käytti vapaat osoitteensa loppuun alkamalla allokoimaan osoitteita viimeisestä /8 lohkosta
    • Jakaa vain yhden /22 (1024 IPv4 osoitetta) kullekin LIR (Local Internet registry):lle
    • Myönnetään vain jos hakijalla on olemassa oleva IPv6 allokaatio
    • Enää ei ole mahdollista (uuden) operaattorin olla yhteydessä Internettiin vain IPv4 tekniikalla
    • Yksi /16 lohko varataan IPv4 → IPv6 siirtymistä varten
    • Kaikkien operaattoreiden tulisi ottaa IPv6 käyttöön
# videoIP16
IP osoitteet euroopassa Luento 10 (3m40s)

IPv4 vs IPv6

  • Erot
    • osoite
    • kehysrakenne yksinkertaistettu
      • poistettu harvoin käytettyjä kenttiä
      • Vähentää pakettien käsittelyaikaa reitittimillä
  • ei DHCP:tä
  • IPv6 kykenee automaattisesti generoimaan itselleen osoitteen
  • ei erillisiä yleislähetysosoitteita
# videoIP17
IPv4 ja IPv6 erot Luento 10 (5m33s)

Siirtymäkausi IPv4 → IPv6

  • IPv6 liikenne joudutaan tunneloimaan IPv4 verkon yli
  • Tunnelointimenetelmiä
    • 6TO4 - IPv6 liikenne kapsuloidaan IPv4 paketin hyötykuormaksi
    • Terodo - IPv6 liikenne laitetaan UDP paketin hyötykuormaksi, joka välitetään IPv4:llä
    • Muita siirymävaiheen menetelmiä
  • Tunnelointimenetelmistä tulee luopua kun Internet on kokonaan siirtynyt käyttämään IPv6 protokollaa
# videoIP18
Siirtymäkausi IPv4 ja IPv6 välillä Luento 10 (6m33s)

Linkkikerros - Teoria 2

  • Johdanto ja palvelut
  • Monipääsyprotokollat
  • Linkkikerroksen osoitteet

Linkkikerroksen palvelut

  • "Linkkikerros kuljettaa verkkokerroksen datan linkin yli seuraavalle (verkko)laitteelle, ja tekee tämän jokaisen linkin osalta vaikka linkkiteknologia vaihtuisi, jottei verkkokerroksen tarvitse siitä huolehtia"
  • Yksittäisiä palveluita, joilla yo. toteutetaan
    • Kehystys ja linkille pääsy
      • Kapsuloidaan ylemmän kerroksen data (lisätään header/trailer)
      • Jos jaettu media, niin kanavanvaraus/kanavalle(linkille) pääsy
      • MAC osoite, linkkikerroksen osoite
    • Luotettavuus linkillä kahden laitteen välillä
      • Käytetään harvoin jos linkillä pieni virhetodennäköisyys
      • Käytetään esim. langattomilla linkeillä
      • Miksi luotettava tiedonsiirto sekä kuljetus että linkkikerroksella?
  • Vuonvalvonta
  • Virheiden havaitseminen
  • Virheiden korjaaminen
  • half-duplex vs. full-duplex
# videoLinkki1
Linkkikerroksen palvelut Luento 10 (16m49s)

Monipääsylinkit

  • Kaksi linkkityyppiä
    • point-to-point (Pisteestä-pisteeseen, kahden laitteen välinen)
      • Linkkiä käyttää vain kaksi laitetta
      • Monipääsylinkki, jos half-duplex, eli kaksi laitetta ei voi käyttää linkkiä yhtäaikaa
      • Esimerkkejä
        • ADSL - Full-duplex, ala- ja ylälinkin liikenne eri taajuuksilla
        • Kytketty Ethernet (yhdistetään kytkimeen - switch), yleensä full-duplex (voi olla myös half-duplex 10 - 100 Mbps)
        • GSM piirikytkentäinen datayhteys HSCSD, full-duplex, ala- ja ylälinkin liikenne eri taajuuksilla
    • Jaettu langallinen tai langaton (monipääsylinkki)
      • Linkkiä voi käyttää useat laitteet
      • Esimerkkejä
        • Vanha Paksu Ethernet
        • Kytketty Ethernet (yhdistetään keskittimeen - hub)
        • WLAN
        • Matkapuhelinverkon datayhteys, GSM pakettikytkentäinen GPRS → 4G
# videoLinkki2
Monipääsylinkit Luento 10 (11m24s)

Monipääsytekniikat ja -protokollat

  • Kolme kategoriaa
    • Kanavan jakaminen
      • Jaetaan tiedonsiirtokanava pienempiin paloihin (esim. aika tai taajuus)
      • Pala on ainoastaan yhden laitteen käytössä
      • Koodilla jakaminen poikkeaa siten että kanava kaikkien yhtäaikaisessa käytössä
    • Hajasaanti (Random Access)
      • Kaikki laitteet käyttävät (koko) kanavaa vapaasti
      • Hyväksytään törmäykset (useampi kuin yksi yrittää lähettää samaan aikaan)
      • Toivutaan törmäyksistä
    • Vuorottelu
      • Jokainen laite lähettää vuorollaan
      • Vuoro kiertää laitteelta toiselle
      • Vuoron pituus voi riippua lähetettävästä datan määrästä
# videoLinkki3
Monipääsytekniikat ja -protokollat Luento 10 (8m19s)

Kanavan jakaminen (x Division Multiple Access)

4G kandidaattien ja sen kilpailijoiden datanopeuksia

# videoLinkki4
Kanavan jakaminen Luento 10 (9m38s)

Ekstra: FDMA vs. FDM vs. FDD

  • Frequency-Division Multiple Access (FDMA)
    • Taajuusjakoa käytetään usean käyttäjän linkillepääsyyn
    • Linkkikerroksen kanavan jakamista
    • Monipääsytekniikka
  • Frequency-Division Multiplexing (FDM)
    • Taajuusjaolla jaetaan järjestelmän taajuuskaista pienemmiksi paloiksi
    • Tai kun taajuuskaista jaetaan eri järjestelmien kesken
    • Fyysisen kerroksen kanavan jakamista
    • Esim. GSM taajuuskanavat
  • Frequency-Division Duplexing (FDD)
    • Lähetys ja vastaanotto on jaettu erillisiin taajuusalueisiin, jotta saadaa Full-duplex kommunikaatio
    • Fyysisen kerroksen kanavan jakamista
    • GSM taajuuskanavien varaaminen erikseen ylä- ja alalinkille
  • Vastaavasti menee aikajaolle
# videoLinkki5
FDMA vs. FDM vs. FDD Luento 10 (4m54s)

Hajasaantiprotokollat

  • Ei varata resursseja etukäteen
    • Jos on lähetettävää, niin lähetetään täydellä nopeudella
    • Käytetään sekä langallisissa (Ethernet) että langattomissa (WLAN) lähiverkoissa
  • Hajasaantiprotokolla määrittelee
    • miten havaitaan törmäykset
    • miten selvitään törmäyksistä
    • Esimerkkejä: (Slotted) Aloha, CSMA, CSMA/CD, CSMA/CA
# videoLinkki6
Hajasaantiprotokollat Luento 10 (1m51s)

Vuorotteluprotokollat

  • Kaksi kategoriaa
    • Polling: Isäntälaite kyselee orjalaitteilta "onko lähetettävää" ja jakaa lähetysvuoroja tarpeen mukaan
      • Esimerkkejä: Bluetooth
    • Token passing: "Lähetyslupa (token)" -viestiä välitetään laitteelta toiselle
      • Esimerkkejä: Token Ring
# videoLinkki7
Vuorotteluprotokollat Luento 10 (2m56s)

Monipääsymenetelmien vertailua

  • Kanavan jakaminen
    • FDMA ja TDMA
      • Jakaa kanavan tehokkaasti ja reilusti suurella kuormalla
      • Pienellä kuormalla tehoton: Viive kanavalle pääsyssä
      • Pienellä kuormalla vain osa kanavista käytössä
    • CDMA
      • koko kanava käytössä ja jaetaan aktiivisten käyttäjien kesken
      • kun tulee lisää aktiivisia käyttäjiä niin kaikkien tiedonsiirtonopeus pienenee
  • Hajasaantiprotokolla
    • Tehokas pienellä kuormalla: yksi laite voi käyttää koko kanavan kapasiteetin
    • Suuri kuorma: törmäyksistä aiheutuu uudelleenlähetyksiä ja viivettä
  • Vuorotteluprotokolla
    • Ylläolevien parhaat ominaisuudet, mutta
    • viivettä vuoron jakamisen vuoksi
    • Kanavan kapasiteettia 'tuhlataan' vuoronjakamiseen, koko kapasiteetti ei datansiirron käytössä
    • Single point of failure: Isäntälaite tai token viesti
  • Wikipedia: Channel access methods and Media access control (MAC)/Multiple-access protocols
# videoLinkki8
Monipääsymenetelmien vertailua Luento 10 (4m56s)

Linkkikerroksen osoitteet

  • MAC (tai LAN tai Fyysinen tai Ethernet tai Laite) -osoite
    • Tehtävä: Käytetään kehyksen viemiseen 'paikallisesti' liitynnältä toiselle (fyysisesti kytketylle) liitynnälle (saman IP-verkon sisällä)
    • 48 bittinen MAC osoite (useimmissa lähiverkoissa), poltettu verkkokorttiin ROM muistiin (yleensä)
    • Esim. 00-24-E8-42-9E-89, (heksadesimaalimuodossa), missä 8 bittiset tavut erotettu toisistaan '-' -merkillä
    • toinen esitystapa: 00:24:E8:42:9E:89 ja hyvin harvinainen esitystapa: 0024.E842.9E89
  • MAC osoitteiden allokoinnista vastaa IEEE
    • Standardoi myös linkki- ja fyysisen kerroksen tekniikoita, jotka käyttävät MAC osoitteita
    • Esim. IEEE 802.3 ja IEEE 802.11
  • (Verkkokortti)valmistajat ostavat MAC osoitteita
# videoLinkki9
Linkkikerroksen osoitteet Luento 10 (2m6s)

Verkko- ja linkkikerroksen osoitteista

  • Analogia
    • MAC osoite: sosiaaliturvatunnus
    • IP osoite: postiosoite + nimi
    • Posti/IP -osoite: Jyväskylän yliopisto (130.234.x.x), Tietoliikennelabra (x.x.169.x), Ari Viinikainen (x.x.x.82)
    • Sosiaaliturvatunnus/MAC: Jokin menetelmä (henkkarit/ARP) liittää yo. informaation henkilöön/tietokoneeseen
  • MAC osoite ei ole hierarkinen: osoite voidaan siirtää verkosta toiseen
  • IP osoite on hierarkinen, osoitetta ei voida siirtää verkosta toiseen
# videoLinkki10
Osoitteet verkko- ja linkkikerroksilla Luento 10 (2m7s)

ARP (Address Resolution Protocol)

  • Who has 130.234.169.82? Tell 130.234.169.1
  • ARP selvittää linkkikerroksen osoitteen laitteelle, jolle paketti pitää välittää
  • Posti tuo kirjeen:
    • Kysyy käytävällä: Missä on "Ari Viinikainen, AgC334.4, University of Jyväskylä, Finland" (vertaa IP)
    • Minä huudan: täällä, henkilötunnus xxxxxx-yyyy
    • Posti kirjoittaa henkilötunnuksen kirjekuoreen
    • Posti tuo kirjeen ovelta ovelle ja huoneessa olijat tarkastaa oliko siinä oma henkilötunnus
    • Minä tarkistan että osoitetiedot ja henkilötunnus on oikein, ennen kuin avaan kirjeen
  • Tähän loppui Teoria 2 osio
# videoLinkki11
Verkkokerroksen osoitteen avulla linkkikerroksen osoite Luento 10 (3m40s)

Teoria 3

Teoria 3 kuljetuskerros

  • TCP yhteyden muodostus ja lopetus
  • ymmärtää tilakaavion suhde protokollan toimintaan
  • Luotettava tiedonsiirto
  • Tehokas luotettava tiedonsiirto
  • TCP Vuonvalvonta
  • TCP ruuhkanhallinta

TCP tilakaavio

https://upload.wikimedia.org/wikipedia/commons/a/a2/Tcp_state_diagram_fixed.svg

TCP yhteyden muodostus, lopetus sekä tilat

# videoTeoria3_1
TCP yhteyden muodostus ja lopetus Luento 11 (36m27s)

Luotettava tiedonsiirto

  • Sovellus omaan testaamiseen
  • Kurosen ja Ross:n Kuljetuskerroksen kalvot 3-21 - 3-41
  • Luotettavan tiedonsiirtoprotokollan pitää ratkaista
    • Kuinka toivutaan virheellisestä datapaketista?
      • Lisätään tarkistussumma jolla havaitaan virheet
      • Lisätään kontrolliviesti(t), joilla annetaan palautetta virheistä tai virheettömyydestä
      • Kuinka toivutaan virheellisestä kuittauspaketista?
      • Lähetetään paketti uudestaan - mutta mitä jos onkin duplikaatti?
      • Lisätään sekvenssinumerointi, jolla tunnistetaan duplikaattipaketit
    • Kuinka toivutaan kadonneesta datapaketista (tai kuittauspaketista)?
      • Lisätään datan lähettäjälle ajastin, joka laukeaa jos ei saada kuittausta
      • Ajastimen lauetessa lähetetään datapaketti uudestaan
      • Jos datapaketti oli kadonnut on ongelma korjattu
      • Jos kuittauspaketti oli kadonnut, vastaanottaja saa duplikaatin josta selvitään sekvenssinumeroinnilla
    • Kuinka toivutaan viivästyneestä kuittauspaketista?
      • Jos viive on suurempi kuin ajastimen arvo, tulee turha datan uudelleenlähetys
      • Lähettäjä vastaanottaa duplikaattikuittauksen ja luulee että data paketti on kadonnut
      • Koska kuittauspakettien duplikaatteja ei voi tunnistaa, lähetetään varulta datapaketti uudestaan
      • Sekvenssinumeroilla tunnistetaan datapakettien duplikaatit
      • Viive voi vaihdella paljonkin, tarvitaan menetelmä viiveen arvioimiseen ja ajastimen arvon päivittämiseen
  • rdt 3.0 on toimiva luotettava tiedonsiirtoprotokolla, mutta hidas!!!
# videoTeoria3_2
Luotettavan tiedonsiirron perusteet Luento 11 (50m31s)

Go Back N vs. Selective repeat

# videoTeoria3_3
Go Back N vs. Selective repeat Luento 12 (42m19s)

TCP Vuonvalvonta - Flow control

  • Vastaanottajan toimenpide
  • Vastaanottaja estää lähettäjää lähettämästä liian nopeasti
  • Mainostetaan (päivitetään) vastaanottoikkunan kokoa lähettäjälle
  • Visualizing the tcp flow control
  • TCP vuonvalvonta on eri asia kuin TCP ruuhkanhallinta - Congestion control
  • Ruuhkanhallinta on lähettäjän toimenpide, ja käsitellään ruuhkanhallintaa seuraavaksi
# videoTeoria3_4
TCP vuonvalvonta Luento 12 (20m10s)
# videoTeoria3_9
Vuonvalvonnan vastaanottoikkuna vs. Selective repeatin vastaanottoikkuna Luento 12 (3m31s)

TCP Ruuhkanhallinta - Slow Start

  • Slow Start

    • Aloitetaan lähetys hitaasti

    • Kasvatetaan nopeutta eksponentiaalisesti

    • Jos paketti katoaa (timeout)

      • uudelleen lähetetään puuttuva paketti
      • asetetaan raja-arvo puoleen saavutetusta nopeudesta
      • aloitetaan Slow Start vaiheen alusta
      • eli tiedonsiirtonopeus pudotetaan minimiin
    • Jos saavutetaan raja-arvo, siirrytään Congestion Avoidance vaiheeseen

# videoTeoria3_5
TCP Slow Start Luento 12 (10m8s)

TCP Ruuhkanhallinta - Congestion Avoidance

  • Congestion Avoidance
    • Kasvatetaan nopeutta lineaarisesti
    • Jos paketti katoaa (timeout)
      • uudelleen lähetetään puuttuva paketti
      • asetetaan raja-arvo puoleen saavutetusta nopeudesta
      • aloitetaan Slow Start vaiheen alusta
      • eli tiedonsiirtonopeus pudotetaan minimiin
  • Congestion avoidance vaiheen visualisointi
# videoTeoria3_6
TCP Congestion avoidance - Ruuhkan välttäminen Luento 12 (6m0s)

TCP Ruuhkanhallinta - Fast Retransmit (TCP Tahoe)

  • Fast Retransmit
    • Jos paketti katoaa (timeout)
      • uudelleen lähetetään puuttuva paketti (sekvenssinumero on dublikaattikuittauksen sekvenssinumerosta seuraava)
      • asetetaan raja-arvo puoleen saavutetusta nopeudesta
      • aloitetaan Slow Start vaiheen alusta
      • eli tiedonsiirtonopeus pudotetaan minimiin
    • Uutta: Jos paketti oletetaan kadonneeksi (vastaanotetaan 3 kpl duplikaatti kuittauksia) → toimitaan kuten paketti olisi kadonnut (timeout)
# videoTeoria3_7
TCP Fast Retransmit Luento 12 (7m46s)

TCP Ruuhkanhallinta - Fast Recovery (TCP Reno)

  • Fast Recovery
    • Jos paketti katoaa (timeout)
      • uudelleen lähetetään puuttuva paketti
      • asetetaan raja-arvo puoleen saavutetusta nopeudesta
      • aloitetaan Slow Start vaiheen alusta
      • eli tiedonsiirtonopeus pudotetaan minimiin
    • Jos paketti oletetaan kadonneeksi (vastaanotetaan 3 kpl duplikaatti kuittauksia)
      • uudelleen lähetetään puuttuva paketti
      • asetetaan raja-arvo puoleen saavutetusta nopeudesta
      • Uutta: aloitetaan Congestion Avoidance vaiheen alusta
      • Uutta: eli tiedonsiirtonopeus puolitetaan saavutetusta nopeudesta
# videoTeoria3_8
TCP Fast Recovery Luento 12 (4m4s)

Teoria 3 - Verkkokerros

  • DHCP
  • NAT
  • Mobile IP vs. liikkuva kännykkä
  • Reititysprotokollat

DHCP toiminta

  • DHCP kommunikaatio, oletuksena kaikki viestit lähetetään yleislähetysosoitteeseen 255.255.255.255
    • Asiakas - DHCP palvelimen etsintä (DHCP Discover)
    • Palvelimet - IP osoitteen 'vuokra' -tarjouksia (DHCP offer)
    • Asiakas - IP osoitteen pyytäminen (DHCP request)
    • Palvelin - IP osoitteen kuittaus (DHCP acknowledgement)
  • Asiakas voi pyytää vastauksen täsmälähetyksenä, palvelimen asetuksista riippuu tuetaanko täsmälähetyksiä
  • DHCP ja DHCPv6
    • DHCP portit: 67 (palvelin), 68 (asiakas), 546 (IPv6 asiakas), 547 (IPv6 palvelin)
    • IPv6 asiakkaat luo itse IP osoitteen käyttämällä Tilatonta autokonfiguraatiota
    • DHCPv6 protokollaa voidaan (tarvittaessa) käyttää Tilattoman autokonfiguraation parametrien välittämiseen
# videoTeoria3_10
DHCP:n toiminta Luento 13 (28m52s)

DHCP viestit

Visualisointi

NAT (Network Address Translation)

  • NAT (Network Address Translation) - Basic NAT
    • Reititin muuttaa lähtevien pakettien lähettäjän IP osoitteen
    • Jokainen privaatti IP:tä käyttävä laite saa oman julkisen IP osoitteen
    • Vaatii paljon IP osoitteita (ostetaan ISP:ltä)
  • Network Address and Port Translation (NAPT) - Dynamic NAT
    • Reititin muuttaa myös lähettäjän porttinumeron
    • Tällöin riittää vain yksi IP osoite
    • Yleisin versio, ja nykyään NAT termillä yleisesti tarkoitetaan juuri NAPT:tä
  • Port Forwarding - Static NAT
    • Reititin tallentaa pysyvästi porttimuunnoksen (sallii ulkopuoliset yhteydet porttiin)
    • Käytetään kun kommunikaatio vaatii NAT:n takana olevan porttinumeron tuntemusta
  • Networking Essentials - NAT/PAT animation
# videoTeoria3_11
NAT:n toiminta Luento 13 (21m8s)

NAT:n hyödyt ja haitat

  • Hyödyt
    • Säästää julkisia IPv4 osoitteita
    • Parantaa tietoturvaa
    • Sisäverkon konfiguraatiota ja osoitteita voi vapaasti muuttaa
    • Pienentää reitityksen tarvetta
  • Haitat
    • Kaikki protokollat ja sovellukset eivät toimi NAT:in läpi ilman erillisiä määrityksiä
    • NAT viivästää omalta osaltaan IPv6:een siirtymistä
    • NAT rikkoo kerrosarkkitehtuurin periaatetta, reitittimien ei tulisi koskea kuljetuskerrokseen
    • NAT:ista aiheutuu viivettä, prosessori- ja muistikuormaa reitittimessä, koska jokaisesta paketista pitää muuttaa osoitteita ja laskea tarkistussummia uudestaan
# videoTeoria3_12
NAT:n hyödyt ja haitat Luento 13 (8m26s)

Mobile IP

  • Termejä
    • Kotiosoite - pysyvä osoite (permanent address)
    • Kotiagentti (Home Agent, HA)
    • Vierasosoite - (Care-of-Address, CoA)
    • Vierasagentti (Foreign Agent, FA)
    • Kotisolmu - (Home Node, HN)
    • Kommunikaatiokumppani - (Correspondant Node, CN)
    • Kolmioreititys - epäsuora reititys
    • Suora reititys
# videoTeoria3_13
Mobile IP toiminta vs. matkapuhelimen liikkuvuus Luento 13 (31m57s)

Mobile IP vs. GSM puhelun reititys

Reititysalgoritmit - vertailu

Yhteystila Etäisyysvektori Polkuvektori
Algoritmi Dijkstra Bellman–Ford Ei etsitä lyhintä reittiä
Esimerkki OSPF RIP BGP
Kommunikoi kaikkien reitittimien kanssa naapuri reitittimien kanssa naapuri-AS reitittimien kanssa
Käyttökohde suuri, hierarkinen verkko pieni, ei hierarkinen verkko AS:ien välinen reititys
Laskenta-aika on kriittinen parametri Ei ole kriittinen parametri Ei ole kriittinen parametri
Ylläpito Vaati laajempaa verkkotietämystä Ei vaadi paljoa verkkotietämystä Tarvitaan tietämystä myös ISP-sopimuksista
Topologia Tunnetaan verkon koko topologia Tiedetään minkä naapurin kautta kohteet saavutetaan Tiedetään polku kohdeverkkoon (ei välttämättä lyhin)
Päivitykset Muutosten aiheuttamat (muuttunut tieto) Periodiset (koko reititystaulu) Muutokset polussa (uusi mainos)
# videoTeoria3_14
Reititysalgoritmit Luento 14 (25m8s)

BGP reititystaulu

  • Tietoja CIDR raportissa
  • Internetin Globaalin reititystaulun koko toukokuussa 2016 on noin 600000 reittiä
  • Eli reittejä joita AS:t BGP protokollalla mainostavat toisille AS:lle
  • Reitit ovat reittejä joko IPv4 tai IPv6 verkkoihin
  • AS:n reunareitittimet ylläpitävät BGP reititystaulua
    • mainostavat naapureilleen tuntemiaan reittejä
    • päivittävät oman taulunsa naapureiden mainosten ja oman politiikkansa mukaan
  • AS:n muut reitittimet hoitavat AS:n sisäistä reititystä
# videoTeoria3_15
# videoTeoria3_16
Reitityksen visualisointeja Luento 14 (26m24s)
# videoTeoria3_167
Dijikstran algoritmi ja toiminta Luento 14 (5m56s)

Teoria 3 - Linkkikerros

  • ARP ja MAC osoitteet
  • Reititin vs. kytkin vs. keskitin
  • Ethernet CSMA/CD ja WLAN CSMA/CA
  • Virheen havaitseminen ja korjaus

ARP ja MAC osoitteet

  • Address Resolution Protocol (ARP)
    • Jotta IP paketti voidaan välittää linkkikerroksella oikealle laitteelle
    • Selvittää IP osoitetta vastaavan MAC osoitteen
    • tai
    • Reitittimen MAC osoitteen, jos IP osoite on eri verkossa
  • Reititys ja MAC osoitteet
# videoTeoria3_17
IP ja MAC osoite reitittimen läpi Luento 14 (17m50s)

Ethernet keskitin (tai eng. hub)

  • Keskitin on Fyysisen kerroksen laite
    • forwardoi Ethernet kehyksiä, kaikkiin liityntöihin
    • Läpinäkyvä - tietokoneet tai reitittimet eivät näe keskitintä
    • Käytetään yhdistämään useampia laitteita reitittimeen
    • Laitteet sijaitsevat samassa törmäysalueessa
  • Myös Toistin (eng. repeater) on fyysisen kerroksen laite
    • Vahvistaa heikentynyttä signaalia pitkillä kaapeliväleillä (tai myös langattomasti)
    • Läpinäkyvä - tietokoneet tai reitittimet eivät näe toistinta
    • Käytetään pidentämään laitteiden etäisyyttä
  • Keskittimen toiminta
# videoTeoria3_18
Keskittimen toiminta Luento 14 (4m51s)

Ethernet kytkin

  • Linkkikerroksen laite
    • tallentaa ja forwardoi Ethernet kehyksiä
    • Tutkii saapuvan paketin MAC osoitteita
    • Läpinäkyvä - tietokoneet tai reitittimet eivät näe kytkintä
    • Käytetään yhdistämään useampia laitteita reitittimeen
    • Kytkimet oppivat itse MAC osoitteiden sijainnin
    • Laitteet sijaitsevat eri törmäysalueissa
    • Viisaampi laite kuin keskitin
  • Kytkimen toiminta
# videoTeoria3_19
Kytkimen toiminta Luento 14 (2m49s)

Reititin vs. kytkin vs. keskitin

  • Reititin - Router
    • Verkkokerroksen laite
    • Välittää paketteja verkkokerroksen osoitteen perusteella
    • Tarvitsee reititysprotokollia osoitteiden sijaintien oppimiseen, tai asetukset tehdään manuaalisesti
  • Kytkin - Switch
    • Linkkikerroksen laite
    • Välittää paketteja linkkikerroksen osoitteen perusteella
    • Oppii itse osoitteiden sijainnin lähetettyjen pakettien perusteella
    • Silta - Bridge: muuten samanlainen mutta liityntöihin kytketään kokonaisia verkkoja. Ei juurikaan käytetä enää
  • Keskitin - Hub
    • Fyysisen kerroksen laite
    • Välittää paketteja jokaiseen linkkiin (fyysiselle siirtotielle) riippumatta osoitteesta
    • Toistin - Repeater: Vahvistaa fyysisen kerroksen signaalia ja välittää sen eteenpäin
# videoTeoria3_20
Reitittimen, kytkimen ja toistimen vertailua sekä törmäysalueesta Luento 15 (13m1s)

Verkkolaitteet tänään

  • Reititin - Layer 4 Router
    • NAT ja palomuuri toimii osin kuljetuskerroksella
  • Kytkin - Multilayer Switch
    • Kytkimeen on lisätty useita eri ominaisuuksia
    • Layer 3 switching, reititys toteutetaan laitteistolla (ASIC), reitittimessä ohjelmistolla
    • Layer 4-7 switching, esim. load balancing, NAT, VPN, web switch
  • Kytkin - Software-defined networking (SDN)
    • Kytkimen kontrolli ja data osiot erotellaan
    • Ohjelmallisesti muokataan kontrolliosaan sääntöjä yms. sille miten ja minne data välitetään data osion kautta
# videoTeoria3_21
Verkkolaitteet monipuolistuvat Luento 15 (6m12s)

Ethernet CSMA/CD ja WLAN CSMA/CA

Carrier Sense Multiple Access
Step Collision Detection (CD) Collision Avoidance (CA) Collision Avoidance with RTS/CTS
1 Kuunnellaan onko hiljaista Kuunnellaan onko hiljaista Kuunnellaan onko hiljaista
2 Jos ei, niin odotetaan, kunnes on hiljaista Jos ei, niin odotetaan, kunnes on hiljaista Jos ei, niin odotetaan, kunnes on hiljaista
3 Jos on, niin lähetetään Jos on, niin lähetetään Jos on, niin pyydetään lupaa lähettää
4 Kuunnellaan meneekö lähetys ilman häiriötä perille Odotetaan kuittausta datapaketille Jos pyynnöt törmäävät, odotetaan satunnainen aika ja mennään kohtaan 1
5 Jos ei, niin on tapahtunut törmäys Ei kuittausta, oletetaan törmäyksen tapahtuneen Jos saadaan lupa lähettää, lähetetään
6 Odotetaan satunnainen aika ja mennään kohtaan 1 Odotetaan satunnainen aika ja mennään kohtaan 1 Jos ei saada lupaa, odotetaan satunnainen aika ja mennään kohtaan 1
# videoTeoria3_22
Ethernet CSMA/CD vs. WLAN CSMA/CA (with RTS/CTS) Luento 15 (20m4s)

Virheen havaitseminen ja korjaus

  • Virheiden havaitseminen
    • Lisätään ylimääräisiä bittejä (Data bitit + ylimääräiset bitit = koodisana)
    • Databittejä ja ylimääräisiä bittejä tutkimalla voidaan havaita virheitä
    • Yksinkertaisin: pariteettibitin lisääminen
      • Pariteettiesimerkki (parillinen määrä ykkösiä)
      • 00 → 000, 01 → 011, 10 → 101, 11 → 110
  • Virheiden korjaus
    • Lisätään ylimääräisiä bittejä
    • Voidaan tulkita (jollain todennäköisyydellä) virheellisen viestin virheetön muoto
    • Yksinkertaisin: toistetaan lähetettävää dataa
      • Toistokoodiesimerkki (toistetaan jokainen bitti)
      • 00 → 0000, 01 → 0011, 10 → 1100, 11 → 1111
# videoTeoria3_23
Virheiden havaitseminen ja korjaus Luento 15 (6m27s)

Virheen havaitseminen ja korjaus - Hamming etäisyys

  • Koodisanojen toisistaan eroavien bittien lukumäärä on koodisanojen välinen Hammingin etäisyys
  • Olkoon meillä koodi, jossa on neljä hyväksyttyä koodisanaa: 000, 100, 001 ja 111
  • Esim. koodisanojen 000 ja 111 välinen Hamming etäisyys on 3
  • Esim. koodisanojen 000 ja 001 välinen Hamming etäisyys on 1
  • Koodin minimi Hamming etäisyys on koodin koodisanojen välinen pienin Hamming etäisyys
  • Esimerkin tapauksessa minimi Hamming etäisyys on siis 1
# videoTeoria3_24
Hamming etäisyys Luento 15 (6m27s)

Virheen havaitseminen ja korjaus - Minimi Hamming etäisyys

  • Koodin minimi Hamming etäisyys määrittää koodin kyvyn havaita ja/tai korjata virheitä
  • Jos minimi hamming etäisyys on \(\color{red}n\), niin
    • \(\color{red}{n-1}\) bitin virheet voidaan havaita ja
    • \(\color{red}{\frac{n-1}{2}}\) bitin virheet korjata

Virheen havaitseminen ja korjaus - Esimerkkejä

Pariteettibitti (parillinen määrä 1 bittejä)
Databitit Koodibitit Koodisana
00 0 000
01 1 011
10 1 101
11 0 110

Minimi Hamming etäisyys = 2

Toistokoodi (1 toistobitti)
Databitit Koodibitit Koodisana
0 0 00
1 1 11

Minimi Hamming etäisyys = 2

Toistokoodi (2 toistobittiä)
Databitit Koodibitit Koodisana
0 00 000
1 11 111

Minimi Hamming etäisyys = 3

# videoTeoria3_25
Esimerkkejä yksinkertaisista virheen kontrollointikoodeista Luento 15 (8m45s)

Virheiden havaitseminen Internetissä

  • Virheitä havaitaan monella kerroksella
    • Linkkikerros
      • Ethernet kehys
        • CRC-32 tarkistussumma
        • Vastaanottajan verkkolaite hylkää väärän tarkistussumman sisältävät kehykset
    • Verkkokerros
      • IPv4
        • IPv4 tarkistussumma suojaa otsikkokenttiä
        • Reitittimet tai vastaanottaja hylkää väärän tarkistussumman sisältävät kehykset
      • IPv6
        • Tarkistussumma poistettiin versiosta 6 reitittimien laskentakuorman minimoimiseksi
        • Oletetaan että linkkikerros ja kuljetuskerros tarjoavat riittävän suojan virheiden havaitsemiselle
    • Kuljetuskerros
      • UDP
        • UDP Tarkistussumma, joka suojaa hyötykuorman ja otsikko informaation sekä UDP että IP protokollien otsikkokentistä
        • Vapaaehtoinen IPv4:n kanssa, pakollinen IPv6:n kanssa
        • Vastaanottajan käyttöjärjestelmän verkkopino hylkää väärän tarkistussumman sisältävät
      • TCP
        • TCP Tarkistussumma, joka suojaa hyötykuorman ja otsikko informaation sekä UDP että IP protokollien otsikkokentistä
        • Vastaanottajan käyttöjärjestelmän verkkopino hylkää väärän tarkistussumman sisältävät
        • Uudelleen lähetykset joko ajastimen lauetessa tai kolmesta duplikaattikuittauksesta
    • Sovelluskerros
      • Jos kuljetuskerroksella käytössä UDP, niin sovelluksen tarpeiden mukaan
# videoTeoria3_26
Virhekontrolli Internetin eri kerroksilla Luento 15 (6m49s)

Lopuksi - Kaikki mitä tapahtuu www- sivun pyynnössä

# videoTeoria3_27
Protokollien toiminta www-sivun lataamisessa laitteen käynnistyksen jälkeen Luento 15 (14m9s)

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.