Tietoliikenne II (2 ov)

Samankaltaiset tiedostot
Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov) Tietoliikenne II. Sisällysluettelo jatkuu. Alustava sisällysluettelo. Suoritus. Täydennystä Tietoliikenne I -kurssin asioihin

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov) Sisällysluettelo jatkuu. Tietoliikenne II. Alustava sisällysluettelo. Suoritus

TCP. TCP-optiot. Erilaisia suorituskykyongelmia. Aikaleima (timestamp) TCP:n peruspiirteiden toiminta tarkemmin. TCP:n uusia piirteitä.

TCP. TCP:n peruspiirteiden toiminta tarkemmin. TCP:n uusia piirteitä. osin vain harjoitustehtävissä

TCP:n peruspiirteiden toiminta tarkemmin. osin vain harjoitustehtävissä. TCP:n uusia piirteitä

Ruuhkanvalvonta on hankalaa!

Ruuhkanvalvonta on hankalaa!

Ruuhkanvalvonta on hankalaa!

TCP. TCP-optiot. Erilaisia suorituskykyongelmia. Aikaleima (timestamp) TCP:n peruspiirteiden toiminta tarkemmin. TCP:n uusia piirteitä.

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov) Syksy 2004 Liisa Marttinen

Tietoliikenne II. Tietoliikenne II (2 ov) Alustava sisällysluettelo. Sisällysluettelo jatkuu. Suoritus. Syksy 2003 Liisa Marttinen

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov) Syksy 2003 Liisa Marttinen

on yksi keskeisimpiä toimintoja Internetin toiminnan varmistamiseksi Internetin ruuhkanhallinta pitkälti

Nopea uudelleenlähetys (Fast retransmit)

Nopea uudelleenlähetys (Fast retransmit)

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

kynnysarvo (threshold)

Ongelma 1: Ei saada kolmea toistokuittausta

kynnysarvo (threshold)

Tietoliikenne II Kurssikoe

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

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla

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

Monimutkaisempi stop and wait -protokolla

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

TCP:n vuonohjaus (flow control)

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

Selektiiviset kuittaukset (RFC 2018, RFC 3517)

Kuittaukset ACK. NAK-kuittaus. kumulatiivinen ACK. yksittäinen ACK. sanoma virheellinen tai puuttuu. tähän saakka kaikki ok!

Kuittaukset. Miksi? Miksi? Negatiiviset kuittaukset NAK-kuittauksilla voidaan nopeuttaa uudelleenlähettämistä. Ikkunankoko ACK

Kuittaukset. tähän saakka kaikki ok! Go-Back N. sanoma virheellinen tai puuttuu

Kuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti

Siirron optimointi. Optimointi on usein tarpeen: Silly window syndrome

11/20/ Siirron optimointi

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/

Ratkaisu: Miksi lähetetään uusi paketti? SACK (Selective Acknowledgement) Nopea toipuminen ei onnistu! Limited Transmit

M. Allman, H. Balakrishnan, S. Floyd. January (Status: PROPOSED STANDARD) Lähettäjä ei saa kolmea toistokuittausta =>

M. Allman, H. Balakrishnan, S. Floyd. January Lähettäjä ei saa kolmea toistokuittausta =>

Esimerkki jatkuu. ajastin laukeaa, uudelleen sanoma 2. <seq = 6, data = m6>

ELEC-C7241 Tietokoneverkot Kuljetuskerros

Tietoliikenne II (2 ov)

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

Tietoliikenne II (2 ov)

Tietoliikenteen perusteet

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

3. Kuljetuskerros 3.1.

OSI ja Protokollapino

3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end

3. Kuljetuskerros 3.1.

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Kuljetuskerros. Matti Siekkinen. T Johdatus tietoliikenteeseen kevät 2011

TCP/IP-protokollapino. Kuljetuskerros. Tämän luennon jälkeen. Sisältö. Matti Siekkinen. Ymmärrätte:

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

3. Kuljetuskerros 3.1. Kuljetuspalvelu. Internetin kuljetuskerros. kuljetuspalvelut parantavat verkkopalveluja

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

Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta

Kuljetuskerroksen protokollat

Kuljetuskerros. Kirja sivut: ,

Tietoliikenne I 2 ov kevät 2002

Tietoliikenteen perusteet. Kuljetuskerros

Tietoliikenne I (muuntokoulutettaville) 2 ov Syksy 2002 Luennot Liisa Marttinen 11/6/2002 1

