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

Samankaltaiset tiedostot
Tietoliikenteen perusteet. Vähän kertausta

Kertausta: termejä ja käsitteitä

TIETOLIIKENTEEN PERUSTEET kevät 2009

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. Vähän kertausta. Tietoliikenteen perusteet /2009/ Liisa Marttinen 1

OSI ja Protokollapino

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Push- ja pull-protokollat

Tietoliikenteen perusteet

C:. S: 250 Message accepted for delivery C: QUIT S: 221 princeton.edu closing connection

Sähköpostisanoman muoto. Push- ja pull-protokollat. työntöprotokolla (PUSH) Yleisiä sanoman otsakekenttiä kentät erotettu rivinvaihdolla

Lähettävä postipalvelin Vastaanottava postipalvelin

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

Käyttäjäliitäntä (user agent) sanomien kirjoittaminen, lukeminen ja lähettäminen

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

Tietoliikenteen perusteet. Verkkokerros

2.2. Sähköposti. SMTP (Simple Mail Transfer Protocol) Postipalvelimet käyttävät SMTPprotokollaa. TCP-yhteys on pysyvä

Luento 8: Verkkokerros

Monimutkaisempi stop and wait -protokolla

Luento 5: Kuljetuskerros

kynnysarvo (threshold)

ELEC-C7241 Tietokoneverkot Kuljetuskerros

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

kynnysarvo (threshold)

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

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

3. IP-kerroksen muita protokollia ja

» multiaccess channel» random access channel LAN (Ethernet) langaton. ongelma: käyttövuoron jakelu Yhteiskäyttöisen kanavan käyttö

4. MAC-alikerros. yleislähetys (broadcast) ongelma: käyttövuoron jakelu. » multiaccess channel» random access channel LAN (Ethernet) langaton

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

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

Tietoliikenteen perusteet. Kuljetuskerros

Tietoliikenteen perusteet. Kuljetuskerros

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

Tietoliikenteen perusteet. Kuljetuskerros

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

Tietoliikenteen perusteet

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Tietoliikenteen perusteet. Linkkikerros

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

ITKP104 Tietoverkot - Teoria 3

Tietoliikenteen perusteet. Kuljetuskerros

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

Tietoliikenteen perusteet. Kuljetuskerros

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5.1. Kaksipisteyhteydet. Kehysten kuljetus. Missä virhe hoidetaan? Virheet.

Tietoliikenteen perusteet. Kuljetuskerros

Luento 14: Kertausta. Syksy 2014, Tiina Niklander

3. Kuljetuskerros 3.1.

Tietoliikenteen perusteet. Linkkikerros

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

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

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

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

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

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome

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

Chapter 3 Transport Layer. Kuljetuskerros

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

Tietoliikenne II (2 ov)

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

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

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

Monimutkaisempi stop and wait -protokolla

Tietoliikenteen perusteet. Verkkokerros

Tietoliikenteen perusteet. Verkkokerros

Monimutkaisempi stop and wait -protokolla

Tietoliikenteen perusteet: Kokeeseen tulevista asioista

11/20/ Siirron optimointi

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

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

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 selain muodostaa TCP- tai UDP-yhteyden? TCP-osoite = IP-osoite + porttinumero ( tässä 80) SOCKET BIND (80) LISTEN ACCEPT. Connection Request

Tietoliikenteen perusteet. Verkkokerros

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

Kanavan kuuntelu. Yleislähetysprotokollia ALOHA. CSMA (Carrier Sense Multiple Access) Viipaloitu ALOHA. Lähetyskanavan kuuntelu (carrier sense)

Luento 7: Verkkokerros

Turvallisuus verkkokerroksella

Turvallisuus verkkokerroksella

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

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

Luento 9: Linkkikerros. Syksy 2014, Tiina Niklander

Tietoliikenne II (2 ov)

Tietoliikenteen perusteet

Tietoliikenteen perusteet. Linkkikerros

Linkkikerroksen tehtävät

Tietoliikenteen perusteet

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 9: Linkkikerros

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

Tietoliikenteen perusteet

Chapter 4 Network Layer

5.5 Ethernet-lähiverkko. Eetteriverkon rakenne. Kaapelit. Törmäyksen jälkeinen uudelleenlähetys. Signaalin koodaus Manchester-koodaus CSMA/CD

Tietoliikenteen perusteet. Linkkikerros

Transkriptio:

TIETOLIIKENTEEN PERUSTEET kevät 2009 Tässä on koottuna kalvot, joita kätettiin apuna kerrattaessa luentokerran alussa edellisen luentokerran pääkohtia. Kone A Kone B sanoma sanoma Internet Kertausta: termejä ja käsitteitä internet intranet - etranet palvelu - protokolla htedetön htedellinen luotettava - epäluotettava isäntäkone - reititin - linkki asiakas-palvelin-malli - vertaistoimijamalli piiriktkentä - pakettiktkentä kanavointi: taajuusjako - aikajako siirtonopeus siirtoaika etenemisviive - jonotusviive Tietoliikenteen perusteet /2009/ Liisa Marttinen 1 Tietoliikenteen perusteet /2009/ Liisa Marttinen 2 Kertaus jatkuu: pakettivälitksen tehokkuus sopii purskeiseen liikenteeseen etappivälits sanoma paketeiksi paketin otsake leisrasite pääs Internettiin: kaapelimodeemi, ADSL, lähiverkko, langaton htes fsinen siirtomedia: kierrett pari, koaksiaalikaapeli, valokaapeli, sähkömagneettinen aaltoliike siirtovirhe: signaalin vaimeneminen ja vääristminen, häiriöt => bittivirheitä analoginen signaali digitaalinen signaali Ohjelmia laitteistoa Internet-protokollapino 5 4 3 2 1 kerros (Application) Kuljetuskerros (Transport) Verkkokerros (Network) Linkkikerros (Link) Fsinen kerros (Phsical) Protocol Data Unit (PDU): sanoma segmentti datagrammi (paketti) kehs bittivuo Tietoliikenteen perusteet /2009/ Liisa Marttinen 3 Tietoliikenteen perusteet /2009/ Liisa Marttinen 4 : Kuljetus: Verkko: Linkki: sanoma H3 sanoma H2 H3 sanoma H1 H2 H3 sano H1 H2 ma Fsinen: 0101110 01 Kapselointi : Kuljetus: Verkko: Linkki: sanoma H3 sanoma H2 H3 sanoma H1 H2 H3 sano H1 H2 ma Fsinen: 0101110 01 arkkitehtuuri Asiakas-palvelija-malli (esim. selain ja www-palvelin) Aina toiminnassa oleva palvelinohjelma, jolla kiinteä, tunnettu IP-osoite Asiakasohjelmat ottavat htettä palvelimeen ja ptävät siltä palvelua Google, e-ba, Facebook, YouTube, Amaon,.. palvelupntö vastaus Verkko: Linkki: H1 H2 H3 sanoma H2 H3 sano Linkki: H1 H2 H3 sano Vertaistoimijamalli (esim. BitTorrent, emule, Skpe) Vertaisisännät kommunikoivat suoraan keskenään Ei tarvitse olla aina toiminnassa, IP-osoite voi muuttua H1 H2 ma H1 H2 ma Jokainen toimii sekä palvelijana että asiakkaana Fsinen: 0101110 01 Fsinen: 0101110 01 Reititin Linkkitason ktkin Tietoliikenteen perusteet /2009/ Liisa Marttinen 5 Hbridimalli (esim. Napster, pikaviestimet ) Tietoliikenteen perusteet /2009/ Liisa Marttinen 6 1

