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

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:

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:

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

OSI ja Protokollapino

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

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

Tietoliikenteen perusteet. Verkkokerros

Tietoliikenteen perusteet. Verkkokerros

TIETOLIIKENTEEN PERUSTEET kevät 2009

Kertausta: termejä ja käsitteitä

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

Tietoliikenteen perusteet. Verkkokerros

Tietoliikenne II (2 ov)

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

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

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

Tietoliikenteen perusteet

Tietoliikenne II (2 ov)

ELEC-C7241 Tietokoneverkot Kuljetuskerros

Luento 5: Kuljetuskerros

Tietoliikenteen perusteet

Tietoliikenteen perusteet. Kuljetuskerros

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

3. IP-kerroksen muita protokollia ja

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

Tietoliikenteen perusteet. Kuljetuskerros

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

kynnysarvo (threshold)

kynnysarvo (threshold)

Tietoliikenteen perusteet. Kuljetuskerros

ITKP104 Tietoverkot - Teoria 3

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

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

Tietoliikenteen perusteet. Kuljetuskerros

3. Kuljetuskerros 3.1.

Tietoliikenteen perusteet. Kuljetuskerros

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

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

Tietoliikenteen perusteet. Kuljetuskerros

Luento 14: Kertausta. Syksy 2014, Tiina Niklander

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

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

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

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

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

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

Chapter 4 Network Layer

Tietoliikenteen perusteet: Kokeeseen tulevista asioista

Chapter 3 Transport Layer. Kuljetuskerros

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

Miten Internet toimii?

Tietoliikenteen perusteet. Linkkikerros

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

11/20/ Siirron optimointi

Luento 7: Verkkokerros

Eetteriverkon rakenne

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

Internet Protocol version 6. IPv6

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome

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

Eetteriverkon rakenne

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

Luento 11: Tietoturvasta ja kertausta

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

Tietoliikenteen perusteet

Turvallisuus verkkokerroksella

Turvallisuus verkkokerroksella

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

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

Asiakkaan toimenpiteet

Tietoliikenteen perusteet. Linkkikerros

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

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ö

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

Monimutkaisempi stop and wait -protokolla

Luento 8: Verkkokerros

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/

4.1 Verkkokerros toimittaa

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

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

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

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

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

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

Miten Internet toimii?

Tietoliikenne II Kurssikoe

Miten Internet toimii. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2013

4. Verkkokerros. sovelluskerros. kuljetuskerros. verkkokerros. siirtoyhteyskerros peruskerros. asiakas. end-to-end

Tietoliikenteen perusteet

Miksi? Miksi? Kaksisuuntainen liikenne TCP-protokolla. Ikkunankoko. Valikoiva toisto: ikkuna 5, numeroavaruus 8

Verkkokerroksen palvelut

Luento 11: Tietoturvasta ja kertausta

Kuljetuskerroksen protokollat. Luotettava vai epäluotettava? Kuljetuskerroksen tarkoitus. Tietosähkeen kapselointi. Portit ja (de)multipleksaus

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

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_network_4/63/16303/4173750.cw/index.html Tietoliikenteen perusteet /2009/ Liisa Marttinen 4

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 Reititin Fyysinen: 0101110 01 Linkkitason kytkin Tietoliikenteen perusteet /2009/ Liisa Marttinen 6

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 network 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

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 Ylätason palvelimet maa- ja yleistunnuksille (n. 265 kpl), fi, fr, uk, edu, net, com, org, KuRo05: Fig 2.18 www.iana.org Autorisoidut aluepalvelimet (domain) (2-taso) Isoilla yliopistoilla ja firmoilla omansa, pienet käyttävät jonkun muun ylläpitämää Tietoliikenteen perusteet /2009/ Liisa Marttinen 10

Skaalautuvuus KuRo08: Fig. 2.24 Asiakas-palvelinmalli: Server u 1, d 1 u 2,d 2 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 ) File F u s u n, d n... Internet u 6,d 6 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 TCP with buffers, variables internet process socket TCP with buffers, variables Sovellusohjelmoija Käyttöjärjestelmä Sovellusohjelmoija Käyttöjärjestelmä host or server host or server KuRo08: Fig 2.26 Tietoliikenteen perusteet /2009/ Liisa Marttinen 12

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 rdt_send(data) Wait for ACK0 Wait for call 1 from above 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

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 Increase utilization U sender = 3 * L / R RTT + L / R =.024 30.008 = 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

TCP: prosessilta prosessille -tavuvirta user proc Sovelluskerros tavuvirta user proc Kuljetuskerros TCP segmentti TCP TCP TCP TCP IP-datasähke IP IP T C P IP Verkkokerros Tietoliikenteen perusteet /2009/ Liisa Marttinen 17