Tietoliikenteen perusteet. Kuljetuskerros

Kuljetuskerroksen protokollat. Kuljetuskerroksen tarkoitus. Luotettava vai epäluotettava?

Kuljetuskerroksen protokollat

peittää verkkokerroksen puutteet

Tietoliikenteen perusteet. Kuljetuskerros

S Tietoliikenneverkot S Luento 6: Liikenteenhallinta

Tietoliikenteen perusteet. Kuljetuskerros

6. Kuljetuskerros 6.1. Kuljetuspalvelu End- to- end. kuljetuspalvelut parantavat verkkopalveluja Kuljetuskerroksen toiminta

6. Kuljetuskerros 6.1. Kuljetuspalvelu End- to- end

6. Kuljetuskerros 6.1. Kuljetuspalvelu

Tietoliikenteen perusteet

Tietoliikenteen perusteet

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu

3. Kuljetuskerros 3.1. Kuljetuspalvelu

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

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

Kuljetuskerros. Matti Siekkinen. T Johdatus tietoliikenteeseen kevät 2013

Tehtävä 2: Tietoliikenneprotokolla

ITKP104 Tietoverkot - Teoria 3

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

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

Siltojen haitat Yleisesti edut selvästi suuremmat kuin haitat

Tietoliikenteen perusteet. Kuljetuskerros

Tietoliikenteen perusteet. Kuljetuskerros

Kuljetuskerros. CSE-C2400 Tietokoneverkot (osa 1) (osa 2) Matti Siekkinen. Tietokoneverkot 2014

Kuljetuskerroksen tehtävä. Kuljetuskerros UDP. UDP-kaappaus (DNS) DNS-haku, Ethernet-kehys <#>

Tietoliikenne I 2 ov kevät 2004

Tietoliikenne I 2 ov kevät 2004

Kuljetuskerros. CSE-C2400 Tietokoneverkot (osa 1) (osa 2) Matti Siekkinen. Tietokoneverkot 2014

Tietoliikenne I 2 ov kevät 2003

Transkriptio:

Tietoliikenne II (2 ov) Syksy 2001 Liisa Marttinen Kurssikirja: Kurose & Ross, Computer Networking Lisämateriaalia: Aiheeseen liittyvät RFC:t 28.10.2001 1 Tietoliikenne II Täydennystä Tietoliikenne I -kurssin asioihin perusteellisemmin laajemmin teoreettisemmin perus-, linkki- ja MAC-kerros reititys, IPv6 TCP: suorituskyky ja uudet piirteet DNS,.. 28.10.2001 2 1

Alustava sisällysluettelo TCP:n suorituskyky optiot uudet piirteet ruuhkanvalvonnassa IPv6, IPsec? ICMP Reititys OSPF, BGP, monilähetysreititys, mobiilireititys muita verkkoja: atm, FDDI,... 28.10.2001 3 Sisällysluettelo jatkuu Linkkikerroksen ja peruskerroksen asioita HDLC, PPP, SONET,.. Tiedonsiirron teoreettinen perusta (Shannon, Nyquist,..) Internetin palvelun laatu (QoS) integroidut palvelut eriytyneet palvelut??? 28.10.2001 4 2

Tietoliikenne (4 ov) (ei enää luennoida) Tietoliikenne I (2 ov) Tietoliikenne II (2 ov) Verkkosovellusten toteuttaminen (4 ov) ATMtietoliikenne Digitaalinen signaalinkäsittely Cum lauden valinnaisia tai laudaturin erikoiskursseja Laajakaistaiset IP-verkot Ym. Ym. Ym. Langaton tietoliikenne Suoritus kurssikoe maks. 50 p, min 20 p ma 17.12. klo 9-13 sali 1 päärakennus kurssiaktiivisuus maks. 20 p traditionaaliset harjoitukset => maks. 10 p miniesseet (1-5 sivua) ja -esitelmät (10-15 min), keskusteluaktiivisuus yms. => maks. 10 p 30 p => 1-, 51 => 3 tai sitten loppukokeella maks. 60 p tammi- tai helmikuussa 2002 28.10.2001 6 3

1. TCP TCP:n peruspiirteiden toiminta tarkemmin osin harjoitustehtävissä TCP:n lisäpiirteitä Window scaling time stamping SACK (Selective Acknowledgement) RED (Random Early Detection) ECN (Explicit Congestion Notification) 28.10.2001 7 TCP-otsakkeen kentät Source port Destination port Sequence number TCP head. length Acknowledgement number U A P R S F R C S S Y I G K H T N N Window size Checksum Checksum Urgent pointer Options (0 or more 32 bit words) Data (optional) 4