prosessi Sovelluksen tekijän alue prosessi Osoittaminen Sanomissa oltava lähettäjän ja vastaanottajan IP-osoite ja porttinumero KJ pistoke puskurit KJ = kättöjärjestelmä Internet pistoke puskurit Prosessien kommunikointi -pistokkeita kättäen KJ IP-osoite oikea kone www.iana.org koneen (verkkokortin) ksilöivä 32-bittinen tunniste osoitteen verkko-osa ksilöi verkon osoitteen koneosa ksilöi koneen verkossa porttinumero oikea prosessi Yleisillä palveluilla standardoidut tunnetut porttinumerot: - www-palvelin kuuntelee porttia 80, - Postipalvelin kuuntelee porttia 25 KJ osaa liittää porttinumeron prosessiin Tietoliikenteen perusteet /2009/ Liisa Marttinen 7 Tietoliikenteen perusteet /2009/ Liisa Marttinen 8 HTTP -protokolla Request sanoma GET, HEAD, POST, PUT, DELETE sanoman muoto Response- sanoma Tilaton protokolla => eväste (cookie) Kättää :tä Säilvä htes Liukuhihna (pipeline) Verkkovälimuisti (pro server) Ehdollinen GET FTP: File Transfer Protocol user at host FTP FTP user client interface local file sstem Tiedostojen kopioiminen koneelta koneelle Asiakas voi selata etäkoneen hakemistoissa FTP sanomilla, voi noutaa tai tallettaa haluamansa tiedoston (download/upload) FTP-palvelin kuuntelee porttia 21 htes kontrollitiedon välitstä varten Asiakas kuuntelee porttia 20 palvelija avaa tiedoston siirtoa varten file transfer FTP-palvelin lläpitää tilatietoa mm. töhakemiston polku, autentikointi FTP client (RFC 959) FTP server 20 control data KuRo08: Fig 2.14 Remote file sstem 21 2 -htettä FTP server Tietoliikenteen perusteet /2009/ Liisa Marttinen 9 Tietoliikenteen perusteet /2009/ Liisa Marttinen 10 Sähköpostin komponentit Esimerkki User agent Mail server User agent Lähtevien sanomien jono SMTP SMTP Mail server User agent SMTP User agent Mail server User agent postilaatikot KuRo08: Fig 2.16 User agent S: 220 helsinki.fi SMTP:n C: HELO princeton.edu kättel tai EHLO S: 250 Hello princeton.edu C: MAIL FROM: <Bob@princeton.edu> Viesti(t) S: 250 <Bob@princeton.edu> OK C: RCPT TO: <pekka.puupaa@cs.helsinki.fi> S: 250 <pekka.puupaa@cs.helsinki.fi> OK C: DATA S: 354 Enter mail, end with. on a line b itself C: dataa dataa C: dataa dataa C:. S: 250 Message accepted for deliver C: QUIT S: 221 princeton.edu closing connection SMTP:n lopetus Tietoliikenteen perusteet /2009/ Liisa Marttinen 11 Tietoliikenteen perusteet /2009/ Liisa Marttinen 12 2

Sähköpostiviestin rakenne Eri asia kuin SMTP: eri standardit (RFC 822) To: CC: From: Message-Id: Received: Date: Repl-To: Subject:. Esim. otsakerivit runko varsinainen viesti, jossa vain ASCIImerkkejä ja lopussa piste omalla rivillä thjä rivi MIME MIME-sisältötppejä tet/plain; charset=us-ascii tet/html image/gif, image/jpeg, video/mpeg application/postscript application/msword application/octetstream multipart/mied MIME-versio: Content-Transfer- Encoding: Content-Tpe: Base-64-koodaus Sanoma 24 bitin rhmät on jaettu 6 bitin osiksi, jotka kukin on koodattu ASCII-merkiksi. 64 eri vaihtoehtoa Tietoliikenteen perusteet /2009/ Liisa Marttinen 13 Tietoliikenteen perusteet /2009/ Liisa Marttinen 14 Postinnoutoprotokollat (mail access protocols) Posti omalta postipalvelimelta postiohjelmaan POP3: Post Office Protocol versio 3 Viestien lataamiseen omalle koneelle, ei postikansioita IMAP: Internet Mail Accress Protocol Monipuolisempi: postikansiot (folders), lataa vain otsikot, viestien säilts postipalvelimelle HTTP: Esim. TKTL:lla kätettävä IlohaMail, Hotmail, Web-palvelija kättää IMAP-palvelijaa SMTP SMTP access user agent protocol sender s mail server receiver s mail server POP3 IMAP HTTP Koska SMTP on PUSH -protokolla, sitä ei voi kättää sanomia haettaessa ( PULL ). user agent KuRo08: Fig 2.18 DNS (Domain Name Sstem) Hakemistopalvelu ja sovelluskerroksen protokolla Isännät ja nimipalvelimet kättävät Kättää itse UDP-kuljetuspalvelua DNS-sanomien kuljettamiseen Nimien muuttaminen IP-osoitteiksi (ja päinvastoin) Posi: gethostbname(hdra.cs.helsinki.fi) 218.214.4.29 Kone = hdra =29, verkko= cs.helsinki.fi = 218.214.4.0 Sallii aliasnimet, palvelijan replikoinnin Esim. WWW.cs.helsinki.fi ja cs.helsinki.fi ovat aliasnimiä Esim. www-palvelijaan voi liittä useita IP-osoitteita, rotaatio Hajautettu, hierarkinen tietokanta (hakemisto) Toteutettu useiden replikoitujen nimipalvelimien hteistönä skaalautuvuus, kuormantasaus, lläpito, vikasietoisuus,.. Jos oma nimipalvelija ei tunne, se ks muilta. Tietoliikenteen perusteet /2009/ Liisa Marttinen 15 Tietoliikenteen perusteet /2009/ Liisa Marttinen 16 Standarditoteutus Uni + BIND-ohjelma Hajautettu, hierarkinen tietokanta Root DNS Servers ICANN The Internet Corporation for Assigned Names and Numbers Domain -nimiavaruus COM,.NET,.ORG,.EDU,.INT,.MIL.GOV,. ARPA ja maakoodit com DNS servers org DNS servers edu DNS servers ahoo.com DNS servers amaon.com DNS servers pbs.org DNS servers pol.edu DNS servers umass.edu DNS servers KuRo08: Fig 2.19 13 juuritason nimipalvelija Replikoituja, kaikilla samat tiedot Ylätason palvelimet maa- ja leistunnuksille (n. 265 kpl), fi, fr, uk, edu, net, com, org, Autorisoidut aluepalvelimet (domain) (2-taso) Isoilla liopistoilla ja firmoilla omansa, pienet kättävät jonkun muun lläpitämää www.iana.org. fi com org edu. helsinki cs... Uusia:.bi,.info,.name Tietoliikenteen perusteet /2009/ Liisa Marttinen 17 Tietoliikenteen perusteet /2009/ Liisa Marttinen 18 3

