Tietoliikenteen perusteet. Vähän kertausta

Samankaltaiset tiedostot
Tietoliikenteen perusteet. Vähän kertausta

R R R RR. Kaikkien. pakettien. siirto yhden linkin yli. always on. Viimeisen siirto muiden linkkien yli. Sovellus: Kuljetus: Verkko: Linkki:

R R R RR. Kaikkien. pakettien. siirto yhden linkin yli. always on. Viimeisen siirto muiden linkkien yli. Sovellus: Kuljetus: Verkko: Linkki:

Tietoliikenteen perusteet. Vähän kertausta. Tietoliikenteen perusteet /2009/ Liisa Marttinen 1

Tietoliikenteen perusteet. Vähän kertausta. Tietoliikenteen perusteet /2007/ Liisa Marttinen 1

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

OSI ja Protokollapino

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

Tietoliikenteen perusteet. Verkkokerros

Kertausta: termejä ja käsitteitä

Tietoliikenteen perusteet. Verkkokerros

TIETOLIIKENTEEN PERUSTEET kevät 2009

Tietoliikenteen perusteet. Langaton linkki. Kurose, Ross: Ch 6.1, 6.2, 6.3. (ei: 6.2.1, ja 6.3.5)

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Langaton linkki. Langaton verkko. Tietoliikenteen perusteet. Sisältö. Linkkikerros. Langattoman verkon komponentit. Langattoman linkin ominaisuuksia

Tietoliikenteen perusteet. Verkkokerros

Tietoliikenteen perusteet. Langaton linkki. Kurose, Ross: Ch 6.1, 6.2, 6.3. (ei: 6.2.1, ja 6.3.5)

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

Tietoliikenne II (2 ov)

Luento 5: Kuljetuskerros

Tietoliikenteen perusteet

Tietoliikenteen perusteet

Tietoliikenne II (2 ov)

Tietoliikenteen perusteet. Kuljetuskerros

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

ELEC-C7241 Tietokoneverkot Kuljetuskerros

Tietoliikenteen perusteet. Kuljetuskerros

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

3. IP-kerroksen muita protokollia ja

kynnysarvo (threshold)

Luento 5: Kuljetuskerros luotettavan tiedonsiirron periaatteet. Syksy 2014, Tiina Niklander

kynnysarvo (threshold)

Tietoliikenteen perusteet. Kuljetuskerros

Verkkokerroksen palvelut. 4. Verkkokerros. Virtuaalipiiri (virtual circuit) connection-oriented ~ connectionless. tavoitteet.

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

Tietoliikenteen perusteet. Kuljetuskerros

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

ITKP104 Tietoverkot - Teoria 3

3. Kuljetuskerros 3.1.

Tietoliikenteen perusteet. Kuljetuskerros

Sovellusarkkitehtuuri. Kertausta: termejä ja käsitteitä. Internet-protokollapino. Kertaus jatkuu: Kapselointi

Luento 14: Kertausta. Syksy 2014, Tiina Niklander

Tietoliikenteen perusteet. Kuljetuskerros

Kuljetuspalvelu. Tietoliikenteen perusteet. Sisältöä. Kuljetuskerros. Kuljetuskerros. Kuljetuskerros. Internetin kuljetusprotokollat

Miten selain muodostaa TCP- tai UDP-yhteyden? TCP-osoite = IP-osoite + porttinumero ( tässä 80) SOCKET BIND (80) LISTEN ACCEPT. Connection Request

Kuljetuspalvelu. Tietoliikenteen perusteet. Sisältöä. Kuljetuskerros. Kuljetuskerros. Kuljetuskerros. Internetin kuljetusprotokollat

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Tietoliikenteen perusteet: Kokeeseen tulevista asioista

Chapter 4 Network Layer

Tietoliikenteen perusteet. Linkkikerros

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta. Syksy 2014, Tiina Niklander Kurose&Ross: Ch3

Luento 7: Verkkokerros verkkokerroksen tehtävät, IP-protokolla, reititin. Syksy 2014, Tiina Niklander

Chapter 3 Transport Layer. Kuljetuskerros

Miten Internet toimii?