TCP-optiot Optio-kenttä erilaisia valinnaisia piirteitä varten Option pituus on 40 tavua» TCP header length -kenttä = 4 bittiä kertoo otsakkeen pituuden 32 bitin sanoina => 15*4 tavua = 60 tavua» 60 tavua -20 tavua vakio-otsaketta => enintään 40 tavua optioita varten Option Option tyyppi Option merkitys pituus 1 tavu 1 tavu pituus - 2 tavua 28.10.2001 9 Optioita: MSS (Maximum Segment Size) käytetään ilmoittamaan vastaanottajan yhteydellä hyväksymä suurin segmentin koko» eri suuntiin voi olla eri koko» voi olla suurempi tai pienempi kuin oletus MSS MTU (Maximum Transfer Unit) = suurin yhdessä verkon kehyksessä kulkeva datamäärä eri verkoissa eri kokoja, mutta minimi MTU= 576 B MSS = MTU - IP-otsake - TCP-otsake oletus MSS = 576-20 - 20 = 536 otsakkeet voivat olla suurempia! 28.10.2001 10 5

MSS ilmoitetaan yhteyttä muodostettaessa eli SYN-segmenteissä kumpikin osapuoli voi ilmoittaa oman MSSarvonsa» jos ei ilmoita, niin suostuu vastaanottamaan minkä tahansa kokoisia segmenttejä. 2 4 maksimi segmentin koko 28.10.2001 11 Muita ehdotettuja optioita (RFC 1323): ikkunaskaalaus (window scaling factor) kasvattaa TCP-otsakkeen 16-bitin ikkunan koon 32-bitin ikkunan kooksi 3 3 skaalaus aikaleimaus (timestamp) segmentin aikaleima palautetaan kuittauksessa 8 10 segmentin aikaleima kuitatun segmentin aikaleiman kaiutus 28.10.2001 12 6

Erilaisia suorituskykyongelmia TCP-protokolla käytössä hyvin erilaisissa ympäristöissä» pitkän viipeen satelliittiyhteyksillä» erittäin nopeilla yhteyksillä» langattomilla yhteyksillä => suorituskykyongelmia otsakkeen kentät liian pieniä» ikkunankoko 16 bittiä => 65536 tavua rajoittaa lähetysnopeutta mm.satelliittiyhteyksillä» järjestysnumero 32 bittiä 28.10.2001 13 rajoittaa lähetysnopeutta erittäin nopeilla yhteyksillä Kaistan ja kiertoviiveen tulo ( bandwidth * delay product) TCP:n suorituskyky riippuu siirtonopeudesta (kaista, bandwidth) ja kiertoviiveestä (RTD, round-trip delay, 1 ms - 100 s) tulo siirtonopeus * kiertoviive kertoo sen datamäärän, joka TCP:n täytyy pystyä käsittelemään, jotta lähettäjä ja vastaanottaja voisivat toimia täydellä vauhdilla paljonko kuittaamatonta dataa verkon täytyy pystyä välittämään Ongelmia syntyy, jos tulo on hyvin suuri! 28.10.2001 14 7

Ideaalitilanteessa lähetysputki on koko ajan täynnä! Lähetysnopeus (bps) Datamäärä, josta verkon tulisi selviytyä RTD (s) aika lähetyksen alusta kuittauksen saapumiseen Ongelmia aiheuttavat LFN-verkot (long, fat pipe network): pitkä viive ja suuri lähetysnopeus, esim. satelliittiyhteydet ja nopeat runkolinjat => tulo > 1 Mb Ongelmia LFN-verkoissa Ikkunan koko -kenttä liian pieni => putki ei täyty ikkunan skaalaus -optio pakettien katoaminen => hidas aloitus eli putki joudutaan tyjentämään parannukset ruuhkanhallintakäytäntöön» Fast Retransmit, Fast Recovery, SACK,» uudelleenlähetysajastimen tarkempi ajastus Timestamp -optio 28.10.2001 16 8

