tietoliikenne ii (2 ov)

33
Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja: Tanenbaum, Computer Networks (3. Painos)

Upload: devin

Post on 13-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Tietoliikenne II (2 ov). Kevät 2001 Liisa Marttinen Kurssikirja: Tanenbaum, Computer Networks (3. Painos). Tietoliikenne I. Tietoliikenne (4 ov) (ei enää luennoida). (2 ov). Tietoliikenne II (2 ov). Digitaalinen signaalin-käsittely. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov)

Kevät 2001

Liisa Marttinen

Kurssikirja:

Tanenbaum, Computer Networks (3. Painos)

Page 2: Tietoliikenne II (2 ov)

Tietoliikenne II(2 ov)

Tietoliikenne I (2 ov)

Tietoliikenne

(4 ov)

(ei enää luennoida)

Verkkosovellusten toteuttaminen (4 ov) ATM-

tietoliikenne

Digitaalinen signaalin-käsittely

Laajakaistaiset IP-verkot

Page 3: Tietoliikenne II (2 ov)

Tietoliikenne IIKertausta ja täydennystä Tietoliikenne I -kurssin

asioihin– perusteellisemmin– laajemmin– ‘teoreettisemmin’

• perus-, linkki- ja MAC-kerros

• reititys, IPv6

• TCP-protokollan suorituskyky

• DNS, ..

Page 4: Tietoliikenne II (2 ov)

Suoritus• ‘välikoe’ maks. 50 p

– pe 9.3. klo 14-18

• ‘kurssiaktiivisuus’ maks. 20 p– traditionaaliset harjoitukset– miniesseet (1-3 sivua) ja -esitelmät– keskusteluaktiivisuus yms

• 30 p => 1-, 51 => 3

Page 5: Tietoliikenne II (2 ov)

Kerrosajattelu

• OSI-, TCP/IP-viitemalli– eri kerrosten toiminta– kommunikointi kerrosten välillä– tiedonsiirto sovellukselta toiselle

• esimerkki siitä, mitä kaikkea tapahtuu, kun sovellus lähettää viestin toiselle sovellukselle kerrosmallia käyttäen

Page 6: Tietoliikenne II (2 ov)

• Peruskerros– siirtovälineet, bittien lähettäminen

• Siirtoyhteyskerros– siirtokanava ja sen käyttö tiedonsiirtoon

• Verkkokerros– reititys– IPv6

• Kuljetuskerros– TCP:n eri versiot ja niiden suorituskyky

Page 7: Tietoliikenne II (2 ov)

• Istuntokerros

• Esitystapakerros

• Sovelluskerros

Page 8: Tietoliikenne II (2 ov)

Sovelluskerros

Kuljetuskerros

Fyysinen

kerros

Fyysinen

kerros

Linkkik.

Verkkok. Verkkok.

Linkkik.

(Session) (Session)

(Present.) (Present.)

HTTP,SMTP,

HTTP,SMTP,

TCP,UDP TCP, UDP

IP IP

PPP PPP Ethernet

Ethernet

IP

Kerrosmalli

Page 9: Tietoliikenne II (2 ov)

Sovellusprotokolla

Kuljetuskerros

Fyysinen

kerros

Fyysinen

kerros

Linkkik.

Verkkok. Verkkok.

Linkkik.

HTTP HTTP

TCP,UDP TCP, UDP

IP IP

PPP PPP Ethernet

Ethernet

IP

GET(verkkosivu)

RESPONSE(verkkosivu)

asiakas palvelin

Page 10: Tietoliikenne II (2 ov)

Kerrosmalli

kerros n+1 kerros n+1

Kone A Kone B

kerros n kerros n

kerros n-1kerros n-1

n+1 -kerroksen protokollaviestit= n+1 -PDU:T

n-1 -kerroksen protokollaviestit= n-1 -PDU:T

n-kerroksen protokollaviestit = n-PDU:T

palveluprimitiivit

palveluprimitiivit

palveluprimitiivit

palveluprimitiivit

Page 11: Tietoliikenne II (2 ov)

N-kerroksen palvelutN+1-kerros N+1-kerros

Connect.requestConnect.indication

Connect.responseConnect.confirm

Data.request

Data.indication

Vahvistamaton palvelu

N-PDU:t

Vahvistettu palvelu

Palveluprimitiivit

Page 12: Tietoliikenne II (2 ov)

OSI-kerrosmalli

kerros n+1

n+1 -PDU:T N-IDU

kerros n

N-ICI N-SDU

N-ICI N-SDU

N-1-ICI N-SDUN-1-SDU

N-1-IDU n-PDU

SAP = Service Access Point

Page 13: Tietoliikenne II (2 ov)

M

H4 M1 H4 M2