Eetteriverkon rakenne

CSMA/CD. Eetteriverkon rakenne. Signaalin koodaus. Törmäyksen jälkeinen uudelleenlähetys. Lyhyet etäisyydet, pieni määrä laitteita. Manchester-koodaus

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

Miten selain muodostaa TCP- tai UDP-yhteyden? TCP-osoite = IP-osoite + porttinumero ( tässä 80) SOCKET BIND (80) LISTEN ACCEPT. Connection Request

Tietoliikenteen perusteet. Langaton linkki. Kurose, Ross: Ch 6.1, 6.2, 6.3. (ei: 6.2.1, ja 6.3.5) Tietoliikenteen perusteet /2010 1

Asiakkaan toimenpiteet

Luento 7: Verkkokerros

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

Eetteriverkon rakenne

11/20/ Siirron optimointi

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

Luento 11: Tietoturvasta ja kertausta

Tietoliikenteen perusteet

Tietoliikenteen perusteet. Linkkikerros

Tietoliikenteen perusteet. Langaton linkki. Kurose, Ross: Ch 6.1, 6.2, 6.3. (ei: 6.2.1, ja 6.3.5) Tietoliikenteen perusteet /2011 1

Monimutkaisempi stop and wait -protokolla

WWW-sivu. Miten Internet toimii? World Wide Web. HTML-koodi. HTTP-istunto URL <#>

Luento 8: Verkkokerros

Verkkoinformaation välittämiseen isäntäkoneiden ja reitittimien välillä

Verkkokerroksen palvelut

Jos A:lla ei ole tietoa ARP-taulussaan, niin A lähettää ARP-kysely yleislähetyksenä

Tietoliikenteen perusteet

Internet Protocol version 6. IPv6

itää saada selville P-osoitetta vastaava erkko-osoite. leislähetyksenä ysely: Kenen IPsoite. IP-paketissa on vain vastaanottajan

Kun n = 32 ei ole tarpeeksi nopea nykyisiin runkoreitittimiin! - content addressable memory (CAM) - välimuistin käyttö

001.. Kun n = 32 ei ole tarpeeksi nopea nykyisiin runkoreitittimiin! - content addressable memory (CAM) - välimuistin käyttö

Luento 11: Tietoturvasta ja kertausta

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome. Esimerkki jatkuu

Esimerkki jatkuu. <seq = 6, data = m6> <ack = 4, buf = 0> <ack = 4, buf = 1> <ack = 4, buf = 2> <ack = 6, buf = 0> <ack = 6, buf = 4> 1/31/

Miten Internet toimii?

TCP/IP-protokollapino. Verkkokerros ja Internetprotokolla. Sisältö. Viime luennolla. Matti Siekkinen

Tietoliikenne II Kurssikoe

Tietoliikenteen perusteet

4.1 Verkkokerros toimittaa

Tietoliikenteen perusteet

4.1 Verkkokerros toimittaa. 4. Verkkokerros. Datasähke virtuaalipiiri. connection-oriented connectionless. Virtuaalipiiri = yhteydellinen palvelu

Turvallisuus verkkokerroksella

Turvallisuus verkkokerroksella

AH-otsake. Turvallisuus verkkokerroksella. AH-otsake. AH-otsake. ESP-otsake. IP-otsake

Ikkunankoko. Kun käytetty numeroavaruus on 0, 1,.. n ja eri numeroita siis käytettävissä n+1

Linkkikerroksen tehtävät

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Transkriptio:

Tietoliikenteen perusteet Vähän kertausta Tietoliikenteen perusteet /2009/ Liisa Marttinen 1 Internet = verkkojen verkko (löyhää hierarkiaa) Internet-palvelun tarjoaja Lähiverkkoja (LAN, Local Area Network) yhdistetty reitittimien välityksellä Tietoliikenteen perusteet /2009/ Liisa Marttinen 2 1