Ikkunan skaalaus (Window scale factor) ikkunakoko = 16 bittiä => 65536 tavua» vuonvalvonnassa» kertoo vastaanottajan ikkunan = kuinka monta tavua voi lähettää ennenkuin täytyy jäädä odottamaan kuittausta jos käytössä ikkunan skaalaus -optio, ikkunakentän arvo kerrotaan 2**F, jossa F on skaalausoption arvo.» Suurin F:n arvo on 14. käytetään vain yhteyden aloituspyynnössä 28.10.2001 17 Miksi uudelleenlähetysajastimen arvo on tärkeä! Ruuhkan oikea havaitseminen riippuu uudelleenlähetysajastimen oikeasta arvosta. Liian suuri arvo => alkavaa ruuhkaa ei huomata ajoissa => verkkoa ylikuormitetaan => syntyy ruuhkatilanne => resurssien hukkakäyttöä Liian pieni arvo => luullaan ruuhkaksi, vaikka ei olekaan => hidastetaan turhaan lähetystä => resurssien hukkakäyttöä 28.10.2001 18 9

Uudelleenlähetysajastimen arvo mitataan paketin kiertoviive M ja viiveen poikkeama odotetusta eli RTT-M RTT = artt + (1-a)M D = bd + (1-b) RTT-M ajastimen arvo = RTT + 4D Ongelmia aiheuttavat uudelleenlähetykset Mikä sanomista kuitataan? Karn: uudelleenlähetyksiä ei oteta mukaan, vaan ajastimen arvo kaksinkertaistetaan aina uudelleenlähetyksessä, kunnes saadaan onnistuneesti kuittaus. Useat toteutukset mittaavat vain yhden paketin ikkunasta! Ongelmia, jos ikkuna suuri. 28.10.2001 19 Aikaleima (timestamp) Kaksi eri optiota Timestamp Value lähtevissä segmenteissä, Timestamp Echo Reply kuittauksessa sama kuin kuitatun segmentin Timestamp-arvo Voidaan käyttää missä tahansa datasegmentissä => Voidaan laskea kiertoviive jokaiselle segmentille, myös uudelleenlähetyksille. 28.10.2001 20 10

RTTM (Round-Trip Time Measurement) lähetettävään sanomaan liitetään aikaleimaoptioon aikaleima aikaleimakello, joka tikittää riittävän nopeasti sama aikaleima palautetaan sanoman kuittauksessa ongelmatilanteita: viivästyneet kuittaukset: aikaisin kuittaamaton TCP:n ei tarvitse kuitata jokaista segmenttiä puuttuva segmentti: viimeisin hyväksytty puuttuvan segmentin saapuminen: viimeisin puuttuva 28.10.2001 21 Viivästetty ACK (Delayed ACK) Ei tarvitse välttämättä kuitata jokaista segmenttiä kuitenkin kuitattava ainakin joka toinen ja viive saa olla korkeintaan 500 ms, usein noin 200ms Hyöty: kuittaus kulkee datan mukana samalla kertaa ikkunan muotos, kuittaus ja kaiutus Haitta: kiertoviiveen laskeminen, pakettien kellotus 28.10.2001 22 11

TCP-ruuhkanvalvonta Lähettäjä verkko vastaanottaja datasegmentit ACK toimii lähetyksen tahdistajana putkestä poistunut dataa, joten voidaan lähettää sama määrä lisää 28.10.2001 23 TCP self-clocking TCP tahdistaa itse oman lähetyksensä ACK:ien avulla nopeutta voi rajoittaa» verkko ruuhkan takia syytä vielä pienentää lähetysnopeutta» vastaanottaja lähetysnopeus ok lähettäjä ei voi tietää kumpi 28.10.2001 24 12

Ruuhkanvalvonta on hankalaa! Sitä varten on koko ajan kehitetty yhä parempia menetelmiä uudelleenlähetysajastimen arvo» RTT:n varianssin arviointi» Karnin algoritmi» exponential retransmission timer backoff lähetysikkunan hallinta» slow start» congestion avoidance» fast retransmit» fast recovery 28.10.2001 25 Lähetettynä voi olla vain rajallinen määrä kuittaamatonta dataa ( Flight size ) vastaanottoikkuna (receiver window, rwnd) vastaanottaja ilmoittaa lähettämiensä segmenttien ikkunakentässä vastaanottaja voi vapaasti kasvattaa tai pienentää vuonvalvontaa varten ruuhkaikkuna (congestion window, cwnd) lähettäjä saa korkeintaan lähettää verkkoon, jotta verkko ei tukkeutuisi ruuhkanhallintaa varten min(rwnd, cwnd) rajoittaa lähettämistä 28.10.2001 26 13

