Teoria 2
Teoria 2 osion osaamistavoitteina on ymmärtää tietoverkkojen toteutuksen haasteet sovellus-, kuljetus-, verkko- ja linkkikerroksilla sekä Internetissä toteutetut ratkaisut haasteisiin.
Sovelluskerros
Sisältöä
- Sovelluskerros ja sen protokollat
- HTTP
- WWW, HTTP, HTTPS, evästeet, välimuisti
- DNS (Domain Name System)
- Sähköposti
- SMTP, POP3, IMAP
- FTP
- Tor
- HTTP
- Kuljetuskerros
- Verkkokerros
- Linkkikerros
HTTP (Hypertext Transfer Protocol)
HTTP (Hypertext Transfer Protocol) on yleisin Internetissä käytetty sovelluskerroksen protokolla. HTTP protokollaa käytetään välittämään informaatiota verkkoselainten ja WWW-palvelinten välillä. HTTP toimii asiakas-palvelin arkkitehtuurin mukaisesti. Kuljetuskerroksella HTTP käyttää yhteydellistä TCP-protokollaa. Verkkoselain, asiakas, avaa TCP-yhteyden palvelimeen ja välittää sovelluskerroksen pyynnön palvelimelle. Usein kyseessä on GET
-pyyntö, jolla pyydetään esimerkiksi WWW-palvelimella sijaitseva HTML-sivu. Protokollan versio HTTP/1.1
, jota vielä yleisesti käytetään, on tekstipohjainen protokolla. Kommunikaation käytetään siis tekstiä, joka on ihmisenkin luettavissa. Uusin protokollan versio HTTP/2
on binäärinen, siinä ei siis siirretä tietoa enää tekstinä, vaan informaatio koodataan muulla tavalla. Version HTTP/2
käyttö ei ole vielä ehtinyt yleistyä kovin laajalle. Tarkemmin HTTP/1.1
protokollasta voi opiskella, teoriassa ja käytännössä, esimerkiksi tämän kurssin Demo 4 sivulla.
HTTP otsikkokentät
HTTP protokolla siirtää nykyään paljon tietoa verkkoselaimen ja palvelimen välillä HTTP protokollan otsikkokentissä, otsikoissa, englanniksi headers. HTTP/1.1 versio protokollasta on tekstipohjainen ja siinä on määritelty että yksi otsikko on aina yhdellä rivillä. Otsikorivillä on otsikkokentän nimi ja siitä kaksoispisteellä erotettuna otsikkokenttään liittyvä arvo. Uusia otsikkokenttiä määritellään lisää jatkuvasti mm. verkkosovellusten käytön monipuolistamiseksi sekä tietoturvan parantamiseksi.
Eräs palvelu minkä tahansa WWW-palvelun käyttämän HTTP protokollan otsikkokenttien turvallisuuden tutkimiseen on Security Headers.
- 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 protokolla ei muodosta yhteyttä selaimen ja palvelimen välille. HTTP protokolla on siis tilaton protokolla, palvelin ei esimerkiksi tiedä onko selain pyytänyt jotain sivua aikaisemmin. Selain voi kyllä asettaa HTTP protokollan otsikkokenttiin tiedon aikaleimasta, jota uudemman sivun se haluaa, muutoin se käyttää omassa välimuistissa sijaitsevaa sivua. Jokainen asiakkaan pyyntö on erillinen, eikä palvelin voi tietää pyyntöjen liittyvän esimerkiksi saman henkilön TIM-sivujen selaamiseen, ilman lisäinformaatiota. Jos lisäinformaatiota ei olisi, niin esimerkiksi TIM-järjestelmässä, joutuisi käyttäjä aina kirjautumaan uudestaan siirtyessä uudelle sivulle.
HTTP eväste, englanniksi cookie, on pieni määrä tekstimuotoista dataa, eräänlainen tunniste, jonka palvelin lähettää asiakkaalle HTTP otsikkokentässä. Asiakas, eli selain, tallentaa datan laitteelle. Jatkossa, kun selain lähettää pyyntöjä samalle palvelimelle, lisää se aina saamansa evästeet HTTP pyyntöjen otsikkokenttiin. Palvelin pystyy vastaanottamansa evästeen avulla yhdistämään uudet HTTP pyynnöt aiempiin saman laitteen ja selaimen tekemiin pyyntöihin. Esimerkiksi, kun kirjautuu TIM-järjestelmään, palvelin lähettää tunnistautumisevästeen, jonka selain liittää kaikkiin tuleviin pyyntöihin. Tunnistautumisevästeen vastaanottaessaan palvelin tietää että selaimen käyttäjä on aiemmin tunnistautunut, eikä näin ollen tarvitse aina kirjautua uudestaan, kun siirtyy TIM-järjestelmässä sivulta toiselle.
HTTP evästeitä on tunnistautumisen lisäksi myös muihin tarkoituksiin. Evästeillä voidaan esimerkiksi tallentaa tietoa siitä mitä painikkeita sivulla klikataan, millä sivuilla vieraillaan tai mitä on valittu sivuston ostoskoriin. Evästeitä voidaan käyttää sen muistamiseksi, mitä tietoja on aiemmin annettu sivulla sijaitseviin lomakkeiden kenttiin, esimerkiksi nimi, käyttäjätunnus, salasana tai luottokorttinumero.
Evästeiden käytön suurin riski liittyy yksityisyyteen. Jos palvelun sivusto käyttää muiden palveluntarjoajien palveluita, kuten esimerkiksi mainoksia, joiden lähteenä on eri verkkotunnus, kuin käytetyn palvelimen, niin nämä ulkopuoliset palvelun tarjoajat voivat asettaa omia evästeitään. Tällaisia ulkopuolisten palveluiden asettamia evästeitä kutsutaan kolmannen osapuolen evästeiksi. Nykyisissä selaimissa voi asetuksista estää kolmannen osapuolen evästeiden asettamisen. Jos samaa mainosta esitetään esimerkiksi useilla eri sivustoilla, pystyy mainostaja keräämään tietoa siitä millä sivustoilla käyttäjä liikkuu.
Käyttäjän toimesta tietoturvariskin evästeet muodostavat harvoin. Esimerkiksi silloin, jos evästeitä, eli HTTP liikennettä, ei ole salattu, evästeet välitetään selkokielisenä. Tällöin riittää kun käyttäjä kirjautuu vain palveluihin, jotka käyttävät salattua HTTP-protokollaa, olettaen että palveluntarjoaja on luotettu. Toinen harvinaisempi käyttäjän toimintaan liittyvä uhka on, jos vahingossa jakaa selkokielisen evästeen. Yleisesti kaikki tunnistautumista vaativat luotettavat palvelut käyttävät nykyään salattua HTTP:tä, mutta niin tekevät myös ei luotettavat palvelut.
Esimerkiksi evästeen, jolla olet kirjautunut TIM-sivulle, pääsee näkemään Chrome selaimen kehittäjän työkaluilla (CTRL-Shift-I
) tai muiden selainten vastaavilla. Valitse Network
-välilehti ja lataa sivu uudestaan. Työkalu näyttää kaikki tiedostot, jotka liittyvät sivun lataamiseen, sekä tietoja esimerkiksi latausajoista ja HTTP protokollan mukaisista viesteistä tiedostojen noutamiseen. Valitse ensimmäinen tiedosto; jos latasit esimerkiksi sivun https://tim.jyu.fi/view/kurssit/tie/itkp104//teoria-2
, niin tiedosto on teoria-2
. Valitse Headers
-välilehti ja sieltä alakohta Request headers
, joka sisältää otsikkokentät, jotka selaimesi lisäsi HTTP-pyyntöön tiedoston hakemiseksi. Sen alta löytyy otsikkokenttien nimiä, kuten Connection erotettuna kaksoispisteellä otsikkokentän arvosta keep-alive
. Otsikkokentän Cookie arvo sisältää informaation siitä, kuka on kirjautunut TIM-järjestelmään. Kuka tahansa, joka saisi kyseisen evästeen arvon voisi, pienellä työllä, esittää että on kirjautunut sinuna TIM-järjestelmään, niin kauan kunnes kirjaudut ulos. Seuraavalla kirjautumiskerralla muodostetaan uusi eväste kirjautumisen yhteydessä.
Tunnistautumisevästeiden turvallisuus tiedonsiirrossa riippuu evästeen asettavan palvelimen sekä käyttettävän verkkoselaimen tietoturvan laadusta. Tietoturvan haavoittuvuudet voivat johtaa evästetietojen päätymiseen ulkopuolisille tahoille ja näin voidaan mahdollisesti "kirjautua" käyttäjien tileille palveluun, jonka evästetiedot ovat vaarantuneet. Esimerkkinä tietoturvauhkista, joiden kautta mm. evästetieto voi vaarantua on Cross-site scripting (XSS)
ja Cross-site request forgery (CSRF tai XSRF)
. XSS-hyökkayksessä selaimella voidaan syöttää oma koodi (käytetään myös termiä injektoida) palvelimen kautta muiden käyttäjien pyytämiin verkkosivuihin. XSS-haavoittuvuus on tänäkin päivänä yksi suurimmista uhkista, joita syntyy huolimattomasti toteutetuille WWW-sivustoille. XSS hyväksikäyttää käyttäjän luottamusta palveluntajoajaan. XSRF on muuten samankaltainen, mutta se hyväksikäyttää luottamusta, joka palveluntajoajalla on käyttäjän verkkoselaimeen.
- 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
Web välimuisti (cache)
Web välimuisti tai HTTP välimuisti, englanniksi Web cache tai HTTP cache, on jokin teknologia, jolla WWW-palvelimelta haettu resurssi tallennetaan väliaikaisesti jonnekin muualle, jotta se olisi uudelleen pyydettäessä nopeammin haettavissa. Lisäksi välimuistit pienentävät WWW-palvelinten kuormaa. Web välimuisti voi olla erillinen laitteisto, palvelin tai päätelaitteessa sijaitseva ohjelmisto.
Web välimuistit voidaan jakaa kahteen ryhmään. Asiakas-puolen välimuisteja ovat esimerkiksi ne, jotka sijaitsevat esimerkiksi käyttäjän tietokoneessa toteutettuna selaimen yhteyteen, internetoperaattorin tai yrityksen verkossa erillisenä palvelimena. Palvelin-puolen välimuisteja on esimerkiksi palvelunatarjoajilla omassa verkossaan, jotka tarjoavat suosituimpia resursseja todellisen palvelimen sijaan, pienentäen todellisen palvelimen kuormaa. Web välimuisteiksi voidaan ajatella myös CDN (Content Delivery Network)-palveluntarjoajat. CDN- eli sisällönjakeluverkon avulla WWW-palvelut voidaan hajauttaa laajemmalle alueelle ympäri maailman, sen sijaan että ne olisivat ainoastaan palveluntarjoajan omassa verkossa.
Web välimuistipalvelin sekoitetaan monesti välityspalvelimeen tai välipalvelimeen, englanniksi proxy server. Välipalvelin eroaa välimuistipalvelimesta siten että se ei tallenna välittämäänsä informaatiota pitkäksi aikaa. Välipalvelin välittää selainten pyyntöjä esimerkiksi WWW-palvelimille, mahdollistaen esimerkiksi käyttäjän sijainnin piilottamisen WWW-palvelimelta.
- Tallennetaan väliaikaisesti HTTP protokollalla haettuja objekteja
- Web sivu tulee näkyviin nopeammin, kun se haetaan lähempää
- Sivun tallentaminen välimuistiin voidaan sallia HTTP otsikkokentillä
- Välimuistissa oleva sivun voimassaolo voidaan määrittää
- Jos sivu on tuore, ei tarvitse kysyä uutta sivua
- Jos sivu on vanha, kysytään palvelimelta, voiko sitä vielä käyttää
- 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
HTTPS (Hypertext Transfer Protocol Secure)
HTTP protokollaa, kuten montaa muutakaan vanhaa protokollaa, ei aluperin suunniteltu tietoturvalliseksi, koska ei aavistettu sitä että protokollaa käytetään palveluissa, joissa tietoturvan on oltava hyvä. Toimivan protokollan muuttaminen on toisinaan turhan työlästä hyötyihin nähden. Nykyään HTTP protokollalla siirrettävä tieto voidaan salata ja kommunikaatio voidaan saada turvalliseksi käyttämällä HTTP protokollan turvallista versiota, HTTP Secure (HTTPS). HTTPS ei ole uusi protokolla, vaan se on nimitys sille että HTTP kommunikaatio siirretään turvallisesti, käyttämällä TLS-protokollaa. HTTP data salataan siis TLS:n avulla ja annetaan sitten kuljetuskerrokselle TCP protokollan kuljetettavaksi.
HTTPS protokollaa käytettäessä URL:in skeemana on https
eli http
-skeemaan on lisätty kirjain s
. Nykyään selaimet saattavat piilottaa käyttäjältä URL-skeeman, kun käytössä on HTTPS ja näyttävät sen sijaan selaimen osoite rivillä visuaalisen kuvion suojauksesta. Esimerkiksi Chrome-selain näyttää lukon kuvan, jos sivustossa on kaikki kunnossa. Visuaalista kuvaa klikkaamalla saa lisätietoja sivuston turvallisuudesta.
Tällä hetkellä esimerkiksi ITKP104 kurssin materiaalista todetaan että se ei ole turvallinen. Syynä on se että osa materiaalin kuvista sijaitsee users.jyu.fi
palvelimella, joka ei käytä HTTPS:ää. Ne kuvat ovat täten haavoittuvia MITM hyökkäykselle, tosin todennäköisyys hyökkäykselle on mitätön ja hyöty olisi lähinnä kiusanteko. Kuvien siirto TIM-järjestelmään tehdään jossain vaiheessa, selaimet alkavat estämään tuollaisten kuvien lataamisen lähitulevaisuudessa. Esimerkiksi Chrome tulee blokkaamaan HTTP palvelimilta linkitetyt kuvat 25.8.2020 julkaistavassa versiossa (85)
HTTPS:n tarkoituksena on tunnistaa verkkosivua tarjoava palvelin sekä suojata siirretyn datan yksityisyys ja oikeellisuus. HTTPS:n käyttö suojaa esimerkiksi mies välissä -hyökkäykseltä, englanniksi man-in-the-middle attack (MITM). MITM hyökkäyksessä kolmasosapuoli on kommunikaation välissä (keskellä) kaapaten kaikki viestit ja mahdollisesti kopioi, muuttaa tai tuhoaa viestejä kummankaan kommunikoivan osapuolen huomaamatta. HTTPS:n salaus siis estää sen ettei kaapattua dataa saada dekoodattua. Salausmenetelmä havaitsee kaikki pienetkin muutokset datassa, joten hyökkääjä ei saavuta mitään mahdollisella satunnaisella datan muuntamisella. HTTPS:n salauksen suoja perustuu käytetyn TLS protokollan suojaan, eli jos TLS:n ominaisuuksissa tai niiden toteutuksessa on haavoittuvuus, vaarantaa se HTTPS liikenteen. Koska TLS salattu data kuljetetaan salaamattomassa TCP paketissa, joka kuljetetaan salaamattomassa IP paketissa, eivät porttinumerot ja IP-osoitteet ole salattuja, joten vaikkei kommunikaation sisältöä pystytä dekoodaamaan, voidaan kommunikaatiosta ja sen osapuolista saada jotain informaatiota seuraamalla TCP ja IP pakettien tietoja.
HTTPS palvelimen tunnistaminen vaatii jonkin luotettavan kolmannen osapuolen allekirjoittaman palvelinpuolen digitaalisen sertifikaatin. HTTPS ei tunnista asiakaspuolta eli käyttäjien selaimia. HTTPS:n käyttö on yleistynyt paljon vasta viime vuosina, koska aiemmin digitaaliset sertifikaatit olivat kalliita. Vuonna 2016 Electronic Frontier Foundation (EFF) julkaisi kampanjan HTTPS:n saamisesta laajempaan käyttöön. Käytännössä HTTPS alkoi vauhdilla leviämään, kun vuonna 2014 perustettu Let's Encrypt konsortio alkoi tarjoamaan ilmaisia digitaalisia sertifikaatteja 12.4.2016. Lisäksi sertifikaatin luonnin, validioinnin sekä allekirjoituksen toteutus automatisoitiin, kun ne ennen jouduttiin tekemään manuaalisesti.
Verkkoselaimen valmistajat päättävät ne sertifikaattiauktoriteetit, joihin luotetaan. Lista sertifikaatin tarjoajista on sisällytetty asennettavaan serkkoselainohjelmistoon. Täten käyttäjän tulee luottaa verkkoselainvalmistaan (ja joissain tapauksissa käyttöjärjestelmän valmistajaan) ja siihen että HTTPS on implementoitu kunnolla sekä selaimen hyväksymät sertifikaatin tarjoajat ovat luotettavia. Tarvittaessa Internetistä löytyy ohjeita siihen kuinka voi itse muokata verkkoselainten hyväksymiä sertifikaattiauktoriteetteja.
Sertifikaattiauktoriteetit, englanniksi Certificate Authority (CA), jakautuvat hierarkisesti. Ylimmällä tasolla ovat juuri CA:t, jotka jakavat sertifikaatteja seuraavan tason CA:ille, jotka voivat vielä jakaa CA:ta alemman tason sertifikaatin myöntäjille.
Esimerkiksi huhtikuussa 2020 TIM-palvelimen sertifikaatin on Jyväskylän yliopistolle myöntänyt välitason CA TERENA, jolle sertifikaatin on myöntänyt juuri CA DigiCert. Nykyään yliopisto hyväksyy mm. juuri CA Let's Encrypt:n myöntämien sertifikaattien käytön, joten sertifikaatin myöntäjä voi esimerkiksi TIM:in osalta joskus vaihtua.
- "HTTP Secure", myös "HTTP over TLS" tai "HTTP over SSL"
- Keneen luotetaan? Selainten valmistajiin, Sertifikaatin myöntäjiin
- 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
- Tuli 2016: lmainen automatisoitu sertifikaatin myöntäjä: Let's Encrypt
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
- HTTP/3 Internet draft
- TCP vaihdetaan Googlen kehittämään QUIC protokollaan
Tämä tehtävä löytyy Teoria 2 tehtävien sivulta Tehtävän 10 alta ja on linkitetty materiaain Teoria 2 osion HTTP kappaleeseen. .
—Haluttu vastaus oli julkaistu 21.2.2020
—Kiitos, olin varmaan ottanut 24. päivän expires
päivämäärästä…
Nyt on korjattu
av: EDIT: Tarkistin on päivitetty älykkäämmäksi. Nyt osaa kertoa paremmin sen mikä url:issa on väärin
—Löysin kyseiseltä päivältä kaksi eri draftia, mutta ei hyväksy kumpaakaan
[av: lisäksi löytyy draftit yleisestä QUIC kuljetusprotokollasta sekä QUIC:in käytöstä HTTP:n kanssa, tarkensin tehtävänantoon että tässä etsitään transport draft:ia.]
—Varsin työlästä saada koneen hyväksymä vastaus. Itse tiedosto sijaitsee eri palvelimella kuin mikä hyväksytään. Lisäksi tarkistin ei hyväksy tiedostomuotoa URLin päähän. Haluttu URL ei selaimessa löydä, mutta tarkistin hyväksyy.
av: ovat näköjään tehneet uudelleen ohjauksen eri palvelimelle datatracker.ietf.org
ja verkkotunnuksen lisäksi URL:in polku siellä on erilainen. Päivitän tarkistimen ensi viikolla
EDIT: Tarkistin päivitetty.
Tämä tehtävä löytyy Teoria 2 tehtävien sivulta Tehtävän 10 alta ja on linkitetty materiaain Teoria 2 osion HTTP kappaleeseen. .
—Eikös tämän version pitäisi olla viimeisin?
—Tarkensin tehtävänantoa, eli draft, jonka otsikkona oli viimeiseksi
Hypertext Transfer Protocol (HTTP) over QUIC
Tämä tehtävä löytyy Teoria 2 tehtävien sivulta Tehtävän 10 alta ja on linkitetty materiaain Teoria 2 osion HTTP kappaleeseen. .
—HTTP persistent vs. non-persistent
HTTP Autentikointi
HTTP protokollaan on RFC dokumenteissa määritelty autentikointimenetelmiä. HTTP Basic access authentication
on yksinkertaisin mekanismi toteuttaa tunnistautuminen www-sivulle. Siinä autentikointi toteutetaan käyttämällä HTTP:n otsikkokenttiä, eikä tarvetta ole esimerkiksi evästeille, istunnon tunnisteille tai erillisille kirjautumissivuille. HTTP Basic access authentication
on turvaton yksinään, joten sitä tulisi käyttää vain TLS:llä salatussa HTTP-kommunikaatiossa. Käyttäjätunnus ja salasana enkoodataan Base64 koodausmenetelmällä, joka ei ole salausmenetelmä.
HTTP Digest access authentication
on myös RFC dokumenteissa määritelty autentikointimenetelmä. Siinä käyttäjätunnus ja salasana kryptataan käyttämällä tiiviste-funktioita. HTTP Digest access authentication
on turvallisempi käyttää kuin HTTP Basic access authentication
ja on tarkoitettu sen korvaajaksi. Menetelmässä on kuitenkin heikkouksia ja haavoittuvuuksia eikä sitä ole tarkoitettu vahvasti turvalliseksi autentikointimenetelmäksi.
Kun tarvitaan vahvoja autentikointimenetelmiä, täytyy autentikointiin käyttää muita kuin HTTP protokollaan määriteltyjä menetelmiä, esimerkiksi julkisen avaimen salausmenetelmiä tai Kerberos autentikointi protokollaa.
DNS (Domain Name System)
Domain Name System (DNS) on järjestelmä Internetissä sijaitsevien laitteiden ja palveluiden nimeämiseen. DNS on hierarkinen ja hajautettu järjestelmä, jonka tärkein tehtävä on liittää verkkotunnukset, englanniksi domain name, verkkokerroksen osoitteisiin, IP-osoitteisiin.
- Muuttaa verkkotunnuksia (eng. domain) IP -osoitteiksi
- DNS:n rooli Internetin sensuurissa (esimerkkinä Kiinan sensuuri)
- Ensin oli Hosts tiedosto
- URL: www.jyu.fi.[tyhjä]
- Juuriverkkotunnus (Root Domain): [tyhjä]
- Ylätason verkkotunnus (Top Level Domain (TLD)): fi
- Toisen tason verkkotunnus (Second level domain): jyu
- Palvelimen nimi: www
- DNS järjestelmästä ja DNS protokollasta on kymmeniä RFC dokumentteja
Verkkotunnuksen hakeminen
- Esimerkiksi itkp104.fi
- Suomessa (.fi päätteiset) myöntää Traficom
- Hakeminen 5.9.2016 jälkeen vain verkkotunnusvälittäjän kautta
- Verkkotunnusvälittäjien kautta voi hakea muitakin päätteitä
- päätteiden myöntämisperusteiden ehdot vaihtelevat
- Tarkista onko verkkotunnus varattu: Esimerkiksi Traficom
- Sitten etsi verkkotunnuksenvälittäjä valiten mahdollisia muita tarvittavia palveluja, esimerkiksi sähköpostiosoitteet
- Voiko hankkia loppupäätteen, jota ICAN ei ole hyvksynyt, esimerkiksi verkkotunnuksen 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
DNS palvelimet
Autoritäärinen nimipalvelin on palvelin jolla on virallinen tieto jonkun verkkotunnuksen, tai useamman, muunnoksesta. Tieto muunnoksesta, eli verkkotunnusta vastaava IP osoite, joudutaan hakemaan joltain nimipalvelimelta. Ratkaisijanimipalvelimen tehtävä on selvittää verkkotunnusta vastaava IP osoite. Tieto muunnoksesta voi olla jo aiemmin selvitetty, ja voi täten olla ratkaisijanimipalvelimen välimuistissa. Jos tieto ei ole ratkaisijanimipalvelimen välimuistissa, niin ratkaisijanimipalvelin kysyy ensin juurinimipalvelimelta, sitten ylätason nimipalvelimelta ja lopuksi autoritääriseltä nimipalvelimelta muunnosta. Edellinen siis silloin, kun muunnos ei ole minkään nimipalvelimen välimuistissa ja ratkaisijanimipalvelin käyttää iteratiivista kyselyä.
Ratkaisijanimipalvelin on tietokoneen asetuksissa oletusnimipalvelin, jota tietokoneen DNS-palvelu käyttää, jos DNS-palvelulla ei ole tietoa tallennettuna välimuistiin, tai hosts
-tiedostoon. Nykyään verkkoselaimissa voi olla oma välimuisti muunnoksille, jonne tallennetaan tietokoneen DNS-palvelulta saadut tiedot muunnoksesta. Kun verkkotunnusta vastaava IP osoite on tallennettu välimuistiin, niin tiedonsiirron aloituksessa koettava viive on sitä pienempi mitä lähempää muunnos löytyy.
Ratkaisijanimipalvelin voi joskus olla sama kuin autoritäärinen nimipalvelin. Esimerkiksi, kun Jyväskylän yliopiston verkkoon kuuluvalla tietokoneella selvitetään yliopiston verkkotunniksia vastaavia IP osoitteita, niin tietokoneeseen on asetettu oletuspalvelimeksi ns1.jyu.fi (130.234.4.30)
, joka on myös jyu.fi
-verkkotunnuksista vastaava autoritäärinen nimipalvelin. Toisena, eli (pakollisena) varanimipalvelimena, toimii ns2.jyu.fi (130.234.5.30)
. Lisäksi FUNET-verkon puolella on yksi varanimipalvelin. Myös varanimipalvelimet antavat virallisia, autoritäärisiä, vastauksia vastaamistaan verkkotunnuksista.
- 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
- alkaa pyynnöstä selvittää IP osoitetta
- DNS-asiakasohjelmisto laitteessa kysyy ratkaisijalta, joka on
- oletusnimipalvelin laitteen verkkoasetuksissa
- alkaa pyynnöstä selvittää IP osoitetta
Juurinimipalvelimet
- IANA hallinnoi juurinimipalvelimia
- root-servers.org tarjoaa visuaalisemman informaation
- Nykyään kaikki 13 juurinimipalvelinta on hajautettu anycast-tekniikalla
DNS: kokeile itse (nslookup)
Käyttöjärjestelmissä on komentoriviltä ajettava ohjelma, jolla voi selvittää Internetin verkkotunnusta vastaavan IP-osoitteen. Windows-käyttöjärjestelmässä ohjelman nimi on nslookup
. Käyttöjärjestelmissä macOS
ja Linux
on myös ohjelma dig
, joka on monipuolisempi. Kun selvitetään yhtä verkkotunnusta vastaava IP-osoite käyttöjärjestelmään määritetyltä oletusnimipalvelimelta, annetaan verkkotunnus nslookup
-ohjelman nimen jälkeen. Esimerikisi, jos kysytään users.jyu.fi
verkkotunnusta vastaavaa IP-osoitetta, kirjoitetaan komentoriville
nslookup users.jyu.fi
Käynnistämällä nslookup
ilman parametreja, aukeaa nslookup
-sovellus, jota voi käyttää myös muiden DNS-palvelun tarjoamien informaatioden kysymiseen.
Jos halutaan kysyä joltain tietyltä nimipalvelimenta, niin nslookup
-ohjelmalle voidaan antaa parametrina, väliviiva
-merkin jälkeen, DNS-palvelimen nimi tai osoite, jolta verkkotunnusta kysytään. Esimerkiksi yliopiston viralliselta nimipalvelimelta, ns1.jyu.fi
, kysytään kirjoittamalla nslookup
, väliviiva
ja sitten palvelimen nimi, tai IP-osoite.
nslookup - ns1.jyu.fi
KOmento käynnistää nslookup
-sovelluksen, joka alussa ilmoittaa DNS palvelimen nimen ja IP-osoitteen, jonka kanssa kommunikoit. Jos IP-osoitteena on IP protokollan versio 6 osoite, heksalukuja ja kaksoispisteitä, eikä IP versio 4 osoite, kokonaislukuja ja pisteitä, niin käynnistä nslookup
uudestaan antamalla antamalla parametriksi DNS palvelimen sijaan DNS palvelimen IPv4 osoite. Se pakottanee palvelimen tarjoamaan vastaukset IPv4-osoitteina. Jyväskylän yliopiston nimipalvelimen tapauksessa, siis
nslookup - 130.234.4.30
Tee seuraava tehtävä käyttöjärjestelmän nslookup
-ohjelmalla.
av: Tarkistin on päivitetty älykkäämmäksi 19.2.2021. Tarkistin ei toiminut oikein kaikissa tilanteissa. Lisäksi tarkistin ei tarkastanut kunnolla vastausta. Vastauksiin hyväksyttiin melkein mitä vain.
Nyt tarkistin vaatii että nslookup
tai dig
tuloste on kommunikoinnista autoritäärisen DNS palvelimen kanssa.
Jos tarkistimen antaman palautteen jälkeen olet sitä mieltä, että tarkistin ei hyväksy mielestäsi oikeaa vastausta, jätä kommentti.
EDIT: 8.3.2021 korjattu että hyväksyy dig
-ohjelman parametrit myös eri järjestyksessä.
- Kokeile komentoriviltä:
nslookup
(Linux ja Mac -järjestelmissä myös monipuolisempidig
)- 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
DNS Iteratiivinen vs. rekursiivinen kysely
DNS-kyselyt toteutetaan joko rekursiivisena tai iteratiivisenä. Olkoon esimkerkkinä verkkotunnuksen www.tietokone.fi
IP-osoitteen kysyminen. Rekursiivisessa DNS-kyselyssä kysymys menee ratkaisijalta juurinimipalvelimelle '.'
, joka kysyy TLD palvelimelta '.fi'
, joka kysyy autoritääriseltä palvelimelta 'tietokone.fi'
. DNS-vastaus toimitetaan samaa reittiä vastakkaiseen suuntaan. Iteratiivisessa DNS-kyselyssä juurinimipalvelimet ja TLD-palvelimet eivät lähetä kysymystä edelleen ja palauta vastausta. Iteratiivisessa DNS-kyselyssä vastauksena annetaan kysyjälle tieto siitä, mistä tulee kysyä seuraavaksi. DNS-palvelimen asetuksista voidaan valita se tukeeko palvelin rekursiivista kyselyä. Juurinimipalvelimet ja TLD-palvelimet eivät pääsääntöisesti tue rekursiivista kyselyä. Organisaatioiden oletusnimipalvelimet tarjoavat pääasiassa rekursiivista kyselyä. Eli ne hoitavat kyselyn muiden laitteiden puolesta ja saavat näin tallennettua välimuistiinsa tiedot osoitteista, joita sen kautta kysytään.
Sähköposti Internetissä
Sähköposti on yksi Internetin vanhimmista sovelluksista. Sähköposti on määritelty useissa RFC dokumenteissa, joista ensimmäiset määrittelivät sekä sähköpostin välitykseen että sähköpostin sisältöön liittyvät asiat. Aluksi sähköposti luettiin suoraan kirjautumalla sähköpostipalvelimelle ja lukemalla posti palvelimen sähköpostilaatikossa, inbox. Myöhemmin kehitettiin protokollia sähköpostin noutamiseen, joilla sähköpostit saattoi hakea luettavaksi sähköpostisovellukseen. Viimeisimpänä lisäyksinä sähköpostiin on RFC dokumentit, joissa määritellään se, kuinka sähköpostia voidaan käyttää siirtämään myös muitakin merkistökoodauksia, kuin 7-bittistä ASCII -koodausta, sekä muun tyyppistä informaatiota kuin teksti.
Sähköpostin lukemiseen ja lähettämiseen käytettävät sovellukset voidaan jakaa karkeasti kahteen eri kategoriaan
- Sähköpostisovellus, asiakasohjelma Email client tai
- Selaimessa toimiva www-pohjainen sovellus Webmail client
Jakona toimii se mitä protokollia sovellukset käyttävät kommunikoimiseen sähköpostipalvelinten kanssa.
Nykyään useimmiten sähköpostin lähettämiseen ja lukemiseen käytetään verkkoselainta, jossa sähköpostin lähettäminen sähköpostipalvelimelle sekä noutaminen sähköpostipalvelimelta tehdään HTTP protokollalla, mutta sitä ei kuitenkaan käytetä sähköpostipalvelinten välisessä kommunikaatiossa.
Kaikki kommunikaatio sähköpostipalvelinten välillä tehdään SMTP protokollalla. SMTP protokollaa käytetään sähköpostin lähettämiseen sähköpostipalvelinten välillä. Sähköpostipalvelimet eivät nouda posteja toisilta sähköpostipalvelimilta.
SMTP protokollaa käytetään myös sähköpostisovelluksissa, jotka eivät ole www-pohjaisia- Sähköpostisovellukset käyttävät SMTP protokollaa sähköpostin välittämiseen omalle sähköpostipalvelimelle, joka sitten lähettävät sen edelleen SMTP protokollalla vastaanottajan sähköpostipalvelimelle.
Käyttäjät voivat noutaa sähköpostin säshköpostisovellusta käyttäen POP3 tai IMAP4 protokollalla tai www-pohjaisesti HTTP protokollalla. Jos sähköpostisovellus ei ole www-pohjainen, niin se käyttää SMTP ja POP3 tai IMAP4 protokollia, joita on käytetty jo vuosikymmeniä.
Sähköpostiliikenteen turvaamiseen käytetään TLS prototokollaa sovelluskerroksen sähköpostiprotokollan ja kuljetuskerroksen TCP protokollan välillä.
SMTP (Simple Mail Transfer Protocol)
Simple Mail Transfer Protocol (SMTP) kehitettiin sähköpostien lähettämiseen sähköpostipalvelimelle. SMTP protokolla voi käyttää sähköpostipalvelimet, asiakassovellukset tai vaikka kuka tahansa henkilö, joka osaa avata TCP yhteyden ja tietää miten tekstipohjainen SMTP protokolla toimii. Ensimmäinen RFC määriteltiin 1982 ja SMTP on yksi monista Internet standardeista. SMTP:tä voi käyttää vain viestien lähettämiseen tai välittämiseen sähköpostipalvelimelle. Sähköpostien noutaminen tehdään eri protokollilla. Nykyään sähköpostista on käytössä laajennettu versio, Extended SMTP, johon on lisätty mm. tunnistautumiseen ja tietosuojaan liittyviä ominaisuuksia.
POP3 (Post Office Protocol)
Sähköpostin noutamiseen sähköpostipalvelimelta käytetään eri protokollaa kuin sähköpostin välittämiseen palvelimelle. Nykyisin esimerkiksi puhelinten sähköpostisovellukset noutavat sähköpostin palvelimelta joko POP3 tai IMAP4 protokollia käyttäen.
POP3 on yksinkertainen tekstimuotoinen protokolla sähköpostin noutamiseen palvelimelta. POP3 protokollan puutteena on se ettei protokollalla pysty hallitsemaan sähköposteja palvelimella, vaan ne ladataan omalle laitteelle, jossa hallinta tapahtuu. Lataukselle on kaksi vaihtoehtoa, sähköposti ladataan ja säilytetään palvelimella tai latauksen jälkeen sähköposti poistetaan palvelimelta. Omalla päätelaitteella voi sitten sähköpostiohjelmalla tehdä esimerkiksi eri kansioita ja siirrellä viestejä kansioista toiseen. Tämä on kuitenkin laitekohtainen ja useita laitteita käytettäessä, on jokaisella laitteella paikallinen näkymä sähköposteihin. POP3 protokollan ominaisuuksista johtuen palvelimen toteutus on yksinkertainen.
IMAP4 (Internet Message Access Protocol)
IMAP4 protokolla kehitettiin POP3:n puutteiden ratkaisijaksi ja siinä on enemmän ominaisuuksia, kuin POP3:ssa. IMAP4 protokollaa käyttävällä palvelimella saapuvat viestit sijoitetaan oletuksena INBOX
-kansioon. Käyttäjä voi luoda palvelimelle muita kansioita, joihin sähköposteja voi sitten siirtää. IMAP4 protokollassa on siis erikseen käskyt esimerkiksi kansioiden luomiselle ja viestien siirtämiselle, jotka POP3 protokollasta puuttuvat. IMAP4 protokollalla voi lisäksi siirtää päätelaitteelle vain osan sähköpostista, esimerkiksi otsikkotiedot viestin tärkeyden tarkistamiseksi. Näin eikä aina tarvitse ladata koko viestiä, jos esimerkiksi internet-yhteydestä laskutetaan siirretyn datan mukaan.
Syrjäyttikö RFCxxx
tämän? Vai tulkitsenko väärin?
av: Kyllä! Syrjäytti (poistin numeron) näköjään elokuussa 2021. Muokkaan tehtävänantoa, en vaihda oikeaa vastausta, kun muutos tulee kesken kurssin…
—Sähköposti Nordealta?

