Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja:

Samankaltaiset esitykset


Esitys aiheesta: "Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja:"— Esityksen transkriptio:

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

2 Tietoliikenne II Kertausta ja täydennystä Tietoliikenne I -kurssin asioihin perusteellisemmin laajemmin ‘teoreettisemmin’ perus-, linkki- ja MAC-kerros reititys, IPv6 TCP: suorituskyky ja uudet piirteet DNS, ..

3 Tietoliikenne I Tietoliikenne (4 ov) (ei enää luennoida) (2 ov) Tietoliikenne II (2 ov) Digitaalinen signaalin-käsittely Verkkosovellusten toteuttaminen (4 ov) ATM-tietoliikenne Laajakaistaiset IP-verkot Langaton tietoliikenne Ym. Ym. Ym.

4 Suoritus ‘välikoe’ maks. 50 p ‘kurssiaktiivisuus’ maks. 20 p
pe klo 14-18 ‘kurssiaktiivisuus’ maks. 20 p traditionaaliset harjoitukset maks. 10 p miniesseet (1-3 sivua) ja -esitelmät keskusteluaktiivisuus yms 30 p => 1-, 51 => 3 Loppukoe maks. 60 p 10 p

5 Kertausta + täydennystä
Viitemallit ja protokollakerrokset kerrosmalli TCP/IP-pino, OSI-viitemalli protokollat, palvelut, palveluprimitiivit, palvelupisteet (SAP) Esimerkki toiminta eri kerroksilla

6 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

7 Peruskerros Siirtoyhteyskerros Verkkokerros Kuljetuskerros
siirtovälineet, bittien lähettäminen Siirtoyhteyskerros siirtokanava ja sen käyttö tiedonsiirtoon Verkkokerros reititys IPv6 Kuljetuskerros TCP:n eri versiot ja niiden suorituskyky

8 Istuntokerros Esitystapakerros Sovelluskerros

9 Kerrosmalli HTTP, SMTP, HTTP, SMTP, Sovelluskerros (Present.)
(Session) (Session) Kuljetuskerros TCP,UDP TCP, UDP Verkkok. IP Verkkok. IP IP Linkkik. PPP Ethernet Linkkik. PPP Ethernet Fyysinen kerros Fyysinen kerros

10 Kerrosmalli Kone B Kone A kerros n+1 kerros n+1
n+1 -kerroksen protokollaviestit= n+1 -PDU:T palveluprimitiivit palveluprimitiivit kerros n kerros n n-kerroksen protokollaviestit = n-PDU:T palveluprimitiivit palveluprimitiivit kerros n-1 n-1 -kerroksen protokollaviestit= n-1 -PDU:T kerros n-1

11 Palveluprimitiivit N+1-kerros N-kerroksen palvelut N+1-kerros
Connect.request Connect.indication Connect.response N-PDU:t Connect.confirm Vahvistettu palvelu Data.request Selventääkö tämä kuva vaikka vainko vaiko sekoittaa? Data.indication Vahvistamaton palvelu

12 OSI-kerrosmalli kerros n+1 N-IDU n+1 -PDU:T N-ICI N-SDU
SAP = Service Access Point kerros n N-SDU N-ICI N-1-IDU n-PDU N-1-SDU N-SDU N-1-ICI

13 Huom! Kukin kerros näkee vain oman otsakkeensa.
Loppu on dataa. Kerros M 5 4 3 2 1 H4 M1 H M2 H H M H M2 H H H M1 H H M2 H H2 H H4 H M H H4 Esimerkki sanoman M lähettämisestä 5-kerroksisessa protokollapinossa. H M2

14 Kerros M1 M2 5 4 3 2 1 H4 M1 H M2 H3 H M H M2 H H H4 H H4 H H2 H H4 H M H H4 H M2 M1 M2 Esimerkki sanoman M vastaanottamisesta 5-kerroksisessa protokollapinossa