Skaalautuvuus KuRo08: Fig. 2.24 -kuljetuspalvelu Asiakas-palvelinmalli: Palvelimen siirrettävä n*f bittiä => siirtoaika = nf/u s. Hitain asiakas d min saa tiedoston ajassa F/ d min Siirtoaika = ma(nf/u s, F/ d min ) Kun n kasvaa, palvelimen kuorma kasvaa ja siirtoaika kasvaa. File F Server u s u n, d n... u 1, d 1 Internet u 6,d 6 Vertaistoimijamalli (alussa tiedosto on palvelimella) Siirtoaika = ma (F/u s, F/ d min, nf/(u s + E u i )) Summamerkki aika u 2,d 2 u 5,d 5 u 3,d 3 u 4,d 4 0 10 20 30 19 Tietoliikenteen perusteet /2009/ Liisa Marttinen n Luo psvä pistoke SOCKET BIND LISTEN Jää kuuntelemaan server ACCEPT RECEIVE SEND(DATA) CLOSE K J Kuljetuspalvelun tuottaja esim. conn.req. conn. ack. data data discon.req. discon. ack. client SOCKET Luo pistoke Ota CONNECT(SERVER) htes SEND(DATA) RECEIVE CLOSE lähetä vastaanota dataa sulje htes Tietoliikenteen perusteet /2009/ Liisa Marttinen 20 K J Esimerkki: -asiakas (Java) import java.io.*; import java.net.*; class Client { public static void main(string argv[]) throws Eception { String sentence; String modifiedsentence; BufferedReader infromuser = new BufferedReader(new InputStreamReader(Sstem.in)); Socket clientsocket = new Socket("hostname", 6789); htespntö DataOutputStream outtoserver = new DataOutputStream(clientSocket.getOutputStream()); BufferedReader infromserver = new BufferedReader(new InputStreamReader( clientsocket.getinputstream())); sentence = infromuser.readline(); outtoserver.writebtes(sentence + '\n'); modifiedsentence = infromserver.readline(); Sstem.out.println("FROM SERVER: " + modifiedsentence); clientsocket.close(); } } Kone A (HTTP, FTP, SMTP, DNS, ) pistoke Request Repl?????? Internet Kone B (HTTP, FTP, SMTP, DNS, ) pistoke Sulkee mös hteden Kuljetuspalvelu Kuljetuspalvelu Tietoliikenteen perusteet /2009/ Liisa Marttinen 21 Tietoliikenteen perusteet /2009/ Liisa Marttinen 22 Mikä kone /Mikä prosessi? Kuljetuskerros tarjoaa päästä-päähän hteden Prosessilta prosessille ( = pistokkeesta pistokkeeseen) Prosessi lukee ja kirjoittaa sanomia halutessaan Datan lisäksi on välitettävä osoitetietoja Vastaanottajan ja lähettäjän tiedot Eri koneiden prosessit voivat kättää samaa palvelua Saman koneen prosessit voivat kättää eri palveluita Kuljetuskerros: mikä prosessi = mikä portti Verkkokerros: mikä kone = mikä IP-osoite Porttinumero 16-bittinen: 0 65535 Portit 0 1024 on varattu kukin tietlle palvelulle (well known ports) - Esim. www-palvelulle portti 80, SMTP-postipalvelulle portti 25 Mikä kone /Mikä prosessi? Lähets (asiakas) Kuljetuskerros Segmentin otsakkeessa lähde- ja kohdeprosessin porttinumero Antaa segmentin verkkokerroksen välitettäväksi : huolehtii mös luotettavuudesta UDP: tarjoaa pelkän välitspalvelun Verkkokerros Paketin otsakkeessa lähde- ja kohdekoneen IP-osoite reitittimet osaavat ohjata oikealle koneelle 32 bits source port # dest port # other header fields application data (message) /UDP-segmentti Source IP Destination IP Other IP header fields /UDP-segmentti IP-paketti Tietoliikenteen perusteet /2009/ Liisa Marttinen 23 Tietoliikenteen perusteet /2009/ Liisa Marttinen 24 4