Asiakas-palvelija-malli /vertaistoimijamalli asiakasprosessi www-selain palvelijaprosessi www-palvelija pyyntö always on verkko vastaus sanomien reititys verkossa Oikea kone, oikea prosessi Tietoliikenteen perusteet /2009/ Liisa Marttinen 3 Pakettivälitys siirto-aika Olkoon siirtoaika a: a) ka+(n-1)a = (k+n-1)a b) na +(k-1)a = (n+k-1)a linkki1 linkki 2 linkki 3 R R R RR Kaikkien pakettien siirto yhden linkin yli Viimeisen siirto muiden linkkien yli Paketti 1 Paketti 2 Paketti 3 Paketti 4 Paketti 5 Paketti 1 Paketti 2 Paketti 3 Paketti 4 Paketti 5 Paketti 1 Paketti 2 Paketti 3 Paketti 4 Paketti 5 Yhden paketin siirto n linkin yli Muiden pakettien siirtoaika Sanoman siirtoaika, kun sanomassa on k pakettia ja linkkejä on n kappaletta a) k:n paketin siirto 1. linkin yli + viimeisen paketin siirto n-1 linkin yli. b) 1. paketin siirto n:n linkin yli + muiden k-1 paketin siirto yhden linkin li Animaatio: http://wps.aw.com/aw_kurose 4/63/16303/4173750.cw/index.html Tietoliikenteen perusteet /2009/ Liisa Marttinen 4 2

Internet-protokollapino Protocol Data Unit (PDU): Käyttöjärjestelmä laitteisto 5 4 3 2 1 Sovelluskerros (Application) Kuljetuskerros (Transport) Verkkokerros (Network) Linkkikerros (Link) Fyysinen kerros (Physical) sanoma segmentti datagrammi = paketti kehys bittivuo Tietoliikenteen perusteet /2009/ Liisa Marttinen 5 Kapselointi Sovellus: Kuljetus: Verkko: Linkki: sanoma H3 sanoma H2 H3 sanoma H1 H2 H3 sano H1 H2 ma Fyysinen: 0101110 01 Sovellus: Kuljetus: Verkko: Linkki: sanoma H3 sanoma H2 H3 sanoma H1 H2 H3 sano H1 H2 ma Fyysinen: 0101110 01 Verkko: H2 H3 sanoma Linkki: H1 H2 H3 sano Linkki: H1 H2 H3 sano H1 H2 ma H1 H2 ma Fyysinen: 0101110 01 Fyysinen: 0101110 01 Reititin Linkkitason kytkin Tietoliikenteen perusteet /2009/ Liisa Marttinen 6 3

HTTP (HyperText Transfer Protocol) GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-Agent: Mozilla/4.0 Connection: close Accept-language: fr PC, jossa on Explorer-selain WWW:N sovellusprotokolla Tekstimuotoiset sanomat pyyntö vastaus Asiakas Selain: FireFox, Internet Explorer, Opera, Apple Safari, pyytää, noutaa ja näyttää objektit Palvelija etsii objektin (tiedoston) koneen hakemistosta ja lähettää sen vastauksena asiakkaalle Tilaton protokolla Palvelija ei muista mitään edellisistä pyynnöistä => evästeet (cookies) Palvelin, jossa on Apache-wwwpalvelija HTTP/1.1 200 OK Connection: close Date: Thu, 22 Feb 2007 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 29 Jan 2007 09:23:24 GMT Content-Length: 6821 Content-Type: text/html data data data data data HTTP Request Linux-kone, jossa on Firefox-selain HTTP Response HTTP Response HTTP Request Tietoliikenteen perusteet /2009/ Liisa Marttinen 7 origin servers public Internet www.herkkutalo.com HTTP/1.1 304 Not Modified Date: Thu, 14 Jul 2007 15:39.29 GET /fruit/kiwi.gif HTTP/1.1 Host: www.herkkutalo.com institutional 10 Mbps LAN 1.5 Mbps access link institutional cache GET /fruit/kiwi.gif HTTP/1.1 Host: www.herkkutalo.com If-modified-since: Wed, 4 Jul 2007 09:23:24 Tietoliikenteen perusteet /2009/ Liisa Marttinen 8 4