Received: from posti4.jyu.fi (130.234.5.43) by cas2.ad.jyu.fi (130.234.8.97)
with Microsoft SMTP Server (TLS) id 14.3.224.2; Wed, 15 Apr 2015 12:38:31
+0300
Received: from localhost (localhost.localdomain [127.0.0.1]) by posti4.jyu.fi
(8.13.8/8.13.8) with ESMTP id t3F9cVZM018409 for <arjuvi@exmail.jyu.fi>; Wed,
15 Apr 2015 12:38:31 +0300
X-Virus-Scanned: amavisd-new at cc.jyu.fi
Received: from posti4.jyu.fi ([127.0.0.1]) by localhost (posti4.jyu.fi
[127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lppiF1WgIVyW for
<arjuvi@exmail.jyu.fi>; Wed, 15 Apr 2015 12:38:30 +0300 (EEST)
Received: from alpha3.stuon.com (alpha3.stuon.com [82.96.70.38]) by
posti4.jyu.fi (8.13.8/8.13.8) with ESMTP id t3F9cU9v018404
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for
<ari.viinikainen@jyu.fi>; Wed, 15 Apr 2015 12:38:30 +0300
X-No-Auth: unauthenticated sender
Received: from alpha3.stuon.com (localhost.localdomain [127.0.0.1]) by
alpha3.stuon.com (Postfix) with ESMTP id 595D57DB8F8C for
<ari.viinikainen@jyu.fi>; Wed, 15 Apr 2015 11:37:53 +0200 (CEST)
Received: by alpha3.stuon.com (Postfix, from userid 33) id C20977DB8FCE; Wed,
15 Apr 2015 11:37:35 +0200 (CEST)
To: <ari.viinikainen@jyu.fi>
Subject: Nordea Verkkopankki - Viite #21411757842
From: Nordea Bank <info@nordea.fi>
Content-Type: text/html
Message-ID: <20150415093735.C20977DB8FCE@alpha3.stuon.com>
Date: Wed, 15 Apr 2015 11:37:35 +0200
MIME-Version: 1.0
Return-Path: www-data@alpha3.stuon.com
X-MS-Exchange-Organization-AuthSource: cas2.ad.jyu.fi
X-MS-Exchange-Organization-AuthAs: Anonymous
Sähköposti APPIELD:ltä

Huomaa ison I -kirjaimen huijjausyritys pienenä l -kirjaimena, sekä pienen l -kirjaimen huijaus isona I -kirjaimena
FTP (File Transfer Protocol)
- FTP protokollaa käytetään tiedostojen siirtoon
- Esimerkiksi selaimella käyttäen FTP:tä ftp://ftp.funet.fi
- Vastaava sivun siirto HTTP protokollalla http://ftp.funet.fi
Salattu tiedostojen siirto
FTP on haavoittuvainen muutamalle hyökkäykselle ja salaamattomana sitä ei tulisi käyttää tärkeiden tiedostojen siirtämiseen. FTP:tä voi käyttää esimerkiksi Internetissä muutenkin julkisten tiedostojen siirtämiseen. Tiedoston siirto salattuna voidaan toteuttaa käyttämällä salausmenetelmää sovelluskerroksen ja kuljetuskerroksen välissä, kuten esimerkiksi FTPS (FTP Secure tai FTP over SSL) sekä FTP over SSH. Lisäksi on olemassa muita salattuja tiedoston siirtoon sopivia protokollia, kuten esimerkiksi SSH File Transfer Protocol (tunnetaan myös nimillä Secure File Transfer Protocol tai SFTP) sekä Secure copy (SCP). Lyhenteitä FTPS ja SFTP käytetään usein tarkoittamaan eri protokollia ja yleensä on hyvä tapa selventää asiaa käyttämällä protokollan koko nimeä. Lisäksi on olemassa FTP:tä yksinkertaisempi Simple File Transfer Protocol, joka myös lyhennetään SFTP, jossa ei ole minkäänlaista salausta. Simple File Transfer Protocol:laa yksinkertaisempi on vielä Trivial File Transfer Protocol (TFTP), jota käytettiin pääasiassa aikoinaan yksinkertaisten päätelaitteiden käynnistystiedoston lataamiseen lähiverkon palvelimelta.
Secure Copy (SCP) on tiedostonsiirtoprotokolla, joka perustuu BSD (Berkley Software Distribution):n rcp (remote copy) -ohjelmaan, joka on yksi monista, jotka BSD kehitti omaan Unix-käyttöjärjestelmäänsä. SCP:stä, kuten rcp:stä, ei ole olemassa RFC dokumenttia. SCP suojaa tiedostot käyttämällä SSH:ta.
SSH File Transfer Protocol (SFTP) mahdollistaa monipuolisempaa tiedostojen operointia, esimerkkinä tiedostojen muokkaaminen tai poistaminen, kuin esimerkiksi SCP, jolla voi vain siirtää tiedostoja. SFTP olettaa että alapuolella on turvallinen SSH:lla toteutettu tiedonsiirtokanava. SFTP ei koskaan valmistunut RFC-dokumentiksi vaan jäi Draft vaiheeseen. SFTP ja FTP ovat kaksi aivan erilaista protokollaa, eivätkä riipu toisistaan.
Kun FTP liikennettä salataan, käytetään sen alapuolella TLS -protokollaa, nimetään FTP over TLS tai FTPS.
av: HUOM: Tehtävänantoa on muutettu tarkistimen vaihduttua. Nyt pitää olla tietty RFC, kun ennen sai valita yhden useammasta. Vanhat vastaukset eivät kaikki enää anna pisteitä.
—Mitähän tässä tehtävässä pitää oikeastaan tehdä? Pitääkö löytää jokin rfc:tä vai mitä tässä kysytään?
—Pitää löytää Internet-draft
SSH File Transfer Protocol (SFTP):lle.
Ja vastaukseksi annetaan URL, johonkin draftin versioon.
Huomioitavaa on että salausprotokollien nimet ovat toisinaan hyvin lähellä toisiaan. Löytyy esim. draft protocollalle SSH Connection Protocol
, joka on eri protocolla, joka on draft vaiheen jälkeen julkaistu RFC:nä The Secure Shell (SSH) Connection Protocol
av: EDIT Tehtävänantoa on muutettu 23.2.2021, kun tarkistin päivitettiin.
Korjattu 6.7.2022: Nyt pitää olla uusin vuoden 2006 versio.
Network File System (NFS)
NFS on protokolla hajautettujen tiedostojärjestelmien, kuten verkkolevyjen, toteuttamiseen. NFS ei tunnista asiakasta tai palvelinta, eikä salaa liikennettä, joten sen kanssa tulee käyttää jotain autentikointimenetelmää sekä salata liikenne, jotta jaettujen tiedostojärjestelmien tiedot eivät ole ulkopuolisten saatavissa.
Tor (The Onion Router - anonyymi verkko)
Tor (The Onion Router)-verkko muodostuu verkkoon liitetyistä päätelaitteista, jotka toimivat virtuaalisen piirikytketyn verkon solmulaitteina. Tor käyttää solmulaitteista nimitystä sipulireititin, englanniksi onion router, vaikka käytännössä solmulaitteet eivät tee reititystä. Reitin Tor-verkon läpi muodostaa käyttäjän Tor-sovellus, valiten Tor-solmut, joiden kautta viestit välitetään. Näin muodostuu eräänlainen virtuaalinen piirikytketty verkko toisin sanoen eräänlainen overlay-verkko, toisen verkon, tässä tapauksessa Internetin, päällerakennettu (virtuaalinen) verkko.
Yleistä Tor-verkon tietoturvasta
Sipuli sanan käyttö liittyy sipulissa olevien eri kerrosten samankaltaisuudella Tor-verkon käyttämään kerroksittaiseen salaukseen. Tor-verkossa lisätään uusi salauskerros jokaista reitille lisättävää sipulireititintä kohden. Salauksen ansiosta jokainen sipulireititin tuntee vain kuka pyysi muodostamaan reitin sen läpi ja mihin reitti jatkuu seuraavaksi. Sipulireititin ei voi tietää onko pyyntö reitin muodostamiesta tullut alkuperäiseltä reitinmuodostajalta vai reitille aiemmin lisätyltä sipulireitittimeltä. Reitin päätepisteessä voidaan saada viesti selkokielisenä siinä tapauksessa että vastaanottaja ei kuulu Tor-verkkoon, esimerkiksi WWW- tai sähköpostipalvelimet. Nykyään tosin käytetään aika usein TLS:ää, tällöin Tor-verkon ulkopuolelle välitetyt "selkokieliset" viestit ovat siis TLS:n salaamia. Seuraavassa kappaleissa käydään tarkemmin läpi Tor-verkon tietoturvan toteuttamista.
Tor-verkon directory authorities
Tor-verkko tarjoaa käyttäjälle anonymiteetin, salaa siirrettävän tiedon sekä varmistaa sipulireitittimien aitouden. Tor-sovellukseen on kovakoodattuna, englanniksi hard-coded, tiedot laitteista, directory authorities (DA), jotka ylläpitävät listaa tunnetuista Tor-verkon sipulireitittimistä. Suurin riski Tor-verkon käyttäjän tietoturvalle on se että käyttäjä ottaa käyttöön Tor-sovelluksen, jonka DA-listaa hyökkääjä on muuttanut. Lista Tor-verkon DA-laitteista löytyy esimerkiksi metrics.torproject.org -sivustolta.
Sipulireitittimien aitous
Tor-sovelluksen aitouden varmistamista varten Tor-sovellus on allekirjoitettu GnuPG:llä. Lisäksi Tor-verkon DA-laitteilla on Directory signing key Tor-verkon sipulireititin listan allekirjoittamiseen. Allekirjoitukset tarkastamalla voidaan selvittää se onko sovellukseen tai niiden ylläpitämiin listoihin tehtyä muutoksia. Listoissa on sertifikaatti jokaiselle sipulireitittimelle. Jokaisen sipulireitittimen sertifikaatti on allekirjoitettu kyseisen sipulireitittimen identiteettiavaimella, joka on pitkäkestoinen julkinen avain. Sipulireitittimen sertifikaatti pitää sisällään tiedot sipulireitittimestä, esimerkiksi sijainnin sekä tiedot sipulireitittimen käyttämistä lyhyenaikavälin salausavaimista, ns. sipuliavaimista, englanniksi onion keys. Sipuliavaimet ovat julkisia salausavaimia, joita sipulireitittimet kierrättävät viikon välein. Kun Tor-verkossa muodostetaan virtuaalinen reitti, tunnistetaan reitin solmu oikeaksi Tor-verkon laitteeksi sen julkisella sipuliavaimella.
Liikenteen salaaminen
Tulevaa kommunikaatiota varten muodostetaan lyhytkestoiset yksityiset salausavaimet, joilla salataan sipulireitittimelle saapuvat viestit. Kun Tor-sovellus muodostaa virtuaalisen reitin Tor-verkon kautta, se valitsee ne sipulireitittimet joita käytetään. Sipulireititinten kanssa sovitaan liikenteen salaamiseen yksityiset symmetriset salausavaimet Diffie-Hellman julkisen avaimen salausmenetelmällä. Diffie-Hellman kättelyvaiheen ensimmäinen viesti salataan käyttämällä sipulireitittimen julkista sipuliavainta, näin ollen vain sipulireititin pystyy tulkitsemaan viestin. Salaus on luonteeltaan eteenpäin salaavaa, eli jos joku kaappaa salatun liikenteen, ei salausta voi tulevaisuudessakaan purkaa. Edellä mainittujen lisäksi kaikki liikenne käyttää myös TLS salausta päästäpäähän viestin salaamiseen.
Tor-sovellus muodostaa virtuaalisen yhteyden ensimmäiseen sipulireitittimeen ja samalla muodostetaan sille yhteydelle salausavain. Sitten Tor-sovellus pyytää ensimmäistä reititintä jatkamaan reittiä seuraavaan sipulireitittimeen. Ensimmäinen sipulireititin muodostaa virtuaalisen yhteyden itsensä ja toisen sipulireitittimen välille, mutta salaukseen käytetään sovelluksen ilmoittamia salaukseen liittyviä parametreja. Toinen sipulireititin ei siis tiedä kenen kanssa se on sopimassa salauksesta, ainoastaan että ensimmäinen sipulireititin toimii salauspyynnön välittäjänä. Vastaavasti ensimmäinenkään sipulireititin ei voi tietää onko sen saama yhteydenmuodostuspyyntö ollut alkuperäiseltä yhteyden luojalta vai toimiiko sovellus vain välittäjänä.
Sen jälkeen kun reitti Tor-verkon läpi on muodostettu, voi sovellus aloittaa datan lähettämisen. Tor-sovellus muodostaa useita reittejä ja vaihtaa reittejä tietyin väliajoin, jotta esimerkiksi kovin montaa eri TCP-yhteyttä ei välitettäisi samalla reitillä. Reitille lähetettävät paketit sovellus salaa siten, että todellinen viesti salataan viimeisen sipulireitittimen salausavaimella, viestiin asetetaan lähettäjäksi toiseksi viimeinen sipulireititin javastaanottajaksi viimeinen. Edellä kasattu viesti lähettäjineen ja vastaanottajineen salataan seuraavaksi toiseksi viimeisen sipulireitittimen salausavaimella, eli lisätään seuraava salauskerros. Ja lähettäjäksi laitetaan kolmanneksi viimeinen sipulireititin ja vastaanottajaksi toiseksi viimeinen sipulireititin. Samaa toistetaan jokaista reittiin valittua sipulireititintä varten. Näin ollen jokainen sipuli reititin kykenee tulkitsemaan sille itselleen tulevan viestin ja löytää viestistä seuraavan sipulireitittimen, jolle paketti tulee välittää.
- 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
Sovelluskerrokselta kuljetuskerrokselle
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
Sovelluskerroksen tarpeet → Kuljetuspalvelu
- 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?
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)
Internetin kuljetuspalveluiden nimet
- Transmission Control Protocol (TCP)
- User Datagram Protocol (UDP)
- Datagram Congestion Control Protocol (DCCP)
- Stream Control Transmission Protocol (SCTP)
- Kuljetuskerroksen protokollien vertailua
Ajoitus ja kaistanleveys tulevaisuudessa?
- IntServ
- Yksi ehdotus ajoituksen ja kaistanleveyden takaamiseksi
- Resource Reservation Protocol (RSVP)
- Integrated Services arkkitehtuurin resurssienvaraus protokolla
- Takaa ajoituksen ja kaistanleveyden
- DiffServ
- IntServ:n kilpailija
- kevyempi, ei takaa absoluuttista ajoitusta tai kaistanleveyttä
- Palvelun laatu (Quality of Service, QoS) on suhteellinen
Tällä tehtävällä näyttää olevan vähemmän alakohtia
—av: joo kaikkiin tehtäviin en ole koskaan ehtinyt tekmään kaikkia alakohtia valmiiksi. Jos ehdin tehdä uusia tehtäviä ilmoitan siitä kurssin sivuilla.
—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ä
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
- Lähetys:
Kuljetuskerrokselta verkkokerrokselle
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
- Lähettäjä odottaa kuittausta paketin vastaanottajalta
- Lähetetään uudelleen paketit joihin ei saada kuittausta
- 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
Virheiden havaitsemista ja korjaamista opiskellaan Teoria 3 osion loppuosassa.
B ja C kohtiin pisteiden kohdalle näyttäisi päivittyvän tehtävän tekemisen jälkeen ainoastaan 0.1, ei 0.1/0.1 kuten muissa kohdissa
—Kiitokset, korjattu
—Tämä ruutu on valkoinen :)
—Ja jälleen tämän valitusviestin jälkeen tuli vasta näkyviin? Kummallista.
—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 alempi kerrospino mahdollistaa
- ja toivotaan että viive (ja varsinkin sen vaihtelu) pysyy aisoissa
- TCP:
- Luotettavuus pääasia, uudelleenlähetykset aiheuttavat viivettä
- On myös Vuonvalvonta ja Ruuhkanhallinta palvelut!
- Mutta ne lisäävät viivettä...
- UDP:
- Sovelluskerros - ei saa tätä palvelua kuljetuskerrokselta
- Videostreamit:
- valitaan yleensä TCP
- lähetetään datapaketteja niin nopeasti kuin TCP kykenee
- TCP:n pitää odottaa kuittauksia, yms.
- puskuroidaan saapuvaa dataa
- toivotaan että puskurissa oleva data riittää viiveen noustessa
- jos ei riitä niin käyttäjä joutuu odottamaan
- valitaan yleensä TCP
- Reaaliaikainen video/puhe:
- valitaan yleensä UDP
- lähetetään datapaketteja niin nopeasti kuin UDP kykenee (tai sovelluksen tarve)
- mahdollisesti korjataan virheitä vastaanottajalla
- ei uudelleenlähetyksiä
- mahdollisesti puskuroidaan paketteja
- jotta selvitään pienistä viiveen vaihteluista
- myöhästynyt paketti käytännössä sama kuin kadonnut paketti
- kuvan/puheen laatu kärsii
- Videostreamit:
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ä
- →
- 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: Tunnistautuminen ja 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 vastaava sovelluskerroksen ja kuljetuskerroksen väliin
- Sovelluskerros: Jokin muu salaus- ja/tai tunnistautumismenetelmä liitettynä sovelluskerroksen protokollaan
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 ...
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ä
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
- Esimerkiksi luentosalin tietokoneen IP osoite: 130.234.156.32
- 130.234 osan mukaan tiedetään että on jyu:n verkossa
- Loppuosan mukaan löydetään sijainti yliopiston verkon sisällä
- 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
Esimerkki hierarkisesta reitityksestä
- Tutki mitä tietoja löydät
Internet Protokolla (IP)
IP osoite kertoo laitteen sijainnin?
- IP osoite ei kerro sijaintia maapallolla!
- IP osoite kertoo sen kuinka paketit reititetään kohteeseen
- IP osoitteiden sijainnista voi olla tietoa:
- Sijaintitieto joudutaan keräämään esim. tietokannoista tai seuraamalla reittejä
IP osoitteen voi piilottaa esim. proxy palvelimella
- Etsi ensin jokin proxy palvelin, esim. google haku
- Katso optioista että skriptien suoritus sallitaan
- Mene 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. sivulle
- http://users.jyu.fi/~arjuvi/opetus/itkp104/2019/ITKP104_proxy_hits_2019.html
- sivu kerää tietoa siitä, mistä päin maailmaa vierailijat tulevat
- Kokeile eri maissa sijaitsevia proxy palvelimia, jotta Suomi saadaan alemmaksi listalla
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
- osoite on jaettu kahteen osaan:
- Alkuosan perusteella paketti välitetään oikeaan verkkoon
- Alkuosan synonyyminä saatetaan nykyään käyttää myös verkko-osaa, tai englannista johdettua prefix-osaa
- Osoite on hierarkinen
- Osa IP osoitteista on varattu erityiskäyttöön
- Organisaatioille jaetut /8 IP lohkot
- Nykyään pääasiassa käytössä versio 4, rinnalla yleistyy version 6 käyttö
IPv4 osoitteet
- Pituus: 32 bittiä, eli 4 294 967 296 (232) osoitetta
- Osoitteen bitit jaetaan neljään tavuun
- Ihmisystävällinen merkintä tapa (ns. pistedesimaalimuoto)
- muutetaan tavut positiivisiksi kokonaisluvuiksi ja
- erotetaan ne pisteillä
- Esimerkki:
173.194.32.63
on binäärisenä10101101 11000010 00100000 00111111
IPv6 osoitteet
- Pituus: 128 bittiä, eli noin 3.4×1038 (2128) osoitetta
- Ihmisystävällinen merkintä tapa
- jaetaan kahdeksaan osaan, erotetaan kaksoispisteellä
- jokaisessa osassa on 4 heksanumeroa, jotka vastaa 2 tavua, eli 16 bittiä
- lyhennetään poistamalla peräkkäisiä nollia
- Esimerkki:
2a00:1450:400f:801::1017
, joka on lyhennys osoitteesta2a00:1450:400f:8010:0000:0000:0000:1017
- Joka on binäärisenä
- 0010 1010 0000 0000
- 0001 0100 0101 0000
- 0100 0000 0000 1111
- 1000 0000 0001 0000
- 0000 0000 0000 0000
- 0000 0000 0000 0000
- 0000 0000 0000 0000
- 0001 0000 0001 0111
IP osoitetyypit
- Unicast - täsmälähetys
- Yleisin osoitetyyppi, "yhden" laitteen osoite, voidaan käyttää lähettämiseen sekä vastaanottamiseen
- esim. Yle Areena, Nettiradiot, yms., kaikki 'normaali' liikenne Internetissä
- Broadcast - yleislähetys
- vastaa ~ TV- ja radiolähetyksiä radio- ja kaapeliverkoissa
- Yleislähetysosoite, voidaan lähettää (ali)verkon kaikille laitteille sama paketti
- siis yksi paketti, jonka kaikki vastaanottavat
255.255.255.255
kaikille lähiverkon laitteille- ei mene reitittimen läpi
- tai esim. aliverkon
192.0.2.0/24
yleislähetysosoite on192.0.2.255
- IPv6:ssa ei mahdollista, hoidetaan Multicast:illä
- Multicast - ryhmälähetys
- näin 'pitäisi' Yle Areena yms. toimia!
- Monilähetysosoite
- laitteet voivat liittyä Multicast ryhmään
- IGMP protokolla
- Ryhmässä paketit välitetään kaikille jäsenille
- laitteet voivat liittyä Multicast ryhmään
- Varattu osoitteet väliltä
224.0.0.0 - 239.255.255.255 (224.0.0.0/4)
(IPv4)ff00::/8
(IPv6)
- Reitittimet hoitavat
- paketin kopioimisen ja
- välittämisen kaikille ryhmän jäsenille
- Anycast - 'Jokulähetys'
- hajautetaan palvelu: asiakkaan sijainnin mukaan
- Palvelupyyntö voidaan välittää monelle eri vastaanottajalle
- välitetään sille, 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)
- BGP:llä asetetaan tieto reitittimien reititystauluihin
- IPv6:ssa osa spesifikaatiota
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'
- Osoitteet loppuu -politiikalla, pakotetaan siirtymään IPv6:een
- 3.2.2011 jakoi viimeiset viisi IPv4 osoitelohkoa, Last
IPv4 osoitteiden loppumisen eteneminen
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
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)
- 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
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
IPv4 vs IPv6
- Erot
- IPv6 osoiteavaruus paljon suurempi
- IPv6 kehysrakenne yksinkertaistettu IPv4 kehys, IPv6 kehys
- poistettu harvoin käytettyjä kenttiä
- Vähentää pakettien käsittelyaikaa reitittimillä
- IPv6 osoite automaattisesti, IPv4 osoite pyytämällä
- IPv4 laite pyytää IP osoitetta DHCP protokollalla
- DHCP palvelimet jakavat verkossa IP osoitteita
- IPv6 laite ei välttämättä tarvitse DHCP:tä
- IPv6 laite kykenee automaattisesti generoimaan itselleen osoitteen
- Neighbor Discovery Protocol
- IPv4 laite pyytää IP osoitetta DHCP protokollalla
- IPv6: ei erillisiä yleislähetysosoitteita
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
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
av: Päivitin tehtävänantoa, sekä vinkkejä, joita satunnaisesti saa vääristä vastauksista. Vinkki: samaa väärää vastausta voi tallentaa useita kertoja, tällöin saa satunnaisesti eri vinkkejä, jotka voivat auttaa eteenpäin
—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 on11111111 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 maski255.255.0.0
) - IPv6 osoitteilla aliverkotus toimii samoin
- RIPE tietokanta
- https://stat.ripe.net/
- JYU:n liittyminen Internettiin
Aliverkkomaski eri esitystavoilla
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 00
000000
eli 130.234.169.0
- osoite, jossa kaikki laiteosan bitit ovat ykkösiä, on aliverkon yleislähetysosoite
10000010 11101010 10101001 00
111111
eli 130.234.169.63
- loput osoitteet ovat käytettävissä verkon laitteille
- alkaen osoitteesta
10000010 11101010 10101001 00
000001
- loppuen osoitteeseen
10000010 11101010 10101001 00
111110
- alkaen osoitteesta
Toinen esimerkki aliverkon osoitteista
- 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 01
000000
eli130.234.169.64
- osoite, jossa kaikki laiteosan bitit ovat ykkösiä, on aliverkon yleislähetysosoite
10000010 11101010 10101001 01
111111
eli130.234.169.127
- loput osoitteet ovat käytettävissä verkon laitteille
- alkaen osoitteesta
10000010 11101010 10101001 01
000001
- loppuen osoitteeseen
10000010 11101010 10101001 01
111110
- alkaen osoitteesta
- Verkossa olevan laitteen IP osoitteen ja aliverkkomaskin avulla voidaan selvittää ko. verkon aliverkon osoite ja yleislähetysosoite.
Aliverkon osoite ja yleislähetysosoite
Laitteen IP osoite ja verkko, johon laite kuuluu voidaan esittää IP osoitteen ja aliverkkomaskin avulla. Olkoon meillä esimerkiksi IP osoite ja aliverkkomaski 192.168.140.82/21
. Jotta voidaan selvittää, mitkä kaikki IP osoitteet ovat samassa verkossa, täytyy löytää verkon osoitteiden alaraja, aliverkko-osoite, sekä yläräja, yleislähetysosoite.
Aliverkkomaski /
-merkin jälkeen kertoo sen kuinka monta MSB bittiä verkon aliverkkomaskissa on ykkösiä. Eli toisin sanoen kuinka monta bittiä IP osoitteesta on aliverkon osaa. Loput bitit verkossa ovat käytettävissä laitteiden osoitteiksi, kahta osoitetta lukuunottamatta. Aliverkon ensimmäinen osoite, jossa kaikki laiteosan bitit ovat nollia, on varattu ko. aliverkon osoitteeksi. Aliverkon viimeinen osoite, jossa kaikki laiteosan bitit ovat ykkösiä, on varattu ko. aliverkon yleislähetysosoitteeksi.
Aliverkon osoitteen saa ottamalla IP osoitteesta ja aliverkkomaskista AND operaation. Yleislähetysosoitteen saa IP osoitteen ja negatoidun aliverkkomaskin OR operaationa. Alla on esitetty binäärisenä osoitteen 192.168.140.82/21
IP, maski, verkon osoite sekä yleislähetysosoite. Verkko-osa ja laiteosa on eroteltu toisistaan välillä ja maskin tapauksessa bitit on lisäksi värjätty.
IP in bits: 110000001010100010001 10001010010 Mask in bits:11111111111111111111100000000000after AND: 110000001010100010001 00000000000 IP in bits: 110000001010100010001 10001010010 Negated Mask:00000000000000000000011111111111after OR: 110000001010100010001 11111111111
Haetaanko tässä mitä? En englanninkielistä vastinetta ymmärrä. Tarkastin ei pidä IP osoitteesta binäärisenä eikä subnet maskista binäärisenä, enkä löydämitään mikä vastaisi “subnet address”ia saatikka binäärisenä
av: Tehtävänannon IP osoite kuuluu johonkin aliverkkoon, jonka koko ja ensimmäinen osoite (eli aliverkon osoite) saadaan selville aliverkkomaskin (/16
, jossa 16 kpl 1
-bittejä) avulla.
Näköjään tässä ei kelpaa piste erottimena, vaan täytyy olla väli.
av: tällä vanhalla kurssilla oli näköjään vanha tarkistin, joka ei hyväksynyt pistettä. Vaihdoin nyt käyttämään uudempaa versiota tarkistimesta, joka hyväksyy myös pisteen binäärilukujen erottimena.
—IP hierarkinen reititys - CIDR aliverkkomaski
- FUNET (
AS1741
) mainostaa (Announced Prefix):- Meillä reitti verkoon
130.234.0.0/16
, reititys viaAS1741
- Meillä reitti verkoon
- AS naapurit päivittää oman verkkonsa reitittimien reititystaulut
- AS naapurit mainostaa omille naapureilleen, esim. Nordunet (
AS2603
):- Meillä reitti verkkoon
130.234.0.0/16
polkuAS2603 AS1741
- Meillä reitti verkkoon
- Telia (
AS1299
) mainostaa:- Meillä reitti verkkoon
130.234.0.0/16
polkuAS1299 AS2603 AS1741
- Meillä reitti verkkoon
- 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
) ja130.234.128.0/17
(130.234.128.0 - 130.234.255.255
)
IPv4 Reititystaulu
Kokeilen kommentoinnin avulla jälleen, että tuleeko tehtävä näkyviin..
—Liittyisiköhän nämä jotenkin sivun hitaaseen latautumiseen, kun on paljon aikaa vaativia latauksia, kun näitä tehtäviä on kertynyt.
Voit kokeilla myös klikata tehtävän vasemmalle puolelle ilmestyvää (vie hiiren sinne) palkkia ja klikkaa sitä, valitsee “Follow reference”, niin siirtyy teoria-tehtävä -sivulle, niin näkyisikö siellä
—IPv4 Route Table
- Windows, macOs ja Linux:
netstat -rn
- Windows myös:
route print
- macOs ja Linux: tutki mitä tekee
route
===========================================================================
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
- Aliverkon maski:
255.255.255.128
av: Tarkistin päivitetty älykkäämmäksi, jätä kommentti, jos tarkistin ei tunnista netstat
tulostettasi oikein
IP osoitteiden reititys reititystaulun perusteella
Reititystaulun avulla selvitetään seuraava reititin, jolle saapuva paketti tulee välittää. Selvittäminen tehdään IP osoitteen, reititystaulussa olevan kohdeverkon ja kohdeverkkoon liittyvän aliverkkomaskin avulla. Seuraavaksi käydään läpi selvitysprosessi, joka tehdään kun IP osoitteen ja reititystaulun perusteella tehdään päätös pakettien välittämisestä.
Olkoon meillä seuraava reititystaulu:
Address/mask Mask in decimal Mask in bits Next hop ------------------------------------------------------------------------------------- 135.46.56.0/22 255.255.252.0 11111111 11111111 11111100 00000000 Reititin 1 135.46.56.0/21 255.255.248.0 11111111 11111111 11111000 00000000 Reititin 2 192.53.40.0/23 255.255.254.0 11111111 11111111 11111110 00000000 Reititin 3 0.0.0.0/0 0.0.0.0 00000000 00000000 00000000 00000000 Reititin 0 -------------------------------------------------------------------------------------
Selvitetään seuraavaksi kuinka IP osoitteelle löydetään Next hop reititin, eli seuraava reititin, jonne paketit välitetään. Otetaan esimerkiksi IP osoite 135.46.63.10 ja selvitetään seuraava reititin reititystaulun informaation perusteella.
Reititystaulusta saadaan IP osoitteen kohdeverkko selville tekemällä AND operaatio IP -osoitteen ja tutkittavan rivin aliverkkomaskin kanssa. Rivit tulee käydä läpi siten, että aloitetaan riveistä, joiden aliverkkomaskissa on eniten ykkösiä ja jatketaan kunnes lopulta testataan vähiten ykkösiä omaavaa maskia (eli default reittiä, jonka osoite ja maski ovat 0.0.0.0).
Jokaisen rivin kohdalla verrataan sitä, onko AND operaation tulos sama kuin ko. rivillä oleva kohdeverkon osoite. Jos on, paketti välitetään ko. rivin tiedon mukaan. Jos ei, niin siirrytään tutkimaan seuraavaa riviä. Vertaaminen voidaan tehdä binäärilukujen XOR-operaatiolla, tai sen negaatiolla XNOR-operaatiolla. Kahden bitin XOR-operaatio on 1, jos bitit ovat eri suuret ja 0 jos bitit ovat yhtäsuuret. Näin ollen, jos XOR operaation ulostulossa on yksikin 1-bitti, eivät binääriluvut olleet samat.
Mitä enemmän aliverkkomaskissa on ykkösiä, sitä tarkempi on reititystaulussa oleva tieto. Huomaa että tutkittavan IP osoitteen AND operaatio tehdään verkon aliverkkomaskin kanssa eikä verkon osoitteen kanssa.
Tutkitaan ensin 23 ykköstä sisältävällä aliverkkomaskilla, eli /23 aliverkkomaskilla, koska siinä on eniten 1-bittejä tarkasteltavassa reititystaulussa.
desimaali binääri
135.46.63.10 10000111 00101110 00111111 00001010
255.255.254.0 11111111 11111111 11111110 00000000 AND
-------------------------------------------------
135.46.62.0 10000111 00101110 00111110 00000000
Tutkitaan yhtäläisyyttä XOR-operaatiolla, ylemmällä rivillä on edellisen kohdan AND operaation tulos ja alemmalla tutkittavan rivin kohdeverkko.
desimaali binääri
135.46.62.0 10000111 00101110 00111110 00000000
192.53.40.0 11000000 00110101 00101000 00000000 XOR
-------------------------------------------------
01000111 00011011 00010110 00000000
XOR-operaation tuloksessa on 1-bittejä, eli tutkittavaa IP osoitetta ei reititetä tarkastellun rivin mukaan. Seuraavaksi tutkitaan /22 aliverkkomaskilla.
desimaali binääri
135.46.63.10 10000111 00101110 00111111 00001010
255.255.252.0 11111111 11111111 11111100 00000000 AND
-------------------------------------------------
135.46.60.0 10000111 00101110 00111100 00000000
Tutkitaan yhtäläisyyttä XOR-operaatiolla, ylemmällä rivillä on edellisen kohdan AND operaation tulos ja alemmalla tutkittavan rivin kohdeverkko.
desimaali binääri
135.46.60.0 10000111 00101110 00111100 00000000
135.46.56.0 10000111 00101110 00111000 00000000 XOR
-------------------------------------------------
00000000 00000000 00000100 00000000
XOR-operaation tuloksessa on yksi 1-bitti, eli tutkittavaa IP osoitetta ei reititetä tarkastellun rivin mukaan. Seuraavaksi tutkitaan /21 aliverkkomaskilla.
desimaali binääri
135.46.63.10 10000111 00101110 00111111 00001010
255.255.248.0 11111111 11111111 11111000 00000000 AND
-------------------------------------------------
135.46.56.0 10000111 00101110 00111000 00000000
Tutkitaan yhtäläisyyttä XOR-operaatiolla, ylemmällä rivillä on edellisen kohdan AND operaation tulos ja alemmalla tutkittavan rivin kohdeverkko.
desimaali binääri
135.46.56.0 10000111 00101110 00111000 00000000
135.46.56.0 10000111 00101110 00111000 00000000 XOR
-------------------------------------------------
00000000 00000000 00000000 00000000
XOR-operaation tuloksessa kaikki bitit ovat nollia, eli tutkittava IP osoite tulee reitittää tarkastellun rivin mukaan. Reititystaulun mukaan tutkittavaan IP osoitteeseen 135.46.63.10 lähetettävät paketit tulee välittää verkkoon 135.46.56.0/21, eli paketit ohjataan Reitittimelle 2.
Huomaa, että oletusreitin tutkiminen edellä kuvatulla menetelmällä johtaa aina siihen että XOR-operaation tuloksessa on kaikki bitit nollia. Se tutkitaan siis viimeisenä, silloin kun mikään muu rivi ei anna tunnettua reittiä. Esimerkin vuoksi alla on esitetty oletusreittirivin tutkiminen, mitä ei siis edellä olleen esimerkin tapauksessa tarvitsisi tutkia.
desimaali binääri
135.46.63.10 10000111 00101110 00111111 00001010
0.0.0.0 00000000 00000000 00000000 00000000 AND
-------------------------------------------------
0.0.0.0 00000000 00000000 00000000 00000000
Tutkitaan yhtäläisyyttä XOR-operaatiolla, ylemmällä rivillä on edellisen kohdan AND operaation tulos ja alemmalla tutkittavan rivin kohdeverkko.
desimaali binääri
0.0.0.0 00000000 00000000 00000000 00000000
0.0.0.0 00000000 00000000 00000000 00000000 XOR
-------------------------------------------------
00000000 00000000 00000000 00000000
Seuraavissa tehtävissä selvitetään mille reitittimelle lähetetään paketit joissa on IP osoite 135.46.57.14. Alla sama reititystaulu, joka esiintyi aiemmin.
Address/mask Mask in decimal Mask in bits Next hop ------------------------------------------------------------------------------------- 135.46.56.0/22 255.255.252.0 11111111 11111111 11111100 00000000 Reititin 1 135.46.56.0/21 255.255.248.0 11111111 11111111 11111000 00000000 Reititin 2 192.53.40.0/23 255.255.254.0 11111111 11111111 11111110 00000000 Reititin 3 0.0.0.0/0 0.0.0.0 00000000 00000000 00000000 00000000 Reititin 0 -------------------------------------------------------------------------------------
Edellisistä XOR-operaatioista kaksi kolmesta antaa tulokseksi sen, että IP osoite 135.46.57.14 pitää reitittää ko. rivin mukaan. Aina kuitenkin valitaan se rivi, jonka aliverkkomaskissa on eniten ykkösiä.
Kinkkinen tehtävänanto. Voisiko tähän kuvailla hieman tarkemmin, mitä halutaan palautettavan vastauskenttään?
—Kun yllä on selvitetty IP osoite binäärimuodossa, niin tähän tehtävään katsotaan sitten reititystaulusta se rivi, jossa on kyseinen IP osoite ja kopioidaan vastaukseksi tähän koko rivi.
Edit: lisäsin kopion taulukosta tehtävän yläpuollelle ja selvensin vielä lisää
—Oikean vastauksen alusta tulee manuaalisesti poistaa välilyönti, muuten tarkastin ei anna pisteitä
av: Hyvä huomio! Lisäsin tarkistimeen, että hyväksyy välin alussa, ennen kuin saan päivitettyä vielä lisää älyä
—Selvitetään seuraavaksi IP osoitteiden 135.46.52.2, 192.53.40.7 ja 192.53.56.7 Next Hop reitittimet aiemmin esitetyn reititystaulun mukaan.
Address/mask Mask in decimal Mask in bits Next hop ------------------------------------------------------------------------------------- 135.46.56.0/22 255.255.252.0 11111111 11111111 11111100 00000000 Reititin 1 135.46.56.0/21 255.255.248.0 11111111 11111111 11111000 00000000 Reititin 2 192.53.40.0/23 255.255.254.0 11111111 11111111 11111110 00000000 Reititin 3 0.0.0.0/0 0.0.0.0 00000000 00000000 00000000 00000000 Reititin 0 -------------------------------------------------------------------------------------
Muodosta alle AND operaatiot tutkittavan IP osoitteen ja reitittimen rivin aliverkkomaskin kanssa, siten että maski on siltä riviltä, jonka mukaan IP osoitteeseen lähetettävät paketit tulee välittää. Voit kokeilla aliverkkomaskeja järjestyksessä, siten että aloitat aliverkkomaskista, jossa on eniten ykkösiä, tai voit suoraan kokeilla oikealla maskilla, jos sen pystyt päättelemään.
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 AND-operaatioN tulosta tarkasteltavan rivin verkko-osoitteeseen
- Reititys bittien vastaavuuden perusteella
- Jos usealla verkko-osoitteella sama määrä, valitaan se jonka maskissa on eniten ykkösiä
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
===========================================================================
IPv4 reitin valinta - kohde samassa verkossa
- 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
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
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
Linkkikerros
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 (virheettömyys) linkillä kahden laitteen välisellä linkillä
- Käytetään harvoin jos linkillä pieni virhetodennäköisyys
- Käytetään esim. langattomilla linkeillä
- Miksi luotettava tiedonsiirto sekä kuljetus että linkkikerroksella?
- Kehystys ja linkille pääsy
- Vuonvalvonta
- Virheiden havaitseminen
- Virheiden korjaaminen
- half-duplex vs. full-duplex
Monipääsylinkit
- Kaksi erilaista 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 linkki, monipääsylinkki, Multiple Access link
- Linkkiä voi käyttää useat laitteet
- Esimerkkejä
- Vanha Paksu Ethernet
- Kytketty Ethernet (yhdistetään keskittimeen - hub)
- WLAN
- Matkapuhelinverkon datayhteys, GSM pakettikytkentäinen GPRS → 4G
- point-to-point (Pisteestä-pisteeseen, kahden laitteen välinen)
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ä
- Kanavan jakaminen
Kanavan jakaminen (x Division Multiple Access)
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
- Esimerkiksi GSM taajuuskanavien varaaminen erikseen ylä- ja alalinkille
- Vastaavasti menee aikajaolle
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 ja miten selvitään törmäyksistä
- Esimerkkejä:
- Ensimmäisiä: (Slotted) Aloha, CSMA
- Ethernet: CSMA/CD
- WLAN: CSMA/CA
Vuorotteluprotokollat
- Kaksi kategoriaa
- Polling:
- Isäntälaite kyselee orjalaitteilta "onko lähetettävää"
- ja jakaa lähetysvuoroja tarpeen mukaan
- Esimerkkejä: Bluetooth
- Isäntälaite kyselee orjalaitteilta "onko lähetettävää"
- Token passing:
- "Lähetyslupa (token)" -viestiä välitetään laitteiden välillä
- Esimerkkejä: Token Ring
- Polling:
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
- FDMA ja TDMA
- 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
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
Verkko- ja linkkikerroksen osoitteista
- Analogia
- MAC osoite: opiskelijanumero
- 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
) - Posti (
IP
) -osoite: Jyväskylän yliopisto (130.234.x.x
), Auditorio 3 (x.x.156.x
), Ari Viinikainen (x.x.x.42
) - Opiskelijanumero (
MAC
): Opiskelijakortti (ARP
) liittää informaation henkilöön (verkkolaitteeseen
)
- MAC osoite ei ole hierarkinen
- osoite voidaan siirtää verkosta toiseen
- IP osoite on hierarkinen
- osoitetta ei voida siirtää verkosta toiseen
ARP (Address Resolution Protocol)
Who has 130.234.169.82?
Tell 130.234.169.1
- Saadaan linkkikerroksen pakettiin osoite, jolla tunnistetaan vastaanottaja
- Analogia: posti tuo kirjeen:
- Posti tuo kirjeen yliopistolle: Finland, University of Jyväskylä (vertaa IP verkko-osa)
- YO:n sisäinen posti Agoraan: AgC334.4 (IP laiteosa jaettu aliverkkoihin)
- Agoran virastomestarit kolmanteen kerrokseen: AgC334.4 (IP laiteosa jaettu aliverkkoihin)
- Agoran virastomestarit: Viinikainen Ari (IP laiteosa jaettu aliverkkoihin, jossa laite)
- Agoran virastomestarit: Selvittää opiskelijanumeron, jollakin menetelmällä
- Agoran virastomestarit: Laittaa kirjeen postilaatikkoon, joka merkattu opiskelijanumerolla
- Minä tarkistan että opiskelijanumero ja osoitetiedot on oikein, ennen kuin avaan kirjeen
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.