UDP-segmentin rakenne Porttinumerot 32 bittiä Koska on prosessien välinen palvelu Length Source port # Dest. Port # Segmentin kokonaispituus otsake (8 B) mukaanluettuna Checksum (optionaalinen) Length Checksum Bittivirheen havaitsemiseen Application data UDP ei ritä toipua, hävittää (message) virheellisen segmentin Data UDP-otsake Pitkä sanoma pilkottuna useaksi segmentiksi IP-osoitteet vasta verkkokerroksen otsakkeessa Näitä tarvitaan reititksessä UDP-tarkistussumma Lähets Summaa 16 bitin kokonaisuudet (otsake + pseudo-otsake mukana), livuotobitit lasketaan mukaan, talleta hden komplementtina Vastaanotto Summaa 16 b kokonaisuudet (mös tarkistussumma). Jos tuloksena on 16 kköstä, niin OK! 0=> 1 1=> 0 Checksum Source port # Dest. Port # Length 32 bittiä Checksum Application data (message) UDP-otsake 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 25 Tietoliikenteen perusteet /2009/ Liisa Marttinen 26 kerros Kuinka saada luotettavaksi? Data Luotettava tiedonsiirto protokolla Miten saadaan luotettavaksi? Data Luotettava tiedonsiirtoprotokolla r Tarkastellaan leisestiluotettavan tiedonsiirron ongelmia ja erilaisia ratkaisuritksiä r Edeten ideaalitilanteesta hä ongelmaisempaan r Kättäen äärellisiä tila-automaatteja lähettäjän ja vastaanottajan toiminnan kuvaamiseksi Segmentti Kuljetuskerros Epäluotettava kanava Verkkokerros Segmentti Bittivirheitä, segmenttejä katoaa, segmentit väärässä järjestksessä Tapahtuma määrää ksikäsitteisesti seuraavan tilasiirtmän Tila 1 Siirtmän aiheuttama tapahtuma Toiminnot siirrttäessä tapahtuma toiminnot Tila 2 Tietoliikenteen perusteet /2009/ Liisa Marttinen 27 Tietoliikenteen perusteet /2009/ Liisa Marttinen 28 rdt3.0 rdt3.0 toiminnassa rdt_rcv(rcvpkt) Λ Wait for call 0 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 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 KuRo08:Fig 3.16 Tietoliikenteen perusteet /2009/ Liisa Marttinen 29 Tietoliikenteen perusteet /2009/ Liisa Marttinen 30 5

Liukuhihnoitus: kättöasteen kasvattaminen Liukuva ikkuna (sliding window) 7 0 6 1 2 5 4 3 sender first packet bit transmitted, t = 0 last bit transmitted, t = L / R RTT ACK arrives, send net packet, t = RTT + L / R U sender = 3 * L / R RTT + L / R = receiver.024 30.008 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 utiliation = 0.0008 (0.00028) microsecon KuRo08: Fig 3.18 b a factor of 3! Tietoliikenteen perusteet /2009/ Liisa Marttinen 31 Säätelee pakettien lähettämistä ja vastaanottoa Kertoo millä pakettinumeroilla on lähetett/vastaanotettu, mistä saatu/lähetett kuittaukset ja millä numeroilla voi vielä lähettää/vastaanottaa paketteja Ikkunan koko riippuu hteden tpistä ja puskurien koosta 10 11 11 12 12 13 13 14 15 16 17 18 19 20 21 22 23 24. Lähetsikkuna (sender window) Ikkunan koko = montako pakettia saa olla kuittaamatta Mitkä pakettinumerot on kätett, mutta kuittaamatta Mitä pakettinumeroita voi vielä kättää Lähettäjän on odotettava, jos kaikki ikkunan numerot on kätett Kun kuittaus saapuu, ikkuna liukuu Seuraavat numerot tulevat luvallisiksi Tietoliikenteen perusteet /2009/ Liisa Marttinen 32 Go-Back-N: Esimerkki Kumulatiivinen kuittaus Esimerkki: Valikoiva toisto Jokainen sanoma kuitattava erikseen Ikkunankoko = 4 Väärä numero! Kuittaa viimeisen kunnollisen ja järjestksessä saadun paketin. tuplakuitttaus Ikkuna liukuu tasaisesti! KuRo08: Fig 3.22 KuRo08: Fig 3.26 Tietoliikenteen perusteet /2009/ Liisa Marttinen 33 Tietoliikenteen perusteet /2009/ Liisa Marttinen 34 Yhteenveto menetelmistä Ks. KuRo08 Table 3.1 Tarkistussumma Ajastin Järjestsnumero Kuittaukset Positiiviset ACK, tuplakuittaukset Negatiiviset NAK Ikkunat, liukuhihnoitus Yhteden muodostus sn-segmentti on hden tavun kokoinen! 3.39 Yhteden purku close timed wait closed client server FIN ACK FIN ACK close Tietoliikenteen perusteet /2009/ Liisa Marttinen 35 Tietoliikenteen perusteet /2009/ Liisa Marttinen 36 6

SendBase : uudelleenlähets (2) Host A Host B timeout Seq=92, 8 btes data Seq=100, 20 btes data X loss ACK=120 ACK=100 = 120 time Cumulative ACK scenario KuRo08: Fig 3.36 Checksum Tavunumerointi Kumuloiva kuittaus Toistokuittaus Ajastin Uudelleenlähets Nopea uudelleenlähets Tavunumerointi Tavuvirtaa Segmentit voivat olla erikokoisia ( =< MSS) Segmentin numero = - ensimmäisen tavun numero - alkuarvot sovitaan htettä muodostettaessa Kuittaus - seuraavaksi odotetun tavun numero - kumulatiivinen User tpes C host ACKs receipt of echoed C - klkiäisenä (piggbacked) mikäli mahdollista Host A Kuittauksia ei kuitata ja ne eivät siirrä numerointia! Niissä ei siirretä tavuvirtaa. Host B Seq=42, ACK=79, data = C Seq=79, ACK=43, data = C Seq=43, ACK=80 simple telnet scenario host ACKs receipt of C, echoes back C Kuro08: Fig 3.31 Tietoliikenteen perusteet /2009/ Liisa Marttinen 37 Tietoliikenteen perusteet /2009/ Liisa Marttinen 38 Vuonvalvonta Reno: Hidas aloitus (slow start) ruuhkanvälttel (congestion avoidance) ja Jotta lähettäjä ei tukahduta vastaanottoa Siirtonopeus sovitettava vastaanottavan sovelluksen mukaan Kuittaus on irroitettu vuonvalvonnasta Liukuva ikkuna, koko vaihtelee Kuittaus siirtää ikkunaa Vuonvalvonta määrää ikkunankoon Kun ikkunankoko = 0, ei saa lähettää! Vastaanottaja kertoo, montako tavua puskureihin vielä mahtuu -segmentin otsakkeen kenttä Receive window lukee tavut silloin kun haluaa Koko on mukana jokaisessa -segmentissä (molempiin suuntiin) Mös ruuhkanhallinta rajoittaa lähettämistä vastaanottopuskuri vapaata RcvWindow kätössä Aluksi ruuhkaikkuna = ksi segmentti Alussa hidas siirtonopeus= MSS/RTT Kukin kuittaus kasvattaa hdellä ruuhkaikkunan kokoa hidas aloitus Eksponentiaalinen kasvu Ikkuna kaksinkertaistuu hden RTT:n aikana Jos uudelleenlähets, ruuhkaikkunan kooksi 1 segmentti Multiplicative decrease Sen jälkeen kasvata ikkunaa ksi segmentti/rtt ruuhkanvälttel Lineaarinen kasvu (Additive increase) Ruuhkan välttel (congestion avoidance) Siirtonopeus = CognWin / RTT tavua/sek RTT Host A Host B one segment two segments four segments time Tietoliikenteen perusteet /2009/ Liisa Marttinen 39 Tietoliikenteen perusteet /2009/ Liisa Marttinen 40 Reno: Tarkennus Tahoe vs. Reno Saatu 3 ACK-kaksoiskuittausta (double ACK) (4 samaa kuittausta!) Verkko pst välittämään dataa! Ei siis (pahaa) ruuhkaa, ehkä paketissa bittivirhe tai paketti kadonnut jostain muusta sstä Nopea uudelleenlähets (fast retransmit) Nopea toipuminen (fast recover) Puolita ruuhkaikkunan arvo ja kasvata sitten lineaarisesti knnsarvo? Timeout ( = uusi hidas aloitus) Verkko pahasti ruuhkautunut! Pudota ikkunankoko arvoon 1 Kasvata eksponentiaalisesti knnsarvoon asti Kasvata sitten lineaarisesti ruuhkanvälttel Hidas aloitus Vanha Tahoe pudotti aina kokoon 1. Ruuhkan välttel Hidas aloitus Jos 3 toistokuittausta Jos ajastin laukeaa KuRo08: Fig 3.53 Knnsarvo puoleen siitä missä oltiin Tietoliikenteen perusteet /2009/ Liisa Marttinen 41 Tietoliikenteen perusteet /2009/ Liisa Marttinen 42 7