Sähköpostin komponentit User agent Push-protokolla yhteydellinen User agent Mail server SMTP Mail server User agent User agent SMTP SMTP User agent Mail server Lähtevien sanomien jono User agent postilaatikot Tietoliikenteen perusteet /2009/ Liisa Marttinen 9 Hajautettu, hierarkinen tietokanta Root DNS Servers com DNS servers org DNS servers edu DNS servers yahoo.com DNS servers amazon.com DNS servers pbs.org DNS servers poly.edu DNS servers umass.edu DNS servers 13 juuritason nimipalvelija Replikoituja, kaikilla samat tiedot KuRo05: Fig 2.18 Ylätason palvelimet maa- ja yleistunnuksille (n. 265 kpl), fi, fr, uk, edu, net, com, org, Autorisoidut aluepalvelimet (domain) (2-taso) www.iana.org Isoilla yliopistoilla ja firmoilla omansa, pienet käyttävät jonkun muun ylläpitämää Tietoliikenteen perusteet /2009/ Liisa Marttinen 10 5

Skaalautuvuus KuRo08: Fig. 2.24 Asiakas-palvelinmalli: Palvelimen siirrettävä n*f bittiä => siirtoaika = nf/u s. Hitain asiakas d min saa tiedoston ajassa F/ d min Siirtoaika = max(nf/u s, F/ d min ) FileF Server u s u n, d n... u 1, d 1 Internet u 6,d 6 u 2,d 2 u 5,d 5 u 3,d 3 u 4,d 4 Kun n kasvaa, palvelimen kuorma kasvaa ja siirtoaika kasvaa. aika Vertaistoimijamalli (alussa tiedosto on palvelimella) Siirtoaika = max (F/u s, F/ d min, nf/(u s +E u i )) Summamerkki 0 10 20 30 Tietoliikenteen perusteet /2009/ Liisa Marttinen 11 n Pistoke (socket) Kuljetuspalvelun ja sitä käyttävän sovelluksen rajapinta isäntäkoneessa Sovelluksen tietoliikenne = KJ:n palvelupyyntöjä Pistoke on palveluluukku Alunperin Berkeley UNIXin (BSD) mukana process socket with buffers, variables host or server internet process socket with buffers, variables host or server Sovellusohjelmoija Käyttöjärjestelmä Sovellusohjelmoija Käyttöjärjestelmä KuRo08: Fig 2.26 Tietoliikenteen perusteet /2009/ Liisa Marttinen 12 6

UDP: Tarkistussumma Lähetys Summaa 16 bitin kokonaisuudet (otsake + pseudo-otsake mukana), ylivuotobitit lasketaan mukaan, talleta yhden komplementtina Vastaanotto Summaa 16 b kokonaisuudet (myös tarkistussumma). Jos tuloksena on 16 ykköstä, niin OK! 32 bittiä Source port # Dest. Port # Length Checksum Application data (message) UDP-otsake 0=> 1 1=> 0 Checksum 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Tietoliikenteen perusteet /2009/ Liisa Marttinen 13 rdt3.0 rdt_rcv(rcvpkt) Λ Wait for call 0from above rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt,1) stop_timer timeout udt_send(sndpkt) start_timer rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isack(rcvpkt,0) ) Λ rdt_send(data) sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt) start_timer Wait for ACK1 Sender Wait for ACK0 Wait for call 1 from above rdt_send(data) sndpkt = make_pkt(1, data, checksum) udt_send(sndpkt) start_timer rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isack(rcvpkt,1) ) Λ timeout udt_send(sndpkt) start_timer rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt,0) stop_timer rdt_rcv(rcvpkt) Λ KuRo08: Fig 3.15 Tietoliikenteen perusteet /2009/ Liisa Marttinen 14 7

Liukuhihnoitus: käyttöasteen kasvattaminen sender first packet bit transmitted, t = 0 last bit transmitted, t = L / R receiver KuRo05: Fig 3.18 RTT ACK arrives, send next packet, t = RTT + L / R first packet bit arrives last packet bit arrives, send ACK last bit of 2 nd packet arrives, send ACK last bit of 3 rd packet arrives, send ACK U sender = 3 * L / R RTT + L / R =.024 30.008 Increase utilization = 0.0008 microsecon by a factor of 3! Tietoliikenteen perusteet /2009/ Liisa Marttinen 15 Go-Back-N: Esimerkki Ikkunankoko = 4 KuRo08: Fig 3.22 Tietoliikenteen perusteet /2009/ Liisa Marttinen 16 8