15 Esimerkki Verkkosivun haku selaimella selainohjelma ja www-palvelin
HTTP yleensä HHTP-protokollaa suorittava ohejelmisto on osa sitä käyttävää sovellusta TCP IP Ethernet, PPP kaapeli

16 Sovellusprotokolla asiakas palvelin HTTP HTTP GET(verkkosivu)
RESPONSE(verkkosivu) Kuljetuskerros TCP,UDP TCP, UDP Verkkok. IP Verkkok. IP IP Linkkik. PPP Ethernet Linkkik. PPP Ethernet Fyysinen kerros Fyysinen kerros

17 Verkkosivun haku selain palvelinkone GET(URL) HTTP HTTP
RESPONSE(kokeet/lkokeetkev01.html ) 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. TCP,UDP TCP,UDP IP IP

18 selain Sovelluskerros palvelin: HTTP HTTP GET(URL) RESPONSE(kokeet/lkokeetkev01.html ) TCP (yhteydellinen, luotettava yhteys) 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.

19 Miten selain selvittää palvelinkoneen IP-osoitteen?
Selain kutsuu kirjasto-ohjelmaa Resolver IP-osoite = verkko-osoite + koneosoite Domain Name Server (local) Resolver Query( Response( ) UDP (yhteydetön, epäluotettava yhteys) Resolver lähettää UDP-tietosähkeenä kyselyn paikallliselle DNS:lle ( ja tarvittaessa muillekin) ja palauttaa saamansa IP-osoitteen selaimelle.

20 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ä, ...

21 Miten selain muodostaa TCP- tai UDP-yhteyden?
TCP-osoite = IP-osoite + porttinumero ( tässä 80) Käytetään pistokeprimitiivejä kuuntelee porttia 80 www-palvelin SOCKET BIND (80) LISTEN ACCEPT Selain SOCKET CONNECT( , 80) Connection Request Näin kerrokset käyttävät alemman kerroksen palveluja kaikilla kerroksilla. OSI-mallkissa - rajapinta (interface) kahden vierekkäisen kerroksen välussä - SAP (service access pooint) palvelupiste puhelinpistoke, sopiva taajuus langattomassa yhteydessä, proseduurikutsu, pistokeosoite - palveluprimitiivit TCP TCP TCP-PDU:ita Connection Accept verkkokerros (IP)

22 TCP-yhteyttä käyttäen lähetetään ja vastaanotetaan dataa = HTTP-PDUita
kuuntelee porttia 80 Käytetään pistokeprimitiivejä www-palvelin RECEIVE SEND( RESPONSE(tiedosto )) Selain SEND (GET(URL)) RECEIVE Data Näin kerrokset käyttävät alemman kerroksen palveluja kaikilla kerroksilla. OSI-mallkissa - rajapinta (interface) kahden vierekkäisen kerroksen välussä - SAP (service access pooint) palvelupiste puhelinpistoke, sopiva taajuus langattomassa yhteydessä, proseduurikutsu, pistokeosoite - palveluprimitiivit TCP TCP TCP-PDU:ita Data verkkokerros (IP)

23 SOCKET (osoiteformaatti, palvelutyyppi, protokolla)
palauttaa tiedostokuvaajan = pistokkeen osoitteen BIND (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

24 Asiakkaan toimenpiteet
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. Asiakkaan toimenpiteet Kumpikin puoli voi lähettää (SEND) ja vastaanottaa (RECEIVE) dataa TCP-yhteyttä käyttäen. Yhteys suljetaan kun kumpikin puoli on antanut CLOSE-primitiivin. Molempien toimenpiteet

25 palvelin: www.cs.Helsinki.FI TCP-kuljetuspalvelu
selain palvelin: TCP-kuljetuspalvelu SOCKET BIND LISTEN ACCEPT TCP PDUt SOCKET CONNECT Uusi pistoke yhteyttä varten Connreq Connack Data Selventääkö tämä kuva vaikka vainko vaiko sekoittaa? SEND(QUERY) RECEIVE RECEIVE SEND (response)

26 selain Sovelluskerros palvelin: HTTP HTTP GET(URL) RESPONSE(kokeet/lkokeetkev01.html ) TCP (yhteydellinen, luotettava yhteys) 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.

27 Kuljetuspalvelun toteuttaminen
selain palvelinkone Kuljetuspalvelun toteuttaminen HTTP HTTP GET(URL) RESPONSE(page ) Luotettava kuljetuspalvelu TCP TCP TCP-kerroksen täytyy toteuttaa itse luotettava kuljetuspalvelu epäluotettavan IP-kerroksen päälle! IP-kerroksen palvelut (eivät ole luotettavat)

28 IP-kerroksen epäluotettavuus
TPC-PDU eli segmentti voi kadota 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

29 TCP-kerroksen tehtävät
Huomata virheet ja toipua niistä järjestysnumerot segmenteille (tavunumerointi) tarkistussumma kuittaukset ja uudelleenlähetykset uudelleenlähetysajastin Varautua ‘turhien’virheiden välttämiseen vuonvalvontamekanismi ruuhkanvalvontamekanismi kolminkertainen kättely yhteyden muodostuksessa että yhteyden purussa

30 Yhteydellinen kuljetuspalvelu
TCP TCP Yhteydenmuodostus Datansiirto Yhteydenpurku IP-kerroksen palvelut (eivät ole luotettavat)

31 Yhteydellinen kuljetuspalvelu
CONNECT REQUEST TCP TCP CONNECT ACK DATA DATA DATA DISCONNECT DISCONNECT IP-kerroksen palvelut

32 TCP-otsakkeen kentät Source port Destination port Sequence number
Acknowledgement number U A P R S F TCP head. length Window size R C S S Y I Window size G K H T N N Checksum Urgent pointer Checksum Options (0 or more 32 bit words) Data (optional)

33 TPC-segmentin otsakekentät
Lähde- ja kohdeportit (Source port, Destination port) yhteyden päätepisteet portti + koneen IP-osoite => 48 bittinen TSAP Järjestysnumero (Sequence number) tavut numeroidaan => 32 bittiä segmentin ensimmäisen tavun numero Kuittausnumero (Acknowledgement number) seuraavaksi odotettu tavu TCP-otsakkeen pituus (TCP header length) mahdollisten optiokenttien takia 6 bitin käyttämätön kenttä

34 6 lippubittiä URG onko pikadataa pikadatan sijainnin ilmoittaa
pikadatakenttä (Urgent pointer) ACK onko kuittauskenttä käytössä PSH onko hetilähetettävää (pushed) dataa RST yhteyden uudelleenalustuspyyntö (reset), yleensä ongelmatilanne SYN käytetään yhteyttä muodostettaessa SYN =1, ACK = 0 connection request SYN =1, ACK = 1 connection accepted FIN käytetään yhteyden purkuun FIN =1 ei enää lähetettävää

35 Ikkunan koko (window size)
vaihteleva ikkunankoko tavua kuittaus irroitettu lähetysluvasta (credit-vuonvalvonta) Tarkistussumma (Checksum) lasketaan otsakkeelle, datalle ja ns. pseudo-otsakkeelle

36 pseudo-otsake 00000000 Auttaa havaitsemaan väärään osoitteeseen
Source IP address Destination IP address Protocol = 6 TCP/UDP segmentin pituus Auttaa havaitsemaan väärään osoitteeseen toimitetut paketit. Sisältää IP-otsakkeen tietoja!

37 Optiokenttä (options)
voidaan lisätä piirteitä, joita ei ole varsinaisessa otsakkeessa suurin hyväksyttävä datakenttä oletusarvo = 536 tavua => segmentin koko 556 tavua ikkunan koon moninkertaistaminen (window scale) nopeille ja pitkän viipeen linjoille 64 ktavun ikkunan koko on liian pieni valikoivan toiston käyttö ‘go back N’:n tilalla vähentää turhia uudelleenlähetyksiä aikaleimaus

38 TCP-SEGMENTIT 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

39 Milloin TCP todella lähettää puskurista ja milloin luovuttaa vastaanottajalle?
Prosessi kirjoittaa dataa Prosessi lukee dataa Pistoke ? Pistoke ? TCP-lähetys-puskurit TCP-segmentti TCP- vastaanotto-puskurit

40 TCP lähettää aina kun saa lähetettävää =>
TEHOTONTA Prosessi kirjoittaa dataa merkki kerrallaan Prosessi lukee dataa Pistoke Pistoke Paljon pieniä segmenttejä, TCP-lähetys-puskurit TCP- vastaanotto-puskurit joissa lähes pelkkiä otsakkeita!

41 Naglen algoritmi: TCP lähettää heti vain ensimmäisen tavun ja kerää muut puskuriinsa. Ne lähetetään vasta kun edellisestä on saatu kuittaus. Prosessi kirjoittaa dataa merkki kerrallaan Prosessi lukee dataa Pistoke Pistoke TCP- vastaanotto-puskurit TCP-lähetys-puskurit

42 Silly window syndrome:
vastaanottopuskurit täynnä ja prosessi lukee tavu kerraallaan Prosessi kirjoittaa dataa Prosessi lukee dataa tavu kerrallaan Pistoke Pistoke ACK, Win=1 TCP- vastaanotto-puskurit TCP-lähetys-puskurit

43 Silly window syndrome:
Clarkin ratkaisu: ei lähetyslupaa lähettäjälle ennenkuin puskureissa on reilusti tilaa. Vähintäänkin maksimisegmentin koko. Prosessi kirjoittaa dataa Prosessi lukee dataa tavu kerrallaan Pistoke Pistoke ACK, Win=MSS TCP- vastaanotto-puskurit TCP-lähetys-puskurit

44 selain palvelin: TCP TCP Kuljetuskerros SEND(segment ) SEND(segment) IP-palvelu (yhteydetön, epäluotettava ) TCP- antaa segmentejä IP-kerrokselle siirrettäväksi vastaanottajan koneeseen.

45 asiakas Sovellusprotokolla palvelin HTTP HTTP Kuljetuskerros
GET(verkkosivu) RESPONSE(verkkosivu) Kuljetuskerros segmenttejä TCP,UDP TCP, UDP Verkkok. IP Verkkok. IP IP Linkkik. PPP Ethernet Linkkik. PPP Ethernet Fyysinen kerros Fyysinen kerros

46 asiakas palvelin Kuljetuskerros segmenttejä TCP,UDP TCP, UDP Verkkok. IP Verkkok. IP IP Linkkik. PPP Ethernet Linkkik. PPP Ethernet Fyysinen kerros Fyysinen kerros

47 REITITYS osoitteet reititysalgoritmit reititysprotokollat reititin
reititystaulu maailmanlaajuinen verkko, ‘hajautettu’ tehokkuus

48 Fragmentointi

49 selain palvelin: TCP TCP Kuljetuskerros SEND(segment ) SEND(segment) IP-palvelu (yhteydetön, epäluotettava ) TCP- antaa segmentejä IP-kerrokselle siirrettäväksi toiseen koneeseen. näyttää käyttäjälleen.

50 IP-osoitteiden muodot
A: verkko-os koneosoite B: verkko-osoite koneosoite C: verkko-osoite koneos. D: monilähetysosoite E: varatttu tulevaan käyttöön IP-osoitteiden muodot

51 Erilaisia verkkoja Ethernet vuororengas, vuoromerkkiväylä FDDI, DQDB
Frame Relay, ATM, puhelinverkko eri valmistajien omat verkot => monia erilaisia protokollia

52 IPv6 IPv4:n osoitteet loppuvat Next Generation IP isompi osoitekenttä
muita parannuksia tehokkuus muuttunut käyttöympäristö uudet käyttötarpeet käyttökokemus

53 Datagram Length (bytes)
Version Header Length Type of Service Datagram Length (bytes) 16-bit Identifier


Lataa ppt "Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja:"

Samankaltaiset esitykset


Iklan oleh Google