Ajastimen arvo? Aseta ajastin, kun segmentti on lähetett Liian lht aika Ennenaikainen timeout, turha uudelleenlähets Turhat ruuhkatoiminnot Liian pitkä aika Turhan hidas reagointi segmentin katoamiseen Ei huomata ruuhkaa ajoissa Alkujaan: Timeoutinterval = 2*RTT Kuittausaika vaihtelee suuresti ja nopeasti =>kätössä dnaaminen arvo Saadaan jatkuvien mittausten perusteella Jos ajastin laukeaa, tuplaa Timeout Eponential backoff -segmentti Otsake aina vähintään 20 B Optio-osa tarvittaessa Segmentti- ja kuittausnumerot tavunumeroina Ikkunankoko: paljonko tilaa vastaanottopuskurissa (tavua) ACK= kuittausnumero validi, RST (reset), SYN htedenmuodostus FIN htedenpurku URG, PSH ei leensä kätetä Tietoliikenteen perusteet /2009/ Liisa Marttinen 43 Tietoliikenteen perusteet /2009/ Liisa Marttinen 44 (HTTP, SMTP) puskurit -otsake request Request Repl.. SYN =1....FIN = 1.. Internet (HTTP, SMTP) puskurit???? -otsake request Verkkokerros Toimittaa kuljetuskerroksen segmentit vastaanottajalle Lähets - Luo segmenteistä verkkokerroksen IP-paketteja - Lisää otsaketietoja: mm. IP-osoitteet Pakettien kulku verkossa - Isäntä (lähde) reititin -...- reititin isäntä (kohde) Vastaanotto - Poista otsake - Anna segmentti kuljetuskerrokselle Toimii etenkin reititksessä Reititin tutkii IP-paketin otsakkeen ja päättää, linkkiin se lähetetään seuraavaksi application transport network data link phsical KuRo08: Fig 4.1 network network data link network data link phsical data link phsical phsical network data link phsical network data link phsical network network data link data link phsical phsical network data link application phsical transport network mihin data link phsical Tietoliikenteen perusteet /2009/ Liisa Marttinen 45 Tietoliikenteen perusteet /2009/ Liisa Marttinen 46 Kone1 Verkko b Reitits: datagrammiverkko Kone2 Verkko a 1 2 R 3 Verkko c Reititstaulu Osoite: portti verkko a : 1 verkko b : 3 verkko c : 2 muut : 2 Verkko d Tietoliikenteen perusteet /2009/ Liisa Marttinen 47 R R R Tietää, mihin suuntaan paketti on välitettävä = missä suunnassa mikin verkko on. Ei etukäteistietoa isäntäkoneiden hteksistä Reitits: Virtuaalipiiriverkko 1. paketti muodostaa reitin, muut paketit kulkevat samaa reittiä otsakkeessa kohdeosoitteen lisäksi Sisään: virtuaalipiirinumero linkki / vpnro vpnro Ulos: vpnro / linkki reititin lläpitää tietoa piirinumeroista ( hajujälki ) 1 12 34 3 Reitits = selvitä vpnro:a vastaava 1 linkki, 97 välitä paketti 56 linkille2 2 42 101 3 2 10 78 1 3 12 65 2 linkistä 1, vpnro 97 linkistä 1, vprno 12 1 R 2 3 linkkiin 2, vpnro 56 linkkiin 3, vpnro 34 Tietoliikenteen perusteet /2009/ Liisa Marttinen 48 R 8

Reitittimen arkkitehtuuri Kolme erilaista ktkentätapaa: Kaksi tehtävää Välitä paketteja tulolinkeistä ulosmenolinkkeihin Suorita reititsalgoritmia / -protokollaa Portti ~verkkokortti Useita portteja niputettu hteen linjakorteiksi (line card) KuRo08:Fig 4.6 KuRo08: Fig. 4.8 Tietoliikenteen perusteet /2009/ Liisa Marttinen 49 Tietoliikenteen perusteet /2009/ Liisa Marttinen 50 Pakettien hlkäs Kun puskuritila ei riitä Hlkää saapuva paketti (drop-tail) tai joku muu.. Se kummassa jonossa paketit hlätään, riippuu ktkennän ja linjan nopeuden suhteista RED (Random Earl Detection): hlkää jo ennenkuin puskuri tätt Siirtovirhe Linkkikerros saa hlätä virheellisen Verkkokerros saa hlätä virheellisen (ICMP-protokolla ) protokolla IP Paketin elinaika (Time-to-live, TTL) LAN X.25 Tietoliikenteen perusteet /2009/ Liisa Marttinen 51 Tietoliikenteen perusteet /2009/ Liisa Marttinen 52 IP-paketin rakenne (IPv4) IP-pakettien paloittelu (fragmentointi) Maimum 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ä reassembl fragmentation: in: one large datagram out: 3 smaller datagrams Tietoliikenteen perusteet /2009/ Liisa Marttinen 53 IP-otsakkeessa kentät hteenkuuluvien fragmenttien KuRo08: Fig 4.14 tunnistamiseksi Tietoliikenteen perusteet /2009/ Liisa Marttinen 54 9