: prosessilta prosessille -tavuvirta user proc Sovelluskerros tavuvirta user proc Kuljetuskerros segmentti -datasähke T C P Verkkokerros Tietoliikenteen perusteet /2009/ Liisa Marttinen 17 : Luotettava, järjestyksen säilyttävä tavuvirta Ei sanomarajoja Tavunumerointi Checksum-tarkistus Puskurointi uudelleenlähetystä varten Kumulatiiviset kuittaukset Yhteydellinen Kolminkertainen kättely, yhteyden purku Vuonvalvonta, ruuhkanhallinta (-valvonta) Lähettäjä ei saa tukahduttaa vastaanottajaa eikä reitittimiä Vuonvalvonta: Receive window Ruuhkanhallinta Tietoliikenteen perusteet /2009/ Liisa Marttinen 18 9

Yhteyden muodostus syn-sgmentti on yhden tavun kokoinen! syn-hyökkäys! 3.39 Tietoliikenteen perusteet /2009/ Liisa Marttinen 19 Reno: Hidas aloitus (slow start) ruuhkanvälttely (congestion avoidance) Aluksi ruuhkaikkuna = yksi segmentti Alussa hidas siirtonopeus= MSS/RTT Kukin kuittaus kasvattaa yhdellä ruuhkaikkunan kokoa hidas aloitus Eksponentiaalinen kasvu Ikkuna kaksinkertaistuu yhden RTT:n aikana Jos uudelleenlähetys, puolita ruuhkaikkunan koko Multiplicative decrease Sen jälkeen kasvata ikkunaa yksi segmentti/rtt ruuhkanvälttely Lineaarinen kasvu (Additive increase) Ruuhkan välttely (congestion avoidance) Siirtonopeus = CognWin / RTT tavua/sek RTT Host A ja Host B one segment two segments four segments time Tietoliikenteen perusteet /2009/ Liisa Marttinen 20 10

Tahoe vs. Reno Jos 3 toistokuittausta KuRo08: Fig 3.53 Ruuhkan välttely Kynnysarvo puoleen siitä missä oltiin Hidas aloitus Jos ajastin laukeaa Tietoliikenteen perusteet /2009/ Liisa Marttinen 21 Verkkokerros Toimittaa kuljetuskerroksen segmentit vastaanottajalle Lähettäjä luo segmenteistä verkkokerroksen -paketteja application transport data link physical Lisää otsaketietoja: mm. -osoitteet Reitittäminen Isäntä reititin... reititin isäntä Vastaanotto Poista otsake Anna segmentti kuljetuskerrokselle Verkkokerros toimii etenkin reitityksessä Reititin tutkii -paketin otsakkeen ja päättää, data link physical data link physical data link physical data link physical data link physical data link physical data link physical data link physical application transport data link physical mihin linkkiin se lähetetään seuraavaksi KuRo08: Fig 4.1 Tietoliikenteen perusteet /2009/ Liisa Marttinen 22 11

Reitittimen arkkitehtuuri Kaksi tehtävää Välitä paketteja tulolinkeistä ulosmenolinkkeihin Suorita reititysalgoritmia / -protokollaa Portti ~verkkokortti Useita portteja niputettu yhteen linjakorteiksi (line card) KuRo08:Fig 4.6 Tietoliikenteen perusteet /2009/ Liisa Marttinen 23 -paketin rakenne (v4) Tietoliikenteen perusteet /2009/ Liisa Marttinen 24 12