H3 H4 M1 H4 M2

H2 H3 H4 M1 H2 H4 M2

H1 H2 H3 H4 H1 M1 H2 H4

H1 M2

Kerros 5

4

3

2

1

Esimerkki sanoman M lähettämisestä 5-kerroksisessa protokollapinossa.

Huom! Kukin kerros näkee vain oman otsakkeensa.

Loppu on dataa.

Page 14: Tietoliikenne II (2 ov)

M1 M2

H4 M1 H4 M2

H4 M1 H4 M2

Kerros 5

4

3

2

1

Esimerkki sanoman M vastaanottamisesta 5-kerroksisessa protokollapinossa

H2 H3 H4 H2 H4

H1 H2 H3 H4 H1 M1 H2 H4

H1 M2

M1 M2

H3

Page 15: Tietoliikenne II (2 ov)

Verkkosivun haku

HTTP HTTPGET(URL)

RESPONSE(kokeet/lkokeetkev01.html )

selain palvelinkone

TCP,UDPTCP,UDP

IP

http://www.cs.Helsinki.FI/kokeet/lkokeetkev01.html

IP

Selain selvittää palvelinkoneen IP-osoitteen ja muodostaa tähän koneeseen TCP-yhteyden .

TCP-yhteyttä käyttäen selain lähettää GET-pyynnön ja saa vastaukseksi halutun sivun, jonka se sitten voi näyttää käyttäjälleen.

Page 16: Tietoliikenne II (2 ov)

Sovelluskerros

HTTP HTTP

GET(URL)

RESPONSE(kokeet/lkokeetkev01.html )

selain palvelin: www.cs.Helsinki.FI

TCP

TCP-yhteyttä käyttäen selain lähettää GET-pyynnön ja saa vastaukseksi halutun sivun, jonka se sitten voi näyttää käyttäjälleen.

(yhteydellinen, luotettava yhteys)

Page 17: Tietoliikenne II (2 ov)

Resolver

DomainNameServer(local)

Query(www.cs.Helsinki.FI)

Response(128.214.4.29 )

UDP

Resolver lähettää UDP-tietosähkeenä kyselyn paikallliselle DNS:lle ( ja tarvittaessa muillekin) ja palauttaa saamansa IP-osoitteen selaimelle.

(yhteydetön, epäluotettava yhteys)

Miten selain selvittää palvelinkoneen IP-osoitteen?

IP-osoite = verkko-osoite + koneosoite

Selain kutsuu kirjasto-ohjelmaa Resolver

128.214.4.114

Page 18: Tietoliikenne II (2 ov)

DNS (Domain Name System)

• domain-nimet (aluenimet)– hierarkiset, yksikäsitteiset nimet

• int, com, edu, gov, mil, org, net

• maakoodit: fi, se uk, us, jp, …

• alueen sisällä yksikäsitteiset nimet: alialueet, koneet

• hajautettu nimihakemisto– domain-nimien ja sähköpostiosoitteiden

muuttamiseksi IP-osoitteiksi– resurssitietueet (resource record)

• IP-osoite, IP-alias, sähköpostin välittäjä, ...

Page 19: Tietoliikenne II (2 ov)

Selain128.214.4.29

kuuntelee porttia80

www-palvelin

CONNECT(128.214.29, 80)

SEND (data)

RECEIVE(data)

Miten selain muodostaa TCP- tai UDP-yhteyden?

TCP-osoite = IP-osoite + porttinumero ( tässä 80)

Selain käyttää palveluprimitiivejä

SOCKET

Connection Request

TCP TCP

Connection AcceptTCP-PDU:ita

verkkokerros (IP)

Page 20: Tietoliikenne II (2 ov)

Selain128.214.4.29

kuuntelee porttia80

www-palvelin

CONNECT(128.214.29, 80)

SEND (data)

RECEIVE(data)

Miten selain muodostaa TCP- tai UDP-yhteyden?

Selain käyttää palveluprimitiivejä

SOCKET

Connection Request

TCP TCP

Connection AcceptTCP-PDU:ita

verkkokerros (IP)

Page 21: Tietoliikenne II (2 ov)

SOCKET (osoiteformaatti, palvelutyyppi, protokolla) palauttaa tiedostokuvaajan = pistokkeen osoitteenBIND (80) antaa pistokkeelle osoitteen (tässä portti 80)LISTEN(jonon pituus) halukas ottamaan vastaan palvelupyyntöjäACCEPT lukkiutuu odottamaan palvelupyyntöjä

Kun yhteyspyyntö -TPDU tulee, niin kuljetusolio luo uuden pistokkeen, jolla on samanlaiset ominaisuudet, ja palauttaa sen tiedostokuvaajan. Palvelin voi nyt luoda uuden prosessin tätä yhteyttä palvelemaan (= SEND, RECEIVE, CLOSE)ja jäädä itse odottamaan seuraavaa yhteydenmuodostuspyyntöä.

