1 / 53

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov). Kevät 2001 Liisa Marttinen Kurssikirja: Tanenbaum, Computer Networks (3. Painos). Tietoliikenne II. Kertausta ja täydennystä Tietoliikenne I -kurssin asioihin perusteellisemmin laajemmin ‘teoreettisemmin’

selma
Download Presentation

Tietoliikenne II (2 ov)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • pe 9.3. 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 • 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.) (Present.) (Session) (Session) Kuljetuskerros TCP,UDP TCP, UDP Verkkok. IP Verkkok. IP IP Linkkik. PPP Ethernet Linkkik. PPP Ethernet Fyysinen kerros Fyysinen kerros

  10. Kone B Kone A Kerrosmalli 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 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. M H4 M1 H4 M2 H3 H4 M1 H4 M2 H2 H3 H4 M1 H2 H4 M2 Kerros 5 4 3 2 1 H1 H2 H3 H4 H1 M1 H2 H4 Esimerkki sanoman M lähettämisestä 5-kerroksisessa protokollapinossa. H1 M2

  14. M1 M2 H4 M1 H4 M2 M1 M2 H2 H3 H4 H2 H4 H1 H2 H3 H4 H1 M1 H2 H4 H1 M2 Kerros 5 4 3 2 1 H3 H4 M1 H4 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. asiakas Sovellusprotokolla 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. selain palvelinkone Verkkosivun haku GET(URL) HTTP HTTP http://www.cs.Helsinki.FI/kokeet/lkokeetkev01.html 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: www.cs.Helsinki.FI 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 128.214.4.114 Query(www.cs.Helsinki.FI) Response(128.214.4.29) 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ä 128.214.4.29 kuuntelee porttia 80 www-palvelin SOCKET BIND (80) LISTEN ACCEPT Selain SOCKET CONNECT(128.214.29, 80) Connection Request TCP TCP TCP-PDU:ita Connection Accept verkkokerros (IP)

  22. TCP-yhteyttä käyttäen lähetetään ja vastaanotetaan dataa = HTTP-PDUita 128.214.4.29 kuuntelee porttia 80 Käytetään pistokeprimitiivejä www-palvelin RECEIVE SEND(RESPONSE(tiedosto)) Selain SEND (GET(URL)) RECEIVE Data 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. 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. selain palvelin: www.cs.Helsinki.FI TCP-kuljetuspalvelu SOCKET BIND LISTEN ACCEPT TCP PDUt SOCKET CONNECT Uusi pistoke yhteyttä varten Connreq Connack Data Data SEND(QUERY) RECEIVE RECEIVE SEND (response)

  26. selain Sovelluskerros palvelin: www.cs.Helsinki.FI 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. 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 GK 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 • 0 - 64000 tavua • kuittaus irroitettu lähetysluvasta (credit-vuonvalvonta) • Tarkistussumma(Checksum) • lasketaan otsakkeelle, datalle ja ns. pseudo-otsakkeelle

  36. pseudo-otsake Source IP address Destination IP address 00000000 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: www.cs.Helsinki.FI 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 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: www.cs.Helsinki.FI 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. 0 8 16 24 31 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

More Related