-pakettien paloittelu (fragmentointi) Maximum transfer Unit (MTU) suurin mahdollinen -paketti eri linkeillä eri koko Esim. Ethernet 1500 B Liian iso paketti pilkottava reitittimessä pienemmiksi paketeiksi (fragmenteiksi), jotka kohdekone kokoaa voivat kukin kulkea eri reittiä reassembly fragmentation: in: one large datagram out: 3 smaller datagrams -otsakkeessa kentät yhteenkuuluvien fragmenttien tunnistamiseksi ja kokoamiseksi KuRo08: Fig 4.14 Tietoliikenteen perusteet /2009/ Liisa Marttinen 25 Esimerkki lengthid =4000 =x fragflag =0 offset =0 4000 tavun -paketti: dataa 3980 B MTU 1500 B 1480 B dataa 20 B -otsaketta offset = 1480/8 Yhdestä -paketista tulee 3 pienempää -pakettia length =1500 length =1500 length =1040 ID =x ID =x ID =x fragflag =1 fragflag =1 fragflag =0 offset =0 offset =185 offset =370 0 1480 2860 1. Pala: 1480 tavua 2. Pala: 1480 tavua 3. Pala: 1020 tavua Tietoliikenteen perusteet /2009/ Liisa Marttinen 26 13

CIDR: Classless InterDomain Routing Verkko-osa voi olla minkä tahansa kokoinen Vanha luokallinen osoite: A-luokka 8 b, B-luokka 16 b,c-luokka 24 b Formaatti: a.b.c.d/x x ilmoittaa verkko-osan bittienlukumäärän (prefix) Esim. Organisaatio, jolla 2000 konetta varaa 2024 = 2 11 konenumeroa, jolloin verkko-osaa varten jää 21 bittiä Yritys voi vielä itse jakaa viimeiset 11 bittiä aliverkko-osoitteeksi ja koneosoitteeksi. Tämä jako ei näy ulkopuolelle. Verkko (prefix) 11001000 00010111 00010000 00000000 200.23.16.0/21 Kone aliverkko: 200.23.a.b/25 Tietoliikenteen perusteet /2009/ Liisa Marttinen 27 Hierarkkinen osoite CIDR luo reititystä helpottavan hierarkian Aggregointi (yhdistäminen): yhteinen alkuosa => samaan suuntaan Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7 200.23.30.0/23 KuRo08: Fig 4.19.... Fly-By-Night-ISP ISPs-R-Us Send me anything with addresses beginning 200.23.16.0/20 Send me anything with addresses beginning 199.31.0.0/16 Internet Tietoliikenteen perusteet /2009/ Liisa Marttinen 28 14

2: NAT vaihtaa lähdeosoitteksi 138.76.29.7, ja portiksi 5001, päivittää taulun 2 NAT: Esimerkki NAT-muunnostaulu WAN-osoite LAN-osoite 138.76.29.7, 10.0.0.1, 5001 3345 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 1 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 10.0.0.4 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 1: kone 10.0.0.1 lähettää paketin 128.119.40.186, 80 4 10.0.0.1 10.0.0.2 10.0.0.3 3: Vastaus NAT-koneelle: 138.76.29.7, 5001 4: NAT vaihtaa kohdeosoitteeksi 10.0.0.1 ja portiksi 3345 Tietoliikenteen perusteet /2009/ Liisa Marttinen 29 Reititysalgoritmi Etsii edullisimmat reitit lähdekoneelta kohdekoneille Käytetään reititystaulun muodostamiseen - Mille linkille paketti seuraavaksi siirretään tältä reitittimeltä Reititysalgoritmi, joka tarvitsee täydellisen tiedon verkosta Ennen laskentaa käytössä koko kuva verkosta: - Kaikki linkkiyhteydet solmujen välillä ja niiden kustannukset - Käytännössä vain tietystä autonomisesta alueesta Parhaat reitit lasketaan joko keskitetysti tai hajautetusti Linkkitila-algoritmi (link-state algorithm) Reititysalgoritmi, jolle riittää epätäydellinen kuva verkosta Aluksi reititin tietää vain niistä koneista, joihin itse on yhdistetty Iteratiivinen algoritmi: reititin vaihtaa tietoja naapuriensa kanssa ja saa tietoa muusta verkosta Etäisyysvektorialgoritmi (distance vector algorithm) Tietoliikenteen perusteet /2009/ Liisa Marttinen 30 15