Esimerkki lengthid fragflagoffset =4000 = =0 =0 4000 tavun IP-paketti: dataa 3980 B MTU 1500 B 1480 B dataa 20 B IP-otsaketta offset = 1480/8 Yhdestä IP-paketista tulee 3 pienempää IP-pakettia length =1500 length =1500 length =1040 ID = ID = ID = fragflag =1 fragflag =1 fragflag =0 offset =0 offset =185 offset =370 0 1480 2960 1. Pala: 1480 tavua 2. Pala: 1480 tavua 3. Pala: 1020 tavua IP-osoitteet 32 bittinen tunniste isäntäkoneille ja reitittimien linkeille - verkkoliittmän tunniste Reitittimellä useita liittmiä - kullakin oma IP-osoite Mös isäntäkone voi olla liitettnä useaan verkkoon ICANN Internet Corporation for Assigned names and Numbers verkkonumerot palvelun tarjoajille, nämä edelleen aliverkoiksi 11011111 00000001 00000001 00000001 223 1 1 1 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 KuRo08:Fig 4.15 223.1.2.2 223.1.3.2 Tietoliikenteen perusteet /2009/ Liisa Marttinen 55 Tietoliikenteen perusteet /2009/ Liisa Marttinen 56 Aliverkot CIDR: Classless InterDomain Routing Osoitteen osat aliverkon numero (alkuosa) koneen numero (loppuosa) 223.1.1.1 Aliverkon koneet voivat kommunikoida 223.1.1.3 ilman reititstä Linkkikerros osaa lähettää koneelta toiselle Esim. Ethernet 223.1.3.1 Aliverkkoa merkitään notaatiolla, lopussa on verkko-osan pituus Esim. 223.1.1.0 /24 subnet mask jossa 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.3.27 subnet 223.1.3.2 network consisting of 3 subnets eli verkko-osoite 24 bittiä ja koneosoite 8 bittiä KuRo08: Fig 4.15 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/ ilmoittaa verkko-osan bittien lukumäärän (prefi) Esim. Organisaatio, jolla 2000 konetta varaa 2048 = 2^11 konenumeroa, jolloin verkko-osaa varten jää 21 bittiä Yrits voi vielä itse jakaa viimeiset 11 bittiä aliverkko-osoitteeksi ja koneosoitteeksi. Tämä jako ei nä ulkopuolelle. Verkko (prefi) Kone 11001000 00010111 00010000 00000000 200.23.16.0/23 aliverkko aliverkkomaski Tietoliikenteen perusteet /2009/ Liisa Marttinen 57 Tietoliikenteen perusteet /2009/ Liisa Marttinen 58 NAT: Network Address Translation rest of Internet 138.76.29.7 Kaikilla ulosmenevillä ja sisääntulevilla paketeilla sama IP-osoite 138.76.29.7 mutta eri porttinumeroita. local network (esim. kotiverkko) 10.0.0/24 10.0.0.4 Kotiverkossa kätössä sisäiset IP-osoitteet 10.0.0/24 (esim. DHCP:llä) Vain ~ 4 miljardia osoitetta! 10.0.0.1 10.0.0.2 10.0.0.3 1) Linkkitila: Dijkstran algoritmi Aluksi kaikilla reitittimillä on tiedossa verkon rakenne ja kaikkien linkkien kustannukset Kaikki reitittimet lähettävät tietonsa naapureistaan ja linkkikustannuksista naapureihin (mitatut /havaitut) joko kaikille muille tai jollekin keskussolmulle, joka välittää tiedon muille Reititin laskee Dijkstran algoritmilla edullisimman kustannuksen kaikkiin muihin kohteisiin Kokoaa näistä oman reititstaulunsa Merkinnät C(,) linkin, kustannus; jos eivät naapureita = D(v) toistaiseksi edullisin kustannus solmuun v p(v) solmun v edeltäjä reitillä N = solmujen joukko, N' = jo käsiteltjen solmujen joukko Tietoliikenteen perusteet /2009/ Liisa Marttinen 59 Tietoliikenteen perusteet /2009/ Liisa Marttinen 60 10

Lhimmät reitit ja reititstaulukko 2) Etäissvektorireitits (distance vector) Resulting shortest-path tree u: u v w KuRo08: Fig. 4.28 Arpanet-verkon alkuperäinen reititsalgoritmi Kätössä useissa Internetin reititsprotokollissa RIP, BGP, Novell IPX, ISO IDRP Interaktiivinen, hajautettu ja askroninen Tiedot tarkentuvat asteittain, iteratiivisesti Tietin väliajoin, linkin tilan vaihtuessa, naapurin tietojen muuttuessa,.. Resulting forwarding table in u: destination v w link (u,v) (u,) (u,) (u,) (u,) Kukin solmu laskee itsenäisesti, mutta saa tietoa naapureiltaan Tietää / arvioi kustannuksen omiin naapureihinsa Kuulee naapureiden kustannukset muihin kohdesolmuihin, jotka nämä puolestaan ovat kuulleet omilta naapureiltaan Valitsee kullekin kohdesolmulle kuulemansa edullisimman reitin Tietoliikenteen perusteet /2009/ Liisa Marttinen 61 Tietoliikenteen perusteet /2009/ Liisa Marttinen 62 node table 0 2 7 node table 2 0 1 node table D () = min{c(,) + D (), c(,) + D ()} = min{2+0, 7+1} = 2 7 1 0 0 2 3 2 0 1 7 1 0 0 2 7 2 0 1 7 1 0 0 2 7 2 0 1 3 1 0 Tietoliikenteen perusteet /2009/ Liisa Marttinen 63 D () = min{c(,) + D (), c(,) + D ()} = min{2+1, 7+0} = 3 0 2 3 2 0 1 3 1 0 0 2 3 2 0 1 3 1 0 0 2 3 2 0 1 3 1 0 2 7 1 Huono uutinen etenee nopeasti: poisoned reverse A B C D E Ratkaisu count-to-infinit-ongelmaan! Ilmoita etäiss Etäiss A:han äärettömäksi naapurille, jonka kautta linkki D B (A) D c (A) D D (A) D E (A) kulkee. Kerro 2 3 4 muille oikea 3 4 etäiss. 4 Tieto etenee joka vaihdossa hden linkin li Tietoliikenteen perusteet /2009/ Liisa Marttinen 64 3) Hierarkkinen reitits Reititksen skaalautuus? Isossa verkossa runsaasti reitittimiä - Kaikki eivät voi tuntea kaikkia muita - Reititstaulut suuria, reittien laskeminen raskasta - Reititstietojen vaihtaminen kuluttaa linjakapasiteettiä Autonomiset järjestelmät AS (Autonomous Sstems) Internet ~ verkkojen verkko Intra-AS routing Kukin verkko päättää itse sisäisestä reititksestään RIP, OSPF Inter-As routing AS:t ilmoittelevat toisilleen, mihin muihin AS:iin niistä pääsee BGP (Border Gatewa Protocol) Jo CIDR ja IPosoitteiden jakaminen lohkoina pienentää reititstauluja! netstat -r Kone A (HTTP, SMTP) IP Repl Request.. SYN =1.. IP..FIN = 1.. IP req Kone B (HTTP, SMTP) IP Linkkikerroksen req IP req palvelut linkkikerros IP linkkikerros Tietoliikenteen perusteet /2009/ Liisa Marttinen 65 Tietoliikenteen perusteet /2009/ Liisa Marttinen 66 11

