sarja 3 45318d, 45356d Osa 1 ----- Reitti: Ethernet-kehys -> IPv6-kehys -> ICMPv6 Viesti: ICMP Echo Request -viesti voidaan lähettää komennolla ping. Osa 2 ----- 1. IPv4 IPv4-headerin koko on 20 tavua (optional-kenttää ei käytetä). 21 tavuta tähän päälle payloadia, saadaan yhteensä 41 tavua. 2. Ali- ja yliverkot a) Aliverkottaminen tarkoittaa sitä, että verkko jaetaan pienempiin aliverkkoihin, siten että sen ulkopuolella oleva verkko ei huomaa mitään. Yliverkottaminen on sama toisin päin, eli yhdistetään peräkkäisiä verkkoja yhdeksi isoksi verkoksi ja mainostetaan tätä kokonaisuutta ulospäin yhtenä isompana verkkona. Peräkkäisiä verkkoja pitää olla 2^n kpl, ja siten että niiden osoitteilla on sama alku. CIDR on yliverkottamista. b) Aliverkkoja käytetään koska halutaan jakaa verkko pienempiin kokonaisuuksiin joita on helpompi hallita (esim. TKK:n 130.233.0.0/16 -verkko on jaettu labroille, jotka monet jakavat verkkojaan edelleen). Yliverkottamista tarvitaan, koska IPv4:n A- ja B-luokan verkot ovat usein liian isoja, C-luokan verkot liian pieniä ja osoiteavaruus loppuu kesken eikä ole varaa tuhlata. c) Lähiverkossa oleva kone voi kysyä oman verkkonsa osoitemaskia lähettämällä reitittimelle ICMP address mask request -viestin (tai broadcastaamalla sen, jollei se tiedä reitittimen osoitetta). Koneen pitää toki tietää montako bittiä osoitteista on verkkolle ja montako koneille, että homma toimii. 3. Kuljetusprotokollat a) TCP:ssä lasketaan paketeille tarkistussumma. Kun tarkistussummaa lasketaan, otetaan mukaan myös ns. pseudo-otsikko, jossa on lähdeosoite, kohdeosoite, protokolla ja paketin TCP-osuuden pituus. b) Paketin lähdeosoite (32 bittiä), kohdeosoite (32 bittiä), nollaa (8 bittiä), protokolla (8 bittiä) ja TCP-pituus (8 bittiä). TCP-pituuteen on laskettu TCP-otsikon pituus + datan määrä oktetteina, pseudo-otsikon 12 oktettia eivät ole mukana. c) Tarkistussumma on 16-bittinen yhden komplementti kaikkien otsikon ja datan 16-bittisten sanojen yhden komplementti-summasta. Jos oktetteja on pariton määrä, viimeisen oktetin oikealle puolelle paddataan nollia. Kun summaa lasketaan, entinen checksum-kenttä muutetaan ensin nollaksi. Pseudo-otsikko otetaan mukaan. d) UDP:n tarkistussumma lasketaan samalla tavalla kuin TCP:ssä. Tarkistussumma voidaan jättää kokonaan pois, silloin sen tilalle laitetaan pelkkää nollaa. Jos oikea, laskettu tarkistussumma on 0, lähetetään se pelkkinä ykkösinä (yhden komplementti- aritmetiikasta johtuen se on sama kuin 0) e) Hyötyä on se, että voidaan erikseen kysymättä käyttää ennestään tuntemattoman koneen palveluja, jos ne ovat standardi- porteissa. Haittaa tuottaa se, että käytäntö aiheuttaa palomuuri- politiikan jossa suljetaan tiettyjä portteja ja annetaan tiettyjen olla auki. Noiden avoimien porttien taakse voidaan kuitenkin laittaa ihan mitä tahansa, eli periaatteessa hölmöjä käyttäjiä varten tehty kielto on loppujen lopuksi hölmöjä käyttäjiä vastaan turha. 4. Karnin algoritmi Karnin algoritmilla voidaan eritellä käyttökelpoiset ja huonot edestakaisen matkan keston mittaukset (round-trip time) ja näin parantaa round-trip -arvioita. Karnin algoritmi: "Laskettaessa edestakaisen matkan keston arviota, jätä huomiotta tulokset jotka vastavat uudelleen lähetettyjä segmenttejä, mutta käyttäen backoff-strategiaa, eli säilytä uudelleen lähetettyjen pakettien timeout-arvot kunnes saadaan kunnon tulos." 5. Ikkunointi a) Kun TCP-yhteys muodostetaan, vastaanottava pää varaa n:n tavun kokoisen puskurin, ja käyttää window-kenttää kuittaussanomissa kertoakseen k.o. puskurin koon lähettäjälle. b) Kun vastaanottavan pään puskuri tulee täyteen, se lähettää window-kentässä tiedon. Kun puskurista luetaan yksi merkki, lähetetään window-kentässä ykkönen. Jos lähettäjällä on paljon jonoa, se alkaa purkaa sitä ja lähettää yhden tavun vastaanottajalle. Vastaanottajan applikaatio lukee taas yhden tavun, lähettää window-kentässä ykkösen, jne. Tavara kulkee tavun paketteina, jolloin tuhlataan paljon sekä verkkoa että prosessoria. c) Silly Window -syndrooma voidaan välttää heuristiikalla, jossa lähettäjä ei lähetä pieniä paketteja, eikä vastaanottaja kerro jos sillä on vain vähän puskuria vapaana.