Dijkstran algoritmi 1 Initialization: 2 N' = {u} 3 for all nodes v 4 if v adjacent to u 5 then D(v) = c(u,v) 6 else D(v) = 7 8 Loop D(v)=2, D(w) = 5, D(x)=1 D(y) =, D(z)= 9 find w not in N' such that D(w) is a minimum 10 add w to N' 11 update D(v) for all v adjacent to w and not in N' : 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N' u 1 2 5 v x 2 3 1 3 w y 1 5 2 z Tietoliikenteen perusteet /2009/ Liisa Marttinen 31 u 1 Z 2 Etäisyysvektorireititys: Esimerkki 1 5 v x 2 3 1 3 Kohde kust. linkki 4 X:ään w y 1 5 2 z Jos on jo saatu selville (= naapurit kertoneet), että D v (z) = 5, D x (z) = 3, D w (z) = 3 D u (z) = min { c(u,v) + d v (z), c(u,x) + d x (z), c(u,w) + d w (z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 Kun paketti on matkalla solmusta u solmuun z, se tulee seuraavaksi lähettää solmuun x, joka tuotti tuon minimin => talleta tieto omaan etäisyysvektoriin (= reititystauluun) Tietoliikenteen perusteet /2009/ Liisa Marttinen 32 16

Huono uutinen etenee hitaasti! A B C D E Linkki AB katkeaa => etäisyys äärettömäksi Joka vaihdossa 'paras arvio' huononee vain yhdellä = reitityssilmukka Count-to-infinity - ongelma D B (A) D c (A) D D (A) D E (A) ääretön 2 3 4 3 2 3 4 3 4 3 4 5 4 5 4 5 6 5 6 7 6 7 6 7 8 7 8 jne Etäisyys A:han Tietoliikenteen perusteet /2009/ Liisa Marttinen 33 Laitetoimintoa Linkkikerros Siirtää paketin fyysistä linkkiä pitkin koneelta (solmulta (node)) toiselle langallinen / langaton bitit sisään, bitit ulos Kapseloi paketin siirtoon sopivaan muotoon Siirtokehys (frame) Lähiverkossa linkkejä voi yhdistää keskittimillä tai kytkimillä Käytetään fyysisiä osoitteita 'reititystä' ilman -osoitteita Tietoliikenteen perusteet /2009/ Liisa Marttinen 34 17

CRC-esimerkki Data: 101110 G: 1001, polynomina 1*x 3 + 0*x 2 + 0*x 1 +1*x 0 <D,R>: 101110??? Lähetä: 101110011 Modulo 2-aritmetiikka vähennyslasku yhteenlaskuja ei lainaamista, ei muistinumeroita = bittitason XOR 1+1 =0, 1+0 = 0+1 = 1, 0+0=0 KuRo08:Fig 5.8 Tietoliikenteen perusteet /2009/ Liisa Marttinen 35 MAC-osoitteet ja ARP-taulu, ARPprotokolla -osoite MAC-osoite TTL 222.222.222.220 1A-23-F9-CD-06-9B 13:24:00 222.222.222.223 5C-66-AB-90-75-B1 13:52:00 Tietoliikenteen perusteet /2009/ Liisa Marttinen 36 18

Sovellusprotokolla /reititys Sovelluskerros Kuljetuskerros /UDP Verkkokerros reititys reititys Linkkikerros LAN runkoverkko WLAN Tietoliikenteen perusteet /2009/ Liisa Marttinen 37 Ethernet kehys Tahdistuskuvio (preample) (8 B) 7 tavussa 10101010 kellojen tahdistusta varten 8. tavu 10101011 kertoo varsinaisen kehyksen alkavan Kohteen ja lähteen MAC-osoitteet (6 + 6 B) Type (2 B) verkkoprotokolla, jolle vastaanottaja luovuttaa kehyksen datan, ARP, jokin muu esim, Apple Talk, Novell X,.. Data (46... 1500 B) Ethernet MTU = 1500 B CRC (4 B) tarkistusbitit, tahdistuskuvio mukana laskennassa Tietoliikenteen perusteet /2009/ Liisa Marttinen 38 19