protokolla kerros Kuljetuskerros Verkkokerros Linkkikerros LAN /UDP IP/reitits WLAN Tietoliikenteen perusteet /2009/ Liisa Marttinen 67 Linkkikerroksen tehtäviä (2) Vuonvalvonta, puskurointi Ktkimessä on useita erinopeuksisia linkkejä Virhevalvonta signaali vaimenee, taustakohina häiritsee,... Kehksessä on tarkistustietoa (error detection and correction bits) Vastaanottava solmu korjaa, jos pst Jos ei pst, ptää uudelleen tai hävittää Yksisuuntainen /kaksisuuntainen liikenne Yksisuuntainen: lähetsvuorojen hallinta sending node Esim. isäntäkone datagram frame link laer protocol phsical link adapter card 1010010010 NIC (Network Interface Card) linkki- ja fsinen kerros frame adapter card Esim. reititin Tietoliikenteen perusteet /2009/ Liisa Marttinen 68 Linkkikerroksen tehtäviä Pariteettitarkistus Kehsts (framing) Kehksen rakenne ja koko riippuu siitä, millainen linkki on kseessä Otsake, data, lopuke Kohteen ja lähteen osoittaminen Yhteiseen linkkiin voi olla liitettnä useita laitteita Kätössä laitetason MAC-osoite (Medium access control) Yhteisen linkin varaus ja kättö (link access) Esim. langaton linkki, keskittimiin hdistett linkit Luotettava siirto Langattomilla linkeillä suuri virhetodennäköiss Linkkitaso huolehtii oikeellisuudesta Miksi tästä tät huolehtia vielä kuljetuskerroksella? Jotkut linkkitpit eivät huolehdi lainkaan! Jos kehs hävitettävä.. otsake data lopuke Tietoliikenteen perusteet /2009/ Liisa Marttinen 69 Pariteettibitti Parillinen vs. pariton pariteetti Virheröpssä jopa 50% voi jäädä huomaamatta Kaksiulotteinen pariteetti Erikseen horisontaalinen (parillinen) ja vertikaalinen (pariton) pariteetti Pst korjaamaan hden bitin virheen. Hamming-koodi Korjaa hden bitin virheen Tietoliikenteen perusteet /2009/ Liisa Marttinen 70 CRC-esimerkki Yksi kanava Data: 101110 G: 1001, polnomina 1* 3 + 0* 2 + 0* 1 +1* 0 <D,R>: 101110??? Lähetä: 101110011 Kaksipistehtes (point-to-point) PPP-protokolla, puhelinhtes (dial-up access) Ethernet-piuha ktkimen ja isäntäkoneen välissä Yleislähetshtes (broadcast) Alkuperäinen Ethernet, Ethernet keskittimen ja isäntäkoneen välissä, kaapelimodeemihtes (upstream), WLAN, satelliitti, Modulo 2-aritmetiikka vähennslasku hteenlaskuna 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 71 KuRo08: Fig. 5.9 Tietoliikenteen perusteet /2009/ Liisa Marttinen 72 12

Lähetsvuorojen jakelu TDMA: slot Kehs (frame) 1) Kanavanjakoprotokollat (channel partitioning protocol) Jaa kanavan kättö 'viipaleisiin' (time slots, frequenc, code) Kukin solmu saa oman viipaleensa TDMA, FDMA, CDMA kätä sinä tätä puolta, minä tätä toista 2) Kilpailuprotokollat (random access protocols) Se ottaa, joka ehtii. Jos sattuu törmäs, ritä möhemmin uudelleen. Aloha,CSMA, CSMA/CD 3) Vuoronantoprotokollat (taking-turns protocols) Jaa kättövuorot jollakin sovitulla tavalla: pollaus, vuoromerkki,... Minä ensin, sinä sitten. 1 2 3 4 1 2 3 4 1 2 3 4 FDMA: CDMA: 4 KH 4 KH = = link Eri lähettäjillä omat keskenään ortogonaaliset sirukoodit biteille => hteislähetksestä ketään erottamaan eri lähettäjät Tietoliikenteen perusteet /2009/ Liisa Marttinen 73 Aloha Hawaijilla, 70-luvulla radiotietä varten Lähetä heti, kun on lähetettävää Ei mitään kuuntelua ennen lähetstä Kuuntele sitten, onnistuiko lähets Lähiverkossa törmäs havaitaan 'heti', sillä siirtoviive on pieni (toisin kuin satelliitilla) Jos törmäs, niin odota satunnainen aika ja ritä uudelleen Yksinkertainen Törmäksen td. suuri Ma tehokkuus ~ 18% t 0-1 t 0 t 0 +1 Tietoliikenteen perusteet /2009/ Liisa Marttinen 75 CSMA/CD (with Collision Detection) Asema kuuntelee mös lähettämisen jälkeen Langallinen LAN: törmäs => signaalin voimakkuus muuttuu - Esim. Ethernet Langaton LAN: hankalaa Jos törmäs Niin kesketä heti lähettäminen ja ritä uudestaan satunnaisen ajan kuluttua Näin törmäksen aiheuttama hukka-aika pienenee Kauanko kuunneltava? 2* maksimi etenemisviive solmujen välillä A törmässignaali A ei saa lopettaa ennenkuin törmässignaali olisi ehtint tulla! Tietoliikenteen perusteet /2009/ Liisa Marttinen 76 B Linkkikerroksen fsinen osoite 32 bitin IP-osoite verkkokerroksella Reititksen tapa viitata koneeseen Erilaisilla linkkikerroksilla omat tapansa osoittaa oikea linkki (~ verkkokortti) Siirtokehs on kuljetettava fsisen linkin li jollekin toiselle samaan verkkoon (LAN) ktketistä laitteista MAC-osoite (Media Access Control Address) Kätetään mös nimiä LAN-osoite, fsinen osoite, laiteosoite, Ethernet-osoite,... Liitett valmistusvaiheessa kiinteästi laitteeseen Analogia: IP-osoite ~ katuosoite MAC-osoite ~ henkilötunnus ARP-protokolla (Address Resolution Protocol) Ratkaisuna ARP-protokolla ja ARP-taulu ARP-protokolla lähettää leislähetsosoitteella kseln, jonka kaikki vastaanottavat. Oman osoitteensa tunnistava laite vastaa kselijän MACosoitteeseen ja kertoo oman MAC-osoitteensa aa-bb-cc-dd-ee-ff, FF-FF-FF-FF-FF-FF Kenen IP-osoite on :::vv? kk-ll-mm-nn-oo-pp, aa-bb-cc-dd-ee-ff MACleislähetsosoite: FF-FF-FF-FF-FF-FF ARP-taulu pitää tallessa kseljen vastauksia: IP-osoite, MACosoite, TTL) Kussakin koneessa (mös reitittimessä) jokaiselle aliverkolle oma taulunsa Tiedot vanhenevat n. 20 minuutissa (time-to-live) Tietoliikenteen perusteet /2009/ Liisa Marttinen 77 Tietoliikenteen perusteet /2009/ Liisa Marttinen 78 13