TCP: 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

Yhteyden muodostus syn-sgmentti on yhden tavun kokoinen! syn-hyökkäys! 3.39 Tietoliikenteen perusteet /2009/ Liisa Marttinen 19

TCP 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

TCP Tahoe vs. TCP 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 IP-paketteja application transport network data link physical Lisää otsaketietoja: mm. IP-osoitteet Reitittäminen Isäntä reititin... reititin isäntä Vastaanotto Poista otsake Anna segmentti kuljetuskerrokselle Verkkokerros toimii etenkin reitityksessä Reititin tutkii IP-paketin otsakkeen ja päättää, network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical mihin linkkiin se lähetetään seuraavaksi KuRo08: Fig 4.1 Tietoliikenteen perusteet /2009/ Liisa Marttinen 22

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

IP-paketin rakenne (IPv4) Tietoliikenteen perusteet /2009/ Liisa Marttinen 24

IP-pakettien paloittelu (fragmentointi) Maximum transfer Unit (MTU) suurin mahdollinen IP-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 IP-otsakkeessa kentät yhteenkuuluvien fragmenttien tunnistamiseksi ja kokoamiseksi KuRo08: Fig 4.14 Tietoliikenteen perusteet /2009/ Liisa Marttinen 25

Esimerkki length =4000 ID =x fragflag =0 offset =0 4000 tavun IP-paketti: dataa 3980 B MTU 1500 B 1480 B dataa 20 B IP-otsaketta Yhdestä IP-paketista tulee 3 pienempää IP-pakettia length =1500 length =1500 ID =x ID =x fragflag =1 fragflag =1 offset =0 offset =185 offset = 1480/8 length =1040 ID =x fragflag =0 offset =370 0 1480 2860 1. Pala: 1480 tavua 2. Pala: 1480 tavua 3. Pala: 1020 tavua Tietoliikenteen perusteet /2009/ Liisa Marttinen 26

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) Kone 11001000 00010111 00010000 00000000 200.23.16.0/21 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

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

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

2 u 1 Kohde Z Etäisyysvektorireititys: Esimerkki 1 5 v x 2 3 1 3 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

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 IP-osoitteita Tietoliikenteen perusteet /2009/ Liisa Marttinen 34

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 IP-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

Sovellusprotokolla IP/reititys Sovelluskerros Kuljetuskerros TCP/UDP Verkkokerros Linkkikerros IP IP reititys IP reititys IP 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 IP, ARP, jokin muu esim, Apple Talk, Novell IPX,.. Data (46... 1500 B) Ethernet MTU = 1500 B CRC (4 B) tarkistusbitit, tahdistuskuvio mukana laskennassa Tietoliikenteen perusteet /2009/ Liisa Marttinen 38

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 network Takaperin oppiminen 10BaseT hub router 100 Mbps 100 Mbps 100 Mbps switch 10BaseT hub mail server web server IP subnet 10BaseT hub Electrical Engineering Computer Science System Engineering Tietoliikenteen perusteet /2009/ Liisa Marttinen 40

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

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 IP-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 IP-paketeista pääsee palomuurin läpi, osa ei administered network public Internet KuRo05: Fig 8.23 firewall Tietoliikenteen perusteet /2009/ Liisa Marttinen 44

Sovellus (HTTP, SMTP) Request Reply Sovellus (HTTP, SMTP) Internet Tietoliikenteen perusteet /2009/ Liisa Marttinen 45

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

Kone A Sovellus (HTTP, SMTP) Reply Request.. SYN =1.. Kone B Sovellus (HTTP, SMTP) TCP TCP..FIN = 1.. TCP-otsake request Verkkopalvelu: - IP-protokolla, IP-osoitteet - reititys Tietoliikenteen perusteet /2009/ Liisa Marttinen 47

Kone A Sovellus (HTTP, SMTP) TCP Reply Request.. SYN =1.. Kone B Sovellus (HTTP, SMTP) TCP..FIN = 1.. IP IP TCP IP re q IP IP TCPLinkkikerroksen req IP TCP req linkkikerros palvelut linkkikerros Tietoliikenteen perusteet /2009/ Liisa Marttinen 48

Kone A Sovellus (HTTP, SMTP) TCP Reply Request.. SYN =1.. Kone B Sovellus (HTTP, SMTP) TCP..FIN = 1.. IP IP TCP IP req IP PPP IP TCP PPP TCP req linkkikerros req IP linkkikerros Tietoliikenteen perusteet /2009/ Liisa Marttinen 49

Tietoliikenteen perusteet Siinäpä se! Tietoliikenteen perusteet /2009/ Liisa Marttinen 50