Ruuhkaikkunan arvo eri tilanteissa initial window (IW)» ruuhkaikkunan arvo heti kolminkertaisen kättelyn jälkeen korkeintaan kaksi segmenttiä tai 2* suurin määrä tavuja, jonka lähettäjä voi kerralla lähettää (SMSS) loss window (LW)» ikkunan arvo, kun TCP on havainnut, uudelleenlähetysajastimen lauettua, segmentin kadonneeksi restart window (RW)» kun lähetys käynnistetään uudelleen joutilaana olon jälkeen 28.10.2001 27 Slow start Hitaan aloituksen aikana Ruuhkaikkunaa cwnd kasvatetaan korkeintaan maksimilähetysmäärällä (SMSS) jokaista uutta dataa kuittaavaa ACKia kohden cwnd = 2 SMMS = 3 SMMS = 4 SMMS 28.10.2001 28 14

Hidas aloitus Aina yhteyden alussa kun kuittausta ei tule ajoissa (paketti kadonnut!) 1 2 2 2 2 2 2 Ajastin laukeaa noin 400 ms kuluttua, jonka jälkee aloitetaan hidas aloitus! 28.10.2001 29 Duplicate Ack ensikuittaus (first-time ACK) segmentin ensimmäinen kuittaus tähän saakka kaikki on kunnossa toistokuittaus (duplicate ACK) vastaanottaja kuittaa viimeksi saatua hyväksyttyä segmenttiä aina kun saa virheellisen tai väärässä järjestyksessä tulevan segmentin NAKin korvike, jolla ilmoitetaan ongelmista lähettäjälle 28.10.2001 30 15

Nopea uudelleenlähetys (Fast retransmit) Kun lähettäjä vastaanottaa 3 toistokuittausta samalle segmentille, se lähettää heti puuttuvan segmentin uudestaan eikä odota segmentin ajastimen laukeamista Seq 0 ensikuittaus toistokuittaukset (3 kpl) Seq 100 ACK = 100 kaikissa näissä kuittauksissa 28.10.2001 31 ACK =600 Ongelma 1: Ei saada kolmea toistokuittausta Jos ruuhkaikkuna on hyvin pieni, ei voi tulla kolmea toistokuittausta, jos ruuhkaikkuna sallii vain kolme kuittaamatonta lähetystä 28.10.2001 32 16

Ongelma 2: Virheryöppy tuhoaa monta segmenttiä Kun useita segmenttejä katoaa samasta ikkunasta Seq 0 Segmentit hävivät Seq 0 Seq 1 ACK 0 ACK 1 Joka kierroksella pystytään uudelleenlähettämään vain yksi kadonnut segmentti!! Entä jos suuri kiertoviive 28.10.2001 33 Limited Transmit RFC 3042: Enhansing TCP s Loss Recovery Using Limited Transmit. M. Allman, H. Balakrishnan, S. Floyd. January 2001 (Status: PROPOSED STANDARD) Lähettäjä ei saa kolmea toistokuittausta => odotettava aina ajastimen laukeamista ja suoritettava hidas aloitus => hidastaa usein turhaan lähettämistä 28.10.2001 34 17

Ratkaisu: Kun lähettäjä saa toistokuittauksen, se saa aina lähettää yhden uuden paketin verkkoon» kuittaus kertoo, että verkosta poistettu paketti, joten verkkoon siis mahtuu! Kun saman paketin toistokuittauksia tulee kolme, niin suoritetaan nopea uudeelleenlähetys ja nopea toipuminen (fast recovery) 28.10.2001 35 Vaikka ruuhkaikkuna on pieni, niin rajoitetulla lähetyksellä saadaan tarvittaessa syntymään kolme toistokuittausta paketti 0 paketti 1 paketti 2 paketti 3 ensikuittaus 1. toistok. paketti 4 2. toistok. 3. toistok. 28.10.2001 36 18

Miksi lähetetään uusi paketti? Miksi ei heti ensimmäisen toistokuittauksen jälkeen lähetä uudestaan sitä jo lähetettyä kuittaamatonta pakettia? Koska ei vielä olla varmoja siitä, että paketti on todella kadonnut. Se voi olla vain viivästynyt tai paketit ovat matkalla joutuneet väärään järjestykseen => näin vältetään turhia uudelleenlähetyksiä 28.10.2001 37 19