CSMA/CD (with Collision Detection) Asema kuuntelee myös lähettämisen jälkeen Langallinen LAN: signaalin voimakkuus muuttuu - Esim. Ethernet Langaton LAN: hankalaa Jos törmäys Niin keskeytä heti lähettäminen ja yritä uudestaan satunnaisen ajan kuluttua Näin törmäyksen aiheuttama hukka-aika pienenee Kauanko kuunneltava? 2* maksimi etenemisviive solmujen välillä törmäyssignaali A A ei saa lopettaa ennenkuin törmäyssignaali olisi ehtinyt tulla! B Tietoliikenteen perusteet /2009/ Liisa Marttinen 39 LAN, verkkosegmentit KuRo08: Fig 5.29 to external Takaperin oppiminen 10BaseT hub router 100 Mbps 100 Mbps 100 Mbps switch 10BaseT hub mail server web server subnet 10BaseT hub Electrical Engineering Computer Science System Engineering Tietoliikenteen perusteet /2009/ Liisa Marttinen 40 20

802.11: CSMA/CA KuRo08: Fig 6.10 Lähetys 1. Jos kanava vapaa Kuuntele DIFS aikayksikköä Lähetä kehys kokonaan 2. Jos kanava varattu Käynnistä peruutuslaskuri (backoff) random(max), jota vähennetään vain kun kanava on vapaa, Lähetä, kun laskuri nollassa Jos ei tule kuittausta, niin yritä uudestaan max = 2*max Vastaanotto Jos kehys OK Odota SIFS aikayksikköä Lähetä ACK (linkkikerroksen ACK) Distributed inter farme spacing Short interframe spacing Tietoliikenteen perusteet /2009/ Liisa Marttinen 41 Tietoliikenteen perusteet /2009/ Liisa Marttinen 42 21

Hajautettu DoS-hyökkäys (DDoS) Hyökkääjä ottaa ensin haltuun ison joukon koneita niiden omistajien huomaamatta Koputtelee ja löytää turva-aukot Asentaa hyökkäysohjelman, joka vain odottelee käskyä /kellolyömää Kaapatut koneet aloittavat samaan aikaan hyökkäyksen uhrin kimppuun Hajautetusti -osoitteet peukaloituina Tietoliikenteen perusteet /2009/ Liisa Marttinen 43 Palomuuri (firewall) Ohjelmisto + laitteisto Suodattaa (filteroi) liikennettä organisaation oman verkon (intranet) ja julkisen Interbetin välillä Osa -paketeista pääsee palomuurin läpi, osa ei administered public Internet KuRo05: Fig 8.23 firewall Tietoliikenteen perusteet /2009/ Liisa Marttinen 44 22

Sovellus (HTTP, SMTP) Request Reply Sovellus (HTTP, SMTP) Internet Tietoliikenteen perusteet /2009/ Liisa Marttinen 45 Sovellus (HTTP, SMTP) puskurit Request Reply.. SYN =1.. Sovellus (HTTP, SMTP) puskurit..fin = 1.. -otsake request???? -otsake request Internet Tietoliikenteen perusteet /2009/ Liisa Marttinen 46 23

Kone A Sovellus (HTTP, SMTP) Reply Request.. SYN =1.. Kone B Sovellus (HTTP, SMTP)..FIN = 1.. -otsake request Verkkopalvelu: - -protokolla, -osoitteet - reititys Tietoliikenteen perusteet /2009/ Liisa Marttinen 47 Kone A Sovellus (HTTP, SMTP) Reply Request.. SYN =1.. Kone B Sovellus (HTTP, SMTP)..FIN = 1.. re q Linkkikerroksen req req palvelut linkkikerros linkkikerros Tietoliikenteen perusteet /2009/ Liisa Marttinen 48 24

Kone A Sovellus (HTTP, SMTP) Reply Request.. SYN =1.. Kone B Sovellus (HTTP, SMTP)..FIN = 1.. req PPP req linkkikerros linkkikerros PPP req Tietoliikenteen perusteet /2009/ Liisa Marttinen 49 Tietoliikenteen perusteet Siinäpä se! Tietoliikenteen perusteet /2009/ Liisa Marttinen 50 25