PALVELIMEN TOIMINTA

Page 22: Tietoliikenne II (2 ov)

SOCKET (osoiteformaatti, palvelutyyppi, protokolla) palauttaa tiedostokuvaajan = pistokkeen osoitteen

CONNECT lukitsee asiakkaan odotustilaan ja aloittaa yhteyden muodostuksen

Kun yhteys on kunnossa, asiakasprosessi vapautetaan ja TCP-yhteys on valmis. Kumpikin puoli voi lähettää (SEND) ja vastaanottaa (RECEIVE) dataa.

Asiakkaan toimenpiteet

Page 23: Tietoliikenne II (2 ov)

TCP-kuljetuspalveluselain palvelin: www.cs.Helsinki.FI

SOCKET

CONNECT

SEND(QUERY)

SEND (response)RECEIVE

TCP

PDUt

SOCKET

BIND

LISTEN

ACCEPT

RECEIVE

Uusi pistoke yhteyttä varten

Connreq

Connack

Data

Data

Page 24: Tietoliikenne II (2 ov)

Kuljetuspalvelun toteuttaminen

HTTP HTTPGET(URL)

RESPONSE(page )

selain palvelinkone

TCPTCP

IP-kerroksen palvelut (eivät ole luotettavat)

Luotettava kuljetuspalvelu

TCP-kerroksen täytyy toteuttaa itse luotettava kuljetuspalvelu epäluotettavan IP-kerroksen päälle!

Page 25: Tietoliikenne II (2 ov)

IPv6

• IPv4:n osoitteet loppuvat– isompi osoitekenttä

• Next Generation IP– muita parannuksia

• tehokkuus

• muuttunut käyttöympäristö

• uudet käyttötarpeet

• käyttökokemus

Page 26: Tietoliikenne II (2 ov)

IP-kerroksen epäluotettavuus• TPC-PDU eli segmentti

– katoaa kokonaan tai vain osa tulee perille• virheellinen osoite, reitittimen tai vastaanottajan puskurit täynnä,

– vääristyä• ei datan virhetarkistuksia

– saapua väärässä järjestyksessä• pakettiverkko, jossa eri paketit kulkevat eri kautta

– viipyä hyvinkin pitkään matkalla• vikaantunut reititin

Page 27: Tietoliikenne II (2 ov)

TCP-kerroksen tehtävät• Huomata virheet ja toipua niistä

– järjestysnumerot segmenteille (tavunumerointi)– tarkistussumma– kuittaukset ja uudelleenlähetykset– uudelleenlähetysajastin – vuonvalvontamekanismi– ruuhkanvalvontamekanismi– kolminkertainen kättely

• yhteyden muodostuksessa että yhteyden purussa

Page 28: Tietoliikenne II (2 ov)

Yhteydellinen kuljetuspalvelu

TCPTCP

IP-kerroksen palvelut (eivät ole luotettavat)

Yhteydenmuodostus

Datansiirto

Yhteydenpurku

Page 29: Tietoliikenne II (2 ov)

Yhteydellinen kuljetuspalvelu

TCPTCP

IP-kerroksen palvelut

CONNECT REQUEST

CONNECT ACK

DISCONNECT

DATA

DATA

DATA

DISCONNECT

Page 30: Tietoliikenne II (2 ov)

TCP-otsakkeen kentät

Source port Destination port

Sequence number

Acknowledgement number

Window size

Urgent pointerChecksum

Options (0 or more 32 bit words)

Data (optional)

U A P R S FR C S S Y IG K H T N N

TCPhead.length

Checksum

Window size

Page 31: Tietoliikenne II (2 ov)

SYN =1, ACK=0, SEQ = X

SYN =1, ACK=1, Acknro =x+1, SEQ = y

ACK=1, Acknro = y+1, SEQ=x+1, data

ACK=1, Acknro = x+2, SEQ=y+1, data

ACK=1, Acknro = x+2, SEQ=y+2, data

FIN=1, ACK=1, Acknro= x+2, SEQ=y+3

FIN=1, ACK=1, Acknro=y+4, SEQ=X+2

TCP-SEGMENTIT

Page 32: Tietoliikenne II (2 ov)

A: 0 verkko-os. koneosoite

B: 10 verkko-osoite koneosoite

C: 110 verkko-osoite koneos.

D: 1110 monilähetysosoite

E: 11110 varatttu tulevaan käyttöön

IP-osoitteiden muodot

0 8 16 24 31

Page 33: Tietoliikenne II (2 ov)

Version Type of Service Datagram Length (bytes)

Header Length

16-bit Identifier