Lähettäminen toiseen verkkoon (1) Ensin omalle reitittimelle sen MAC-osoitteella ja reititin ohjaa eteenpäin Reititstaulussa on verkko-osoite, jonne paketti seuraavaksi ohjattava Katso kohdeverkon ARP-taulusta kohteen MAC-osoite Jos ei ole taulussa, tee ARP-ksel kohdeverkon koneille A R Reitittimellä on useita ARP-tauluja. Tietoliikenteen perusteet /2009/ Liisa Marttinen 79 B 10BaseT ja 100BaseT 10 Mbps tai 100Mbps (Fast Ethernet, FE) T = Twisted Pair eli kierrett parikaapeli Maks. etäiss keskittimeen 100 m Keskitin (hub) toistaa bitit heti sellaisenaan muille Fsisen tason toistin (repeater); Yleislähets, Signaalin vahvistus Verkkokortit käsittelevät törmäkset Maks. 30 konetta / keskitin Keskitin osaa jättää huomiotta vikaantuneen kortin Kerää mös tietoa liikenteestä Törmästen lkm, keskim. kehskoko,... Koaksiaalikaapeli ma. 500 m Tietoliikenteen perusteet /2009/ Liisa Marttinen 80 hub twisted pair Gigabitin Ethernet (GE) Ethernet-kehs 1 Gbps tai 10 Gbps Edelleen sama kehsformaatti Taaksepäin hteensopiva Yhteiskättöiset linkit edelleen OK Koneiden hdistel keskittimen välitksellä CSMA/CD Kaksipistehtedet ei törmäksiä koneet hdistett ktkimien kautta switch pitkät välimatkat mahdollisia kaksisuuntainen täsivauhtinen siirto Kätetään leisesti runkoverkoissa verkkojen hdistel (reititin -> reititin) valokaapeli, mös cat5/cat6 parikaapeli fiber Tahdistuskuvio (preample) (8 B) 7 tavussa 10101010 kellojen tahdistusta varten 8. tavu 10101011 kertoo varsinaisen kehksen alkavan Kohteen ja lähteen MAC-osoitteet (6 + 6 B) Tpe (2 B) verkkoprotokolla, jolle vastaanottaja luovuttaa kehksen datan IP, ARP, jokin muu esim, Apple Talk, Novell IPX,.. Data (46... 1500 B) Ethernet MTU = 1500 B CRC (4 B eli 32 bittiä) tarkistusbitit, tahdistuskuvio mukana laskennassa Tietoliikenteen perusteet /2009/ Liisa Marttinen 81 Tietoliikenteen perusteet /2009/ Liisa Marttinen 82 Ethernet varaus: CSMA/CD (klassinen Ethernet-verkko on leislähetsverkko!) Carrier Sense Kuuntele, onko välä vapaa (96 b:n ajan) Jos vapaa, lähetä heti Muuten odota ja lähetä, kun linja vapautuu Collision Detection Kun lähetett, kuuntele onnistuiko Törmäs? Huomaa signaalin voimakkuudesta Lopeta kehksen lähets heti Lähetä 48 bitin sotkusignaali (jam): muutkin huomaavat varmasti Random Access Odota törmäksen jälkeen satunnainen aika Tietoliikenteen perusteet /2009/ Liisa Marttinen 83 LAN, verkkosegmentit to eternal network Electrical Engineering 100 Mbps (fiber) router 1 Gbps mail server 1 Gbps web server 1 Gbps switch IP subnet 100 Mbps 100 Mbps (fiber) (fiber) Computer Science Sstem Engineering Tietoliikenteen perusteet /2009/ Liisa Marttinen 84 14

Takaperin oppiminen: Ktkentätaulu (switching table) Aluksi taulu on thjä Saapuva kehs Lähteen MAC-osoite, kohteen MAC-osoite, tuloportti p, ms Lähde X ei ole taulussa Lisää (X, p,ttl) tauluun eli ktkin oppii, että osoite X on saavutettavissa portin p kautta Lähde X on taulussa => päivitä TTL Kohde Y ei ole taulussa Lähetetään kehs kaikkiin muihin portteihin = tulvitus (flooding) Opitaan möhemmin Y:n oikea portti jostain sen lähettämästä kehksestä Lähde X ja kohde Y ovat jo taulussa X ja Y samassa portisssa => hlkää kehs (on jo oikeassa aliverkossa) X ja Y eri porteissa => lähetä kehs Y:n porttiin Tietoliikenteen perusteet /2009/ Liisa Marttinen 85 15