Kappale 3, Siirto Taso. Luento-osuus 1 Käännös Mirja Hosionaho 100% Tietoverkot: ylhäältä alas lähestyminen
|
|
- Maarit Mikkola
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Kappale 3 Siirto Taso Kappale 3, Luento-osuus 1 Käännös Mirja Hosionaho 100% Tietoverkot: ylhäältä alas lähestyminen 6 painos Jim Kurose, Keith Ross Addison-Wesley Maaliskuu 2012 Transport Layer 3-1
2 Kappale 3 Siirto Taso Huomautus näiden ppt kalvojen käytöstä: Nämä kalvot ovat vapaasti käytettävissä (osastoille, oppilaille ja lukijoille). Ne ovat powerpoint muodossa jotta animaatiot toimivat; jotta voit lisätä, poistaa ja muokata kalvoja ja sisältöä vastaamaan tarpeitasi(mukaan lukien tätä kalvoa). Niihin on kulunut paljon aikaa meidän puoleltamme, joten vastapalveluksena pyydämme: jos käytät kalvoja (esim luokassa) mainitsethan niiden lähteen (koska haluamme että ihmiset käyttävät kirjaamme!) Jos julkaiset dioja missään internetissä mainitsethan miltä osin ne ovat muokatut, tai identtiset, meidän kalvoihin. Lisäksi liitä copyright tiedot mukaan julkaisuun. Kiitos ja Hyviä lukuhetkiä! JFK/KWR All material copyright J.F Kurose and K.W. Ross, Kaikki oikeudet pidätetään Tietoverkot: ylhäältä alas lähestyminen 6 painos Jim Kurose, Keith Ross Addison-Wesley Maaliskuu 2012 Transport Layer 3-2
3 Kappale 3: Siirtokerros tavoitteemme: ymmärrä siirtokerroksen palveluiden takana olevat periaatteet: multipleksaus, demultipleksaus luotettava tiedonsiirto virtauksen hallinta ruuhkanhallinta opi verkkokerroksen protokollista: UDP: yhteydetön siirto TCP: yhteysorientoitunut luotettava siirto TCP ruuhkanhallinta Transport Layer 3-3
4 Kappale 3 hahmotelma 3.1 siirtokerroksen palvelut 3.2 multipleksaus ja demultipleksaus 3.3 yhteydetön siirto: UDP 3.4 Luotettavan tiedonsiirron periaatteet 3.5 yhteys-orientoitunut siirto: TCP segmenttirakenne luotettava tiedonsiirto virtauksen hallinta yhteyden hallinta 3.6 ruuhkanhallinnan periaatteet 3.7 TCP:n ruuhkanhallinta Transport Layer 3-4
5 Siirtopalvelut ja -protokollat tarjoa looginen kommunikaatio appsien ja eri koneissa pyörivien prosessien välille siirtoprotokollat pyörivät loppusysteemeissä lähetyspuoli: murra appsin viestit segmentteihin, anna verkkokerrokselle rcv side: reassembles segments into messages, passes to app layer useita tiedonsiirtoprotokollia Internet: TCP ja UDP application siirto network data link physical application siirto network data link physical Transport Layer 3-5
6 Siirto vastaan verkkokerros verkkokerros: looginen kommunikaatio hostien välillä siirtokerros: looginen kommunikaatio prosessien välillä on riippuvainen ja parantaa verkkokerroksen palveluita talovertaus 12 lasta Annin talossa vievät lähettävät kirjeitä 12 lapselle Villen talossa: hostit = talot prosessit = lapset appsin viestit = kirjaimet kirjeissä siirtoprotokolal = Anni ja Ville jotka demuksaavat sisaruksilleen verkkokerroksen protokolla: postipalvelu Transport Layer 3-6
7 Internetin siirtokerroksen protokollat luotettava, järjestyksessä tapahtuva toimitus ruuhkanhallinta virtauksen hallinta yhteyden rakentaminen epäluotettava, järjestelemätön toimitus: UDP riisutttu paras yritys IP application transport network data link physical network data link physical network data link physical network data link physical palveluita ei saatavilla viiveen vakuudet kaistan vakuudet network data link physical network data link physical network data link physical network data link physical application transport network data link physical Transport Layer 3-7
8 Kappale 3 hahmotelma 3.1 siirtokerroksen palvelut 3.2 multipleksaus ja demultipleksaus 3.3 yhteydetön siirto: UDP 3.4 Luotettavan tiedonsiirron periaatteet 3.5 yhteys-orientoitunut siirto: TCP segmenttirakenne luotettava tiedonsiirto virtauksen hallinta yhteyden hallinta 3.6 ruuhkanhallinnan periaatteet 3.7 TCP:n ruuhkanhallinta Transport Layer 3-8
9 Multipleksaus / demultipleksaus multipleksaus lähettäjällä: käsittele dataa useista socketeista, lisää siirtotunniste (käytetään myöhemmin demultipleksaukseen demultipleksaus vastaanottajalla käytä ylätunnistetta segmenttien toimittamiseen oikeassa järjestyksessä sovellus sovellus P3 transport network link P1 P2 transport network link physical sovellus P4 transport network link socket ti prosess i physical physical Transport Layer 3-9
10 Kuinka demultipleksaus toimii hosti vastaanottaa IP datagrammeja jokainen datagrammi omaa lähde IP osoitteen, määränpää IP osoitteen jokainen datagrammi kantaa yhtä siirtokerroksen segmenttiä jokaisella segmentillä on lähde, määränpää porttinumero hosti käyttää IP osoitteita & porttinumeroita ohjaamaan segmentin oikeaan sockettiin 32 bittiä lähdeportti # mrp # muut tunnistekentät sovellusda ta TCP/UDP segmenttiformaatti Transport Layer 3-10
11 Yhteydetön demultipleksaus takaisinkutsu: luotu portti omaa hosti-paikallinen portti # takaisinkutsu: kun luodaan datagrammi UDP DatagramSocket mysocket1 = new DatagramSocket(12534); sockettiin lähetettäväksi, on spesifoitava määränpää IP osoite määränpää portti # Kun hosti vastaanottaa UDP segmentin: tarkistaa määränpääportin # segmentissä osoittaa UDP segmentin sockettiin jolla on tuo portti # IP datagrammit samalla määränpääporttinumerolla mutta eri lähde-ip:llä ja / tai lähdeportti numerolla tullaan ohjaamaan samaan sockettiin määränpäässä Transport Layer 3-11
12 Yhteydetön demuksaus: esimerkki DatagramSocket mysocket2 = new DatagramSocket (9157); application P 3 transport network link physical DatagramSocket serversocket = new DatagramSocket (6428); application P 1 transport network link physical DatagramSocket mysocket1 = new DatagramSocket (5775); application P 4 transport network link physical lähdeportti: 6428 määränpää portti: 9157 lähdeportti:? määränpääportti:? lähdeportti: 9157 määränpääportti: 6428 lähdeportti:? määränpää portti:? Transport Layer 3-12
13 Yhteys-orientoitunut demuksaus TCP socketti tunnistetaan nelikosta: lähteen IP osoite lähteen porttinumero määränpään IP osoite määränpään porttinumero demuksaus: vastaanottaja käyttää kaikkia neljää arvoa ohjaamaan segmentin oikeaan sockettiin serverin hosti voi tukea useita samanaikaisia TCP socketteja: jokainen socketti tunnistetaan omasta nelikostaan verkkopalvelimilla on eri socketteja jokaiselle yhdistävälle asiakkaalle ei-pysyvä HTTP omaa eri socketin jokaiselle pyynnölle Transport Layer 3-13
14 Yhteys-orientoitunut demuksaus : esimerkki applikaatio P 3 kuljetus verkko linkki fyysinen P 4 applikaatio P P applikaatio 5 6 P P 2 3 kuljetus verkko linkki fyysinen palvelin: IP-osoite B kuljetus verkko linkki fyysinen isäntä: IP osoite A lähde IP,portti: B,80 osoite IP,portti: A,9157 lähde IP,portti: A,9157 osoite IP, portti: B,80 kolme segmenttiä, kaikki osoitettu IPosoite: B, osoiteportti: 80 demultipleksataan eri soketteihin lähde IP-portti: C,5775 osoite IP,port: B,80 lähde IP,portti: C,9157 osoite IP,portit: B,80 isäntä: IP osoite C Transport Layer 3-14
15 Yhteys-orientoitunut demuksaus : esimerkki host: IP address A application P 3 transport network link physical source IP,port: B,80 dest IP,port: A,9157 source IP,port: A,9157 dest IP, port: B,80 application P4 transport network link physical rinnakkainen palvelin server: IP address B P 2 application transport network link physical source IP,port: C,5775 dest IP,port: B,80 source IP,port: C,9157 dest IP,port: B,80 P 3 host: IP address C Transport Layer 3-15
16 Kappale 3 hahmotelma 3.1 siirtokerroksen palvelut 3.2 multipleksaus ja demultipleksaus 3.3 yhteydetön siirto: UDP 3.4 Luotettavan tiedonsiirron periaatteet 3.5 yhteys-orientoitunut siirto: TCP segmenttirakenne luotettava tiedonsiirto virtauksen hallinta yhteyden hallinta 3.6 ruuhkanhallinnan periaatteet 3.7 TCP:n ruuhkanhallinta Transport Layer 3-16
17 UDP: User Datagram Protocol [RFC 768] ei leluja, karu Internet siirtoprotokolla hyvä yritys palvelu, UDP osiot voivat: hukkua tulla perille väärässä järjestyksessä yhteudetöm: ei kättelyä UDP lähettäjänvastaanottajan välillä jokainen UDP osio käsitellään yksitellen UDP käyttö: median striimausohjelmat (hukkuminen ei haittaa, nopeudesta riippuvainen) DNS SNMP(verkkohallinta) luotettava tiedonsiirto UDP:lla: lisää luotettavuutta ohjelmatasolla ohjelmakohtainen hukatun datanpalautus Transport Layer 3-17
18 UDP: segmentin headeri 32 bittiä lähetysportti # vast.ott.portti # pituus ohjelmada ta (lasti) UDP segmentin formaatti tarkistussumma UDP segmentin pituus tavuina, sisältäen headerin Miksi on olemassa UDP? ei yhteydenmuodostusta (viive) yksinkertainen: ei yhteystiloja kummassakaan päädyssä pieni headerinkoko ei ruuhkanhallintaa: UDP voi viilettää täysiä. Aina. Transport Layer 3-18
19 UDP tarkistussumma Tavoite: Huomaa virheet (bitit väärinpäin) lähetetystä segmentistä lähettäjä: Kohtele segmentin (sis. headerin) 16-bittisten kokonaislukujen sekvenssinä tarkistussumma: sekvenssin ynnäys lähettäjä laittaa tarkistussumman UDP:n headeriin ennen lähetystä vastaanottaja: laske tarkistussumma tarkista jos itse laskettu tarkistussumma vastaa headerissä olevaa: EI - virheellinen KYLLÄ - Ei havaittuja virheitä. Mutta ehkä virheitä kuitenkin? Lisää myöhemmin. Transport Layer 3-19
20 Internet tarkistussumma: esim. esim: ynnää kaksi 16-bit kokonaislukua jämä siirretään alkuun summa tarkistus summa Huom: Kun summataan lukuja, yli 16bitin menevät luvut pitää summata takaisin 16bit lukuun. Transport Layer 3-20
21 Chapter 3 hahmotelma 3.1 siirtokerroksen palvelut 3.2 multipleksaus ja demultipleksaus 3.3 yhteydetön siirto: UDP 3.4 Luotettavan tiedonsiirron periaatteet 3.5 yhteys-orientoitunut siirto: TCP segmenttirakenne luotettava tiedonsiirto virtauksen hallinta yhteyden hallinta 3.6 ruuhkanhallinnan periaatteet 3.7 TCP:n ruuhkanhallinta Transport Layer 3-21
22 Luotettavan tiedonsiirron perusteet tärkeää ohjelma, kuljetus ja linkki tasoilla top-10 listalla tärkeitä tietoliikenneaiheita! ei-luotettavan kanavan ominaisuudet määrävät rdt:n eli luotettavan tiedonsiirron protokollan kompleksisuuden Transport Layer 3-22
23 Luotettavan tiedonsiirron perusteet important in application, transport, link layers top-10 list of important networking topics! characteristics of unreliable channel will determine complexity of reliable data transfer protocol (rdt) Transport Layer 3-23
24 Luotettavan tiedonsiirron perusteet important in application, transport, link layers top-10 list of important networking topics! characteristics of unreliable channel will determine complexity of reliable data transfer protocol (rdt) Transport Layer 3-24
25 Luotettava tiedonsiirto: alkuun pääseminen rdt_send(): Kutsutaan ylhäältä, (esim ohjelma). Annetaan vastaanottajan ylätasolle vietävä data deliver_data(): rdt kutsuu datan viemiseksi ylemmälle tasollle lähetyspuoli receive side udt_send(): rdt kutsuu jotta siirretään paketti epäluotettavan kanavan yli vastaanottajalle rdt_rcv(): kutsutaan kun paketti vastaanotetaan perillä Transport Layer 3-25
26 Luotettava datasiirto: alkuun pääseminen teemme näin: kehitämme vähitellen lähettäjän ja vastaanottajan puolet luotettavassa datasiirtoprotokollassa (reliable data transfer protocol (rdt)) keskitytään vain yksisuuntaiseen datasiirtoon mutta kontrollitietoja virtaa molempiin suuntiin! käytetään tilakoneita (FSM) lähettäjän ja vastaanottajan määrittelyyn tila: kun ollaan tässä tilassa, seuraava tila määräytyy yksiselitteisesti seuraavan tapahtuman seurauksena tila 1 tapahtuma joka aiheuttaa tilanmuutoksen toiminta tilanmuutoksessa tapahtuma toiminta tila 2 Transport Layer 3-26
27 rdt1.0: luotettava datasiirto luotettavassa väylässä käytetty väylä täysin luotettava ei bittivirheitä ei pakettihäviöitä erilliset tilakoneet lähettäjälle ja vastaanottajalle: lähettäjä lähettää datan väylään vastaanottaja lukee datan väylästä odota kutsua ylhäältä rdt_send(data) packet = make_pkt(data) udt_send(packet) odota kutsua alhaalta rdt_rcv(packet) extract (packet,data) deliver_data(data) lähettäjä vastaanottaja Transport Layer 3-27
28 rdt2.0: väylässä bittivirheitä käytetty väylä saattaa vaihtaa bittejä paketissa tarkistussummalla havaitaan bittivirheet the question: how to recover from errors: acknowledgements (ACKs): receiver explicitly tells sender that pkt received OK negative acknowledgements (NAKs): receiver explicitly tells sender that pkt had errors sender retransmits pkt on receipt of NAK Kuinka ihmiset selviävät virheistä keskustelun aikana? new mechanisms in rdt2.0 (beyond rdt1.0): error detection receiver feedback: control msgs (ACK,NAK) rcvr- >sender Transport Layer 3-28
29 rdt2.0: väylässä bittivirheitä käytetty väylä saattaa vaihtaa bittejä paketissa tarkistussummalla havaitaan bittivirheet Kysymys: kuinka toivutaan virheistä: kuittaukset (ACKs): vastaanottaja kertoo lähettäjälle, että paketin vastaanotto OK negatiiviset kuittaukset (NAKs): vastaanottaja kertoo lähettäjälle, että paketissa oli virheitä lähettäjä uudelleenlähettää paketin saadessaan NAK:n rdt2.0 uudet toiminnot (verrattuna rdt1.0): virheen havaitseminen palaute: kontrolliviestit (ACK,NAK) vastaanottajalta lähettäjälle Transport Layer 3-29
30 rdt2.0: tilakoneen määrittely rdt_send(data) sndpkt = make_pkt(data, checksum) udt_send(sndpkt) odota kutsua ylhäältä rdt_rcv(rcvpkt) && isack(rcvpkt) Λ lähettäjä odota ACK tai NAK rdt_rcv(rcvpkt) && isnak(rcvpkt) udt_send(sndpkt) vastaanottaja rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(nak) odota kutsua alhaalta rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ack) Transport Layer 3-30
31 rdt2.0: toiminta ilman virheitä rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) Wait for call from above rdt_rcv(rcvpkt) && isack(rcvpkt) Λ Wait for ACK or NAK rdt_rcv(rcvpkt) && isnak(rcvpkt) udt_send(sndpkt) rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(nak) Wait for call from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ack) Transport Layer 3-31
32 rdt2.0: virhe skenaario rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) Wait for call from above rdt_rcv(rcvpkt) && isack(rcvpkt) Λ Wait for ACK or NAK rdt_rcv(rcvpkt) && isnak(rcvpkt) udt_send(sndpkt) rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(nak) Wait for call from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ack) Transport Layer 3-32
33 rdt2.0 sisältää kohtalokkaan virheen! mitä tapahtuu jos ACK/NAK korruptoituu? lähettäjä ei tiedä mitä tapahtui vastaaottajalla! uudelleenlähetys ei käy: mahdollinen viestin duplikointi pysähdy ja odota lähettäjä lähettää yhden paketin, sitten odottaa vastaanottajan vastausta duplikaattien käsittely: lähettäjä uudelleenlähettää senhetkisen paketin jos ACK/NAK korruptoitunut lähettäjä lisää järjestysnumeron jokaiseen pakettiin vastaanottaja hylkää (ei lähetä eteenpäin) duplikoidut paketit Transport Layer 3-33
34 rdt2.1: lähettäjä käsittelee rikkinäisen ACK:n/NAK:n rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt) Λ rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isnak(rcvpkt) ) udt_send(sndpkt) rdt_send(data) sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt) Wait for call 0 from above Wait for ACK or NAK 1 rdt_send(data) Wait for ACK or NAK 0 Wait for call 1 from above rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isnak(rcvpkt) ) udt_send(sndpkt) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt) sndpkt = make_pkt(1, data, checksum) udt_send(sndpkt) Λ Transport Layer 3-34
35 rdt2.1: vastaanottaja käsittelee rikkinäisen ACK:n/NAK:n rdt_rcv(rcvpkt) && (corrupt(rcvpkt) sndpkt = make_pkt(nak, chksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && not corrupt(rcvpkt) && has_seq1(rcvpkt) sndpkt = make_pkt(ack, chksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq0(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ack, chksum) udt_send(sndpkt) Wait for 0 from below Wait for 1 from below rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ack, chksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && (corrupt(rcvpkt) sndpkt = make_pkt(nak, chksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && not corrupt(rcvpkt) && has_seq0(rcvpkt) sndpkt = make_pkt(ack, chksum) udt_send(sndpkt) Transport Layer 3-35
36 rdt2.1: keskustelua lähettäjä: seq # lisätty pakettiin kaksi seq. #:a (0,1) riittää. Miksi? täytyy tarkistaa, onko ACK/NAK korruptoitunut kaksinkertainen määrä tiloja tilan täytyy muistaa pitäisikö odotettavan paketin seq # olla 0 vai 1 vastaanottaja: täytyy tarkistaa onko vastaanotettu paketti duplikaatti tila osoittaa, onko 0 vai 1 odotettu paketin seq # huomaa: vastaanottaja ei voi tietää saiko lähettäjä ACK:n/NAK:n Transport Layer 3-36
37 rdt2.2: protokolla ilman NAK:ia samat toiminnot kuin rdt2.1:ssa, käyttäen vain ACK instead of NAK:n sijasta vastaanottaja lähettää ACK:n viimeisenä ehjänä vastaanotetulle paketille vastaanottajan täytyy tarkasti sisällyttää seq # paketille jota ollaan kuittaamassa duplikoitunut ACK saa lähettäjän toimimaan samoin kuin NAK: uudelleenlähetä viimeisin paketti Transport Layer 3-37
38 rdt2.2: lähettäjä, vastaanottaja palat rdt_rcv(rcvpkt) && (corrupt(rcvpkt) has_seq1(rcvpkt)) udt_send(sndpkt) rdt_send(data) sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt) Odota kutsua 0 ylhäältä Odota 0 alhaalta lähettäjä FSM pala lähettäjä FSM pala Odota ACK 0 rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isack(rcvpkt,1) ) udt_send(sndpkt) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt,0) Λ rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ack1, chksum) udt_send(sndpkt) Transport Layer 3-38
39 rdt3.0: kanavat virheillä ja häviöillä uusi oletus: taustalla oleva kanava voi myös menettää paketteja (data, ACKs) tarkistussumma, seq. #, ACKs, uudelleenlähetykset auttavat mutta eivät tarpeeksi lähestymistapa: lähettäjä odottaa kohtuullisen ajan ACK:ia uudelleenlähettää jos ACK:ia ei oteta vastaan tässä ajassa jos paketti (tai ACK) vain viiveellinen (ei kadotettu): uudelleenlähetys on kaksoiskappale mutta seq. # pitää tästä jo huolen vastaanottajan täytyy määrittää paketin seq # jolle ACK lähetetään vaatii ajastimen Transport Layer 3-39
40 rdt3.0 lähettäjä Odota kutsua 0 ylhäältä rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isack(rcvpkt,1) stop_timer timeout rdt_rcv(rcvpkt) Λ udt_send(sndpkt) start_timer rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) isack(rcvpkt,0) ) Λ odota ACK1 rdt_send(data) sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt) start_timer rdt_send(data) odota ACK0 Odota kutsua 1 ylhäältä 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) Λ Transport Layer 3-40
41 rdt3.0 toiminnassa lähettäjä vst.ottaja lähettäjä vst.ottaja send pkt0 rcv ack0 send pkt1 rcv ack1 send pkt0 pkt0 ack0 pkt1 ack1 pkt0 ack0 (a) ei häviöitä rcv pkt0 send ack0 rcv pkt1 send ack1 rcv pkt0 send ack0 send pkt0 rcv ack0 send pkt1 timeout resend pkt1 rcv ack1 send pkt0 pkt0 ack0 pkt1 X häviö pkt1 ack1 pkt0 ack0 rcv pkt0 send ack0 rcv pkt1 send ack1 rcv pkt0 send ack0 (b) paketti häviö Transport Layer 3-41
42 rdt3.0 toiminnassa lähettäjä send pkt0 rcv ack0 send pkt1 timeout resend pkt1 rcv ack1 send pkt0 pkt0 ack0 pkt1 ack1 X häviö pkt1 ack1 pkt0 ack0 vst.ottaja rcv pkt0 send ack0 rcv pkt1 send ack1 rcv pkt1 (detect duplicate) send ack1 rcv pkt0 send ack0 lähettäjä send pkt0 rcv ack0 send pkt1 timeout resend pkt1 rcv ack1 send pkt0 rcv ack1 send pkt0 pkt0 ack0 pkt1 ack1 pkt1 pkt0 ack1 ack0 pkt0 ack0 vst.ottaja rcv pkt0 send ack0 rcv pkt1 send ack1 rcv pkt1 (detect duplicate) send ack1 rcv pkt0 send ack0 rcv pkt0 (detect duplicate) send ack0 (c) ACK häviö (d) etuaikainen timeout/ viiveinen ACK Transport Layer 3-42
43 dt3.0 suorituskyky rdt3.0 on korrekti, mutta suorituskyky haisee esim.: 1 Gbps linkki, 15 ms prop. viive, 8000 bit paketti: 8000 bits D trans = L R = 10 9 = 8 microsecs bits/sec U sender : hyödyntäminen osuus ajasta jonka lähettäjä käyttää lähettämiseen jos RTT=30 msec, 1KB pkt joka 30 msec: 33kB/sec teho yli 1 Gbps linkillä verkko protokolla rajoittaa fyysisien resurssien käyttöä! Transport Layer 3-43
44 rdt3.0: pysähdy-ja-odota operaatio ensimmäinen paketti bitti lähetetty, t = 0 viimeinen pkt bitti lähetetty, t = L / R RTT lähettäjä vst.ottaja ensimmäinen pkt bitti saapuu viimeinen pkt bitti saapuu, lähetä ACK ACK saapuu, lähetä seuraava paketti, t = RTT + L / R Transport Layer 3-44
45 Kanavoitu protokolla kanavointi: lähettäjä sallii useita, matkalla olevia, ei vielä tiedostettuja (ACK) paketteja sarja numeroiden (sequence #) aluetta laajennettava puskurointi lähettäjällä ja/tai vastaanottajalla kaksi yleismuotoa kanavoiduille protokollille: go- Back-N, valikoikva toisto (selective repeat) Transport Layer 3-45
46 Kanavointi: suurempi hyödyntäminen ensimmäinen pkt bitti lähetetty, t = 0 viimeinen pkt bitti lähetetty, t = L / R RTT ACK saapuu, lähetä seuraava pkt, t = RTT + L / R lähettäjä vst.ottaja ensimmäinen pkt bitti saapuu viimeinen pkt bitti saapuu, lähetä ACK viimeinen 2. pkt bitti saapuu, lähetä ACK viimeinen 3. pkt bitti saapuu, lähetä ACK 3-paketin kanavointi lisää hyödyntämistä 3 kertaisesti! Transport Layer 3-46
47 Kanavoitu protokolla: yleiskatsaus Go-back-N: lähettäjällä voi olla N kpl tiedostamattomia (ei ACK) paketteja kanavassa vastaanottaja lähettää vain koottu ack:in ei ack paketteja jos niissä on väli lähettäjällä on ajastin vanhimmalle tiedostamattomalle paketille kun ajastin vanhenee, uudelleenlähetä kaikki tiedostamattomat paketit Valikoiva toisto: lähettäjällä voi olla N kpl tiedostamattomia (ei ACK) paketteja kanavassa rcvr lähettää yksittäiset ACK jokaista pakettia kohden lähettäjä ylläpitää ajastinta jokaista tiedostamatonta pakettia kohden kun ajastin vanhenee, uudelleenlähettää vain tiedostamattomat paketit Transport Layer 3-47
48 Go-Back-N: lähettäjä k-bit seq # paketin otsikossa ikkuna N määrä, peräkkäisiä tiedostamattomia paketteja sallittu ACK(n): ACK kaikki paketit, sisältäen seq # n - koottu ACK voi vastaanottaa ACK kaksoiskappaleita (katso vastaanottaja) ajastin vanhimmalle matkalla olevalle paketille timeout(n): uudelleenlähettää paketit n ja kaikki korkeamman seq # paketit ikkunassa Transport Layer 3-48
49 GBN: lähettäjä laajennettu FSM rdt_send(data) Λ base=1 nextseqnum=1 rdt_rcv(rcvpkt) && corrupt(rcvpkt) if (nextseqnum < base+n) { sndpkt[nextseqnum] = make_pkt(nextseqnum,data,chksum) udt_send(sndpkt[nextseqnum]) if (base == nextseqnum) start_timer nextseqnum++ } else refuse_data(data) Odota rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) base = getacknum(rcvpkt)+1 If (base == nextseqnum) stop_timer else start_timer timeout start_timer udt_send(sndpkt[base]) udt_send(sndpkt[base+1]) udt_send(sndpkt[nextseqnum-1]) Transport Layer 3-49
50 GBN: Vastaanotin pidennetty FSM Λ default udt_send(sndpkt) Wait expectedseqnum=1 sndpkt = make_pkt(expectedseqnum,ack,chksum) rdt_rcv(rcvpkt) && notcurrupt(rcvpkt) && hasseqnum(rcvpkt,expectedseqnum) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(expectedseqnum,ack,chksum) udt_send(sndpkt) expectedseqnum++ ACK-only: Lähettää aina ACK oikeinvastaanotetulle pkt korkeimmalla in-order seq # Voi luoda kaksoiskappale- ACK pitää vain muistaa expectedseqnum epäkunnossa pkt: hylkää (älä puskuroi): ei vastaanotin-puskurointia! re-ack pkt korkeimmalla in-order seq # Transport Layer 3-50
51 GBN toiminnassa lähettäjän ikkuna (N=4) lähettäjä lähetä pkt0 lähetä pkt1 lähetä pkt2 lähetä pkt3 (wait) rcv ack0, lähetä pkt4 rcv ack1, lähetä pkt5 sivuuta kaksoiskappaleet ACK pkt 2 aikakatkaisu lähetä pkt2 lähetä pkt3 lähetä pkt4 lähetä pkt5 X häviö vastaanottaja vastaanota pkt0, lähetä ack0 vastaanota pkt1, lähetä ack1 vastaanota pkt3, hylkää, (uudelleen)lähetä ack1 vastaanota pkt4, hylkää, (uudelleen)lähetä ack1 vastaanota pkt5, hylkää (uudelleen)lähetä ack1 rcv pkt2, toimita, lähetä ack2 rcv pkt3, toimita, lähetä ack3 rcv pkt4, toimita, lähetä ack4 rcv pkt5, toimita, lähetä ack5 Transport Layer 3-51
52 Valikoiva toisto vastaanottaja tunnustaa yksittäin kaikki oikein vastaanotetut pkt puskuri pkt, tarvittaessa, lopullista järjestystä toimitusta ylempään kerrokseen lähettäjä vain uudelleenlähettää pkt mitkä ACK ei vastaanottanut lähettäjän ajastis jokaista epä-ack: tua pkt lähettäjän ikkuna N peräkkäistä seq # s rajoittaa seq #s lähetettyjä, epä-ack: tua pkts Transport Layer 3-52
53 valikoiva toisto: lähettäjä, vastaanottoikkuna Transport Layer 3-53
54 Valikoiva toisto lähettäjä data ylempää: jos seuraava saatavilla oleva seq # on ikkunassa, lähetä pkt aikakatkaisu(n): uudelleenlähetä pkt n, resetoi ajastin ACK(n) [sendbase,sendbase+n]: merkkaa pkt n vastaanotetuksi jos n pienin epä-ack: tu pkt, edistä ikkunakanta seuraavaan epä-ack: vastaanottaj pkt n [rcvbase, a rcvbase+n-1] lähetä ACK(n) epäkunnossa: puskuri järjestyksessä: toimita(toimita myös puskuroitu, järjestyksessä olevat pkt), edistä ikkuna seuraavaan ei-vielävastaanotettu pkt pkt n [rcvbase-n,rcvbase-1] ACK(n) otherwise: sivuuta Transport Layer 3-54
55 Valikoiva toisto toiminnassa lähettäjän ikkuna(n=4) lähettäjä lähetä pkt0 lähetä pkt1 lähetä pkt2 lähetä pkt3 (wait) rcv ack0, lähetä pkt4 rcv ack1, lähetä pkt5 tallenna ack3 saapui pkt 2 aikakatkaisu lähetä pkt2 tallenna ack4 saapui tallenna ack5 saapui X häviö vastaanottaja vastaanota pkt0, lähetä ack0 vastaanota pkt1, lähetä ack1 vastaanota pkt3, puskuroi, lähetä ack3 vastaanota pkt4, puskuroi, lähetä ack4 vastaanota pkt5, puskuroi, lähetä ack5 rcv pkt2; toimita pkt2, pkt3, pkt4, pkt5; lähetä ack2 Q: mitä tapahtuu, kun ack2 saapuu? Transport Layer 3-55
56 Valikoiva toisto: ongelma esimerkki: seq # s: 0, 1, 2, 3 ikkunan koko=3 vastaanottaja ei näe kahden tapauksen eroja! kaksoiskappaledata hyväksytty uutena (b): ssä Q: mikä yhteys seq # koon ja ikkunan koon kesken välttääkseen ongelmilta (b): llä? lähettäjän ikkuna (kuitin jälkeen) pkt0 pkt1 pkt2 X X aikakatkaisu uudelleenlähetys pkt0 X pkt0 (b) oho! pkt0 pkt1 pkt pkt3 pkt0 (a) ei ongelmaa X vastaanottajan ikkuna (kuitin jälkeen) hyväksyy paketit seq numerolla 0 Vastaanottaja ei näe lähettäjän puolta. Vastaanottajan toiminta samanlaisia molemmissa tapauksissa jotain on (todella) väärin! hyväksyy paketit seq numerolla 0 Transport Layer 3-56
Chapter 3 Transport Layer. Kuljetuskerros
Chapter 3 Transport ayer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
LisätiedotChapter 3: Transport Layer
Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control learn about Internet transport
Lisätiedot100 % Kaisu Keskinen 3-1
100 % Kaisu Keskinen 3-1 Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you
LisätiedotLuento 5: Kuljetuskerros
: Kuljetuskerros luotettavan tiedonsiirron periaatteet Ma 11.11.2013 Tiina Niklander Kurose&Ross Ch3 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved 1 segmentti paketti kehys message,
LisätiedotLuento 5: Kuljetuskerros luotettavan tiedonsiirron periaatteet. Syksy 2014, Tiina Niklander
Tietoliikenteen perusteet Luento 5: Kuljetuskerros luotettavan tiedonsiirron periaatteet Syksy 2014, Tiina Niklander Kurose&Ross: Ch3 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved
LisätiedotKappale 3 Kuljetustaso
Kappale 3 Kuljetustaso Patrik Tikka 2-16 Antti Sinkkonen 17-27 Esko Mäkelä 54-85 Meri Ovaska 86-103 Saku Käsnänen 104-120 Markus Leppioja 121-142 Henri Takki 143-178 Computer Networking: A Top Down Approach
LisätiedotChapter 3 Transport Layer. Kuljetuskerros
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
LisätiedotTietoliikenteen perusteet. Kuljetuskerros
Tietoliikenteen perusteet Kuljetuskerros Kurose, Ross: Ch 3 Tietoliikenteen perusteet /2007/ Liisa Marttinen 1 Sisältöä Kuljetuspalvelut Yhteydetön kuljetuspalvelu, UDP Luotettavan kuljetuspalvelun periaatteet
LisätiedotTietoliikenteen perusteet. Kuljetuskerros
Tietoliikenteen perusteet Kuljetuskerros Kurose, Ross: Ch 3 Tietoliikenteen perusteet /2007/ Liisa Marttinen 1 Sisältöä Kuljetuspalvelut Yhteydetön kuljetuspalvelu, UDP Luotettavan kuljetuspalvelun periaatteet
LisätiedotTietoliikenteen perusteet. Kuljetuskerros
Tietoliikenteen perusteet Kuljetuskerros Kurose, Ross: Ch 3 Tietoliikenteen perusteet /2008/ Liisa Marttinen 1 Sisältöä Kuljetuspalvelut Yhteydetön kuljetuspalvelu, UDP Luotettavan kuljetuspalvelun periaatteet
LisätiedotTietoliikenteen perusteet. Kuljetuskerros
Tietoliikenteen perusteet Kuljetuskerros Kurose, Ross: Ch 3 Tietoliikenteen perusteet /2009/ Liisa Marttinen 1 Sisältöä Kuljetuspalvelut Yhteydetön kuljetuspalvelu, UDP Luotettavan kuljetuspalvelun periaatteet
LisätiedotTietoliikenteen perusteet. Kuljetuskerros
Tietoliikenteen perusteet Kuljetuskerros Kurose, Ross: Ch 3 Tietoliikenteen perusteet /2009/ Liisa Marttinen 1 Sisältöä Kuljetuspalvelut Yhteydetön kuljetuspalvelu, UDP Luotettavan kuljetuspalvelun periaatteet
LisätiedotKuljetuskerros. Chapter 3 Transport Layer. Kuljetuskerros. Kuljetuspalvelut ja -protokollat. Kuljetuskerros vs. verkkokerros
Chapter 3 Transport ayer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
LisätiedotKuljetuskerros. Chapter 3 Transport Layer. Kuljetuspalvelut ja -protokollat. Kuljetuskerros. Kuljetuskerros vs. verkkokerros
Chapter 3 Transport ayer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
LisätiedotKuljetuspalvelu. Tietoliikenteen perusteet. Sisältöä. Kuljetuskerros. Kuljetuskerros. Kuljetuskerros. Internetin kuljetusprotokollat
Tietoliikenteen perusteet Kurose, Ross: Ch 3 Sisältöä Kuljetuspalvelut Yhteydetön kuljetuspalvelu, UDP Luotettavan kuljetuspalvelun periaatteet Yhteydellinen kuljetuspalvelu, TCP Ruuhkanhallinta TCP:ssä
LisätiedotKuljetuspalvelu. Tietoliikenteen perusteet. Sisältöä. Kuljetuskerros. Kuljetuskerros. Kuljetuskerros. Internetin kuljetusprotokollat
Tietoliikenteen perusteet Kurose, Ross: Ch 3 Sisältöä Kuljetuspalvelut Yhteydetön kuljetuspalvelu, UDP Luotettavan kuljetuspalvelun periaatteet Yhteydellinen kuljetuspalvelu, TCP Ruuhkanhallinta TCP:ssä
LisätiedotTietoliikenteen perusteet
Tietoliikenteen perusteet Luento 5: Kuljetuskerros luotettavan tiedonsiirron periaatteet Syksy 2017, Timo Karvi Kurose&Ross: Ch3 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved Tietoliikenteen
LisätiedotKuljetuskerros. Tietokoneverkot. Matti Siekkinen Pasi Sarolahti
Kuljetuskerros Tietokoneverkot Matti Siekkinen Pasi Sarolahti Osa sisällöstä adaptoitu seuraavista lähteistä: J.F. Kurose and K.W. Ross: Computer Networking: A Top-Down Approach 6th ed. -kirjan lisämateriaali
LisätiedotTietoliikenteen perusteet. Kuljetuskerros
Tietoliikenteen perusteet Kuljetuskerros Kurose, Ross: Ch 3 Tietoliikenteen perusteet /2010 1 Sisältöä Kuljetuspalvelut Yhteydetön kuljetuspalvelu, UDP Luotettavan kuljetuspalvelun periaatteet Yhteydellinen
LisätiedotELEC-C7241 Tietokoneverkot Kuljetuskerros
ELEC-C7241 Tietokoneverkot Kuljetuskerros Pasi Sarolahti (kalvoja Matti Siekkiseltä) 23.1.2018 Laskareista Lisävuoro ke 16-18 U8 Edelleen myös ke 14-16 ja pe 12-14 Ke 14 16 tällä viikolla poikkeuksellisesti
Lisätiedot3. Kuljetuskerros 3.1. Kuljetuspalvelu
End- to- end 3. Kuljetuskerros 3.1. Kuljetuspalvelu prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän
Lisätiedot3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end
3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end lta lle looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän hyvä, sitä
LisätiedotInternet ja tietoverkot. 3 Kuljetusprotokollat Luotettava ja epäluotettava tiedonsiirto
811338A 3 Kuljetusprotokollat Luotettava ja epäluotettava tiedonsiirto Oulun yliopisto Tietojenkäsittelytieteiden laitos Luento pohjautuu kirjan James F. Kurose, Keith W. Ross, Computer Networking, A Top-Down
LisätiedotOSI ja Protokollapino
TCP/IP OSI ja Protokollapino OSI: Open Systems Interconnection OSI Malli TCP/IP hierarkia Protokollat 7 Sovelluskerros 6 Esitystapakerros Sovellus 5 Istuntokerros 4 Kuljetuskerros 3 Verkkokerros Linkkikerros
LisätiedotMonimutkaisempi stop and wait -protokolla
Monimutkaisempi stop and wait -protokolla ajastin lähettäjälle jos kuittausta ei kuulu, sanoma lähetetään automaattisesti uudelleen kuittaus: ACK = ok, lähetä seuraava uudelleenlähetys synnyttää kaksoiskappaleita!
LisätiedotMonimutkaisempi stop and wait -protokolla
Monimutkaisempi stop and wait -protokolla ajastin lähettäjälle jos kuittausta ei kuulu, sanoma lähetetään automaattisesti uudelleen kuittaus: ACK = ok, lähetä seuraava uudelleenlähetys synnyttää kaksoiskappaleita!
Lisätiedot3. Kuljetuskerros 3.1.
End- to- end 3. Kuljetuskerros 3.1. Kuljetuspalvelu prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän
LisätiedotKuljetuskerros. Matti Siekkinen. T-110.2100 Johdatus tietoliikenteeseen kevät 2011
Kuljetuskerros Matti Siekkinen T-110.2100 Johdatus tietoliikenteeseen kevät 2011 TCP/IP-protokollapino Sovelluskerros Middleware: HTTP, SSL, XML... Kuljetuskerros: TCP, UDP,... Verkkokerros: IPv4, IPv6
LisätiedotS 38.1105 Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory
S 38.1105 Tietoliikennetekniikan perusteet Pakettikytkentäiset verkot Kertausta: Verkkojen OSI kerrosmalli Sovelluskerros Esitystapakerros Istuntokerros Kuljetuskerros Verkkokerros Linkkikerros Fyysinen
LisätiedotMonimutkaisempi stop and wait -protokolla
Monimutkaisempi stop and wait -protokolla Lähettäjä: 0:A vastaanottaja: ajastin lähettäjälle jos kuittausta ei kuulu, sanoma lähetetään automaattisesti uudelleen kuittaus: = ok, lähetä seuraava uudelleenlähetys
LisätiedotTCP/IP-protokollapino. Kuljetuskerros. Tämän luennon jälkeen. Sisältö. Matti Siekkinen. Ymmärrätte:
TCP/IP-protokollapino Kuljetuskerros Matti Siekkinen T-110.2100 Johdatus tietoliikenteeseen kevät 2010 kerros Middleware: HTTP, SSL, XML... Kuljetuskerros: TCP, UDP,... Verkkokerros: IPv4, IPv6 Linkkikerros:
LisätiedotTietoliikenne II. Syksy 2005 Markku Kojo. Tietoliikenne II (2 ov,, 4 op) Page1. Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos
Tietoliikenne II Syksy 2005 Markku Kojo 1 Syksy 2005 Tietoliikenne II (2 ov,, 4 op) Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos 2 Page1 1 Kirjallisuus ja muuta materiaalia Kurssikirja:
Lisätiedot3. Kuljetuskerros 3.1. Kuljetuspalvelu
3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end lta lle looginen yhteys portti verkkokerros koneelta koneelle I-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän hyvä, sitä
Lisätiedotkynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K RTT
kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K kynnysarvoon saakka voidaan kasvattaa ruuhkaikkunaa eksponentiaalisesti kynnysarvon saavuttamisen jälkeen kasvatetaan
Lisätiedotkynnysarvo (threshold)
kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K kynnysarvoon saakka voidaan kasvattaa ruuhkaikkunaa eksponentiaalisesti kynnysarvon saavuttamisen jälkeen kasvatetaan
Lisätiedotkynnysarvo (threshold)
kynnysarvo (threshold) varoitusarvo = tästä lähtien syytä varoa ruuhkaa aluksi 64 K kynnysarvoon saakka voidaan kasvattaa ruuhkaikkunaa eksponentiaalisesti kynnysarvon saavuttamisen jälkeen kasvatetaan
LisätiedotKuljetuskerros. Matti Siekkinen. T Johdatus tietoliikenteeseen kevät 2013
Kuljetuskerros Matti Siekkinen T-110.2100 Johdatus tietoliikenteeseen kevät 2013 TCP/IP-protokollapino Sovelluskerros Middleware: HTTP, SSL, XML... Kuljetuskerros: TCP, UDP,... Verkkokerros: IPv4, IPv6
LisätiedotTehtävä 2: Tietoliikenneprotokolla
Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli
LisätiedotKuljetuskerros. CSE-C2400 Tietokoneverkot (osa 1) (osa 2) Matti Siekkinen. Tietokoneverkot 2014
Kuljetuskerros CSE-C2400 Tietokoneverkot 28.1.2014 (osa 1) 4.2.2014 (osa 2) Matti Siekkinen Tietokoneverkot 2014 Osa sisällöstä adaptoitu seuraavista lähteistä: J.F. Kurose and K.W. Ross: Computer Networking:
LisätiedotS-38.118 Teletekniikan perusteet
S-38.118 Teletekniikan perusteet Laskuharjoitus 3 Paketoinnin hyötysuhde 1 Harjoitus 3 koostuu: Demoluento (45 min) Datan siirtäminen Internetissä yleensä Laskuesimerkki datan siirtämisestä Äänen siirtäminen
LisätiedotKuljetuskerros. CSE-C2400 Tietokoneverkot (osa 1) (osa 2) Matti Siekkinen. Tietokoneverkot 2014
Kuljetuskerros CSE-C2400 Tietokoneverkot 3.2.2014 (osa 1) 10.2.2014 (osa 2) Matti Siekkinen Tietokoneverkot 2014 Osa sisällöstä adaptoitu seuraavista lähteistä: J.F. Kurose and K.W. Ross: Computer Networking:
LisätiedotMiksi? Miksi? Kaksisuuntainen liikenne TCP-protokolla. Ikkunankoko. Valikoiva toisto: ikkuna 5, numeroavaruus 8
Ikkunankoko Kun käytetty numeroavaruus on 0, 1,.. n ja eri numeroita siis käytettävissä n+1 yleensä jokin kakkosen potenssi» koska numerokentän koko k bittiä => käytössä 2**k numeroa ikkunan koko go back
LisätiedotIkkunankoko. 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 yleensä jokin kakkosen potenssi» koska numerokentän koko k bittiä => käytössä 2**k numeroa ikkunan koko go back
LisätiedotIkkunankoko. 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 yleensä jokin kakkosen potenssi» koska numerokentän koko k bittiä => käytössä 2**k numeroa ikkunan koko go back
LisätiedotKuljetuskerros. Kirja sivut: 280-301, 326-330
Kuljetuskerros Kirja sivut: 280-301, 326-330 Kuljetuskerroksen tehtävä Kuljetuskerros yhdistää sovelluksia Verkkokerros välittää viestejä koneelta toiselle Kuljetuskerros lisää tarkemman osoitteen koneen
LisätiedotKuljetuskerroksen protokollat. Luotettava vai epäluotettava? Kuljetuskerroksen tarkoitus. Tietosähkeen kapselointi. Portit ja (de)multipleksaus
do what I mean Kuljetuskerroksen protokollat Sovelluskerros Sovelluskerros User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Kuljetuskerros Verkkokerros Linkkikerros TCP, UDP Kuljetuskerros
LisätiedotKuljetuskerroksen tehtävä. Kuljetuskerros UDP. UDP-kaappaus (DNS) DNS-haku, Ethernet-kehys <#>
Kuljetuskerroksen tehtävä Kuljetuskerros Kirja sivut: 280-301, 326-330 Kuljetuskerros yhdistää sovelluksia Verkkokerros välittää viestejä koneelta toiselle Kuljetuskerros lisää tarkemman osoitteen koneen
LisätiedotTCP. TCP:n peruspiirteiden toiminta tarkemmin. TCP:n uusia piirteitä. osin vain harjoitustehtävissä
TCP TCP:n peruspiirteiden toiminta tarkemmin osin vain harjoitustehtävissä TCP:n uusia piirteitä SACK Window scaling time stamping RED (Random Early Detection) ECN (Explicit Congestion Notification) TCP-otsakkeen
LisätiedotTCP:n peruspiirteiden toiminta tarkemmin. osin vain harjoitustehtävissä. TCP:n uusia piirteitä
TCP TCP:n peruspiirteiden toiminta tarkemmin osin vain harjoitustehtävissä TCP:n uusia piirteitä SACK Window scaling time stamping RED (Random Early Detection) ECN (Explicit Congestion Notification) TCP-otsakkeen
LisätiedotPertti Pennanen OSI 1 (4) EDUPOLI ICTPro1 29.10.2013
Protokollat Pertti Pennanen OSI 1 (4) SISÄLLYSLUETTELO Protokollat... 1 OSI-mallin kerrokset ovat... 2 Fyysinen kerros (Ethernet) hubi, toistin... 2 Siirtoyhteyskerros (Ethernet) silta, kytkin... 2 Verkkokerros
LisätiedotTCP. TCP-optiot. Erilaisia suorituskykyongelmia. Aikaleima (timestamp) TCP:n peruspiirteiden toiminta tarkemmin. TCP:n uusia piirteitä.
TCP TCP:n peruspiirteiden toiminta tarkemmin osin vain harjoitustehtävissä TCP:n uusia piirteitä S Window scaling time stamping RED (Random Early Detection) ECN (Explicit Congestion Notification) Source
LisätiedotITKP104 Tietoverkot - Teoria 3
ITKP104 Tietoverkot - Teoria 3 Ari Viinikainen Jyväskylän yliopisto 5.6.2014 Teoria 3 osuuden tärkeimmät asiat kuljetuskerroksella TCP yhteyden muodostus ja lopetus ymmärtää tilakaavion suhde protokollan
LisätiedotSiltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/2003 79. Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja
Siltojen haitat sillat puskuroivat ja aiheuttavat viivettä ei vuonsäätelyä => sillan kapasiteetti voi ylittyä kehysrakenteen muuttaminen => virheitä jää havaitsematta Yleisesti edut selvästi suuremmat
LisätiedotChapter 3 Transport Layer. Kuljetuskerros
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
LisätiedotKuittaukset ACK. NAK-kuittaus. kumulatiivinen ACK. yksittäinen ACK. sanoma virheellinen tai puuttuu. tähän saakka kaikki ok!
ACK Kuittaukset kumulatiivinen ACK tähän saakka kaikki ok! Go-Back N yksittäinen ACK vain tämä ok! Valikoiva toisto NAK-kuittaus sanoma virheellinen tai puuttuu 5.10.2001 40 Negatiiviset kuittaukset NAK-kuittauksilla
LisätiedotKuittaukset. Miksi? Miksi? Negatiiviset kuittaukset NAK-kuittauksilla voidaan nopeuttaa uudelleenlähettämistä. Ikkunankoko ACK
ACK Kuittaukset kumulatiivinen ACK tähän saakka kaikki ok! Go-Back N yksittäinen ACK vain tämä ok! Valikoiva toisto NAK-kuittaus sanoma virheellinen tai puuttuu Negatiiviset kuittaukset NAK-kuittauksilla
LisätiedotKuittaukset. tähän saakka kaikki ok! Go-Back N. sanoma virheellinen tai puuttuu
ACK Kuittaukset kumulatiivinen ACK tähän saakka kaikki ok! Go-Back N yksittäinen ACK vain tämä ok! Valikoiva toisto NAK-kuittaus sanoma virheellinen tai puuttuu 5.10.2001 40 Negatiiviset kuittaukset NAK-kuittauksilla
Lisätiedot11/20/ Siirron optimointi
jos ilmoitus lisäpuskureista katoaa, lähettäjä lukkiutuu odotustilaan vastaanottaja voi luulla, ettei ole lähetettävää lukkiutumisen estämiseksi kun ikkunankoko = 0 lähettäjä ei saa lähettää, paitsi erityistä
LisätiedotVerkkoliikennettä Java[ssa lla] Jouni Smed
Verkkoliikennettä Java[ssa lla] Jouni Smed 9.2.2001 1 Perusteita 1 (2) tarvittavat luokat paketissa MDYDQHW IP-osoitteita käsitellään,qhw$gguhvv-olioina luonti (huom. ei konstruktoria):,qhw$gguhvvdggu,qhw$gguhvvjhw%\1dphdgguhvv
LisätiedotSiirron optimointi. Optimointi on usein tarpeen: Silly window syndrome. Esimerkki jatkuu
A Esimerkki jatkuu B ajastin laukeaa, uudelleen sanoma 2 lähettää sanoman 5 lähettää sanoman 6 jos lupa katoaa, jää odottamaan! ==> lukkiutumistilanne
LisätiedotEsimerkki 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/
A ajastin laukeaa, uudelleen sanoma 2 lähettää sanoman 5 lähettää sanoman 6 jos lupa katoaa, jää odottamaan! ==> lukkiutumistilanne Esimerkki jatkuu
LisätiedotChapter 1 Introduction
Chapter 1 Introduction A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
LisätiedotSiirron optimointi. Optimointi on usein tarpeen: Silly window syndrome
Siirron optimointi jos ilmoitus lisäpuskureista katoaa, lähettäjä lukkiutuu odotustilaan vastaanottaja voi luulla, ettei ole lähetettävää lukkiutumisen estämiseksi kun ikkunankoko = 0 lähettäjä ei saa
LisätiedotKuljetuskerroksen protokollat
Kuljetuskerroksen protokollat User Datagram Protocol (UDP) Transmission Control Protocol (TCP) 1 Sovelluskerros Kuljetuskerros Verkkokerros Linkkikerros Fyysinen kerros TCP, UDP Internet Sovelluskerros
LisätiedotKuljetuskerroksen protokollat. Kuljetuskerroksen tarkoitus. Luotettava vai epäluotettava?
Kuljetuskerroksen protokollat Sovelluskerros Sovelluskerros User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Kuljetuskerros Verkkokerros Linkkikerros TCP, UDP Kuljetuskerros Verkkokerros
LisätiedotKuljetuskerroksen protokollat
Kuljetuskerroksen protokollat User Datagram Protocol (UDP) Transmission Control Protocol (TCP) 1 Sovelluskerros Kuljetuskerros Verkkokerros Linkkikerros Fyysinen kerros TCP, UDP Internet Sovelluskerros
LisätiedotJaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007
Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden
LisätiedotSalausmenetelmät (ei käsitellä tällä kurssilla)
6. Internetin turvattomuus ja palomuuri Internetin turvaongelmia Tietojen keruu turva-aukkojen löytämiseksi ja koneen valtaaminen Internetissä kulkevan tiedon tutkiminen IP-osoitteen väärentäminen Palvelunestohyökkäykset
LisätiedotTietoliikenteen perusteet. Vähän kertausta. Tietoliikenteen perusteet /2009/ Liisa Marttinen 1
Tietoliikenteen perusteet Vähän kertausta Tietoliikenteen perusteet /2009/ Liisa Marttinen 1 Internet = verkkojen verkko (löyhää hierarkiaa) Internet-palvelun tarjoaja Lähiverkkoja (LAN, Local Area Network)
LisätiedotEsimerkki jatkuu. ajastin laukeaa, uudelleen sanoma 2. <seq = 6, data = m6>
A ajastin laukeaa, uudelleen sanoma 2 lähettää sanoman 5 lähettää sanoman 6 jos lupa katoaa, jää odottamaan! ==> lukkiutumistilanne Esimerkki jatkuu
LisätiedotLuento 14: Kertausta. Syksy 2014, Tiina Niklander
Tietoliikenteen perusteet Luento 14: Kertausta Syksy 2014, Tiina Niklander Kurose&Ross: Ch 8 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved Tietoliikenteen perusteet, syksy 2014 Tiina
Lisätiedot3. Kuljetuskerros 3.1. Kuljetuspalvelu
3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän
LisätiedotLaitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite
TW-EAV510: PORTTIOHJAUS (VIRTUAL SERVER) ESIMERKISSÄ VALVONTAKAMERAN KYTKEMINEN VERKKOON Laitteessa tulee olla ohjelmisto 5.00.49 tai uudempi, tarvittaessa päivitä laite OPERAATTORIN IP---OSOITE - Jotta
LisätiedotTietoliikenteen perusteet. Vähän kertausta
Tietoliikenteen perusteet Vähän kertausta Tietoliikenteen perusteet /2008/ Liisa Marttinen 1 Internet = verkkojen verkko (löyhää hierarkiaa) Internet-palvelun tarjoaja Lähiverkkoja (LAN, Local Area Network)
Lisätiedot3. Kuljetuskerros 3.1. Kuljetuspalvelu. Internetin kuljetuskerros. kuljetuspalvelut parantavat verkkopalveluja
3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän
Lisätiedot5. Siirtoyhteyskerros linkkikerros (Data Link Layer)
5. Siirtoyhteyskerros linkkikerros (Data Link Layer) yhtenäinen linkki solmusta solmuun bitit sisään => bitit ulos ongelmia: siirtovirheet havaitseminen korjaaminen solmun kapasiteetti vuonvalvonta yhteisen
LisätiedotLuento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta
: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta Tiina Niklander Kurose&Ross Ch3 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved 1 Lähettäjä (sender) Luennon sisältöä segmentti paketti
Lisätiedot5. Siirtoyhteyskerros linkkikerros (Data Link Layer)
5. Siirtoyhteyskerros linkkikerros (Data Link Layer) yhtenäinen linkki solmusta solmuun bitit sisään => bitit ulos ongelmia: siirtovirheet havaitseminen korjaaminen solmun kapasiteetti vuonvalvonta yhteisen
LisätiedotTietoliikenne 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
Lisätiedot1.4. Tietoliikenneohjelmistot eli protokollat
1.4. Tietoliikenneohjelmistot eli protokollat Protokolla eli yhteyskäytäntö Mitä sanomia lähetetään ja missä järjestyksessä Missä tilanteessa sanoma lähetetään Miten saatuihin sanomiin reagoidaan tietoliikenteessä
Lisätiedot1.4. Tietoliikenneohjelmistot eli protokollat
1.4. Tietoliikenneohjelmistot eli protokollat Protokolla eli yhteyskäytäntö Mitä sanomia lähetetään ja missä järjestyksessä Missä tilanteessa sanoma lähetetään Miten saatuihin sanomiin reagoidaan tietoliikenteessä
Lisätiedot1.4. Tietoliikenneohjelmistot eli protokollat. Protokollien kerrosrakenne. Mitä monimutkaisuutta?
1.4. Tietoliikenneohjelmistot eli protokollat Protokolla eli yhteyskäytäntö Mitä sanomia lähetetään ja missä järjestyksessä Missä tilanteessa sanoma lähetetään Miten saatuihin sanomiin reagoidaan tietoliikenteessä
LisätiedotSiltojen haitat Yleisesti edut selvästi suuremmat kuin haitat
Siltojen haitat sillat puskuroivat ja aiheuttavat viivettä ei vuonsäätelyä => sillan kapasiteetti voi ylittyä kehysrakenteen muuttaminen => virheitä jää havaitsematta Yleisesti edut selvästi suuremmat
Lisätiedotpeittää verkkokerroksen puutteet
3. Kuljetuskerros 3.1. Kuljetuspalvelu End- to- end prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän
Lisätiedot3. Kuljetuskerros 3.1. Kuljetuspalvelu
End- to- end 3. Kuljetuskerros 3.1. Kuljetuspalvelu prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän
LisätiedotLuento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta. Syksy 2014, Tiina Niklander Kurose&Ross: Ch3
Tietoliikenteen perusteet Luento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta Syksy 2014, Tiina Niklander Kurose&Ross: Ch3 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved Tietoliikenteen
LisätiedotTietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone
ja ylläpito computer = laskija koostuu osista tulostuslaite näyttö, tulostin syöttölaite hiiri, näppäimistö tallennuslaite levy (keskusyksikössä) Keskusyksikkö suoritin prosessori emolevy muisti levy Suoritin
Lisätiedot3. Kuljetuskerros 3.1. Kuljetuspalvelu
End- to- end 3. Kuljetuskerros 3.1. Kuljetuspalvelu prosessilta prosessille looginen yhteys portti verkkokerros koneelta koneelle IP-osoite peittää verkkokerroksen puutteet jos verkkopalvelu ei ole riittävän
LisätiedotICMP-sanomia. 3. IP-kerroksen muita protokollia ja mekanismeja ICMP (Internet Control Message Protocol)
3. IP-kerroksen muita protokollia ja mekanismeja ICMP (Internet Control Message Protocol) ARP (Address Resolution Protocol) DHCP (Dynamic Host Configuration Protocol) CIDR (Classless InterDomain Routing)
LisätiedotMiten selain muodostaa TCP- tai UDP-yhteyden? TCP-osoite = IP-osoite + porttinumero ( tässä 80) SOCKET BIND (80) LISTEN ACCEPT. Connection Request
Miten selain muodostaa TCP- tai UDP-yhteyden? Käytetään pistokeprimitiivejä Selain SOCKET TCP-osoite = IP-osoite + porttinumero ( tässä 80) SOCKET BIND (80) LISTEN ACCEPT www-palvelin 128.214.4.29 kuuntelee
Lisätiedot3. IP-kerroksen muita protokollia ja
3. IP-kerroksen muita protokollia ja mekanismeja ICMP (Internet Control Message Protocol) ARP (Address Resolution Protocol) DHCP (Dynamic Host Configuration Protocol) CIDR (Classless InterDomain Routing)
LisätiedotTurvallisuus verkkokerroksella
Turvallisuus verkkokerroksella IPsec Authentication Header ( AH) -protokolla Encapsulation Security Payload (ESP) -protokolla ennen käyttöä on luotava kommunikoivien koneiden välille turvasopimus SA (Security
LisätiedotTurvallisuus verkkokerroksella
Turvallisuus verkkokerroksella IPsec Authentication Header ( AH) -protokolla Encapsulation Security Payload (ESP) -protokolla ennen käyttöä on luotava kommunikoivien koneiden välille turvasopimus SA (Security
LisätiedotAH-otsake. Turvallisuus verkkokerroksella. AH-otsake. AH-otsake. ESP-otsake. IP-otsake
Turvallisuus verkkokerroksella IPsec Authentication Header ( AH) -protokolla Encapsulation Security Payload (ESP) -protokolla ennen käyttöä on luotava kommunikoivien koneiden välille turvasopimus SA (Security
LisätiedotR R R RR. Kaikkien. pakettien. siirto yhden linkin yli. always on. Viimeisen siirto muiden linkkien yli. Sovellus: Kuljetus: Verkko: Linkki:
Tietoliikenteen perusteet = verkkojen verkko (löyhää hierarkiaa) Vähän kertausta -palvelun tarjoaja Lähiverkkoja (LAN, Local Area Network) yhdistetty reitittimien välityksellä Tietoliikenteen perusteet
LisätiedotInternet Protocol version 6. IPv6
Internet Protocol version 6 IPv6 IPv6 Osoiteavaruus 32-bittisestä 128-bittiseksi Otsikkokentässä vähemmän kenttiä Lisäominaisuuksien määritteleminen mahdollista Pakettien salaus ja autentikointi mahdollista
LisätiedotLuento 6: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta
: Kuljetuskerros UDP & TCP TCP:n ruuhkanhallinta To Tiina Niklander Kurose&Ross Ch3 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved 1 segmentti paketti kehys message, segment datagram
LisätiedotTeleWell TW-EA711 ADSL modeemi & reititin ja palomuuri. Pikaohje
TeleWell TW-EA711 ADSL modeemi & reititin ja palomuuri Pikaohje Pikaohje Myyntipaketin sisältö 1. TeleWell TW-EA711 ADSL modeemi & palomuuri 2. AC-DC sähköverkkomuuntaja 3. RJ-11 puhelinjohto ja suomalainen
LisätiedotTietoliikenteen perusteet. Vähän kertausta
Tietoliikenteen perusteet Vähän kertausta Tietoliikenteen perusteet /2009/ Liisa Marttinen 1 Internet = verkkojen verkko (löyhää hierarkiaa) Internet-palvelun tarjoaja Lähiverkkoja (LAN, Local Area Network)
Lisätiedoton yksi keskeisimpiä toimintoja Internetin toiminnan varmistamiseksi Internetin ruuhkanhallinta pitkälti
TCP-ruuhkanvalvonta (RFC 2581) TCP-ruuhkanvalvonta on yksi keskeisimpiä toimintoja Internetin toiminnan varmistamiseksi Internetin ruuhkanhallinta pitkälti TCP:n varassa Pääsääntöisesti muut protokollat
Lisätiedot